<?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>104581</bug_id>
          
          <creation_ts>2012-12-10 11:52:17 -0800</creation_ts>
          <short_desc>Update MediaSource to allow append() calls in &quot;ended&quot; state.</short_desc>
          <delta_ts>2012-12-11 10:24:50 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Aaron Colwell">acolwell</reporter>
          <assigned_to name="Aaron Colwell">acolwell</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>787612</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-12-10 11:52:17 -0800</bug_when>
    <thetext>The October 1st update to the Media Source Extensions spec changed the SourceBuffer.append() behavior to allow calls in the &quot;ended&quot; state. These calls will trigger a transition to &quot;open&quot; and allow data to be appended instead of throwing an exception. The current WebKit implementation needs to be updated to reflect this new behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788417</commentid>
    <comment_count>1</comment_count>
      <attachid>178796</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-12-11 07:09:34 -0800</bug_when>
    <thetext>Created attachment 178796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788423</commentid>
    <comment_count>2</comment_count>
      <attachid>178796</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-12-11 07:13:49 -0800</bug_when>
    <thetext>Comment on attachment 178796
Patch

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

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:-289
&gt; -    if (!data-&gt;length())

Chromium player implementation was updated to handle this case. m_player needs to see these appends now so that it can properly mirror the state transition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788452</commentid>
    <comment_count>3</comment_count>
      <attachid>178796</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 07:52:13 -0800</bug_when>
    <thetext>Comment on attachment 178796
Patch

Attachment 178796 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15280102

New failing tests:
http/tests/media/media-source/video-media-source-append-in-ended-state.html
http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788463</commentid>
    <comment_count>4</comment_count>
      <attachid>178809</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-12-11 08:18:25 -0800</bug_when>
    <thetext>Created attachment 178809
Rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788494</commentid>
    <comment_count>5</comment_count>
      <attachid>178809</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-12-11 09:10:50 -0800</bug_when>
    <thetext>Comment on attachment 178809
