<?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>41531</bug_id>
          
          <creation_ts>2010-07-02 12:33:21 -0700</creation_ts>
          <short_desc>Asynchronous cross origin XMLHttpRequest doesn&apos;t expose 401 response when withCredentials is false</short_desc>
          <delta_ts>2010-08-09 07:41:18 -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>XML</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="Stuart Ng">sng</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>246026</commentid>
    <comment_count>0</comment_count>
      <attachid>60387</attachid>
    <who name="Stuart Ng">sng</who>
    <bug_when>2010-07-02 12:33:21 -0700</bug_when>
    <thetext>Created attachment 60387
Packet Trace of this transaction

- Test Scenario:

- Try to do HTTP GET to a secure webpage
- Server sends back 401
- Since withCredentials is false, no credentials are sent back.

- I would expect a 401 error to be the final result, (I.e. failed to log in)
- Instead, a get a Network Error 101 and xhr.status = 0.

- This only happens on Safari. ON Chrome I am getting status 401 as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>246029</commentid>
    <comment_count>1</comment_count>
      <attachid>60389</attachid>
    <who name="Stuart Ng">sng</who>
    <bug_when>2010-07-02 12:34:29 -0700</bug_when>
    <thetext>Created attachment 60389
Test Page on Client Side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249350</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-09 16:43:13 -0700</bug_when>
    <thetext>I&apos;m seeing the same behavior in Firefox. But Firefox also doesn&apos;t let the sync request response through. Does that match your results?

The code that implements this behavior is in DocumentThreadableLoader::didReceiveAuthenticationChallenge().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253422</commentid>
    <comment_count>3</comment_count>
      <attachid>61999</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-19 15:21:40 -0700</bug_when>
    <thetext>Created attachment 61999
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253443</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-19 16:09:44 -0700</bug_when>
    <thetext>Attachment 61999 did not build on chromium:
Build output: http://queues.webkit.org/results/3564261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253855</commentid>
    <comment_count>5</comment_count>
      <attachid>61999</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-07-20 12:21:28 -0700</bug_when>
    <thetext>Comment on attachment 61999
proposed fix

