<?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>79768</bug_id>
          
          <creation_ts>2012-02-28 02:06:16 -0800</creation_ts>
          <short_desc>Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.</short_desc>
          <delta_ts>2012-02-29 17:55:25 -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>Layout and Rendering</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="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>566512</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-28 02:06:16 -0800</bug_when>
    <thetext>ShadowTree::recalcShadowTreeStyle only updates the youngest tree - shouldn&apos;t it update all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566585</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-28 04:48:35 -0800</bug_when>
    <thetext>Thanks for the report! I&apos;ll check it later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567394</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-28 22:45:07 -0800</bug_when>
    <thetext>Searching youngestShadowRoot(), it turns out some other functions
like following is also need to be multiple-shadow-aware.

- bool ShadowTree::needsStyleRecalc()  
- bool ShadowTree::childNeedsStyleRecalc() 
- bool ShadowTree::needsReattachHostChildrenAndShadow()
- void ShadowTree::hostChildrenChanged()  
- void TreeScopeAdopter::moveTreeToNewScope(Node* root)
- void TreeScopeAdopter::moveTreeToNewDocument(Node* root, Document* oldDocument, Document* newDocument) const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567443</commentid>
    <comment_count>3</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-28 23:59:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Searching youngestShadowRoot(), it turns out some other functions
&gt; like following is also need to be multiple-shadow-aware.
&gt; 
&gt; - bool ShadowTree::needsStyleRecalc()  
&gt; - bool ShadowTree::childNeedsStyleRecalc() 
&gt; - bool ShadowTree::needsReattachHostChildrenAndShadow()
&gt; - void ShadowTree::hostChildrenChanged()  
&gt; - void TreeScopeAdopter::moveTreeToNewScope(Node* root)
&gt; - void TreeScopeAdopter::moveTreeToNewDocument(Node* root, Document* oldDocument, Document* newDocument) const

I think we should consider multiple shadow subtrees for needsStyleRecalc() and childNeedsStyleRecalc(),
but not for needsReattachHostChildrenAndShadow() and needsReattachHostChildrenAndShadow(),
because the latter methods checks the existence of InsertionPoint of the youngest shadow roots. If there is no insertion point in the youngest shadow root, older shadow subtrees or light children won&apos;t be rendered al all.
If this assumption is wrong, please let me know...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567480</commentid>
    <comment_count>4</comment_count>
      <attachid>129407</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 00:59:58 -0800</bug_when>
    <thetext>Created attachment 129407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567484</commentid>
    <comment_count>5</comment_count>
      <attachid>129408</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 01:05:14 -0800</bug_when>
    <thetext>Created attachment 129408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567487</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 01:08:13 -0800</bug_when>
    <thetext>Attachment 129408 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
Index mismatch: 45f1ddc97c26c8f168daebf1d8d25e32afde0c7a != d0c2d29a78e61f43d073201c516920e3103f993d
rereading 21dd0231e92234ee59517801b9836dc9d53fe30a
	M	Source/WebCore/dom/ShadowTree.h
	M	Source/WebCore/dom/Element.cpp
	M	Source/WebCore/dom/ShadowTree.cpp
	M	Source/WebCore/dom/ContainerNode.cpp
	M	Source/WebCore/dom/ContainerNode.h
	M	Source/WebCore/ChangeLog
109203 = f269c80d877021b19c2311e4e7c7a1dc9d95a3b8 already exists! Why are we refetching it?
 at /usr/lib/git-core/git-svn line 5210

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567546</commentid>
    <comment_count>7</comment_count>
      <attachid>129408</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 03:02:54 -0800</bug_when>
    <thetext>Comment on attachment 129408
Patch

Rejecting attachment 129408 from commit-queue.

shinyak@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567564</commentid>
    <comment_count>8</comment_count>
      <attachid>129435</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 03:32:59 -0800</bug_when>
    <thetext>Created attachment 129435
Wrong patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568128</commentid>
    <comment_count>9</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 17:20:30 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=129435) [details]
&gt; Patch

Sorry, I mistook the place to upload...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568135</commentid>
    <comment_count>10</comment_count>
      <attachid>129561</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 17:27:55 -0800</bug_when>
    <thetext>Created attachment 129561
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568141</commentid>
    <comment_count>11</comment_count>
      <attachid>129563</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 17:33:42 -0800</bug_when>
    <thetext>Created attachment 129563
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568159</commentid>
    <comment_count>12</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-29 17:55:25 -0800</bug_when>
    <thetext>Committed r109290: &lt;http://trac.webkit.org/changeset/109290&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129407</attachid>
            <date>2012-02-29 00:59:58 -0800</date>
            <delta_ts>2012-02-29 01:05:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79768-20120229175957.patch</filename>
            <type>text/plain</type>
            <size>13117</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUxODI5YTgyOGVkMGIx
