<?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>92602</bug_id>
          
          <creation_ts>2012-07-29 19:16:36 -0700</creation_ts>
          <short_desc>Change Element::isReadOnlyFormControl to Element::shouldMatchReadOnlySelector/shouldMatchReadWriteSelector or HTMLFormControlElement::readOnly</short_desc>
          <delta_ts>2012-07-31 00:59:08 -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>DOM</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>
          <dependson>92607</dependson>
    
    <dependson>92612</dependson>
    
    <dependson>92712</dependson>
          <blocked>92473</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>yosin</reporter>
          <assigned_to>yosin</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>681649</commentid>
    <comment_count>0</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-07-29 19:16:36 -0700</bug_when>
    <thetext>This bug is preparation of bug 92473, :read-only and :read-write selector should match none-isFormisFormControlElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681716</commentid>
    <comment_count>1</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-07-29 23:41:30 -0700</bug_when>
    <thetext>*** Bug 92607 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681742</commentid>
    <comment_count>2</comment_count>
      <attachid>155224</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-30 00:30:49 -0700</bug_when>
    <thetext>Created attachment 155224
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681744</commentid>
    <comment_count>3</comment_count>
      <attachid>155224</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-30 00:32:37 -0700</bug_when>
    <thetext>Comment on attachment 155224
Patch 1

Could you review this patch?
Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681748</commentid>
    <comment_count>4</comment_count>
      <attachid>155224</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-30 00:47:40 -0700</bug_when>
    <thetext>Comment on attachment 155224
Patch 1

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

&gt; Source/WebCore/dom/Element.h:354
&gt; +    virtual bool shouldMatchReadWriteSelector() const { return false; }

We should replace isReadOnlyFormControl() with shouldMatchReadWriteSelector in Element.h.
If we have other isReadOnlyFormControl() callsites, we should remove them before this patch.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1479
&gt; +bool HTMLInputElement::shouldMatchReadWriteSelector() const
&gt; +{
&gt; +    return m_inputType-&gt;shouldMatchReadWriteSelector();
&gt; +}

We have no reasons to forward it to InputType::shouldMatchReadWriteSelector() for now.
This change just wastes the code size and CPU time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682633</commentid>
    <comment_count>5</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-07-30 19:16:39 -0700</bug_when>
    <thetext>Element::isReadOnlyFormControl() is used for :read-only and :read-write CSS pseudo class matching. We would like to rename to shouldMatchReadWriteSelector() to make intention of this function explicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682702</commentid>
    <comment_count>6</comment_count>
      <attachid>155431</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-30 20:59:01 -0700</bug_when>
    <thetext>Created attachment 155431
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682703</commentid>
    <comment_count>7</comment_count>
      <attachid>155431</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-30 21:00:04 -0700</bug_when>
    <thetext>Comment on attachment 155431
Patch 2

Could you review this patch?
Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682705</commentid>
    <comment_count>8</comment_count>
      <attachid>155431</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-30 21:07:54 -0700</bug_when>
    <thetext>Comment on attachment 155431
Patch 2

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

&gt; Source/WebCore/dom/Element.h:353
&gt; +    virtual bool shouldMatchReadWriteSelector() const { return false; }

nit: we had better avoid to add the function body here for a virtual function. It wastes compile-time resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682706</commentid>
    <comment_count>9</comment_count>
      <attachid>155432</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-30 21:16:59 -0700</bug_when>
    <thetext>Created attachment 155432
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682707</commentid>
    <comment_count>10</comment_count>
      <attachid>155432</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-30 21:19:43 -0700</bug_when>
    <thetext>Comment on attachment 155432
Patch 3

Clearing flags on attachment: 155432

Committed r124171: &lt;http://trac.webkit.org/changeset/124171&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682708</commentid>
    <comment_count>11</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-07-30 21:19:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682732</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 22:42:44 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 92712</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682776</commentid>
    <comment_count>13</comment_count>
      <attachid>155452</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-31 00:16:41 -0700</bug_when>
    <thetext>Created attachment 155452
Patch 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682777</commentid>
    <comment_count>14</comment_count>
      <attachid>155452</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-31 00:20:19 -0700</bug_when>
    <thetext>Comment on attachment 155452
Patch 4

Could you review this patch?
Thanks in advance.

= Changes since the last patch =
* Introduce Element::shouldMatchReadOnlySelector, because !shouldMatchReadWriteSelector isn&apos;t equal to read only control.
** We found this by failure of fast/css/square-button-appearance.html. This test uses &quot;div&quot; element for rendering square button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682792</commentid>
    <comment_count>15</comment_count>
      <attachid>155452</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-07-31 00:47:46 -0700</bug_when>
    <thetext>Comment on attachment 155452
Patch 4

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682799</commentid>
    <comment_count>16</comment_count>
      <attachid>155452</attachid>
    <who name="">yosin</who>
    <bug_when>2012-07-31 00:59:01 -0700</bug_when>
    <thetext>Comment on attachment 155452
Patch 4

Clearing flags on attachment: 155452

Committed r124180: &lt;http://trac.webkit.org/changeset/124180&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682800</commentid>
    <comment_count>17</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-07-31 00:59:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155224</attachid>
            <date>2012-07-30 00:30:49 -0700</date>
            <delta_ts>2012-07-30 00:47:40 -0700</delta_ts>
            <desc>Patch 1</desc>
            <filename>bug-92602-20120730163033.patch</filename>
            <type>text/plain</type>
            <size>8275</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDg0MzQ1MTQ4MjZjYzk4