Rebase

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

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:293
&gt; +    if (m_readyState == endedKeyword())
&gt; +        setReadyState(openKeyword());
&gt;  
&gt;      if (!m_player-&gt;sourceAppend(id, data-&gt;data(), data-&gt;length())) {
&gt;          ec = SYNTAX_ERR;

Is it necessary to call to m_player-&gt;sourceAppend() when data-&gt;length() is zero?

It is probably worth having an explicit test for calling append() with no data when state is &quot;ended&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788509</commentid>
    <comment_count>6</comment_count>
      <attachid>178809</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-12-11 09:38:56 -0800</bug_when>
    <thetext>Comment on attachment 178809
Rebase

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

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:293
&gt;&gt;          ec = SYNTAX_ERR;
&gt; 
&gt; Is it necessary to call to m_player-&gt;sourceAppend() when data-&gt;length() is zero?
&gt; 
&gt; It is probably worth having an explicit test for calling append() with no data when state is &quot;ended&quot;.

The call on m_player is necessary so the player implementation can keep its state in sync with m_readyState.

Added a test for the 0-byte case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788520</commentid>
    <comment_count>7</comment_count>
      <attachid>178822</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-12-11 09:45:40 -0800</bug_when>
    <thetext>Created attachment 178822
Added 0-byte append test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788570</commentid>
    <comment_count>8</comment_count>
      <attachid>178822</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 10:24:46 -0800</bug_when>
    <thetext>Comment on attachment 178822
Added 0-byte append test

Clearing flags on attachment: 178822

Committed r137332: &lt;http://trac.webkit.org/changeset/137332&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788571</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 10:24:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178796</attachid>
            <date>2012-12-11 07:09:34 -0800</date>
            <delta_ts>2012-12-11 08:18:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104581-20121211070655.patch</filename>
            <type>text/plain</type>
            <size>13550</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA5Y2Y5NjQ0N2EyZmU3
ZDhiZTNmNGZiOTM4MTZmNGM1YzZhMDNhNi4uMDE1YmY3NWI3NzY1YjJhMzU2NzU3NWVjYTY4ZWNh
ZmMxOTg2YWE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTEyLTExICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSBNZWRp
YVNvdXJjZSB0byBhbGxvdyBhcHBlbmQoKSBjYWxscyBpbiAiZW5kZWQiIHN0YXRlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTgxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBhcHBlbmQg
YW5kIHNldFRpbWVzdGFtcE9mZnNldCB0byBhbGxvdyBhcHBlbmRpbmcgaW4gdGhlICJlbmRlZCIg
cmVhZHlTdGF0ZS4gQW4gYXBwZW5kKCkgY2FsbAorICAgICAgICBpbiB0aGUgImVuZGVkIiBzdGF0
ZSBub3cgdHJpZ2dlcnMgYSB0cmFuc2l0aW9uIHRvIHRoZSAib3BlbiIgc3RhdGUgYW5kIGFsbG93
cyB0aGUgYXBwZW5kIHRvIHN1Y2NlZWQuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFwcGVuZC13aXRoLW9mZnNldC1pbi1lbmRlZC1zdGF0ZS5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3Vy
Y2U6OnNldFRpbWVzdGFtcE9mZnNldCk6CisKIDIwMTItMTItMTEgIEFsZXhhbmRlciBQYXZsb3Yg
IDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMzY5NDgpOiBp
bnNwZWN0b3Ivc3R5bGVzL2ltcG9ydC1wc2V1ZG9jbGFzcy1jcmFzaC5odG1sIGhpdHMgYW4gYXNz
ZXJ0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01l
ZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwCmluZGV4IGE5MTVjMjczZGMzY2U3N2MxYWUxOWMzNmZmYTVjYmZlZWYxNjIwZGUu
LmU4ZWE3ODExNjhkN2ViODFiYWFkYmQ3MTA4YmI3NzNiYmMyMWJkMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0yODEs
MTMgKzI4MSwxMyBAQCB2b2lkIE1lZGlhU291cmNlOjphcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwg
UGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpbwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgaWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQo
KSkgeworICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlID09IGNsb3NlZEtleXdvcmQo
KSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgaWYgKCFkYXRhLT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuOworICAgIGlm
IChtX3JlYWR5U3RhdGUgPT0gZW5kZWRLZXl3b3JkKCkpCisgICAgICAgIHNldFJlYWR5U3RhdGUo
b3BlbktleXdvcmQoKSk7CiAKICAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBcHBlbmQoaWQsIGRh
dGEtPmRhdGEoKSwgZGF0YS0+bGVuZ3RoKCkpKSB7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsK
QEAgLTMwOCw3ICszMDgsNyBAQCB2b2lkIE1lZGlhU291cmNlOjphYm9ydChjb25zdCBTdHJpbmcm
IGlkLCBFeGNlcHRpb25Db2RlJiBlYykKIAogYm9vbCBNZWRpYVNvdXJjZTo6c2V0VGltZXN0YW1w
T2Zmc2V0KGNvbnN0IFN0cmluZyYgaWQsIGRvdWJsZSBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkp
IHsKKyAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkp
IHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5MDhlNTQ1ZjllMDEzZjZiNzA2MjA2MjMzMDc5Y2Q1NTkyNmI0ZTJi
Li5hM2E2NGYyZGEwODEwYWU4NTc1MDJmM2U3ZTFkNzRjYzEwOTMzOTRhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTItMTItMTEgIEFhcm9uIENvbHdlbGwgIDxhY29sd2VsbEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgVXBkYXRlIE1lZGlhU291cmNlIHRvIGFsbG93IGFwcGVuZCgpIGNhbGxz
IGluICJlbmRlZCIgc3RhdGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDQ1ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAtIFJlbW92ZWQgb2xkIHRlc3QgY2FzZSB0aGF0IHZlcmlmaWVkIGFwcGVuZGlu
ZyBpbiAiZW5kZWQiIHN0YXRlIGZhaWxlZC4KKyAgICAgICAgLSBBZGRlZCAyIG5ldyB0ZXN0IGNh
c2VzIHRoYXQgdmVyaWZ5IGFwcGVuZCBiZWhhdmlvciBpbiB0aGUgImVuZGVkIiBzdGF0ZS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJj
ZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUt
YnVmZmVycy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1z
b3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1v
ZmZzZXQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLXdpdGgt
b2Zmc2V0LWluLWVuZGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTExICBBbGV4YW5k
ZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MTM2OTQ4KTogaW5zcGVjdG9yL3N0eWxlcy9pbXBvcnQtcHNldWRvY2xhc3MtY3Jhc2guaHRtbCBo
aXRzIGFuIGFzc2VydGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDU4Yjc1NTZkN2FiN2FlYjRhOTNlMjM3NDVlMzA5Yzc0ZWE3NDU3ZjkuLjc3ZWEzMTM4MDZj
MjY0N2M2MTgyMjEwZTExZWM3NGUxYmI2MTkyNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJl
bW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVy
cy1leHBlY3RlZC50eHQKQEAgLTM4LDggKzM4LDYgQEAgRVZFTlQod2Via2l0c291cmNlb3BlbikK
IFRlc3QgYSBzdWNjZXNzZnVsIGFwcGVuZC4KIFRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZl
ci4KIEdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxNQotVGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuCi1Hb3QgZXhwZWN0ZWQgZXhj
ZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMQogVGVzdCBh
cHBlbmQgYWZ0ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuCiBHb3QgZXhwZWN0ZWQgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMQogRU5EIE9GIFRF
U1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtYnVmZmVycy5odG1sCmluZGV4IDNkNzIyNGM5YWQ3MWI1ZjJmM2Q5NzUzNTBj
NDM5M2E2OTkyMjhlYzUuLmUzYjM5MmFkZGZiNmQ4YWIxYjQwMDRlMzc0ZDRhYzdiMmJmYjdkM2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFk
ZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMuaHRtbApAQCAtMTUzLDEwICsxNTMsNiBAQAogICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLiIpOwog
ICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKG51bGwsIERPTUV4Y2VwdGlv
bi5JTlZBTElEX0FDQ0VTU19FUlIpOwogCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IGFwcGVuZCBhZnRlciBlbmRlZC4iKTsKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5l
bmRPZlN0cmVhbSgpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKGlu
aXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwotCiAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRlciBidWZmZXIgaGFzIGJlZW4gcmVt
b3ZlZC4iKTsKICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIo
c2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIpOwogICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2Vw
dGlvbk9uQXBwZW5kKGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDg1NWY3
NDQyNTU4NmQ3NDE3NGI2NGNjYTIwNDQ5ZWU0ZjliMzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0
cyBjYWxsaW5nIGFwcGVuZCgpIGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMgdHJhbnNpdGlvbmVk
IHRvIHRoZSAiZW5kZWQiIHN0YXRlLgorCitBcHBlbmRpbmcgaW5pdGlhbGl6YXRpb24gc2VnbWVu
dC4KK0VWRU5UKGxvYWRlZG1ldGFkYXRhKQorQXBwZW5kaW5nIGZpcnN0IG1lZGlhIHNlZ21lbnQu
CitDYWxsaW5nIGVuZE9mU3RyZWFtKCkuCitBcHBlbmRpbmcgc2Vjb25kIG1lZGlhIHNlZ21lbnQu
CitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQxODc1MzM4
M2I3OTU1ZDExNmZmNTZlN2M3NDUzYzc5YzYwYWYxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
cHBlbmQtaW4tZW5kZWQtc3RhdGUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291
cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRp
YS9yZXNvdXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJj
ZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworCisgICAgICAg
ICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4oZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9w
ZW4nLCBvblNvdXJjZU9wZW4pOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRT
b3VyY2VCdWZmZXIoKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5n
IGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5hcHBlbmRJbml0U2VnbWVudCgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50T25j
ZSgnbG9hZGVkbWV0YWRhdGEnLCBmdW5jdGlvbigpCisgICAgICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICAgICB0cnkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgZmlyc3QgbWVkaWEgc2VnbWVudC4iKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50
KDApOworCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgZW5k
T2ZTdHJlYW0oKS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9m
U3RyZWFtKCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBl
Y3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CisKKyAgICAgICAgICAgICAgICAg
ICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RCdWZmZXJlZFJhbmdlKG1lZGlhU291cmNlLnNv
dXJjZUJ1ZmZlcnNbMF0sIFtbMCwgMC4zOTldXSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIHNlY29uZCBtZWRpYSBzZWdtZW50LiIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKHNlZ21l
bnRIZWxwZXIubWVkaWFTZWdtZW50c1sxXSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1l
ZGlhU291cmNlVGVzdC5leHBlY3RCdWZmZXJlZFJhbmdlKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZl
cnNbMF0sIFtbMCwgMC43ODBdXSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291
cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkKKyAgICAgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQg
ZXhjZXB0aW9uOiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
QW5kRmFpbCgnZXJyb3InKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2
aWRlbywgZnVuY3Rpb24oc3VjY2VzcykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3Qo
IkZhaWxlZCB0byBsb2FkIHNlZ21lbnQgZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgbWVk
aWFTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Bl
bik7CisgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291
cmNlVGVzdFVSTCh2aWRlbyk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgp
Ij4KKyAgICAgICAgPHZpZGVvPiA8L3ZpZGVvPgorICAgICAgICA8cD5UZXN0cyBjYWxsaW5nIGFw
cGVuZCgpIGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMgdHJhbnNpdGlvbmVkIHRvIHRoZSAiZW5k
ZWQiIHN0YXRlLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBw
ZW5kLXdpdGgtb2Zmc2V0LWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQt
d2l0aC1vZmZzZXQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MTJi
NjgwMGRiNjdhZGQ1ZjM2ZjFhZmY4ODA1MDY1NGMxYTg1ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYXBwZW5kLXdpdGgtb2Zmc2V0LWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitUZXN0cyBzZXR0aW5nIGEgdGltZXN0YW1wT2Zmc2V0IGFuZCBjYWxsaW5nIGFw
cGVuZCgpIGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMgdHJhbnNpdGlvbmVkIHRvIHRoZSAiZW5k
ZWQiIHN0YXRlLgorCitBcHBlbmRpbmcgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KK0VWRU5UKGxv
YWRlZG1ldGFkYXRhKQorQXBwZW5kaW5nIGZpcnN0IG1lZGlhIHNlZ21lbnQuCitDYWxsaW5nIGVu
ZE9mU3RyZWFtKCkuCitTZXR0aW5nIHRpbWVzdGFtcE9mZnNldCB0byAxLgorQXBwZW5kaW5nIHNl
Y29uZCBtZWRpYSBzZWdtZW50LgorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFwcGVu
ZC13aXRoLW9mZnNldC1pbi1lbmRlZC1zdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFwcGVuZC13aXRoLW9mZnNl
dC1pbi1lbmRlZC1zdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNDc0M2U5OWIwYmQwZWY1NTBkODBl
NjFmOWYyOWIyYzlmYjk1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLXdpdGgtb2Zm
c2V0LWluLWVuZGVkLXN0YXRlLmh0bWwKQEAgLTAsMCArMSw3NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJj
ZXMvdmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEv
cmVzb3VyY2VzL21lZGlhLXNvdXJjZS93ZWJtL3NlZ21lbnQtaW5mby5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgdmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFTb3VyY2VU
ZXN0LlNlZ21lbnRIZWxwZXIoV2ViTVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gb25Tb3VyY2VPcGVuKGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGV2ZW50LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVu
Jywgb25Tb3VyY2VPcGVuKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291
cmNlQnVmZmVyKCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgaW5p
dGlhbGl6YXRpb24gc2VnbWVudC4iKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFw
cGVuZEluaXRTZWdtZW50KCk7CisKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCds
b2FkZWRtZXRhZGF0YScsIGZ1bmN0aW9uKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIHRyeQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBmaXJzdCBtZWRpYSBzZWdtZW50LiIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7
CisKKyAgICAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdEJ1ZmZlcmVk
UmFuZ2UobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXSwgW1swLCAwLjM4NV1dKTsKKworICAg
ICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgZW5kT2ZTdHJlYW0oKS4i
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKKwor
ICAgICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUo
bWVkaWFTb3VyY2UsICJlbmRlZCIpOworCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiU2V0dGluZyB0aW1lc3RhbXBPZmZzZXQgdG8gMS4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS50aW1lc3RhbXBPZmZzZXQgPSAxOwor
CisgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIHNlY29uZCBt
ZWRpYSBzZWdtZW50LiIpOworICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNv
dXJjZUJ1ZmZlci5hcHBlbmQoc2VnbWVudEhlbHBlci5tZWRpYVNlZ21lbnRzWzFdKTsKKworICAg
ICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0QnVmZmVyZWRSYW5nZSht
ZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLCBbWzAsIDAuMzg1XSwgWzEuMzg1LCAxLjc4MF1d
KTsKKworICAgICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNl
U3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CisgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgIGNhdGNoIChlKQorICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7CisgICAg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxv
YWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsK
KworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7CisKKyAgICAg
ICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCisg
ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50IGRh
dGEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgICAgICBN
ZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW8pOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CisgICAgICAgIDx2aWRlbz4gPC92aWRl
bz4KKyAgICAgICAgPHA+VGVzdHMgc2V0dGluZyBhIHRpbWVzdGFtcE9mZnNldCBhbmQgY2FsbGlu
ZyBhcHBlbmQoKSBhZnRlciB0aGUgTWVkaWFTb3VyY2UgaGFzIHRyYW5zaXRpb25lZCB0byB0aGUg
ImVuZGVkIiBzdGF0ZS48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178809</attachid>
            <date>2012-12-11 08:18:25 -0800</date>
            <delta_ts>2012-12-11 09:45:38 -0800</delta_ts>
            <desc>Rebase</desc>
            <filename>bug-104581-20121211081547.patch</filename>
            <type>text/plain</type>
            <size>13513</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2E4YzNlZDdkZTUxMmJh
NDE1NTE2OTBlZTIxM2I2ODYzYWQ2NGE1MC4uOGFhN2RlNGZiNTAzZmRhZmJkMDk0ZmE3N2NhNDU3
NzRjMWJmMDU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTEyLTExICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSBNZWRp
YVNvdXJjZSB0byBhbGxvdyBhcHBlbmQoKSBjYWxscyBpbiAiZW5kZWQiIHN0YXRlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTgxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBhcHBlbmQg
YW5kIHNldFRpbWVzdGFtcE9mZnNldCB0byBhbGxvdyBhcHBlbmRpbmcgaW4gdGhlICJlbmRlZCIg
cmVhZHlTdGF0ZS4gQW4gYXBwZW5kKCkgY2FsbAorICAgICAgICBpbiB0aGUgImVuZGVkIiBzdGF0
ZSBub3cgdHJpZ2dlcnMgYSB0cmFuc2l0aW9uIHRvIHRoZSAib3BlbiIgc3RhdGUgYW5kIGFsbG93
cyB0aGUgYXBwZW5kIHRvIHN1Y2NlZWQuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFwcGVuZC13aXRoLW9mZnNldC1pbi1lbmRlZC1zdGF0ZS5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlOjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3Vy
Y2U6OnNldFRpbWVzdGFtcE9mZnNldCk6CisKIDIwMTItMTItMTEgIFNpbW9uIEhhdXNtYW5uICA8
c2ltb24uaGF1c21hbm5AZGlnaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgUXQgYnVpbGQg
Zml4OiBEb24ndCBlcnJvciBvdXQgaWYgU1FMSVRFM1NSQ0RJUiBpc24ndCBzZXQgYnV0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCmlu
ZGV4IGE5MTVjMjczZGMzY2U3N2MxYWUxOWMzNmZmYTVjYmZlZWYxNjIwZGUuLmU4ZWE3ODExNjhk
N2ViODFiYWFkYmQ3MTA4YmI3NzNiYmMyMWJkMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0yODEsMTMgKzI4MSwxMyBA
QCB2b2lkIE1lZGlhU291cmNlOjphcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxV
aW50OEFycmF5PiBkYXRhLCBFeGNlcHRpbwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKCFtX3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgeworICAgIGlm
ICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlID09IGNsb3NlZEtleXdvcmQoKSkgewogICAgICAg
ICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKCFkYXRhLT5sZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuOworICAgIGlmIChtX3JlYWR5U3Rh
dGUgPT0gZW5kZWRLZXl3b3JkKCkpCisgICAgICAgIHNldFJlYWR5U3RhdGUob3BlbktleXdvcmQo
KSk7CiAKICAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBcHBlbmQoaWQsIGRhdGEtPmRhdGEoKSwg
ZGF0YS0+bGVuZ3RoKCkpKSB7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKQEAgLTMwOCw3ICsz
MDgsNyBAQCB2b2lkIE1lZGlhU291cmNlOjphYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRp
b25Db2RlJiBlYykKIAogYm9vbCBNZWRpYVNvdXJjZTo6c2V0VGltZXN0YW1wT2Zmc2V0KGNvbnN0
IFN0cmluZyYgaWQsIGRvdWJsZSBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGlm
ICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICBpZiAo
IW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpIHsKICAgICAgICAg
ZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAwYjIxMmQ0ODFiOWZiZjllMGE0MTc2MmQ4NDk2ZWUzN2FhN2U4YWI2Li4yYTZjMDgzYTg2
OWU3ZGI3ZWU5NmIxNTBkZTBiZGU4YTM2YmNkZDliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTItMTItMTEgIEFhcm9uIENvbHdlbGwgIDxhY29sd2VsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgVXBkYXRlIE1lZGlhU291cmNlIHRvIGFsbG93IGFwcGVuZCgpIGNhbGxzIGluICJlbmRlZCIg
c3RhdGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ1ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IFJlbW92ZWQgb2xkIHRlc3QgY2FzZSB0aGF0IHZlcmlmaWVkIGFwcGVuZGluZyBpbiAiZW5kZWQi
IHN0YXRlIGZhaWxlZC4KKyAgICAgICAgLSBBZGRlZCAyIG5ldyB0ZXN0IGNhc2VzIHRoYXQgdmVy
aWZ5IGFwcGVuZCBiZWhhdmlvciBpbiB0aGUgImVuZGVkIiBzdGF0ZS4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJl
bW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5k
LWluLWVuZGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1vZmZzZXQtaW4tZW5k
ZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLXdpdGgtb2Zmc2V0LWluLWVu
ZGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTExICBNYXJ0aW4gUm9iaW5zb24gIDxt
cm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBJbXBsZW1lbnQgc29tZSBtaXNz
aW5nIEZyYW1lTG9hZGVyQ2xpZW50IG1lc3NhZ2UgaW4gRFJUCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRk
LWFuZC1yZW1vdmUtYnVmZmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVm
ZmVycy1leHBlY3RlZC50eHQKaW5kZXggNThiNzU1NmQ3YWI3YWViNGE5M2UyMzc0NWUzMDljNzRl
YTc0NTdmOS4uNzdlYTMxMzgwNmMyNjQ3YzYxODIyMTBlMTFlYzc0ZTFiYjYxOTI0YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1h
ZGQtYW5kLXJlbW92ZS1idWZmZXJzLWV4cGVjdGVkLnR4dApAQCAtMzgsOCArMzgsNiBAQCBFVkVO
VCh3ZWJraXRzb3VyY2VvcGVuKQogVGVzdCBhIHN1Y2Nlc3NmdWwgYXBwZW5kLgogVGVzdCBhcHBl
bmQgd2l0aCBhIG51bGwgYnVmZmVyLgogR290IGV4cGVjdGVkIGV4Y2VwdGlvbiBFcnJvcjogSW52
YWxpZEFjY2Vzc0Vycm9yOiBET00gRXhjZXB0aW9uIDE1Ci1UZXN0IGFwcGVuZCBhZnRlciBlbmRl
ZC4KLUdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00g
RXhjZXB0aW9uIDExCiBUZXN0IGFwcGVuZCBhZnRlciBidWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4K
IEdvdCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhj
ZXB0aW9uIDExCiBFTkQgT0YgVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1
ZmZlcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwKaW5kZXggM2Q3MjI0
YzlhZDcxYjVmMmYzZDk3NTM1MGM0MzkzYTY5OTIyOGVjNS4uZTNiMzkyYWRkZmI2ZDhhYjFiNDAw
NGUzNzRkNGFjN2IyYmZiN2QzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZl
cnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92
aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy5odG1sCkBAIC0xNTMsMTAg
KzE1Myw2IEBACiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCB3aXRo
IGEgbnVsbCBidWZmZXIuIik7CiAgICAgICAgICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBl
bmQobnVsbCwgRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUik7CiAKLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIGFmdGVyIGVuZGVkLiIpOwotICAgICAgICAg
ICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFtKCk7Ci0gICAgICAgICAgICAgICAgZXhwZWN0
RXhjZXB0aW9uT25BcHBlbmQoaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRF
X0VSUik7Ci0KICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3QgYXBwZW5kIGFmdGVy
IGJ1ZmZlciBoYXMgYmVlbiByZW1vdmVkLiIpOwogICAgICAgICAgICAgICAgIG1lZGlhU291cmNl
LnJlbW92ZVNvdXJjZUJ1ZmZlcihzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlcik7CiAgICAgICAg
ICAgICAgICAgZXhwZWN0RXhjZXB0aW9uT25BcHBlbmQoaW5pdFNlZ21lbnQsIERPTUV4Y2VwdGlv
bi5JTlZBTElEX1NUQVRFX0VSUik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0
YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNkODU1Zjc0NDI1NTg2ZDc0MTc0YjY0Y2NhMjA0NDllZTRmOWIzNTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDkgQEAKK1Rlc3RzIGNhbGxpbmcgYXBwZW5kKCkgYWZ0ZXIgdGhlIE1lZGlhU291
cmNlIGhhcyB0cmFuc2l0aW9uZWQgdG8gdGhlICJlbmRlZCIgc3RhdGUuCisKK0FwcGVuZGluZyBp
bml0aWFsaXphdGlvbiBzZWdtZW50LgorRVZFTlQobG9hZGVkbWV0YWRhdGEpCitBcHBlbmRpbmcg
Zmlyc3QgbWVkaWEgc2VnbWVudC4KK0NhbGxpbmcgZW5kT2ZTdHJlYW0oKS4KK0FwcGVuZGluZyBz
ZWNvbmQgbWVkaWEgc2VnbWVudC4KK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBl
bmQtaW4tZW5kZWQtc3RhdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZDE4NzUzMzgzYjc5NTVkMTE2ZmY1NmU3Yzc0NTNjNzljNjBhZjE5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
dmlkZW8tbWVkaWEtc291cmNlLWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS5odG1sCkBAIC0wLDAgKzEs
NzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIvbWVkaWEtcmVzb3VyY2VzL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iL21lZGlhL3Jlc291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS9zZWdtZW50
LWluZm8uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtc291cmNlLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBzZWdtZW50SGVs
cGVyID0gbmV3IE1lZGlhU291cmNlVGVzdC5TZWdtZW50SGVscGVyKFdlYk1TZWdtZW50SW5mby50
ZXN0V2ViTSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbihldmVudCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBldmVudC50YXJnZXQucmVtb3ZlRXZlbnRMaXN0
ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7CisKKyAgICAgICAgICAgICAg
ICBzZWdtZW50SGVscGVyLmFkZFNvdXJjZUJ1ZmZlcigpOworCisgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCJBcHBlbmRpbmcgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4iKTsKKyAgICAgICAg
ICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZEluaXRTZWdtZW50KCk7CisKKyAgICAgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdsb2FkZWRtZXRhZGF0YScsIGZ1bmN0aW9uKCkKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHRyeQorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFwcGVuZGluZyBmaXJz
dCBtZWRpYSBzZWdtZW50LiIpOworICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiQ2FsbGluZyBlbmRPZlN0cmVhbSgpLiIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKKworICAgICAgICAgICAgICAgICAgICAgICAg
TWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNlLCAiZW5kZWQiKTsK
KworICAgICAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdEJ1ZmZlcmVk
UmFuZ2UobWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXSwgW1swLCAwLjM5OV1dKTsKKworICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgc2Vjb25kIG1lZGlh
IHNlZ21lbnQuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJj
ZUJ1ZmZlci5hcHBlbmQoc2VnbWVudEhlbHBlci5tZWRpYVNlZ21lbnRzWzFdKTsKKworICAgICAg
ICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdEJ1ZmZlcmVkUmFuZ2UobWVk
aWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXSwgW1swLCAwLjc4MF1dKTsKKworICAgICAgICAgICAg
ICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdFNvdXJjZVN0YXRlKG1lZGlhU291cmNl
LCAib3BlbiIpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNh
dGNoIChlKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBm
YWlsVGVzdCgiVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKKyAgICAgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAg
ICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCdlcnJvcicpOworCisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5pbml0KHZpZGVvLCBmdW5jdGlvbihzdWNjZXNzKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWlsVGVzdCgiRmFpbGVkIHRvIGxvYWQgc2VnbWVudCBkYXRhIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VvcGVuJywgb25Tb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VU
ZXN0LnNldFNyY1RvTWVkaWFTb3VyY2VUZXN0VVJMKHZpZGVvKTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5IG9ubG9hZD0ib25Mb2FkKCkiPgorICAgICAgICA8dmlkZW8+IDwvdmlkZW8+CisgICAgICAg
IDxwPlRlc3RzIGNhbGxpbmcgYXBwZW5kKCkgYWZ0ZXIgdGhlIE1lZGlhU291cmNlIGhhcyB0cmFu
c2l0aW9uZWQgdG8gdGhlICJlbmRlZCIgc3RhdGUuPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1vZmZzZXQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFwcGVuZC13aXRoLW9mZnNldC1pbi1lbmRlZC1zdGF0ZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDUxMmI2ODAwZGI2N2FkZDVmMzZmMWFmZjg4MDUwNjU0YzFhODVmYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1vZmZzZXQtaW4tZW5kZWQtc3RhdGUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHNldHRpbmcgYSB0aW1lc3RhbXBP
ZmZzZXQgYW5kIGNhbGxpbmcgYXBwZW5kKCkgYWZ0ZXIgdGhlIE1lZGlhU291cmNlIGhhcyB0cmFu
c2l0aW9uZWQgdG8gdGhlICJlbmRlZCIgc3RhdGUuCisKK0FwcGVuZGluZyBpbml0aWFsaXphdGlv
biBzZWdtZW50LgorRVZFTlQobG9hZGVkbWV0YWRhdGEpCitBcHBlbmRpbmcgZmlyc3QgbWVkaWEg
c2VnbWVudC4KK0NhbGxpbmcgZW5kT2ZTdHJlYW0oKS4KK1NldHRpbmcgdGltZXN0YW1wT2Zmc2V0
IHRvIDEuCitBcHBlbmRpbmcgc2Vjb25kIG1lZGlhIHNlZ21lbnQuCitFTkQgT0YgVEVTVAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRl
by1tZWRpYS1zb3VyY2UtYXBwZW5kLXdpdGgtb2Zmc2V0LWluLWVuZGVkLXN0YXRlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYXBwZW5kLXdpdGgtb2Zmc2V0LWluLWVuZGVkLXN0YXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ0
NzQzZTk5YjBiZDBlZjU1MGQ4MGU2MWY5ZjI5YjJjOWZiOTUyYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNv
dXJjZS1hcHBlbmQtd2l0aC1vZmZzZXQtaW4tZW5kZWQtc3RhdGUuaHRtbApAQCAtMCwwICsxLDc0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0
IHNyYz0iL21lZGlhLXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNvdXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1p
bmZvLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBl
ciA9IG5ldyBNZWRpYVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVz
dFdlYk0pOworCisgICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4oZXZlbnQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOworCisgICAgICAgICAgICAgICAg
c2VnbWVudEhlbHBlci5hZGRTb3VyY2VCdWZmZXIoKTsKKyAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIkFwcGVuZGluZyBpbml0aWFsaXphdGlvbiBzZWdtZW50LiIpOworICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kSW5pdFNlZ21lbnQoKTsKKworICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudE9uY2UoJ2xvYWRlZG1ldGFkYXRhJywgZnVuY3Rpb24oKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdHJ5CisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIGZpcnN0IG1l
ZGlhIHNlZ21lbnQuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFw
cGVuZE1lZGlhU2VnbWVudCgwKTsKKworICAgICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJj
ZVRlc3QuZXhwZWN0QnVmZmVyZWRSYW5nZShtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLCBb
WzAsIDAuMzg1XV0pOworCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQ2Fs
bGluZyBlbmRPZlN0cmVhbSgpLiIpOworICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJj
ZS5lbmRPZlN0cmVhbSgpOworCisgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVz
dC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CisKKyAgICAgICAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJTZXR0aW5nIHRpbWVzdGFtcE9mZnNldCB0byAxLiIp
OworICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzWzBdLnRp
bWVzdGFtcE9mZnNldCA9IDE7CisKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJBcHBlbmRpbmcgc2Vjb25kIG1lZGlhIHNlZ21lbnQuIik7CisgICAgICAgICAgICAgICAgICAg
ICAgIHNlZ21lbnRIZWxwZXIuc291cmNlQnVmZmVyLmFwcGVuZChzZWdtZW50SGVscGVyLm1lZGlh
U2VnbWVudHNbMV0pOworCisgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5l
eHBlY3RCdWZmZXJlZFJhbmdlKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0sIFtbMCwgMC4z
ODVdLCBbMS4zODUsIDEuNzgwXV0pOworCisgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291
cmNlVGVzdC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKKyAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGUpCisgICAgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBleGNl
cHRpb246ICIgKyBlKTsKKyAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAg
ICBlbmRUZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFp
bCgnZXJyb3InKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywg
ZnVuY3Rpb24oc3VjY2VzcykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxl
ZCB0byBsb2FkIHNlZ21lbnQgZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7Cisg
ICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVz
dFVSTCh2aWRlbyk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KKyAg
ICAgICAgPHZpZGVvPiA8L3ZpZGVvPgorICAgICAgICA8cD5UZXN0cyBzZXR0aW5nIGEgdGltZXN0
YW1wT2Zmc2V0IGFuZCBjYWxsaW5nIGFwcGVuZCgpIGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMg
dHJhbnNpdGlvbmVkIHRvIHRoZSAiZW5kZWQiIHN0YXRlLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178822</attachid>
            <date>2012-12-11 09:45:40 -0800</date>
            <delta_ts>2012-12-11 10:24:46 -0800</delta_ts>
            <desc>Added 0-byte append test</desc>
            <filename>bug-104581-20121211094301.patch</filename>
            <type>text/plain</type>
            <size>17562</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2E4YzNlZDdkZTUxMmJh
NDE1NTE2OTBlZTIxM2I2ODYzYWQ2NGE1MC4uNjZmMWIxODM3YzRjMmQ1YmVhZWRkMTc4MmU2MWU1
YmQwYzMzZjE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTExICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSBNZWRp
YVNvdXJjZSB0byBhbGxvdyBhcHBlbmQoKSBjYWxscyBpbiAiZW5kZWQiIHN0YXRlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTgxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFVwZGF0ZWQgYXBwZW5kIGFu
ZCBzZXRUaW1lc3RhbXBPZmZzZXQgdG8gYWxsb3cgYXBwZW5kaW5nIGluIHRoZSAiZW5kZWQiIHJl
YWR5U3RhdGUuIEFuIGFwcGVuZCgpIGNhbGwKKyAgICAgICAgaW4gdGhlICJlbmRlZCIgc3RhdGUg
bm93IHRyaWdnZXJzIGEgdHJhbnNpdGlvbiB0byB0aGUgIm9wZW4iIHN0YXRlIGFuZCBhbGxvd3Mg
dGhlIGFwcGVuZCB0byBzdWNjZWVkLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1vZmZzZXQtaW4tZW5kZWQtc3RhdGUuaHRtbAorICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNl
LXplcm8tYnl0ZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUuaHRtbAorCisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzZXRUaW1lc3Rh
bXBPZmZzZXQpOgorCiAyMDEyLTEyLTExICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5u
QGRpZ2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIFF0IGJ1aWxkIGZpeDogRG9uJ3QgZXJy
b3Igb3V0IGlmIFNRTElURTNTUkNESVIgaXNuJ3Qgc2V0IGJ1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcAppbmRleCBhOTE1YzI3M2Rj
M2NlNzdjMWFlMTljMzZmZmE1Y2JmZWVmMTYyMGRlLi5lOGVhNzgxMTY4ZDdlYjgxYmFhZGJkNzEw
OGJiNzczYmJjMjFiZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL01lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL01lZGlhU291cmNlLmNwcApAQCAtMjgxLDEzICsyODEsMTMgQEAgdm9pZCBNZWRpYVNv
dXJjZTo6YXBwZW5kKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0
YSwgRXhjZXB0aW8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICghbV9wbGF5ZXIg
fHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3JkKCkpIHsKKyAgICBpZiAoIW1fcGxheWVyIHx8
IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElE
X1NUQVRFX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICghZGF0YS0+bGVu
Z3RoKCkpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAobV9yZWFkeVN0YXRlID09IGVuZGVkS2V5
d29yZCgpKQorICAgICAgICBzZXRSZWFkeVN0YXRlKG9wZW5LZXl3b3JkKCkpOwogCiAgICAgaWYg
KCFtX3BsYXllci0+c291cmNlQXBwZW5kKGlkLCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0aCgp
KSkgewogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CkBAIC0zMDgsNyArMzA4LDcgQEAgdm9pZCBN
ZWRpYVNvdXJjZTo6YWJvcnQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAK
IGJvb2wgTWVkaWFTb3VyY2U6OnNldFRpbWVzdGFtcE9mZnNldChjb25zdCBTdHJpbmcmIGlkLCBk
b3VibGUgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBpZiAoIW1fcGxheWVyIHx8
IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgpKSB7CisgICAgaWYgKCFtX3BsYXllciB8fCBt
X3JlYWR5U3RhdGUgPT0gY2xvc2VkS2V5d29yZCgpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGIyMTJkNDgx
YjlmYmY5ZTBhNDE3NjJkODQ5NmVlMzdhYTdlOGFiNi4uYWE0ZDQxYmJlM2MwOWYxOTM5NTYxMmFh
OTgyNzNiNmYzNWQ1ZjMyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTExICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSBNZWRp
YVNvdXJjZSB0byBhbGxvdyBhcHBlbmQoKSBjYWxscyBpbiAiZW5kZWQiIHN0YXRlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTgxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIC0gUmVtb3ZlZCBvbGQgdGVz
dCBjYXNlIHRoYXQgdmVyaWZpZWQgYXBwZW5kaW5nIGluICJlbmRlZCIgc3RhdGUgZmFpbGVkLgor
ICAgICAgICAtIEFkZGVkIDMgbmV3IHRlc3QgY2FzZXMgdGhhdCB2ZXJpZnkgYXBwZW5kIGJlaGF2
aW9yIGluIHRoZSAiZW5kZWQiIHN0YXRlLgorCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFwcGVuZC1pbi1l
bmRlZC1zdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvdmlk
ZW8tbWVkaWEtc291cmNlLWFwcGVuZC13aXRoLW9mZnNldC1pbi1lbmRlZC1zdGF0ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1vZmZzZXQtaW4tZW5kZWQtc3RhdGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVk
aWEtc291cmNlLXplcm8tYnl0ZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtemVyby1ieXRlLWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS5odG1sOiBBZGRlZC4KKwog
MjAxMi0xMi0xMSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gSW1wbGVtZW50IHNvbWUgbWlzc2luZyBGcmFtZUxvYWRlckNsaWVudCBtZXNz
YWdlIGluIERSVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDU4
Yjc1NTZkN2FiN2FlYjRhOTNlMjM3NDVlMzA5Yzc0ZWE3NDU3ZjkuLjc3ZWEzMTM4MDZjMjY0N2M2
MTgyMjEwZTExZWM3NGUxYmI2MTkyNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1i
dWZmZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1yZW1vdmUtYnVmZmVycy1leHBl
Y3RlZC50eHQKQEAgLTM4LDggKzM4LDYgQEAgRVZFTlQod2Via2l0c291cmNlb3BlbikKIFRlc3Qg
YSBzdWNjZXNzZnVsIGFwcGVuZC4KIFRlc3QgYXBwZW5kIHdpdGggYSBudWxsIGJ1ZmZlci4KIEdv
dCBleHBlY3RlZCBleGNlcHRpb24gRXJyb3I6IEludmFsaWRBY2Nlc3NFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxNQotVGVzdCBhcHBlbmQgYWZ0ZXIgZW5kZWQuCi1Hb3QgZXhwZWN0ZWQgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMQogVGVzdCBhcHBlbmQg
YWZ0ZXIgYnVmZmVyIGhhcyBiZWVuIHJlbW92ZWQuCiBHb3QgZXhwZWN0ZWQgZXhjZXB0aW9uIEVy
cm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMQogRU5EIE9GIFRFU1QKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVv
LW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYWRkLWFuZC1y
ZW1vdmUtYnVmZmVycy5odG1sCmluZGV4IDNkNzIyNGM5YWQ3MWI1ZjJmM2Q5NzUzNTBjNDM5M2E2
OTkyMjhlYzUuLmUzYjM5MmFkZGZiNmQ4YWIxYjQwMDRlMzc0ZDRhYzdiMmJmYjdkM2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1idWZmZXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQt
cmVtb3ZlLWJ1ZmZlcnMuaHRtbApAQCAtMTUzLDEwICsxNTMsNiBAQAogICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiVGVzdCBhcHBlbmQgd2l0aCBhIG51bGwgYnVmZmVyLiIpOwogICAgICAg
ICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKG51bGwsIERPTUV4Y2VwdGlvbi5JTlZB
TElEX0FDQ0VTU19FUlIpOwogCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IGFw
cGVuZCBhZnRlciBlbmRlZC4iKTsKLSAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5lbmRPZlN0
cmVhbSgpOwotICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9uQXBwZW5kKGluaXRTZWdt
ZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwotCiAgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCJUZXN0IGFwcGVuZCBhZnRlciBidWZmZXIgaGFzIGJlZW4gcmVtb3ZlZC4i
KTsKICAgICAgICAgICAgICAgICBtZWRpYVNvdXJjZS5yZW1vdmVTb3VyY2VCdWZmZXIoc2VnbWVu
dEhlbHBlci5zb3VyY2VCdWZmZXIpOwogICAgICAgICAgICAgICAgIGV4cGVjdEV4Y2VwdGlvbk9u
QXBwZW5kKGluaXRTZWdtZW50LCBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8t
bWVkaWEtc291cmNlLWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBw
ZW5kLWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDg1NWY3NDQyNTU4
NmQ3NDE3NGI2NGNjYTIwNDQ5ZWU0ZjliMzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFwcGVu
ZC1pbi1lbmRlZC1zdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyBjYWxs
aW5nIGFwcGVuZCgpIGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMgdHJhbnNpdGlvbmVkIHRvIHRo
ZSAiZW5kZWQiIHN0YXRlLgorCitBcHBlbmRpbmcgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KK0VW
RU5UKGxvYWRlZG1ldGFkYXRhKQorQXBwZW5kaW5nIGZpcnN0IG1lZGlhIHNlZ21lbnQuCitDYWxs
aW5nIGVuZE9mU3RyZWFtKCkuCitBcHBlbmRpbmcgc2Vjb25kIG1lZGlhIHNlZ21lbnQuCitFTkQg
T0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3Vy
Y2UtYXBwZW5kLWluLWVuZGVkLXN0YXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQxODc1MzM4M2I3OTU1
ZDExNmZmNTZlN2M3NDUzYzc5YzYwYWYxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQt
aW4tZW5kZWQtc3RhdGUuaHRtbApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlhLXJlc291cmNlcy92
aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS9yZXNv
dXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRpYVNvdXJjZVRlc3Qu
U2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworCisgICAgICAgICAgICBm
dW5jdGlvbiBvblNvdXJjZU9wZW4oZXZlbnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blNvdXJjZU9wZW4pOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hZGRTb3VyY2VC
dWZmZXIoKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIGluaXRp
YWxpemF0aW9uIHNlZ21lbnQuIik7CisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBl
bmRJbml0U2VnbWVudCgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnbG9h
ZGVkbWV0YWRhdGEnLCBmdW5jdGlvbigpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICB0cnkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgZmlyc3QgbWVkaWEgc2VnbWVudC4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFTZWdtZW50KDApOwor
CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgZW5kT2ZTdHJl
YW0oKS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmVuZE9mU3RyZWFt
KCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RTb3Vy
Y2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAg
IE1lZGlhU291cmNlVGVzdC5leHBlY3RCdWZmZXJlZFJhbmdlKG1lZGlhU291cmNlLnNvdXJjZUJ1
ZmZlcnNbMF0sIFtbMCwgMC4zOTldXSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiQXBwZW5kaW5nIHNlY29uZCBtZWRpYSBzZWdtZW50LiIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgc2VnbWVudEhlbHBlci5zb3VyY2VCdWZmZXIuYXBwZW5kKHNlZ21lbnRIZWxw
ZXIubWVkaWFTZWdtZW50c1sxXSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291
cmNlVGVzdC5leHBlY3RCdWZmZXJlZFJhbmdlKG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnNbMF0s
IFtbMCwgMC43ODBdXSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVz
dC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgIm9wZW4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkKKyAgICAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0
aW9uOiAiICsgZSk7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg
ICBlbmRUZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFp
bCgnZXJyb3InKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuaW5pdCh2aWRlbywg
ZnVuY3Rpb24oc3VjY2VzcykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghc3VjY2VzcykgeworICAgICAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoIkZhaWxl
ZCB0byBsb2FkIHNlZ21lbnQgZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3Vy
Y2UuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU291cmNlT3Blbik7Cisg
ICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5zZXRTcmNUb01lZGlhU291cmNlVGVz
dFVSTCh2aWRlbyk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9Im9uTG9hZCgpIj4KKyAg
ICAgICAgPHZpZGVvPiA8L3ZpZGVvPgorICAgICAgICA8cD5UZXN0cyBjYWxsaW5nIGFwcGVuZCgp
IGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMgdHJhbnNpdGlvbmVkIHRvIHRoZSAiZW5kZWQiIHN0
YXRlLjwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLXdp
dGgtb2Zmc2V0LWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3ZpZGVvLW1lZGlhLXNvdXJjZS1hcHBlbmQtd2l0aC1v
ZmZzZXQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MTJiNjgwMGRi
NjdhZGQ1ZjM2ZjFhZmY4ODA1MDY1NGMxYTg1ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBw
ZW5kLXdpdGgtb2Zmc2V0LWluLWVuZGVkLXN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitUZXN0cyBzZXR0aW5nIGEgdGltZXN0YW1wT2Zmc2V0IGFuZCBjYWxsaW5nIGFwcGVuZCgp
IGFmdGVyIHRoZSBNZWRpYVNvdXJjZSBoYXMgdHJhbnNpdGlvbmVkIHRvIHRoZSAiZW5kZWQiIHN0
YXRlLgorCitBcHBlbmRpbmcgaW5pdGlhbGl6YXRpb24gc2VnbWVudC4KK0VWRU5UKGxvYWRlZG1l
dGFkYXRhKQorQXBwZW5kaW5nIGZpcnN0IG1lZGlhIHNlZ21lbnQuCitDYWxsaW5nIGVuZE9mU3Ry
ZWFtKCkuCitTZXR0aW5nIHRpbWVzdGFtcE9mZnNldCB0byAxLgorQXBwZW5kaW5nIHNlY29uZCBt
ZWRpYSBzZWdtZW50LgorRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFwcGVuZC13aXRo
LW9mZnNldC1pbi1lbmRlZC1zdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLWFwcGVuZC13aXRoLW9mZnNldC1pbi1l
bmRlZC1zdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNDc0M2U5OWIwYmQwZWY1NTBkODBlNjFmOWYy
OWIyYzlmYjk1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtYXBwZW5kLXdpdGgtb2Zmc2V0LWlu
LWVuZGVkLXN0YXRlLmh0bWwKQEAgLTAsMCArMSw3NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9tZWRpYS1yZXNvdXJjZXMvdmlk
ZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvbWVkaWEvcmVzb3Vy
Y2VzL21lZGlhLXNvdXJjZS93ZWJtL3NlZ21lbnQtaW5mby5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSJtZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
PgorICAgICAgICAgICAgdmFyIHNlZ21lbnRIZWxwZXIgPSBuZXcgTWVkaWFTb3VyY2VUZXN0LlNl
Z21lbnRIZWxwZXIoV2ViTVNlZ21lbnRJbmZvLnRlc3RXZWJNKTsKKworICAgICAgICAgICAgZnVu
Y3Rpb24gb25Tb3VyY2VPcGVuKGV2ZW50KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IGV2ZW50LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25T
b3VyY2VPcGVuKTsKKworICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYWRkU291cmNlQnVm
ZmVyKCk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgaW5pdGlhbGl6
YXRpb24gc2VnbWVudC4iKTsKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmFwcGVuZElu
aXRTZWdtZW50KCk7CisKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdsb2FkZWRt
ZXRhZGF0YScsIGZ1bmN0aW9uKCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgIHRyeQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkFwcGVuZGluZyBmaXJzdCBtZWRpYSBzZWdtZW50LiIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgc2VnbWVudEhlbHBlci5hcHBlbmRNZWRpYVNlZ21lbnQoMCk7CisKKyAg
ICAgICAgICAgICAgICAgICAgICAgTWVkaWFTb3VyY2VUZXN0LmV4cGVjdEJ1ZmZlcmVkUmFuZ2Uo
bWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXSwgW1swLCAwLjM4NV1dKTsKKworICAgICAgICAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxpbmcgZW5kT2ZTdHJlYW0oKS4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgbWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTsKKworICAgICAg
ICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFT
b3VyY2UsICJlbmRlZCIpOworCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
U2V0dGluZyB0aW1lc3RhbXBPZmZzZXQgdG8gMS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
bWVkaWFTb3VyY2Uuc291cmNlQnVmZmVyc1swXS50aW1lc3RhbXBPZmZzZXQgPSAxOworCisgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIHNlY29uZCBtZWRpYSBz
ZWdtZW50LiIpOworICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1
ZmZlci5hcHBlbmQoc2VnbWVudEhlbHBlci5tZWRpYVNlZ21lbnRzWzFdKTsKKworICAgICAgICAg
ICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0QnVmZmVyZWRSYW5nZShtZWRpYVNv
dXJjZS5zb3VyY2VCdWZmZXJzWzBdLCBbWzAsIDAuMzg1XSwgWzEuMzg1LCAxLjc4MF1dKTsKKwor
ICAgICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUo
bWVkaWFTb3VyY2UsICJvcGVuIik7CisgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgIGNhdGNoIChlKQorICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAg
ICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ2Vycm9yJyk7CisKKyAgICAgICAgICAg
ICAgICBzZWdtZW50SGVscGVyLmluaXQodmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50IGRhdGEiKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNvdXJjZVRlc3RVUkwodmlkZW8pOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHkgb25sb2FkPSJvbkxvYWQoKSI+CisgICAgICAgIDx2aWRlbz4gPC92aWRlbz4KKyAg
ICAgICAgPHA+VGVzdHMgc2V0dGluZyBhIHRpbWVzdGFtcE9mZnNldCBhbmQgY2FsbGluZyBhcHBl
bmQoKSBhZnRlciB0aGUgTWVkaWFTb3VyY2UgaGFzIHRyYW5zaXRpb25lZCB0byB0aGUgImVuZGVk
IiBzdGF0ZS48L3A+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXplcm8t
Ynl0ZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXplcm8tYnl0ZS1h
cHBlbmQtaW4tZW5kZWQtc3RhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5OTc1OWJkNGM5
NzBhMjg5NjllZjlhZmNhNWE1MzlkNmU2ZjkxNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRpYS1zb3VyY2UtemVy
by1ieXRlLWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBA
CitUZXN0cyBjYWxsaW5nIGFwcGVuZCgpIHdpdGggYW4gZW1wdHkgVWludDhBcnJheSBhZnRlciB0
aGUgTWVkaWFTb3VyY2UgaGFzIHRyYW5zaXRpb25lZCB0byB0aGUgImVuZGVkIiBzdGF0ZS4KKwor
QXBwZW5kaW5nIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuCitFVkVOVChsb2FkZWRtZXRhZGF0YSkK
K0FwcGVuZGluZyBmaXJzdCBtZWRpYSBzZWdtZW50LgorQ2FsbGluZyBlbmRPZlN0cmVhbSgpLgor
QXBwZW5kaW5nIHplcm8gbGVuZ3RoIFVpbnQ4QXJyYXkuCitFTkQgT0YgVEVTVAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS92aWRlby1tZWRp
YS1zb3VyY2UtemVyby1ieXRlLWFwcGVuZC1pbi1lbmRlZC1zdGF0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXplcm8t
Ynl0ZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Y2YyZWZkMjJjMzRm
ZjEyOTYwYTY4YWQ2ZmEwOGU4YWJmMmRkNmM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvdmlkZW8tbWVkaWEtc291cmNlLXplcm8t
Ynl0ZS1hcHBlbmQtaW4tZW5kZWQtc3RhdGUuaHRtbApAQCAtMCwwICsxLDcwIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iL21lZGlh
LXJlc291cmNlcy92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii9tZWRpYS9yZXNvdXJjZXMvbWVkaWEtc291cmNlL3dlYm0vc2VnbWVudC1pbmZvLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgc2VnbWVudEhlbHBlciA9IG5ldyBNZWRp
YVNvdXJjZVRlc3QuU2VnbWVudEhlbHBlcihXZWJNU2VnbWVudEluZm8udGVzdFdlYk0pOworCisg
ICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZU9wZW4oZXZlbnQpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZW9wZW4nLCBvblNvdXJjZU9wZW4pOworCisgICAgICAgICAgICAgICAgc2VnbWVudEhlbHBl
ci5hZGRTb3VyY2VCdWZmZXIoKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiQXBw
ZW5kaW5nIGluaXRpYWxpemF0aW9uIHNlZ21lbnQuIik7CisgICAgICAgICAgICAgICAgc2VnbWVu
dEhlbHBlci5hcHBlbmRJbml0U2VnbWVudCgpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50T25jZSgnbG9hZGVkbWV0YWRhdGEnLCBmdW5jdGlvbigpCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICB0cnkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJBcHBlbmRpbmcgZmlyc3QgbWVkaWEgc2VnbWVu
dC4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRIZWxwZXIuYXBwZW5kTWVkaWFT
ZWdtZW50KDApOworCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkNhbGxp
bmcgZW5kT2ZTdHJlYW0oKS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhU291cmNl
LmVuZE9mU3RyZWFtKCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIE1lZGlhU291cmNlVGVz
dC5leHBlY3RTb3VyY2VTdGF0ZShtZWRpYVNvdXJjZSwgImVuZGVkIik7CisKKyAgICAgICAgICAg
ICAgICAgICAgICAgIE1lZGlhU291cmNlVGVzdC5leHBlY3RCdWZmZXJlZFJhbmdlKG1lZGlhU291
cmNlLnNvdXJjZUJ1ZmZlcnNbMF0sIFtbMCwgMC4zOTldXSk7CisKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiQXBwZW5kaW5nIHplcm8gbGVuZ3RoIFVpbnQ4QXJyYXkuIik7
CisgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLnNvdXJjZUJ1ZmZlci5hcHBl
bmQobmV3IFVpbnQ4QXJyYXkoMCkpOworCisgICAgICAgICAgICAgICAgICAgICAgICBNZWRpYVNv
dXJjZVRlc3QuZXhwZWN0U291cmNlU3RhdGUobWVkaWFTb3VyY2UsICJvcGVuIik7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGUpCisgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVk
IGV4Y2VwdGlvbjogIiArIGUpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVu
dEFuZEZhaWwoJ2Vycm9yJyk7CisKKyAgICAgICAgICAgICAgICBzZWdtZW50SGVscGVyLmluaXQo
dmlkZW8sIGZ1bmN0aW9uKHN1Y2Nlc3MpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0
KCJGYWlsZWQgdG8gbG9hZCBzZWdtZW50IGRhdGEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIG1l
ZGlhU291cmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblNvdXJjZU9w
ZW4pOworICAgICAgICAgICAgICAgICAgICBNZWRpYVNvdXJjZVRlc3Quc2V0U3JjVG9NZWRpYVNv
dXJjZVRlc3RVUkwodmlkZW8pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJvbkxvYWQo
KSI+CisgICAgICAgIDx2aWRlbz4gPC92aWRlbz4KKyAgICAgICAgPHA+VGVzdHMgY2FsbGluZyBh
cHBlbmQoKSB3aXRoIGFuIGVtcHR5IFVpbnQ4QXJyYXkgYWZ0ZXIgdGhlIE1lZGlhU291cmNlIGhh
cyB0cmFuc2l0aW9uZWQgdG8gdGhlICJlbmRlZCIgc3RhdGUuPC9wPgorICAgIDwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>