Njk1NzkzZDI2ODBjZjQwM2ZmNGQwMjA1OS4uNjhjZmNlODhlYWI0YmQ1NTBmZjcxY2M2YTI2ZDZm
NDljYWQ4ZmUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTI5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBNZXRob2RzIGlu
IFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNoYWRv
dyByb290cyBhd2FyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU29tZSBtZXRob2RzIGluIFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgd2Vy
ZSBub3QgbXVsdGlwbGUgc2hhZG93IHJvb3RzIGF3YXJlLgorICAgICAgICBUaGV5IHNob3VsZCBj
b25zaWRlciBtdWx0aXBsZSBzaGFkb3cgcm9vdHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20v
c2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAorCisgICAgICAgICogZG9tL1No
YWRvd1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJlZTo6c2V0UGFyZW50VHJl
ZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJl
ZTo6Y2hpbGROZWVkc1N0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1RyZWU6
Om5lZWRzU3R5bGVSZWNhbGMpOgorICAgICAgICAqIGRvbS9TaGFkb3dUcmVlLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFNoYWRvd1RyZWUpOgorICAgICAgICAqIGRvbS9UcmVlU2Nv
cGVBZG9wdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNoYWRvd1RyZWVGb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRyZWVUb05ld1Njb3BlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdEb2N1bWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGVBZG9wdGVyOjptb3ZlU2hhZG93VHJlZVRvTmV3RG9j
dW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZUFkb3B0
ZXIuaDoKKyAgICAgICAgKFRyZWVTY29wZUFkb3B0ZXIpOgorCiAyMDEyLTAyLTI4ICBZb3NoaWZ1
bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBTcGluIGJ1
dHRvbiBzb21ldGltZXMgaWdub3JlcyBJbmRldGVybWluYXRlIG9mIG1fdXBEb3duU3RhdGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dUcmVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dUcmVlLmNwcAppbmRleCBiMjhkZjA1MjNhMGZjOWQwNzAwNzQ5NTNlMGVi
NzFkOTQ4ZTg4NDdhLi4zNTA2Nzg2ZjgzNGJkMWYxZWYyMzJiMjc2MWQ0YzFmZmZhNTUxNTFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93VHJlZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuY3BwCkBAIC0xNTYsNiArMTU2LDEyIEBAIHZvaWQgU2hh
ZG93VHJlZTo6d2lsbFJlbW92ZSgpCiAgICAgICAgIHJvb3QtPndpbGxSZW1vdmUoKTsKIH0KIAor
dm9pZCBTaGFkb3dUcmVlOjpzZXRQYXJlbnRUcmVlU2NvcGUoVHJlZVNjb3BlKiBzY29wZSkKK3sK
KyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB5b3VuZ2VzdFNoYWRvd1Jvb3QoKTsgcm9vdDsg
cm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93Um9vdCgpKQorICAgICAgICByb290LT5zZXRQYXJlbnRU
cmVlU2NvcGUoc2NvcGUpOworfQorCiB2b2lkIFNoYWRvd1RyZWU6OmF0dGFjaCgpCiB7CiAgICAg
Ly8gQ2hpbGRyZW4gb2YgbV9zZWxlY3RvciBpcyBwb3B1bGF0ZWQgbGF6aWx5IGluCkBAIC0yMDMs
MTkgKzIwOSwyMSBAQCB2b2lkIFNoYWRvd1RyZWU6OnJlYXR0YWNoKCkKIGJvb2wgU2hhZG93VHJl
ZTo6Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCkKIHsKICAgICBBU1NFUlQoeW91bmdlc3RTaGFkb3dS
b290KCkpOwotICAgIGlmICgheW91bmdlc3RTaGFkb3dSb290KCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB5b3VuZ2VzdFNoYWRvd1Jvb3QoKTsg
cm9vdDsgcm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93Um9vdCgpKQorICAgICAgICBpZiAocm9vdC0+
Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IHJldHVybiB5b3VuZ2VzdFNoYWRvd1Jvb3QoKS0+Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCk7Cisg
ICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFNoYWRvd1RyZWU6Om5lZWRzU3R5bGVSZWNhbGMo
KQogewogICAgIEFTU0VSVCh5b3VuZ2VzdFNoYWRvd1Jvb3QoKSk7Ci0gICAgaWYgKCF5b3VuZ2Vz
dFNoYWRvd1Jvb3QoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGZvciAoU2hhZG93Um9v
dCogcm9vdCA9IHlvdW5nZXN0U2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+b2xkZXJT
aGFkb3dSb290KCkpCisgICAgICAgIGlmIChyb290LT5uZWVkc1N0eWxlUmVjYWxjKCkpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIHJldHVybiB5b3VuZ2VzdFNoYWRvd1Jvb3QoKS0+
bmVlZHNTdHlsZVJlY2FsYygpOworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdm9pZCBTaGFkb3dU
cmVlOjpyZWNhbGNTaGFkb3dUcmVlU3R5bGUoTm9kZTo6U3R5bGVDaGFuZ2UgY2hhbmdlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dUcmVlLmgKaW5kZXggOTJlOWIxM2Q4ZDc3NDFlZTVjYjQyZjcxNDBhN2VkMWFj
NjI0YTA0YS4uZDUzZGFlMTNjMmI0NWU0MTBhNzIxMmYwNDU3NmZmN2I3YjU3NjRkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93VHJlZS5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBF
bGVtZW50OwogY2xhc3MgSFRNTENvbnRlbnRTZWxlY3RvcjsKIGNsYXNzIEluc2VydGlvblBvaW50
OworY2xhc3MgVHJlZVNjb3BlOwogCiBjbGFzcyBTaGFkb3dUcmVlIHsKIHB1YmxpYzoKQEAgLTU5
LDYgKzYwLDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlZEZyb21UcmVlKGJvb2wgZGVlcCk7
CiAgICAgdm9pZCB3aWxsUmVtb3ZlKCk7CiAKKyAgICB2b2lkIHNldFBhcmVudFRyZWVTY29wZShU
cmVlU2NvcGUqKTsKKwogICAgIHZvaWQgYXR0YWNoKCk7CiAgICAgdm9pZCBkZXRhY2goKTsKICAg
ICB2b2lkIHJlYXR0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNj
b3BlQWRvcHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAK
aW5kZXggYzViNjMzNTA4ZDc1OWY0MTJhY2M1MWU5NGE2ZDVhMjFlZDM5OWUzOC4uOGJhMDIwYjVl
MmI3NTM1MWJiOTUwM2M0Nzg1MDJhMDE3ZjY0YzIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVl
U2NvcGVBZG9wdGVyLmNwcApAQCAtMzIsOSArMzIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0YXRpYyBpbmxpbmUgU2hhZG93Um9vdCogc2hhZG93Um9vdEZvcihOb2RlKiBub2RlKQor
c3RhdGljIGlubGluZSBTaGFkb3dUcmVlKiBzaGFkb3dUcmVlRm9yKE5vZGUqIG5vZGUpCiB7Ci0g
ICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQobm9kZSktPmhhc1No
YWRvd1Jvb3QoKSA/IHRvRWxlbWVudChub2RlKS0+c2hhZG93VHJlZSgpLT55b3VuZ2VzdFNoYWRv
d1Jvb3QoKSA6IDA7CisgICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRvRWxlbWVu
dChub2RlKS0+c2hhZG93VHJlZSgpIDogMDsKIH0KIAogdm9pZCBUcmVlU2NvcGVBZG9wdGVyOjpt
b3ZlVHJlZVRvTmV3U2NvcGUoTm9kZSogcm9vdCkgY29uc3QKQEAgLTYzLDEwICs2MywxMCBAQCB2
b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdTY29wZShOb2RlKiByb290KSBjb25z
dAogICAgICAgICBpZiAod2lsbE1vdmVUb05ld0RvY3VtZW50KQogICAgICAgICAgICAgbW92ZU5v
ZGVUb05ld0RvY3VtZW50KG5vZGUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVudCk7CiAKLSAgICAg
ICAgaWYgKFNoYWRvd1Jvb3QqIHNoYWRvdyA9IHNoYWRvd1Jvb3RGb3Iobm9kZSkpIHsKLSAgICAg
ICAgICAgIHNoYWRvdy0+c2V0UGFyZW50VHJlZVNjb3BlKG1fbmV3U2NvcGUpOworICAgICAgICBp
ZiAoU2hhZG93VHJlZSogdHJlZSA9IHNoYWRvd1RyZWVGb3Iobm9kZSkpIHsKKyAgICAgICAgICAg
IHRyZWUtPnNldFBhcmVudFRyZWVTY29wZShtX25ld1Njb3BlKTsKICAgICAgICAgICAgIGlmICh3
aWxsTW92ZVRvTmV3RG9jdW1lbnQpCi0gICAgICAgICAgICAgICAgbW92ZVRyZWVUb05ld0RvY3Vt
ZW50KHNoYWRvdywgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKKyAgICAgICAgICAgICAgICBt
b3ZlU2hhZG93VHJlZVRvTmV3RG9jdW1lbnQodHJlZSwgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50
KTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTc1LDExICs3NSwxNyBAQCB2b2lkIFRyZWVTY29w
ZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdEb2N1bWVudChOb2RlKiByb290LCBEb2N1bWVudCogb2xk
RG9jdW1lbnQsCiB7CiAgICAgZm9yIChOb2RlKiBub2RlID0gcm9vdDsgbm9kZTsgbm9kZSA9IG5v
ZGUtPnRyYXZlcnNlTmV4dE5vZGUocm9vdCkpIHsKICAgICAgICAgbW92ZU5vZGVUb05ld0RvY3Vt
ZW50KG5vZGUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVudCk7Ci0gICAgICAgIGlmIChTaGFkb3dS
b290KiBzaGFkb3cgPSBzaGFkb3dSb290Rm9yKG5vZGUpKQotICAgICAgICAgICAgbW92ZVRyZWVU
b05ld0RvY3VtZW50KHNoYWRvdywgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKKyAgICAgICAg
aWYgKFNoYWRvd1RyZWUqIHRyZWUgPSBzaGFkb3dUcmVlRm9yKG5vZGUpKQorICAgICAgICAgICAg
bW92ZVNoYWRvd1RyZWVUb05ld0RvY3VtZW50KHRyZWUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVu
dCk7CiAgICAgfQogfQogCit2b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVTaGFkb3dUcmVlVG9O
ZXdEb2N1bWVudChTaGFkb3dUcmVlKiB0cmVlLCBEb2N1bWVudCogb2xkRG9jdW1lbnQsIERvY3Vt
ZW50KiBuZXdEb2N1bWVudCkgY29uc3QKK3sKKyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB0
cmVlLT55b3VuZ2VzdFNoYWRvd1Jvb3QoKTsgcm9vdDsgcm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93
Um9vdCgpKQorICAgICAgICBtb3ZlVHJlZVRvTmV3RG9jdW1lbnQocm9vdCwgb2xkRG9jdW1lbnQs
IG5ld0RvY3VtZW50KTsKK30KKwogI2lmbmRlZiBOREVCVUcKIHN0YXRpYyBib29sIGRpZE1vdmVU
b05ld0RvY3VtZW50V2FzQ2FsbGVkID0gZmFsc2U7CiBzdGF0aWMgRG9jdW1lbnQqIG9sZERvY3Vt
ZW50RGlkTW92ZVRvTmV3RG9jdW1lbnRXYXNDYWxsZWRXaXRoID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlQWRvcHRlci5oCmluZGV4IGQyYmQ0ZDRmMDFlN2QyM2NjNjMwNWMxMzgyMDA1NTY1
MTZlNTkyMDUuLjk0MjU1ZjQ3OWRhMzJiNTFjZGQ0NzhkMGQ5MTg0NDhhYzE0ODJhODMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgbW92ZVRyZWVUb05ld1Njb3BlKE5vZGUqKSBjb25zdDsKICAgICB2b2lkIG1v
dmVUcmVlVG9OZXdEb2N1bWVudChOb2RlKiwgRG9jdW1lbnQqIG9sZERvY3VtZW50LCBEb2N1bWVu
dCogbmV3RG9jdW1lbnQpIGNvbnN0OwogICAgIHZvaWQgbW92ZU5vZGVUb05ld0RvY3VtZW50KE5v
ZGUqLCBEb2N1bWVudCogb2xkRG9jdW1lbnQsIERvY3VtZW50KiBuZXdEb2N1bWVudCkgY29uc3Q7
CisgICAgdm9pZCBtb3ZlU2hhZG93VHJlZVRvTmV3RG9jdW1lbnQoU2hhZG93VHJlZSosIERvY3Vt
ZW50KiBvbGREb2N1bWVudCwgRG9jdW1lbnQqIG5ld0RvY3VtZW50KSBjb25zdDsKIAogICAgIE5v
ZGUqIG1fdG9BZG9wdDsKICAgICBUcmVlU2NvcGUqIG1fbmV3U2NvcGU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzU5YTZj
NjU1OGU1ODlmYWIxNjU4N2M1MWE2ZGRiYmVjMGNkMWNjOS4uMjRiNTMxYTdkNmMyM2U2MzQwODU4
YTI5OTgxM2RjMTI4MmNjY2FkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAyLTI5ICBT
aGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBNZXRob2Rz
IGluIFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNo
YWRvdyByb290cyBhd2FyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290LWFkb3B0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vd2luY2Fpcm8vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvU2tpcHBlZDoK
KwogMjAxMi0wMi0yOCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtGb3Jtc10gU3BpbiBidXR0b24gc29tZXRpbWVzIGlnbm9yZXMgSW5kZXRlcm1pbmF0
ZSBvZiBtX3VwRG93blN0YXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTc1ZDk2ODgyODMxYjBhOTJkY2RhMDA5NGJiNmY4MWI5YThjOTFjNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dy
b290LWFkb3B0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIHRlc3QgY2hlY2tz
IG11bHRpcGxlIHNoYWRvdyB0cmVlcyBjYW4gYmUgbW92ZWQgaW50byBhbm90aGVyIGRvY3VtZW50
LgorCitQQVNTIGRvY3VtZW50IGlzIHNyMS5vd25lckRvY3VtZW50CitQQVNTIHNyMS5vd25lckRv
Y3VtZW50IGlzIHNyMi5vd25lckRvY3VtZW50CitQQVNTIHNyMS5vd25lckRvY3VtZW50IGlzIGlm
cmFtZURvYworUEFTUyBzcjIub3duZXJEb2N1bWVudCBpcyBpZnJhbWVEb2MKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YjYzN2VlYWI0NzA3MDQ1YmViMjRiZTZjZjg3OWIzOTM1NGJjZGY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNo
YWRvd3Jvb3QtYWRvcHQuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IGNoZWNrcyBtdWx0
aXBsZSBzaGFkb3cgdHJlZXMgY2FuIGJlIG1vdmVkIGludG8gYW5vdGhlciBkb2N1bWVudC48L3A+
Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKworPGlmcmFtZSBpZD0iaWZyYW1lIj48L2lmcmFt
ZT4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIHNldFVwT25jZSgpIHsKKyAgICBpbnRlcm5hbHMuc2V0
TXVsdGlwbGVTaGFkb3dTdWJ0cmVlc0VuYWJsZWQodHJ1ZSk7Cit9CisKK2Z1bmN0aW9uIHRlYXJE
b3duT25jZSgpIHsKKyAgICBpbnRlcm5hbHMuc2V0TXVsdGlwbGVTaGFkb3dTdWJ0cmVlc0VuYWJs
ZWQoZmFsc2UpOworfQorCitmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgdmFyIHRhcmdldCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dS
b290KHRhcmdldCk7CisgICAgc3IyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QodGFyZ2V0KTsKKwor
ICAgIHNob3VsZEJlKCdkb2N1bWVudCcsICdzcjEub3duZXJEb2N1bWVudCcpOworICAgIHNob3Vs
ZEJlKCdzcjEub3duZXJEb2N1bWVudCcsICdzcjIub3duZXJEb2N1bWVudCcpOworCisgICAgdmFy
IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKKyAgICBpZnJhbWVE
b2MgPSBpZnJhbWUuY29udGVudERvY3VtZW50OworICAgIGlmcmFtZURvYy5ib2R5LmFwcGVuZENo
aWxkKHRhcmdldCk7CisKKyAgICBzaG91bGRCZSgnc3IxLm93bmVyRG9jdW1lbnQnLCAnaWZyYW1l
RG9jJyk7CisgICAgc2hvdWxkQmUoJ3NyMi5vd25lckRvY3VtZW50JywgJ2lmcmFtZURvYycpOwor
fQorCitzZXRVcE9uY2UoKTsKK2RvVGVzdCgpOwordGVhckRvd25PbmNlKCk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCAwNjdiZDAwMTBlNjg2MTU1YjE2OTA1ODI3NWNlZjVk
YzRjZWRiYzA1Li41ZmNjZWZjMGJlNWViOWIxNTE2MTA4YzIxM2QzODkxM2VlYjdmN2Q4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMjA5NCw2ICsyMDk0LDcgQEAgZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbAogZmFz
dC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwKK2Zhc3QvZG9t
L3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKIAogIyBDU1MgRmlsdGVycyBz
dXBwb3J0IG5vdCB5ZXQgZW5hYmxlZCAobmVlZHMgRU5BQkxFX0NTU19GSUxURVJTKS4KICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDY5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCmluZGV4IDIyODcxMDUwOTlkNDhiNzM0NGU5MjE1NjgzNTQ1ZmJhYWQ0MDFhZDEu
LjM4OWMzYmViNmFhNmFiZWE2MjMyNjBmMzc1ZGQ1NmU4NTAxYmI0NzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCkBAIC00MzMsNiArNDMzLDcgQEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwKIGZhc3QvZG9t
L3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBs
ZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCitmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93cm9vdC1hZG9wdC5odG1sCiAKICMgSlNDIGRvZXMgbm90IHN1cHBvcnQgc2V0SXNvbGF0ZWRX
b3JsZFNlY3VyaXR5T3JpZ2luIChodHRwOi8vd2Via2l0Lm9yZy9iLzYxNTQwKQogaHR0cC90ZXN0
cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2Nyb3NzLW9yaWdpbi14aHIuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKaW5kZXggZjc4ZWU0ZDg1MjVkY2NlM2YzOTY5ZWFjYjQxZWI4MzBlOGIzN2Mw
Ni4uZWUyN2ZmMmI5NjgwZjRlNzhhZGRkZjU3YTgxODBlYjFlN2Q0OGU4MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCkBAIC0xNzEsNiArMTcxLDcgQEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwKIGZhc3QvZG9t
L3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBs
ZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCitmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93cm9vdC1hZG9wdC5odG1sCiAKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJs
ZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAppbmRleCAxMzM1MDk1NDE0ZWI4M2FiMDBmYmY1ODU2ZDdjMDljN2RiYzJmNzFi
Li5iZDc3MmE3Y2ZhMzY5NTMzMTJjOTE1YTFkNTM3YjgxNDNjMGQzMzEwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZApAQCAtMTQ1OSw2ICsxNDU5LDcgQEAgZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXVsLWxpLmh0bWwKIGZhc3Qv
ZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0
aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCitmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUt
c2hhZG93cm9vdC1hZG9wdC5odG1sCiAKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVu
YWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXggNDZjNTczOGM5ZTEzNTVkNzM4ZDdlOWQ2ZDZk
NTM3NzBiMmQyZTc0Ni4uN2JkZGRhNjllNTk4MjdmNjE0ZTQxYTczZmU4MDkxYTVmNGZhMjVkZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xOTcyLDYgKzE5NzIsNyBA
QCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNoZWQuaHRtbAogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1yb290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93
cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcu
aHRtbAorZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAogCiAj
IENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9i
LzU3MzEyCiBmYXN0L3JlZ2lvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKaW5kZXggNGFhNzcw
YzMyNDY0MGUxZGQ4MjU0NmRhOWY2Mjg1NWNjNGE4Nzc2MC4uNjQ4OWE2ZjkwNjAyMDgzZjg5Mjdl
OWI0OTNhY2ZkODAxNjQwMWU4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2sy
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKQEAgLTEwNzMs
NiArMTA3Myw3IEBAIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9k
b20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJp
bmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAog
CiAjIFdUUiBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgZXZlbnRTZW5kZXIuY29udGludW91
c01vdXNlU2Nyb2xsQnkKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY5NDE3Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129408</attachid>
            <date>2012-02-29 01:05:14 -0800</date>
            <delta_ts>2012-02-29 03:32:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79768-20120229180512.patch</filename>
            <type>text/plain</type>
            <size>13124</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzUxODI5YTgyOGVkMGIx