N2ZmZDIzNTY3NjY0OTgwMDA2NGMzMjc3My4uZTljZGNlNTFjNDkyODBkY2E4Yjg1NGFkMzYwNjBk
YjM0YzQzODgyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA3LTI5ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0NTU10gVXNlIHNo
b3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IgZm9yIDpyZWFkLXdyaXRlL3JlYWQtb25seSBwc2V1
ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkyNjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIEVsZW1lbnQ6OnNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0
b3IoKSBmb3IgcHJlcGFyYXRpb24KKyAgICAgICAgb2YgYXBwbHlpbmcgOnJlYWQtd3JpdGUvOnJl
YWQtb25seSBzZWxlY3RvcnMgYXMgYWxsIGVsZW1lbnRzLCBidWcgOTI0NzMsCisgICAgICAgIGlu
c3RlYWQgb2YgRWxlbWVudDo6aXNSZWFkT25seUZvcm1Db250cm9sKCkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBUaGlzIHBhdGNoIGRvZXNuJ3QgY2hhbmdlIGJlaGF2aW9yLgorCisgICAgICAg
ICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNo
ZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOiBDaGFuZ2VkIHRvIHVzZSBFbGVtZW50OjpzaG91bGRN
YXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkKKyAgICAgICAgaW5zdGVhZCBvZiBFbGVtZW50Ojppc1Jl
YWRPbmx5Rm9ybUNvbnRyb2woKS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3Rvcik6IEFkZGVkIGZv
ciBkZWZhdWx0IHZhbHVlLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRXcml0ZVNl
bGVjdG9yKTogQWRkZWQgdG8gY2FsbCBJbnB1dENsYXNzJ3Mgc2hvdWxkTWF0Y2hSZWFkV3JpdGVT
ZWxlY3RvcigpLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAo
SFRNTElucHV0RWxlbWVudCk6IEFkZGVkIGRlY2xhcmF0aW9uIG9mIHNob3VsZE1hdGNoUmVhZFdy
aXRlU2VsZWN0b3IoKS4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaDoKKyAg
ICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6
OnNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IpOiBBZGRlZCBmb3IgZGVmYXVsdCB2YWx1ZS4K
KyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAoSW5wdXRUeXBlKTogQWRkZWQg
ZGVjbGFyYXRpb24gb2Ygc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpLgorICAgICAgICAq
IGh0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVs
ZElucHV0VHlwZTo6c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3Rvcik6IEFkZGVkIHRvIGNhbGwg
cmVhZE9ubHkoKQorICAgICAgICBhcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aXNSZWFk
T25seUZvcm1Db250cm9sKCkuCisgICAgICAgICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaDoK
KyAgICAgICAgKFRleHRGaWVsZElucHV0VHlwZSk6IEFkZGVkIGRlY2xhcmF0aW9uIG9mIHNob3Vs
ZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKwogMjAxMi0wNy0yOSAgS3dhbmcgWXVsIFNlbyAg
PHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFJlbW92ZSB1bnVzZWQgbWV0aG9kIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlVGFzazo6dGFrZShIVE1MQ29uc3RydWN0aW9uU2l0ZVRhc2smKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCBlZjZlYTgyMzY3M2NkMjRj
YzYyZTNjZWE5YmRmNzcyMTI2ZGUwM2QxLi4wZmM3ZWQ4YWFkMGMxZDYxYWI1MTIzYTRjMjRmMGM5
MzdlNDhkNGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTA2
NiwxMSArMTA2NiwxMSBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihj
b25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUAogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9SZWFkT25seToKICAgICAgICAgICAgIGlmICghZWxlbWVudCB8fCAh
ZWxlbWVudC0+aXNGb3JtQ29udHJvbEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+aXNUZXh0Rm9ybUNvbnRyb2woKSAm
JiBlbGVtZW50LT5pc1JlYWRPbmx5Rm9ybUNvbnRyb2woKTsKKyAgICAgICAgICAgIHJldHVybiBl
bGVtZW50LT5pc1RleHRGb3JtQ29udHJvbCgpICYmICFlbGVtZW50LT5zaG91bGRNYXRjaFJlYWRX
cml0ZVNlbGVjdG9yKCk7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1JlYWRXcml0
ZToKICAgICAgICAgICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNGb3JtQ29udHJvbEVs
ZW1lbnQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICByZXR1
cm4gZWxlbWVudC0+aXNUZXh0Rm9ybUNvbnRyb2woKSAmJiAhZWxlbWVudC0+aXNSZWFkT25seUZv
cm1Db250cm9sKCk7CisgICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+aXNUZXh0Rm9ybUNvbnRy
b2woKSAmJiBlbGVtZW50LT5zaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCk7CiAgICAgICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb09wdGlvbmFsOgogICAgICAgICAgICAgcmV0dXJuIGVs
ZW1lbnQgJiYgZWxlbWVudC0+aXNPcHRpb25hbEZvcm1Db250cm9sKCk7CiAgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb1JlcXVpcmVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMDE1OTAy
MTdjYWExMDU2ZDM0NWU0ZjdhYTRiMDFkMGEyNjM0ZGY3My4uMTYwN2Q2MTFkNGI1NmYyNjcyOTYx
NDEyZDcwMzk4ZmVjMDc1YTc5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0zNTEsNiArMzUxLDcg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIGNoaWxkRWxlbWVudENvdW50KCkgY29uc3Q7CiAKICAg
ICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhj
ZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVj
dG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIERPTVRva2VuTGlzdCogY2xhc3NM
aXN0KCk7CiAgICAgRE9NVG9rZW5MaXN0KiBvcHRpb25hbENsYXNzTGlzdCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNTljNjIwNWE4MDFhNGZi
YzFlZGFiMjMxNWQyNDcyMGM1MDVhYWEyMS4uZTI0ZmRiYzk3YTMwMDFlMWE1NjAwMmFjZmVhOGQy
ZDVlOWQwNjA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xNDczLDYgKzE0NzMsMTEgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXF1aXJlZEF0dHJp
YnV0ZUNoYW5nZWQoKQogICAgICAgICBidXR0b25zLT5yZXF1aXJlZEF0dHJpYnV0ZUNoYW5nZWQo
dGhpcyk7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6c2hvdWxkTWF0Y2hSZWFkV3JpdGVT
ZWxlY3RvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5zaG91bGRNYXRjaFJl
YWRXcml0ZVNlbGVjdG9yKCk7Cit9CisKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKIHZv
aWQgSFRNTElucHV0RWxlbWVudDo6c2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcihjb25zdCBDb2xv
ciYgY29sb3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IGZh
NGFhOTE1MzRmMDJmYjRlMjI2ZmM2N2NjNDBhNDI5NTFhY2U2YzkuLjMwNTllOTU2NWRjNmZhODBj
ZTA5NDUyYmQ0MTdhMTIxMDM3MTMzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCkBAIC0zNTYsNiArMzU2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNS
ZXF1aXJlZEZvcm1Db250cm9sKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJlY2FsY1dpbGxW
YWxpZGF0ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCByZXF1aXJlZEF0dHJpYnV0ZUNoYW5n
ZWQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxl
Y3RvcigpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdm9pZCB1cGRhdGVUeXBlKCk7CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmluZGV4IDE4ZWJlYWQyODA0
NjE4NmE3NDQwMTkwY2ExMjNmMjZlZDNjYjZlOTkuLmQ4MDcxMzFlYmQ4OWIzODRiN2QyZmEyNzUz
MDA1YTU0Y2QxZGJhYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5oCkBAIC04Niw2ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHN1YnRyZWVI
YXNDaGFuZ2VkKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNFbnVtZXJhdGFibGUoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIHNob3VsZE1hdGNoUmVhZFdyaXRlU2Vs
ZWN0b3IoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAhcmVhZE9ubHkoKTsgfQogICAgIHZpcnR1
YWwgYm9vbCBzdXBwb3J0TGFiZWxzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDA5YTg5NWI1MDI4OWM1YWExZTIyOWY3
ZjRkNTgzMjU3NmUxOTg0ZDIuLjk5ZjIxZGY2MGUzNmFjN2MzOTU3Y2RmMzE0NTM3NDE0MjdhMTc4
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTE3OSw2ICsxNzksMTEgQEAgYm9v
bCBJbnB1dFR5cGU6OnNob3VsZFNhdmVBbmRSZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgSW5wdXRUeXBlOjpzaG91bGRNYXRjaFJlYWRX
cml0ZVNlbGVjdG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogRm9ybUNvbnRy
b2xTdGF0ZSBJbnB1dFR5cGU6OnNhdmVGb3JtQ29udHJvbFN0YXRlKCkgY29uc3QKIHsKICAgICBT
dHJpbmcgY3VycmVudFZhbHVlID0gZWxlbWVudCgpLT52YWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRU
eXBlLmgKaW5kZXggMDI0NWJhODg4MGIzZjA3MWM2MTU5YmJiZGE4YWYzNWIyZWIwMGRjNi4uMzc3
ZDFiOTQwODgxZmI5NWNjYTI2MDRjOGJkMTQ0MDg3ODk2MmZhNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5oCkBAIC0yNjUsNiArMjY1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0No
ZWNrYWJsZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1N0ZXBwYWJsZSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRSZXNwZWN0SGVpZ2h0QW5kV2lkdGhBdHRyaWJ1dGVzKCk7CisgICAg
dmlydHVhbCBib29sIHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKSBjb25zdDsKICAgICAv
LyBJZiBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgJiYgIXVzZXNGaXhlZFBsYWNlaG9sZGVyKCksIGl0
IG1lYW5zIGEgdHlwZQogICAgIC8vIHN1cHBvcnRzIHRoZSAncGxhY2Vob2xkZXInIGF0dHJpYnV0
ZS4KICAgICAvLyBJZiBzdXBwb3J0c1BsYWNlaG9sZGVyKCkgJiYgdXNlc0ZpeGVkUGxhY2Vob2xk
ZXIoKSwgaXQgbWVhbnMgYSB0eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rl
eHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0
VHlwZS5jcHAKaW5kZXggZjExNGVlYjVlMjU4OGU3MDA2YTMwYmFmNmQ3MjUyMTgwMzViMDBkNS4u
MjExOWQ2OTJlZmJiZGJiZWJjYWQ0Y2M5YTFlZGM4NTE4NTBhYTYwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtNDAwLDYgKzQwMCwxMSBAQCBib29s
IFRleHRGaWVsZElucHV0VHlwZTo6c2hvdWxkUmVzcGVjdExpc3RBdHRyaWJ1dGUoKQogICAgIHJl
dHVybiBJbnB1dFR5cGU6OnRoZW1lU3VwcG9ydHNEYXRhTGlzdFVJKHRoaXMpOwogfQogCitib29s
IFRleHRGaWVsZElucHV0VHlwZTo6c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNvbnN0
Cit7CisgICAgcmV0dXJuICFlbGVtZW50KCktPnJlYWRPbmx5KCk7Cit9CisKIHZvaWQgVGV4dEZp
ZWxkSW5wdXRUeXBlOjp1cGRhdGVQbGFjZWhvbGRlclRleHQoKQogewogICAgIGlmICghc3VwcG9y
dHNQbGFjZWhvbGRlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0Rmll
bGRJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgK
aW5kZXggYmU2YzY2NmU0YjkxZDIwMGExZjVlMjAxMmQ1ZmY0OTI0MTNjZjJhMS4uYTc4MTZkZjk1
ZjM3ZTNhODI1Y2E4ZDQ5YWY5ZjMxZDM5YWU2NjgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rl
eHRGaWVsZElucHV0VHlwZS5oCkBAIC04MSw2ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYsIGJvb2wgdmFsdWVDaGFuZ2VkLCBUZXh0Rmll
bGRFdmVudEJlaGF2aW9yKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzYW5pdGl6ZVZh
bHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRSZXNwZWN0TGlzdEF0dHJpYnV0ZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBI
VE1MRWxlbWVudCogcGxhY2Vob2xkZXJFbGVtZW50KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVyVGV4dCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBhcHBlbmRGb3JtRGF0YShGb3JtRGF0YUxpc3QmLCBib29sIG11bHRpcGFydCkgY29uc3Qg
T1ZFUlJJREU7Cg==
</data>
<flag name="review"
          id="164629"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155431</attachid>
            <date>2012-07-30 20:59:01 -0700</date>
            <delta_ts>2012-07-30 21:16:53 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-92602-20120731125844.patch</filename>
            <type>text/plain</type>
            <size>11504</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZhNzQyMzdlNjI3NmU3
Y2I5NDUxN2UyOWM1ZjY0YjQzNmNmZDkyOC4uYzZlM2JmZmE3YzA2YjU2MTA4YTA3ZDhlNmJmNzM0
ZTM2MDMyZGNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA3LTMxICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0NTU10gQ2hhbmdl
IEVsZW1lbnQ6OmlzUmVhZE9ubHlGb3JtQ29udHJvbCB0byBzaG91bGRNYXRjaFJlYWRXcml0ZVNl
bGVjdG9yIG9yIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpyZWFkT25seQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI2MDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbmFtZXMg
RWxlbWVudDo6aXNSZWFkT25seUZvcm1Db250cm9sKCkgdG8gRWxlbWVudDo6c2hvdWxkTWF0Y2hS
ZWFkV3JpdGVTZWxlY3RvcigpCisgICAgICAgIG9yIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
OjpyZWFkT25seSgpIHRvIG1ha2UgaW50ZW50aW9uIG9mCisgICAgICAgIHNob3VsZE1hdGNoUmVh
ZFdyaXRlU2VsZWN0b3Iod2FzIGlzUmVhZE9ubHlGb3JtQ29udHJvbCkgc2VsZiBkZXNjcmlwdGl2
ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2UgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6IFJlcGxhY2VkIGlzUmVh
ZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKyAg
ICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2hvdWxk
TWF0Y2hSZWFkV3JpdGVTZWxlY3Rvcik6IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgp
IGJ5IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpzaG91bGRN
YXRjaFJlYWRXcml0ZVNlbGVjdG9yKTogUmVwbGFjZWQgaXNSZWFkT25seUZvcm1Db250cm9sKCkg
Ynkgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpLgorICAgICAgICAoV2ViQ29yZTo6U2xp
ZGVyVGh1bWJFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKTogUmVwbGFjZWQg
aXNSZWFkT25seUZvcm1Db250cm9sKCkgYnkgcmVhZE9ubHkoKS4KKyAgICAgICAgKFdlYkNvcmU6
OlNsaWRlclRodW1iRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMpOiBkaXR0
by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuaDoKKyAgICAgICAg
KFNsaWRlclRodW1iRWxlbWVudCk6IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5
IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9U
ZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoRmll
bGRDYW5jZWxCdXR0b25FbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cyk6IFJl
cGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHJlYWRPbmx5KCkuCisgICAgICAgIChX
ZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cyk6
IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHJlYWRPbmx5KCkuCisgICAgICAg
IChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVu
dHMpOiBSZXBsYWNlZCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBieSByZWFkT25seSgpLgorICAg
ICAgICAoV2ViQ29yZTo6SW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25k
VG9Nb3VzZUNsaWNrRXZlbnRzKTogUmVwbGFjZWQgaXNSZWFkT25seUZvcm1Db250cm9sKCkgYnkg
cmVhZE9ubHkoKS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVu
dHMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmlzUmVhZE9ubHlDb250cm9sKTogUmVwbGFjZWQgaXNSZWFkT25s
eUZvcm1Db250cm9sKCkgYnkgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpLgorCiAyMDEy
LTA3LTMwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbW92ZSBvdmVyZmxvdzogc2Nyb2xsIGhhbmRsaW5nIGluIGJsb2NrIGZsb3cgbGF5b3V0
IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggZWY2ZWE4
MjM2NzNjZDI0Y2M2MmUzY2VhOWJkZjc3MjEyNmRlMDNkMS4uMGZjN2VkOGFhZDBjMWQ2MWFiNTEy
M2E0YzI0ZjBjOTM3ZTQ4ZDRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKQEAgLTEwNjYsMTEgKzEwNjYsMTEgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
U2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFAKICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVhZE9ubHk6CiAgICAgICAgICAgICBpZiAoIWVs
ZW1lbnQgfHwgIWVsZW1lbnQtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4dEZvcm1D
b250cm9sKCkgJiYgZWxlbWVudC0+aXNSZWFkT25seUZvcm1Db250cm9sKCk7CisgICAgICAgICAg
ICByZXR1cm4gZWxlbWVudC0+aXNUZXh0Rm9ybUNvbnRyb2woKSAmJiAhZWxlbWVudC0+c2hvdWxk
TWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9SZWFkV3JpdGU6CiAgICAgICAgICAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmlzRm9y
bUNvbnRyb2xFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4dEZvcm1Db250cm9sKCkgJiYgIWVsZW1lbnQtPmlz
UmVhZE9ubHlGb3JtQ29udHJvbCgpOworICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4
dEZvcm1Db250cm9sKCkgJiYgZWxlbWVudC0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3Rvcigp
OwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9PcHRpb25hbDoKICAgICAgICAgICAg
IHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQtPmlzT3B0aW9uYWxGb3JtQ29udHJvbCgpOwogICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9SZXF1aXJlZDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmlu
ZGV4IDAxNTkwMjE3Y2FhMTA1NmQzNDVlNGY3YWE0YjAxZDBhMjYzNGRmNzMuLjlhMmY4MjIwYjhh
OWNjNDVlMGVlY2NmZjk0ZDRkZDFhYzU4Yjk2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzUw
LDYgKzM1MCw3IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBuZXh0RWxlbWVudFNpYmxpbmcoKSBj
b25zdDsKICAgICB1bnNpZ25lZCBjaGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0OwogCisgICAgdmly
dHVhbCBib29sIHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIGJvb2wgd2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2Vs
ZWN0b3JzLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBET01Ub2tlbkxpc3QqIGNsYXNzTGlzdCgp
OwpAQCAtMzczLDcgKzM3NCw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc0Zvcm1D
b250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzRW5hYmxlZEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1
YWwgYm9vbCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc1NwaW5CdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNvbnRyb2woKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaAppbmRleCBiMTMyY2JlMGI4YWViNzk5NWY5MTFhMzY0YmQ3Mjc0YjMwZTBmY2U4
Li5jZGRjNGRkMjMyODM0MzBjN2VjMWExYWI5Y2FkNzJiNjE2Y2IzMDcxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtODEsNyArODEsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBl
KCkgY29uc3QgT1ZFUlJJREUgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3JtQ29u
dHJvbCgpIGNvbnN0IHsgcmV0dXJuICFkaXNhYmxlZCgpOyB9Ci0gICAgdmlydHVhbCBib29sIGlz
UmVhZE9ubHlGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHJlYWRPbmx5KCk7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuICFyZWFkT25seSgpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVHJpZ2dlcklt
cGxpY2l0U3VibWlzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IGIwMjBi
MzgyOTllNzc1ZTZkODFiZjYxNWU3MTk2ZWRlNzBiZWE4MDEuLmY3NTNhNjljZjg1Yzk1ZWNkZTcx
ZmU0OTg4NDAzNGZiMTQwZjRiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtMjE0LDkgKzIxNCw5IEBAIGJvb2wgU2xpZGVy
VGh1bWJFbGVtZW50Ojppc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0CiAgICAgcmV0dXJuIGhv
c3RJbnB1dCgpLT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpOwogfQogCi1ib29sIFNsaWRlclRodW1i
RWxlbWVudDo6aXNSZWFkT25seUZvcm1Db250cm9sKCkgY29uc3QKK2Jvb2wgU2xpZGVyVGh1bWJF
bGVtZW50OjpzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gaG9zdElucHV0KCktPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpOworICAgIHJldHVybiBob3N0
SW5wdXQoKS0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpOwogfQogCiBOb2RlKiBTbGlk
ZXJUaHVtYkVsZW1lbnQ6OmZvY3VzRGVsZWdhdGUoKQpAQCAtMzM0LDcgKzMzNCw3IEBAIHZvaWQg
U2xpZGVyVGh1bWJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIGJv
b2wgU2xpZGVyVGh1bWJFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKCkKIHsK
ICAgICBjb25zdCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOwotICAgIGlm
IChpbnB1dCAmJiAhaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpICYmIGlucHV0LT5pc0Vu
YWJsZWRGb3JtQ29udHJvbCgpICYmIG1faW5EcmFnTW9kZSkKKyAgICBpZiAoaW5wdXQgJiYgIWlu
cHV0LT5yZWFkT25seSgpICYmIGlucHV0LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpICYmIG1faW5E
cmFnTW9kZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1l
bnQ6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKTsKQEAgLTM0Myw3ICszNDMsNyBAQCBi
b29sIFNsaWRlclRodW1iRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cygpCiBi
b29sIFNsaWRlclRodW1iRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQog
ewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaG9zdElucHV0KCk7Ci0gICAg
aWYgKGlucHV0ICYmICFpbnB1dC0+aXNSZWFkT25seUZvcm1Db250cm9sKCkgJiYgaW5wdXQtPmlz
RW5hYmxlZEZvcm1Db250cm9sKCkpCisgICAgaWYgKGlucHV0ICYmICFpbnB1dC0+cmVhZE9ubHko
KSAmJiBpbnB1dC0+aXNFbmFibGVkRm9ybUNvbnRyb2woKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZl
bnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVt
YkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVu
dC5oCmluZGV4IDExZDM1MDM5M2ZiNDVmMmQ1ZjE3ZDc4NGNlODE1MzhkMTUzNzEzOGQuLmRmNWMx
NjgyZmEyYzQ0ZDYwMDM3NmJhOGZmYmVlN2E3NmM2YTMzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCkBAIC02Niw3ICs2Niw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFy
ZW5hKiwgUmVuZGVyU3R5bGUqKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY2xv
bmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbigpOwogICAgIHZpcnR1YWwgYm9v
bCBpc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc1JlYWRP
bmx5Rm9ybUNvbnRyb2woKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFk
V3JpdGVTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgTm9kZSogZm9jdXNE
ZWxlZ2F0ZSgpOwogICAgIHZvaWQgc3RhcnREcmFnZ2luZygpOwogICAgIHZvaWQgc3RvcERyYWdn
aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJv
bElubmVyRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmNwcAppbmRleCAwZmQ0MWM2MGU2YTk1ZmJmYzU4ZTUyNDFkYTk2NGI1
MWMxNzVkZmNhLi41NzU3MWViOGE1YTJjYmIxM2FhY2ZlMzlmMGYzNDkwOWEzZTQzNzA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJF
bGVtZW50cy5jcHAKQEAgLTI0Miw3ICsyNDIsNyBAQCB2b2lkIFNlYXJjaEZpZWxkQ2FuY2VsQnV0
dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiBib29sIFNlYXJj
aEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMo
KQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci0gICAgaWYgKCFpbnB1dC0+ZGlzYWJsZWQo
KSAmJiAhaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpKQorICAgIGlmICghaW5wdXQtPmRp
c2FibGVkKCkgJiYgIWlucHV0LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
ICAgIHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMo
KTsKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIGJvb2wgU3BpbkJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNw
b25kVG9Nb3VzZU1vdmVFdmVudHMoKQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlu
cHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci0gICAg
aWYgKHJlbmRlckJveCgpICYmICFpbnB1dC0+ZGlzYWJsZWQoKSAmJiAhaW5wdXQtPmlzUmVhZE9u
bHlGb3JtQ29udHJvbCgpKQorICAgIGlmIChyZW5kZXJCb3goKSAmJiAhaW5wdXQtPmRpc2FibGVk
KCkgJiYgIWlucHV0LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJl
dHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cygpOwpAQCAt
MzU0LDcgKzM1NCw3IEBAIGJvb2wgU3BpbkJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3Vz
ZU1vdmVFdmVudHMoKQogYm9vbCBTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNl
Q2xpY2tFdmVudHMoKQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3Rh
dGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci0gICAgaWYgKHJlbmRl
ckJveCgpICYmICFpbnB1dC0+ZGlzYWJsZWQoKSAmJiAhaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29u
dHJvbCgpKQorICAgIGlmIChyZW5kZXJCb3goKSAmJiAhaW5wdXQtPmRpc2FibGVkKCkgJiYgIWlu
cHV0LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBIVE1M
RGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKTsKQEAgLTUxNCw3ICs1
MTQsNyBAQCB2b2lkIElucHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldmVudCkKIGJvb2wgSW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6
OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHsKICAgICBjb25zdCBIVE1MSW5wdXRF
bGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzaGFkb3dIb3N0
KCkpOwotICAgIGlmICghaW5wdXQtPmRpc2FibGVkKCkgJiYgIWlucHV0LT5pc1JlYWRPbmx5Rm9y
bUNvbnRyb2woKSkKKyAgICBpZiAoIWlucHV0LT5kaXNhYmxlZCgpICYmICFpbnB1dC0+cmVhZE9u
bHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6
OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCmluZGV4IDJlODkwOTY3
NGMwZmMxYjliN2FiNWRlYjliYjEwZGQ0YzQ1Mzk5ODguLmEwYjFmNDNhZGIwYjg5ODdmZWE1ZDhh
ZDNjZDVhM2VmZTAxOWRjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCkBAIC0xMjUsNyArMTI1LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CiAgICAgdmlydHVhbCBib29sIGlzU3BpbkJ1
dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIGlz
RW5hYmxlZEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpLT5pc0VuYWJs
ZWRGb3JtQ29udHJvbCgpOyB9Ci0gICAgdmlydHVhbCBib29sIGlzUmVhZE9ubHlGb3JtQ29udHJv
bCgpIGNvbnN0IHsgcmV0dXJuIHNoYWRvd0hvc3QoKS0+aXNSZWFkT25seUZvcm1Db250cm9sKCk7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIHNoYWRvd0hvc3QoKS0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxl
Y3RvcigpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsK
ICAgICB2b2lkIGRvU3RlcEFjdGlvbihpbnQpOwogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmdUaW1l
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggZjE2NjE3
MjJlNzMzNjgwMzRjNzZmNmQ2ZGJlZDc2NzFiODM3ZmY5Mi4uMzU1YjhjYzA2YTIyODljZmYxZmVj
ZjMwNTkyYTAyNjUzOThlMmVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwCkBAIC04MjgsNyArODI4LDcgQEAgYm9vbCBSZW5kZXJUaGVtZTo6aXNSZWFkT25seUNv
bnRyb2woY29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAogICAgIE5vZGUqIG5vZGUgPSBvLT5u
b2RlKCk7CiAgICAgaWYgKCFub2RlIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5p
c1JlYWRPbmx5Rm9ybUNvbnRyb2woKTsKKyAgICByZXR1cm4gIXN0YXRpY19jYXN0PEVsZW1lbnQq
Pihub2RlKS0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpOwogfQogCiBib29sIFJlbmRl
clRoZW1lOjppc0hvdmVyZWQoY29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155432</attachid>
            <date>2012-07-30 21:16:59 -0700</date>
            <delta_ts>2012-07-31 00:16:36 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-92602-20120731131642.patch</filename>
            <type>text/plain</type>
            <size>12134</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZhNzQyMzdlNjI3NmU3
Y2I5NDUxN2UyOWM1ZjY0YjQzNmNmZDkyOC4uNmE1MjIyZjY4NzdkMzA4MmVjNjEzYWYwYTE0MjBm
YjJiYWViMjE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA3LTMxICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0NTU10gQ2hhbmdl
IEVsZW1lbnQ6OmlzUmVhZE9ubHlGb3JtQ29udHJvbCB0byBzaG91bGRNYXRjaFJlYWRXcml0ZVNl
bGVjdG9yIG9yIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpyZWFkT25seQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI2MDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbmFtZXMgRWxl
bWVudDo6aXNSZWFkT25seUZvcm1Db250cm9sKCkgdG8gRWxlbWVudDo6c2hvdWxkTWF0Y2hSZWFk
V3JpdGVTZWxlY3RvcigpCisgICAgICAgIG9yIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Ojpy
ZWFkT25seSgpIHRvIG1ha2UgaW50ZW50aW9uIG9mCisgICAgICAgIHNob3VsZE1hdGNoUmVhZFdy
aXRlU2VsZWN0b3Iod2FzIGlzUmVhZE9ubHlGb3JtQ29udHJvbCkgc2VsZiBkZXNjcmlwdGl2ZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2UgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6IFJlcGxhY2VkIGlzUmVhZE9u
bHlGb3JtQ29udHJvbCgpIGJ5IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKyAgICAg
ICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzaG91bGRN
YXRjaFJlYWRXcml0ZVNlbGVjdG9yKTogQWRkZWQgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2hvdWxk
TWF0Y2hSZWFkV3JpdGVTZWxlY3Rvcik6IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgp
IGJ5IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpzaG91bGRN
YXRjaFJlYWRXcml0ZVNlbGVjdG9yKTogUmVwbGFjZWQgaXNSZWFkT25seUZvcm1Db250cm9sKCkg
Ynkgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpLgorICAgICAgICAoV2ViQ29yZTo6U2xp
ZGVyVGh1bWJFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKTogUmVwbGFjZWQg
aXNSZWFkT25seUZvcm1Db250cm9sKCkgYnkgcmVhZE9ubHkoKS4KKyAgICAgICAgKFdlYkNvcmU6
OlNsaWRlclRodW1iRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMpOiBkaXR0
by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuaDoKKyAgICAgICAg
KFNsaWRlclRodW1iRWxlbWVudCk6IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5
IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9U
ZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoRmll
bGRDYW5jZWxCdXR0b25FbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cyk6IFJl
cGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHJlYWRPbmx5KCkuCisgICAgICAgIChX
ZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cyk6
IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHJlYWRPbmx5KCkuCisgICAgICAg
IChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVu
dHMpOiBSZXBsYWNlZCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBieSByZWFkT25seSgpLgorICAg
ICAgICAoV2ViQ29yZTo6SW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25k
VG9Nb3VzZUNsaWNrRXZlbnRzKTogUmVwbGFjZWQgaXNSZWFkT25seUZvcm1Db250cm9sKCkgYnkg
cmVhZE9ubHkoKS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVu
dHMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmlzUmVhZE9ubHlDb250cm9sKTogUmVwbGFjZWQgaXNSZWFkT25s
eUZvcm1Db250cm9sKCkgYnkgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpLgorCiAyMDEy
LTA3LTMwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbW92ZSBvdmVyZmxvdzogc2Nyb2xsIGhhbmRsaW5nIGluIGJsb2NrIGZsb3cgbGF5b3V0
IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggZWY2ZWE4
MjM2NzNjZDI0Y2M2MmUzY2VhOWJkZjc3MjEyNmRlMDNkMS4uMGZjN2VkOGFhZDBjMWQ2MWFiNTEy
M2E0YzI0ZjBjOTM3ZTQ4ZDRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKQEAgLTEwNjYsMTEgKzEwNjYsMTEgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
U2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFAKICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVhZE9ubHk6CiAgICAgICAgICAgICBpZiAoIWVs
ZW1lbnQgfHwgIWVsZW1lbnQtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4dEZvcm1D
b250cm9sKCkgJiYgZWxlbWVudC0+aXNSZWFkT25seUZvcm1Db250cm9sKCk7CisgICAgICAgICAg
ICByZXR1cm4gZWxlbWVudC0+aXNUZXh0Rm9ybUNvbnRyb2woKSAmJiAhZWxlbWVudC0+c2hvdWxk
TWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9SZWFkV3JpdGU6CiAgICAgICAgICAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmlzRm9y
bUNvbnRyb2xFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4dEZvcm1Db250cm9sKCkgJiYgIWVsZW1lbnQtPmlz
UmVhZE9ubHlGb3JtQ29udHJvbCgpOworICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4
dEZvcm1Db250cm9sKCkgJiYgZWxlbWVudC0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3Rvcigp
OwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9PcHRpb25hbDoKICAgICAgICAgICAg
IHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQtPmlzT3B0aW9uYWxGb3JtQ29udHJvbCgpOwogICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9SZXF1aXJlZDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAppbmRleCBjMzIzZmExMGQ2MDQxMjk2YTY4ZmYyYjgzNjhiMjllMjA1NzY3ZGYxLi4zZWFkMWQ4
OTRkYmVlMzk0YzVlZjcyNzgwYTBkMTAzYjVlNjg0OTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CkBAIC0xNzgzLDYgKzE3ODMsMTIgQEAgdW5zaWduZWQgRWxlbWVudDo6Y2hpbGRFbGVtZW50Q291
bnQoKSBjb25zdAogICAgIHJldHVybiBjb3VudDsKIH0KIAorCitib29sIEVsZW1lbnQ6OnNob3Vs
ZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30K
KwogYm9vbCBFbGVtZW50Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxl
Y3RvciwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKHNlbGVjdG9yLmlzRW1wdHkoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMDE1OTAyMTdjYWExMDU2ZDM0NWU0ZjdhYTRiMDFkMGEy
NjM0ZGY3My4uNDc1NDljYzFmMGZjOGY0NGQxNmQzYmVhODE3MjlmODEyOTBhYTljMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCkBAIC0zNTAsNiArMzUwLDcgQEAgcHVibGljOgogICAgIEVsZW1lbnQqIG5l
eHRFbGVtZW50U2libGluZygpIGNvbnN0OwogICAgIHVuc2lnbmVkIGNoaWxkRWxlbWVudENvdW50
KCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3Rv
cigpIGNvbnN0OwogICAgIGJvb2wgd2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYg
c2VsZWN0b3JzLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBET01Ub2tlbkxpc3QqIGNsYXNzTGlz
dCgpOwpAQCAtMzczLDcgKzM3NCw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc0Zv
cm1Db250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzRW5hYmxlZEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZp
cnR1YWwgYm9vbCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc1NwaW5CdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Rm9ybUNvbnRyb2woKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNvbnRyb2woKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaAppbmRleCBiMTMyY2JlMGI4YWViNzk5NWY5MTFhMzY0YmQ3Mjc0YjMwZTBm
Y2U4Li5jZGRjNGRkMjMyODM0MzBjN2VjMWExYWI5Y2FkNzJiNjE2Y2IzMDcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtODEsNyArODEsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xU
eXBlKCkgY29uc3QgT1ZFUlJJREUgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3Jt
Q29udHJvbCgpIGNvbnN0IHsgcmV0dXJuICFkaXNhYmxlZCgpOyB9Ci0gICAgdmlydHVhbCBib29s
IGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHJlYWRPbmx5KCk7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuICFyZWFkT25seSgpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuVHJpZ2dl
ckltcGxpY2l0U3VibWlzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IGIw
MjBiMzgyOTllNzc1ZTZkODFiZjYxNWU3MTk2ZWRlNzBiZWE4MDEuLmY3NTNhNjljZjg1Yzk1ZWNk
ZTcxZmU0OTg4NDAzNGZiMTQwZjRiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtMjE0LDkgKzIxNCw5IEBAIGJvb2wgU2xp
ZGVyVGh1bWJFbGVtZW50Ojppc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0CiAgICAgcmV0dXJu
IGhvc3RJbnB1dCgpLT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpOwogfQogCi1ib29sIFNsaWRlclRo
dW1iRWxlbWVudDo6aXNSZWFkT25seUZvcm1Db250cm9sKCkgY29uc3QKK2Jvb2wgU2xpZGVyVGh1
bWJFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gaG9zdElucHV0KCktPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpOworICAgIHJldHVybiBo
b3N0SW5wdXQoKS0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpOwogfQogCiBOb2RlKiBT
bGlkZXJUaHVtYkVsZW1lbnQ6OmZvY3VzRGVsZWdhdGUoKQpAQCAtMzM0LDcgKzMzNCw3IEBAIHZv
aWQgU2xpZGVyVGh1bWJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkK
IGJvb2wgU2xpZGVyVGh1bWJFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKCkK
IHsKICAgICBjb25zdCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOwotICAg
IGlmIChpbnB1dCAmJiAhaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpICYmIGlucHV0LT5p
c0VuYWJsZWRGb3JtQ29udHJvbCgpICYmIG1faW5EcmFnTW9kZSkKKyAgICBpZiAoaW5wdXQgJiYg
IWlucHV0LT5yZWFkT25seSgpICYmIGlucHV0LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpICYmIG1f
aW5EcmFnTW9kZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVs
ZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKTsKQEAgLTM0Myw3ICszNDMsNyBA
QCBib29sIFNsaWRlclRodW1iRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cygp
CiBib29sIFNsaWRlclRodW1iRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMo
KQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaG9zdElucHV0KCk7Ci0g
ICAgaWYgKGlucHV0ICYmICFpbnB1dC0+aXNSZWFkT25seUZvcm1Db250cm9sKCkgJiYgaW5wdXQt
PmlzRW5hYmxlZEZvcm1Db250cm9sKCkpCisgICAgaWYgKGlucHV0ICYmICFpbnB1dC0+cmVhZE9u
bHkoKSAmJiBpbnB1dC0+aXNFbmFibGVkRm9ybUNvbnRyb2woKSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNr
RXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJU
aHVtYkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxl
bWVudC5oCmluZGV4IDExZDM1MDM5M2ZiNDVmMmQ1ZjE3ZDc4NGNlODE1MzhkMTUzNzEzOGQuLmRm
NWMxNjgyZmEyYzQ0ZDYwMDM3NmJhOGZmYmVlN2E3NmM2YTMzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCkBAIC02Niw3ICs2Niw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4g
Y2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbigpOwogICAgIHZpcnR1YWwg
Ym9vbCBpc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc1Jl
YWRPbmx5Rm9ybUNvbnRyb2woKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hS
ZWFkV3JpdGVTZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgTm9kZSogZm9j
dXNEZWxlZ2F0ZSgpOwogICAgIHZvaWQgc3RhcnREcmFnZ2luZygpOwogICAgIHZvaWQgc3RvcERy
YWdnaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENv
bnRyb2xJbm5lckVsZW1lbnRzLmNwcAppbmRleCAwZmQ0MWM2MGU2YTk1ZmJmYzU4ZTUyNDFkYTk2
NGI1MWMxNzVkZmNhLi41NzU3MWViOGE1YTJjYmIxM2FhY2ZlMzlmMGYzNDkwOWEzZTQzNzA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxl
bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5jcHAKQEAgLTI0Miw3ICsyNDIsNyBAQCB2b2lkIFNlYXJjaEZpZWxkQ2FuY2Vs
QnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiBib29sIFNl
YXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVu
dHMoKQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8
SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci0gICAgaWYgKCFpbnB1dC0+ZGlzYWJs
ZWQoKSAmJiAhaW5wdXQtPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpKQorICAgIGlmICghaW5wdXQt
PmRpc2FibGVkKCkgJiYgIWlucHV0LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgIHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVu
dHMoKTsKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIFNwaW5CdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIGJvb2wgU3BpbkJ1dHRvbkVsZW1lbnQ6OndpbGxS
ZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQq
IGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci0g
ICAgaWYgKHJlbmRlckJveCgpICYmICFpbnB1dC0+ZGlzYWJsZWQoKSAmJiAhaW5wdXQtPmlzUmVh
ZE9ubHlGb3JtQ29udHJvbCgpKQorICAgIGlmIChyZW5kZXJCb3goKSAmJiAhaW5wdXQtPmRpc2Fi
bGVkKCkgJiYgIWlucHV0LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cygpOwpA
QCAtMzU0LDcgKzM1NCw3IEBAIGJvb2wgU3BpbkJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZU1vdmVFdmVudHMoKQogYm9vbCBTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRUb01v
dXNlQ2xpY2tFdmVudHMoKQogewogICAgIGNvbnN0IEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0g
c3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci0gICAgaWYgKHJl
bmRlckJveCgpICYmICFpbnB1dC0+ZGlzYWJsZWQoKSAmJiAhaW5wdXQtPmlzUmVhZE9ubHlGb3Jt
Q29udHJvbCgpKQorICAgIGlmIChyZW5kZXJCb3goKSAmJiAhaW5wdXQtPmRpc2FibGVkKCkgJiYg
IWlucHV0LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBI
VE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKTsKQEAgLTUxNCw3
ICs1MTQsNyBAQCB2b2lkIElucHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIGJvb2wgSW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1l
bnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHsKICAgICBjb25zdCBIVE1MSW5w
dXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzaGFkb3dI
b3N0KCkpOwotICAgIGlmICghaW5wdXQtPmRpc2FibGVkKCkgJiYgIWlucHV0LT5pc1JlYWRPbmx5
Rm9ybUNvbnRyb2woKSkKKyAgICBpZiAoIWlucHV0LT5kaXNhYmxlZCgpICYmICFpbnB1dC0+cmVh
ZE9ubHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1l
bnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCmluZGV4IDJlODkw
OTY3NGMwZmMxYjliN2FiNWRlYjliYjEwZGQ0YzQ1Mzk5ODguLmEwYjFmNDNhZGIwYjg5ODdmZWE1
ZDhhZDNjZDVhM2VmZTAxOWRjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCkBAIC0xMjUsNyArMTI1LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CiAgICAgdmlydHVhbCBib29sIGlzU3Bp
bkJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzRW5hYmxlZEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpLT5pc0Vu
YWJsZWRGb3JtQ29udHJvbCgpOyB9Ci0gICAgdmlydHVhbCBib29sIGlzUmVhZE9ubHlGb3JtQ29u
dHJvbCgpIGNvbnN0IHsgcmV0dXJuIHNoYWRvd0hvc3QoKS0+aXNSZWFkT25seUZvcm1Db250cm9s
KCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNv
bnN0IE9WRVJSSURFIHsgcmV0dXJuIHNoYWRvd0hvc3QoKS0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVT
ZWxlY3RvcigpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQq
KTsKICAgICB2b2lkIGRvU3RlcEFjdGlvbihpbnQpOwogICAgIHZvaWQgc3RhcnRSZXBlYXRpbmdU
aW1lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggZjE2
NjE3MjJlNzMzNjgwMzRjNzZmNmQ2ZGJlZDc2NzFiODM3ZmY5Mi4uMzU1YjhjYzA2YTIyODljZmYx
ZmVjZjMwNTkyYTAyNjUzOThlMmVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCkBAIC04MjgsNyArODI4LDcgQEAgYm9vbCBSZW5kZXJUaGVtZTo6aXNSZWFkT25s
eUNvbnRyb2woY29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAogICAgIE5vZGUqIG5vZGUgPSBv
LT5ub2RlKCk7CiAgICAgaWYgKCFub2RlIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUp
LT5pc1JlYWRPbmx5Rm9ybUNvbnRyb2woKTsKKyAgICByZXR1cm4gIXN0YXRpY19jYXN0PEVsZW1l
bnQqPihub2RlKS0+c2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvcigpOwogfQogCiBib29sIFJl
bmRlclRoZW1lOjppc0hvdmVyZWQoY29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155452</attachid>
            <date>2012-07-31 00:16:41 -0700</date>
            <delta_ts>2012-07-31 00:59:01 -0700</delta_ts>
            <desc>Patch 4</desc>
            <filename>bug-92602-20120731161625.patch</filename>
            <type>text/plain</type>
            <size>14368</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTEyZDFkNGZiOGFiZGNj
