<?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>55764</bug_id>
          
          <creation_ts>2011-03-04 04:19:02 -0800</creation_ts>
          <short_desc>Web Inspector: resource load cancellation is reported to console as an error</short_desc>
          <delta_ts>2011-03-11 01:36:39 -0800</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>apavlov</cc>
    
    <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>jaka</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>362412</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-04 04:19:02 -0800</bug_when>
    <thetext>1. go to https://chrome.google.com/extensions
2. open js console
3. click &quot;install&quot;

See the &quot;failure to load resource&quot; message

Original bug report:
http://code.google.com/p/chromium/issues/detail?id=62888</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362447</commentid>
    <comment_count>1</comment_count>
      <attachid>84735</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-04 06:10:57 -0800</bug_when>
    <thetext>Created attachment 84735
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363102</commentid>
    <comment_count>2</comment_count>
      <attachid>84735</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-06 11:11:20 -0800</bug_when>
    <thetext>Comment on attachment 84735
patch

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

&gt; Source/WebCore/loader/MainResourceLoader.cpp:122
&gt; +    error.setIsCancellation(true);

I am not sure what this would result in. You should call for more reviewers. Adding ap for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363157</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-06 17:35:09 -0800</bug_when>
    <thetext>Good question. I spent a couple of minutes looking into this, and couldn&apos;t easily answer if this this is OK - Safari uses PolicyIgnore in many cases. Will look again later.

How does this affect bug 43614 and bug 38346?

Can this be tested? See fast/loader/onload-policy-ignore-for-frame.html for an example of policy delegate test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363591</commentid>
    <comment_count>4</comment_count>
      <attachid>84735</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-07 14:39:23 -0800</bug_when>
    <thetext>Comment on attachment 84735
patch

I think that this change is acceptable. It&apos;s a mess how WebCore decides what a cancellation is, but this is not making it worse.

However, I have one more question in addition to ones in comment 3. Why does ResourceLoader::didCancel() even call didFailToLoad()? Besides logging an error to Inspector, that also calls FrameLoaderClient::dispatchDidFailLoading(), and that also looks wrong at a first glance. If there is some historic reason, there should probably be a comment.

Since this needs more work (at least a test), I&apos;m marking r- for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363595</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-07 14:43:10 -0800</bug_when>
    <thetext>+        - fixed error formatting in case resource error code not present

I&apos;ve noticed that error is completely broken in Safari nightlies when installing a Safari extension from a local file:

GET file:///Users/ap/Downloads/AdBlockForSafari.safariextz undefined (undefined)

In Safari 5.0.3, it&apos;s:

Failed to load resource: Загрузка фрейма прервана

Should I file a separate bug about that? Clearly, we shouldn&apos;t report any error, but could this be a general problem with console logging?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364680</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-09 12:18:54 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; +        - fixed error formatting in case resource error code not present
&gt; 
&gt; I&apos;ve noticed that error is completely broken in Safari nightlies when installing a Safari extension from a local file:
&gt; 
&gt; GET file:///Users/ap/Downloads/AdBlockForSafari.safariextz undefined (undefined)
&gt; 
&gt; In Safari 5.0.3, it&apos;s:
&gt; 
&gt; Failed to load resource: Загрузка фрейма прервана
&gt; 
&gt; Should I file a separate bug about that? Clearly, we shouldn&apos;t report any error, but could this be a general problem with console logging?

I don&apos;t think this is worth an additional bug -- this change fixes both the error message format in case there&apos;s no error code (see the diff for ConsoleView.js) and reporting cancellation as an error. 

Thanks for mentioning bug 43614 and bug 38346 -- unfortunately I missed them. The latter is fixed by this change, and as for the former -- well, the poor &quot;canceled&quot; message is gone with this change, and someone else apparently added (brought back?) proper diagnostics -- so this does not reproduce anymore (I added a test for that).

&gt; However, I have one more question in addition to ones in comment 3. 
&gt; Why does ResourceLoader::didCancel() even call didFailToLoad()? 
&gt; Besides logging an error to Inspector, that also calls FrameLoaderClient::dispatchDidFailLoading(), and that also looks wrong at a first glance. 
&gt; If there is some historic reason, there should probably be a comment.

Well, my guess would be that this is indeed historical, probably done for the lack of separate notification method for cancel in FrameLoaderClient. While this looks like a misnomer to me, having one method for both cancel and fail is probably appropriate, since for most of the clients handling of an aborted request is perhaps similar no matter whether the reason is cancellation or early failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364682</commentid>
    <comment_count>7</comment_count>
      <attachid>85214</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-09 12:20:28 -0800</bug_when>
    <thetext>Created attachment 85214
patch

- added a test for lack of console errors in case of policy change
- added a test for cross-origin XHR error
- rebaselined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364731</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-09 13:14:21 -0800</bug_when>
    <thetext>OK, thanks for the investigation! Please do resolve the other bugs as appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365141</commentid>
    <comment_count>9</comment_count>
      <attachid>85318</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-10 06:53:22 -0800</bug_when>
    <thetext>Created attachment 85318
patch (fixed binary diff)

Well, if everyone is happy, does anyone mind r+&apos;ing this? ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365143</commentid>
    <comment_count>10</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-10 06:55:47 -0800</bug_when>
    <thetext>*** Bug 43614 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365431</commentid>
    <comment_count>11</comment_count>
      <attachid>85318</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-10 12:34:42 -0800</bug_when>
    <thetext>Comment on attachment 85318
patch (fixed binary diff)

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

Please address my comment prior to landing.

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:726
&gt; +                    else if (resource.statusCode)

You should make sure InspectorInstrumentation marks resources as failed prior to reporting error to the console. Then you can revert this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365883</commentid>
    <comment_count>12</comment_count>
      <attachid>85447</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-11 01:35:41 -0800</bug_when>
    <thetext>Created attachment 85447
landed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365884</commentid>
    <comment_count>13</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-11 01:36:39 -0800</bug_when>
    <thetext>Manually committed r80832: http://trac.webkit.org/changeset/80832</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84735</attachid>
            <date>2011-03-04 06:10:57 -0800</date>
            <delta_ts>2011-03-09 12:20:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>resource-cancel-error.diff</filename>
            <type>text/plain</type>
            <size>3439</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3OWU4MjA4Li5jY2FjYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDMtMDQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiByZXNvdXJjZSBsb2FkIGNhbmNlbGxhdGlvbiBpcyByZXBvcnRlZCB0byBjb25zb2xlIGFz