Njk1NzkzZDI2ODBjZjQwM2ZmNGQwMjA1OS4uNjhjZmNlODhlYWI0YmQ1NTBmZjcxY2M2YTI2ZDZm
NDljYWQ4ZmUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTI5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBNZXRob2RzIGlu
IFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNoYWRv
dyByb290cyBhd2FyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU29tZSBtZXRob2RzIGluIFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgd2Vy
ZSBub3QgbXVsdGlwbGUgc2hhZG93IHJvb3RzIGF3YXJlLgorICAgICAgICBUaGV5IHNob3VsZCBj
b25zaWRlciBtdWx0aXBsZSBzaGFkb3cgcm9vdHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20v
c2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAorCisgICAgICAgICogZG9tL1No
YWRvd1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJlZTo6c2V0UGFyZW50VHJl
ZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJl
ZTo6Y2hpbGROZWVkc1N0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1RyZWU6
Om5lZWRzU3R5bGVSZWNhbGMpOgorICAgICAgICAqIGRvbS9TaGFkb3dUcmVlLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFNoYWRvd1RyZWUpOgorICAgICAgICAqIGRvbS9UcmVlU2Nv
cGVBZG9wdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNoYWRvd1RyZWVGb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRyZWVUb05ld1Njb3BlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdEb2N1bWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGVBZG9wdGVyOjptb3ZlU2hhZG93VHJlZVRvTmV3RG9j
dW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZUFkb3B0
ZXIuaDoKKyAgICAgICAgKFRyZWVTY29wZUFkb3B0ZXIpOgorCiAyMDEyLTAyLTI4ICBZb3NoaWZ1
bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBTcGluIGJ1
dHRvbiBzb21ldGltZXMgaWdub3JlcyBJbmRldGVybWluYXRlIG9mIG1fdXBEb3duU3RhdGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dUcmVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dUcmVlLmNwcAppbmRleCBiMjhkZjA1MjNhMGZjOWQwNzAwNzQ5NTNlMGVi
NzFkOTQ4ZTg4NDdhLi4zNTA2Nzg2ZjgzNGJkMWYxZWYyMzJiMjc2MWQ0YzFmZmZhNTUxNTFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93VHJlZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuY3BwCkBAIC0xNTYsNiArMTU2LDEyIEBAIHZvaWQgU2hh
ZG93VHJlZTo6d2lsbFJlbW92ZSgpCiAgICAgICAgIHJvb3QtPndpbGxSZW1vdmUoKTsKIH0KIAor
dm9pZCBTaGFkb3dUcmVlOjpzZXRQYXJlbnRUcmVlU2NvcGUoVHJlZVNjb3BlKiBzY29wZSkKK3sK
KyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB5b3VuZ2VzdFNoYWRvd1Jvb3QoKTsgcm9vdDsg
cm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93Um9vdCgpKQorICAgICAgICByb290LT5zZXRQYXJlbnRU
cmVlU2NvcGUoc2NvcGUpOworfQorCiB2b2lkIFNoYWRvd1RyZWU6OmF0dGFjaCgpCiB7CiAgICAg
Ly8gQ2hpbGRyZW4gb2YgbV9zZWxlY3RvciBpcyBwb3B1bGF0ZWQgbGF6aWx5IGluCkBAIC0yMDMs
MTkgKzIwOSwyMSBAQCB2b2lkIFNoYWRvd1RyZWU6OnJlYXR0YWNoKCkKIGJvb2wgU2hhZG93VHJl
ZTo6Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCkKIHsKICAgICBBU1NFUlQoeW91bmdlc3RTaGFkb3dS
b290KCkpOwotICAgIGlmICgheW91bmdlc3RTaGFkb3dSb290KCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB5b3VuZ2VzdFNoYWRvd1Jvb3QoKTsg
cm9vdDsgcm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93Um9vdCgpKQorICAgICAgICBpZiAocm9vdC0+
Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IHJldHVybiB5b3VuZ2VzdFNoYWRvd1Jvb3QoKS0+Y2hpbGROZWVkc1N0eWxlUmVjYWxjKCk7Cisg
ICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFNoYWRvd1RyZWU6Om5lZWRzU3R5bGVSZWNhbGMo
KQogewogICAgIEFTU0VSVCh5b3VuZ2VzdFNoYWRvd1Jvb3QoKSk7Ci0gICAgaWYgKCF5b3VuZ2Vz
dFNoYWRvd1Jvb3QoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGZvciAoU2hhZG93Um9v
dCogcm9vdCA9IHlvdW5nZXN0U2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+b2xkZXJT
aGFkb3dSb290KCkpCisgICAgICAgIGlmIChyb290LT5uZWVkc1N0eWxlUmVjYWxjKCkpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIHJldHVybiB5b3VuZ2VzdFNoYWRvd1Jvb3QoKS0+
bmVlZHNTdHlsZVJlY2FsYygpOworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdm9pZCBTaGFkb3dU
cmVlOjpyZWNhbGNTaGFkb3dUcmVlU3R5bGUoTm9kZTo6U3R5bGVDaGFuZ2UgY2hhbmdlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TaGFkb3dUcmVlLmgKaW5kZXggOTJlOWIxM2Q4ZDc3NDFlZTVjYjQyZjcxNDBhN2VkMWFj
NjI0YTA0YS4uZDUzZGFlMTNjMmI0NWU0MTBhNzIxMmYwNDU3NmZmN2I3YjU3NjRkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93VHJlZS5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBF
bGVtZW50OwogY2xhc3MgSFRNTENvbnRlbnRTZWxlY3RvcjsKIGNsYXNzIEluc2VydGlvblBvaW50
OworY2xhc3MgVHJlZVNjb3BlOwogCiBjbGFzcyBTaGFkb3dUcmVlIHsKIHB1YmxpYzoKQEAgLTU5
LDYgKzYwLDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlZEZyb21UcmVlKGJvb2wgZGVlcCk7
CiAgICAgdm9pZCB3aWxsUmVtb3ZlKCk7CiAKKyAgICB2b2lkIHNldFBhcmVudFRyZWVTY29wZShU
cmVlU2NvcGUqKTsKKwogICAgIHZvaWQgYXR0YWNoKCk7CiAgICAgdm9pZCBkZXRhY2goKTsKICAg
ICB2b2lkIHJlYXR0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNj
b3BlQWRvcHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAK
aW5kZXggYzViNjMzNTA4ZDc1OWY0MTJhY2M1MWU5NGE2ZDVhMjFlZDM5OWUzOC4uODJlYTQ3NzQ3
ODNiNWIxMDdkYmU3MTcyNmFiMmVhZjg2NzFiZjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVl
U2NvcGVBZG9wdGVyLmNwcApAQCAtMzIsOSArMzIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0YXRpYyBpbmxpbmUgU2hhZG93Um9vdCogc2hhZG93Um9vdEZvcihOb2RlKiBub2RlKQor
c3RhdGljIGlubGluZSBTaGFkb3dUcmVlKiBzaGFkb3dUcmVlRm9yKE5vZGUqIG5vZGUpCiB7Ci0g
ICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQobm9kZSktPmhhc1No
YWRvd1Jvb3QoKSA/IHRvRWxlbWVudChub2RlKS0+c2hhZG93VHJlZSgpLT55b3VuZ2VzdFNoYWRv
d1Jvb3QoKSA6IDA7CisgICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRvRWxlbWVu
dChub2RlKS0+c2hhZG93VHJlZSgpIDogMDsKIH0KIAogdm9pZCBUcmVlU2NvcGVBZG9wdGVyOjpt
b3ZlVHJlZVRvTmV3U2NvcGUoTm9kZSogcm9vdCkgY29uc3QKQEAgLTYzLDEwICs2MywxMCBAQCB2
b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdTY29wZShOb2RlKiByb290KSBjb25z
dAogICAgICAgICBpZiAod2lsbE1vdmVUb05ld0RvY3VtZW50KQogICAgICAgICAgICAgbW92ZU5v
ZGVUb05ld0RvY3VtZW50KG5vZGUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVudCk7CiAKLSAgICAg
ICAgaWYgKFNoYWRvd1Jvb3QqIHNoYWRvdyA9IHNoYWRvd1Jvb3RGb3Iobm9kZSkpIHsKLSAgICAg
ICAgICAgIHNoYWRvdy0+c2V0UGFyZW50VHJlZVNjb3BlKG1fbmV3U2NvcGUpOworICAgICAgICBp
ZiAoU2hhZG93VHJlZSogdHJlZSA9IHNoYWRvd1RyZWVGb3Iobm9kZSkpIHsKKyAgICAgICAgICAg
IHRyZWUtPnNldFBhcmVudFRyZWVTY29wZShtX25ld1Njb3BlKTsKICAgICAgICAgICAgIGlmICh3
aWxsTW92ZVRvTmV3RG9jdW1lbnQpCi0gICAgICAgICAgICAgICAgbW92ZVRyZWVUb05ld0RvY3Vt
ZW50KHNoYWRvdywgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKKyAgICAgICAgICAgICAgICBt
b3ZlU2hhZG93VHJlZVRvTmV3RG9jdW1lbnQodHJlZSwgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50
KTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTc1LDExICs3NSwxNyBAQCB2b2lkIFRyZWVTY29w
ZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdEb2N1bWVudChOb2RlKiByb290LCBEb2N1bWVudCogb2xk
RG9jdW1lbnQsCiB7CiAgICAgZm9yIChOb2RlKiBub2RlID0gcm9vdDsgbm9kZTsgbm9kZSA9IG5v
ZGUtPnRyYXZlcnNlTmV4dE5vZGUocm9vdCkpIHsKICAgICAgICAgbW92ZU5vZGVUb05ld0RvY3Vt
ZW50KG5vZGUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVudCk7Ci0gICAgICAgIGlmIChTaGFkb3dS
b290KiBzaGFkb3cgPSBzaGFkb3dSb290Rm9yKG5vZGUpKQotICAgICAgICAgICAgbW92ZVRyZWVU
b05ld0RvY3VtZW50KHNoYWRvdywgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKKyAgICAgICAg
aWYgKFNoYWRvd1RyZWUqIHRyZWUgPSBzaGFkb3dUcmVlRm9yKG5vZGUpKQorICAgICAgICAgICAg
bW92ZVNoYWRvd1RyZWVUb05ld0RvY3VtZW50KHRyZWUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVu
dCk7CiAgICAgfQogfQogCitpbmxpbmUgdm9pZCBUcmVlU2NvcGVBZG9wdGVyOjptb3ZlU2hhZG93
VHJlZVRvTmV3RG9jdW1lbnQoU2hhZG93VHJlZSogdHJlZSwgRG9jdW1lbnQqIG9sZERvY3VtZW50
LCBEb2N1bWVudCogbmV3RG9jdW1lbnQpIGNvbnN0Cit7CisgICAgZm9yIChTaGFkb3dSb290KiBy
b290ID0gdHJlZS0+eW91bmdlc3RTaGFkb3dSb290KCk7IHJvb3Q7IHJvb3QgPSByb290LT5vbGRl
clNoYWRvd1Jvb3QoKSkKKyAgICAgICAgbW92ZVRyZWVUb05ld0RvY3VtZW50KHJvb3QsIG9sZERv
Y3VtZW50LCBuZXdEb2N1bWVudCk7Cit9CisKICNpZm5kZWYgTkRFQlVHCiBzdGF0aWMgYm9vbCBk
aWRNb3ZlVG9OZXdEb2N1bWVudFdhc0NhbGxlZCA9IGZhbHNlOwogc3RhdGljIERvY3VtZW50KiBv
bGREb2N1bWVudERpZE1vdmVUb05ld0RvY3VtZW50V2FzQ2FsbGVkV2l0aCA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuaAppbmRleCBkMmJkNGQ0ZjAxZTdkMjNjYzYzMDVjMTM4
MjAwNTU2NTE2ZTU5MjA1Li45NDI1NWY0NzlkYTMyYjUxY2RkNDc4ZDBkOTE4NDQ4YWMxNDgyYTgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIG1vdmVUcmVlVG9OZXdTY29wZShOb2RlKikgY29uc3Q7CiAgICAg
dm9pZCBtb3ZlVHJlZVRvTmV3RG9jdW1lbnQoTm9kZSosIERvY3VtZW50KiBvbGREb2N1bWVudCwg
RG9jdW1lbnQqIG5ld0RvY3VtZW50KSBjb25zdDsKICAgICB2b2lkIG1vdmVOb2RlVG9OZXdEb2N1
bWVudChOb2RlKiwgRG9jdW1lbnQqIG9sZERvY3VtZW50LCBEb2N1bWVudCogbmV3RG9jdW1lbnQp
IGNvbnN0OworICAgIHZvaWQgbW92ZVNoYWRvd1RyZWVUb05ld0RvY3VtZW50KFNoYWRvd1RyZWUq
LCBEb2N1bWVudCogb2xkRG9jdW1lbnQsIERvY3VtZW50KiBuZXdEb2N1bWVudCkgY29uc3Q7CiAK
ICAgICBOb2RlKiBtX3RvQWRvcHQ7CiAgICAgVHJlZVNjb3BlKiBtX25ld1Njb3BlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDM1OWE2YzY1NThlNTg5ZmFiMTY1ODdjNTFhNmRkYmJlYzBjZDFjYzkuLjI0YjUzMWE3ZDZjMjNl
NjM0MDg1OGEyOTk4MTNkYzEyODJjY2NhZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0w
Mi0yOSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
TWV0aG9kcyBpbiBTaGFkb3dUcmVlIGFuZCBUcmVlU2NvcGVBZG9wdGVyIHNob3VsZCBiZSBtdWx0
aXBsZSBzaGFkb3cgcm9vdHMgYXdhcmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03OTc2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRv
cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlw
bGUtc2hhZG93cm9vdC1hZG9wdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwv
U2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Nr
aXBwZWQ6CisKIDIwMTItMDItMjggIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbRm9ybXNdIFNwaW4gYnV0dG9uIHNvbWV0aW1lcyBpZ25vcmVzIEluZGV0
ZXJtaW5hdGUgb2YgbV91cERvd25TdGF0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk3NWQ5Njg4MjgzMWIwYTkyZGNkYTAwOTRiYjZmODFiOWE4YzkxYzUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUt
c2hhZG93cm9vdC1hZG9wdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0
IGNoZWNrcyBtdWx0aXBsZSBzaGFkb3cgdHJlZXMgY2FuIGJlIG1vdmVkIGludG8gYW5vdGhlciBk
b2N1bWVudC4KKworUEFTUyBkb2N1bWVudCBpcyBzcjEub3duZXJEb2N1bWVudAorUEFTUyBzcjEu
b3duZXJEb2N1bWVudCBpcyBzcjIub3duZXJEb2N1bWVudAorUEFTUyBzcjEub3duZXJEb2N1bWVu
dCBpcyBpZnJhbWVEb2MKK1BBU1Mgc3IyLm93bmVyRG9jdW1lbnQgaXMgaWZyYW1lRG9jCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFk
b3B0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI2MzdlZWFiNDcwNzA0NWJlYjI0YmU2Y2Y4NzliMzkzNTRi
Y2RmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0
aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBjaGVj
a3MgbXVsdGlwbGUgc2hhZG93IHRyZWVzIGNhbiBiZSBtb3ZlZCBpbnRvIGFub3RoZXIgZG9jdW1l
bnQuPC9wPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisKKzxpZnJhbWUgaWQ9ImlmcmFtZSI+
PC9pZnJhbWU+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBzZXRVcE9uY2UoKSB7CisgICAgaW50ZXJu
YWxzLnNldE11bHRpcGxlU2hhZG93U3VidHJlZXNFbmFibGVkKHRydWUpOworfQorCitmdW5jdGlv
biB0ZWFyRG93bk9uY2UoKSB7CisgICAgaW50ZXJuYWxzLnNldE11bHRpcGxlU2hhZG93U3VidHJl
ZXNFbmFibGVkKGZhbHNlKTsKK30KKworZnVuY3Rpb24gZG9UZXN0KCkgeworICAgIHZhciB0YXJn
ZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBzcjEgPSBuZXcgV2ViS2l0
U2hhZG93Um9vdCh0YXJnZXQpOworICAgIHNyMiA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRhcmdl
dCk7CisKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQnLCAnc3IxLm93bmVyRG9jdW1lbnQnKTsKKyAg
ICBzaG91bGRCZSgnc3IxLm93bmVyRG9jdW1lbnQnLCAnc3IyLm93bmVyRG9jdW1lbnQnKTsKKwor
ICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CisgICAg
aWZyYW1lRG9jID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudDsKKyAgICBpZnJhbWVEb2MuYm9keS5h
cHBlbmRDaGlsZCh0YXJnZXQpOworCisgICAgc2hvdWxkQmUoJ3NyMS5vd25lckRvY3VtZW50Jywg
J2lmcmFtZURvYycpOworICAgIHNob3VsZEJlKCdzcjIub3duZXJEb2N1bWVudCcsICdpZnJhbWVE
b2MnKTsKK30KKworc2V0VXBPbmNlKCk7Citkb1Rlc3QoKTsKK3RlYXJEb3duT25jZSgpOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggMDY3YmQwMDEwZTY4NjE1NWIxNjkwNTgy
NzVjZWY1ZGM0Y2VkYmMwNS4uNWZjY2VmYzBiZTVlYjliMTUxNjEwOGMyMTNkMzg5MTNlZWI3Zjdk
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTIwOTQsNiArMjA5NCw3IEBAIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1hdHRhY2hlZC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtbmV3Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0
bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCitm
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCiAKICMgQ1NTIEZp
bHRlcnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9DU1NfRklMVEVSUyku
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ2OQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZAppbmRleCAyMjg3MTA1MDk5ZDQ4YjczNDRlOTIxNTY4MzU0NWZiYWFk
NDAxYWQxLi4zODljM2JlYjZhYTZhYmVhNjIzMjYwZjM3NWRkNTZlODUwMWJiNDc2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtNDMzLDYgKzQzMyw3IEBAIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sCiBm
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
bXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRp
cGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAogCiAjIEpTQyBkb2VzIG5vdCBzdXBwb3J0IHNldElz
b2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbiAoaHR0cDovL3dlYmtpdC5vcmcvYi82MTU0MCkKIGh0
dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IGY3OGVlNGQ4NTI1ZGNjZTNmMzk2OWVhY2I0MWViODMw
ZThiMzdjMDYuLmVlMjdmZjJiOTY4MGY0ZTc4YWRkZGY1N2E4MTgwZWIxZTdkNDhlODEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTcxLDYgKzE3MSw3IEBAIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1sCiBm
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
bXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRp
cGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHll
dCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1NraXBwZWQKaW5kZXggMTMzNTA5NTQxNGViODNhYjAwZmJmNTg1NmQ3YzA5Yzdk
YmMyZjcxYi4uYmQ3NzJhN2NmYTM2OTUzMzEyYzkxNWExZDUzN2I4MTQzYzBkMzMxMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTE0NTksNiArMTQ1OSw3IEBAIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1s
CiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFk
b3cvbXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211
bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90
IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IDQ2YzU3MzhjOWUxMzU1ZDczOGQ3
ZTlkNmQ2ZDUzNzcwYjJkMmU3NDYuLjdiZGRkYTY5ZTU5ODI3ZjYxNGU0MWE3M2ZlODA5MWE1ZjRm
YTI1ZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAtMTk3Miw2ICsx
OTcyLDcgQEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwKIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxl
LXNoYWRvd3Jvb3QuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVu
ZGVyaW5nLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0
bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtp
dC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCmluZGV4
IDRhYTc3MGMzMjQ2NDBlMWRkODI1NDZkYTlmNjI4NTVjYzRhODc3NjAuLjY0ODlhNmY5MDYwMjA4
M2Y4OTI3ZTliNDkzYWNmZDgwMTY0MDFlODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3drMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCkBA
IC0xMDczLDYgKzEwNzMsNyBAQCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwK
IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRp
cGxlLXNoYWRvd3Jvb3QuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qt
cmVuZGVyaW5nLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0
Lmh0bWwKIAogIyBXVFIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGV2ZW50U2VuZGVyLmNv
bnRpbnVvdXNNb3VzZVNjcm9sbEJ5CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02OTQxNwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129435</attachid>
            <date>2012-02-29 03:32:59 -0800</date>
            <delta_ts>2012-02-29 17:27:46 -0800</delta_ts>
            <desc>Wrong patch</desc>
            <filename>bug-79768-20120229203257.patch</filename>
            <type>text/plain</type>
            <size>11382</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhjZmNlODhlYWI0YmQ1
