<?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>135328</bug_id>
          
          <creation_ts>2014-07-27 15:49:15 -0700</creation_ts>
          <short_desc>[WK2] Crash when accessing window.localStorage after calling window.close()</short_desc>
          <delta_ts>2014-07-27 16:35:32 -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>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1025060</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 15:49:15 -0700</bug_when>
    <thetext>Accessing window.localStorage after calling window.close() causes a crash.

When window.close() is called we set the group of the associated page to a special sentinel &quot;single page group&quot; (via Page::setGroupName(String())). In WebKit2, there isn&apos;t a corresponding WebPageGroupProxy object known by the WebProcess. So, we cannot find the correct page group id to create a new local storage for a page that accessed local storage after calling window.close() (since the page group for the page is the special &quot;single page group&quot; page group).

Notice that in WebKit1 we support accessing local storage after calling window.close() as a side effect of our design decision to associate a local storage namespace with its file system path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025061</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 15:49:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/17315237&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025062</commentid>
    <comment_count>2</comment_count>
      <attachid>235583</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 15:59:25 -0700</bug_when>
    <thetext>Created attachment 235583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025064</commentid>
    <comment_count>3</comment_count>
      <attachid>235583</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-07-27 16:04:21 -0700</bug_when>
    <thetext>Comment on attachment 235583
Patch

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

&gt; Source/WebCore/page/Page.h:329
&gt; +    bool willCloseWindowSoon() const { return m_willCloseWindowSoon &amp;&amp; isInWindow(); }

Does this work for background tabs? I&apos;m not clear on what the isInWindow() case is trying to achieve.

&gt; Source/WebCore/page/Page.h:597
&gt; +    bool m_willCloseWindowSoon;

I think a better name would be something along the lines of m_isClosing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025066</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 16:10:01 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 235583 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=235583&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.h:329
&gt; &gt; +    bool willCloseWindowSoon() const { return m_willCloseWindowSoon &amp;&amp; isInWindow(); }
&gt; 
&gt; Does this work for background tabs? I&apos;m not clear on what the isInWindow() case is trying to achieve.

As per our in-person conversation, it&apos;s sufficient to remove the isInWindow() conjunct. I will also remove the ASSERT(isInWindow()) from the corresponding getter function.

&gt; 
&gt; &gt; Source/WebCore/page/Page.h:597
&gt; &gt; +    bool m_willCloseWindowSoon;
&gt; 
&gt; I think a better name would be something along the lines of m_isClosing.

Will rename.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025067</commentid>
    <comment_count>5</comment_count>
      <attachid>235585</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 16:13:51 -0700</bug_when>
    <thetext>Created attachment 235585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025074</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 16:33:46 -0700</bug_when>
    <thetext>Committed r171661: &lt;http://trac.webkit.org/changeset/171661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025075</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-07-27 16:35:32 -0700</bug_when>
    <thetext>Filed bug #135330 to consider allowing access/modification to window.localStorage after calling window.close().</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235583</attachid>
            <date>2014-07-27 15:59:25 -0700</date>
            <delta_ts>2014-07-27 16:13:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135328-20140727155911.patch</filename>
            <type>text/plain</type>
            <size>15141</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxNjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk4ZWZlN2MyMDRjYTIz
