<?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>87615</bug_id>
          
          <creation_ts>2012-05-27 22:31:18 -0700</creation_ts>
          <short_desc>REGRESSION(r108758): Can&apos;t edit &lt;input&gt; elements with :first-letter</short_desc>
          <delta_ts>2013-05-08 06:39:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>ap</cc>
    
    <cc>eric</cc>
    
    <cc>inferno</cc>
    
    <cc>mitz</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>634895</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 22:31:18 -0700</bug_when>
    <thetext>Reported at http://crbug.com/129313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634898</commentid>
    <comment_count>1</comment_count>
      <attachid>144270</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 22:38:26 -0700</bug_when>
    <thetext>Created attachment 144270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634907</commentid>
    <comment_count>2</comment_count>
      <attachid>144270</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-27 23:02:14 -0700</bug_when>
    <thetext>Comment on attachment 144270
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.h:748
&gt; +    virtual bool canHaveGeneratedChildren() const { return true; }
&gt; +    static bool canHaveGeneratedChildren(RenderObject*);

Existence of static canHaveGeneratedChildren() and virtual canHaveGeneratedChildren() is confusing.
IMO, we should have &quot;virtual bool RenderObject::canHaveGeneratedChildren()&quot;, of which default implementation is { return canHaveChildren(); }, and remove RenderBlock::canHaveGeneratedChildren().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634921</commentid>
    <comment_count>3</comment_count>
      <attachid>144277</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 23:29:05 -0700</bug_when>
    <thetext>Created attachment 144277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634922</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 23:29:56 -0700</bug_when>
    <thetext>Kent-san, thanks for taking a look. The updated patch looks much simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634924</commentid>
    <comment_count>5</comment_count>
      <attachid>144277</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-27 23:31:47 -0700</bug_when>
    <thetext>Comment on attachment 144277
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        * fast/forms/input-first-letter-edit-expected.html: Added.
&gt; +        * fast/forms/input-first-letter-edit.html: Added.

These files are not in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634929</commentid>
    <comment_count>6</comment_count>
      <attachid>144279</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 23:39:18 -0700</bug_when>
    <thetext>Created attachment 144279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634930</commentid>
    <comment_count>7</comment_count>
      <attachid>144277</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 23:40:16 -0700</bug_when>
    <thetext>Comment on attachment 144277
Patch

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

&gt;&gt; LayoutTests/ChangeLog:9
&gt;&gt; +        * fast/forms/input-first-letter-edit.html: Added.
&gt; 
&gt; These files are not in the patch.

Oops. git reset dropped them. I&apos;m sorry for disturbing. 
Updated the patch again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634935</commentid>
    <comment_count>8</comment_count>
      <attachid>144279</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-27 23:50:06 -0700</bug_when>
    <thetext>Comment on attachment 144279
Patch

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