NjVjZGJmZjU5ODg2OTc0YTE4ZmYwMWU4Mi4uY2RlODUzYTljYTE0Y2Q3MjIxN2U4YTFiZTU5NzAw
OWY0NTgyZWU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA3LTMwICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIEVsZW1l
bnQ6OmlzUmVhZE9ubHlGb3JtQ29udHJvbCB0byBFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRPbmx5
U2VsZWN0b3Ivc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3RvciBvciBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50OjpyZWFkT25seQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTI2MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIEVsZW1lbnQ6OmlzUmVhZE9ubHlGb3JtQ29udHJv
bCgpIGJ5CisgICAgICAgIEVsZW1lbnQ6OnNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3Rvci9zaG91
bGRNYXRjaFJlYWRPbmx5U2VsZWN0b3Igb3IKKyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6cmVhZE9ubHkoKSB0byBtYWtlIGludGVudGlvbiBvZiBmdW5jdGlvbnMKKyAgICAgICAgc2Vs
ZiBkZXNjcmlwdGl2ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2ggZG9lc24n
dCBjaGFuZ2UgYmVoYXZpb3IuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6IFJl
cGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHNob3VsZE1hdGNoUmVhZE9ubHlTZWxl
Y3RvcigpIGZvciA6cmVhZC1vbmx5IHBzZXVkbyBjbGFzcywgYW5kIHJlcGxhY2VkIGlzUmVhZE9u
bHlGb3JtQ29udHJvbCgpIGJ5IHNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpIGZvciA6cmVh
ZC1vbmx5IHBzZXVkbyBjbGFzcy4KKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRPbmx5U2VsZWN0b3IpOiBBZGRlZCBm
b3IgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNo
b3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IpOiBmb3IgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4K
KyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoRWxlbWVudCk6IFJlbW92ZWQgaXNS
ZWFkT25seUZvcm1Db250cm9sKCkgYW5kIGFkZGVkIHNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3Rv
ciBhbmQgc2hvdWxkTWF0Y2hSZWFkV3JpdGVTZWxlY3Rvci4KKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9s
RWxlbWVudDo6c2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVj
dG9yKTogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6Cisg
ICAgICAgIChIVE1MRm9ybUNvbnRyb2xFbGVtZW50KTogUmVtb3ZlZCBpc1JlYWRPbmx5Rm9ybUNv
bnRyb2woKSBhbmQgYWRkZWQgc2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yIGFuZCBzaG91bGRN
YXRjaFJlYWRXcml0ZVNlbGVjdG9yLgorICAgICAgICAqIGh0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OnNob3Vs
ZE1hdGNoUmVhZE9ubHlTZWxlY3Rvcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVy
VGh1bWJFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKTogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVF
dmVudHMpOiBSZXBsYWNlZCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBieSByZWFkT25seSgpLgor
ICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VD
bGlja0V2ZW50cyk6IGRpdHRvLgorICAgICAgICAoU2xpZGVyVGh1bWJFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91
c2VDbGlja0V2ZW50cyk6IFJlcGxhY2VkIGlzUmVhZE9ubHlGb3JtQ29udHJvbCgpIGJ5IHJlYWRP
bmx5KCkuCisgICAgICAgIChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6d2lsbFJlc3BvbmRU
b01vdXNlTW92ZUV2ZW50cyk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3BpbkJ1dHRvbkVs
ZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKTogZGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6c2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yKTog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTcGluQnV0dG9uRWxlbWVudDo6c2hvdWxkTWF0Y2hS
ZWFkV3JpdGVTZWxlY3Rvcik6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRGaWVsZFNw
ZWVjaEJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKTogUmVwbGFj
ZWQgaXNSZWFkT25seUZvcm1Db250cm9sKCkgYnkgcmVhZE9ubHkoKS4KKyAgICAgICAgKiBodG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaDoKKyAgICAgICAgKFNwaW5CdXR0b25F
bGVtZW50KTogUmVtb3ZlZCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBhbmQgYWRkZWQgc2hvdWxk
TWF0Y2hSZWFkT25seVNlbGVjdG9yIGFuZCBzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZTo6aXNSZWFkT25seUNvbnRyb2wpOiBSZXBsYWNlZCBpc1JlYWRPbmx5Q29udHJv
bCgpIGJ5IHNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpLgorCiAyMDEyLTA3LTMwICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI0MTcxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2Vy
LmNwcAppbmRleCBlZjZlYTgyMzY3M2NkMjRjYzYyZTNjZWE5YmRmNzcyMTI2ZGUwM2QxLi45YTMy
ZDYwODBjNDAwZjU0OGJmOTFhNDdiN2JhNWI0NzhmMjBjNGZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTA2NiwxMSArMTA2NiwxMSBAQCBib29sIFNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYg
Y29udGV4dCwgUAogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9SZWFkT25seToKICAg
ICAgICAgICAgIGlmICghZWxlbWVudCB8fCAhZWxlbWVudC0+aXNGb3JtQ29udHJvbEVsZW1lbnQo
KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gZWxl
bWVudC0+aXNUZXh0Rm9ybUNvbnRyb2woKSAmJiBlbGVtZW50LT5pc1JlYWRPbmx5Rm9ybUNvbnRy
b2woKTsKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LT5pc1RleHRGb3JtQ29udHJvbCgpICYm
IGVsZW1lbnQtPnNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpOwogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9SZWFkV3JpdGU6CiAgICAgICAgICAgICBpZiAoIWVsZW1lbnQgfHwg
IWVsZW1lbnQtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzVGV4dEZvcm1Db250cm9sKCkg
JiYgIWVsZW1lbnQtPmlzUmVhZE9ubHlGb3JtQ29udHJvbCgpOworICAgICAgICAgICAgcmV0dXJu
IGVsZW1lbnQtPmlzVGV4dEZvcm1Db250cm9sKCkgJiYgZWxlbWVudC0+c2hvdWxkTWF0Y2hSZWFk
V3JpdGVTZWxlY3RvcigpOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9PcHRpb25h
bDoKICAgICAgICAgICAgIHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQtPmlzT3B0aW9uYWxGb3Jt
Q29udHJvbCgpOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9SZXF1aXJlZDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCBjMzIzZmExMGQ2MDQxMjk2YTY4ZmYyYjgzNjhiMjllMjA1
NzY3ZGYxLi4yOTRiNDgzOTQyOGNjNDQzMDY0MDQxZGQ0YTAwZTc4NjY1OGY2ZDliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xNzgzLDYgKzE3ODMsMTYgQEAgdW5zaWduZWQgRWxlbWVudDo6
Y2hpbGRFbGVtZW50Q291bnQoKSBjb25zdAogICAgIHJldHVybiBjb3VudDsKIH0KIAorYm9vbCBF
bGVtZW50OjpzaG91bGRNYXRjaFJlYWRPbmx5U2VsZWN0b3IoKSBjb25zdAoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9y
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgRWxlbWVudDo6d2Via2l0
TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewogICAgIGlmIChzZWxlY3Rvci5pc0VtcHR5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4
IDAxNTkwMjE3Y2FhMTA1NmQzNDVlNGY3YWE0YjAxZDBhMjYzNGRmNzMuLjMwNTk3MjNkMTZiMTVl
NDJkNzE4Nzg2ZTllYTZjN2IzMjIxMjU0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzUwLDYg
KzM1MCw4IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBuZXh0RWxlbWVudFNpYmxpbmcoKSBjb25z
dDsKICAgICB1bnNpZ25lZCBjaGlsZEVsZW1lbnRDb3VudCgpIGNvbnN0OwogCisgICAgdmlydHVh
bCBib29sIHNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRNYXRjaFJlYWRXcml0ZVNlbGVjdG9yKCkgY29uc3Q7CiAgICAgYm9vbCB3ZWJr
aXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvcnMsIEV4Y2VwdGlvbkNvZGUm
KTsKIAogICAgIERPTVRva2VuTGlzdCogY2xhc3NMaXN0KCk7CkBAIC0zNzMsNyArMzc1LDYgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzRm9ybUNvbnRyb2xFbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNFbmFibGVkRm9ybUNvbnRyb2wo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzUmVhZE9ubHlGb3Jt
Q29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU3Bp
bkJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBk
NTJkMGJhODUyMDY2NmI4ZTQ4NmRmMGExNjEwYmYzYjg0ZGFkMGFjLi4yZDQ3YWM4YzQ1NjY3NDhj
YmU4MzcwZDBiZWYxZWI4ZTA3ZDFkMTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTQ4Miw2ICs0ODIsMTYgQEAgdm9pZCBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50OjpzZXRDdXN0b21WYWxpZGl0eShjb25zdCBTdHJpbmcmIGVycm9yKQog
ICAgIHNldE5lZWRzVmFsaWRpdHlDaGVjaygpOwogfQogCitib29sIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OnNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHJlYWRPbmx5KCk7Cit9CisKK2Jvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6c2hvdWxkTWF0
Y2hSZWFkV3JpdGVTZWxlY3RvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuICFyZWFkT25seSgpOwor
fQorCiBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlU2hhZG93
VHJlZUNvbnRhaW5zKE5vZGUqIG5vZGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdmFsaWRhdGlv
bk1lc3NhZ2UgJiYgbV92YWxpZGF0aW9uTWVzc2FnZS0+c2hhZG93VHJlZUNvbnRhaW5zKG5vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCBi
MTMyY2JlMGI4YWViNzk5NWY5MTFhMzY0YmQ3Mjc0YjMwZTBmY2U4Li5kMTI5YmMyYzJhMzZkMDUy
MzMyNGFjY2VkMjc2ZjE0NzU4NWIxMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaApAQCAtODEsNyArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3QgT1ZFUlJJREUg
PSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0
dXJuICFkaXNhYmxlZCgpOyB9Ci0gICAgdmlydHVhbCBib29sIGlzUmVhZE9ubHlGb3JtQ29udHJv
bCgpIGNvbnN0IHsgcmV0dXJuIHJlYWRPbmx5KCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
TWF0Y2hSZWFkT25seVNlbGVjdG9yKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29s
IHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3IoKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZp
cnR1YWwgYm9vbCBjYW5UcmlnZ2VySW1wbGljaXRTdWJtaXNzaW9uKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHAKaW5kZXggYjAyMGIzODI5OWU3NzVlNmQ4MWJmNjE1ZTcxOTZlZGU3MGJlYTgw
MS4uMzYyMjFkZGQ3ZTU0N2VlMTU4YjE2MjUwNWRjOGVjYzA0Y2MwZTE5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCkBAIC0yMTQs
OSArMjE0LDE0IEBAIGJvb2wgU2xpZGVyVGh1bWJFbGVtZW50Ojppc0VuYWJsZWRGb3JtQ29udHJv
bCgpIGNvbnN0CiAgICAgcmV0dXJuIGhvc3RJbnB1dCgpLT5pc0VuYWJsZWRGb3JtQ29udHJvbCgp
OwogfQogCi1ib29sIFNsaWRlclRodW1iRWxlbWVudDo6aXNSZWFkT25seUZvcm1Db250cm9sKCkg
Y29uc3QKK2Jvb2wgU2xpZGVyVGh1bWJFbGVtZW50OjpzaG91bGRNYXRjaFJlYWRPbmx5U2VsZWN0
b3IoKSBjb25zdAogewotICAgIHJldHVybiBob3N0SW5wdXQoKS0+aXNSZWFkT25seUZvcm1Db250
cm9sKCk7CisgICAgcmV0dXJuIGhvc3RJbnB1dCgpLT5zaG91bGRNYXRjaFJlYWRPbmx5U2VsZWN0
b3IoKTsKK30KKworYm9vbCBTbGlkZXJUaHVtYkVsZW1lbnQ6OnNob3VsZE1hdGNoUmVhZFdyaXRl
U2VsZWN0b3IoKSBjb25zdAoreworICAgIHJldHVybiBob3N0SW5wdXQoKS0+c2hvdWxkTWF0Y2hS
ZWFkV3JpdGVTZWxlY3RvcigpOwogfQogCiBOb2RlKiBTbGlkZXJUaHVtYkVsZW1lbnQ6OmZvY3Vz
RGVsZWdhdGUoKQpAQCAtMzM0LDcgKzMzOSw3IEBAIHZvaWQgU2xpZGVyVGh1bWJFbGVtZW50Ojpk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIGJvb2wgU2xpZGVyVGh1bWJFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKCkKIHsKICAgICBjb25zdCBIVE1MSW5wdXRF
bGVtZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOwotICAgIGlmIChpbnB1dCAmJiAhaW5wdXQtPmlz
UmVhZE9ubHlGb3JtQ29udHJvbCgpICYmIGlucHV0LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpICYm
IG1faW5EcmFnTW9kZSkKKyAgICBpZiAoaW5wdXQgJiYgIWlucHV0LT5yZWFkT25seSgpICYmIGlu
cHV0LT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpICYmIG1faW5EcmFnTW9kZSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3Vz
ZU1vdmVFdmVudHMoKTsKQEAgLTM0Myw3ICszNDgsNyBAQCBib29sIFNsaWRlclRodW1iRWxlbWVu
dDo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cygpCiBib29sIFNsaWRlclRodW1iRWxlbWVu
dDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQogewogICAgIGNvbnN0IEhUTUxJbnB1
dEVsZW1lbnQqIGlucHV0ID0gaG9zdElucHV0KCk7Ci0gICAgaWYgKGlucHV0ICYmICFpbnB1dC0+
aXNSZWFkT25seUZvcm1Db250cm9sKCkgJiYgaW5wdXQtPmlzRW5hYmxlZEZvcm1Db250cm9sKCkp
CisgICAgaWYgKGlucHV0ICYmICFpbnB1dC0+cmVhZE9ubHkoKSAmJiBpbnB1dC0+aXNFbmFibGVk
Rm9ybUNvbnRyb2woKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERp
dkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCmluZGV4IDExZDM1MDM5M2Zi
NDVmMmQ1ZjE3ZDc4NGNlODE1MzhkMTUzNzEzOGQuLjA0ZTQxYzdiZjQ5OWY4ZjUyODI4NjU0YjJl
MmVmODFjMWZlMzI1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Ns
aWRlclRodW1iRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRl
clRodW1iRWxlbWVudC5oCkBAIC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBS
ZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJp
YnV0ZXNBbmRDaGlsZHJlbigpOwogICAgIHZpcnR1YWwgYm9vbCBpc0VuYWJsZWRGb3JtQ29udHJv
bCgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBpc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yKCkgY29uc3Qg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3Io
KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIE5vZGUqIGZvY3VzRGVsZWdhdGUoKTsKICAg
ICB2b2lkIHN0YXJ0RHJhZ2dpbmcoKTsKICAgICB2b2lkIHN0b3BEcmFnZ2luZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50
cy5jcHAKaW5kZXggMGZkNDFjNjBlNmE5NWZiZmM1OGU1MjQxZGE5NjRiNTFjMTc1ZGZjYS4uZTA2
ZDU2ZjJmMTdhYjgzMDdjZDUwYjVkNmI2YmJhN2U3OGRhMGY5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBA
IC0yNDIsNyArMjQyLDcgQEAgdm9pZCBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogYm9vbCBTZWFyY2hGaWVsZENhbmNlbEJ1
dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHsKICAgICBjb25z
dCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQq
PihzaGFkb3dIb3N0KCkpOwotICAgIGlmICghaW5wdXQtPmRpc2FibGVkKCkgJiYgIWlucHV0LT5p
c1JlYWRPbmx5Rm9ybUNvbnRyb2woKSkKKyAgICBpZiAoIWlucHV0LT5kaXNhYmxlZCgpICYmICFp
bnB1dC0+cmVhZE9ubHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRN
TERpdkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCk7CkBAIC0zNDUsNyAr
MzQ1LDcgQEAgdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCogZXZlbnQpCiBib29sIFNwaW5CdXR0b25FbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3Zl
RXZlbnRzKCkKIHsKICAgICBjb25zdCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19j
YXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzaGFkb3dIb3N0KCkpOwotICAgIGlmIChyZW5kZXJCb3go
KSAmJiAhaW5wdXQtPmRpc2FibGVkKCkgJiYgIWlucHV0LT5pc1JlYWRPbmx5Rm9ybUNvbnRyb2wo
KSkKKyAgICBpZiAocmVuZGVyQm94KCkgJiYgIWlucHV0LT5kaXNhYmxlZCgpICYmICFpbnB1dC0+
cmVhZE9ubHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVs
ZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMoKTsKQEAgLTM1NCw3ICszNTQsNyBA
QCBib29sIFNwaW5CdXR0b25FbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKCkK
IGJvb2wgU3BpbkJ1dHRvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkK
IHsKICAgICBjb25zdCBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJ
bnB1dEVsZW1lbnQqPihzaGFkb3dIb3N0KCkpOwotICAgIGlmIChyZW5kZXJCb3goKSAmJiAhaW5w
dXQtPmRpc2FibGVkKCkgJiYgIWlucHV0LT5pc1JlYWRPbmx5Rm9ybUNvbnRyb2woKSkKKyAgICBp
ZiAocmVuZGVyQm94KCkgJiYgIWlucHV0LT5kaXNhYmxlZCgpICYmICFpbnB1dC0+cmVhZE9ubHko
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1lbnQ6Ondp
bGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCk7CkBAIC0zODIsNiArMzgyLDE2IEBAIHZvaWQg
U3BpbkJ1dHRvbkVsZW1lbnQ6OnJlbGVhc2VDYXB0dXJlKCkKICAgICB9CiB9CiAKK2Jvb2wgU3Bp
bkJ1dHRvbkVsZW1lbnQ6OnNob3VsZE1hdGNoUmVhZE9ubHlTZWxlY3RvcigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHNoYWRvd0hvc3QoKS0+c2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yKCk7Cit9
CisKK2Jvb2wgU3BpbkJ1dHRvbkVsZW1lbnQ6OnNob3VsZE1hdGNoUmVhZFdyaXRlU2VsZWN0b3Io
KSBjb25zdAoreworICAgIHJldHVybiBzaGFkb3dIb3N0KCktPnNob3VsZE1hdGNoUmVhZFdyaXRl
U2VsZWN0b3IoKTsKK30KKwogdm9pZCBTcGluQnV0dG9uRWxlbWVudDo6c3RhcnRSZXBlYXRpbmdU
aW1lcigpCiB7CiAgICAgbV9wcmVzc1N0YXJ0aW5nU3RhdGUgPSBtX3VwRG93blN0YXRlOwpAQCAt
NTE0LDcgKzUyNCw3IEBAIHZvaWQgSW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OmRlZmF1
bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogYm9vbCBJbnB1dEZpZWxkU3BlZWNoQnV0dG9u
RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQogewogICAgIGNvbnN0IEhU
TUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHNo
YWRvd0hvc3QoKSk7Ci0gICAgaWYgKCFpbnB1dC0+ZGlzYWJsZWQoKSAmJiAhaW5wdXQtPmlzUmVh
ZE9ubHlGb3JtQ29udHJvbCgpKQorICAgIGlmICghaW5wdXQtPmRpc2FibGVkKCkgJiYgIWlucHV0
LT5yZWFkT25seSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBIVE1MRGl2
RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKaW5kZXgg
MmU4OTA5Njc0YzBmYzFiOWI3YWI1ZGViOWJiMTBkZDRjNDUzOTk4OC4uNjMzNmRjYjYzOGIyMjgz
MzU0YTY2NGI4N2M3NTU3MzlmZGYwOWEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKQEAgLTEyNSw3ICsxMjUsOCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKICAgICB2aXJ0dWFsIGJvb2wg
aXNTcGluQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNFbmFibGVkRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiBzaGFkb3dIb3N0KCkt
PmlzRW5hYmxlZEZvcm1Db250cm9sKCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUZv
cm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gc2hhZG93SG9zdCgpLT5pc1JlYWRPbmx5Rm9ybUNv
bnRyb2woKTsgfQorICAgIHZpcnR1YWwgYm9vbCBzaG91bGRNYXRjaFJlYWRPbmx5U2VsZWN0b3Io
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWF0Y2hSZWFkV3JpdGVT
ZWxlY3RvcigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50Kik7CiAgICAgdm9pZCBkb1N0ZXBBY3Rpb24oaW50KTsKICAgICB2b2lkIHN0
YXJ0UmVwZWF0aW5nVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCmluZGV4IGYxNjYxNzIyZTczMzY4MDM0Yzc2ZjZkNmRiZWQ3NjcxYjgzN2ZmOTIuLjkzYjdi
ODdjZWRlZDVjNDFkZDI1ZmQyMTc0YmU2NjVhODkxOTUwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtODI4LDcgKzgyOCw3IEBAIGJvb2wgUmVuZGVyVGhl
bWU6OmlzUmVhZE9ubHlDb250cm9sKGNvbnN0IFJlbmRlck9iamVjdCogbykgY29uc3QKICAgICBO
b2RlKiBub2RlID0gby0+bm9kZSgpOwogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVtZW50
Tm9kZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEVs
ZW1lbnQqPihub2RlKS0+aXNSZWFkT25seUZvcm1Db250cm9sKCk7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEVsZW1lbnQqPihub2RlKS0+c2hvdWxkTWF0Y2hSZWFkT25seVNlbGVjdG9yKCk7CiB9
CiAKIGJvb2wgUmVuZGVyVGhlbWU6OmlzSG92ZXJlZChjb25zdCBSZW5kZXJPYmplY3QqIG8pIGNv
bnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>