IGFuIGVycm9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NTc2NAorCisgICAgICAgIC0gbWFyayBpbnRlcnJ1cHRpb25Gb3JQb2xpY3lDaGFuZ2VFcnJv
ciBhcyBjYW5jZWxsYXRpb24KKyAgICAgICAgLSBkbyBub3QgbG9nIHJlc291cmNlIGNhbmNlbGF0
aW9uIGFzIGFuIGVycm9yCisgICAgICAgIC0gZml4ZWQgZXJyb3IgZm9ybWF0dGluZyBpbiBjYXNl
IHJlc291cmNlIGVycm9yIGNvZGUgbm90IHByZXNlbnQKKworICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29u
c29sZUFnZW50OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5w
cm90b3R5cGUuX2Zvcm1hdE1lc3NhZ2UpOgorICAgICAgICAqIGxvYWRlci9NYWluUmVzb3VyY2VM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpzdG9wTG9h
ZGluZ0ZvclBvbGljeUNoYW5nZSk6CisKIDIwMTEtMDMtMDQgIFN0ZXZlIEJsb2NrICA8c3RldmVi
bG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAK
aW5kZXggNDM1NWU1NC4uYWQzODNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTIwNSw3ICsyMDUsOCBAQCB2b2lkIElu
c3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBSZXNvdQogewogICAgIGlmICghbV9pbnNwZWN0b3JBZ2VudC0+ZW5hYmxlZCgp
KQogICAgICAgICByZXR1cm47Ci0KKyAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24oKSkgLy8g
UmVwb3J0IGZhaWx1cmVzIG9ubHkuCisgICAgICAgIHJldHVybjsKICAgICBTdHJpbmcgbWVzc2Fn
ZSA9ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZSI7CiAgICAgaWYgKCFlcnJvci5sb2NhbGl6ZWRE
ZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkKICAgICAgICAgbWVzc2FnZSArPSAiOiAiICsgZXJyb3Iu
bG9jYWxpemVkRGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IDY5NDIyNDcuLjA5OGI3NjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAt
NzEzLDggKzcxMyw4IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxkKFdlYkluc3BlY3Rv
ci5saW5raWZ5VVJMQXNOb2RlKHJlc291cmNlLnVybCkpOwogICAgICAgICAgICAgICAgICAgICBp
ZiAocmVzb3VyY2UuZmFpbGVkKQogICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgcmVzb3VyY2UubG9jYWxp
emVkRmFpbERlc2NyaXB0aW9uKSk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCIgIiArIHJlc291cmNlLnN0YXR1c0NvZGUgKyAiICgiICsgcmVzb3VyY2Uuc3RhdHVz
VGV4dCArICIpIikpOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXNvdXJjZS5zdGF0
dXNDb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgcmVzb3VyY2Uuc3RhdHVzQ29kZSArICIgKCIg
KyAocmVzb3VyY2Uuc3RhdHVzVGV4dCB8fCAiIikgKyAiKSIpKTsKICAgICAgICAgICAgICAgICB9
IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSB0aGlzLl9mb3JtYXQoW3Ro
aXMuX21lc3NhZ2VUZXh0XSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDc3OTUyZjYuLjk0ODkwMzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0x
MTgsNyArMTE4LDkgQEAgUmVzb3VyY2VFcnJvciBNYWluUmVzb3VyY2VMb2FkZXI6OmludGVycnVw
dGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCkgY29uc3QKIAogdm9pZCBNYWluUmVzb3VyY2VMb2Fk
ZXI6OnN0b3BMb2FkaW5nRm9yUG9saWN5Q2hhbmdlKCkKIHsKLSAgICBjYW5jZWwoaW50ZXJydXB0
aW9uRm9yUG9saWN5Q2hhbmdlRXJyb3IoKSk7CisgICAgUmVzb3VyY2VFcnJvciBlcnJvciA9IGlu
dGVycnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCk7CisgICAgZXJyb3Iuc2V0SXNDYW5jZWxs
YXRpb24odHJ1ZSk7CisgICAgY2FuY2VsKGVycm9yKTsKIH0KIAogdm9pZCBNYWluUmVzb3VyY2VM
b2FkZXI6OmNhbGxDb250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeSh2b2lkKiBhcmd1bWVudCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIGJv
b2wgc2hvdWxkQ29udGludWUpCg==
</data>
<flag name="review"
          id="76765"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85214</attachid>
            <date>2011-03-09 12:20:28 -0800</date>
            <delta_ts>2011-03-10 06:53:22 -0800</delta_ts>
            <desc>patch</desc>
            <filename>resource-cancel-error.diff</filename>
            <type>text/plain</type>
            <size>10675</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYzM3NmMzLi42ZjZmMzYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMt
MDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZXNvdXJj
ZSBsb2FkIGNhbmNlbGxhdGlvbiBpcyByZXBvcnRlZCB0byBjb25zb2xlIGFzIGFuIGVycm9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTc2NAorCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3Vy
Y2UtZXJyb3JzLmh0bWw6IEFkZGVkIHRlc3QgZm9yIGxhY2sgb2YgY29uc29sZSBtZXNzYWdlcyBk
dXJpbmcgcG9saWN5IGNoYW5nZSAoYXQgZG93bmxvYWQpCisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy5odG1sOiBBZGRlZCB0ZXN0IGZv
ciByZXBvcnRpbmcgb2YgY3Jvc3Mtb3JpZ2luIFhIUiBlcnJvcnMuCisgICAgICAgICogaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2VtcHR5LnppcDogQWRkZWQuCisKIDIwMTEtMDMtMDkg
IFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVk
LnR4dAppbmRleCA2MzI5YmM1Li4xMmRkZjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXJlc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJv
cnMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAogIFRlc3RzIHRoYXQgZXJyb3JzIHRvIGxv
YWQgYSByZXNvdXJjZSBjYXVzZSBlcnJvciBtZXNzYWdlcyB0byBiZSBsb2dnZWQgdG8gY29uc29s
ZS4KIAorIGRvd25sb2FkCiBQYWdlIHJlbG9hZGVkLgogbWlzc2luZy5jc3NHRVQgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL2luc3BlY3Rvci9taXNzaW5nLmNzcyA0MDQgKE5vdCBGb3VuZCkgY29uc29s
ZS1tZXNzYWdlIGNvbnNvbGUtZXJyb3ItbGV2ZWwKIG5vbi1leGlzdGVudC1pZnJhbWUuaHRtbEdF
VCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25vbi1leGlzdGVudC1pZnJhbWUuaHRt
bCA0MDQgKE5vdCBGb3VuZCkgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUtZXJyb3ItbGV2ZWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3Vy
Y2UtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xl
LXJlc291cmNlLWVycm9ycy5odG1sCmluZGV4IGI1ZGQzMzAuLjJhY2VjMWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3Jz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNv
dXJjZS1lcnJvcnMuaHRtbApAQCAtMTAsMjcgKzEwLDQ5IEBAIHZhciB4aHIgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKTsKIHhoci5vcGVuKCJHRVQiLCJub24tZXhpc3RlbnQteGhyIiwgZmFsc2UpOwog
eGhyLnNlbmQobnVsbCk7CiAKK2Z1bmN0aW9uIHBlcmZvcm1Eb3dubG9hZCgpCit7CisgICAgdmFy
IGEgPSBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF07CisgICAgdmFy
IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlVJRXZlbnRzIik7CisgICAgZXZlbnQuaW5p
dFVJRXZlbnQoImNsaWNrIiwgdHJ1ZSwgdHJ1ZSwgd2luZG93LCAxKTsKKyAgICBhLmRpc3BhdGNo
RXZlbnQoZXZlbnQpOworfQorCiBmdW5jdGlvbiB0ZXN0KCkKIHsKKyAgICBmdW5jdGlvbiBvblJl
c291cmNlKGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsK
KyAgICAgICAgaWYgKC9cL2VtcHR5XC56aXAkLy50ZXN0KHJlc291cmNlLnVybCkpIHsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoQ2xhc3Nlcyh0cnVlKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICB9
CisgICAgZnVuY3Rpb24gb25NYWluUmVzb3VyY2VDb21taXRMb2FkKCkKKyAgICB7CisgICAgICAg
IFdlYkluc3BlY3Rvci5jb25zb2xlLmNsZWFyTWVzc2FnZXMoKTsKKyAgICAgICAgV2ViSW5zcGVj
dG9yLm5ldHdvcmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtN
YW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VGaW5pc2hlZCwgb25SZXNvdXJjZSwgdGhpcyk7Cisg
ICAgfQorICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLk1haW5SZXNvdXJjZUNvbW1pdExv
YWQsIG9uTWFpblJlc291cmNlQ29tbWl0TG9hZCwgdGhpcyk7CiAgICAgSW5zcGVjdG9yVGVzdC5y
ZWxvYWRQYWdlKGZ1bmN0aW9uKCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNv
bGVNZXNzYWdlcygpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNX
aXRoQ2xhc3Nlcyh0cnVlKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJwZXJmb3Jt
RG93bmxvYWQoKTsiKTsKICAgICB9KTsKIH0KIAotCi0KIDwvc2NyaXB0PgogPC9oZWFkPgogCiA8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CiA8cD4KIDxzY3JpcHQgc3JjPSJub24tZXhpc3RlbnQt
c2NyaXB0LmpzIj48L3NjcmlwdD4KKwogPGlmcmFtZSBzcmM9Im5vbi1leGlzdGVudC1pZnJhbWUu
aHRtbCI+PC9pZnJhbWU+CiAKIFRlc3RzIHRoYXQgZXJyb3JzIHRvIGxvYWQgYSByZXNvdXJjZSBj
YXVzZSBlcnJvciBtZXNzYWdlcyB0byBiZSBsb2dnZWQgdG8gY29uc29sZS4KIDwvcD4KIAorPGlm
cmFtZSBuYW1lPSJmcmFtZSI+PC9pZnJhbWU+Cis8YSBocmVmPSJyZXNvdXJjZXMvZW1wdHkuemlw
IiB0YXJnZXQ9ImZyYW1lIj5kb3dubG9hZDwvYT4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhyLWxvZ2dpbmct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14
aHItbG9nZ2luZy1leHBlY3RlZC50eHQKaW5kZXggY2UxYzYyMS4uMDNjYzM4NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQKQEAgLTIsOCArMiwxMiBAQCBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTA6IHNlbmRpbmcgYSAlcyByZXF1ZXN0IHRvICVzCiBDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTA6IHNlbmRpbmcgYSAlcyByZXF1ZXN0IHRvICVzCiBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTA6IHNlbmRpbmcgYSAlcyByZXF1ZXN0IHRvICVzCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA6IHNlbmRpbmcgYSAlcyByZXF1ZXN0IHRvICVzCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
WE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAw
IGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIENPTlNPTEUg
TUVTU0FHRTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKIENPTlNPTEUgTUVT
U0FHRTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgogVGVz
dHMgdGhhdCBYTUxIdHRwUmVxdWVzdCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQgZG9l
c24ndCBzaG93IGxvZ3Mgd2hlbiBEaXNhYmxlZC4KIAogY29uc29sZS14aHItbG9nZ2luZy5odG1s
OjEwc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhpc3RzLmh0bWwKQEAg
LTEzLDggKzE3LDEyIEBAIHhoci1kb2VzLW5vdC1leGlzdC5odG1sR0VUIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2VzLW5vCiBYSFIgZmluaXNoZWQgbG9h
ZGluZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2Vz
LW5vdC1leGlzdC5odG1sIi4KIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMHNlbmRpbmcgYSBQ
T1NUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaQogWEhSIGZpbmlzaGVkIGxv
YWRpbmc6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9wb3N0LXRh
cmdldC5jZ2kiLgorY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBhIEdFVCByZXF1
ZXN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlz
dHMuaHRtbAorWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sLiBPcmlnaW4gaHR0cDovLzEyNy4w
LjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4K
IGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMHNlbmRpbmcgYSBHRVQgcmVxdWVzdCB0byByZXNv
dXJjZXMveGhyLWV4aXN0cy5odG1sCiBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTBzZW5kaW5n
IGEgR0VUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sCiB4aHIt
ZG9lcy1ub3QtZXhpc3QuaHRtbEdFVCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlcy94aHItZG9lcy1ub3QtZXhpc3QuaHRtbCA0MDQgKE5vdCBGb3VuZCkKIGNvbnNvbGUt
eGhyLWxvZ2dpbmcuaHRtbDoxMHNlbmRpbmcgYSBQT1NUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3Bv
c3QtdGFyZ2V0LmNnaQorY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBhIEdFVCBy
ZXF1ZXN0IHRvIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1l
eGlzdHMuaHRtbAorWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sLiBPcmlnaW4gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
bi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS14aHItbG9nZ2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS14aHItbG9nZ2luZy5odG1sCmluZGV4IDAzOWFmZjUuLmM3YmIwMzkgMTAwNzU1Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhyLWxvZ2dpbmcuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dn
aW5nLmh0bWwKQEAgLTIxLDYgKzIxLDggQEAgZnVuY3Rpb24gbWFrZVJlcXVlc3RzKCkKICAgICBy
ZXF1ZXN0SGVscGVyKCJHRVQiLCAicmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sIik7
CiAgICAgLy8gMy4gUE9TVCB0byBhIHBhZ2UuCiAgICAgcmVxdWVzdEhlbHBlcigiUE9TVCIsICJy
ZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpIik7CisgICAgLy8gNC4gQ3Jvc3Mtb3JpZ2luIHJlcXVl
c3QKKyAgICByZXF1ZXN0SGVscGVyKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sIik7CiB9CiAKIGZ1bmN0aW9uIHRlc3QoKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2Vt
cHR5LnppcCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9lbXB0
eS56aXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVjYjBlYwpCaW5hcnkg
ZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlcy9lbXB0eS56aXAgZGlmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQzODA3ZS4uY2ZlNzA2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDExLTAzLTA5ICBBbmRyZXkgS29zeWFrb3Yg
IDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcmVzb3VyY2UgbG9hZCBjYW5jZWxsYXRpb24g
aXMgcmVwb3J0ZWQgdG8gY29uc29sZSBhcyBhbiBlcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU3NjQKKworICAgICAgICAtIG1hcmsgaW50ZXJy
dXB0aW9uRm9yUG9saWN5Q2hhbmdlRXJyb3IgYXMgY2FuY2VsbGF0aW9uCisgICAgICAgIC0gZG8g
bm90IGxvZyByZXNvdXJjZSBjYW5jZWxhdGlvbiBhcyBhbiBlcnJvcgorICAgICAgICAtIGZpeGVk
IGVycm9yIGZvcm1hdHRpbmcgaW4gY2FzZSByZXNvdXJjZSBlcnJvciBjb2RlIG5vdCBwcmVzZW50
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkRmFpbExvYWRpbmcpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlLl9mb3JtYXRNZXNzYWdlKToKKyAgICAg
ICAgKiBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1h
aW5SZXNvdXJjZUxvYWRlcjo6c3RvcExvYWRpbmdGb3JQb2xpY3lDaGFuZ2UpOgorCisyMDExLTAz
LTA5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgVW5y
ZXZpZXdlZC4gRml4ZWQgYSBjcmFzaCBpbiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJl
Y2VpdmVSZXNwb25zZSgpIHdoZW4gbG9hZGVyIGlzIG51bGwgKGJyb2tlbiBpbiByODA2MzkpCiAK
ICAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5k
ZXggMDM3OTU5MC4uM2I4NWU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTIwNSw3ICsyMDUsOCBAQCB2b2lkIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6ZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBjb25zdCBSZXNvdQogewogICAgIGlmICghbV9pbnNwZWN0b3JBZ2VudC0+ZW5hYmxlZCgpKQog
ICAgICAgICByZXR1cm47Ci0KKyAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24oKSkgLy8gUmVw
b3J0IGZhaWx1cmVzIG9ubHkuCisgICAgICAgIHJldHVybjsKICAgICBTdHJpbmcgbWVzc2FnZSA9
ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZSI7CiAgICAgaWYgKCFlcnJvci5sb2NhbGl6ZWREZXNj
cmlwdGlvbigpLmlzRW1wdHkoKSkKICAgICAgICAgbWVzc2FnZSArPSAiOiAiICsgZXJyb3IubG9j
YWxpemVkRGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IGY1OWQ4N2YuLmMxNjc4Y2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtNzIz
LDggKzcyMyw4IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5s
aW5raWZ5VVJMQXNOb2RlKHJlc291cmNlLnVybCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAo
cmVzb3VyY2UuZmFpbGVkKQogICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgcmVzb3VyY2UubG9jYWxpemVk
RmFpbERlc2NyaXB0aW9uKSk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCIgIiArIHJlc291cmNlLnN0YXR1c0NvZGUgKyAiICgiICsgcmVzb3VyY2Uuc3RhdHVzVGV4
dCArICIpIikpOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXNvdXJjZS5zdGF0dXND
b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgcmVzb3VyY2Uuc3RhdHVzQ29kZSArICIgKCIgKyAo
cmVzb3VyY2Uuc3RhdHVzVGV4dCB8fCAiIikgKyAiKSIpKTsKICAgICAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSB0aGlzLl9mb3JtYXQoW3RoaXMu
X21lc3NhZ2VUZXh0XSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGMzYzhkNjIuLjBjZGJjMjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTgs
NyArMTE4LDkgQEAgUmVzb3VyY2VFcnJvciBNYWluUmVzb3VyY2VMb2FkZXI6OmludGVycnVwdGlv
bkZvclBvbGljeUNoYW5nZUVycm9yKCkgY29uc3QKIAogdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6
OnN0b3BMb2FkaW5nRm9yUG9saWN5Q2hhbmdlKCkKIHsKLSAgICBjYW5jZWwoaW50ZXJydXB0aW9u
Rm9yUG9saWN5Q2hhbmdlRXJyb3IoKSk7CisgICAgUmVzb3VyY2VFcnJvciBlcnJvciA9IGludGVy
cnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCk7CisgICAgZXJyb3Iuc2V0SXNDYW5jZWxsYXRp
b24odHJ1ZSk7CisgICAgY2FuY2VsKGVycm9yKTsKIH0KIAogdm9pZCBNYWluUmVzb3VyY2VMb2Fk
ZXI6OmNhbGxDb250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeSh2b2lkKiBhcmd1bWVudCwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIGJvb2wg
c2hvdWxkQ29udGludWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85318</attachid>
            <date>2011-03-10 06:53:22 -0800</date>
            <delta_ts>2011-03-11 01:35:41 -0800</delta_ts>
            <desc>patch (fixed binary diff)</desc>
            <filename>resource-cancel-error.diff</filename>
            <type>text/plain</type>
            <size>10627</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5Y2I4OTFlLi45OTBhN2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMt
MDkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZXNvdXJj
ZSBsb2FkIGNhbmNlbGxhdGlvbiBpcyByZXBvcnRlZCB0byBjb25zb2xlIGFzIGFuIGVycm9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTc2NAorCisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3Vy
Y2UtZXJyb3JzLmh0bWw6IEFkZGVkIHRlc3QgZm9yIGxhY2sgb2YgY29uc29sZSBtZXNzYWdlcyBk
dXJpbmcgcG9saWN5IGNoYW5nZSAoYXQgZG93bmxvYWQpCisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy5odG1sOiBBZGRlZCB0ZXN0IGZv
ciByZXBvcnRpbmcgb2YgY3Jvc3Mtb3JpZ2luIFhIUiBlcnJvcnMuCisgICAgICAgICogaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2VtcHR5LnppcDogQWRkZWQuCisKIDIwMTEtMDMtMTAg
IFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHNraXAgMSBtb3JlIHN2ZyB0ZXN0IGZhaWxpbmcgYnkgb25lIHBpeGVsIGluIDMyLWJp
dHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUt
cmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLWV4cGVjdGVkLnR4dAppbmRleCA2MzI5YmM1
Li4xMmRkZjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b25zb2xlLXJlc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0CkBA
IC0xLDUgKzEsNiBAQAogIFRlc3RzIHRoYXQgZXJyb3JzIHRvIGxvYWQgYSByZXNvdXJjZSBjYXVz
ZSBlcnJvciBtZXNzYWdlcyB0byBiZSBsb2dnZWQgdG8gY29uc29sZS4KIAorIGRvd25sb2FkCiBQ
YWdlIHJlbG9hZGVkLgogbWlzc2luZy5jc3NHRVQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9taXNzaW5nLmNzcyA0MDQgKE5vdCBGb3VuZCkgY29uc29sZS1tZXNzYWdlIGNvbnNvbGUt
ZXJyb3ItbGV2ZWwKIG5vbi1leGlzdGVudC1pZnJhbWUuaHRtbEdFVCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL25vbi1leGlzdGVudC1pZnJhbWUuaHRtbCA0MDQgKE5vdCBGb3VuZCkg
Y29uc29sZS1tZXNzYWdlIGNvbnNvbGUtZXJyb3ItbGV2ZWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXJlc291cmNlLWVycm9ycy5o
dG1sCmluZGV4IGI1ZGQzMzAuLjJhY2VjMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMuaHRtbApA
QCAtMTAsMjcgKzEwLDQ5IEBAIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKIHhoci5v
cGVuKCJHRVQiLCJub24tZXhpc3RlbnQteGhyIiwgZmFsc2UpOwogeGhyLnNlbmQobnVsbCk7CiAK
K2Z1bmN0aW9uIHBlcmZvcm1Eb3dubG9hZCgpCit7CisgICAgdmFyIGEgPSBkb2N1bWVudC5ib2R5
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF07CisgICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRXZlbnQoIlVJRXZlbnRzIik7CisgICAgZXZlbnQuaW5pdFVJRXZlbnQoImNsaWNrIiwg
dHJ1ZSwgdHJ1ZSwgd2luZG93LCAxKTsKKyAgICBhLmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQor
CiBmdW5jdGlvbiB0ZXN0KCkKIHsKKyAgICBmdW5jdGlvbiBvblJlc291cmNlKGV2ZW50KQorICAg
IHsKKyAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKKyAgICAgICAgaWYgKC9cL2Vt
cHR5XC56aXAkLy50ZXN0KHJlc291cmNlLnVybCkpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBDb25zb2xlTWVzc2FnZXNXaXRoQ2xhc3Nlcyh0cnVlKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb24gb25N
YWluUmVzb3VyY2VDb21taXRMb2FkKCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5jb25z
b2xlLmNsZWFyTWVzc2FnZXMoKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMu
UmVzb3VyY2VGaW5pc2hlZCwgb25SZXNvdXJjZSwgdGhpcyk7CisgICAgfQorICAgIFdlYkluc3Bl
Y3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TWFuYWdlci5FdmVudFR5cGVzLk1haW5SZXNvdXJjZUNvbW1pdExvYWQsIG9uTWFpblJlc291cmNl
Q29tbWl0TG9hZCwgdGhpcyk7CiAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKGZ1bmN0aW9u
KCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZENvbnNvbGVNZXNzYWdlcygpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBDb25zb2xlTWVzc2FnZXNXaXRoQ2xhc3Nlcyh0cnVlKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJwZXJmb3JtRG93bmxvYWQoKTsiKTsKICAg
ICB9KTsKIH0KIAotCi0KIDwvc2NyaXB0PgogPC9oZWFkPgogCiA8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+CiA8cD4KIDxzY3JpcHQgc3JjPSJub24tZXhpc3RlbnQtc2NyaXB0LmpzIj48L3Njcmlw
dD4KKwogPGlmcmFtZSBzcmM9Im5vbi1leGlzdGVudC1pZnJhbWUuaHRtbCI+PC9pZnJhbWU+CiAK
IFRlc3RzIHRoYXQgZXJyb3JzIHRvIGxvYWQgYSByZXNvdXJjZSBjYXVzZSBlcnJvciBtZXNzYWdl
cyB0byBiZSBsb2dnZWQgdG8gY29uc29sZS4KIDwvcD4KIAorPGlmcmFtZSBuYW1lPSJmcmFtZSI+
PC9pZnJhbWU+Cis8YSBocmVmPSJyZXNvdXJjZXMvZW1wdHkuemlwIiB0YXJnZXQ9ImZyYW1lIj5k
b3dubG9hZDwvYT4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhyLWxvZ2dpbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3Rl
ZC50eHQKaW5kZXggY2UxYzYyMS4uMDNjYzM4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy1leHBl
Y3RlZC50eHQKQEAgLTIsOCArMiwxMiBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRp
bmcgYSAlcyByZXF1ZXN0IHRvICVzCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcg
YSAlcyByZXF1ZXN0IHRvICVzCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcgYSAl
cyByZXF1ZXN0IHRvICVzCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IHNlbmRpbmcgYSAlcyBy
ZXF1ZXN0IHRvICVzCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogWE1MSHR0cFJlcXVlc3QgY2Fu
bm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWV4
aXN0cy5odG1sLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5
IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDog
c2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2Vu
ZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2VuZGlu
ZyBhICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2VuZGluZyBh
ICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVz
dCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94
aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93
ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgogVGVzdHMgdGhhdCBYTUxIdHRwUmVx
dWVzdCBMb2dnaW5nIHdvcmtzIHdoZW4gRW5hYmxlZCBhbmQgZG9lc24ndCBzaG93IGxvZ3Mgd2hl
biBEaXNhYmxlZC4KIAogY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBhIEdFVCBy
ZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhpc3RzLmh0bWwKQEAgLTEzLDggKzE3LDEyIEBAIHho
ci1kb2VzLW5vdC1leGlzdC5odG1sR0VUIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2VzL3hoci1kb2VzLW5vCiBYSFIgZmluaXNoZWQgbG9hZGluZzogImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sIi4K
IGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDoxMHNlbmRpbmcgYSBQT1NUIHJlcXVlc3QgdG8gcmVz
b3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaQogWEhSIGZpbmlzaGVkIGxvYWRpbmc6ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9wb3N0LXRhcmdldC5jZ2kiLgorY29uc29s
ZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbAorWE1MSHR0cFJl
cXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMveGhyLWV4aXN0cy5odG1sLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBh
bGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIGNvbnNvbGUteGhyLWxvZ2dp
bmcuaHRtbDoxMHNlbmRpbmcgYSBHRVQgcmVxdWVzdCB0byByZXNvdXJjZXMveGhyLWV4aXN0cy5o
dG1sCiBjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6MTBzZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8g
cmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sCiB4aHItZG9lcy1ub3QtZXhpc3QuaHRt
bEdFVCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZG9lcy1u
b3QtZXhpc3QuaHRtbCA0MDQgKE5vdCBGb3VuZCkKIGNvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbDox
MHNlbmRpbmcgYSBQT1NUIHJlcXVlc3QgdG8gcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaQorY29u
c29sZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBhIEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbAorWE1MSHR0
cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZXMveGhyLWV4aXN0cy5odG1sLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5v
dCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS14aHItbG9nZ2luZy5o
dG1sCmluZGV4IDAzOWFmZjUuLmM3YmIwMzkgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLmh0bWwKQEAgLTIxLDYg
KzIxLDggQEAgZnVuY3Rpb24gbWFrZVJlcXVlc3RzKCkKICAgICByZXF1ZXN0SGVscGVyKCJHRVQi
LCAicmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sIik7CiAgICAgLy8gMy4gUE9TVCB0
byBhIHBhZ2UuCiAgICAgcmVxdWVzdEhlbHBlcigiUE9TVCIsICJyZXNvdXJjZXMvcG9zdC10YXJn
ZXQuY2dpIik7CisgICAgLy8gNC4gQ3Jvc3Mtb3JpZ2luIHJlcXVlc3QKKyAgICByZXF1ZXN0SGVs
cGVyKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhy
LWV4aXN0cy5odG1sIik7CiB9CiAKIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2VtcHR5LnppcCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9lbXB0eS56aXAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTVjYjBlY2IzZTIxOWQxNzAxMjk0YmZkZjBmZTNmNWNiNWQyMDhlNwpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMjIKTmNtV0lXV0BUZiowMDBnMTBIKil8CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggOTEyOTA5OC4uNDAzZGQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDExLTAzLTA5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogcmVzb3VyY2UgbG9hZCBjYW5jZWxsYXRpb24gaXMgcmVwb3J0ZWQgdG8gY29uc29sZSBh
cyBhbiBlcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTU3NjQKKworICAgICAgICAtIG1hcmsgaW50ZXJydXB0aW9uRm9yUG9saWN5Q2hhbmdlRXJy
b3IgYXMgY2FuY2VsbGF0aW9uCisgICAgICAgIC0gZG8gbm90IGxvZyByZXNvdXJjZSBjYW5jZWxh
dGlvbiBhcyBhbiBlcnJvcgorICAgICAgICAtIGZpeGVkIGVycm9yIGZvcm1hdHRpbmcgaW4gY2Fz
ZSByZXNvdXJjZSBlcnJvciBjb2RlIG5vdCBwcmVzZW50CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNv
bnNvbGVBZ2VudDo6ZGlkRmFpbExvYWRpbmcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2Uu
cHJvdG90eXBlLl9mb3JtYXRNZXNzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJlc291cmNl
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6c3RvcExv
YWRpbmdGb3JQb2xpY3lDaGFuZ2UpOgorCiAyMDExLTAzLTA5ICBBbGV4YW5kZXIgUGF2bG92ICA8
YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1h
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xl
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2Vu
dC5jcHAKaW5kZXggMDM3OTU5MC4uM2I4NWU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTIwNSw3ICsyMDUsOCBAQCB2
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlkRmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBSZXNvdQogewogICAgIGlmICghbV9pbnNwZWN0b3JBZ2VudC0+ZW5h
YmxlZCgpKQogICAgICAgICByZXR1cm47Ci0KKyAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24o
KSkgLy8gUmVwb3J0IGZhaWx1cmVzIG9ubHkuCisgICAgICAgIHJldHVybjsKICAgICBTdHJpbmcg
bWVzc2FnZSA9ICJGYWlsZWQgdG8gbG9hZCByZXNvdXJjZSI7CiAgICAgaWYgKCFlcnJvci5sb2Nh
bGl6ZWREZXNjcmlwdGlvbigpLmlzRW1wdHkoKSkKICAgICAgICAgbWVzc2FnZSArPSAiOiAiICsg
ZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IGY1OWQ4N2YuLmMxNjc4Y2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5q
cwpAQCAtNzIzLDggKzcyMyw4IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxkKFdlYklu
c3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlKHJlc291cmNlLnVybCkpOwogICAgICAgICAgICAgICAg
ICAgICBpZiAocmVzb3VyY2UuZmFpbGVkKQogICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2Fn
ZVRleHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgcmVzb3VyY2Uu
bG9jYWxpemVkRmFpbERlc2NyaXB0aW9uKSk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCIgIiArIHJlc291cmNlLnN0YXR1c0NvZGUgKyAiICgiICsgcmVzb3VyY2Uu
c3RhdHVzVGV4dCArICIpIikpOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXNvdXJj
ZS5zdGF0dXNDb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgcmVzb3VyY2Uuc3RhdHVzQ29kZSAr
ICIgKCIgKyAocmVzb3VyY2Uuc3RhdHVzVGV4dCB8fCAiIikgKyAiKSIpKTsKICAgICAgICAgICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSB0aGlzLl9mb3Jt
YXQoW3RoaXMuX21lc3NhZ2VUZXh0XSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGMzYzhkNjIuLjBj
ZGJjMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC0xMTgsNyArMTE4LDkgQEAgUmVzb3VyY2VFcnJvciBNYWluUmVzb3VyY2VMb2FkZXI6Omlu
dGVycnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCkgY29uc3QKIAogdm9pZCBNYWluUmVzb3Vy
Y2VMb2FkZXI6OnN0b3BMb2FkaW5nRm9yUG9saWN5Q2hhbmdlKCkKIHsKLSAgICBjYW5jZWwoaW50
ZXJydXB0aW9uRm9yUG9saWN5Q2hhbmdlRXJyb3IoKSk7CisgICAgUmVzb3VyY2VFcnJvciBlcnJv
ciA9IGludGVycnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCk7CisgICAgZXJyb3Iuc2V0SXND
YW5jZWxsYXRpb24odHJ1ZSk7CisgICAgY2FuY2VsKGVycm9yKTsKIH0KIAogdm9pZCBNYWluUmVz
b3VyY2VMb2FkZXI6OmNhbGxDb250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeSh2b2lkKiBhcmd1
bWVudCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0
ZT4sIGJvb2wgc2hvdWxkQ29udGludWUpCg==
</data>
<flag name="review"
          id="77420"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="77421"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85447</attachid>
            <date>2011-03-11 01:35:41 -0800</date>
            <delta_ts>2011-03-11 01:35:41 -0800</delta_ts>
            <desc>landed patch</desc>
            <filename>resource-cancel.diff</filename>
            <type>text/plain</type>
            <size>11761</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YzkzOTNiLi4xMjQ5Njg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDMt
MTEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlc291cmNl
IGxvYWQgY2FuY2VsbGF0aW9uIGlzIHJlcG9ydGVkIHRvIGNvbnNvbGUgYXMgYW4gZXJyb3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NzY0CisKKyAg
ICAgICAgLSBtYXJrIGludGVycnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yIGFzIGNhbmNlbGxh
dGlvbgorICAgICAgICAtIGRvIG5vdCBsb2cgcmVzb3VyY2UgY2FuY2VsYXRpb24gYXMgYW4gZXJy
b3IKKyAgICAgICAgLSBhbHdheXMgcHVzaCByZXNvdXJjZSB0byBmcm9udC1lbmQgYmVmb3JlIGNv
bnNvbGUgbWVzc2FnZSwgc28gZnJvbnQtZW5kIGNhbiB1c2UgcmVzb3VyY2UgaW5mbyB3aGlsZSBm
b3JtYXR0aW5nIG1lc3NhZ2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25z
b2xlLXJlc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9p
bnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMuaHRtbDogQWRkZWQgdGVzdCBmb3IgbGFj
ayBvZiBjb25zb2xlIG1lc3NhZ2VzIGR1cmluZyBwb2xpY3kgY2hhbmdlIChhdCBkb3dubG9hZCkK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dn
aW5nLmh0bWw6IEFkZGVkIHRlc3QgZm9yIHJlcG9ydGluZyBvZiBjcm9zcy1vcmlnaW4gWEhSIGVy
cm9ycy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvZW1wdHkuemlw
OiBBZGRlZC4KKwogMjAxMS0wMy0xMSAgSWx5YSBTaGVybWFuICA8aXNoZXJtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS1yZXNv
dXJjZS1lcnJvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDYzMjliYzUuLjEyZGRmOGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJy
b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b25zb2xlLXJlc291cmNlLWVycm9ycy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiAgVGVz
dHMgdGhhdCBlcnJvcnMgdG8gbG9hZCBhIHJlc291cmNlIGNhdXNlIGVycm9yIG1lc3NhZ2VzIHRv
IGJlIGxvZ2dlZCB0byBjb25zb2xlLgogCisgZG93bmxvYWQKIFBhZ2UgcmVsb2FkZWQuCiBtaXNz
aW5nLmNzc0dFVCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL21pc3NpbmcuY3NzIDQw
NCAoTm90IEZvdW5kKSBjb25zb2xlLW1lc3NhZ2UgY29uc29sZS1lcnJvci1sZXZlbAogbm9uLWV4
aXN0ZW50LWlmcmFtZS5odG1sR0VUIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Ivbm9u
LWV4aXN0ZW50LWlmcmFtZS5odG1sIDQwNCAoTm90IEZvdW5kKSBjb25zb2xlLW1lc3NhZ2UgY29u
c29sZS1lcnJvci1sZXZlbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvY29uc29sZS1yZXNvdXJjZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2NvbnNvbGUtcmVzb3VyY2UtZXJyb3JzLmh0bWwKaW5kZXggYjVkZDMzMC4u
MmFjZWMxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS1yZXNvdXJjZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb25zb2xlLXJlc291cmNlLWVycm9ycy5odG1sCkBAIC0xMCwyNyArMTAsNDkgQEAg
dmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogeGhyLm9wZW4oIkdFVCIsIm5vbi1leGlz
dGVudC14aHIiLCBmYWxzZSk7CiB4aHIuc2VuZChudWxsKTsKIAorZnVuY3Rpb24gcGVyZm9ybURv
d25sb2FkKCkKK3sKKyAgICB2YXIgYSA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImEiKVswXTsKKyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiVUlFdmVu
dHMiKTsKKyAgICBldmVudC5pbml0VUlFdmVudCgiY2xpY2siLCB0cnVlLCB0cnVlLCB3aW5kb3cs
IDEpOworICAgIGEuZGlzcGF0Y2hFdmVudChldmVudCk7Cit9CisKIGZ1bmN0aW9uIHRlc3QoKQog
eworICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2UoZXZlbnQpCisgICAgeworICAgICAgICB2YXIgcmVz
b3VyY2UgPSBldmVudC5kYXRhOworICAgICAgICBpZiAoL1wvZW1wdHlcLnppcCQvLnRlc3QocmVz
b3VyY2UudXJsKSkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRDb25zb2xlTWVz
c2FnZXMoKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcENvbnNvbGVNZXNzYWdlc1dp
dGhDbGFzc2VzKHRydWUpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbiBvbk1haW5SZXNvdXJjZUNvbW1pdExv
YWQoKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuY2xlYXJNZXNzYWdlcygp
OworICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZUZpbmlzaGVkLCBv
blJlc291cmNlLCB0aGlzKTsKKyAgICB9CisgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMu
TWFpblJlc291cmNlQ29tbWl0TG9hZCwgb25NYWluUmVzb3VyY2VDb21taXRMb2FkLCB0aGlzKTsK
ICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoZnVuY3Rpb24oKSB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZHVtcENvbnNvbGVNZXNzYWdlc1dpdGhDbGFzc2VzKHRydWUpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
V2l0aFRpbWVvdXQoInBlcmZvcm1Eb3dubG9hZCgpOyIpOwogICAgIH0pOwogfQogCi0KLQogPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiAKIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgogPHNjcmlw
dCBzcmM9Im5vbi1leGlzdGVudC1zY3JpcHQuanMiPjwvc2NyaXB0PgorCiA8aWZyYW1lIHNyYz0i
bm9uLWV4aXN0ZW50LWlmcmFtZS5odG1sIj48L2lmcmFtZT4KIAogVGVzdHMgdGhhdCBlcnJvcnMg
dG8gbG9hZCBhIHJlc291cmNlIGNhdXNlIGVycm9yIG1lc3NhZ2VzIHRvIGJlIGxvZ2dlZCB0byBj
b25zb2xlLgogPC9wPgogCis8aWZyYW1lIG5hbWU9ImZyYW1lIj48L2lmcmFtZT4KKzxhIGhyZWY9
InJlc291cmNlcy9lbXB0eS56aXAiIHRhcmdldD0iZnJhbWUiPmRvd25sb2FkPC9hPgogPC9ib2R5
PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS14aHItbG9nZ2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLWV4cGVjdGVkLnR4dAppbmRleCBjZTFjNjIx
Li4wM2NjMzg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9j
b25zb2xlLXhoci1sb2dnaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLWV4cGVjdGVkLnR4dApAQCAtMiw4ICsy
LDEyIEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8g
JXMKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMK
IENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKIENP
TlNPTEUgTUVTU0FHRTogbGluZSAxMDogc2VuZGluZyBhICVzIHJlcXVlc3QgdG8gJXMKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9j
YWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwuIE9yaWdpbiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luLgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVz
dCB0byAlcwogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0
byAlcworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAl
cworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBzZW5kaW5nIGEgJXMgcmVxdWVzdCB0byAlcwor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbC4gT3Jp
Z2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4uCiBUZXN0cyB0aGF0IFhNTEh0dHBSZXF1ZXN0IExvZ2dpbmcgd29ya3Mg
d2hlbiBFbmFibGVkIGFuZCBkb2Vzbid0IHNob3cgbG9ncyB3aGVuIERpc2FibGVkLgogCiBjb25z
b2xlLXhoci1sb2dnaW5nLmh0bWw6MTBzZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gcmVzb3VyY2Vz
L3hoci1leGlzdHMuaHRtbApAQCAtMTMsOCArMTcsMTIgQEAgeGhyLWRvZXMtbm90LWV4aXN0Lmh0
bWxHRVQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMveGhyLWRvZXMt
bm8KIFhIUiBmaW5pc2hlZCBsb2FkaW5nOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZXMveGhyLWRvZXMtbm90LWV4aXN0Lmh0bWwiLgogY29uc29sZS14aHItbG9nZ2lu
Zy5odG1sOjEwc2VuZGluZyBhIFBPU1QgcmVxdWVzdCB0byByZXNvdXJjZXMvcG9zdC10YXJnZXQu
Y2dpCiBYSFIgZmluaXNoZWQgbG9hZGluZzogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0
b3IvcmVzb3VyY2VzL3Bvc3QtdGFyZ2V0LmNnaSIuCitjb25zb2xlLXhoci1sb2dnaW5nLmh0bWw6
MTBzZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sCitYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBo
dHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwu
IE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luLgogY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBh
IEdFVCByZXF1ZXN0IHRvIHJlc291cmNlcy94aHItZXhpc3RzLmh0bWwKIGNvbnNvbGUteGhyLWxv
Z2dpbmcuaHRtbDoxMHNlbmRpbmcgYSBHRVQgcmVxdWVzdCB0byByZXNvdXJjZXMveGhyLWRvZXMt
bm90LWV4aXN0Lmh0bWwKIHhoci1kb2VzLW5vdC1leGlzdC5odG1sR0VUIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3hoci1kb2VzLW5vdC1leGlzdC5odG1sIDQwNCAo
Tm90IEZvdW5kKQogY29uc29sZS14aHItbG9nZ2luZy5odG1sOjEwc2VuZGluZyBhIFBPU1QgcmVx
dWVzdCB0byByZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpCitjb25zb2xlLXhoci1sb2dnaW5nLmh0
bWw6MTBzZW5kaW5nIGEgR0VUIHJlcXVlc3QgdG8gaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZXMveGhyLWV4aXN0cy5odG1sCitYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9h
ZCBodHRwOi8vbG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0
bWwuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9jb25zb2xlLXhoci1sb2dnaW5nLmh0bWwKaW5kZXggMDM5YWZmNS4u
YzdiYjAzOSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29u
c29sZS14aHItbG9nZ2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUteGhyLWxvZ2dpbmcuaHRtbApAQCAtMjEsNiArMjEsOCBAQCBmdW5jdGlvbiBt
YWtlUmVxdWVzdHMoKQogICAgIHJlcXVlc3RIZWxwZXIoIkdFVCIsICJyZXNvdXJjZXMveGhyLWRv
ZXMtbm90LWV4aXN0Lmh0bWwiKTsKICAgICAvLyAzLiBQT1NUIHRvIGEgcGFnZS4KICAgICByZXF1
ZXN0SGVscGVyKCJQT1NUIiwgInJlc291cmNlcy9wb3N0LXRhcmdldC5jZ2kiKTsKKyAgICAvLyA0
LiBDcm9zcy1vcmlnaW4gcmVxdWVzdAorICAgIHJlcXVlc3RIZWxwZXIoIkdFVCIsICJodHRwOi8v
bG9jYWxob3N0OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy94aHItZXhpc3RzLmh0bWwiKTsKIH0K
IAogZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZXMvZW1wdHkuemlwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2VtcHR5LnppcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4xNWNiMGVjCkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2VtcHR5LnppcCBkaWZmZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBkNTk4ZjZmLi43NDUxMjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDMt
MTEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlc291cmNl
IGxvYWQgY2FuY2VsbGF0aW9uIGlzIHJlcG9ydGVkIHRvIGNvbnNvbGUgYXMgYW4gZXJyb3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NzY0CisKKyAg
ICAgICAgLSBtYXJrIGludGVycnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yIGFzIGNhbmNlbGxh
dGlvbgorICAgICAgICAtIGRvIG5vdCBsb2cgcmVzb3VyY2UgY2FuY2VsYXRpb24gYXMgYW4gZXJy
b3IKKyAgICAgICAgLSBhbHdheXMgcHVzaCByZXNvdXJjZSB0byBmcm9udC1lbmQgYmVmb3JlIGNv
bnNvbGUgbWVzc2FnZSwgc28gZnJvbnQtZW5kIGNhbiB1c2UgcmVzb3VyY2UgaW5mbyB3aGlsZSBm
b3JtYXR0aW5nIG1lc3NhZ2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnNvbGVBZ2VudDo6ZGlk
RmFpbExvYWRpbmcpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRS
ZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9hZGluZ0ltcGwpOgorICAgICAgICAqIGxvYWRlci9N
YWluUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9h
ZGVyOjpzdG9wTG9hZGluZ0ZvclBvbGljeUNoYW5nZSk6CisKIDIwMTEtMDMtMTAgIEFsZXhhbmRl
ciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZ
dXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcAppbmRleCAwMzc5NTkwLi4zYjg1ZTQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAtMjA1
LDcgKzIwNSw4IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpkaWRGYWlsTG9hZGluZyh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291CiB7CiAgICAgaWYgKCFtX2luc3Bl
Y3RvckFnZW50LT5lbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKLQorICAgIGlmIChlcnJvci5p
c0NhbmNlbGxhdGlvbigpKSAvLyBSZXBvcnQgZmFpbHVyZXMgb25seS4KKyAgICAgICAgcmV0dXJu
OwogICAgIFN0cmluZyBtZXNzYWdlID0gIkZhaWxlZCB0byBsb2FkIHJlc291cmNlIjsKICAgICBp
ZiAoIWVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkuaXNFbXB0eSgpKQogICAgICAgICBtZXNz
YWdlICs9ICI6ICIgKyBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRl
eCAwOWI3MWM5Li4zZjM1MDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNDU1LDcgKzQ1NSw3IEBAIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwo
Y29uc3QgSW5zcGVjdG9ySW5zCiAgICAgaWYgKEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2Vu
dCA9IGluc3BlY3RvckFnZW50Rm9yRnJhbWUobG9hZGVyLT5mcmFtZSgpKSkgewogICAgICAgICBp
ZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IHJldHJpZXZlUmVzb3Vy
Y2VBZ2VudChpbnNwZWN0b3JBZ2VudCkpCiAgICAgICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRS
ZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgbG9hZGVyLCByZXNwb25zZSk7Ci0gICAgICAgIGlu
c3BlY3RvckFnZW50LT5jb25zb2xlQWdlbnQoKS0+ZGlkUmVjZWl2ZVJlc3BvbnNlKGlkZW50aWZp
ZXIsIHJlc3BvbnNlKTsKKyAgICAgICAgaW5zcGVjdG9yQWdlbnQtPmNvbnNvbGVBZ2VudCgpLT5k
aWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgcmVzcG9uc2UpOyAvLyBUaGlzIHNob3VsZCBj
b21lIEFGVEVSIHJlc291cmNlIG5vdGlmaWNhdGlvbiwgZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlz
LgogICAgIH0KIH0KIApAQCAtNDc1LDExICs0NzUsMTEgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZEZpbmlzaExvYWRpbmdJbXBsKEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JB
Z2UKIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nSW1wbChJ
bnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgaW5zcGVjdG9yQWdlbnQtPmNvbnNv
bGVBZ2VudCgpLT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVyLCBlcnJvcik7CiAgICAgaWYgKElu
c3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSByZXRyaWV2ZVRpbWVsaW5lQWdl
bnQoaW5zcGVjdG9yQWdlbnQpKQogICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaW5pc2hMb2Fk
aW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSwgMCk7CiAgICAgaWYgKEluc3BlY3RvclJlc291
cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSByZXRyaWV2ZVJlc291cmNlQWdlbnQoaW5zcGVjdG9y
QWdlbnQpKQogICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVy
LCBlcnJvcik7CisgICAgaW5zcGVjdG9yQWdlbnQtPmNvbnNvbGVBZ2VudCgpLT5kaWRGYWlsTG9h
ZGluZyhpZGVudGlmaWVyLCBlcnJvcik7IC8vIFRoaXMgc2hvdWxkIGNvbWUgQUZURVIgcmVzb3Vy
Y2Ugbm90aWZpY2F0aW9uLCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9CiAKIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3RJ
bXBsKEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudCwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGMzYzhkNjIuLjBjZGJjMjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0x
MTgsNyArMTE4LDkgQEAgUmVzb3VyY2VFcnJvciBNYWluUmVzb3VyY2VMb2FkZXI6OmludGVycnVw
dGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCkgY29uc3QKIAogdm9pZCBNYWluUmVzb3VyY2VMb2Fk
ZXI6OnN0b3BMb2FkaW5nRm9yUG9saWN5Q2hhbmdlKCkKIHsKLSAgICBjYW5jZWwoaW50ZXJydXB0
aW9uRm9yUG9saWN5Q2hhbmdlRXJyb3IoKSk7CisgICAgUmVzb3VyY2VFcnJvciBlcnJvciA9IGlu
dGVycnVwdGlvbkZvclBvbGljeUNoYW5nZUVycm9yKCk7CisgICAgZXJyb3Iuc2V0SXNDYW5jZWxs
YXRpb24odHJ1ZSk7CisgICAgY2FuY2VsKGVycm9yKTsKIH0KIAogdm9pZCBNYWluUmVzb3VyY2VM
b2FkZXI6OmNhbGxDb250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeSh2b2lkKiBhcmd1bWVudCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIGJv
b2wgc2hvdWxkQ29udGludWUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>