&gt; Index: WebCore/ChangeLog
&gt; ===================================================================
&gt; +
&gt; +        * loader/DocumentThreadableLoader.cpp:
&gt; +        (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
&gt; +        the request, continue withotu credentials - if the platform has a necessary method on
&gt; +        ResourceHandle.

typo &quot;withotu&quot;

&gt; +
&gt; +        * loader/SubresourceLoader.cpp:
&gt; +        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don&apos;t ask resource laoder
&gt; +        client for credentials if subresource laoder client already resolved those.

typo &quot;laoder&quot;

Otherwise seems fine!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253871</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-20 12:49:07 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/63766&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254056</commentid>
    <comment_count>7</comment_count>
      <attachid>61999</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-20 16:24:18 -0700</bug_when>
    <thetext>Comment on attachment 61999
proposed fix

&gt; +#if PLATFORM(MAC) || USE(CFNETWORK) || USE(CURL)
&gt; +        loader-&gt;handle()-&gt;receivedRequestToContinueWithoutCredential(challenge);

Seems to me that this should be an #if that&apos;s tied to the implementation more directly -- in the ResourceHandle.h header. It seems strange to have the list of platforms here inside a file using the class rather than where the function is defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262137</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-09 07:41:18 -0700</bug_when>
    <thetext>https://bugzilla.mozilla.org/show_bug.cgi?id=580353</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>60387</attachid>
            <date>2010-07-02 12:33:21 -0700</date>
            <delta_ts>2010-07-02 12:33:21 -0700</delta_ts>
            <desc>Packet Trace of this transaction</desc>
            <filename>corsAuthen.cap</filename>
            <type>application/octet-stream</type>
            <size>1747</size>
            <attacher name="Stuart Ng">sng</attacher>
            
              <data encoding="base64">R01CVQICAQDaBwYAAQAcAA4AIQA2AAUBvwYAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAc47GXlEAAACIAAAAiAAAAAABAAAAAQADAAMGaQAAQwA6AFwAUAByAG8A
ZwByAGEAbQAgAEYAaQBsAGUAcwBcAE0AaQBjAHIAbwBzAG8AZgB0ACAATgBlAHQAdwBvAHIAawAg
AE0AbwBuAGkAdABvAHIAIAAzAFwAbgBlAHQAbQBvAG4ALgBlAHgAZQAAAEgAVABUAFAAAAD/////
//9zjsZeUQAAADIBAAAyAQAAAAEAAQAATABvAGMAYQBsACAAQQByAGUAYQAgAEMAbwBuAG4AZQBj
AHQAaQBvAG4AAABWAE0AdwBhAHIAZQAgAEEAYwBjAGUAbABlAHIAYQB0AGUAZAAgAEEATQBEACAA
UABDAE4AZQB0ACAAQQBkAGEAcAB0AGUAcgAgAC0AIABUAGUAZQBmAGUAcgAyACAATQBpAG4AaQBw
AG8AcgB0AAAAewAzAEEAOAA2AEEAMgBCADYALQA1ADcAMwAyAC0ANAA3AEUAMwAtADkAMAA1AEEA
LQA5ADYANwA3ADIAMwBFADUANQAwADYAOQB9AAAAAAAABgAAAAAAAAAAO5rKAABQVo0fqAABAAAA
AQABAAQAAAqHzRj///8ACofNAQqHZGQKhmRkCoZkFQpmZGQKQB9k+///////Tgz1XlEAAADdAQAA
3QEAAABQVo0fqAAiVcdLfwgARQABz5AVQAB9BmG6CokoMQqHzRgJrABQ3A80ZyX4z0JQGP//uXUA
AEdFVCAvY29ycy9zZWN1cmVhdGcwNU9yaWdpblRydWVDcmVkZW50aWFsLnBocCBIVFRQLzEuMQ0K
SG9zdDogMTAuMTM1LjIwNS4yNA0KVXNlci1BZ2VudDogTW96aWxsYS81LjAgKFdpbmRvd3M7IFU7
IFdpbmRvd3MgTlQgNS4xOyBlbi1VUykgQXBwbGVXZWJLaXQvNTMzLjE2IChLSFRNTCwgbGlrZSBH
ZWNrbykgVmVyc2lvbi81LjAgU2FmYXJpLzUzMy4xNg0KUmVmZXJlcjogaHR0cDovL2F0ZzA1LXl5
ei5yaW0ubmV0L2h0bWw1L3hocm1hbnVhbC9DT1JTd2l0aGNyZWRlbnRpYWxzYXRnMDVPcmlnaW4v
dGVzdC5odG0NCk9yaWdpbjogaHR0cDovL2F0ZzA1LXl5ei5yaW0ubmV0DQpBY2NlcHQ6ICovKg0K
QWNjZXB0LUxhbmd1YWdlOiBlbi1VUw0KQWNjZXB0LUVuY29kaW5nOiBnemlwLCBkZWZsYXRlDQpD
b25uZWN0aW9uOiBrZWVwLWFsaXZlDQoNCgEA/////1dJ9V5RAAAAJwIAACcCAAAAAAwHrM0AUFaN
H6gIAEUAAhkGLkAAgAboVwqHzRgKiSgxAFAJrCX4z0LcDzYOUBj5SQxlAABIVFRQLzEuMSA0MDEg
QXV0aG9yaXphdGlvbiBSZXF1aXJlZA0KQ29ubmVjdGlvbjogY2xvc2UNCkRhdGU6IEZyaSwgMDIg
SnVsIDIwMTAgMTk6Mzg6MjUgR01UDQpTZXJ2ZXI6IE1pY3Jvc29mdC1JSVMvNi4wDQpNaWNyb3Nv
ZnRPZmZpY2VXZWJTZXJ2ZXI6IDUuMF9QdWINClgtUG93ZXJlZC1CeTogQVNQLk5FVA0KWC1Qb3dl
cmVkLUJ5OiBQSFAvNS4yLjEzDQpBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6Ly9h
dGcwNS15eXoucmltLm5ldA0KQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kczogR0VULCBQT1NU
LCBPUFRJT05TDQpBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZQ0KQWNjZXNz
LUNvbnRyb2wtQWxsb3ctSGVhZGVyczogWC1SZXF1ZXN0ZWQtV2l0aA0KQWNjZXNzLUNvbnRyb2wt
TWF4LUFnZTogODY0MDANCldXVy1BdXRoZW50aWNhdGU6IEJhc2ljIHJlYWxtPSJNeSBSZWFsbSIN
CkNvbnRlbnQtdHlwZTogdGV4dC9odG1sDQoNCgEA/////1dJ9V5RAAAASwAAAEsAAAAAAAwHrM0A
UFaNH6gIAEUAAD0GL0AAgAbqMgqHzRgKiSgxAFAJrCX40TPcDzYOUBj5SQqJAABObyBDcmVkZW50
aWFscyBTZXQuDQoBAP////9IAAAA5gAAAC4CAAAhBAAAXgYAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>60389</attachid>
            <date>2010-07-02 12:34:29 -0700</date>
            <delta_ts>2010-07-02 12:34:29 -0700</delta_ts>
            <desc>Test Page on Client Side.</desc>
            <filename>test.htm</filename>
            <type>text/html</type>
            <size>2223</size>
            <attacher name="Stuart Ng">sng</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIEhUTUw+DQo8aHRtbD4NCiA8aGVhZD4NCiAgPHRpdGxlPkNPUlMgV2l0aENy
ZWRlbnRpYWxzIEV2ZW50IHRlc3Rpbmc8L3RpdGxlPg0KIDwvaGVhZD4NCiA8Ym9keT4NCiAgPGlu
cHV0IGlkPSJCdXR0b24xIiB0eXBlPSJidXR0b24iIHZhbHVlPSJTeW5jV2l0aENyZWRlbnRpYWxz
IiBvbmNsaWNrPSJ5ZXNUZXN0KCkiIC8+DQogIDxpbnB1dCBpZD0iQnV0dG9uMiIgdHlwZT0iYnV0
dG9uIiB2YWx1ZT0iU3luY1dpdGhOb0NyZWRlbnRpYWxzIiBvbmNsaWNrPSJub1Rlc3QoKSIgLz4N
CiAgPGlucHV0IGlkPSJCdXR0b24zIiB0eXBlPSJidXR0b24iIHZhbHVlPSJBc3luY1dpdGhDcmVk
ZW50aWFscyIgb25jbGljaz0ieWVzYVRlc3QoKSIgLz4NCiAgPGlucHV0IGlkPSJCdXR0b240IiB0
eXBlPSJidXR0b24iIHZhbHVlPSJBc3luY1dpdGhOb0NyZWRlbnRpYWxzIiBvbmNsaWNrPSJub2FU
ZXN0KCkiIC8+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgIA0KICAgZnVu
Y3Rpb24geWVzVGVzdCgpIHsNCiAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
DQogICAgICAgDQogICAgICAgeGhyLm9wZW4oJ0dFVCcsICdodHRwOi8vMTAuMTM1LjIwNS4yNC9j
b3JzL3NlY3VyZWF0ZzA1T3JpZ2luVHJ1ZUNyZWRlbnRpYWwucGhwJywgZmFsc2UpOw0KICAgICAg
IHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlOw0KICAgICAgIHRyeSB7DQogICAgICAgICAgIHho
ci5zZW5kKCk7DQogICAgICAgfSBjYXRjaChlcnIpIHsNCiAgICAgICAgICAgYWxlcnQoZXJyKTsN
CiAgICAgICB9DQogICAgICAgYWxlcnQoeGhyLnN0YXR1cyk7DQogICAgICAgYWxlcnQoeGhyLnJl
c3BvbnNlVGV4dCk7DQogICB9DQoNCiAgIGZ1bmN0aW9uIG5vVGVzdCgpIHsNCiAgICAgICB2YXIg
eGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQogICAgICAgDQogICAgICAgeGhyLm9wZW4oJ0dF
VCcsICdodHRwOi8vMTAuMTM1LjIwNS4yNC9jb3JzL3NlY3VyZWF0ZzA1T3JpZ2luVHJ1ZUNyZWRl
bnRpYWwucGhwJywgZmFsc2UpOw0KICAgICAgIHRyeSB7DQogICAgICAgICAgIHhoci5zZW5kKCk7
DQogICAgICAgfSBjYXRjaChlcnIpIHsNCiAgICAgICAgICAgYWxlcnQoZXJyKTsNCiAgICAgICB9
DQogICAgICAgYWxlcnQoeGhyLnN0YXR1cyk7DQogICAgICAgYWxlcnQoeGhyLnJlc3BvbnNlVGV4
dCk7DQogICB9DQoNCiAgIGZ1bmN0aW9uIHllc2FUZXN0KCkgew0KICAgICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsNCiAgICAgICANCiAgICAgICB4aHIub3BlbignR0VUJywgJ2h0
dHA6Ly8xMC4xMzUuMjA1LjI0L2NvcnMvc2VjdXJlYXRnMDVPcmlnaW5UcnVlQ3JlZGVudGlhbC5w
aHAnKTsNCiAgICAgICB4aHIud2l0aENyZWRlbnRpYWxzID0gdHJ1ZTsNCiAgICAgICB4aHIub25y
ZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgIGlmICggeGhyLnJlYWR5
U3RhdGUgPT0gNCApIHsNCiAgICAgICAgICAgICAgIGFsZXJ0KHhoci5yZXNwb25zZVRleHQpOw0K
ICAgICAgICAgICAgICAgYWxlcnQoeGhyLnN0YXR1cyk7DQogICAgICAgICAgIH0NCiAgICAgICB9
DQogICAgICAgeGhyLnNlbmQoKTsNCiAgIH0NCg0KICAgZnVuY3Rpb24gbm9hVGVzdCgpIHsNCiAg
ICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQogICAgICAgDQogICAgICAgeGhy
Lm9wZW4oJ0dFVCcsICdodHRwOi8vMTAuMTM1LjIwNS4yNC9jb3JzL3NlY3VyZWF0ZzA1T3JpZ2lu
VHJ1ZUNyZWRlbnRpYWwucGhwJyk7DQogICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1
bmN0aW9uKCkgew0KICAgICAgICAgICBpZiAoIHhoci5yZWFkeVN0YXRlID09IDQgKSB7DQogICAg
ICAgICAgICAgICBhbGVydCh4aHIucmVzcG9uc2VUZXh0KTsNCiAgICAgICAgICAgICAgIGFsZXJ0
KHhoci5zdGF0dXMpOw0KICAgICAgICAgICB9DQogICAgICAgfQ0KICAgICAgIHhoci5zZW5kKCk7
DQogICB9DQogIDwvc2NyaXB0Pg0KIDwvYm9keT4NCiA8aWZyYW1lIG5hbWU9IkZSQU1FTkFNRSIg
c3JjPSJodHRwOi8vMTAuMTM1LjIwNS4yNC9jb3JzL3NlY3VyZWF0ZzA1T3JpZ2luVHJ1ZUNyZWRl
bnRpYWwucGhwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjI4MCIgZnJhbWVib3JkZXI9IjEiIHNjcm9s
bGluZz0ibm8iIGFsbG93YXV0b3RyYW5zcGFyZW5jeT10cnVlPjwvaWZyYW1lPg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61999</attachid>
            <date>2010-07-19 15:21:40 -0700</date>
            <delta_ts>2010-07-20 16:24:18 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>CORS401.txt</filename>
            <type>text/plain</type>
            <size>9844</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzY5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDctMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNTMxCisgICAgICAgIEFz
eW5jaHJvbm91cyBjcm9zcyBvcmlnaW4gWE1MSHR0cFJlcXVlc3QgZG9lc24ndCBleHBvc2UgNDAx
IHJlc3BvbnNlIHdoZW4gd2l0aENyZWRlbnRpYWxzIGlzIGZhbHNlCisKKyAgICAgICAgVGhpcyBk
b2Vzbid0IG1hdGNoIEZpcmVmb3gsIGJ1dCBpdCBtYXRjaGVzIG91ciBzeW5jIGNhc2UsIFhIUjIg
c3BlYyBhbmQgY29tbW9uIHNlbnNlLgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50VGhyZWFk
YWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6IEluc3RlYWQgb2YgY2FuY2Vs
aW5nCisgICAgICAgIHRoZSByZXF1ZXN0LCBjb250aW51ZSB3aXRob3R1IGNyZWRlbnRpYWxzIC0g
aWYgdGhlIHBsYXRmb3JtIGhhcyBhIG5lY2Vzc2FyeSBtZXRob2Qgb24KKyAgICAgICAgUmVzb3Vy
Y2VIYW5kbGUuCisKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSk6IERvbid0IGFzayByZXNvdXJjZSBsYW9kZXIKKyAgICAgICAgY2xpZW50IGZv
ciBjcmVkZW50aWFscyBpZiBzdWJyZXNvdXJjZSBsYW9kZXIgY2xpZW50IGFscmVhZHkgcmVzb2x2
ZWQgdGhvc2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNw
cDogKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpoYXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAgICBB
ZGRlZCBhbiBhY2Nlc3NvciB0byBjaGVjayB3aGV0aGVyIFJlc291cmNlSGFuZGxlIGlzIGN1cnJl
bnRseSB3YWl0aW5nIGZvciBjcmVkZW50aWFscy4KKwogMjAxMC0wNy0xNyAgVG9ueSBHZW50aWxj
b3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZp
c2hlci4KSW5kZXg6IFdlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cAkocmV2aXNpb24gNjM1NjEpCisrKyBXZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisj
aW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIK
ICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVy
LmgiCkBAIC0yNjQsMTQgKzI2NSwyMCBAQCBib29sIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6
Z2V0U2hvdWxkCiAgICAgcmV0dXJuIGZhbHNlOyAvLyBPbmx5IEZyYW1lTG9hZGVyQ2xpZW50IGNh
biB1bHRpbWF0ZWx5IHBlcm1pdCBjcmVkZW50aWFsIHVzZS4KIH0KIAotdm9pZCBEb2N1bWVudFRo
cmVhZGFibGVMb2FkZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShTdWJyZXNv
dXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpCit2b2lk
IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKFN1YnJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJiBjaGFsbGVuZ2UpCiB7CiAgICAgQVNTRVJUKGxvYWRlciA9PSBtX2xvYWRlcik7CiAgICAg
Ly8gVXNlcnMgYXJlIG5vdCBwcm9tcHRlZCBmb3IgY3JlZGVudGlhbHMgZm9yIGNyb3NzLW9yaWdp
biByZXF1ZXN0cy4KICAgICBpZiAoIW1fc2FtZU9yaWdpblJlcXVlc3QpIHsKKyNpZiBQTEFURk9S
TShNQUMpIHx8IFVTRShDRk5FVFdPUkspIHx8IFVTRShDVVJMKQorICAgICAgICBsb2FkZXItPmhh
bmRsZSgpLT5yZWNlaXZlZFJlcXVlc3RUb0NvbnRpbnVlV2l0aG91dENyZWRlbnRpYWwoY2hhbGxl
bmdlKTsKKyNlbHNlCisgICAgICAgIC8vIFRoZXNlIHBsYXRmb3JtcyBkb24ndCBwcm92aWRlIGEg
d2F5IHRvIGNvbnRpbnVlIHdpdGhvdXQgY3JlZGVudGlhbHMsIGNhbmNlbCB0aGUgbG9hZCBhbHRv
Z2V0aGVyLgorICAgICAgICBVTlVTRURfUEFSQU0oY2hhbGxlbmdlKTsKICAgICAgICAgUmVmUHRy
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKICAgICAgICAgbV9jbGll
bnQtPmRpZEZhaWwobG9hZGVyLT5ibG9ja2VkRXJyb3IoKSk7CiAgICAgICAgIGNhbmNlbCgpOwor
I2VuZGlmCiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3Bw
CShyZXZpc2lvbiA2MzU2MSkKKysrIFdlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDE0ICsyNDgsMjAgQEAgdm9pZCBTdWJyZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZUF1dGhlbgogewogICAgIFJlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4g
cHJvdGVjdCh0aGlzKTsKIAorICAgIEFTU0VSVChoYW5kbGUoKS0+aGFzQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoKSk7CisKICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UodGhpcywgY2hhbGxlbmdlKTsKICAgICAKICAg
ICAvLyBUaGUgU3ViUmVzb3VyY2VMb2FkZXJDbGllbnQgbWF5IGhhdmUgY2FuY2VsbGVkIHRoaXMg
UmVzb3VyY2VMb2FkZXIgaW4gcmVzcG9uc2UgdG8gdGhlIGNoYWxsZW5nZS4gIAotICAgIC8vIElm
IHRoYXQncyB0aGUgY2FzZSwgZG9uJ3QgY2FsbCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UKKyAgICAvLyBJZiB0aGF0J3MgdGhlIGNhc2UsIGRvbid0IGNhbGwgZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLgogICAgIGlmIChyZWFjaGVkVGVybWluYWxTdGF0ZSgpKQog
ICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCisgICAgLy8gSXQgbWF5IGhhdmUgYWxzbyBoYW5k
bGVkIGF1dGhlbnRpY2F0aW9uIG9uIGl0cyBvd24uCisgICAgaWYgKCFoYW5kbGUoKS0+aGFzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUmVzb3VyY2VM
b2FkZXI6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjaGFsbGVuZ2UpOwogfQog
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAJKHJl
dmlzaW9uIDYzNTYxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDYgKzExMywxMSBAQCBjb25zdCBTdHJpbmcmIFJl
c291cmNlSGFuZGxlOjpsYXN0SFRUUE1lCiAgICAgcmV0dXJuIGQtPm1fbGFzdEhUVFBNZXRob2Q7
CiB9CiAKK2Jvb2wgUmVzb3VyY2VIYW5kbGU6Omhhc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gIWQtPm1fY3VycmVudFdlYkNoYWxsZW5nZS5pc051bGwoKTsK
K30KKwogdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y2xlYXJBdXRoZW50aWNhdGlvbigpCiB7CiAjaWYg
UExBVEZPUk0oTUFDKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgJKHJldmlzaW9uIDYzNTYxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsOCBAQCBwdWJsaWM6CiAK
ICAgICAvLyBVc2VkIHRvIHdvcmsgYXJvdW5kIHRoZSBmYWN0IHRoYXQgeW91IGRvbid0IGdldCBh
bnkgbW9yZSBOU1VSTENvbm5lY3Rpb24gY2FsbGJhY2tzIHVudGlsIHlvdSByZXR1cm4gZnJvbSB0
aGUgb25lIHlvdSdyZSBpbi4KICAgICBzdGF0aWMgYm9vbCBsb2Fkc0Jsb2NrZWQoKTsgICAgCi0g
ICAgCisKKyAgICBib29sIGhhc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCkgY29uc3Q7CiAgICAg
dm9pZCBjbGVhckF1dGhlbnRpY2F0aW9uKCk7CiAgICAgdm9pZCBjYW5jZWwoKTsKIApJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjM2OTApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wNy0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE1MzEKKyAgICAg
ICAgQXN5bmNocm9ub3VzIGNyb3NzIG9yaWdpbiBYTUxIdHRwUmVxdWVzdCBkb2Vzbid0IGV4cG9z
ZSA0MDEgcmVzcG9uc2Ugd2hlbiB3aXRoQ3JlZGVudGlhbHMgaXMgZmFsc2UKKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA2NjkKKyAgICAgICAgaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tbm8tYXV0aG9yaXphdGlvbi5odG1s
IGhhcyBtaXNzaW5nICJET05FIiBpbiBvbmUgYnJhbmNoCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1hdXRob3JpemF0aW9uLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1h
dXRob3JpemF0aW9uLmh0bWw6CisgICAgICAgIFVwZGF0ZWQgZm9yIG5ldyByZXN1bHRzLCBhZGRl
ZCB0aGUgbWlzc2luZyAiRE9ORSIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L2Nyb3NzLW9yaWdpbi1uby1jcmVkZW50aWFsLXByb21wdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1jcmVkZW50aWFs
LXByb21wdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICBDaGVjayB0aGF0IGRlc3BpdGUg
dGhlc2UgY2hhbmdlcywgdGhlcmUgaXMgc3RpbGwgbm8gYXV0aCBkaWFsb2cgZGlzcGxheWVkLgor
CiAyMDEwLTA3LTE3ICBUb255IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tbm8tYXV0aG9yaXphdGlvbi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9jcm9zcy1vcmlnaW4tbm8tYXV0aG9yaXphdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDYz
NTYxKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jcm9zcy1vcmln
aW4tbm8tYXV0aG9yaXphdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE0LDcg
KzE0LDcgQEAgUEFTUzogR290IGFuIGV4Y2VwdGlvbi4gRXJyb3I6IE5FVFdPUktfRQogQ3Jvc3Mt
b3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChzeW5jKSwgdGVzdGluZyBjb29raWVzLgogUEFTUwogQ3Jv
c3Mtb3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChhc3luYyksIGF1dGhvcml6YXRpb24gd2lsbCBub3Qg
YmUgc2VudCwgYmVjYXVzZSB3aXRoQ3JlZGVudGlhbHMgaXMgZmFsc2UuCi1QQVNTOiBSZWNlaXZl
ZCBlcnJvciBldmVudC4KK1BBU1M6IDQwMSBBdXRob3JpemF0aW9uIHJlcXVpcmVkCiBDcm9zcy1v
cmlnaW4gWE1MSHR0cFJlcXVlc3QgKGFzeW5jKSwgdGVzdGluZyBhdXRob3JpemF0aW9uIHRoYXQn
cyBub3QgYWxsb3dlZCBieSB0aGUgc2VydmVyICh3aXRoQ3JlZGVudGlhbHMgaXMgdHJ1ZSwgYnV0
IGFjY2VzcyBjb250cm9sIGhlYWRlcnMgYXJlIG5vdCBzZXQpLgogUEFTUzogUmVjZWl2ZWQgZXJy
b3IgZXZlbnQuCiBDcm9zcy1vcmlnaW4gWE1MSHR0cFJlcXVlc3QgKGFzeW5jKSwgdGVzdGluZyBj
b29raWVzLgpAQCAtMjIsNiArMjIsNiBAQCBQQVNTCiBDcm9zcy1vcmlnaW4gWE1MSHR0cFJlcXVl
c3QgKHN5bmMpLCB0ZXN0aW5nIGF1dGhvcml6YXRpb24gd2l0aCBleHBsaWNpdGx5IHByb3ZpZGVk
IGNyZWRlbnRpYWxzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQuCiBQQVNTOiA0MDEgQXV0aG9yaXph
dGlvbiByZXF1aXJlZAogQ3Jvc3Mtb3JpZ2luIFhNTEh0dHBSZXF1ZXN0IChhc3luYyksIHRlc3Rp
bmcgYXV0aG9yaXphdGlvbiB3aXRoIGV4cGxpY2l0bHkgcHJvdmlkZWQgY3JlZGVudGlhbHMgdGhh
dCBzaG91bGQgYmUgaWdub3JlZC4KLVBBU1M6IFJlY2VpdmVkIGVycm9yIGV2ZW50LgorUEFTUzog
NDAxIEF1dGhvcml6YXRpb24gcmVxdWlyZWQKIERPTkUKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tbm8tYXV0aG9yaXphdGlvbi5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jv
c3Mtb3JpZ2luLW5vLWF1dGhvcml6YXRpb24uaHRtbAkocmV2aXNpb24gNjM1NjEpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1hdXRob3Jp
emF0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsNyBAQCBmdW5jdGlvbiB0
ZXN0X2FzeW5jX2F1dGhfZXhwbGljaXQoKQogICAgIHJlcS5zZW5kKCk7CiAgICAgcmVxLm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICBsb2coKHJlcS5zdGF0dXMgPT0gNDAxKSA/ICJQQVNT
OiA0MDEgQXV0aG9yaXphdGlvbiByZXF1aXJlZCIgOiAiRkFJTDogTG9hZGVkIik7CisgICAgICAg
IGxvZygiRE9ORSIpOwogICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQog
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogICAgIH0KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLW5v
LWNyZWRlbnRpYWwtcHJvbXB0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1jcmVkZW50aWFsLXBy
b21wdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1uby1jcmVkZW50aWFsLXByb21wdC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxo
dHRwcmVxdWVzdC9yZXNvdXJjZXMvYmFzaWMtYXV0aC9iYXNpYy1hdXRoLnBocD91aWQ9NDE1MzEu
IE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luLgorVGhlcmUgc2hvdWxkIGJlIG5vIGF1dGhlbnRpY2F0aW9uIHBy
b21wdCBkaXNwbGF5ZWQsIHNpbmNlIHRoaXMgaXMgYSBjcm9zcy1vcmlnaW4gcmVxdWVzdC4gSW4g
YXV0b21hdGljIG1vZGUsIHRoZSB0ZXN0IHJlbGllcyBvbiBsb2dnaW5nIG9mIGF1dGhlbnRpY2F0
aW9uIHNoZWV0cy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
Y3Jvc3Mtb3JpZ2luLW5vLWNyZWRlbnRpYWwtcHJvbXB0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jcm9zcy1vcmlnaW4tbm8tY3JlZGVu
dGlhbC1wcm9tcHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLW5vLWNyZWRlbnRpYWwtcHJvbXB0Lmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKK1RoZXJlIHNob3VsZCBiZSBubyBhdXRoZW50aWNh
dGlvbiBwcm9tcHQgZGlzcGxheWVkLCBzaW5jZSB0aGlzIGlzIGEgY3Jvc3Mtb3JpZ2luIHJlcXVl
c3QuCitJbiBhdXRvbWF0aWMgbW9kZSwgdGhlIHRlc3QgcmVsaWVzIG9uIGxvZ2dpbmcgb2YgYXV0
aGVudGljYXRpb24gc2hlZXRzLgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorCit2YXIgciA9IG5ldyBYTUxI
dHRwUmVxdWVzdDsKK3Iub3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRw
cmVxdWVzdC9yZXNvdXJjZXMvYmFzaWMtYXV0aC9iYXNpYy1hdXRoLnBocD91aWQ9NDE1MzEiLCB0
cnVlKTsKK3Iuc2VuZCgpOworci5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBhbGVydCgiRkFJ
TDogc2hvdWxkIGhhdmUgZmFpbGVkIGR1ZSB0byBsYWNrIG9mIGNyb3NzIG9yaWdpbiBoZWFkZXJz
Iik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorci5vbmVycm9yID0gZnVuY3Rpb24oKSB7
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="50109"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>