&gt; Source/WebCore/rendering/RenderBlock.cpp:5994
&gt; -static inline RenderObject* findFirstLetterBlock(RenderBlock* start)
&gt; +inline RenderObject* RenderBlock::findFirstLetterBlock()
&gt;  {
&gt; -    RenderObject* firstLetterBlock = start;
&gt; +    RenderObject* firstLetterBlock = this;
&gt;      while (true) {

Are these changes needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634936</commentid>
    <comment_count>9</comment_count>
      <attachid>144279</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-27 23:51:34 -0700</bug_when>
    <thetext>Comment on attachment 144279
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        * fast/forms/input-first-letter-edit-expected.html: Added.
&gt; +        * fast/forms/input-first-letter-edit.html: Added.

We had better add &lt;input&gt; with :before/:after .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634959</commentid>
    <comment_count>10</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-28 00:35:15 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 144279 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144279&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:5994
&gt; &gt; -static inline RenderObject* findFirstLetterBlock(RenderBlock* start)
&gt; &gt; +inline RenderObject* RenderBlock::findFirstLetterBlock()
&gt; &gt;  {
&gt; &gt; -    RenderObject* firstLetterBlock = start;
&gt; &gt; +    RenderObject* firstLetterBlock = this;
&gt; &gt;      while (true) {
&gt; 
&gt; Are these changes needed?
Yes, I do&apos;t want to make canHaveGeneratedChildren() public.
It need to be accessed from a member function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634961</commentid>
    <comment_count>11</comment_count>
      <attachid>144279</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-28 00:39:14 -0700</bug_when>
    <thetext>Comment on attachment 144279
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:5994
&gt;&gt;&gt;      while (true) {
&gt;&gt; 
&gt;&gt; Are these changes needed?
&gt; 
&gt; Yes, I do&apos;t want to make canHaveGeneratedChildren() public.
&gt; It need to be accessed from a member function.

RenderObject::canHaveGeneratedChildren() is now public.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634970</commentid>
    <comment_count>12</comment_count>
      <attachid>144294</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-28 01:03:48 -0700</bug_when>
    <thetext>Created attachment 144294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634973</commentid>
    <comment_count>13</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-28 01:06:16 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 144279 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144279&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:5994
&gt; &gt;&gt;&gt;      while (true) {
&gt; &gt;&gt; 
&gt; &gt;&gt; Are these changes needed?
&gt; &gt; 
&gt; &gt; Yes, I do&apos;t want to make canHaveGeneratedChildren() public.
&gt; &gt; It need to be accessed from a member function.
&gt; 
&gt; RenderObject::canHaveGeneratedChildren() is now public.
RIght.  Moved back findFirstLetterBlock() to a static function.

On testing after/before, I&apos;ll address it on Bug 87630.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635015</commentid>
    <comment_count>14</comment_count>
      <attachid>144294</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-28 02:03:45 -0700</bug_when>
    <thetext>Comment on attachment 144294
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635456</commentid>
    <comment_count>15</comment_count>
      <attachid>144294</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 16:53:05 -0700</bug_when>
    <thetext>Comment on attachment 144294
Patch

Clearing flags on attachment: 144294

Committed r118711: &lt;http://trac.webkit.org/changeset/118711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635457</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 16:53:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886316</commentid>
    <comment_count>17</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-05-08 06:39:02 -0700</bug_when>
    <thetext>*** Bug 86405 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144270</attachid>
            <date>2012-05-27 22:38:26 -0700</date>
            <delta_ts>2012-05-27 23:29:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87615-20120528143825.patch</filename>
            <type>text/plain</type>
            <size>8691</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEyZTA1MzkxYjA4ZTVi
OGM5YTVlYTJmMWQ5MjBjYzc5MDI5MmUzMy4uYWM1NzM3NjM1OGNhNzIzMjdiMjNhOWUxMmI0YmMw
MjUxMWJjMDczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTI3ICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIENhbid0IGVkaXQgPGlu
cHV0PiBlbGVtZW50cyB3aXRoIDpmaXJzdC1sZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQSBjaGVjayB1c2luZyBjYW5IYXZlR2VuZXJhdGVkQ2hp
bGRyZW4oKSBzaG91bGQgY292ZXIgbm90IG9ubHkKKyAgICAgICAgYnV0dG9uIGFuZCBtZW51bGlz
dCwgYnV0IGFsc28gUmVuZGVyVGV4dENvbnRyb2wuCisgICAgICAgIFRoaXMgY2hhbmdlIHB1bGxl
cyBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSB1cAorICAgICAgICBmcm9tIFJlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveCB0byBSZW5kZXJCbG9jaywKKyAgICAgICAgYW5kIGxldHMgUmVuZGVy
VGV4dENvbnRyb2wgb3ZlcnJpZGUgaXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9pbnB1
dC1maXJzdC1sZXR0ZXItZWRpdC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNhbkhhdmVHZW5lcmF0ZWRD
aGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c3R5bGVEaWRDaGFuZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbmRGaXJzdExldHRlckJsb2NrKToK
KyAgICAgICAgLSBUdXJuZWQgdG8gYSBtZXRob2QgdG8gYWNjZXNzIHByaXZhdGUgbWVtYmVycy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1cGRhdGVGaXJzdExldHRlcik6CisgICAg
ICAgIC0gVHVybmVkIHRvIGEgc3RhdGljIG1ldGhvZCB0byBhY2Nlc3MgcHJpdmF0ZSBtZW1iZXJz
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbik6CisgICAgICAgIChSZW5kZXJC
bG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oOgorCiAyMDEyLTA1LTI3
ICBBcnZpZCBOaWxzc29uICA8YW5pbHNzb25AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gVXBkYXRlIGNvbG9yIGZvciB0YXAgaGlnaGxpZ2h0IGFuZCBzZWxlY3Rpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IGU2YTczZDlhNDc5Y2IyOGU2MGMz
NTFhNjRmNTM5OThmMDQ5NDY0MDIuLjdkYjNiNmQyZTdlMmE3MDdiNzBlZjk5N2RmYzg4MWE2MTgw
MDYyZjkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMTEz
LDExICsxMTMsMTEgQEAgc3RhdGljIERlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0KiBnRGVsYXll
ZFVwZGF0ZVNjcm9sbEluZm9TZXQgPSAwOwogLy8gLSB0aGUgZmlyc3RMZXR0ZXJCbG9jayBjYW4g
aGF2ZSBjaGlsZHJlbiBpbiB0aGUgRE9NIGFuZAogLy8gLSB0aGUgYmxvY2sgZG9lc24ndCBoYXZl
IGFueSBzcGVjaWFsIGFzc3VtcHRpb24gb24gaXRzIHRleHQgY2hpbGRyZW4uCiAvLyBUaGlzIGNv
cnJlY3RseSBwcmV2ZW50cyBmb3JtIGNvbnRyb2xzIGZyb20gaGF2aW5nIHN1Y2ggcmVuZGVyZXJz
Lgotc3RhdGljIGlubGluZSBib29sIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbihSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyKQoraW5saW5lIGJvb2wgUmVuZGVyQmxvY2s6OmNhbkhhdmVHZW5lcmF0ZWRD
aGlsZHJlbihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIHJldHVybiAocmVuZGVyZXIt
PmNhbkhhdmVDaGlsZHJlbigpCi0gICAgICAgICAgICAmJiAoIXJlbmRlcmVyLT5pc0RlcHJlY2F0
ZWRGbGV4aWJsZUJveCgpCi0gICAgICAgICAgICAgICAgfHwgc3RhdGljX2Nhc3Q8UmVuZGVyRGVw
cmVjYXRlZEZsZXhpYmxlQm94Kj4ocmVuZGVyZXIpLT5jYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4o
KSkpOworICAgICAgICAgICAgJiYgKCFyZW5kZXJlci0+aXNSZW5kZXJCbG9jaygpCisgICAgICAg
ICAgICAgICAgfHwgc3RhdGljX2Nhc3Q8UmVuZGVyQmxvY2sqPihyZW5kZXJlciktPmNhbkhhdmVH
ZW5lcmF0ZWRDaGlsZHJlbigpKSk7CiB9CiAKIGJvb2wgUmVuZGVyQmxvY2s6OnNfY2FuUHJvcGFn
YXRlRmxvYXRJbnRvU2libGluZyA9IGZhbHNlOwpAQCAtMzQwLDcgKzM0MCw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5CiAgICAgbV9saW5lSGVpZ2h0ID0gLTE7CiAKICAgICAvLyBVcGRhdGUg
cHNldWRvcyBmb3IgOmJlZm9yZSBhbmQgOmFmdGVyIG5vdy4KLSAgICBpZiAoIWlzQW5vbnltb3Vz
KCkgJiYgZG9jdW1lbnQoKS0+dXNlc0JlZm9yZUFmdGVyUnVsZXMoKSAmJiBjYW5IYXZlR2VuZXJh
dGVkQ2hpbGRyZW4odGhpcykpIHsKKyAgICBpZiAoIWlzQW5vbnltb3VzKCkgJiYgZG9jdW1lbnQo
KS0+dXNlc0JlZm9yZUFmdGVyUnVsZXMoKSAmJiBSZW5kZXJCbG9jazo6Y2FuSGF2ZUdlbmVyYXRl
ZENoaWxkcmVuKHRoaXMpKSB7CiAgICAgICAgIHVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChCRUZP
UkUpOwogICAgICAgICB1cGRhdGVCZWZvcmVBZnRlckNvbnRlbnQoQUZURVIpOwogICAgIH0KQEAg
LTYwMDAsMTIgKzYwMDAsMTIgQEAgc3RhdGljIGlubGluZSBib29sIHNob3VsZFNraXBGb3JGaXJz
dExldHRlcihVQ2hhciBjKQogICAgIHJldHVybiBpc1NwYWNlT3JOZXdsaW5lKGMpIHx8IGMgPT0g
bm9CcmVha1NwYWNlIHx8IGlzUHVuY3R1YXRpb25Gb3JGaXJzdExldHRlcihjKTsKIH0KIAotc3Rh
dGljIGlubGluZSBSZW5kZXJPYmplY3QqIGZpbmRGaXJzdExldHRlckJsb2NrKFJlbmRlckJsb2Nr
KiBzdGFydCkKK2lubGluZSBSZW5kZXJPYmplY3QqIFJlbmRlckJsb2NrOjpmaW5kRmlyc3RMZXR0
ZXJCbG9jaygpCiB7Ci0gICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gc3RhcnQ7
CisgICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gdGhpczsKICAgICB3aGlsZSAo
dHJ1ZSkgewogICAgICAgICBib29sIGNhbkhhdmVGaXJzdExldHRlclJlbmRlcmVyID0gZmlyc3RM
ZXR0ZXJCbG9jay0+c3R5bGUoKS0+aGFzUHNldWRvU3R5bGUoRklSU1RfTEVUVEVSKQotICAgICAg
ICAgICAgJiYgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKGZpcnN0TGV0dGVyQmxvY2spOworICAg
ICAgICAgICAgJiYgUmVuZGVyQmxvY2s6OmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbihmaXJzdExl
dHRlckJsb2NrKTsKICAgICAgICAgaWYgKGNhbkhhdmVGaXJzdExldHRlclJlbmRlcmVyKQogICAg
ICAgICAgICAgcmV0dXJuIGZpcnN0TGV0dGVyQmxvY2s7CiAKQEAgLTYxNDUsNyArNjE0NSw3IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OnVwZGF0ZUZpcnN0TGV0dGVyKCkKIAogICAgIC8vIEZJWE1FOiBX
ZSBuZWVkIHRvIGRlc3Ryb3kgdGhlIGZpcnN0LWxldHRlciBvYmplY3QgaWYgaXQgaXMgbm8gbG9u
Z2VyIHRoZSBmaXJzdCBjaGlsZC4gTmVlZCB0byBmaW5kCiAgICAgLy8gYW4gZWZmaWNpZW50IHdh
eSB0byBjaGVjayBmb3IgdGhhdCBzaXR1YXRpb24gdGhvdWdoIGJlZm9yZSBpbXBsZW1lbnRpbmcg
YW55dGhpbmcuCi0gICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gZmluZEZpcnN0
TGV0dGVyQmxvY2sodGhpcyk7CisgICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0g
ZmluZEZpcnN0TGV0dGVyQmxvY2soKTsKICAgICBpZiAoIWZpcnN0TGV0dGVyQmxvY2spCiAgICAg
ICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAy
ZDhjYzdiN2U4Yzc3MjVjMjNjNzRhZjRjZGE0NWY3NTdlNTM2MGMxLi5jZDk3ZGEzNzg5NjA4ZDU3
NjI0OTA0ZTZhMzgzMTA1YzhhN2QyMDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaApAQCAtNzQ0LDYgKzc0NCw5IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBnZXRD
bGVhckRlbHRhKFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgeVBvcyk7CiAKICAgICB2aXJ0
dWFsIGJvb2wgYXZvaWRzRmxvYXRzKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGNhbkhhdmVH
ZW5lcmF0ZWRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9v
bCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oUmVuZGVyT2JqZWN0Kik7CisgICAgUmVuZGVyT2Jq
ZWN0KiBmaW5kRmlyc3RMZXR0ZXJCbG9jaygpOwogCiAgICAgYm9vbCBoYXNPdmVyaGFuZ2luZ0Zs
b2F0cygpIHsgcmV0dXJuIHBhcmVudCgpICYmICFoYXNDb2x1bW5zKCkgJiYgY29udGFpbnNGbG9h
dHMoKSAmJiBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20oKSA+IGxvZ2ljYWxIZWlnaHQoKTsgfQog
ICAgIGJvb2wgaGFzT3ZlcmhhbmdpbmdGbG9hdChSZW5kZXJCb3gqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaAppbmRl
eCA0ZDkxMmY0MzBlYjk2MWVlMTE5MDk4NDY3Nzk3MGI0NWIyMzQ3MjJmLi5kMGNhNmZjYmY0NDU4
NjA1NGYxZWIyOWNhZGM4NDQ5ZTIwNGY1NjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oCkBAIC00OSw3ICs0OSw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXByZWNhdGVkRmxleGlibGVCb3goKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRmxleGluZ0NoaWxkcmVu
KCkgY29uc3QgeyByZXR1cm4gbV9mbGV4aW5nQ2hpbGRyZW47IH0KICAgICB2aXJ0dWFsIGJvb2wg
aXNTdHJldGNoaW5nQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX3N0cmV0Y2hpbmdDaGlsZHJl
bjsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKICAgICB2b2lkIHBsYWNlQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwg
Y29uc3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCAwYzMxZWQ4MDYyZmRiNGY5NWI4ZDkxYzk3Njdk
NDA4NTc3ZjE3ODhkLi4xYTQ4ZjVkYmU2OTYwZjVhM2E0YjIxMWQ1MDc0MDcyZWYyZmFhZmE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApAQCAtNzEs
NiArNzEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Js
b2NrKFJlbmRlckJsb2NrKikgeyB9CiAgICAgdmlydHVhbCBib29sIGF2b2lkc0Zsb2F0cygpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENo
aWxkcmVuKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKICAgICB2aXJ0
dWFsIHZvaWQgYWRkRm9jdXNSaW5nUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0
UG9pbnQmKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhjOTg5MTc4MGJjYTJjNTRmNjAyNTZkYmRkY2Q5ZmZjOTZhMmRj
OWEuLjJmNWNjYmZjYmExM2IwOTY3YjQxNWI3MjQxNmQ0NjZiNWU0NDkyYTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wNS0yNyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBDYW4ndCBlZGl0IDxpbnB1dD4gZWxlbWVudHMgd2l0aCA6Zmlyc3QtbGV0
dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzYx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRlci1lZGl0Lmh0bWw6IEFkZGVkLgor
CiAyMDEyLTA1LTI3ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLmh0bWwgaXMgd3Jv
bmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRl
ci1lZGl0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWZpcnN0
LWxldHRlci1lZGl0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM1ZWE3ZWJlMWRhNTkwYTY0
MTM2MzM5OTUxMjVjMDZmZGUxNDJmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW5wdXQtZmlyc3QtbGV0dGVyLWVkaXQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGFyZ2V0IiB2YWx1ZT0iSGVsbG8iIGF1dG9mb2N1
cz0iYXV0b2ZvY3VzIiAvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NTVj
NDE5NTBiZTAzMGI1MWMyMjc1NTg1OWU1MDZmNmE2ZGRjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRlci1lZGl0Lmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgoraW5w
dXQ6Zmlyc3QtbGV0dGVyIHsKKyAgICBjb2xvcjogYmx1ZTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGFyZ2V0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICAgIHRhcmdldC5mb2N1cygp
OworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5
RG93bigiSCIpOworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlIik7CisgICAgICAgIGV2
ZW50U2VuZGVyLmtleURvd24oImwiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigibCIp
OworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJvIik7CisgICAgICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJzZWxlY3RBbGwiKTsgLy8gRG9lcyBzZWxlY3RBbGwgZm9yIGFsaWduaW5nIHRo
ZSBAYXV0b2ZvY3VzIGF0dHJpYnV0ZSBvbiB0aGUgZXhwZWN0YXRpb24uCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKyAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRh
cmdldCIgLz4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144277</attachid>
            <date>2012-05-27 23:29:05 -0700</date>
            <delta_ts>2012-05-27 23:40:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87615-20120528152904.patch</filename>
            <type>text/plain</type>
            <size>9580</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEyZTA1MzkxYjA4ZTVi
OGM5YTVlYTJmMWQ5MjBjYzc5MDI5MmUzMy4uMGJkNWY4ODc1YmUwNThmM2I2YWRmZGQwNmUwMmFi
YzE0YTNlMDIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTI3ICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIENhbid0IGVkaXQgPGlu
cHV0PiBlbGVtZW50cyB3aXRoIDpmaXJzdC1sZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQSBjaGVjayB1c2luZyBjYW5IYXZlR2VuZXJhdGVkQ2hp
bGRyZW4oKSBzaG91bGQgY292ZXIgbm90IG9ubHkKKyAgICAgICAgYnV0dG9uIGFuZCBtZW51bGlz
dCwgYnV0IGFsc28gUmVuZGVyVGV4dENvbnRyb2wuCisgICAgICAgIFRoaXMgY2hhbmdlIHB1bGxl
cyBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSB1cAorICAgICAgICBmcm9tIFJlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveCB0byBSZW5kZXJPYmplY3QsCisgICAgICAgIGFuZCBsZXRzIFJlbmRl
clRleHRDb250cm9sIG92ZXJyaWRlIGl0LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5w
dXQtZmlyc3QtbGV0dGVyLWVkaXQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaW5k
Rmlyc3RMZXR0ZXJCbG9jayk6IE1vdmVkIHRvIGEgbWV0aG9kIHRvIGFjY2VzcyBwcml2YXRlIG1l
bWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6dXBkYXRlRmlyc3RMZXR0ZXIp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOiBSZW1vdmVkIGEgc3RhdGljIGZ1
bmN0aW9uIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpCisgICAgICAgIChSZW5kZXJCbG9jayk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbik6
IEFkZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFJl
bmRlck9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmg6CisK
IDIwMTItMDUtMjcgIEFydmlkIE5pbHNzb24gIDxhbmlsc3NvbkByaW0uY29tPgogCiAgICAgICAg
IFtCbGFja0JlcnJ5XSBVcGRhdGUgY29sb3IgZm9yIHRhcCBoaWdobGlnaHQgYW5kIHNlbGVjdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZTZhNzNkOWE0
NzljYjI4ZTYwYzM1MWE2NGY1Mzk5OGYwNDk0NjQwMi4uNDUyMDYyMTUwNmRmNWZlMzllNjU1OTIx
MmQxYWI0ODU2N2I0MDFmNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCkBAIC0xMDgsMTggKzEwOCw2IEBAIHR5cGVkZWYgV1RGOjpIYXNoU2V0PFJlbmRlckJsb2Nr
Kj4gRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQ7CiBzdGF0aWMgaW50IGdEZWxheVVwZGF0ZVNj
cm9sbEluZm8gPSAwOwogc3RhdGljIERlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0KiBnRGVsYXll
ZFVwZGF0ZVNjcm9sbEluZm9TZXQgPSAwOwogCi0vLyBXZSBvbmx5IGNyZWF0ZSAiZ2VuZXJhdGVk
IiByZW5kZXJlcnMgbGlrZSBvbmUgZm9yIGZpcnN0LWxldHRlciBhbmQKLS8vIGJlZm9yZS9hZnRl
ciBwc2V1ZG8gZWxlbWVudHMgaWY6Ci0vLyAtIHRoZSBmaXJzdExldHRlckJsb2NrIGNhbiBoYXZl
IGNoaWxkcmVuIGluIHRoZSBET00gYW5kCi0vLyAtIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYW55
IHNwZWNpYWwgYXNzdW1wdGlvbiBvbiBpdHMgdGV4dCBjaGlsZHJlbi4KLS8vIFRoaXMgY29ycmVj
dGx5IHByZXZlbnRzIGZvcm0gY29udHJvbHMgZnJvbSBoYXZpbmcgc3VjaCByZW5kZXJlcnMuCi1z
dGF0aWMgaW5saW5lIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpCi17Ci0gICAgcmV0dXJuIChyZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkKLSAg
ICAgICAgICAgICYmICghcmVuZGVyZXItPmlzRGVwcmVjYXRlZEZsZXhpYmxlQm94KCkKLSAgICAg
ICAgICAgICAgICB8fCBzdGF0aWNfY2FzdDxSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3gqPihy
ZW5kZXJlciktPmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKSk7Ci19Ci0KIGJvb2wgUmVuZGVy
QmxvY2s6OnNfY2FuUHJvcGFnYXRlRmxvYXRJbnRvU2libGluZyA9IGZhbHNlOwogCiAvLyBUaGlz
IGNsYXNzIGhlbHBzIGRpc3BhdGNoaW5nIHRoZSAnb3ZlcmZsb3cnIGV2ZW50IG9uIGxheW91dCBj
aGFuZ2UuIG92ZXJmbG93IGNhbiBiZSBzZXQgb24gUmVuZGVyQm94ZXMsIHlldCB0aGUgZXhpc3Rp
bmcgY29kZQpAQCAtMzQwLDcgKzMyOCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAg
bV9saW5lSGVpZ2h0ID0gLTE7CiAKICAgICAvLyBVcGRhdGUgcHNldWRvcyBmb3IgOmJlZm9yZSBh
bmQgOmFmdGVyIG5vdy4KLSAgICBpZiAoIWlzQW5vbnltb3VzKCkgJiYgZG9jdW1lbnQoKS0+dXNl
c0JlZm9yZUFmdGVyUnVsZXMoKSAmJiBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4odGhpcykpIHsK
KyAgICBpZiAoIWlzQW5vbnltb3VzKCkgJiYgZG9jdW1lbnQoKS0+dXNlc0JlZm9yZUFmdGVyUnVs
ZXMoKSAmJiBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSkgewogICAgICAgICB1cGRhdGVCZWZv
cmVBZnRlckNvbnRlbnQoQkVGT1JFKTsKICAgICAgICAgdXBkYXRlQmVmb3JlQWZ0ZXJDb250ZW50
KEFGVEVSKTsKICAgICB9CkBAIC02MDAwLDEyICs1OTg4LDEyIEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzaG91bGRTa2lwRm9yRmlyc3RMZXR0ZXIoVUNoYXIgYykKICAgICByZXR1cm4gaXNTcGFjZU9y
TmV3bGluZShjKSB8fCBjID09IG5vQnJlYWtTcGFjZSB8fCBpc1B1bmN0dWF0aW9uRm9yRmlyc3RM
ZXR0ZXIoYyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RMZXR0
ZXJCbG9jayhSZW5kZXJCbG9jayogc3RhcnQpCitpbmxpbmUgUmVuZGVyT2JqZWN0KiBSZW5kZXJC
bG9jazo6ZmluZEZpcnN0TGV0dGVyQmxvY2soKQogewotICAgIFJlbmRlck9iamVjdCogZmlyc3RM
ZXR0ZXJCbG9jayA9IHN0YXJ0OworICAgIFJlbmRlck9iamVjdCogZmlyc3RMZXR0ZXJCbG9jayA9
IHRoaXM7CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgYm9vbCBjYW5IYXZlRmlyc3RMZXR0
ZXJSZW5kZXJlciA9IGZpcnN0TGV0dGVyQmxvY2stPnN0eWxlKCktPmhhc1BzZXVkb1N0eWxlKEZJ
UlNUX0xFVFRFUikKLSAgICAgICAgICAgICYmIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbihmaXJz
dExldHRlckJsb2NrKTsKKyAgICAgICAgICAgICYmIGZpcnN0TGV0dGVyQmxvY2stPmNhbkhhdmVH
ZW5lcmF0ZWRDaGlsZHJlbigpOwogICAgICAgICBpZiAoY2FuSGF2ZUZpcnN0TGV0dGVyUmVuZGVy
ZXIpCiAgICAgICAgICAgICByZXR1cm4gZmlyc3RMZXR0ZXJCbG9jazsKIApAQCAtNjE0NSw3ICs2
MTMzLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6dXBkYXRlRmlyc3RMZXR0ZXIoKQogCiAgICAgLy8g
RklYTUU6IFdlIG5lZWQgdG8gZGVzdHJveSB0aGUgZmlyc3QtbGV0dGVyIG9iamVjdCBpZiBpdCBp
cyBubyBsb25nZXIgdGhlIGZpcnN0IGNoaWxkLiBOZWVkIHRvIGZpbmQKICAgICAvLyBhbiBlZmZp
Y2llbnQgd2F5IHRvIGNoZWNrIGZvciB0aGF0IHNpdHVhdGlvbiB0aG91Z2ggYmVmb3JlIGltcGxl
bWVudGluZyBhbnl0aGluZy4KLSAgICBSZW5kZXJPYmplY3QqIGZpcnN0TGV0dGVyQmxvY2sgPSBm
aW5kRmlyc3RMZXR0ZXJCbG9jayh0aGlzKTsKKyAgICBSZW5kZXJPYmplY3QqIGZpcnN0TGV0dGVy
QmxvY2sgPSBmaW5kRmlyc3RMZXR0ZXJCbG9jaygpOwogICAgIGlmICghZmlyc3RMZXR0ZXJCbG9j
aykKICAgICAgICAgcmV0dXJuOwogCkBAIC02MTY0LDcgKzYxNTIsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjp1cGRhdGVGaXJzdExldHRlcigpCiAgICAgICAgICAgICBjdXJyQ2hpbGQgPSBjdXJyQ2hp
bGQtPm5leHRTaWJsaW5nKCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY3VyckNoaWxkLT5pc1JlcGxh
Y2VkKCkgfHwgY3VyckNoaWxkLT5pc1JlbmRlckJ1dHRvbigpIHx8IGN1cnJDaGlsZC0+aXNNZW51
TGlzdCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGVsc2UgaWYgKGN1cnJDaGlsZC0+
c3R5bGUoKS0+aGFzUHNldWRvU3R5bGUoRklSU1RfTEVUVEVSKSAmJiBjYW5IYXZlR2VuZXJhdGVk
Q2hpbGRyZW4oY3VyckNoaWxkKSkgIHsKKyAgICAgICAgZWxzZSBpZiAoY3VyckNoaWxkLT5zdHls
ZSgpLT5oYXNQc2V1ZG9TdHlsZShGSVJTVF9MRVRURVIpICYmIGN1cnJDaGlsZC0+Y2FuSGF2ZUdl
bmVyYXRlZENoaWxkcmVuKCkpICB7CiAgICAgICAgICAgICAvLyBXZSBmb3VuZCBhIGxvd2VyLWxl
dmVsIG5vZGUgd2l0aCBmaXJzdC1sZXR0ZXIsIHdoaWNoIHN1cGVyc2VkZXMgdGhlIGhpZ2hlci1s
ZXZlbCBzdHlsZQogICAgICAgICAgICAgZmlyc3RMZXR0ZXJCbG9jayA9IGN1cnJDaGlsZDsKICAg
ICAgICAgICAgIGN1cnJDaGlsZCA9IGN1cnJDaGlsZC0+Zmlyc3RDaGlsZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAyZDhjYzdiN2U4Yzc3MjVjMjNjNzRhZjRj
ZGE0NWY3NTdlNTM2MGMxLi44OTJmN2Q4ZWY2NTg5YWRiMzRiNjBhZjdhMTQ3YjM4OTAyOTJmMzYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNzQ0LDYgKzc0NCw3
IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBnZXRDbGVhckRlbHRhKFJlbmRlckJveCogY2hp
bGQsIExheW91dFVuaXQgeVBvcyk7CiAKICAgICB2aXJ0dWFsIGJvb2wgYXZvaWRzRmxvYXRzKCkg
Y29uc3Q7CisgICAgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RMZXR0ZXJCbG9jaygpOwogCiAgICAg
Ym9vbCBoYXNPdmVyaGFuZ2luZ0Zsb2F0cygpIHsgcmV0dXJuIHBhcmVudCgpICYmICFoYXNDb2x1
bW5zKCkgJiYgY29udGFpbnNGbG9hdHMoKSAmJiBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20oKSA+
IGxvZ2ljYWxIZWlnaHQoKTsgfQogICAgIGJvb2wgaGFzT3ZlcmhhbmdpbmdGbG9hdChSZW5kZXJC
b3gqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3guaAppbmRleCA0ZDkxMmY0MzBlYjk2MWVlMTE5MDk4NDY3Nzk3MGI0NWIy
MzQ3MjJmLi5kMGNhNmZjYmY0NDU4NjA1NGYxZWIyOWNhZGM4NDQ5ZTIwNGY1NjE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC5oCkBAIC00OSw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXBy
ZWNhdGVkRmxleGlibGVCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzRmxleGluZ0NoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9mbGV4aW5nQ2hpbGRyZW47
IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTdHJldGNoaW5nQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVy
biBtX3N0cmV0Y2hpbmdDaGlsZHJlbjsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJh
dGVkQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2b2lkIHBsYWNlQ2hp
bGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAxY2Q2ZDM2ZGNmNGY2
ZmEwNGZkNjcyYmIxMjcwODVlNmJhMDhiYjFlLi4xOWUwMTI2NzM3YWRhMmIwZWVlYTMxOTJmZDIy
MjA2NWJlMGE0ZGJlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtMjkwMCw2ICsyOTAwLDE1IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpjYW5VcGRhdGVTZWxl
Y3Rpb25PblJvb3RMaW5lQm94ZXMoKQogICAgIHJldHVybiBjb250YWluaW5nQmxvY2sgPyAhY29u
dGFpbmluZ0Jsb2NrLT5uZWVkc0xheW91dCgpIDogdHJ1ZTsKIH0KIAorLy8gV2Ugb25seSBjcmVh
dGUgImdlbmVyYXRlZCIgY2hpbGQgcmVuZGVyZXJzIGxpa2Ugb25lIGZvciBmaXJzdC1sZXR0ZXIg
aWY6CisvLyAtIHRoZSBmaXJzdExldHRlckJsb2NrIGNhbiBoYXZlIGNoaWxkcmVuIGluIHRoZSBE
T00gYW5kCisvLyAtIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYW55IHNwZWNpYWwgYXNzdW1wdGlv
biBvbiBpdHMgdGV4dCBjaGlsZHJlbi4KKy8vIFRoaXMgY29ycmVjdGx5IHByZXZlbnRzIGZvcm0g
Y29udHJvbHMgZnJvbSBoYXZpbmcgc3VjaCByZW5kZXJlcnMuCitib29sIFJlbmRlck9iamVjdDo6
Y2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2FuSGF2ZUNo
aWxkcmVuKCk7Cit9CisKICNpZiBFTkFCTEUoU1ZHKQogCiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lciogUmVuZGVyT2JqZWN0Ojp0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBlZDkwYWFjMjI5ODY2N2RlZjJj
Y2U1MmYzMzNjN2NlNmZjZTFlZDM5Li5mZGZiMTk1ZmY3YzllN2RlNGM2YzMzMjY3M2NiNmM2M2Nm
ZjA4YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNDIs
NiArMjQyLDcgQEAgcHVibGljOgogICAgIC8vIFJlbmRlck9iamVjdCB0cmVlIG1hbmlwdWxhdGlv
bgogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgIHZp
cnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB2aXJ0dWFsQ2hpbGRy
ZW4oKTsgfQorICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgaXNDaGlsZEFsbG93ZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVy
U3R5bGUqKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxk
KFJlbmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSAwKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJPYmpl
Y3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCkgeyByZXR1cm4gYWRk
Q2hpbGQobmV3Q2hpbGQsIGJlZm9yZUNoaWxkKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCAwYzMxZWQ4MDYyZmRiNGY5NWI4ZDkxYzk3Njdk
NDA4NTc3ZjE3ODhkLi4xYTQ4ZjVkYmU2OTYwZjVhM2E0YjIxMWQ1MDc0MDcyZWYyZmFhZmE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApAQCAtNzEs
NiArNzEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Js
b2NrKFJlbmRlckJsb2NrKikgeyB9CiAgICAgdmlydHVhbCBib29sIGF2b2lkc0Zsb2F0cygpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENo
aWxkcmVuKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKICAgICB2aXJ0
dWFsIHZvaWQgYWRkRm9jdXNSaW5nUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0
UG9pbnQmKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhjOTg5MTc4MGJjYTJjNTRmNjAyNTZkYmRkY2Q5ZmZjOTZhMmRj
OWEuLjJmNWNjYmZjYmExM2IwOTY3YjQxNWI3MjQxNmQ0NjZiNWU0NDkyYTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wNS0yNyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBDYW4ndCBlZGl0IDxpbnB1dD4gZWxlbWVudHMgd2l0aCA6Zmlyc3QtbGV0
dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzYx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRlci1lZGl0Lmh0bWw6IEFkZGVkLgor
CiAyMDEyLTA1LTI3ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLmh0bWwgaXMgd3Jv
bmcuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144279</attachid>
            <date>2012-05-27 23:39:18 -0700</date>
            <delta_ts>2012-05-28 01:03:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87615-20120528153917.patch</filename>
            <type>text/plain</type>
            <size>11142</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEyZTA1MzkxYjA4ZTVi
OGM5YTVlYTJmMWQ5MjBjYzc5MDI5MmUzMy4uMGJkNWY4ODc1YmUwNThmM2I2YWRmZGQwNmUwMmFi
YzE0YTNlMDIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTI3ICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIENhbid0IGVkaXQgPGlu
cHV0PiBlbGVtZW50cyB3aXRoIDpmaXJzdC1sZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQSBjaGVjayB1c2luZyBjYW5IYXZlR2VuZXJhdGVkQ2hp
bGRyZW4oKSBzaG91bGQgY292ZXIgbm90IG9ubHkKKyAgICAgICAgYnV0dG9uIGFuZCBtZW51bGlz
dCwgYnV0IGFsc28gUmVuZGVyVGV4dENvbnRyb2wuCisgICAgICAgIFRoaXMgY2hhbmdlIHB1bGxl
cyBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSB1cAorICAgICAgICBmcm9tIFJlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveCB0byBSZW5kZXJPYmplY3QsCisgICAgICAgIGFuZCBsZXRzIFJlbmRl
clRleHRDb250cm9sIG92ZXJyaWRlIGl0LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5w
dXQtZmlyc3QtbGV0dGVyLWVkaXQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaW5k
Rmlyc3RMZXR0ZXJCbG9jayk6IE1vdmVkIHRvIGEgbWV0aG9kIHRvIGFjY2VzcyBwcml2YXRlIG1l
bWJlcnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6dXBkYXRlRmlyc3RMZXR0ZXIp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOiBSZW1vdmVkIGEgc3RhdGljIGZ1
bmN0aW9uIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpCisgICAgICAgIChSZW5kZXJCbG9jayk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbik6
IEFkZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFJl
bmRlck9iamVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmg6CisK
IDIwMTItMDUtMjcgIEFydmlkIE5pbHNzb24gIDxhbmlsc3NvbkByaW0uY29tPgogCiAgICAgICAg
IFtCbGFja0JlcnJ5XSBVcGRhdGUgY29sb3IgZm9yIHRhcCBoaWdobGlnaHQgYW5kIHNlbGVjdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZTZhNzNkOWE0
NzljYjI4ZTYwYzM1MWE2NGY1Mzk5OGYwNDk0NjQwMi4uNDUyMDYyMTUwNmRmNWZlMzllNjU1OTIx
MmQxYWI0ODU2N2I0MDFmNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCkBAIC0xMDgsMTggKzEwOCw2IEBAIHR5cGVkZWYgV1RGOjpIYXNoU2V0PFJlbmRlckJsb2Nr
Kj4gRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQ7CiBzdGF0aWMgaW50IGdEZWxheVVwZGF0ZVNj
cm9sbEluZm8gPSAwOwogc3RhdGljIERlbGF5ZWRVcGRhdGVTY3JvbGxJbmZvU2V0KiBnRGVsYXll
ZFVwZGF0ZVNjcm9sbEluZm9TZXQgPSAwOwogCi0vLyBXZSBvbmx5IGNyZWF0ZSAiZ2VuZXJhdGVk
IiByZW5kZXJlcnMgbGlrZSBvbmUgZm9yIGZpcnN0LWxldHRlciBhbmQKLS8vIGJlZm9yZS9hZnRl
ciBwc2V1ZG8gZWxlbWVudHMgaWY6Ci0vLyAtIHRoZSBmaXJzdExldHRlckJsb2NrIGNhbiBoYXZl
IGNoaWxkcmVuIGluIHRoZSBET00gYW5kCi0vLyAtIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYW55
IHNwZWNpYWwgYXNzdW1wdGlvbiBvbiBpdHMgdGV4dCBjaGlsZHJlbi4KLS8vIFRoaXMgY29ycmVj
dGx5IHByZXZlbnRzIGZvcm0gY29udHJvbHMgZnJvbSBoYXZpbmcgc3VjaCByZW5kZXJlcnMuCi1z
dGF0aWMgaW5saW5lIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKFJlbmRlck9iamVjdCog
cmVuZGVyZXIpCi17Ci0gICAgcmV0dXJuIChyZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkKLSAg
ICAgICAgICAgICYmICghcmVuZGVyZXItPmlzRGVwcmVjYXRlZEZsZXhpYmxlQm94KCkKLSAgICAg
ICAgICAgICAgICB8fCBzdGF0aWNfY2FzdDxSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3gqPihy
ZW5kZXJlciktPmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKSk7Ci19Ci0KIGJvb2wgUmVuZGVy
QmxvY2s6OnNfY2FuUHJvcGFnYXRlRmxvYXRJbnRvU2libGluZyA9IGZhbHNlOwogCiAvLyBUaGlz
IGNsYXNzIGhlbHBzIGRpc3BhdGNoaW5nIHRoZSAnb3ZlcmZsb3cnIGV2ZW50IG9uIGxheW91dCBj
aGFuZ2UuIG92ZXJmbG93IGNhbiBiZSBzZXQgb24gUmVuZGVyQm94ZXMsIHlldCB0aGUgZXhpc3Rp
bmcgY29kZQpAQCAtMzQwLDcgKzMyOCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAg
bV9saW5lSGVpZ2h0ID0gLTE7CiAKICAgICAvLyBVcGRhdGUgcHNldWRvcyBmb3IgOmJlZm9yZSBh
bmQgOmFmdGVyIG5vdy4KLSAgICBpZiAoIWlzQW5vbnltb3VzKCkgJiYgZG9jdW1lbnQoKS0+dXNl
c0JlZm9yZUFmdGVyUnVsZXMoKSAmJiBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4odGhpcykpIHsK
KyAgICBpZiAoIWlzQW5vbnltb3VzKCkgJiYgZG9jdW1lbnQoKS0+dXNlc0JlZm9yZUFmdGVyUnVs
ZXMoKSAmJiBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSkgewogICAgICAgICB1cGRhdGVCZWZv
cmVBZnRlckNvbnRlbnQoQkVGT1JFKTsKICAgICAgICAgdXBkYXRlQmVmb3JlQWZ0ZXJDb250ZW50
KEFGVEVSKTsKICAgICB9CkBAIC02MDAwLDEyICs1OTg4LDEyIEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBzaG91bGRTa2lwRm9yRmlyc3RMZXR0ZXIoVUNoYXIgYykKICAgICByZXR1cm4gaXNTcGFjZU9y
TmV3bGluZShjKSB8fCBjID09IG5vQnJlYWtTcGFjZSB8fCBpc1B1bmN0dWF0aW9uRm9yRmlyc3RM
ZXR0ZXIoYyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RMZXR0
ZXJCbG9jayhSZW5kZXJCbG9jayogc3RhcnQpCitpbmxpbmUgUmVuZGVyT2JqZWN0KiBSZW5kZXJC
bG9jazo6ZmluZEZpcnN0TGV0dGVyQmxvY2soKQogewotICAgIFJlbmRlck9iamVjdCogZmlyc3RM
ZXR0ZXJCbG9jayA9IHN0YXJ0OworICAgIFJlbmRlck9iamVjdCogZmlyc3RMZXR0ZXJCbG9jayA9
IHRoaXM7CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgYm9vbCBjYW5IYXZlRmlyc3RMZXR0
ZXJSZW5kZXJlciA9IGZpcnN0TGV0dGVyQmxvY2stPnN0eWxlKCktPmhhc1BzZXVkb1N0eWxlKEZJ
UlNUX0xFVFRFUikKLSAgICAgICAgICAgICYmIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbihmaXJz
dExldHRlckJsb2NrKTsKKyAgICAgICAgICAgICYmIGZpcnN0TGV0dGVyQmxvY2stPmNhbkhhdmVH
ZW5lcmF0ZWRDaGlsZHJlbigpOwogICAgICAgICBpZiAoY2FuSGF2ZUZpcnN0TGV0dGVyUmVuZGVy
ZXIpCiAgICAgICAgICAgICByZXR1cm4gZmlyc3RMZXR0ZXJCbG9jazsKIApAQCAtNjE0NSw3ICs2
MTMzLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6dXBkYXRlRmlyc3RMZXR0ZXIoKQogCiAgICAgLy8g
RklYTUU6IFdlIG5lZWQgdG8gZGVzdHJveSB0aGUgZmlyc3QtbGV0dGVyIG9iamVjdCBpZiBpdCBp
cyBubyBsb25nZXIgdGhlIGZpcnN0IGNoaWxkLiBOZWVkIHRvIGZpbmQKICAgICAvLyBhbiBlZmZp
Y2llbnQgd2F5IHRvIGNoZWNrIGZvciB0aGF0IHNpdHVhdGlvbiB0aG91Z2ggYmVmb3JlIGltcGxl
bWVudGluZyBhbnl0aGluZy4KLSAgICBSZW5kZXJPYmplY3QqIGZpcnN0TGV0dGVyQmxvY2sgPSBm
aW5kRmlyc3RMZXR0ZXJCbG9jayh0aGlzKTsKKyAgICBSZW5kZXJPYmplY3QqIGZpcnN0TGV0dGVy
QmxvY2sgPSBmaW5kRmlyc3RMZXR0ZXJCbG9jaygpOwogICAgIGlmICghZmlyc3RMZXR0ZXJCbG9j
aykKICAgICAgICAgcmV0dXJuOwogCkBAIC02MTY0LDcgKzYxNTIsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjp1cGRhdGVGaXJzdExldHRlcigpCiAgICAgICAgICAgICBjdXJyQ2hpbGQgPSBjdXJyQ2hp
bGQtPm5leHRTaWJsaW5nKCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY3VyckNoaWxkLT5pc1JlcGxh
Y2VkKCkgfHwgY3VyckNoaWxkLT5pc1JlbmRlckJ1dHRvbigpIHx8IGN1cnJDaGlsZC0+aXNNZW51
TGlzdCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGVsc2UgaWYgKGN1cnJDaGlsZC0+
c3R5bGUoKS0+aGFzUHNldWRvU3R5bGUoRklSU1RfTEVUVEVSKSAmJiBjYW5IYXZlR2VuZXJhdGVk
Q2hpbGRyZW4oY3VyckNoaWxkKSkgIHsKKyAgICAgICAgZWxzZSBpZiAoY3VyckNoaWxkLT5zdHls
ZSgpLT5oYXNQc2V1ZG9TdHlsZShGSVJTVF9MRVRURVIpICYmIGN1cnJDaGlsZC0+Y2FuSGF2ZUdl
bmVyYXRlZENoaWxkcmVuKCkpICB7CiAgICAgICAgICAgICAvLyBXZSBmb3VuZCBhIGxvd2VyLWxl
dmVsIG5vZGUgd2l0aCBmaXJzdC1sZXR0ZXIsIHdoaWNoIHN1cGVyc2VkZXMgdGhlIGhpZ2hlci1s
ZXZlbCBzdHlsZQogICAgICAgICAgICAgZmlyc3RMZXR0ZXJCbG9jayA9IGN1cnJDaGlsZDsKICAg
ICAgICAgICAgIGN1cnJDaGlsZCA9IGN1cnJDaGlsZC0+Zmlyc3RDaGlsZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAyZDhjYzdiN2U4Yzc3MjVjMjNjNzRhZjRj
ZGE0NWY3NTdlNTM2MGMxLi44OTJmN2Q4ZWY2NTg5YWRiMzRiNjBhZjdhMTQ3YjM4OTAyOTJmMzYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtNzQ0LDYgKzc0NCw3
IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBnZXRDbGVhckRlbHRhKFJlbmRlckJveCogY2hp
bGQsIExheW91dFVuaXQgeVBvcyk7CiAKICAgICB2aXJ0dWFsIGJvb2wgYXZvaWRzRmxvYXRzKCkg
Y29uc3Q7CisgICAgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RMZXR0ZXJCbG9jaygpOwogCiAgICAg
Ym9vbCBoYXNPdmVyaGFuZ2luZ0Zsb2F0cygpIHsgcmV0dXJuIHBhcmVudCgpICYmICFoYXNDb2x1
bW5zKCkgJiYgY29udGFpbnNGbG9hdHMoKSAmJiBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20oKSA+
IGxvZ2ljYWxIZWlnaHQoKTsgfQogICAgIGJvb2wgaGFzT3ZlcmhhbmdpbmdGbG9hdChSZW5kZXJC
b3gqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3guaAppbmRleCA0ZDkxMmY0MzBlYjk2MWVlMTE5MDk4NDY3Nzk3MGI0NWIy
MzQ3MjJmLi5kMGNhNmZjYmY0NDU4NjA1NGYxZWIyOWNhZGM4NDQ5ZTIwNGY1NjE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC5oCkBAIC00OSw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXBy
ZWNhdGVkRmxleGlibGVCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzRmxleGluZ0NoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9mbGV4aW5nQ2hpbGRyZW47
IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTdHJldGNoaW5nQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVy
biBtX3N0cmV0Y2hpbmdDaGlsZHJlbjsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJh
dGVkQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2b2lkIHBsYWNlQ2hp
bGQoUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAxY2Q2ZDM2ZGNmNGY2
ZmEwNGZkNjcyYmIxMjcwODVlNmJhMDhiYjFlLi4xOWUwMTI2NzM3YWRhMmIwZWVlYTMxOTJmZDIy
MjA2NWJlMGE0ZGJlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtMjkwMCw2ICsyOTAwLDE1IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpjYW5VcGRhdGVTZWxl
Y3Rpb25PblJvb3RMaW5lQm94ZXMoKQogICAgIHJldHVybiBjb250YWluaW5nQmxvY2sgPyAhY29u
dGFpbmluZ0Jsb2NrLT5uZWVkc0xheW91dCgpIDogdHJ1ZTsKIH0KIAorLy8gV2Ugb25seSBjcmVh
dGUgImdlbmVyYXRlZCIgY2hpbGQgcmVuZGVyZXJzIGxpa2Ugb25lIGZvciBmaXJzdC1sZXR0ZXIg
aWY6CisvLyAtIHRoZSBmaXJzdExldHRlckJsb2NrIGNhbiBoYXZlIGNoaWxkcmVuIGluIHRoZSBE
T00gYW5kCisvLyAtIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYW55IHNwZWNpYWwgYXNzdW1wdGlv
biBvbiBpdHMgdGV4dCBjaGlsZHJlbi4KKy8vIFRoaXMgY29ycmVjdGx5IHByZXZlbnRzIGZvcm0g
Y29udHJvbHMgZnJvbSBoYXZpbmcgc3VjaCByZW5kZXJlcnMuCitib29sIFJlbmRlck9iamVjdDo6
Y2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2FuSGF2ZUNo
aWxkcmVuKCk7Cit9CisKICNpZiBFTkFCTEUoU1ZHKQogCiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRh
aW5lciogUmVuZGVyT2JqZWN0Ojp0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBlZDkwYWFjMjI5ODY2N2RlZjJj
Y2U1MmYzMzNjN2NlNmZjZTFlZDM5Li5mZGZiMTk1ZmY3YzllN2RlNGM2YzMzMjY3M2NiNmM2M2Nm
ZjA4YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNDIs
NiArMjQyLDcgQEAgcHVibGljOgogICAgIC8vIFJlbmRlck9iamVjdCB0cmVlIG1hbmlwdWxhdGlv
bgogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgIHZp
cnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB2aXJ0dWFsQ2hpbGRy
ZW4oKTsgfQorICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgaXNDaGlsZEFsbG93ZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVy
U3R5bGUqKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxk
KFJlbmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSAwKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJPYmpl
Y3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCkgeyByZXR1cm4gYWRk
Q2hpbGQobmV3Q2hpbGQsIGJlZm9yZUNoaWxkKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCAwYzMxZWQ4MDYyZmRiNGY5NWI4ZDkxYzk3Njdk
NDA4NTc3ZjE3ODhkLi4xYTQ4ZjVkYmU2OTYwZjVhM2E0YjIxMWQ1MDc0MDcyZWYyZmFhZmE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApAQCAtNzEs
NiArNzEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Js
b2NrKFJlbmRlckJsb2NrKikgeyB9CiAgICAgdmlydHVhbCBib29sIGF2b2lkc0Zsb2F0cygpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENo
aWxkcmVuKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKICAgICB2aXJ0
dWFsIHZvaWQgYWRkRm9jdXNSaW5nUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0
UG9pbnQmKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhjOTg5MTc4MGJjYTJjNTRmNjAyNTZkYmRkY2Q5ZmZjOTZhMmRj
OWEuLjJmNWNjYmZjYmExM2IwOTY3YjQxNWI3MjQxNmQ0NjZiNWU0NDkyYTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wNS0yNyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KKworICAgICAgICBDYW4ndCBlZGl0IDxpbnB1dD4gZWxlbWVudHMgd2l0aCA6Zmlyc3QtbGV0
dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzYx
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRlci1lZGl0Lmh0bWw6IEFkZGVkLgor
CiAyMDEyLTA1LTI3ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBmYXN0L2RvbS9zaGFkb3cvY29udGVudC1lbGVtZW50LWluLW1lZGlhLmh0bWwgaXMgd3Jv
bmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRl
ci1lZGl0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWZpcnN0
LWxldHRlci1lZGl0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM1ZWE3ZWJlMWRhNTkwYTY0
MTM2MzM5OTUxMjVjMDZmZGUxNDJmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW5wdXQtZmlyc3QtbGV0dGVyLWVkaXQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGFyZ2V0IiB2YWx1ZT0iSGVsbG8iIGF1dG9mb2N1
cz0iYXV0b2ZvY3VzIiAvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NTVj
NDE5NTBiZTAzMGI1MWMyMjc1NTg1OWU1MDZmNmE2ZGRjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRlci1lZGl0Lmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgoraW5w
dXQ6Zmlyc3QtbGV0dGVyIHsKKyAgICBjb2xvcjogYmx1ZTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGFyZ2V0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICAgIHRhcmdldC5mb2N1cygp
OworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5
RG93bigiSCIpOworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlIik7CisgICAgICAgIGV2
ZW50U2VuZGVyLmtleURvd24oImwiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigibCIp
OworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJvIik7CisgICAgICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJzZWxlY3RBbGwiKTsgLy8gRG9lcyBzZWxlY3RBbGwgZm9yIGFsaWduaW5nIHRo
ZSBAYXV0b2ZvY3VzIGF0dHJpYnV0ZSBvbiB0aGUgZXhwZWN0YXRpb24uCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKyAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRh
cmdldCIgLz4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144294</attachid>
            <date>2012-05-28 01:03:48 -0700</date>
            <delta_ts>2012-05-28 16:53:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87615-20120528170347.patch</filename>
            <type>text/plain</type>
            <size>9034</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEyZTA1MzkxYjA4ZTVi
OGM5YTVlYTJmMWQ5MjBjYzc5MDI5MmUzMy4uMDBhMzkwMmNjM2YwMDllZjdhZDM2MmNlZmEwMmU0
MDcwODVjYzRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA1LTI3ICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIENhbid0IGVkaXQgPGlu
cHV0PiBlbGVtZW50cyB3aXRoIDpmaXJzdC1sZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQSBjaGVjayB1c2luZyBjYW5IYXZlR2VuZXJhdGVkQ2hp
bGRyZW4oKSBzaG91bGQgY292ZXIgbm90IG9ubHkKKyAgICAgICAgYnV0dG9uIGFuZCBtZW51bGlz
dCwgYnV0IGFsc28gUmVuZGVyVGV4dENvbnRyb2wuCisgICAgICAgIFRoaXMgY2hhbmdlIHB1bGxl
cyBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSB1cAorICAgICAgICBmcm9tIFJlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveCB0byBSZW5kZXJPYmplY3QsCisgICAgICAgIGFuZCBsZXRzIFJlbmRl
clRleHRDb250cm9sIG92ZXJyaWRlIGl0LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvaW5w
dXQtZmlyc3QtbGV0dGVyLWVkaXQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1cGRh
dGVGaXJzdExldHRlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6IFJlbW92
ZWQgYSBzdGF0aWMgZnVuY3Rpb24gY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkKKyAgICAgICAg
KFJlbmRlckJsb2NrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y2FuSGF2ZUdlbmVy
YXRlZENoaWxkcmVuKTogQWRkZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
OgorICAgICAgICAoUmVuZGVyT2JqZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuaDoKKwogMjAxMi0wNS0yNyAgQXJ2aWQgTmlsc3NvbiAgPGFuaWxzc29uQHJpbS5j
b20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwZGF0ZSBjb2xvciBmb3IgdGFwIGhpZ2hsaWdo
dCBhbmQgc2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApp
bmRleCBlNmE3M2Q5YTQ3OWNiMjhlNjBjMzUxYTY0ZjUzOTk4ZjA0OTQ2NDAyLi45MmMwODIxYTIy
NDdmZTlmNjBjMzEwNTdmOGVjOTgxNzRiMjNiNDUxIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKQEAgLTEwOCwxOCArMTA4LDYgQEAgdHlwZWRlZiBXVEY6Okhhc2hT
ZXQ8UmVuZGVyQmxvY2sqPiBEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldDsKIHN0YXRpYyBpbnQg
Z0RlbGF5VXBkYXRlU2Nyb2xsSW5mbyA9IDA7CiBzdGF0aWMgRGVsYXllZFVwZGF0ZVNjcm9sbElu
Zm9TZXQqIGdEZWxheWVkVXBkYXRlU2Nyb2xsSW5mb1NldCA9IDA7CiAKLS8vIFdlIG9ubHkgY3Jl
YXRlICJnZW5lcmF0ZWQiIHJlbmRlcmVycyBsaWtlIG9uZSBmb3IgZmlyc3QtbGV0dGVyIGFuZAot
Ly8gYmVmb3JlL2FmdGVyIHBzZXVkbyBlbGVtZW50cyBpZjoKLS8vIC0gdGhlIGZpcnN0TGV0dGVy
QmxvY2sgY2FuIGhhdmUgY2hpbGRyZW4gaW4gdGhlIERPTSBhbmQKLS8vIC0gdGhlIGJsb2NrIGRv
ZXNuJ3QgaGF2ZSBhbnkgc3BlY2lhbCBhc3N1bXB0aW9uIG9uIGl0cyB0ZXh0IGNoaWxkcmVuLgot
Ly8gVGhpcyBjb3JyZWN0bHkgcHJldmVudHMgZm9ybSBjb250cm9scyBmcm9tIGhhdmluZyBzdWNo
IHJlbmRlcmVycy4KLXN0YXRpYyBpbmxpbmUgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4o
UmVuZGVyT2JqZWN0KiByZW5kZXJlcikKLXsKLSAgICByZXR1cm4gKHJlbmRlcmVyLT5jYW5IYXZl
Q2hpbGRyZW4oKQotICAgICAgICAgICAgJiYgKCFyZW5kZXJlci0+aXNEZXByZWNhdGVkRmxleGli
bGVCb3goKQotICAgICAgICAgICAgICAgIHx8IHN0YXRpY19jYXN0PFJlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveCo+KHJlbmRlcmVyKS0+Y2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkpKTsKLX0K
LQogYm9vbCBSZW5kZXJCbG9jazo6c19jYW5Qcm9wYWdhdGVGbG9hdEludG9TaWJsaW5nID0gZmFs
c2U7CiAKIC8vIFRoaXMgY2xhc3MgaGVscHMgZGlzcGF0Y2hpbmcgdGhlICdvdmVyZmxvdycgZXZl
bnQgb24gbGF5b3V0IGNoYW5nZS4gb3ZlcmZsb3cgY2FuIGJlIHNldCBvbiBSZW5kZXJCb3hlcywg
eWV0IHRoZSBleGlzdGluZyBjb2RlCkBAIC0zNDAsNyArMzI4LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHkKICAgICBtX2xpbmVIZWlnaHQgPSAtMTsKIAogICAgIC8vIFVwZGF0ZSBwc2V1ZG9z
IGZvciA6YmVmb3JlIGFuZCA6YWZ0ZXIgbm93LgotICAgIGlmICghaXNBbm9ueW1vdXMoKSAmJiBk
b2N1bWVudCgpLT51c2VzQmVmb3JlQWZ0ZXJSdWxlcygpICYmIGNhbkhhdmVHZW5lcmF0ZWRDaGls
ZHJlbih0aGlzKSkgeworICAgIGlmICghaXNBbm9ueW1vdXMoKSAmJiBkb2N1bWVudCgpLT51c2Vz
QmVmb3JlQWZ0ZXJSdWxlcygpICYmIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKSB7CiAgICAg
ICAgIHVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChCRUZPUkUpOwogICAgICAgICB1cGRhdGVCZWZv
cmVBZnRlckNvbnRlbnQoQUZURVIpOwogICAgIH0KQEAgLTYwMDUsNyArNTk5Myw3IEBAIHN0YXRp
YyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RMZXR0ZXJCbG9jayhSZW5kZXJCbG9jayog
c3RhcnQpCiAgICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gc3RhcnQ7CiAgICAg
d2hpbGUgKHRydWUpIHsKICAgICAgICAgYm9vbCBjYW5IYXZlRmlyc3RMZXR0ZXJSZW5kZXJlciA9
IGZpcnN0TGV0dGVyQmxvY2stPnN0eWxlKCktPmhhc1BzZXVkb1N0eWxlKEZJUlNUX0xFVFRFUikK
LSAgICAgICAgICAgICYmIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbihmaXJzdExldHRlckJsb2Nr
KTsKKyAgICAgICAgICAgICYmIGZpcnN0TGV0dGVyQmxvY2stPmNhbkhhdmVHZW5lcmF0ZWRDaGls
ZHJlbigpOwogICAgICAgICBpZiAoY2FuSGF2ZUZpcnN0TGV0dGVyUmVuZGVyZXIpCiAgICAgICAg
ICAgICByZXR1cm4gZmlyc3RMZXR0ZXJCbG9jazsKIApAQCAtNjE2NCw3ICs2MTUyLDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6dXBkYXRlRmlyc3RMZXR0ZXIoKQogICAgICAgICAgICAgY3VyckNoaWxk
ID0gY3VyckNoaWxkLT5uZXh0U2libGluZygpOwogICAgICAgICB9IGVsc2UgaWYgKGN1cnJDaGls
ZC0+aXNSZXBsYWNlZCgpIHx8IGN1cnJDaGlsZC0+aXNSZW5kZXJCdXR0b24oKSB8fCBjdXJyQ2hp
bGQtPmlzTWVudUxpc3QoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBlbHNlIGlmIChj
dXJyQ2hpbGQtPnN0eWxlKCktPmhhc1BzZXVkb1N0eWxlKEZJUlNUX0xFVFRFUikgJiYgY2FuSGF2
ZUdlbmVyYXRlZENoaWxkcmVuKGN1cnJDaGlsZCkpICB7CisgICAgICAgIGVsc2UgaWYgKGN1cnJD
aGlsZC0+c3R5bGUoKS0+aGFzUHNldWRvU3R5bGUoRklSU1RfTEVUVEVSKSAmJiBjdXJyQ2hpbGQt
PmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKSAgewogICAgICAgICAgICAgLy8gV2UgZm91bmQg
YSBsb3dlci1sZXZlbCBub2RlIHdpdGggZmlyc3QtbGV0dGVyLCB3aGljaCBzdXBlcnNlZGVzIHRo
ZSBoaWdoZXItbGV2ZWwgc3R5bGUKICAgICAgICAgICAgIGZpcnN0TGV0dGVyQmxvY2sgPSBjdXJy
Q2hpbGQ7CiAgICAgICAgICAgICBjdXJyQ2hpbGQgPSBjdXJyQ2hpbGQtPmZpcnN0Q2hpbGQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3guaAppbmRleCA0ZDkxMmY0MzBlYjk2MWVlMTE5MDk4NDY3Nzk3MGI0NWIyMzQ3MjJm
Li5kMGNhNmZjYmY0NDU4NjA1NGYxZWIyOWNhZGM4NDQ5ZTIwNGY1NjE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5o
CkBAIC00OSw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXByZWNhdGVk
RmxleGlibGVCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGlz
RmxleGluZ0NoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9mbGV4aW5nQ2hpbGRyZW47IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNTdHJldGNoaW5nQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX3N0
cmV0Y2hpbmdDaGlsZHJlbjsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hp
bGRyZW4oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2b2lkIHBsYWNlQ2hpbGQoUmVu
ZGVyQm94KiBjaGlsZCwgY29uc3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAxY2Q2ZDM2ZGNmNGY2ZmEwNGZk
NjcyYmIxMjcwODVlNmJhMDhiYjFlLi4xOWUwMTI2NzM3YWRhMmIwZWVlYTMxOTJmZDIyMjA2NWJl
MGE0ZGJlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAt
MjkwMCw2ICsyOTAwLDE1IEBAIGJvb2wgUmVuZGVyT2JqZWN0OjpjYW5VcGRhdGVTZWxlY3Rpb25P
blJvb3RMaW5lQm94ZXMoKQogICAgIHJldHVybiBjb250YWluaW5nQmxvY2sgPyAhY29udGFpbmlu
Z0Jsb2NrLT5uZWVkc0xheW91dCgpIDogdHJ1ZTsKIH0KIAorLy8gV2Ugb25seSBjcmVhdGUgImdl
bmVyYXRlZCIgY2hpbGQgcmVuZGVyZXJzIGxpa2Ugb25lIGZvciBmaXJzdC1sZXR0ZXIgaWY6Cisv
LyAtIHRoZSBmaXJzdExldHRlckJsb2NrIGNhbiBoYXZlIGNoaWxkcmVuIGluIHRoZSBET00gYW5k
CisvLyAtIHRoZSBibG9jayBkb2Vzbid0IGhhdmUgYW55IHNwZWNpYWwgYXNzdW1wdGlvbiBvbiBp
dHMgdGV4dCBjaGlsZHJlbi4KKy8vIFRoaXMgY29ycmVjdGx5IHByZXZlbnRzIGZvcm0gY29udHJv
bHMgZnJvbSBoYXZpbmcgc3VjaCByZW5kZXJlcnMuCitib29sIFJlbmRlck9iamVjdDo6Y2FuSGF2
ZUdlbmVyYXRlZENoaWxkcmVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2FuSGF2ZUNoaWxkcmVu
KCk7Cit9CisKICNpZiBFTkFCTEUoU1ZHKQogCiBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciog
UmVuZGVyT2JqZWN0Ojp0b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBlZDkwYWFjMjI5ODY2N2RlZjJjY2U1MmYz
MzNjN2NlNmZjZTFlZDM5Li5mZGZiMTk1ZmY3YzllN2RlNGM2YzMzMjY3M2NiNmM2M2NmZjA4YTk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNDIsNiArMjQy
LDcgQEAgcHVibGljOgogICAgIC8vIFJlbmRlck9iamVjdCB0cmVlIG1hbmlwdWxhdGlvbgogICAg
IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgIHZpcnR1YWwg
Ym9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB2aXJ0dWFsQ2hpbGRyZW4oKTsg
fQorICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNDaGlsZEFsbG93ZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUq
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxkKFJlbmRl
ck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSAwKTsKICAgICB2
aXJ0dWFsIHZvaWQgYWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJPYmplY3QqIG5l
d0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCkgeyByZXR1cm4gYWRkQ2hpbGQo
bmV3Q2hpbGQsIGJlZm9yZUNoaWxkKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuaAppbmRleCAwYzMxZWQ4MDYyZmRiNGY5NWI4ZDkxYzk3NjdkNDA4NTc3
ZjE3ODhkLi4xYTQ4ZjVkYmU2OTYwZjVhM2E0YjIxMWQ1MDc0MDcyZWYyZmFhZmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApAQCAtNzEsNiArNzEs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocygpOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255bW91c0Jsb2NrKFJl
bmRlckJsb2NrKikgeyB9CiAgICAgdmlydHVhbCBib29sIGF2b2lkc0Zsb2F0cygpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVu
KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKICAgICB2aXJ0dWFsIHZv
aWQgYWRkRm9jdXNSaW5nUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0UG9pbnQm
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0
ZXItZWRpdC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1maXJz
dC1sZXR0ZXItZWRpdC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjNWVhN2ViZTFkYTU5MGE2
NDEzNjMzOTk1MTI1YzA2ZmRlMTQyZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2lucHV0LWZpcnN0LWxldHRlci1lZGl0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCAr
MSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRhcmdldCIgdmFsdWU9IkhlbGxvIiBhdXRvZm9j
dXM9ImF1dG9mb2N1cyIgLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvaW5wdXQtZmlyc3QtbGV0dGVyLWVkaXQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5wdXQtZmlyc3QtbGV0dGVyLWVkaXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODU1
YzQxOTUwYmUwMzBiNTFjMjI3NTU4NTllNTA2ZjZhNmRkY2VlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1maXJzdC1sZXR0ZXItZWRpdC5odG1sCkBAIC0w
LDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2lu
cHV0OmZpcnN0LWxldHRlciB7CisgICAgY29sb3I6IGJsdWU7Cit9Cis8L3N0eWxlPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHRhcmdl
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgICB0YXJnZXQuZm9jdXMo
KTsKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oIkgiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZSIpOworICAgICAgICBl
dmVudFNlbmRlci5rZXlEb3duKCJsIik7CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oImwi
KTsKKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigibyIpOworICAgICAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgic2VsZWN0QWxsIik7IC8vIERvZXMgc2VsZWN0QWxsIGZvciBhbGlnbmluZyB0
aGUgQGF1dG9mb2N1cyBhdHRyaWJ1dGUgb24gdGhlIGV4cGVjdGF0aW9uLgorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0
YXJnZXQiIC8+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>