NmYyYmIwZmNhYjcyZDg2OGU3MWVmZGNjNy4uYjIyZTYzZTJjMTViODY2ZjQ2ODYyODdkN2IyZjYz
OGJjZjJiNTU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE0LTA3LTI3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBDcmFzaCB3aGVu
IGFjY2Vzc2luZyB3aW5kb3cubG9jYWxTdG9yYWdlIGFmdGVyIGNhbGxpbmcgd2luZG93LmNsb3Nl
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTMy
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTczMTUyMzc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgYW4gaXNzdWUgd2hlcmUgYWNjZXNz
aW5nIGxvY2FsIHN0b3JhZ2UgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIGNhbGxpbmcgd2luZG93
LmNsb3NlKCkKKyAgICAgICAgY2F1c2VzIGEgY3Jhc2guCisKKyAgICAgICAgV2Ugc2hvdWxkIGRp
c2FsbG93IGFjY2Vzc2luZyBsb2NhbCBzdG9yYWdlIGFmdGVyIGNhbGxpbmcgd2luZG93LmNsb3Nl
KCkgcmVnYXJkbGVzcyBvZiB3aGV0aGVyCisgICAgICAgIGl0J3MgdGhlIGZpcnN0IGFjY2VzcyB0
byBsb2NhbCBzdG9yYWdlIGFzIHRoaXMgc2VlbXMgbGlrZSBhIGJhZCBpZGlvbSB0byBzdXBwb3J0
LiBOb3RlIHRoaXMKKyAgICAgICAgcmVwcmVzZW50cyBhIGNoYW5nZSBpbiBiZWhhdmlvciBmcm9t
IExlZ2FjeSBXZWJLaXQuCisKKyAgICAgICAgVGVzdHM6IHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2Nh
bHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWwKKyAgICAgICAg
ICAgICAgIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtdGhl
bi1zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbAorICAgICAgICAg
ICAgICAgc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFn
ZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbAorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpsb2NhbFN0b3JhZ2UpOiBNb2RpZmllZCB0
byBvbmx5IHJldHVybiB0aGUgY2FjaGVkIGxvY2FsIHN0b3JhZ2Ugb3IKKyAgICAgICAgY3JlYXRl
IGEgbmV3IGxvY2FsIHN0b3JhZ2Ugc28gbG9uZyBhcyB0aGUgd2luZG93IGZvciB0aGUgcGFnZSBp
c24ndCBjbG9zaW5nIHNvb24uIEFsc28sCisgICAgICAgIHN1YnN0aXR1dGUgbnVsbHB0ciBmb3Ig
MC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y2xvc2UpOiBDYWxsIFBhZ2U6OnNldFdp
bGxDbG9zZVdpbmRvd1Nvb24oKSB0byBtYXJrIHRoYXQgdGhlIHdpbmRvdworICAgICAgICBmb3Ig
dGhlIHBhZ2Ugd2lsbCBjbG9zZSBzb29uLgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlKTogSW5pdGlhbGl6ZSBtX3dpbGxDbG9zZVdpbmRvd1Nv
b24gdG8gZmFsc2UuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjpzZXRXaWxsQ2xvc2VXaW5kb3dTb29uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjp3aWxsQ2xvc2VXaW5kb3dTb29uKTogQWRkZWQuCisKIDIwMTQtMDctMjUgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJwaXhlbCByZW5kZXJpbmc6IFJv
dW5kZWQgcmVjdCBnZXRzIG5vbi1yZW5kZXJhYmxlIGF0IGNlcnRhaW4gc3VicGl4ZWwgc2l6ZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3ZjA3YmFlMzY0MjM5MWRhYzFhYzk4ZjBm
OWVmODQ5YzUwMzJlMWM1Li41MDUxZTZkZTI0YzhmMGNkNjgyMDg1YTZlZTFkYjI1YThiMDc1NjQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC04MjEsMzEgKzgyMSwzNiBAQCBTdG9y
YWdlKiBET01XaW5kb3c6OnNlc3Npb25TdG9yYWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAog
U3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0b3JhZ2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0
CiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50
ID0gdGhpcy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAoIWRvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpLT5jYW5BY2Nlc3NMb2NhbFN0b3JhZ2UoMCkpIHsKICAgICAgICAgZWMgPSBTRUNV
UklUWV9FUlI7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICB9CiAKLSAgICBpZiAobV9sb2NhbFN0b3JhZ2UpIHsKLSAgICAgICAgaWYgKCFtX2xvY2FsU3Rv
cmFnZS0+YXJlYSgpLmNhbkFjY2Vzc1N0b3JhZ2UobV9mcmFtZSkpIHsKLSAgICAgICAgICAgIGVj
ID0gU0VDVVJJVFlfRVJSOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgUGFnZSogcGFnZSA9
IGRvY3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlIHx8ICFwYWdlLT53aWxsQ2xvc2VXaW5k
b3dTb29uKCkpIHsKKyAgICAgICAgaWYgKG1fbG9jYWxTdG9yYWdlKSB7CisgICAgICAgICAgICBp
ZiAoIW1fbG9jYWxTdG9yYWdlLT5hcmVhKCkuY2FuQWNjZXNzU3RvcmFnZShtX2ZyYW1lKSkgewor
ICAgICAgICAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOworICAgICAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIG1fbG9jYWxTdG9y
YWdlLmdldCgpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtX2xvY2FsU3RvcmFnZS5nZXQo
KTsKICAgICB9CiAKLSAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKICAgICBpZiAo
IXBhZ2UpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IGlmIChwYWdlLT53aWxsQ2xvc2VXaW5kb3dTb29uKCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgaWYgKCFwYWdlLT5zZXR0aW5ncygpLmxvY2FsU3RvcmFnZUVuYWJsZWQoKSkKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgUmVmUHRyPFN0
b3JhZ2VBcmVhPiBzdG9yYWdlQXJlYTsKICAgICBpZiAoIWRvY3VtZW50LT5zZWN1cml0eU9yaWdp
bigpLT5jYW5BY2Nlc3NMb2NhbFN0b3JhZ2UoZG9jdW1lbnQtPnRvcE9yaWdpbigpKSkKQEAgLTg1
NSw3ICs4NjAsNyBAQCBTdG9yYWdlKiBET01XaW5kb3c6OmxvY2FsU3RvcmFnZShFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKIAogICAgIGlmICghc3RvcmFnZUFyZWEtPmNhbkFjY2Vzc1N0b3JhZ2Uo
bV9mcmFtZSkpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7Ci0gICAgICAgIHJldHVybiAw
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBtX2xvY2FsU3RvcmFnZSA9
IFN0b3JhZ2U6OmNyZWF0ZShtX2ZyYW1lLCBzdG9yYWdlQXJlYS5yZWxlYXNlKCkpOwpAQCAtMTAz
NSw2ICsxMDQwLDcgQEAgdm9pZCBET01XaW5kb3c6OmNsb3NlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQpCiAgICAgaWYgKCFtX2ZyYW1lLT5sb2FkZXIoKS5zaG91bGRDbG9zZSgpKQog
ICAgICAgICByZXR1cm47CiAKKyAgICBwYWdlLT5zZXRXaWxsQ2xvc2VXaW5kb3dTb29uKCk7CiAg
ICAgcGFnZS0+Y2hyb21lKCkuY2xvc2VXaW5kb3dTb29uKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CmluZGV4IDVmN2EwNjkzMTRmYzVhOTgzNzEyOGE1NzE1YmEwMTRlNjBhMTU0MzMuLjMwZjE4YzNk
NDA4NDdiMDJkYTJhZDcyZThmMzY2NjY0MDJmNTEzNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAt
MjAxLDYgKzIwMSw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogICAg
ICwgbV91c2VyQ29udGVudENvbnRyb2xsZXIoV1RGOjptb3ZlKHBhZ2VDbGllbnRzLnVzZXJDb250
ZW50Q29udHJvbGxlcikpCiAgICAgLCBtX3Zpc2l0ZWRMaW5rU3RvcmUoV1RGOjptb3ZlKHBhZ2VD
bGllbnRzLnZpc2l0ZWRMaW5rU3RvcmUpKQogICAgICwgbV9zZXNzaW9uSUQoU2Vzc2lvbklEOjpk
ZWZhdWx0U2Vzc2lvbklEKCkpCisgICAgLCBtX3dpbGxDbG9zZVdpbmRvd1Nvb24oZmFsc2UpCiB7
CiAgICAgQVNTRVJUKG1fZWRpdG9yQ2xpZW50KTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNDg4
NWQ4ZjhjMzk0N2NmMzlhNDFmOWYyNzVkZjI2MTAwY2JhMmY5NC4uNGI4YjU0NTM3YzI3YjRmMTZl
MzFlNzMyNjI1N2MxNTM4MDc1ZTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTMyMCw2ICszMjAsMTQg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNJbldpbmRvdyhib29sKTsKICAgICBib29sIGlzSW5X
aW5kb3coKSBjb25zdCB7IHJldHVybiBtX3ZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNJbldpbmRv
dzsgfQogCisgICAgdm9pZCBzZXRXaWxsQ2xvc2VXaW5kb3dTb29uKCkKKyAgICB7CisgICAgICAg
IEFTU0VSVChpc0luV2luZG93KCkpOworICAgICAgICBtX3dpbGxDbG9zZVdpbmRvd1Nvb24gPSB0
cnVlOworICAgIH0KKworICAgIGJvb2wgd2lsbENsb3NlV2luZG93U29vbigpIGNvbnN0IHsgcmV0
dXJuIG1fd2lsbENsb3NlV2luZG93U29vbiAmJiBpc0luV2luZG93KCk7IH0KKwogICAgIHZvaWQg
YWRkVmlld1N0YXRlQ2hhbmdlT2JzZXJ2ZXIoVmlld1N0YXRlQ2hhbmdlT2JzZXJ2ZXImKTsKICAg
ICB2b2lkIHJlbW92ZVZpZXdTdGF0ZUNoYW5nZU9ic2VydmVyKFZpZXdTdGF0ZUNoYW5nZU9ic2Vy
dmVyJik7CiAKQEAgLTU4NSw2ICs1OTMsOCBAQCBwcml2YXRlOgogICAgIEhhc2hTZXQ8Vmlld1N0
YXRlQ2hhbmdlT2JzZXJ2ZXIqPiBtX3ZpZXdTdGF0ZUNoYW5nZU9ic2VydmVyczsKIAogICAgIFNl
c3Npb25JRCBtX3Nlc3Npb25JRDsKKworICAgIGJvb2wgbV93aWxsQ2xvc2VXaW5kb3dTb29uOwog
fTsKIAogaW5saW5lIFBhZ2VHcm91cCYgUGFnZTo6Z3JvdXAoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE5OThjYzQwZmFi
M2M5MTRlZjUxZDM3YzZjNTdjNjk5ODMyMjM2OGEuLmUxYzBiNmZiN2ZlNWI0OGQ0YTAzMjMzZTQ5
ZmNkOTRjNzFiOGM2NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNC0wNy0yNyAgRGFuaWVs
IEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQ3Jhc2ggd2hlbiBh
Y2Nlc3Npbmcgd2luZG93LmxvY2FsU3RvcmFnZSBhZnRlciBjYWxsaW5nIHdpbmRvdy5jbG9zZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzUzMjgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE3MzE1MjM3PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0byBlbnN1cmUgdGhhdCB3ZSBk
b24ndCBjcmFzaCB3aGVuIGFjY2Vzc2luZyBsb2NhbCBzdG9yYWdlIGFuZCB0aGF0IHVwZGF0ZXMg
dG8KKyAgICAgICAgbG9jYWwgc3RvcmFnZSBhcmUgaWdub3JlZCBhZnRlciBjYWxsaW5nIHdpbmRv
dy5jbG9zZSgpIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBsb2NhbCBzdG9yYWdlCisgICAgICAgIHdh
cyBhY2Nlc3NlZCBiZWZvcmUgdGhlIGNhbGwgdG8gd2luZG93LmNsb3NlKCkuCisKKyAgICAgICAg
KiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLWFmdGVyLXdp
bmRvdy1jbG9zZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3Rv
cmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNz
LXN0b3JhZ2UtdGhlbi1zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9y
YWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93
LWNsb3NlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0
b3JhZ2UvcmVzb3VyY2VzL2FjY2Vzcy1zdG9yYWdlLWNsb3NlLXdpbmRvdy1hbmQtc2V0LXZhbHVl
LWluLXN0b3JhZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9kb21zdG9yYWdlL2xv
Y2Fsc3RvcmFnZS9yZXNvdXJjZXMvY2xvc2Utd2luZG93LWFuZC1hY2Nlc3Mtc3RvcmFnZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291
cmNlcy9jbG9zZS13aW5kb3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2Uvc2V0LXZhbHVlLWluLXN0
b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
c3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRl
ci13aW5kb3ctY2xvc2UuaHRtbDogQWRkZWQuCisKIDIwMTQtMDctMjUgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJwaXhlbCByZW5kZXJpbmc6IFJvdW5kZWQg
cmVjdCBnZXRzIG5vbi1yZW5kZXJhYmxlIGF0IGNlcnRhaW4gc3VicGl4ZWwgc2l6ZS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNz
LXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93
LWNsb3NlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDBjODgyMDAzZWQ2MzMzZWNkNWFlMTM2
ZWExOTYwZjk1MTM4MGUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9k
b21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9hY2Nlc3Mtc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2Ut
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGVzdCB0aGF0IFdlYktpdCBkb2VzIG5vdCBj
cmFzaCB3aGVuIGFjY2Vzc2luZyBsb2NhbFN0b3JhZ2UgYWZ0ZXIgY2FsbGluZyB3aW5kb3cuY2xv
c2UoKS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fs
c3RvcmFnZS9hY2Nlc3Mtc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXIt
d2luZG93LWNsb3NlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDJlMGJlMTlkNDM1MmFhZTY0YmE5OWY0ZGQ0
NWQ4NzVkZjZkNDVhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9t
c3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0
bWwKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVu
bmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0id2luZG93Lm9wZW4oJ3Jlc291
cmNlcy9jbG9zZS13aW5kb3ctYW5kLWFjY2Vzcy1zdG9yYWdlLmh0bWwnKTsiPgorVGVzdCB0aGF0
IFdlYktpdCBkb2VzIG5vdCBjcmFzaCB3aGVuIGFjY2Vzc2luZyBsb2NhbFN0b3JhZ2UgYWZ0ZXIg
Y2FsbGluZyB3aW5kb3cuY2xvc2UoKS48YnI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9y
YWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNz
LXN0b3JhZ2UtdGhlbi1zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkYjZjMjkwZmJkNDFiYjQ2ZjFjYzFhNjA0ZTc5YzFmZGVh
NTM3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uv
bG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0
ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0
IHdlIGNhbid0IHN0b3JlIGEgdmFsdWUgaW4gbG9jYWwgc3RvcmFnZSBhZnRlciBjYWxsaW5nIHdp
bmRvdy5jbG9zZSgpIGV2ZW4gaWYgd2UgY3JlYXRlZCB0aGUgbG9jYWwgc3RvcmFnZSBiZWZvcmUg
dGhlIGNhbGwgdG8gd2luZG93LmNsb3NlKCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHdpbmRvdy5sb2NhbFN0b3JhZ2UgaXMgZGVmaW5lZC4KK1BBU1Mgd2luZG93Lmxv
Y2FsU3RvcmFnZVsidGVzdCJdIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVl
LWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVlLWlu
LXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYyYTNmODI4YmI1
ODhiZDZkYjAyOTE5MmQ3Nzk1ZDljOTYzZDc0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtdGhlbi1z
ZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbApAQCAtMCwwICsxLDMx
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9w
ZW5XaW5kb3dzKCk7CisKKyAgICAvLyBXZSBleHBsaWNpdGx5IGNhbGwgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCkgYmVjYXVzZSB3ZSBjYWxsIHdpbmRvdy5vcGVuKCkgYmVmb3JlCisgICAgLy8g
anMtdGVzdC1wb3N0LmpzIGlzIHByb2Nlc3NlZC4KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKK30KKworZnVuY3Rpb24gY2hlY2tSZXN1bHRBbmROb3RpZnlEb25lKCkKK3sKKyAgICBz
aG91bGRCZURlZmluZWQoJ3dpbmRvdy5sb2NhbFN0b3JhZ2UnKTsKKyAgICBzaG91bGRCZVVuZGVm
aW5lZCgnd2luZG93LmxvY2FsU3RvcmFnZVsidGVzdCJdJyk7CisgICAgd2luZG93LmxvY2FsU3Rv
cmFnZS5jbGVhcigpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBjYW4ndCBzdG9y
ZSBhIHZhbHVlIGluIGxvY2FsIHN0b3JhZ2UgYWZ0ZXIgY2FsbGluZyB3aW5kb3cuY2xvc2UoKSBl
dmVuIGlmIHdlIGNyZWF0ZWQgdGhlIGxvY2FsIHN0b3JhZ2UgYmVmb3JlIHRoZSBjYWxsIHRvIHdp
bmRvdy5jbG9zZSgpLiIpOword2luZG93Lm9wZW4oInJlc291cmNlcy9hY2Nlc3Mtc3RvcmFnZS1j
bG9zZS13aW5kb3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwiKTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21z
dG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMvYWNjZXNzLXN0b3JhZ2UtY2xvc2Utd2luZG93
LWFuZC1zZXQtdmFsdWUtaW4tc3RvcmFnZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21z
dG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMvYWNjZXNzLXN0b3JhZ2UtY2xvc2Utd2luZG93
LWFuZC1zZXQtdmFsdWUtaW4tc3RvcmFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYjhmYmQ4Y2Q3YzEy
NDA4OGZmMTU4ZTlkNTYzYjk0YTEyNTBmNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9hY2Nlc3Mtc3RvcmFn
ZS1jbG9zZS13aW5kb3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwKQEAgLTAsMCArMSwx
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK3dpbmRvdy5s
b2NhbFN0b3JhZ2U7IC8vIENyZWF0ZXMgbG9jYWwgc3RvcmFnZQord2luZG93LmNsb3NlKCk7Citp
ZiAod2luZG93LmxvY2FsU3RvcmFnZSkKKyAgICBsb2NhbFN0b3JhZ2VbInRlc3QiXSA9ICJEaWRT
ZXRWYWx1ZUFmdGVyQ2FsbGluZ1dpbmRvd0Nsb3NlIjsKK3dpbmRvdy5vcGVuZXIuY2hlY2tSZXN1
bHRBbmROb3RpZnlEb25lKCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2Vz
L2Nsb3NlLXdpbmRvdy1hbmQtYWNjZXNzLXN0b3JhZ2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL2Nsb3NlLXdpbmRvdy1hbmQtYWNj
ZXNzLXN0b3JhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGFiYWRmYzdlNjZkNjY3NGMxOTE4NDRmZDIz
M2I1MGQ1MWNlMjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21z
dG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMvY2xvc2Utd2luZG93LWFuZC1hY2Nlc3Mtc3Rv
cmFnZS5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgord2lu
ZG93LmNsb3NlKCk7Cit3aW5kb3cubG9jYWxTdG9yYWdlOworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9y
YWdlL3Jlc291cmNlcy9jbG9zZS13aW5kb3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9j
bG9zZS13aW5kb3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYx
NTk1NzBlMDE4OTY1YTE1NjVkY2EzYTM3ZmZhMjdiNTljMTA0OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL2Ns
b3NlLXdpbmRvdy1hbmQtc2V0LXZhbHVlLWluLXN0b3JhZ2UuaHRtbApAQCAtMCwwICsxLDExIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgord2luZG93LmNsb3Nl
KCk7CitpZiAod2luZG93LmxvY2FsU3RvcmFnZSkKKyAgICBsb2NhbFN0b3JhZ2VbInRlc3QiXSA9
ICJEaWRTZXRWYWx1ZUFmdGVyQ2FsbGluZ1dpbmRvd0Nsb3NlIjsKK3dpbmRvdy5vcGVuZXIuY2hl
Y2tSZXN1bHRBbmROb3RpZnlEb25lKCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2Uvc2V0
LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2Uvc2V0LXZhbHVlLWluLXN0b3Jh
Z2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjdjYjFmYzIw
ZDg4NTIxMjU5NmExOGJjN2Y3YTY4Y2U2Njg5NWJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFn
ZS1hZnRlci13aW5kb3ctY2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3Rz
IHRoYXQgd2UgY2FuJ3Qgc3RvcmUgYSB2YWx1ZSBpbiBsb2NhbCBzdG9yYWdlIGFmdGVyIGNhbGxp
bmcgd2luZG93LmNsb3NlKCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHdpbmRvdy5sb2NhbFN0b3JhZ2UgaXMgZGVmaW5lZC4KK1BBU1Mgd2luZG93LmxvY2FsU3RvcmFn
ZVsidGVzdCJdIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0
b3JhZ2UvbG9jYWxzdG9yYWdlL3NldC12YWx1ZS1pbi1zdG9yYWdlLWFmdGVyLXdpbmRvdy1jbG9z
ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQt
dmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODMy
YjY1OGE4MTQ5NWJhNGNlZThiOTJmMTAwOTg2OTYxNTE2MDZkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4t
c3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7
CisKKyAgICAvLyBXZSBleHBsaWNpdGx5IGNhbGwgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCkg
YmVjYXVzZSB3ZSBjYWxsIHdpbmRvdy5vcGVuKCkgYmVmb3JlCisgICAgLy8ganMtdGVzdC1wb3N0
LmpzIGlzIHByb2Nlc3NlZC4KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwor
ZnVuY3Rpb24gY2hlY2tSZXN1bHRBbmROb3RpZnlEb25lKCkKK3sKKyAgICBzaG91bGRCZURlZmlu
ZWQoJ3dpbmRvdy5sb2NhbFN0b3JhZ2UnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnd2luZG93
LmxvY2FsU3RvcmFnZVsidGVzdCJdJyk7CisgICAgd2luZG93LmxvY2FsU3RvcmFnZS5jbGVhcigp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBjYW4ndCBzdG9yZSBhIHZhbHVlIGlu
IGxvY2FsIHN0b3JhZ2UgYWZ0ZXIgY2FsbGluZyB3aW5kb3cuY2xvc2UoKS4iKTsKK3dpbmRvdy5v
cGVuKCJyZXNvdXJjZXMvY2xvc2Utd2luZG93LWFuZC1zZXQtdmFsdWUtaW4tc3RvcmFnZS5odG1s
Iik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235585</attachid>
            <date>2014-07-27 16:13:51 -0700</date>
            <delta_ts>2014-07-27 16:17:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135328-20140727161337.patch</filename>
            <type>text/plain</type>
            <size>14898</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxNjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk4ZWZlN2MyMDRjYTIz