NTBmZjcxY2M2YTI2ZDZmNDljYWQ4ZmUzMC4uYjM4YWUwMmExZjQ3MjVkNDZhZTFlYmNjYzBhM2U4
ZTFkMzYyYWQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAyLTI5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4gCisKKyAgICAgICAgUmVmYWN0b3Jp
bmc6IG1ldGhvZHMgbGlrZSBmaXJzdFJlbmRlcmVyT2YgaW4gTm9kZVJlbmRlcmluZ0NvbnRleHQg
c2hvdWxkIGJlIGV4dHJhY3RlZCBhbmQgSW5zZXJ0aW9uUG9pbnQtYXdhcmUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTc2OAorCisgICAgICAgIE5l
ZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgVGhp
cyBwYXRjaCBpcyBvbmUgc3RlcCBvZiBzdXBwb3J0aW5nIDxzaGFkb3c+IGVsZW1lbnQgaW4gTm9k
ZVJlbmRlcmluZ0NvbnRleHQuCisKKyAgICAgICAgV2hlbiByZW5kZXJpbmcgPHNoYWRvdz4gZWxl
bWVudCwgbWV0aG9kcyBsaWtlIGZpcnN0UmVuZGVyZXJPZiBpcyBuZWNlc3NhcnkuIFRoaXMgcGF0
Y2gKKyAgICAgICAgZXh0cmFjdHMgc3VjaCBtZXRob2RzLCBhbmQgbWFrZSB0aGVtIEluc2VydGlv
blBvaW50LWF3YXJlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlcyBpbiBiZWhh
dmlvci4KKworICAgICAgICAqIGRvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnNlbGVjdHNGcm9tTGlnaHRDaGlsZHJlbik6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6Tm9kZVJlbmRlcmluZ0Nv
bnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6bmV4dFJlbmRlcmVyT2YpOgorICAgICAgICAoV2Vi
Q29yZTo6cHJldmlvdXNSZW5kZXJlck9mKToKKyAgICAgICAgKFdlYkNvcmU6OmZpcnN0UmVuZGVy
ZXJPZkluc2VydGlvblBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Omxhc3RSZW5kZXJlck9mSW5z
ZXJ0aW9uUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6Zmlyc3RSZW5kZXJlck9mKToKKyAgICAg
ICAgKFdlYkNvcmU6Omxhc3RSZW5kZXJlck9mKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5k
ZXJpbmdDb250ZXh0OjpuZXh0UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRl
cmluZ0NvbnRleHQ6OnByZXZpb3VzUmVuZGVyZXIpOgorCiAyMDEyLTAyLTI5ICBTaGlueWEgS2F3
YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZXRob2RzIGluIFNoYWRv
d1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNoYWRvdyByb290
cyBhd2FyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IDRiZGVjN2Y4MDEyZTJjNjhhNTMyMDc4NTU5OGQ1NGJhMTlhNmZhNDkuLjQyZDkyMzY3NGRj
NTk3N2JkYzdkNDI5MGIwMjBiNmQ5MWM0M2JlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGVSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNDMsNiArNDMsMjMgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCitzdGF0aWMgUmVuZGVyT2Jq
ZWN0KiBmaXJzdFJlbmRlcmVyT2YoTm9kZSopOworc3RhdGljIFJlbmRlck9iamVjdCogbGFzdFJl
bmRlcmVyT2YoTm9kZSopOworCitzdGF0aWMgaW5saW5lIGJvb2wgc2VsZWN0c0Zyb21MaWdodENo
aWxkcmVuKEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkKK3sKKyAgICBpZiAoaW5zZXJ0
aW9uUG9pbnQtPmlzQ29udGVudEVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBTaGFkb3dSb290KiByb290ID0gdG9TaGFkb3dSb290KGluc2VydGlvblBvaW50LT5zaGFkb3dU
cmVlUm9vdE5vZGUoKSk7CisgICAgaWYgKCFyb290KQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICByZXR1cm4gcm9vdC0+aXNPbGRlc3QoKTsKK30KKwogTm9kZVJlbmRlcmluZ0NvbnRleHQ6
Ok5vZGVSZW5kZXJpbmdDb250ZXh0KE5vZGUqIG5vZGUpCiAgICAgOiBtX3BoYXNlKEF0dGFjaGlu
Z05vdEluVHJlZSkKICAgICAsIG1fbm9kZShub2RlKQpAQCAtNTYsMzAgKzczLDMwIEBAIE5vZGVS
ZW5kZXJpbmdDb250ZXh0OjpOb2RlUmVuZGVyaW5nQ29udGV4dChOb2RlKiBub2RlKQogICAgIGlm
ICghcGFyZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAocGFyZW50LT5pc1NoYWRvd1Jv
b3QoKSkgewotICAgICAgICAvLyBGSVhNRTogV2UgZG9uJ3Qgc3VwcG9ydCA8c2hhZG93PiB5ZXQs
IHNvIHRoZSBub24teW91bmdlc3Qgc2hhZG93IHdvbid0IGJlIHJlbmRlcmVkLgotICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG9kX2J1Z3MuY2dpP2lkPTc4NTk2Ci0gICAgICAg
IGlmICh0b1NoYWRvd1Jvb3QocGFyZW50KS0+aXNZb3VuZ2VzdCgpKQotICAgICAgICAgICAgbV9w
aGFzZSA9IEF0dGFjaGluZ1NoYWRvd0NoaWxkOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBt
X3BoYXNlID0gQXR0YWNoaW5nTm90RGlzdHJpYnV0ZWQ7CisgICAgaWYgKHBhcmVudC0+aXNTaGFk
b3dSb290KCkgJiYgdG9TaGFkb3dSb290KHBhcmVudCktPmlzWW91bmdlc3QoKSkgeworICAgICAg
ICBtX3BoYXNlID0gQXR0YWNoaW5nU2hhZG93Q2hpbGQ7CiAgICAgICAgIG1fcGFyZW50Tm9kZUZv
clJlbmRlcmluZ0FuZFN0eWxlID0gcGFyZW50LT5zaGFkb3dIb3N0KCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBpZiAocGFyZW50LT5pc0VsZW1lbnROb2RlKCkpIHsKLSAgICAgICAg
aWYgKHRvRWxlbWVudChwYXJlbnQpLT5oYXNTaGFkb3dSb290KCkpIHsKKyAgICBpZiAocGFyZW50
LT5pc0VsZW1lbnROb2RlKCkgfHwgcGFyZW50LT5pc1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBp
ZiAocGFyZW50LT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KHBhcmVudCktPmhhc1NoYWRv
d1Jvb3QoKSkKICAgICAgICAgICAgIG1fdmlzdWFsUGFyZW50U2hhZG93VHJlZSA9IHRvRWxlbWVu
dChwYXJlbnQpLT5zaGFkb3dUcmVlKCk7Ci0gICAgICAgICAgICBpZiAoKG1faW5zZXJ0aW9uUG9p
bnQgPSBtX3Zpc3VhbFBhcmVudFNoYWRvd1RyZWUtPmluc2VydGlvblBvaW50Rm9yKG1fbm9kZSkp
Ci0gICAgICAgICAgICAgICAgJiYgbV92aXN1YWxQYXJlbnRTaGFkb3dUcmVlLT5pc1NlbGVjdG9y
QWN0aXZlKCkpIHsKKyAgICAgICAgZWxzZSBpZiAocGFyZW50LT5pc1NoYWRvd1Jvb3QoKSkKKyAg
ICAgICAgICAgIG1fdmlzdWFsUGFyZW50U2hhZG93VHJlZSA9IHRvU2hhZG93Um9vdChwYXJlbnQp
LT50cmVlKCk7CiAKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2UgZG9uJ3Qgc3VwcG9ydCA8
c2hhZG93PiB5ZXQsIHNvIHRoZSBub24teW91bmdlc3Qgc2hhZG93IHdvbid0IGJlIHJlbmRlcmVk
LgotICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVncy5j
Z2k/aWQ9Nzg1OTYKLSAgICAgICAgICAgICAgICBpZiAodG9TaGFkb3dSb290KG1faW5zZXJ0aW9u
UG9pbnQtPnNoYWRvd1RyZWVSb290Tm9kZSgpKS0+aXNZb3VuZ2VzdCgpKSB7CisgICAgICAgIGlm
IChtX3Zpc3VhbFBhcmVudFNoYWRvd1RyZWUpIHsKKyAgICAgICAgICAgIGlmICgobV9pbnNlcnRp
b25Qb2ludCA9IG1fdmlzdWFsUGFyZW50U2hhZG93VHJlZS0+aW5zZXJ0aW9uUG9pbnRGb3IobV9u
b2RlKSkpIHsKKyAgICAgICAgICAgICAgICBTaGFkb3dSb290KiBzaGFkb3dUcmVlUm9vdCA9IHRv
U2hhZG93Um9vdChtX2luc2VydGlvblBvaW50LT5zaGFkb3dUcmVlUm9vdE5vZGUoKSk7CisKKyAg
ICAgICAgICAgICAgICBpZiAoc2hhZG93VHJlZVJvb3QtPmlzWW91bmdlc3QoKSkgewogICAgICAg
ICAgICAgICAgICAgICBtX3BoYXNlID0gQXR0YWNoaW5nRGlzdHJpYnV0ZWQ7CiAgICAgICAgICAg
ICAgICAgICAgIG1fcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlID0gTm9kZVJlbmRlcmlu
Z0NvbnRleHQobV9pbnNlcnRpb25Qb2ludCkucGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxl
KCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICAvLyBXZSBkb24ndCBzdXBwb3J0IDxzaGFkb3c+IHlldCwgc28gdGhlIG5v
bi15b3VuZ2VzdCBzaGFkb3cgcm9vdCB3b24ndCBiZSByZW5kZXJlZC4KKyAgICAgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG9kX2J1Zz9pZD03ODU5NgogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBtX3BoYXNlID0gQXR0YWNoaW5nTm90RGlzdHJpYnV0ZWQ7CkBA
IC04Nyw2ICsxMDQsNyBAQCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6Tm9kZVJlbmRlcmluZ0NvbnRl
eHQoTm9kZSogbm9kZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisKICAgICAg
ICAgaWYgKGlzU2hhZG93Qm91bmRhcnkocGFyZW50KSkgewogICAgICAgICAgICAgaWYgKHRvSW5z
ZXJ0aW9uUG9pbnQocGFyZW50KS0+aGFzU2VsZWN0aW9uKCkpCiAgICAgICAgICAgICAgICAgbV9w
aGFzZSA9IEF0dGFjaGluZ05vdEZhbGxiYWNrZWQ7CkBAIC0xMjksMTMgKzE0NywyMiBAQCBQYXNz
UmVmUHRyPFJlbmRlclN0eWxlPiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6cmVsZWFzZVN0eWxlKCkK
IAogc3RhdGljIFJlbmRlck9iamVjdCogbmV4dFJlbmRlcmVyT2YoSW5zZXJ0aW9uUG9pbnQqIHBh
cmVudCwgTm9kZSogY3VycmVudCkKIHsKLSAgICBIVE1MQ29udGVudFNlbGVjdGlvbiogY3VycmVu
dFNlbGVjdGlvbiA9IHBhcmVudC0+c2VsZWN0aW9ucygpLT5maW5kKGN1cnJlbnQpOwotICAgIGlm
ICghY3VycmVudFNlbGVjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7CisgICAgLy8gRklYTUU6IFdl
IHNob3VsZCBjb25zaWRlciA8c2hhZG93PiBlbGVtZW50IGhlcmUuCisgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTk2CiAKLSAgICBmb3IgKEhUTUxDb250
ZW50U2VsZWN0aW9uKiBzZWxlY3Rpb24gPSBjdXJyZW50U2VsZWN0aW9uLT5uZXh0KCk7IHNlbGVj
dGlvbjsgc2VsZWN0aW9uID0gc2VsZWN0aW9uLT5uZXh0KCkpIHsKLSAgICAgICAgaWYgKFJlbmRl
ck9iamVjdCogcmVuZGVyZXIgPSBzZWxlY3Rpb24tPm5vZGUoKS0+cmVuZGVyZXIoKSkKLSAgICAg
ICAgICAgIHJldHVybiByZW5kZXJlcjsKKyAgICBBU1NFUlQoY3VycmVudCk7CisKKyAgICBpZiAo
c2VsZWN0c0Zyb21MaWdodENoaWxkcmVuKHBhcmVudCkpIHsKKyAgICAgICAgSFRNTENvbnRlbnRT
ZWxlY3Rpb24qIGN1cnJlbnRTZWxlY3Rpb24gPSBwYXJlbnQtPnNlbGVjdGlvbnMoKS0+ZmluZChj
dXJyZW50KTsKKyAgICAgICAgaWYgKCFjdXJyZW50U2VsZWN0aW9uKQorICAgICAgICAgICAgcmV0
dXJuIDA7CisKKyAgICAgICAgZm9yIChIVE1MQ29udGVudFNlbGVjdGlvbiogc2VsZWN0aW9uID0g
Y3VycmVudFNlbGVjdGlvbi0+bmV4dCgpOyBzZWxlY3Rpb247IHNlbGVjdGlvbiA9IHNlbGVjdGlv
bi0+bmV4dCgpKSB7CisgICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHNl
bGVjdGlvbi0+bm9kZSgpLT5yZW5kZXJlcigpKQorICAgICAgICAgICAgICAgIHJldHVybiByZW5k
ZXJlcjsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiAwOwogICAgIH0KIAogICAgIHJldHVy
biAwOwpAQCAtMTQzLDYgKzE3MCwxMSBAQCBzdGF0aWMgUmVuZGVyT2JqZWN0KiBuZXh0UmVuZGVy
ZXJPZihJbnNlcnRpb25Qb2ludCogcGFyZW50LCBOb2RlKiBjdXJyZW50KQogCiBzdGF0aWMgUmVu
ZGVyT2JqZWN0KiBwcmV2aW91c1JlbmRlcmVyT2YoSW5zZXJ0aW9uUG9pbnQqIHBhcmVudCwgTm9k
ZSogY3VycmVudCkKIHsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNvbnNpZGVyIDxzaGFkb3c+
IGVsZW1lbnQgaGVyZS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg1OTYKKworICAgIEFTU0VSVChjdXJyZW50KTsKKwogICAgIFJlbmRlck9iamVjdCog
bGFzdFJlbmRlcmVyID0gMDsKIAogICAgIGZvciAoSFRNTENvbnRlbnRTZWxlY3Rpb24qIHNlbGVj
dGlvbiA9IHBhcmVudC0+c2VsZWN0aW9ucygpLT5maXJzdCgpOyBzZWxlY3Rpb247IHNlbGVjdGlv
biA9IHNlbGVjdGlvbi0+bmV4dCgpKSB7CkBAIC0xNTUsMzIgKzE4Nyw3NSBAQCBzdGF0aWMgUmVu
ZGVyT2JqZWN0KiBwcmV2aW91c1JlbmRlcmVyT2YoSW5zZXJ0aW9uUG9pbnQqIHBhcmVudCwgTm9k
ZSogY3VycmVudCkKICAgICByZXR1cm4gbGFzdFJlbmRlcmVyOwogfQogCi1zdGF0aWMgUmVuZGVy
T2JqZWN0KiBmaXJzdFJlbmRlcmVyT2YoSW5zZXJ0aW9uUG9pbnQqIHBhcmVudCkKK3N0YXRpYyBS
ZW5kZXJPYmplY3QqIGZpcnN0UmVuZGVyZXJPZkluc2VydGlvblBvaW50KEluc2VydGlvblBvaW50
KiBwYXJlbnQpCiB7Ci0gICAgaWYgKHBhcmVudC0+aGFzU2VsZWN0aW9uKCkpIHsKLSAgICAgICAg
Zm9yIChIVE1MQ29udGVudFNlbGVjdGlvbiogc2VsZWN0aW9uID0gcGFyZW50LT5zZWxlY3Rpb25z
KCktPmZpcnN0KCk7IHNlbGVjdGlvbjsgc2VsZWN0aW9uID0gc2VsZWN0aW9uLT5uZXh0KCkpIHsK
LSAgICAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gc2VsZWN0aW9uLT5ub2Rl
KCktPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlcmVyOwotICAgICAg
ICB9CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciA8c2hhZG93PiBlbGVtZW50IGhl
cmUuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTk2
CiAKLSAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFwYXJlbnQtPmhhc1NlbGVjdGlvbigpKQor
ICAgICAgICByZXR1cm4gZmlyc3RSZW5kZXJlck9mKHBhcmVudC0+Zmlyc3RDaGlsZCgpKTsKKwor
CisgICAgZm9yIChIVE1MQ29udGVudFNlbGVjdGlvbiogc2VsZWN0aW9uID0gcGFyZW50LT5zZWxl
Y3Rpb25zKCktPmZpcnN0KCk7IHNlbGVjdGlvbjsgc2VsZWN0aW9uID0gc2VsZWN0aW9uLT5uZXh0
KCkpIHsKKyAgICAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBzZWxlY3Rpb24tPm5v
ZGUoKS0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJldHVybiByZW5kZXJlcjsKICAgICB9CiAK
LSAgICByZXR1cm4gTm9kZVJlbmRlcmluZ0NvbnRleHQocGFyZW50KS5uZXh0UmVuZGVyZXIoKTsK
KyAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIFJlbmRlck9iamVjdCogbGFzdFJlbmRlcmVyT2Yo
SW5zZXJ0aW9uUG9pbnQqIHBhcmVudCkKK3N0YXRpYyBSZW5kZXJPYmplY3QqIGxhc3RSZW5kZXJl
ck9mSW5zZXJ0aW9uUG9pbnQoSW5zZXJ0aW9uUG9pbnQqIHBhcmVudCkKIHsKKyAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIGNvbnNpZGVyIDxzaGFkb3c+IGVsZW1lbnQgaGVyZS4KKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1OTYKKwogICAgIGlmIChwYXJl
bnQtPmhhc1NlbGVjdGlvbigpKSB7CiAgICAgICAgIGZvciAoSFRNTENvbnRlbnRTZWxlY3Rpb24q
IHNlbGVjdGlvbiA9IHBhcmVudC0+c2VsZWN0aW9ucygpLT5sYXN0KCk7IHNlbGVjdGlvbjsgc2Vs
ZWN0aW9uID0gc2VsZWN0aW9uLT5wcmV2aW91cygpKSB7CiAgICAgICAgICAgICBpZiAoUmVuZGVy
T2JqZWN0KiByZW5kZXJlciA9IHNlbGVjdGlvbi0+bm9kZSgpLT5yZW5kZXJlcigpKQogICAgICAg
ICAgICAgICAgIHJldHVybiByZW5kZXJlcjsKICAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAg
ICByZXR1cm4gbGFzdFJlbmRlcmVyT2YocGFyZW50LT5sYXN0Q2hpbGQoKSk7CiAKLSAgICAgICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBSZW5kZXJPYmplY3QqIGZpcnN0
UmVuZGVyZXJPZihOb2RlKiBub2RlKQoreworICAgIGZvciAoOyBub2RlOyBub2RlID0gbm9kZS0+
bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKSkgeworICAgICAg
ICAgICAgLy8gRG8gbm90IHJldHVybiBlbGVtZW50cyB0aGF0IGFyZSBhdHRhY2hlZCB0byBhIGRp
ZmZlcmVudCBmbG93LXRocmVhZC4KKyAgICAgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcigpLT5z
dHlsZSgpICYmICFub2RlLT5yZW5kZXJlcigpLT5zdHlsZSgpLT5mbG93VGhyZWFkKCkuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgcmV0dXJuIG5vZGUt
PnJlbmRlcmVyKCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaXNJbnNlcnRpb25Qb2ludChu
b2RlKSAmJiBub2RlLT5zaGFkb3dUcmVlUm9vdE5vZGUoKSkgeworICAgICAgICAgICAgaWYgKFJl
bmRlck9iamVjdCogZmlyc3QgPSBmaXJzdFJlbmRlcmVyT2ZJbnNlcnRpb25Qb2ludCh0b0luc2Vy
dGlvblBvaW50KG5vZGUpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmlyc3Q7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFJlbmRlck9iamVjdCogbGFz
dFJlbmRlcmVyT2YoTm9kZSogbm9kZSkKK3sKKyAgICBmb3IgKDsgbm9kZTsgbm9kZSA9IG5vZGUt
PnByZXZpb3VzU2libGluZygpKSB7CisgICAgICAgIGlmIChub2RlLT5yZW5kZXJlcigpKSB7Cisg
ICAgICAgICAgICAvLyBEbyBub3QgcmV0dXJuIGVsZW1lbnRzIHRoYXQgYXJlIGF0dGFjaGVkIHRv
IGEgZGlmZmVyZW50IGZsb3ctdGhyZWFkLgorICAgICAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVy
KCktPnN0eWxlKCkgJiYgIW5vZGUtPnJlbmRlcmVyKCktPnN0eWxlKCktPmZsb3dUaHJlYWQoKS5p
c0VtcHR5KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICByZXR1cm4g
bm9kZS0+cmVuZGVyZXIoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpc0luc2VydGlvblBv
aW50KG5vZGUpICYmIG5vZGUtPnNoYWRvd1RyZWVSb290Tm9kZSgpKSB7CisgICAgICAgICAgICBp
ZiAoUmVuZGVyT2JqZWN0KiBsYXN0ID0gbGFzdFJlbmRlcmVyT2ZJbnNlcnRpb25Qb2ludCh0b0lu
c2VydGlvblBvaW50KG5vZGUpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGFzdDsKKyAgICAg
ICAgfQogICAgIH0KIAotICAgIHJldHVybiBOb2RlUmVuZGVyaW5nQ29udGV4dChwYXJlbnQpLnBy
ZXZpb3VzUmVuZGVyZXIoKTsKKyAgICByZXR1cm4gMDsKIH0KIAogUmVuZGVyT2JqZWN0KiBOb2Rl
UmVuZGVyaW5nQ29udGV4dDo6bmV4dFJlbmRlcmVyKCkgY29uc3QKQEAgLTIwMywyMSArMjc4LDcg
QEAgUmVuZGVyT2JqZWN0KiBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bmV4dFJlbmRlcmVyKCkgY29u
c3QKICAgICBpZiAobV9ub2RlLT5wYXJlbnRPckhvc3ROb2RlKCkgJiYgIW1fbm9kZS0+cGFyZW50
T3JIb3N0Tm9kZSgpLT5hdHRhY2hlZCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGZvciAo
Tm9kZSogbm9kZSA9IG1fbm9kZS0+bmV4dFNpYmxpbmcoKTsgbm9kZTsgbm9kZSA9IG5vZGUtPm5l
eHRTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkpIHsKLSAgICAgICAg
ICAgIC8vIERvIG5vdCByZXR1cm4gZWxlbWVudHMgdGhhdCBhcmUgYXR0YWNoZWQgdG8gYSBkaWZm
ZXJlbnQgZmxvdy10aHJlYWQuCi0gICAgICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKS0+c3R5
bGUoKSAmJiAhbm9kZS0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+Zmxvd1RocmVhZCgpLmlzRW1wdHko
KSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHJldHVybiBub2RlLT5y
ZW5kZXJlcigpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGlzSW5zZXJ0aW9uUG9pbnQobm9k
ZSkpIHsKLSAgICAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIGZpcnN0ID0gZmlyc3RSZW5kZXJl
ck9mKHRvSW5zZXJ0aW9uUG9pbnQobm9kZSkpKQotICAgICAgICAgICAgICAgIHJldHVybiBmaXJz
dDsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiAwOworICAgIHJldHVybiBmaXJzdFJl
bmRlcmVyT2YobV9ub2RlLT5uZXh0U2libGluZygpKTsKIH0KIAogUmVuZGVyT2JqZWN0KiBOb2Rl
UmVuZGVyaW5nQ29udGV4dDo6cHJldmlvdXNSZW5kZXJlcigpIGNvbnN0CkBAIC0yMzgsMjAgKzI5
OSw3IEBAIFJlbmRlck9iamVjdCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnByZXZpb3VzUmVuZGVy
ZXIoKSBjb25zdAogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIHRoZSBzYW1lIE8oTl4y
KSBhdm9pZGFuY2UgYXMgbmV4dFJlbmRlcmVyIGRvZXMKICAgICAvLyBob3dldmVyLCB3aGVuIEkg
dHJpZWQgYWRkaW5nIGl0LCBzZXZlcmFsIHRlc3RzIGZhaWxlZC4KLSAgICBmb3IgKE5vZGUqIG5v
ZGUgPSBtX25vZGUtPnByZXZpb3VzU2libGluZygpOyBub2RlOyBub2RlID0gbm9kZS0+cHJldmlv
dXNTaWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKG5vZGUtPnJlbmRlcmVyKCkpIHsKLSAgICAgICAg
ICAgIC8vIERvIG5vdCByZXR1cm4gZWxlbWVudHMgdGhhdCBhcmUgYXR0YWNoZWQgdG8gYSBkaWZm
ZXJlbnQgZmxvdy10aHJlYWQuCi0gICAgICAgICAgICBpZiAobm9kZS0+cmVuZGVyZXIoKS0+c3R5
bGUoKSAmJiAhbm9kZS0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+Zmxvd1RocmVhZCgpLmlzRW1wdHko
KSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHJldHVybiBub2RlLT5y
ZW5kZXJlcigpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChpc0luc2VydGlvblBvaW50KG5vZGUp
KSB7Ci0gICAgICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBsYXN0ID0gbGFzdFJlbmRlcmVyT2Yo
dG9JbnNlcnRpb25Qb2ludChub2RlKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGxhc3Q7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbGFzdFJlbmRlcmVy
T2YobV9ub2RlLT5wcmV2aW91c1NpYmxpbmcoKSk7CiB9CiAKIFJlbmRlck9iamVjdCogTm9kZVJl
bmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRlcmVyKCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129561</attachid>
            <date>2012-02-29 17:27:55 -0800</date>
            <delta_ts>2012-02-29 17:33:37 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-79768-20120301102749.patch</filename>
            <type>text/plain</type>
            <size>13090</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5Mjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTdmOGJhNmUyMTEwNmEy
ZDc0YjYxZWM3ZjA1NDkzMWZhNWQzNmZmZC4uNjI5Yzg2MjM2ZDk1ODRmODQ3NjM3ZTVmZGExN2Y5
NGM0ZTUwNzE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTI5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBNZXRob2RzIGlu
IFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNoYWRv
dyByb290cyBhd2FyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU29tZSBtZXRob2RzIGluIFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgd2Vy
ZSBub3QgbXVsdGlwbGUgc2hhZG93IHJvb3RzIGF3YXJlLgorICAgICAgICBUaGV5IHNob3VsZCBj
b25zaWRlciBtdWx0aXBsZSBzaGFkb3cgcm9vdHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20v
c2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAorCisgICAgICAgICogZG9tL1No
YWRvd1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJlZTo6c2V0UGFyZW50VHJl
ZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJl
ZTo6Y2hpbGROZWVkc1N0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1RyZWU6
Om5lZWRzU3R5bGVSZWNhbGMpOgorICAgICAgICAqIGRvbS9TaGFkb3dUcmVlLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFNoYWRvd1RyZWUpOgorICAgICAgICAqIGRvbS9UcmVlU2Nv
cGVBZG9wdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNoYWRvd1RyZWVGb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRyZWVUb05ld1Njb3BlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdEb2N1bWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGVBZG9wdGVyOjptb3ZlU2hhZG93VHJlZVRvTmV3RG9j
dW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZUFkb3B0
ZXIuaDoKKyAgICAgICAgKFRyZWVTY29wZUFkb3B0ZXIpOgorCiAyMDEyLTAyLTI5ICBBbmRyZWFz
IEtsaW5nICA8YXdlc29tZWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBJc1N5bmNocm9uaXpp
bmdTdHlsZUF0dHJpYnV0ZUZsYWcgY291bGQgYmUgcHVyZ2VkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Ry
ZWUuY3BwCmluZGV4IDZjOTY2YzRlMWRlYjUyMGFmYzNmNWZjODZjNzcwZDAwNDU2M2Q4OTkuLjgx
MTMwYzQ4MWE1MDFiZDY1MWI5MjZhMWJlN2IwYjE2MmQwZjYyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93VHJlZS5jcHAKQEAgLTE1MSw2ICsxNTEsMTIgQEAgdm9pZCBTaGFkb3dUcmVlOjp3aWxsUmVt
b3ZlKCkKICAgICAgICAgcm9vdC0+d2lsbFJlbW92ZSgpOwogfQogCit2b2lkIFNoYWRvd1RyZWU6
OnNldFBhcmVudFRyZWVTY29wZShUcmVlU2NvcGUqIHNjb3BlKQoreworICAgIGZvciAoU2hhZG93
Um9vdCogcm9vdCA9IHlvdW5nZXN0U2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+b2xk
ZXJTaGFkb3dSb290KCkpCisgICAgICAgIHJvb3QtPnNldFBhcmVudFRyZWVTY29wZShzY29wZSk7
Cit9CisKIHZvaWQgU2hhZG93VHJlZTo6YXR0YWNoKCkKIHsKICAgICAvLyBDaGlsZHJlbiBvZiBt
X3NlbGVjdG9yIGlzIHBvcHVsYXRlZCBsYXppbHkgaW4KQEAgLTIxMywxOSArMjE5LDIxIEBAIHZv
aWQgU2hhZG93VHJlZTo6cmVhdHRhY2goKQogYm9vbCBTaGFkb3dUcmVlOjpjaGlsZE5lZWRzU3R5
bGVSZWNhbGMoKQogewogICAgIEFTU0VSVCh5b3VuZ2VzdFNoYWRvd1Jvb3QoKSk7Ci0gICAgaWYg
KCF5b3VuZ2VzdFNoYWRvd1Jvb3QoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGZvciAo
U2hhZG93Um9vdCogcm9vdCA9IHlvdW5nZXN0U2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9v
dC0+b2xkZXJTaGFkb3dSb290KCkpCisgICAgICAgIGlmIChyb290LT5jaGlsZE5lZWRzU3R5bGVS
ZWNhbGMoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIHlvdW5nZXN0
U2hhZG93Um9vdCgpLT5jaGlsZE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICByZXR1cm4gZmFsc2U7
CiB9CiAKIGJvb2wgU2hhZG93VHJlZTo6bmVlZHNTdHlsZVJlY2FsYygpCiB7CiAgICAgQVNTRVJU
KHlvdW5nZXN0U2hhZG93Um9vdCgpKTsKLSAgICBpZiAoIXlvdW5nZXN0U2hhZG93Um9vdCgpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChTaGFkb3dSb290KiByb290ID0geW91bmdl
c3RTaGFkb3dSb290KCk7IHJvb3Q7IHJvb3QgPSByb290LT5vbGRlclNoYWRvd1Jvb3QoKSkKKyAg
ICAgICAgaWYgKHJvb3QtPm5lZWRzU3R5bGVSZWNhbGMoKSkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOwogCi0gICAgcmV0dXJuIHlvdW5nZXN0U2hhZG93Um9vdCgpLT5uZWVkc1N0eWxlUmVjYWxj
KCk7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFNoYWRvd1RyZWU6OnJlY2FsY1NoYWRv
d1RyZWVTdHlsZShOb2RlOjpTdHlsZUNoYW5nZSBjaGFuZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93VHJlZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUu
aAppbmRleCBiZTI3MDBjMTU1OWEwYWExNDkwY2YyNjcwOTFhNzkxYjM1MmE3OTNjLi4wZWZiZGIx
MzY3NDMwM2ZmNjdhNzFlMTBlY2M1NTFhNWE0NzU0ODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93VHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dUcmVl
LmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgTm9kZTsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBI
VE1MQ29udGVudFNlbGVjdG9yOwogY2xhc3MgSW5zZXJ0aW9uUG9pbnQ7CitjbGFzcyBUcmVlU2Nv
cGU7CiAKIGNsYXNzIFNoYWRvd1RyZWUgewogcHVibGljOgpAQCAtNTksNiArNjAsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZW1vdmVkRnJvbVRyZWUoYm9vbCBkZWVwKTsKICAgICB2b2lkIHdpbGxS
ZW1vdmUoKTsKIAorICAgIHZvaWQgc2V0UGFyZW50VHJlZVNjb3BlKFRyZWVTY29wZSopOworCiAg
ICAgdm9pZCBhdHRhY2goKTsKICAgICB2b2lkIGRldGFjaCgpOwogICAgIHZvaWQgcmVhdHRhY2go
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcAppbmRleCBjNWI2MzM1MDhk
NzU5ZjQxMmFjYzUxZTk0YTZkNWEyMWVkMzk5ZTM4Li44MmVhNDc3NDc4M2I1YjEwN2RiZTcxNzI2
YWIyZWFmODY3MWJmNTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3Bl
QWRvcHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3Bw
CkBAIC0zMiw5ICszMiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGlubGlu
ZSBTaGFkb3dSb290KiBzaGFkb3dSb290Rm9yKE5vZGUqIG5vZGUpCitzdGF0aWMgaW5saW5lIFNo
YWRvd1RyZWUqIHNoYWRvd1RyZWVGb3IoTm9kZSogbm9kZSkKIHsKLSAgICByZXR1cm4gbm9kZS0+
aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2RlKS0+aGFzU2hhZG93Um9vdCgpID8gdG9F
bGVtZW50KG5vZGUpLT5zaGFkb3dUcmVlKCktPnlvdW5nZXN0U2hhZG93Um9vdCgpIDogMDsKKyAg
ICByZXR1cm4gbm9kZS0+aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVtZW50KG5vZGUpLT5zaGFkb3dU
cmVlKCkgOiAwOwogfQogCiB2b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdTY29w
ZShOb2RlKiByb290KSBjb25zdApAQCAtNjMsMTAgKzYzLDEwIEBAIHZvaWQgVHJlZVNjb3BlQWRv
cHRlcjo6bW92ZVRyZWVUb05ld1Njb3BlKE5vZGUqIHJvb3QpIGNvbnN0CiAgICAgICAgIGlmICh3
aWxsTW92ZVRvTmV3RG9jdW1lbnQpCiAgICAgICAgICAgICBtb3ZlTm9kZVRvTmV3RG9jdW1lbnQo
bm9kZSwgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKIAotICAgICAgICBpZiAoU2hhZG93Um9v
dCogc2hhZG93ID0gc2hhZG93Um9vdEZvcihub2RlKSkgewotICAgICAgICAgICAgc2hhZG93LT5z
ZXRQYXJlbnRUcmVlU2NvcGUobV9uZXdTY29wZSk7CisgICAgICAgIGlmIChTaGFkb3dUcmVlKiB0
cmVlID0gc2hhZG93VHJlZUZvcihub2RlKSkgeworICAgICAgICAgICAgdHJlZS0+c2V0UGFyZW50
VHJlZVNjb3BlKG1fbmV3U2NvcGUpOwogICAgICAgICAgICAgaWYgKHdpbGxNb3ZlVG9OZXdEb2N1
bWVudCkKLSAgICAgICAgICAgICAgICBtb3ZlVHJlZVRvTmV3RG9jdW1lbnQoc2hhZG93LCBvbGRE
b2N1bWVudCwgbmV3RG9jdW1lbnQpOworICAgICAgICAgICAgICAgIG1vdmVTaGFkb3dUcmVlVG9O
ZXdEb2N1bWVudCh0cmVlLCBvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogICAgICAgICB9CiAg
ICAgfQogfQpAQCAtNzUsMTEgKzc1LDE3IEBAIHZvaWQgVHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRy
ZWVUb05ld0RvY3VtZW50KE5vZGUqIHJvb3QsIERvY3VtZW50KiBvbGREb2N1bWVudCwKIHsKICAg
ICBmb3IgKE5vZGUqIG5vZGUgPSByb290OyBub2RlOyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0
Tm9kZShyb290KSkgewogICAgICAgICBtb3ZlTm9kZVRvTmV3RG9jdW1lbnQobm9kZSwgb2xkRG9j
dW1lbnQsIG5ld0RvY3VtZW50KTsKLSAgICAgICAgaWYgKFNoYWRvd1Jvb3QqIHNoYWRvdyA9IHNo
YWRvd1Jvb3RGb3Iobm9kZSkpCi0gICAgICAgICAgICBtb3ZlVHJlZVRvTmV3RG9jdW1lbnQoc2hh
ZG93LCBvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOworICAgICAgICBpZiAoU2hhZG93VHJlZSog
dHJlZSA9IHNoYWRvd1RyZWVGb3Iobm9kZSkpCisgICAgICAgICAgICBtb3ZlU2hhZG93VHJlZVRv
TmV3RG9jdW1lbnQodHJlZSwgb2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKICAgICB9CiB9CiAK
K2lubGluZSB2b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVTaGFkb3dUcmVlVG9OZXdEb2N1bWVu
dChTaGFkb3dUcmVlKiB0cmVlLCBEb2N1bWVudCogb2xkRG9jdW1lbnQsIERvY3VtZW50KiBuZXdE
b2N1bWVudCkgY29uc3QKK3sKKyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB0cmVlLT55b3Vu
Z2VzdFNoYWRvd1Jvb3QoKTsgcm9vdDsgcm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93Um9vdCgpKQor
ICAgICAgICBtb3ZlVHJlZVRvTmV3RG9jdW1lbnQocm9vdCwgb2xkRG9jdW1lbnQsIG5ld0RvY3Vt
ZW50KTsKK30KKwogI2lmbmRlZiBOREVCVUcKIHN0YXRpYyBib29sIGRpZE1vdmVUb05ld0RvY3Vt
ZW50V2FzQ2FsbGVkID0gZmFsc2U7CiBzdGF0aWMgRG9jdW1lbnQqIG9sZERvY3VtZW50RGlkTW92
ZVRvTmV3RG9jdW1lbnRXYXNDYWxsZWRXaXRoID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3Bl
QWRvcHRlci5oCmluZGV4IGQyYmQ0ZDRmMDFlN2QyM2NjNjMwNWMxMzgyMDA1NTY1MTZlNTkyMDUu
Ljk0MjU1ZjQ3OWRhMzJiNTFjZGQ0NzhkMGQ5MTg0NDhhYzE0ODJhODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RyZWVTY29wZUFkb3B0ZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgbW92ZVRyZWVUb05ld1Njb3BlKE5vZGUqKSBjb25zdDsKICAgICB2b2lkIG1vdmVUcmVlVG9O
ZXdEb2N1bWVudChOb2RlKiwgRG9jdW1lbnQqIG9sZERvY3VtZW50LCBEb2N1bWVudCogbmV3RG9j
dW1lbnQpIGNvbnN0OwogICAgIHZvaWQgbW92ZU5vZGVUb05ld0RvY3VtZW50KE5vZGUqLCBEb2N1
bWVudCogb2xkRG9jdW1lbnQsIERvY3VtZW50KiBuZXdEb2N1bWVudCkgY29uc3Q7CisgICAgdm9p
ZCBtb3ZlU2hhZG93VHJlZVRvTmV3RG9jdW1lbnQoU2hhZG93VHJlZSosIERvY3VtZW50KiBvbGRE
b2N1bWVudCwgRG9jdW1lbnQqIG5ld0RvY3VtZW50KSBjb25zdDsKIAogICAgIE5vZGUqIG1fdG9B
ZG9wdDsKICAgICBUcmVlU2NvcGUqIG1fbmV3U2NvcGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTY4ZTAwNTk1YzcxYjRk
ZmFiNWU1ZDVhMDA3OWE0YWFlOGU1ZThlZS4uM2VlOWFmOWZjMmZhZWFiZTZiODZhOTE3OWMzNTRj
MGI4YTM1NWM5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAyLTI5ICBTaGlueWEgS2F3
YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBNZXRob2RzIGluIFNoYWRv
d1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNoYWRvdyByb290
cyBhd2FyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFk
b3B0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVkOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2lu
Y2Fpcm8vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvU2tpcHBlZDoKKwogMjAxMi0w
Mi0yOSAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZWJhc2Vs
aW5lIGxpbmUtZ3JpZCB0ZXN0cyBmb3IgQ2hyb21pdW0gYWZ0ZXIgcjEwOTI2Ny4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFk
b3dyb290LWFkb3B0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzVkOTY4ODI4MzFiMGE5MmRj
ZGEwMDk0YmI2ZjgxYjlhOGM5MWM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK1RoaXMgdGVzdCBjaGVja3MgbXVsdGlwbGUgc2hhZG93IHRyZWVzIGNhbiBi
ZSBtb3ZlZCBpbnRvIGFub3RoZXIgZG9jdW1lbnQuCisKK1BBU1MgZG9jdW1lbnQgaXMgc3IxLm93
bmVyRG9jdW1lbnQKK1BBU1Mgc3IxLm93bmVyRG9jdW1lbnQgaXMgc3IyLm93bmVyRG9jdW1lbnQK
K1BBU1Mgc3IxLm93bmVyRG9jdW1lbnQgaXMgaWZyYW1lRG9jCitQQVNTIHNyMi5vd25lckRvY3Vt
ZW50IGlzIGlmcmFtZURvYworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0
aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
bXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiNjM3ZWVhYjQ3MDcw
NDViZWIyNGJlNmNmODc5YjM5MzU0YmNkZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCkBAIC0wLDAg
KzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UaGlzIHRlc3QgY2hlY2tzIG11bHRpcGxlIHNoYWRvdyB0cmVlcyBjYW4gYmUgbW92
ZWQgaW50byBhbm90aGVyIGRvY3VtZW50LjwvcD4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgor
Cis8aWZyYW1lIGlkPSJpZnJhbWUiPjwvaWZyYW1lPgorCis8c2NyaXB0PgorZnVuY3Rpb24gc2V0
VXBPbmNlKCkgeworICAgIGludGVybmFscy5zZXRNdWx0aXBsZVNoYWRvd1N1YnRyZWVzRW5hYmxl
ZCh0cnVlKTsKK30KKworZnVuY3Rpb24gdGVhckRvd25PbmNlKCkgeworICAgIGludGVybmFscy5z
ZXRNdWx0aXBsZVNoYWRvd1N1YnRyZWVzRW5hYmxlZChmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIGRv
VGVzdCgpIHsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgc3IxID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QodGFyZ2V0KTsKKyAgICBzcjIgPSBuZXcg
V2ViS2l0U2hhZG93Um9vdCh0YXJnZXQpOworCisgICAgc2hvdWxkQmUoJ2RvY3VtZW50JywgJ3Ny
MS5vd25lckRvY3VtZW50Jyk7CisgICAgc2hvdWxkQmUoJ3NyMS5vd25lckRvY3VtZW50JywgJ3Ny
Mi5vd25lckRvY3VtZW50Jyk7CisKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2lmcmFtZScpOworICAgIGlmcmFtZURvYyA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQ7
CisgICAgaWZyYW1lRG9jLmJvZHkuYXBwZW5kQ2hpbGQodGFyZ2V0KTsKKworICAgIHNob3VsZEJl
KCdzcjEub3duZXJEb2N1bWVudCcsICdpZnJhbWVEb2MnKTsKKyAgICBzaG91bGRCZSgnc3IyLm93
bmVyRG9jdW1lbnQnLCAnaWZyYW1lRG9jJyk7Cit9CisKK3NldFVwT25jZSgpOworZG9UZXN0KCk7
Cit0ZWFyRG93bk9uY2UoKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IGMy
NWExYzI5YTNjZmY0M2U2OGUwM2YyZThmODM3M2JhOTRhNTc5ZjUuLjBiZmZlMWJjNmQ3MWU1YjU5
OWQ2MmYyZTBlMzAxOWI2ODc4NjZkNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC0y
MDk0LDYgKzIwOTQsNyBAQCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYXR0YWNoZWQuaHRt
bAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
bXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93
cm9vdC1yZW5kZXJpbmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qt
YWRvcHQuaHRtbAogCiAjIENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90IHlldCBlbmFibGVkIChuZWVk
cyBFTkFCTEVfQ1NTX0ZJTFRFUlMpLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg0NjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggZGM3MmI4MGEyNDk2
M2Q4NjFmNjVkMDEwMmQwOGY3MGE3NTdiYzZiZi4uYWQ3MWRjMDkxY2U4OGFlZDQ1YmM4NWUwN2M3
ZDg0NGU2ZjM4NjFhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQzNyw2ICs0Mzcs
NyBAQCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctdWwtbGkuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qu
aHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwK
K2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKIAogIyBKU0Mg
ZG9lcyBub3Qgc3VwcG9ydCBzZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4gKGh0dHA6Ly93
ZWJraXQub3JnL2IvNjE1NDApCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvY3Jv
c3Mtb3JpZ2luLXhoci5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA1YTlmYmIyM2Ji
YzBkOGNhZDA3NmFlNmQwYjA2ZTM0ZDkwZmIzNDY5Li5mNTY3Mzk2M2EyOTQ5Yzk0NmNlYTdjZjE5
M2M0NTBkOTcwZmE4ZmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE3NSw2ICsxNzUs
NyBAQCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctdWwtbGkuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3Qu
aHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwK
K2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKIAogIyBDU1Mg
UmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMx
MgogZmFzdC9yZWdpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGExNjQyYzgzMTg5
NDNiNzYxY2ZkNWRmYTQ3ZjEzMTdlNjVjZjRhNmYuLjRlM2QxYTViN2E0NDdiYmQ4NTE5ZTQ4YWQ5
NGZlOWEzMDJhNWI0ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDYzLDYgKzE0
NjMsNyBAQCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtbmV3Lmh0bWwKIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctdWwtbGkuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jv
b3QuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0
bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKIAogIyBD
U1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81
NzMxMgogZmFzdC9yZWdpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRl
eCA0MTk3OWQ5ZWQ4NDdkMTNhMmZhMzYwYmUwNzMxNjMxNTNiNzgyOGMxLi45MWQ3ZDQ0YjRkY2Ew
ZGU0MDBjM2U5ODBkNWQ3Yjk1NGNkOTljMzRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1NraXBwZWQKQEAgLTE5NzYsNiArMTk3Niw3IEBAIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1pbm5lckhUTUwuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCiBm
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
bXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRp
cGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHll
dCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1NraXBwZWQKaW5kZXggMGNmZGFhMjgxZWQ2ZGU3MjgzYmQ1MzliMGQ0NTAwZWU1
ODVmMTgxNC4uM2E5ZjE0NzNlM2MwMjhiMjQxZWI1NDI1NjViMWYwMzBmYzExZDYzNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2syL1NraXBwZWQKQEAgLTEwNzQsNiArMTA3NCw3IEBAIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L3NoYWRvdy11bC1saS5odG1s
CiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC5odG1sCiBmYXN0L2RvbS9zaGFk
b3cvbXVsdGlwbGUtc2hhZG93cm9vdC1yZW5kZXJpbmcuaHRtbAorZmFzdC9kb20vc2hhZG93L211
bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbAogCiAjIFdUUiBuZWVkcyBhbiBpbXBsZW1lbnRh
dGlvbiBmb3IgZXZlbnRTZW5kZXIuY29udGludW91c01vdXNlU2Nyb2xsQnkKICMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDE3Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129563</attachid>
            <date>2012-02-29 17:33:42 -0800</date>
            <delta_ts>2012-02-29 17:45:25 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-79768-20120301103341.patch</filename>
            <type>text/plain</type>
            <size>13088</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5Mjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTdmOGJhNmUyMTEwNmEy
ZDc0YjYxZWM3ZjA1NDkzMWZhNWQzNmZmZC4uOTE4N2I2OGUyZjU3ZjdmMzY1NzViNTNmZjVjMzFm
Mzk3NTUwYTk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTI5ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBNZXRob2RzIGlu
IFNoYWRvd1RyZWUgYW5kIFRyZWVTY29wZUFkb3B0ZXIgc2hvdWxkIGJlIG11bHRpcGxlIHNoYWRv
dyByb290cyBhd2FyZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc5NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1lIE1vcml0YS4KKworICAg
ICAgICBTb21lIG1ldGhvZHMgaW4gU2hhZG93VHJlZSBhbmQgVHJlZVNjb3BlQWRvcHRlciB3ZXJl
IG5vdCBtdWx0aXBsZSBzaGFkb3cgcm9vdHMgYXdhcmUuCisgICAgICAgIFRoZXkgc2hvdWxkIGNv
bnNpZGVyIG11bHRpcGxlIHNoYWRvdyByb290cy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9z
aGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCisKKyAgICAgICAgKiBkb20vU2hh
ZG93VHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dUcmVlOjpzZXRQYXJlbnRUcmVl
U2NvcGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dUcmVl
OjpjaGlsZE5lZWRzU3R5bGVSZWNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VHJlZTo6
bmVlZHNTdHlsZVJlY2FsYyk6CisgICAgICAgICogZG9tL1NoYWRvd1RyZWUuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoU2hhZG93VHJlZSk6CisgICAgICAgICogZG9tL1RyZWVTY29w
ZUFkb3B0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hhZG93VHJlZUZvcik6CisgICAgICAg
IChXZWJDb3JlOjpUcmVlU2NvcGVBZG9wdGVyOjptb3ZlVHJlZVRvTmV3U2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRyZWVUb05ld0RvY3VtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZUFkb3B0ZXI6Om1vdmVTaGFkb3dUcmVlVG9OZXdEb2N1
bWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vVHJlZVNjb3BlQWRvcHRl
ci5oOgorICAgICAgICAoVHJlZVNjb3BlQWRvcHRlcik6CisKIDIwMTItMDItMjkgIEFuZHJlYXMg
S2xpbmcgIDxhd2Vzb21la2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIElzU3luY2hyb25pemlu
Z1N0eWxlQXR0cmlidXRlRmxhZyBjb3VsZCBiZSBwdXJnZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93VHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93VHJl
ZS5jcHAKaW5kZXggNmM5NjZjNGUxZGViNTIwYWZjM2Y1ZmM4NmM3NzBkMDA0NTYzZDg5OS4uODEx
MzBjNDgxYTUwMWJkNjUxYjkyNmExYmU3YjBiMTYyZDBmNjIyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFk
b3dUcmVlLmNwcApAQCAtMTUxLDYgKzE1MSwxMiBAQCB2b2lkIFNoYWRvd1RyZWU6OndpbGxSZW1v
dmUoKQogICAgICAgICByb290LT53aWxsUmVtb3ZlKCk7CiB9CiAKK3ZvaWQgU2hhZG93VHJlZTo6
c2V0UGFyZW50VHJlZVNjb3BlKFRyZWVTY29wZSogc2NvcGUpCit7CisgICAgZm9yIChTaGFkb3dS
b290KiByb290ID0geW91bmdlc3RTaGFkb3dSb290KCk7IHJvb3Q7IHJvb3QgPSByb290LT5vbGRl
clNoYWRvd1Jvb3QoKSkKKyAgICAgICAgcm9vdC0+c2V0UGFyZW50VHJlZVNjb3BlKHNjb3BlKTsK
K30KKwogdm9pZCBTaGFkb3dUcmVlOjphdHRhY2goKQogewogICAgIC8vIENoaWxkcmVuIG9mIG1f
c2VsZWN0b3IgaXMgcG9wdWxhdGVkIGxhemlseSBpbgpAQCAtMjEzLDE5ICsyMTksMjEgQEAgdm9p
ZCBTaGFkb3dUcmVlOjpyZWF0dGFjaCgpCiBib29sIFNoYWRvd1RyZWU6OmNoaWxkTmVlZHNTdHls
ZVJlY2FsYygpCiB7CiAgICAgQVNTRVJUKHlvdW5nZXN0U2hhZG93Um9vdCgpKTsKLSAgICBpZiAo
IXlvdW5nZXN0U2hhZG93Um9vdCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChT
aGFkb3dSb290KiByb290ID0geW91bmdlc3RTaGFkb3dSb290KCk7IHJvb3Q7IHJvb3QgPSByb290
LT5vbGRlclNoYWRvd1Jvb3QoKSkKKyAgICAgICAgaWYgKHJvb3QtPmNoaWxkTmVlZHNTdHlsZVJl
Y2FsYygpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICByZXR1cm4geW91bmdlc3RT
aGFkb3dSb290KCktPmNoaWxkTmVlZHNTdHlsZVJlY2FsYygpOworICAgIHJldHVybiBmYWxzZTsK
IH0KIAogYm9vbCBTaGFkb3dUcmVlOjpuZWVkc1N0eWxlUmVjYWxjKCkKIHsKICAgICBBU1NFUlQo
eW91bmdlc3RTaGFkb3dSb290KCkpOwotICAgIGlmICgheW91bmdlc3RTaGFkb3dSb290KCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKFNoYWRvd1Jvb3QqIHJvb3QgPSB5b3VuZ2Vz
dFNoYWRvd1Jvb3QoKTsgcm9vdDsgcm9vdCA9IHJvb3QtPm9sZGVyU2hhZG93Um9vdCgpKQorICAg
ICAgICBpZiAocm9vdC0+bmVlZHNTdHlsZVJlY2FsYygpKQorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICByZXR1cm4geW91bmdlc3RTaGFkb3dSb290KCktPm5lZWRzU3R5bGVSZWNhbGMo
KTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgU2hhZG93VHJlZTo6cmVjYWxjU2hhZG93
VHJlZVN0eWxlKE5vZGU6OlN0eWxlQ2hhbmdlIGNoYW5nZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93VHJlZS5o
CmluZGV4IGJlMjcwMGMxNTU5YTBhYTE0OTBjZjI2NzA5MWE3OTFiMzUyYTc5M2MuLjBlZmJkYjEz
Njc0MzAzZmY2N2E3MWUxMGVjYzU1MWE1YTQ3NTQ4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1RyZWUu
aApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBOb2RlOwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEhU
TUxDb250ZW50U2VsZWN0b3I7CiBjbGFzcyBJbnNlcnRpb25Qb2ludDsKK2NsYXNzIFRyZWVTY29w
ZTsKIAogY2xhc3MgU2hhZG93VHJlZSB7CiBwdWJsaWM6CkBAIC01OSw2ICs2MCw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlbW92ZWRGcm9tVHJlZShib29sIGRlZXApOwogICAgIHZvaWQgd2lsbFJl
bW92ZSgpOwogCisgICAgdm9pZCBzZXRQYXJlbnRUcmVlU2NvcGUoVHJlZVNjb3BlKik7CisKICAg
ICB2b2lkIGF0dGFjaCgpOwogICAgIHZvaWQgZGV0YWNoKCk7CiAgICAgdm9pZCByZWF0dGFjaCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3BwCmluZGV4IGM1YjYzMzUwOGQ3
NTlmNDEyYWNjNTFlOTRhNmQ1YTIxZWQzOTllMzguLjgyZWE0Nzc0NzgzYjViMTA3ZGJlNzE3MjZh
YjJlYWY4NjcxYmY1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVB
ZG9wdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAK
QEAgLTMyLDkgKzMyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgaW5saW5l
IFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3RGb3IoTm9kZSogbm9kZSkKK3N0YXRpYyBpbmxpbmUgU2hh
ZG93VHJlZSogc2hhZG93VHJlZUZvcihOb2RlKiBub2RlKQogewotICAgIHJldHVybiBub2RlLT5p
c0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG5vZGUpLT5oYXNTaGFkb3dSb290KCkgPyB0b0Vs
ZW1lbnQobm9kZSktPnNoYWRvd1RyZWUoKS0+eW91bmdlc3RTaGFkb3dSb290KCkgOiAwOworICAg
IHJldHVybiBub2RlLT5pc0VsZW1lbnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSktPnNoYWRvd1Ry
ZWUoKSA6IDA7CiB9CiAKIHZvaWQgVHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRyZWVUb05ld1Njb3Bl
KE5vZGUqIHJvb3QpIGNvbnN0CkBAIC02MywxMCArNjMsMTAgQEAgdm9pZCBUcmVlU2NvcGVBZG9w
dGVyOjptb3ZlVHJlZVRvTmV3U2NvcGUoTm9kZSogcm9vdCkgY29uc3QKICAgICAgICAgaWYgKHdp
bGxNb3ZlVG9OZXdEb2N1bWVudCkKICAgICAgICAgICAgIG1vdmVOb2RlVG9OZXdEb2N1bWVudChu
b2RlLCBvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogCi0gICAgICAgIGlmIChTaGFkb3dSb290
KiBzaGFkb3cgPSBzaGFkb3dSb290Rm9yKG5vZGUpKSB7Ci0gICAgICAgICAgICBzaGFkb3ctPnNl
dFBhcmVudFRyZWVTY29wZShtX25ld1Njb3BlKTsKKyAgICAgICAgaWYgKFNoYWRvd1RyZWUqIHRy
ZWUgPSBzaGFkb3dUcmVlRm9yKG5vZGUpKSB7CisgICAgICAgICAgICB0cmVlLT5zZXRQYXJlbnRU
cmVlU2NvcGUobV9uZXdTY29wZSk7CiAgICAgICAgICAgICBpZiAod2lsbE1vdmVUb05ld0RvY3Vt
ZW50KQotICAgICAgICAgICAgICAgIG1vdmVUcmVlVG9OZXdEb2N1bWVudChzaGFkb3csIG9sZERv
Y3VtZW50LCBuZXdEb2N1bWVudCk7CisgICAgICAgICAgICAgICAgbW92ZVNoYWRvd1RyZWVUb05l
d0RvY3VtZW50KHRyZWUsIG9sZERvY3VtZW50LCBuZXdEb2N1bWVudCk7CiAgICAgICAgIH0KICAg
ICB9CiB9CkBAIC03NSwxMSArNzUsMTcgQEAgdm9pZCBUcmVlU2NvcGVBZG9wdGVyOjptb3ZlVHJl
ZVRvTmV3RG9jdW1lbnQoTm9kZSogcm9vdCwgRG9jdW1lbnQqIG9sZERvY3VtZW50LAogewogICAg
IGZvciAoTm9kZSogbm9kZSA9IHJvb3Q7IG5vZGU7IG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHRO
b2RlKHJvb3QpKSB7CiAgICAgICAgIG1vdmVOb2RlVG9OZXdEb2N1bWVudChub2RlLCBvbGREb2N1
bWVudCwgbmV3RG9jdW1lbnQpOwotICAgICAgICBpZiAoU2hhZG93Um9vdCogc2hhZG93ID0gc2hh
ZG93Um9vdEZvcihub2RlKSkKLSAgICAgICAgICAgIG1vdmVUcmVlVG9OZXdEb2N1bWVudChzaGFk
b3csIG9sZERvY3VtZW50LCBuZXdEb2N1bWVudCk7CisgICAgICAgIGlmIChTaGFkb3dUcmVlKiB0
cmVlID0gc2hhZG93VHJlZUZvcihub2RlKSkKKyAgICAgICAgICAgIG1vdmVTaGFkb3dUcmVlVG9O
ZXdEb2N1bWVudCh0cmVlLCBvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogICAgIH0KIH0KIAor
aW5saW5lIHZvaWQgVHJlZVNjb3BlQWRvcHRlcjo6bW92ZVNoYWRvd1RyZWVUb05ld0RvY3VtZW50
KFNoYWRvd1RyZWUqIHRyZWUsIERvY3VtZW50KiBvbGREb2N1bWVudCwgRG9jdW1lbnQqIG5ld0Rv
Y3VtZW50KSBjb25zdAoreworICAgIGZvciAoU2hhZG93Um9vdCogcm9vdCA9IHRyZWUtPnlvdW5n
ZXN0U2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+b2xkZXJTaGFkb3dSb290KCkpCisg
ICAgICAgIG1vdmVUcmVlVG9OZXdEb2N1bWVudChyb290LCBvbGREb2N1bWVudCwgbmV3RG9jdW1l
bnQpOworfQorCiAjaWZuZGVmIE5ERUJVRwogc3RhdGljIGJvb2wgZGlkTW92ZVRvTmV3RG9jdW1l
bnRXYXNDYWxsZWQgPSBmYWxzZTsKIHN0YXRpYyBEb2N1bWVudCogb2xkRG9jdW1lbnREaWRNb3Zl
VG9OZXdEb2N1bWVudFdhc0NhbGxlZFdpdGggPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVB
ZG9wdGVyLmgKaW5kZXggZDJiZDRkNGYwMWU3ZDIzY2M2MzA1YzEzODIwMDU1NjUxNmU1OTIwNS4u
OTQyNTVmNDc5ZGEzMmI1MWNkZDQ3OGQwZDkxODQ0OGFjMTQ4MmE4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVHJlZVNjb3BlQWRvcHRlci5oCkBAIC00Niw2ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBtb3ZlVHJlZVRvTmV3U2NvcGUoTm9kZSopIGNvbnN0OwogICAgIHZvaWQgbW92ZVRyZWVUb05l
d0RvY3VtZW50KE5vZGUqLCBEb2N1bWVudCogb2xkRG9jdW1lbnQsIERvY3VtZW50KiBuZXdEb2N1
bWVudCkgY29uc3Q7CiAgICAgdm9pZCBtb3ZlTm9kZVRvTmV3RG9jdW1lbnQoTm9kZSosIERvY3Vt
ZW50KiBvbGREb2N1bWVudCwgRG9jdW1lbnQqIG5ld0RvY3VtZW50KSBjb25zdDsKKyAgICB2b2lk
IG1vdmVTaGFkb3dUcmVlVG9OZXdEb2N1bWVudChTaGFkb3dUcmVlKiwgRG9jdW1lbnQqIG9sZERv
Y3VtZW50LCBEb2N1bWVudCogbmV3RG9jdW1lbnQpIGNvbnN0OwogCiAgICAgTm9kZSogbV90b0Fk
b3B0OwogICAgIFRyZWVTY29wZSogbV9uZXdTY29wZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNjhlMDA1OTVjNzFiNGRm
YWI1ZTVkNWEwMDc5YTRhYWU4ZTVlOGVlLi40MTEyMjk1Mjk1OTQ2Y2RmOWMzOGU5MWQ0MzhlMjA3
YWVjMWNiOWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDItMjkgIFNoaW55YSBLYXdh
bmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1ldGhvZHMgaW4gU2hhZG93
VHJlZSBhbmQgVHJlZVNjb3BlQWRvcHRlciBzaG91bGQgYmUgbXVsdGlwbGUgc2hhZG93IHJvb3Rz
IGF3YXJlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Nzk3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9w
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNh
aXJvL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTItMDIt
MjkgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmViYXNlbGlu
ZSBsaW5lLWdyaWQgdGVzdHMgZm9yIENocm9taXVtIGFmdGVyIHIxMDkyNjcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93
cm9vdC1hZG9wdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc1ZDk2ODgyODMxYjBhOTJkY2Rh
MDA5NGJiNmY4MWI5YThjOTFjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFkb3B0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitUaGlzIHRlc3QgY2hlY2tzIG11bHRpcGxlIHNoYWRvdyB0cmVlcyBjYW4gYmUg
bW92ZWQgaW50byBhbm90aGVyIGRvY3VtZW50LgorCitQQVNTIGRvY3VtZW50IGlzIHNyMS5vd25l
ckRvY3VtZW50CitQQVNTIHNyMS5vd25lckRvY3VtZW50IGlzIHNyMi5vd25lckRvY3VtZW50CitQ
QVNTIHNyMS5vd25lckRvY3VtZW50IGlzIGlmcmFtZURvYworUEFTUyBzcjIub3duZXJEb2N1bWVu
dCBpcyBpZnJhbWVEb2MKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlw
bGUtc2hhZG93cm9vdC1hZG9wdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211
bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjYzN2VlYWI0NzA3MDQ1
YmViMjRiZTZjZjg3OWIzOTM1NGJjZGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QtYWRvcHQuaHRtbApAQCAtMCwwICsx
LDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IGNoZWNrcyBtdWx0aXBsZSBzaGFkb3cgdHJlZXMgY2FuIGJlIG1vdmVk
IGludG8gYW5vdGhlciBkb2N1bWVudC48L3A+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKwor
PGlmcmFtZSBpZD0iaWZyYW1lIj48L2lmcmFtZT4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIHNldFVw
T25jZSgpIHsKKyAgICBpbnRlcm5hbHMuc2V0TXVsdGlwbGVTaGFkb3dTdWJ0cmVlc0VuYWJsZWQo
dHJ1ZSk7Cit9CisKK2Z1bmN0aW9uIHRlYXJEb3duT25jZSgpIHsKKyAgICBpbnRlcm5hbHMuc2V0
TXVsdGlwbGVTaGFkb3dTdWJ0cmVlc0VuYWJsZWQoZmFsc2UpOworfQorCitmdW5jdGlvbiBkb1Rl
c3QoKSB7CisgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwor
ICAgIHNyMSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHRhcmdldCk7CisgICAgc3IyID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QodGFyZ2V0KTsKKworICAgIHNob3VsZEJlKCdkb2N1bWVudCcsICdzcjEu
b3duZXJEb2N1bWVudCcpOworICAgIHNob3VsZEJlKCdzcjEub3duZXJEb2N1bWVudCcsICdzcjIu
b3duZXJEb2N1bWVudCcpOworCisgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpZnJhbWUnKTsKKyAgICBpZnJhbWVEb2MgPSBpZnJhbWUuY29udGVudERvY3VtZW50Owor
ICAgIGlmcmFtZURvYy5ib2R5LmFwcGVuZENoaWxkKHRhcmdldCk7CisKKyAgICBzaG91bGRCZSgn
c3IxLm93bmVyRG9jdW1lbnQnLCAnaWZyYW1lRG9jJyk7CisgICAgc2hvdWxkQmUoJ3NyMi5vd25l
ckRvY3VtZW50JywgJ2lmcmFtZURvYycpOworfQorCitzZXRVcE9uY2UoKTsKK2RvVGVzdCgpOwor
dGVhckRvd25PbmNlKCk7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCBjMjVh
MWMyOWEzY2ZmNDNlNjhlMDNmMmU4ZjgzNzNiYTk0YTU3OWY1Li4wYmZmZTFiYzZkNzFlNWI1OTlk
NjJmMmUwZTMwMTliNjg3ODY2ZDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMjA5
NCw2ICsyMDk0LDcgQEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWF0dGFjaGVkLmh0bWwK
IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbAogZmFzdC9kb20vc2hhZG93L211
bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbAogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jv
b3QtcmVuZGVyaW5nLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LWFk
b3B0Lmh0bWwKIAogIyBDU1MgRmlsdGVycyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZCAobmVlZHMg
RU5BQkxFX0NTU19GSUxURVJTKS4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4NDY5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGRjNzJiODBhMjQ5NjNk
ODYxZjY1ZDAxMDJkMDhmNzBhNzU3YmM2YmYuLmFkNzFkYzA5MWNlODhhZWQ0NWJjODVlMDdjN2Q4
NDRlNmYzODYxYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC00MzcsNiArNDM3LDcg
QEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXVsLWxpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0
bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCitm
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCiAKICMgSlNDIGRv
ZXMgbm90IHN1cHBvcnQgc2V0SXNvbGF0ZWRXb3JsZFNlY3VyaXR5T3JpZ2luIChodHRwOi8vd2Vi
a2l0Lm9yZy9iLzYxNTQwKQogaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2Nyb3Nz
LW9yaWdpbi14aHIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNWE5ZmJiMjNiYmMw
ZDhjYWQwNzZhZTZkMGIwNmUzNGQ5MGZiMzQ2OS4uZjU2NzM5NjNhMjk0OWM5NDZjZWE3Y2YxOTNj
NDUwZDk3MGZhOGZjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xNzUsNiArMTc1LDcg
QEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXVsLWxpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290Lmh0
bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1sCitm
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCiAKICMgQ1NTIFJl
Z2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIK
IGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBw
ZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBhMTY0MmM4MzE4OTQz
Yjc2MWNmZDVkZmE0N2YxMzE3ZTY1Y2Y0YTZmLi40ZTNkMWE1YjdhNDQ3YmJkODUxOWU0OGFkOTRm
ZTlhMzAyYTViNGYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQ2Myw2ICsxNDYz
LDcgQEAgZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LW5ldy5odG1sCiBmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXVsLWxpLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290
Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3dyb290LXJlbmRlcmluZy5odG1s
CitmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93cm9vdC1hZG9wdC5odG1sCiAKICMgQ1NT
IFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTcz
MTIKIGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fp
cm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXgg
NDE5NzlkOWVkODQ3ZDEzYTJmYTM2MGJlMDczMTYzMTUzYjc4MjhjMS4uOTFkN2Q0NGI0ZGNhMGRl
NDAwYzNlOTgwZDVkN2I5NTRjZDk5YzM0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9T
a2lwcGVkCkBAIC0xOTc2LDYgKzE5NzYsNyBAQCBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
aW5uZXJIVE1MLmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1uZXcuaHRtbAogZmFz
dC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbAogZmFzdC9kb20vc2hhZG93L211
bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBs
ZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQg
ZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3drMi9Ta2lwcGVkCmluZGV4IDBjZmRhYTI4MWVkNmRlNzI4M2JkNTM5YjBkNDUwMGVlNTg1
ZjE4MTQuLjNhOWYxNDczZTNjMDI4YjI0MWViNTQyNTY1YjFmMDMwZmMxMWQ2MzQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9Ta2lwcGVkCkBAIC0xMDc0LDYgKzEwNzQsNyBAQCBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtbmV3Lmh0bWwKIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctdWwtbGkuaHRtbAog
ZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvd3Jvb3QuaHRtbAogZmFzdC9kb20vc2hhZG93
L211bHRpcGxlLXNoYWRvd3Jvb3QtcmVuZGVyaW5nLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0
aXBsZS1zaGFkb3dyb290LWFkb3B0Lmh0bWwKIAogIyBXVFIgbmVlZHMgYW4gaW1wbGVtZW50YXRp
b24gZm9yIGV2ZW50U2VuZGVyLmNvbnRpbnVvdXNNb3VzZVNjcm9sbEJ5CiAjIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQxNwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>