NmYyYmIwZmNhYjcyZDg2OGU3MWVmZGNjNy4uOWE0MDcyNjFiZGVhNzA0ZmU4NDllNTA0NTEwY2Nm
MzBjNWM3NTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTA3LTI3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBDcmFzaCB3aGVu
IGFjY2Vzc2luZyB3aW5kb3cubG9jYWxTdG9yYWdlIGFmdGVyIGNhbGxpbmcgd2luZG93LmNsb3Nl
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTMy
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTczMTUyMzc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgYW4gaXNzdWUgd2hlcmUgYWNjZXNz
aW5nIGxvY2FsIHN0b3JhZ2UgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIGNhbGxpbmcgd2luZG93
LmNsb3NlKCkKKyAgICAgICAgY2F1c2VzIGEgY3Jhc2guCisKKyAgICAgICAgV2Ugc2hvdWxkIGRp
c2FsbG93IGFjY2Vzc2luZyBsb2NhbCBzdG9yYWdlIGFmdGVyIGNhbGxpbmcgd2luZG93LmNsb3Nl
KCkgcmVnYXJkbGVzcyBvZiB3aGV0aGVyCisgICAgICAgIGl0J3MgdGhlIGZpcnN0IGFjY2VzcyB0
byBsb2NhbCBzdG9yYWdlIGFzIHRoaXMgc2VlbXMgbGlrZSBhIGJhZCBpZGlvbSB0byBzdXBwb3J0
LiBOb3RlIHRoaXMKKyAgICAgICAgcmVwcmVzZW50cyBhIGNoYW5nZSBpbiBiZWhhdmlvciBmcm9t
IExlZ2FjeSBXZWJLaXQuCisKKyAgICAgICAgVGVzdHM6IHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2Nh
bHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWwKKyAgICAgICAg
ICAgICAgIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtdGhl
bi1zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbAorICAgICAgICAg
ICAgICAgc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFn
ZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbAorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpsb2NhbFN0b3JhZ2UpOiBNb2RpZmllZCB0
byBvbmx5IHJldHVybiB0aGUgY2FjaGVkIGxvY2FsIHN0b3JhZ2Ugb3IKKyAgICAgICAgY3JlYXRl
IGEgbmV3IGxvY2FsIHN0b3JhZ2Ugc28gbG9uZyBhcyB0aGUgcGFnZSBpc24ndCBiZWluZyBjbG9z
ZWQuIEFsc28sIHN1YnN0aXR1dGUgbnVsbHB0cgorICAgICAgICBmb3IgMC4KKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6Y2xvc2UpOiBDYWxsIFBhZ2U6OnNldElzQ2xvc2luZygpIHRvIG1h
cmsgdGhhdCB0aGUgcGFnZSBpcyBjbG9zaW5nLgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlKTogSW5pdGlhbGl6ZSBtX2lzQ2xvc2luZyB0byBm
YWxzZS4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNl
dElzQ2xvc2luZyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNDbG9zaW5nKTog
QWRkZWQuCisKIDIwMTQtMDctMjUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTdWJwaXhlbCByZW5kZXJpbmc6IFJvdW5kZWQgcmVjdCBnZXRzIG5vbi1yZW5kZXJh
YmxlIGF0IGNlcnRhaW4gc3VicGl4ZWwgc2l6ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApp
bmRleCA3ZjA3YmFlMzY0MjM5MWRhYzFhYzk4ZjBmOWVmODQ5YzUwMzJlMWM1Li4wZDAxMTdiMzUx
MmEyYWRhMmQzY2FiYWFjOGM0ZGNjOWUyZWNlYjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCkBAIC04MjEsMzEgKzgyMSwzNiBAQCBTdG9yYWdlKiBET01XaW5kb3c6OnNlc3Npb25TdG9y
YWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogU3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0
b3JhZ2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURp
c3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKICAgICBp
ZiAoIWRvY3VtZW50KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAKICAgICBpZiAoIWRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NMb2NhbFN0
b3JhZ2UoMCkpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7Ci0gICAgICAgIHJldHVybiAw
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBpZiAobV9sb2NhbFN0b3Jh
Z2UpIHsKLSAgICAgICAgaWYgKCFtX2xvY2FsU3RvcmFnZS0+YXJlYSgpLmNhbkFjY2Vzc1N0b3Jh
Z2UobV9mcmFtZSkpIHsKLSAgICAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwotICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7CisgICAgaWYg
KCFwYWdlIHx8ICFwYWdlLT5pc0Nsb3NpbmcoKSkgeworICAgICAgICBpZiAobV9sb2NhbFN0b3Jh
Z2UpIHsKKyAgICAgICAgICAgIGlmICghbV9sb2NhbFN0b3JhZ2UtPmFyZWEoKS5jYW5BY2Nlc3NT
dG9yYWdlKG1fZnJhbWUpKSB7CisgICAgICAgICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICByZXR1cm4gbV9sb2NhbFN0b3JhZ2UuZ2V0KCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJu
IG1fbG9jYWxTdG9yYWdlLmdldCgpOwogICAgIH0KIAotICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVu
dC0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJl
dHVybiBudWxscHRyOworCisgICAgaWYgKHBhZ2UtPmlzQ2xvc2luZygpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIGlmICghcGFnZS0+c2V0dGluZ3MoKS5sb2NhbFN0b3JhZ2VFbmFi
bGVkKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAg
IFJlZlB0cjxTdG9yYWdlQXJlYT4gc3RvcmFnZUFyZWE7CiAgICAgaWYgKCFkb2N1bWVudC0+c2Vj
dXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzTG9jYWxTdG9yYWdlKGRvY3VtZW50LT50b3BPcmlnaW4o
KSkpCkBAIC04NTUsNyArODYwLDcgQEAgU3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0b3JhZ2Uo
RXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAKICAgICBpZiAoIXN0b3JhZ2VBcmVhLT5jYW5BY2Nl
c3NTdG9yYWdlKG1fZnJhbWUpKSB7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgbV9sb2Nh
bFN0b3JhZ2UgPSBTdG9yYWdlOjpjcmVhdGUobV9mcmFtZSwgc3RvcmFnZUFyZWEucmVsZWFzZSgp
KTsKQEAgLTEwMzUsNiArMTA0MCw3IEBAIHZvaWQgRE9NV2luZG93OjpjbG9zZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIGlmICghbV9mcmFtZS0+bG9hZGVyKCkuc2hvdWxk
Q2xvc2UoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgcGFnZS0+c2V0SXNDbG9zaW5nKCk7CiAg
ICAgcGFnZS0+Y2hyb21lKCkuY2xvc2VXaW5kb3dTb29uKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CmluZGV4IDVmN2EwNjkzMTRmYzVhOTgzNzEyOGE1NzE1YmEwMTRlNjBhMTU0MzMuLjc0NTEwN2Yx
NjQ1YjY4YzQ3M2ZmYjNhYjNlOGM2YjQ1NTAyMmQ2ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAt
MjAxLDYgKzIwMSw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogICAg
ICwgbV91c2VyQ29udGVudENvbnRyb2xsZXIoV1RGOjptb3ZlKHBhZ2VDbGllbnRzLnVzZXJDb250
ZW50Q29udHJvbGxlcikpCiAgICAgLCBtX3Zpc2l0ZWRMaW5rU3RvcmUoV1RGOjptb3ZlKHBhZ2VD
bGllbnRzLnZpc2l0ZWRMaW5rU3RvcmUpKQogICAgICwgbV9zZXNzaW9uSUQoU2Vzc2lvbklEOjpk
ZWZhdWx0U2Vzc2lvbklEKCkpCisgICAgLCBtX2lzQ2xvc2luZyhmYWxzZSkKIHsKICAgICBBU1NF
UlQobV9lZGl0b3JDbGllbnQpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA0ODg1ZDhmOGMzOTQ3
Y2YzOWE0MWY5ZjI3NWRmMjYxMDBjYmEyZjk0Li5jY2VlODdmNzg1NjliNzY1NjE0M2QwMWE2ZWM5
NTkxN2YyZjY0ZTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMzIwLDYgKzMyMCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldElzSW5XaW5kb3coYm9vbCk7CiAgICAgYm9vbCBpc0luV2luZG93KCkgY29u
c3QgeyByZXR1cm4gbV92aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzSW5XaW5kb3c7IH0KIAorICAg
IHZvaWQgc2V0SXNDbG9zaW5nKCkgeyBtX2lzQ2xvc2luZyA9IHRydWU7IH0KKyAgICBib29sIGlz
Q2xvc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNDbG9zaW5nOyB9CisKICAgICB2b2lkIGFkZFZp
ZXdTdGF0ZUNoYW5nZU9ic2VydmVyKFZpZXdTdGF0ZUNoYW5nZU9ic2VydmVyJik7CiAgICAgdm9p
ZCByZW1vdmVWaWV3U3RhdGVDaGFuZ2VPYnNlcnZlcihWaWV3U3RhdGVDaGFuZ2VPYnNlcnZlciYp
OwogCkBAIC01ODUsNiArNTg4LDggQEAgcHJpdmF0ZToKICAgICBIYXNoU2V0PFZpZXdTdGF0ZUNo
YW5nZU9ic2VydmVyKj4gbV92aWV3U3RhdGVDaGFuZ2VPYnNlcnZlcnM7CiAKICAgICBTZXNzaW9u
SUQgbV9zZXNzaW9uSUQ7CisKKyAgICBib29sIG1faXNDbG9zaW5nOwogfTsKIAogaW5saW5lIFBh
Z2VHcm91cCYgUGFnZTo6Z3JvdXAoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE5OThjYzQwZmFiM2M5MTRlZjUxZDM3YzZj
NTdjNjk5ODMyMjM2OGEuLmUxYzBiNmZiN2ZlNWI0OGQ0YTAzMjMzZTQ5ZmNkOTRjNzFiOGM2NDYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNC0wNy0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRl
c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQ3Jhc2ggd2hlbiBhY2Nlc3Npbmcgd2luZG93
LmxvY2FsU3RvcmFnZSBhZnRlciBjYWxsaW5nIHdpbmRvdy5jbG9zZSgpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzUzMjgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE3MzE1MjM3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZXN0cyB0byBlbnN1cmUgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVu
IGFjY2Vzc2luZyBsb2NhbCBzdG9yYWdlIGFuZCB0aGF0IHVwZGF0ZXMgdG8KKyAgICAgICAgbG9j
YWwgc3RvcmFnZSBhcmUgaWdub3JlZCBhZnRlciBjYWxsaW5nIHdpbmRvdy5jbG9zZSgpIHJlZ2Fy
ZGxlc3Mgb2Ygd2hldGhlciBsb2NhbCBzdG9yYWdlCisgICAgICAgIHdhcyBhY2Nlc3NlZCBiZWZv
cmUgdGhlIGNhbGwgdG8gd2luZG93LmNsb3NlKCkuCisKKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0
b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLWFmdGVyLXdpbmRvdy1jbG9zZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3Jh
Z2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtdGhlbi1z
ZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9y
YWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2Vz
L2FjY2Vzcy1zdG9yYWdlLWNsb3NlLXdpbmRvdy1hbmQtc2V0LXZhbHVlLWluLXN0b3JhZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNv
dXJjZXMvY2xvc2Utd2luZG93LWFuZC1hY2Nlc3Mtc3RvcmFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9jbG9zZS13aW5k
b3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0b3Jh
Z2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2Uvc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2lu
ZG93LWNsb3NlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9kb21zdG9y
YWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2Uu
aHRtbDogQWRkZWQuCisKIDIwMTQtMDctMjUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBTdWJwaXhlbCByZW5kZXJpbmc6IFJvdW5kZWQgcmVjdCBnZXRzIG5vbi1y
ZW5kZXJhYmxlIGF0IGNlcnRhaW4gc3VicGl4ZWwgc2l6ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXIt
d2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFn
ZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NDBjODgyMDAzZWQ2MzMzZWNkNWFlMTM2ZWExOTYwZjk1MTM4MGUy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fs
c3RvcmFnZS9hY2Nlc3Mtc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMiBAQAorVGVzdCB0aGF0IFdlYktpdCBkb2VzIG5vdCBjcmFzaCB3aGVuIGFjY2Vz
c2luZyBsb2NhbFN0b3JhZ2UgYWZ0ZXIgY2FsbGluZyB3aW5kb3cuY2xvc2UoKS4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9hY2Nlc3Mt
c3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9t
c3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDJlMGJlMTlkNDM1MmFhZTY0YmE5OWY0ZGQ0NWQ4NzVkZjZkNDVhOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0
b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5X
aW5kb3dzKCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0id2luZG93Lm9wZW4oJ3Jlc291cmNlcy9jbG9zZS13aW5k
b3ctYW5kLWFjY2Vzcy1zdG9yYWdlLmh0bWwnKTsiPgorVGVzdCB0aGF0IFdlYktpdCBkb2VzIG5v
dCBjcmFzaCB3aGVuIGFjY2Vzc2luZyBsb2NhbFN0b3JhZ2UgYWZ0ZXIgY2FsbGluZyB3aW5kb3cu
Y2xvc2UoKS48YnI+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZh
bHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtdGhlbi1z
ZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ctY2xvc2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNkYjZjMjkwZmJkNDFiYjQ2ZjFjYzFhNjA0ZTc5YzFmZGVhNTM3ODUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL2Fj
Y2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93LWNsb3Nl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IHdlIGNhbid0IHN0b3Jl
IGEgdmFsdWUgaW4gbG9jYWwgc3RvcmFnZSBhZnRlciBjYWxsaW5nIHdpbmRvdy5jbG9zZSgpIGV2
ZW4gaWYgd2UgY3JlYXRlZCB0aGUgbG9jYWwgc3RvcmFnZSBiZWZvcmUgdGhlIGNhbGwgdG8gd2lu
ZG93LmNsb3NlKCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRv
dy5sb2NhbFN0b3JhZ2UgaXMgZGVmaW5lZC4KK1BBU1Mgd2luZG93LmxvY2FsU3RvcmFnZVsidGVz
dCJdIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uv
bG9jYWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0
ZXItd2luZG93LWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9j
YWxzdG9yYWdlL2FjY2Vzcy1zdG9yYWdlLXRoZW4tc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXIt
d2luZG93LWNsb3NlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYyYTNmODI4YmI1ODhiZDZkYjAyOTE5MmQ3
Nzk1ZDljOTYzZDc0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9t
c3RvcmFnZS9sb2NhbHN0b3JhZ2UvYWNjZXNzLXN0b3JhZ2UtdGhlbi1zZXQtdmFsdWUtaW4tc3Rv
cmFnZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisK
KyAgICAvLyBXZSBleHBsaWNpdGx5IGNhbGwgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCkgYmVj
YXVzZSB3ZSBjYWxsIHdpbmRvdy5vcGVuKCkgYmVmb3JlCisgICAgLy8ganMtdGVzdC1wb3N0Lmpz
IGlzIHByb2Nlc3NlZC4KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVu
Y3Rpb24gY2hlY2tSZXN1bHRBbmROb3RpZnlEb25lKCkKK3sKKyAgICBzaG91bGRCZURlZmluZWQo
J3dpbmRvdy5sb2NhbFN0b3JhZ2UnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnd2luZG93Lmxv
Y2FsU3RvcmFnZVsidGVzdCJdJyk7CisgICAgd2luZG93LmxvY2FsU3RvcmFnZS5jbGVhcigpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBjYW4ndCBzdG9yZSBhIHZhbHVlIGluIGxv
Y2FsIHN0b3JhZ2UgYWZ0ZXIgY2FsbGluZyB3aW5kb3cuY2xvc2UoKSBldmVuIGlmIHdlIGNyZWF0
ZWQgdGhlIGxvY2FsIHN0b3JhZ2UgYmVmb3JlIHRoZSBjYWxsIHRvIHdpbmRvdy5jbG9zZSgpLiIp
Oword2luZG93Lm9wZW4oInJlc291cmNlcy9hY2Nlc3Mtc3RvcmFnZS1jbG9zZS13aW5kb3ctYW5k
LXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3Rv
cmFnZS9yZXNvdXJjZXMvYWNjZXNzLXN0b3JhZ2UtY2xvc2Utd2luZG93LWFuZC1zZXQtdmFsdWUt
aW4tc3RvcmFnZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3Rv
cmFnZS9yZXNvdXJjZXMvYWNjZXNzLXN0b3JhZ2UtY2xvc2Utd2luZG93LWFuZC1zZXQtdmFsdWUt
aW4tc3RvcmFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYjhmYmQ4Y2Q3YzEyNDA4OGZmMTU4ZTlkNTYz
Yjk0YTEyNTBmNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0
b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9hY2Nlc3Mtc3RvcmFnZS1jbG9zZS13aW5kb3ct
YW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK3dpbmRvdy5sb2NhbFN0b3JhZ2U7IC8v
IENyZWF0ZXMgbG9jYWwgc3RvcmFnZQord2luZG93LmNsb3NlKCk7CitpZiAod2luZG93LmxvY2Fs
U3RvcmFnZSkKKyAgICBsb2NhbFN0b3JhZ2VbInRlc3QiXSA9ICJEaWRTZXRWYWx1ZUFmdGVyQ2Fs
bGluZ1dpbmRvd0Nsb3NlIjsKK3dpbmRvdy5vcGVuZXIuY2hlY2tSZXN1bHRBbmROb3RpZnlEb25l
KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL2Nsb3NlLXdpbmRvdy1h
bmQtYWNjZXNzLXN0b3JhZ2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9s
b2NhbHN0b3JhZ2UvcmVzb3VyY2VzL2Nsb3NlLXdpbmRvdy1hbmQtYWNjZXNzLXN0b3JhZ2UuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMGFiYWRmYzdlNjZkNjY3NGMxOTE4NDRmZDIzM2I1MGQ1MWNlMjllCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3Rv
cmFnZS9yZXNvdXJjZXMvY2xvc2Utd2luZG93LWFuZC1hY2Nlc3Mtc3RvcmFnZS5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgord2luZG93LmNsb3NlKCk7Cit3
aW5kb3cubG9jYWxTdG9yYWdlOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9j
bG9zZS13aW5kb3ctYW5kLXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9jbG9zZS13aW5kb3ctYW5k
LXNldC12YWx1ZS1pbi1zdG9yYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYxNTk1NzBlMDE4OTY1YTE1
NjVkY2EzYTM3ZmZhMjdiNTljMTA0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL2Nsb3NlLXdpbmRvdy1hbmQt
c2V0LXZhbHVlLWluLXN0b3JhZ2UuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgord2luZG93LmNsb3NlKCk7CitpZiAod2luZG93
LmxvY2FsU3RvcmFnZSkKKyAgICBsb2NhbFN0b3JhZ2VbInRlc3QiXSA9ICJEaWRTZXRWYWx1ZUFm
dGVyQ2FsbGluZ1dpbmRvd0Nsb3NlIjsKK3dpbmRvdy5vcGVuZXIuY2hlY2tSZXN1bHRBbmROb3Rp
ZnlEb25lKCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2Uvc2V0LXZhbHVlLWluLXN0b3Jh
Z2UtYWZ0ZXItd2luZG93LWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2Uvc2V0LXZhbHVlLWluLXN0b3JhZ2UtYWZ0ZXItd2luZG93
LWNsb3NlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjdjYjFmYzIwZDg4NTIxMjU5NmExOGJj
N2Y3YTY4Y2U2Njg5NWJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9k
b21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13aW5kb3ct
Y2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzIHRoYXQgd2UgY2FuJ3Qg
c3RvcmUgYSB2YWx1ZSBpbiBsb2NhbCBzdG9yYWdlIGFmdGVyIGNhbGxpbmcgd2luZG93LmNsb3Nl
KCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHdpbmRvdy5sb2NhbFN0
b3JhZ2UgaXMgZGVmaW5lZC4KK1BBU1Mgd2luZG93LmxvY2FsU3RvcmFnZVsidGVzdCJdIGlzIHVu
ZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9y
YWdlL3NldC12YWx1ZS1pbi1zdG9yYWdlLWFmdGVyLXdpbmRvdy1jbG9zZS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFn
ZS1hZnRlci13aW5kb3ctY2xvc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODMyYjY1OGE4MTQ5NWJhNGNl
ZThiOTJmMTAwOTg2OTYxNTE2MDZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9zZXQtdmFsdWUtaW4tc3RvcmFnZS1hZnRlci13
aW5kb3ctY2xvc2UuaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisKKyAgICAvLyBXZSBl
eHBsaWNpdGx5IGNhbGwgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCkgYmVjYXVzZSB3ZSBjYWxs
IHdpbmRvdy5vcGVuKCkgYmVmb3JlCisgICAgLy8ganMtdGVzdC1wb3N0LmpzIGlzIHByb2Nlc3Nl
ZC4KKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVuY3Rpb24gY2hlY2tS
ZXN1bHRBbmROb3RpZnlEb25lKCkKK3sKKyAgICBzaG91bGRCZURlZmluZWQoJ3dpbmRvdy5sb2Nh
bFN0b3JhZ2UnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnd2luZG93LmxvY2FsU3RvcmFnZVsi
dGVzdCJdJyk7CisgICAgd2luZG93LmxvY2FsU3RvcmFnZS5jbGVhcigpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCB3ZSBjYW4ndCBzdG9yZSBhIHZhbHVlIGluIGxvY2FsIHN0b3JhZ2Ug
YWZ0ZXIgY2FsbGluZyB3aW5kb3cuY2xvc2UoKS4iKTsKK3dpbmRvdy5vcGVuKCJyZXNvdXJjZXMv
Y2xvc2Utd2luZG93LWFuZC1zZXQtdmFsdWUtaW4tc3RvcmFnZS5odG1sIik7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="260155"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>