<?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>48658</bug_id>
          
          <creation_ts>2010-10-29 12:17:49 -0700</creation_ts>
          <short_desc>Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder &lt;br/&gt;</short_desc>
          <delta_ts>2011-11-11 08:02:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>48037</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Benjamin (Ben) Kalman">kalman</reporter>
          <assigned_to name="Benjamin (Ben) Kalman">kalman</assigned_to>
          <cc>adele</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>kalman</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>pnormand</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>301946</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 12:17:49 -0700</bug_when>
    <thetext>Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder &lt;br/&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301951</commentid>
    <comment_count>1</comment_count>
      <attachid>72367</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 12:21:23 -0700</bug_when>
    <thetext>Created attachment 72367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301954</commentid>
    <comment_count>2</comment_count>
      <attachid>72368</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 12:22:41 -0700</bug_when>
    <thetext>Created attachment 72368
Simple repro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301955</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 12:23:18 -0700</bug_when>
    <thetext>Repro attached -- highlight &quot;hello &quot; (i.e. including space) and delete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301959</commentid>
    <comment_count>4</comment_count>
      <attachid>72367</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 12:25:33 -0700</bug_when>
    <thetext>Comment on attachment 72367
Patch

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

&gt; WebCore/WebCore.exp.in:420
&gt; +__ZN7WebCore16isEndOfParagraphERKNS_15VisiblePositionENS_8Position27EditingBoundaryCrossingRuleE

fyi I tried deleting these but linking fails with

Undefined symbols:
  &quot;__ZN7WebCore16isEndOfParagraphERKNS_15VisiblePositionENS_8Position27EditingBoundaryCrossingRuleE&quot;, referenced from:
      -[WebFrame(WebPrivate) _smartInsertForString:replacingRange:beforeString:afterString:] in WebFrame.o
  &quot;__ZN7WebCore18isStartOfParagraphERKNS_15VisiblePositionENS_8Position27EditingBoundaryCrossingRuleE&quot;, referenced from:
      -[WebFrame(WebPrivate) _smartInsertForString:replacingRange:beforeString:afterString:] in WebFrame.o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301965</commentid>
    <comment_count>5</comment_count>
      <attachid>72371</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 12:30:06 -0700</bug_when>
    <thetext>Created attachment 72371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301974</commentid>
    <comment_count>6</comment_count>
      <attachid>72371</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-29 12:35:43 -0700</bug_when>
    <thetext>Comment on attachment 72371
Patch

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

LGTM.

&gt; LayoutTests/editing/deleting/5390681-expected.txt:-2
&gt;  This tests for a bug where expansion for smart delete would not consider editable boundaries.  Only &apos;foo&apos; should be deleted.  You should see &apos; bar&apos;.  There is a bug: while the non-editable space isn&apos;t deleted, deletion inserts a placeholder when it shouldn&apos;t.
&gt; -| &lt;br&gt;

You need to update the comment here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302015</commentid>
    <comment_count>7</comment_count>
      <attachid>72383</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-10-29 13:46:21 -0700</bug_when>
    <thetext>Created attachment 72383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302031</commentid>
    <comment_count>8</comment_count>
      <attachid>72383</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-29 14:03:03 -0700</bug_when>
    <thetext>Comment on attachment 72383
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302075</commentid>
    <comment_count>9</comment_count>
      <attachid>72383</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-29 14:47:11 -0700</bug_when>
    <thetext>Comment on attachment 72383
Patch

Clearing flags on attachment: 72383

Committed r70932: &lt;http://trac.webkit.org/changeset/70932&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302076</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-29 14:47:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302119</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-29 15:15:40 -0700</bug_when>
    <thetext>Normally to share an enum like this we’d move the enum into a header instead of including &quot;Position.h&quot; in a header like &quot;visible_units.h&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302872</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-11-01 13:20:29 -0700</bug_when>
    <thetext>Ok, happy to do that.  What is the standard practice here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304202</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-03 12:38:05 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Ok, happy to do that.  What is the standard practice here?

Create the new header, add it to the build systems, put the enum in there, add includes to the appropriate source files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310000</commentid>
    <comment_count>14</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-11-16 16:02:45 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; Ok, happy to do that.  What is the standard practice here?
&gt; 
&gt; Create the new header, add it to the build systems, put the enum in there, add includes to the appropriate source files.

https://bugs.webkit.org/show_bug.cgi?id=49630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500738</commentid>
    <comment_count>15</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-11-11 06:48:00 -0800</bug_when>
    <thetext>editing/pasteboard/paste-text-events.html
editing/pasteboard/copy-backslash-with-euc.html

Started to fail on GTK since this patch landed it seems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500772</commentid>
    <comment_count>16</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-11-11 08:02:19 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; editing/pasteboard/paste-text-events.html
&gt; editing/pasteboard/copy-backslash-with-euc.html
&gt; 
&gt; Started to fail on GTK since this patch landed it seems.

Heh. Nevermind!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72367</attachid>
            <date>2010-10-29 12:21:23 -0700</date>
            <delta_ts>2010-10-29 12:30:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48658-20101029122121.patch</filename>
            <type>text/plain</type>
            <size>13883</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMmU4MWM5ZjZhYzcwMDQxYmI1YWUwZDgzMDAzOTNkYTExMTA3MWJmLi44NTk2N2U2
MDYxODFiMjhlYzg1MDA3MDI4MGM3MDdkODNhNGZlYzZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTAtMjkgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlbGV0aW5nIGNvbnRl
bnRlZGl0YWJsZSB0ZXh0IHRvIHRoZSBsZWZ0IG9mIGEgbm9uLWNvbnRlbnRlZGl0YWJsZSBzcGFu
IGluc2VydHMgdW5uZWNlc3NhcnkgcGxhY2Vob2xkZXIgPGJyLz4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4NjU4CisKKyAgICAgICAgKiBlZGl0aW5n
L2RlbGV0aW5nLzUzOTA2ODEtZXhwZWN0ZWQudHh0OiBVcGRhdGUgdGVzdCBmb3IgY2hhbmdlZCBi
ZWhhdmlvdXIuCisgICAgICAgICogZWRpdGluZy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFi
bGUtY29udGVudC0wMDEtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0OiBEaXR0by4KKwog
MjAxMC0xMC0yOCAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZml4IGZvciB0ZXN0X2V4cGVjdGF0aW9ucy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvNTM5MDY4MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nLzUzOTA2ODEtZXhwZWN0ZWQudHh0CmluZGV4
IDg5NzcyMzhiYWQyM2I2MGUzODEzODE2ZDAwZTBiYzc3YzQzZWMyNWUuLmFlYWQ5ODhjNjA3NWFi
ZDEzNDBiMjY5YmU4YTg4MzE5ZjYwNDI4ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvZGVsZXRpbmcvNTM5MDY4MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy81MzkwNjgxLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIFRoaXMgdGVz
dHMgZm9yIGEgYnVnIHdoZXJlIGV4cGFuc2lvbiBmb3Igc21hcnQgZGVsZXRlIHdvdWxkIG5vdCBj
b25zaWRlciBlZGl0YWJsZSBib3VuZGFyaWVzLiAgT25seSAnZm9vJyBzaG91bGQgYmUgZGVsZXRl
ZC4gIFlvdSBzaG91bGQgc2VlICcgYmFyJy4gIFRoZXJlIGlzIGEgYnVnOiB3aGlsZSB0aGUgbm9u
LWVkaXRhYmxlIHNwYWNlIGlzbid0IGRlbGV0ZWQsIGRlbGV0aW9uIGluc2VydHMgYSBwbGFjZWhv
bGRlciB3aGVuIGl0IHNob3VsZG4ndC4KLXwgPGJyPgogfCA8c3Bhbj4KIHwgICBjb250ZW50ZWRp
dGFibGU9ImZhbHNlIgogfCAgICIgYmFyIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFibGUtY29udGVudC0wMDEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFibGUtY29u
dGVudC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGZjMmQyOGZhNmZmZTBlNzE4YjA3Y2EzYjY0ZGRm
ZTBiNjE3OWJhNWEuLjE5NmM2NzcyNGRlYzdlYTAzZDNmODg5MTI5OTAwN2Y4NWUyNmRiMWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLW1peGVkLWVkaXRh
YmxlLWNvbnRlbnQtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1taXhlZC1lZGl0YWJsZS1jb250ZW50LTAwMS1leHBlY3RlZC50eHQKQEAg
LTE0LDcgKzE0LDYgQEAgQ29uZmlybSBubyBjcmFzaCB3aGVuIHNlbGVjdGluZyBhbGwgdGV4dCB3
aXRoIG1peGVkIGVkaXRhYmlsaXR5LgogfCAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogfCAg
ICAgaWQ9InRlc3QiCiB8ICAgICA8I3NlbGVjdGlvbi1jYXJldD4KLXwgICAgIDxicj4KIHwgICAi
CiAiCiB8ICIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5
LWJhY2tzbGFzaC13aXRoLWV1Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0CmluZGV4IDhjMDFj
OTRiYWUzZjYxZGNjMDdmMjg5YThmMzBiZmFiOTI0Mjc0MTIuLjBmMmU3YTgxYzYwN2VlNzI2ODBm
ZmZiOGJiNjk4ODIzZjdhMzI0ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9jb3B5LWJhY2tzbGFzaC13aXRoLWV1Yy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktYmFja3NsYXNoLXdpdGgtZXVjLWV4cGVjdGVk
LnR4dApAQCAtOSwxMyArOSwxMCBAQCBUZXh0cyBpbiB0aGUgRVVDIGZyYW1lIHdpbGwgYmUgcGFz
dGVkIGhlcmUKIAogZnJvbSBFVUMgZGl2IHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVD
IGRpdiB0byBVVEY4IGNvbnRlbnQtZWRpdGFibGU6IFwgZnJvbSBFVUMgcGFnZQotCiBmcm9tIEVV
QyB0cmFuc2Zvcm0gdG8gVVRGOCB0ZXh0LWNvbnRyb2w6IAogZnJvbSBFVUMgdHJhbnNmb3JtIHRv
IFVURjggY29udGVudC1lZGl0YWJsZTogXCBGUk9NIEVVQyBQQUdFIChUUkFOU0ZPUk1FRCkKLQog
ZnJvbSBFVUMgc2VjdXJlIHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVDIHNlY3VyZSB0
byBVVEY4IGNvbnRlbnQtZWRpdGFibGU6IOKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKA
ouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAogotCiBmcm9tIEVVQyBjb250
cm9sIHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVDIGNvbnRyb2wgdG8gVVRGOCBjb250
ZW50LWVkaXRhYmxlOiBcIGZyb20gRVVDIHRleHQgY29udHJvbAogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQwMjc0MDc2ODYzN2NjOWJm
MzdkYzRhMWNiMjY5NjdiZDA2YTFkZGEuLjFlM2YzOGQxNjhhNzhhOGRjMmRiNmEyYTc0NTJkMGVj
YmM4ZGEzMDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMTAtMjkgIEJlbmphbWluIEthbG1hbiAgPGth
bG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERlbGV0aW5nIGNvbnRlbnRlZGl0YWJsZSB0ZXh0IHRvIHRoZSBsZWZ0IG9mIGEg
bm9uLWNvbnRlbnRlZGl0YWJsZSBzcGFuIGluc2VydHMgdW5uZWNlc3NhcnkgcGxhY2Vob2xkZXIg
PGJyLz4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4
NjU4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogVXBkYXRlIGlze1N0YXJ0LEVuZH1PZlBh
cmFncmFwaCBzeW1ib2xzLgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6IERpdHRvLgorICAgICAg
ICAqIGVkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KTogQ3Jvc3MgZWRpdGFiaWxpdHkgYm91
bmRhcmllcyB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdG8gaW5zZXJ0IHBsYWNlaG9sZGVyLgor
ICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5jcHA6IEFsbG93IGVkaXRhYmlsaXR5IGJv
dW5kYXJ5IHRvIGJlIGNyb3NzZWQgaW4ge3N0YXJ0LGVuZCxpc1N0YXJ0LGlzRW5kfU9mUGFyYWdy
YXBoLgorICAgICAgICAoV2ViQ29yZTo6c3RhcnRPZlBhcmFncmFwaCk6CisgICAgICAgIChXZWJD
b3JlOjplbmRPZlBhcmFncmFwaCk6CisgICAgICAgIChXZWJDb3JlOjppc1N0YXJ0T2ZQYXJhZ3Jh
cGgpOgorICAgICAgICAoV2ViQ29yZTo6aXNFbmRPZlBhcmFncmFwaCk6CisgICAgICAgICogZWRp
dGluZy92aXNpYmxlX3VuaXRzLmg6IERpdHRvLgorCiAyMDEwLTEwLTI4ICBKaWEgUHUgIDxqcHVA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCAzOWU2YjM2NjI5YTlkZGFhMDcxZjQ1YTYzNDA5ZTRmODRjNzdkZmZiLi42NmRjNTk0Y2ZlOThk
MjI5YmY2ZTkwZDY5NmQzOGMwZGY4ZTJjNzkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTQxNyw3ICs0MTcsNyBAQCBf
X1pON1dlYkNvcmUxNmNyZWF0ZUZ1bGxNYXJrdXBFUEtOU180Tm9kZUUKIF9fWk43V2ViQ29yZTE2
Y3JlYXRlRnVsbE1hcmt1cEVQS05TXzVSYW5nZUUKIF9fWk43V2ViQ29yZTE2ZW5jbG9zaW5nSW50
UmVjdEVSSzdfTlNSZWN0CiBfX1pON1dlYkNvcmUxNmVuY2xvc2luZ0ludFJlY3RFUktOU185Rmxv
YXRSZWN0RQotX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNpYmxlUG9z
aXRpb25FCitfX1pON1dlYkNvcmUxNmlzRW5kT2ZQYXJhZ3JhcGhFUktOU18xNVZpc2libGVQb3Np
dGlvbkVOU184UG9zaXRpb24yN0VkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZUUKIF9fWk43V2Vi
Q29yZTE2anNTdHJpbmdTbG93Q2FzZUVQTjNKU0M5RXhlY1N0YXRlRVJOUzBfOVdlYWtHQ01hcElQ
TjNXVEYxMFN0cmluZ0ltcGxFUE5TMF84SlNTdHJpbmdFRUVTNl8KIF9fWk43V2ViQ29yZTE3Q3Jl
ZGVudGlhbFN0b3JhZ2UzZ2V0RVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFCiBfX1pON1dlYkNvcmUx
N0RPTUltcGxlbWVudGF0aW9uMTNpc1hNTE1JTUVUeXBlRVJLTjNXVEY2U3RyaW5nRQpAQCAtNDI4
LDcgKzQyOCw3IEBAIF9fWk43V2ViQ29yZTE3SGlzdG9yeUNvbnRyb2xsZXIyNnNhdmVEb2N1bWVu
dEFuZFNjcm9sbFN0YXRlRXYKIF9fWk43V2ViQ29yZTE3bmFtZUZvckN1cnNvclR5cGVFTlNfNkN1
cnNvcjRUeXBlRQogX19aTjdXZWJDb3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVQS2NSaQogX19aTjdX
ZWJDb3JlMThTZWFyY2hQb3B1cE1lbnVNYWNDMUVQTlNfMTVQb3B1cE1lbnVDbGllbnRFCi1fX1pO
N1dlYkNvcmUxOGlzU3RhcnRPZlBhcmFncmFwaEVSS05TXzE1VmlzaWJsZVBvc2l0aW9uRQorX19a
TjdXZWJDb3JlMThpc1N0YXJ0T2ZQYXJhZ3JhcGhFUktOU18xNVZpc2libGVQb3NpdGlvbkVOU184
UG9zaXRpb24yN0VkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZUUKIF9fWk43V2ViQ29yZTE4cGx1
Z2luU2NyaXB0T2JqZWN0RVBOM0pTQzlFeGVjU3RhdGVFUE5TXzEzSlNIVE1MRWxlbWVudEUKIF9f
Wk43V2ViQ29yZTE4cHJveHlTZXJ2ZXJzRm9yVVJMRVJLTlNfNEtVUkxFUEtOU18xN05ldHdvcmtp
bmdDb250ZXh0RQogX19aTjdXZWJDb3JlMTlBbmltYXRpb25Db250cm9sbGVyMTZyZXN1bWVBbmlt
YXRpb25zRVBOU184RG9jdW1lbnRFCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUub3JkZXIg
Yi9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggMDZkZmIzZDczNTliYmRlZWY1ODcyODYyNzJl
OGZjNDMyZmFkMGU4Ny4uNDdmN2Y0ZjFlM2RjNGI2NjNmOGE0Yzk5YjMyM2IyM2E5YjUxYzIwMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5v
cmRlcgpAQCAtNTc5Miw3ICs1NzkyLDcgQEAgX19aTjdXZWJDb3JlNUZyYW1lMjVyZXNwb25kVG9D
aGFuZ2VkU2VsZWN0aW9uRVJLTlNfMTZWaXNpYmxlU2VsZWN0aW9uRWIKIF9fWk43V2ViQ29yZTZF
ZGl0b3IzMmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkRXYKIF9fWk43V2ViQ29yZTZF
ZGl0b3IyNGlzR3JhbW1hckNoZWNraW5nRW5hYmxlZEV2CiBfX1pON1dlYkNvcmU5ZW5kT2ZXb3Jk
RVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FTlNfOUVXb3JkU2lkZUUKLV9fWk43V2ViQ29yZTE2aXNF
bmRPZlBhcmFncmFwaEVSS05TXzE1VmlzaWJsZVBvc2l0aW9uRQorX19aTjdXZWJDb3JlMTZpc0Vu
ZE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FTlNfOFBvc2l0aW9uMjdFZGl0aW5n
Qm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pON1dlYkNvcmUxNGVuZE9mUGFyYWdyYXBoRVJLTlNf
MTVWaXNpYmxlUG9zaXRpb25FCiBfX1pON1dlYkNvcmUzNWlzUmVuZGVyZWRBc05vbklubGluZVRh
YmxlSW1hZ2VPckhSRVBLTlNfNE5vZGVFCiBfX1pON1dlYkNvcmUxNGVuY2xvc2luZ0Jsb2NrRVBO
U180Tm9kZUUKQEAgLTExMTg5LDcgKzExMTg5LDcgQEAgX19aTjdXZWJDb3JlMTRDU1NDYW52YXNW
YWx1ZTEzY2FudmFzQ2hhbmdlZEVQTlNfMTdIVE1MQ2FudmFzRWxlbWVudEVSS05TXzlGbG9hdFIK
IF9fWk5LN1dlYkNvcmUxOVN0eWxlR2VuZXJhdGVkSW1hZ2U0ZGF0YUV2CiBfX1pON1dlYkNvcmUy
NGpzSFRNTE1lZGlhRWxlbWVudFZvbHVtZUVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVS
S05TMF8xMElkZW50aWZpZXJFCiBfX1pOSzdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50NnZvbHVt
ZUV2Ci1fX1pON1dlYkNvcmUxM2lzU3RhcnRPZkxpbmVFUktOU18xNVZpc2libGVQb3NpdGlvbkUK
K19fWk43V2ViQ29yZTE4aXNTdGFydE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNpYmxlUG9zaXRpb25F
TlNfOFBvc2l0aW9uMjdFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pON1dlYkNvcmUx
NmlzRW1wdHlUYWJsZUNlbGxFUEtOU180Tm9kZUUKIF9fWk43V2ViQ29yZTI1aXNGaXJzdFBvc2l0
aW9uQWZ0ZXJUYWJsZUVSS05TXzE1VmlzaWJsZVBvc2l0aW9uRQogX19aTjdXZWJDb3JlOUNTU1Bh
cnNlcjI0cGFyc2VUaW1pbmdGdW5jdGlvblZhbHVlRVJQTlNfMThDU1NQYXJzZXJWYWx1ZUxpc3RF
UmQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNw
cCBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCA0YWNh
NTdlYTIzMWFiOWE2ZDU5MWVjNDU1ZGVjNWU0ZDUxYWRjMWZlLi4xZjU2ZGE3MDRmOWI3ZDI4Yjg3
MTBhYjk5MGU1MTRiODVhZjJkZDk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
U2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlv
bkNvbW1hbmQuY3BwCkBAIC03NTYsOSArNzU2LDkgQEAgdm9pZCBEZWxldGVTZWxlY3Rpb25Db21t
YW5kOjpkb0FwcGx5KCkKICAgICBFQWZmaW5pdHkgYWZmaW5pdHkgPSBtX3NlbGVjdGlvblRvRGVs
ZXRlLmFmZmluaXR5KCk7CiAgICAgCiAgICAgUG9zaXRpb24gZG93bnN0cmVhbUVuZCA9IG1fc2Vs
ZWN0aW9uVG9EZWxldGUuZW5kKCkuZG93bnN0cmVhbSgpOwotICAgIG1fbmVlZFBsYWNlaG9sZGVy
ID0gaXNTdGFydE9mUGFyYWdyYXBoKG1fc2VsZWN0aW9uVG9EZWxldGUudmlzaWJsZVN0YXJ0KCkp
ICYmCi0gICAgICAgICAgICAgICAgICAgICAgICBpc0VuZE9mUGFyYWdyYXBoKG1fc2VsZWN0aW9u
VG9EZWxldGUudmlzaWJsZUVuZCgpKSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgIWxpbmVC
cmVha0V4aXN0c0F0VmlzaWJsZVBvc2l0aW9uKG1fc2VsZWN0aW9uVG9EZWxldGUudmlzaWJsZUVu
ZCgpKTsKKyAgICBtX25lZWRQbGFjZWhvbGRlciA9IGlzU3RhcnRPZlBhcmFncmFwaChtX3NlbGVj
dGlvblRvRGVsZXRlLnZpc2libGVTdGFydCgpLCBQb3NpdGlvbjo6Q2FuQ3Jvc3NFZGl0aW5nQm91
bmRhcnkpCisgICAgICAgICAgICAmJiBpc0VuZE9mUGFyYWdyYXBoKG1fc2VsZWN0aW9uVG9EZWxl
dGUudmlzaWJsZUVuZCgpLCBQb3NpdGlvbjo6Q2FuQ3Jvc3NFZGl0aW5nQm91bmRhcnkpCisgICAg
ICAgICAgICAmJiAhbGluZUJyZWFrRXhpc3RzQXRWaXNpYmxlUG9zaXRpb24obV9zZWxlY3Rpb25U
b0RlbGV0ZS52aXNpYmxlRW5kKCkpOwogICAgIGlmIChtX25lZWRQbGFjZWhvbGRlcikgewogICAg
ICAgICAvLyBEb24ndCBuZWVkIGEgcGxhY2Vob2xkZXIgd2hlbiBkZWxldGluZyBhIHNlbGVjdGlv
biB0aGF0IHN0YXJ0cyBqdXN0IGJlZm9yZSBhIHRhYmxlCiAgICAgICAgIC8vIGFuZCBlbmRzIGlu
c2lkZSBpdCAod2UgZG8gbmVlZCBwbGFjZWhvbGRlcnMgdG8gaG9sZCBvcGVuIGVtcHR5IGNlbGxz
LCBidXQgdGhhdCdzCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5j
cHAgYi9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAKaW5kZXggZDljYTIyMzM4NjA5
OTBhMDcwYmYyNTY0YjMzMmE4NGE5Yzk5OGMzNy4uOGIxMTAxMzdjNDFlNGQ2Mzc0YWE4MWI0YmUz
M2QyYTAwMzJiZWRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMu
Y3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlBvc2l0aW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVy
QmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgpAQCAtNzc5LDcgKzc4MCw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0U2VudGVuY2VQb3Np
dGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJmMpCiAgICAgcmV0dXJuIGMuaG9ub3JFZGl0YWJs
ZUJvdW5kYXJ5QXRPckJlZm9yZShuZXh0KTsKIH0KIAotVmlzaWJsZVBvc2l0aW9uIHN0YXJ0T2ZQ
YXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQorVmlzaWJsZVBvc2l0aW9uIHN0YXJ0
T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjLCBQb3NpdGlvbjo6RWRpdGluZ0Jv
dW5kYXJ5Q3Jvc3NpbmdSdWxlIGJvdW5kYXJ5Q3Jvc3NpbmdSdWxlKQogewogICAgIFBvc2l0aW9u
IHAgPSBjLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSAqc3RhcnROb2RlID0gcC5ub2RlKCk7
CkBAIC03OTcsNyArNzk4LDcgQEAgVmlzaWJsZVBvc2l0aW9uIHN0YXJ0T2ZQYXJhZ3JhcGgoY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBjKQogCiAgICAgTm9kZSAqbiA9IHN0YXJ0Tm9kZTsKICAgICB3
aGlsZSAobikgewotICAgICAgICBpZiAobi0+aXNDb250ZW50RWRpdGFibGUoKSAhPSBzdGFydE5v
ZGUtPmlzQ29udGVudEVkaXRhYmxlKCkpCisgICAgICAgIGlmIChib3VuZGFyeUNyb3NzaW5nUnVs
ZSA9PSBQb3NpdGlvbjo6Q2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkgJiYgbi0+aXNDb250ZW50
RWRpdGFibGUoKSAhPSBzdGFydE5vZGUtPmlzQ29udGVudEVkaXRhYmxlKCkpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgUmVuZGVyT2JqZWN0ICpyID0gbi0+cmVuZGVyZXIoKTsKICAgICAg
ICAgaWYgKCFyKSB7CkBAIC04MTIsOCArODEzLDggQEAgVmlzaWJsZVBvc2l0aW9uIHN0YXJ0T2ZQ
YXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQogICAgICAgICAKICAgICAgICAgaWYg
KHItPmlzQlIoKSB8fCBpc0Jsb2NrKG4pKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAKLSAgICAgICAgaWYgKHItPmlzVGV4dCgpKSB7CisKKyAgICAgICAgaWYgKHItPmlzVGV4dCgp
ICYmIHItPmNhcmV0TWF4UmVuZGVyZWRPZmZzZXQoKSA+IDApIHsKICAgICAgICAgICAgIGlmIChz
dHlsZS0+cHJlc2VydmVOZXdsaW5lKCkpIHsKICAgICAgICAgICAgICAgICBjb25zdCBVQ2hhciog
Y2hhcnMgPSB0b1JlbmRlclRleHQociktPmNoYXJhY3RlcnMoKTsKICAgICAgICAgICAgICAgICBp
bnQgaSA9IHRvUmVuZGVyVGV4dChyKS0+dGV4dExlbmd0aCgpOwpAQCAtODM4LDcgKzgzOSw3IEBA
IFZpc2libGVQb3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
YykKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKG5vZGUsIG9mZnNldCwgRE9XTlNUUkVBTSk7
CiB9CiAKLVZpc2libGVQb3NpdGlvbiBlbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRp
b24gJmMpCitWaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0
aW9uICZjLCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIGJvdW5kYXJ5Q3Jv
c3NpbmdSdWxlKQogeyAgICAKICAgICBpZiAoYy5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIFZp
c2libGVQb3NpdGlvbigpOwpAQCAtODU3LDcgKzg1OCw3IEBAIFZpc2libGVQb3NpdGlvbiBlbmRP
ZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJmMpCiAKICAgICBOb2RlICpuID0gc3Rh
cnROb2RlOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlmIChuLT5pc0NvbnRlbnRFZGl0YWJs
ZSgpICE9IHN0YXJ0Tm9kZS0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAgICAgaWYgKGJvdW5k
YXJ5Q3Jvc3NpbmdSdWxlID09IFBvc2l0aW9uOjpDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSAm
JiBuLT5pc0NvbnRlbnRFZGl0YWJsZSgpICE9IHN0YXJ0Tm9kZS0+aXNDb250ZW50RWRpdGFibGUo
KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBSZW5kZXJPYmplY3QgKnIgPSBuLT5yZW5k
ZXJlcigpOwogICAgICAgICBpZiAoIXIpIHsKQEAgLTg3Miw5ICs4NzMsOCBAQCBWaXNpYmxlUG9z
aXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQogICAgICAgICAK
ICAgICAgICAgaWYgKHItPmlzQlIoKSB8fCBpc0Jsb2NrKG4pKQogICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAKKwogICAgICAgICAvLyBGSVhNRTogV2UgYXZvaWQgcmV0dXJuaW5nIGEg
cG9zaXRpb24gd2hlcmUgdGhlIHJlbmRlcmVyIGNhbid0IGFjY2VwdCB0aGUgY2FyZXQuCi0gICAg
ICAgIC8vIFdlIHNob3VsZCBwcm9iYWJseSBkbyB0aGlzIGluIG90aGVyIGNhc2VzIHN1Y2ggYXMg
c3RhcnRPZlBhcmFncmFwaC4KICAgICAgICAgaWYgKHItPmlzVGV4dCgpICYmIHItPmNhcmV0TWF4
UmVuZGVyZWRPZmZzZXQoKSA+IDApIHsKICAgICAgICAgICAgIGludCBsZW5ndGggPSB0b1JlbmRl
clRleHQociktPnRleHRMZW5ndGgoKTsKICAgICAgICAgICAgIGlmIChzdHlsZS0+cHJlc2VydmVO
ZXdsaW5lKCkpIHsKQEAgLTkxNCwxNCArOTE0LDE0IEBAIGJvb2wgaW5TYW1lUGFyYWdyYXBoKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmYSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uICZiKQogICAgIHJl
dHVybiBhLmlzTm90TnVsbCgpICYmIHN0YXJ0T2ZQYXJhZ3JhcGgoYSkgPT0gc3RhcnRPZlBhcmFn
cmFwaChiKTsKIH0KIAotYm9vbCBpc1N0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0
aW9uICZwb3MpCitib29sIGlzU3RhcnRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24g
JnBvcywgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBib3VuZGFyeUNyb3Nz
aW5nUnVsZSkKIHsKLSAgICByZXR1cm4gcG9zLmlzTm90TnVsbCgpICYmIHBvcyA9PSBzdGFydE9m
UGFyYWdyYXBoKHBvcyk7CisgICAgcmV0dXJuIHBvcy5pc05vdE51bGwoKSAmJiBwb3MgPT0gc3Rh
cnRPZlBhcmFncmFwaChwb3MsIGJvdW5kYXJ5Q3Jvc3NpbmdSdWxlKTsKIH0KIAotYm9vbCBpc0Vu
ZE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcG9zKQorYm9vbCBpc0VuZE9mUGFy
YWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcG9zLCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5k
YXJ5Q3Jvc3NpbmdSdWxlIGJvdW5kYXJ5Q3Jvc3NpbmdSdWxlKQogewotICAgIHJldHVybiBwb3Mu
aXNOb3ROdWxsKCkgJiYgcG9zID09IGVuZE9mUGFyYWdyYXBoKHBvcyk7CisgICAgcmV0dXJuIHBv
cy5pc05vdE51bGwoKSAmJiBwb3MgPT0gZW5kT2ZQYXJhZ3JhcGgocG9zLCBib3VuZGFyeUNyb3Nz
aW5nUnVsZSk7CiB9CiAKIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c1BhcmFncmFwaFBvc2l0aW9u
KGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcCwgaW50IHgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5oIGIvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaApp
bmRleCBhMjBiNTg4ODk3NWVmN2NiNTM5MDgyZjBlYmRmNDlkYmU4ZDI5YzkzLi5mNzhmOWQxNDlm
ZTgzMWY4OTgwMzQxM2JlNTFiMzBlZDk1ODI4MWFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRp
bmcvdmlzaWJsZV91bml0cy5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgdmlzaWJsZV91bml0c19oCiAKICNpbmNsdWRlICJE
b2N1bWVudC5oIgorI2luY2x1ZGUgIlBvc2l0aW9uLmgiCiAjaW5jbHVkZSAiVGV4dEFmZmluaXR5
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYwLDE0ICs2MSwxNCBAQCBWaXNpYmxlUG9z
aXRpb24gbG9naWNhbFN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIFZpc2li
bGVQb3NpdGlvbiBsb2dpY2FsRW5kT2ZMaW5lKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKIAog
Ly8gcGFyYWdyYXBocyAocGVyaGFwcyBhIG1pc25vbWVyLCBjYW4gYmUgZGl2aWRlZCBieSBsaW5l
IGJyZWFrIGVsZW1lbnRzKQotVmlzaWJsZVBvc2l0aW9uIHN0YXJ0T2ZQYXJhZ3JhcGgoY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJik7Ci1WaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJik7CitWaXNpYmxlUG9zaXRpb24gc3RhcnRPZlBhcmFncmFwaChjb25z
dCBWaXNpYmxlUG9zaXRpb24mLCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxl
ID0gUG9zaXRpb246OkNhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKK1Zpc2libGVQb3NpdGlv
biBlbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBQb3NpdGlvbjo6RWRpdGlu
Z0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gUG9zaXRpb246OkNhbm5vdENyb3NzRWRpdGluZ0JvdW5k
YXJ5KTsKIFZpc2libGVQb3NpdGlvbiBzdGFydE9mTmV4dFBhcmFncmFwaChjb25zdCBWaXNpYmxl
UG9zaXRpb24mKTsKIFZpc2libGVQb3NpdGlvbiBwcmV2aW91c1BhcmFncmFwaFBvc2l0aW9uKGNv
bnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgeCk7CiBWaXNpYmxlUG9zaXRpb24gbmV4dFBhcmFn
cmFwaFBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgeCk7Citib29sIGlzU3Rh
cnRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgUG9zaXRpb246OkVkaXRpbmdC
b3VuZGFyeUNyb3NzaW5nUnVsZSA9IFBvc2l0aW9uOjpDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFy
eSk7Citib29sIGlzRW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIFBvc2l0
aW9uOjpFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBQb3NpdGlvbjo6Q2Fubm90Q3Jvc3NF
ZGl0aW5nQm91bmRhcnkpOwogYm9vbCBpblNhbWVQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0
aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLWJvb2wgaXNTdGFydE9mUGFyYWdyYXBo
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLWJvb2wgaXNFbmRPZlBhcmFncmFwaChjb25zdCBW
aXNpYmxlUG9zaXRpb24gJik7CiAKIC8vIGJsb2NrcyAodHJ1ZSBwYXJhZ3JhcGhzOyBsaW5lIGJy
ZWFrIGVsZW1lbnRzIGRvbid0IGJyZWFrIGJsb2NrcykKIFZpc2libGVQb3NpdGlvbiBzdGFydE9m
QmxvY2soY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>72368</attachid>
            <date>2010-10-29 12:22:41 -0700</date>
            <delta_ts>2010-10-29 12:22:41 -0700</delta_ts>
            <desc>Simple repro</desc>
            <filename>t.html</filename>
            <type>text/html</type>
            <size>74</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">PGRpdiBjb250ZW50ZWRpdGFibGU+aGVsbG8gPHNwYW4gY29udGVudGVkaXRhYmxlPWZhbHNlPndv
cmxkPC9zcGFuPjwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72371</attachid>
            <date>2010-10-29 12:30:06 -0700</date>
            <delta_ts>2010-10-29 13:46:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48658-20101029123005.patch</filename>
            <type>text/plain</type>
            <size>12536</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMmU4MWM5ZjZhYzcwMDQxYmI1YWUwZDgzMDAzOTNkYTExMTA3MWJmLi44NTk2N2U2
MDYxODFiMjhlYzg1MDA3MDI4MGM3MDdkODNhNGZlYzZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTAtMjkgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlbGV0aW5nIGNvbnRl
bnRlZGl0YWJsZSB0ZXh0IHRvIHRoZSBsZWZ0IG9mIGEgbm9uLWNvbnRlbnRlZGl0YWJsZSBzcGFu
IGluc2VydHMgdW5uZWNlc3NhcnkgcGxhY2Vob2xkZXIgPGJyLz4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4NjU4CisKKyAgICAgICAgKiBlZGl0aW5n
L2RlbGV0aW5nLzUzOTA2ODEtZXhwZWN0ZWQudHh0OiBVcGRhdGUgdGVzdCBmb3IgY2hhbmdlZCBi
ZWhhdmlvdXIuCisgICAgICAgICogZWRpdGluZy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFi
bGUtY29udGVudC0wMDEtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0OiBEaXR0by4KKwog
MjAxMC0xMC0yOCAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZml4IGZvciB0ZXN0X2V4cGVjdGF0aW9ucy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvNTM5MDY4MS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nLzUzOTA2ODEtZXhwZWN0ZWQudHh0CmluZGV4
IDg5NzcyMzhiYWQyM2I2MGUzODEzODE2ZDAwZTBiYzc3YzQzZWMyNWUuLmFlYWQ5ODhjNjA3NWFi
ZDEzNDBiMjY5YmU4YTg4MzE5ZjYwNDI4ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvZGVsZXRpbmcvNTM5MDY4MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy81MzkwNjgxLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIFRoaXMgdGVz
dHMgZm9yIGEgYnVnIHdoZXJlIGV4cGFuc2lvbiBmb3Igc21hcnQgZGVsZXRlIHdvdWxkIG5vdCBj
b25zaWRlciBlZGl0YWJsZSBib3VuZGFyaWVzLiAgT25seSAnZm9vJyBzaG91bGQgYmUgZGVsZXRl
ZC4gIFlvdSBzaG91bGQgc2VlICcgYmFyJy4gIFRoZXJlIGlzIGEgYnVnOiB3aGlsZSB0aGUgbm9u
LWVkaXRhYmxlIHNwYWNlIGlzbid0IGRlbGV0ZWQsIGRlbGV0aW9uIGluc2VydHMgYSBwbGFjZWhv
bGRlciB3aGVuIGl0IHNob3VsZG4ndC4KLXwgPGJyPgogfCA8c3Bhbj4KIHwgICBjb250ZW50ZWRp
dGFibGU9ImZhbHNlIgogfCAgICIgYmFyIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFibGUtY29udGVudC0wMDEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFibGUtY29u
dGVudC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGZjMmQyOGZhNmZmZTBlNzE4YjA3Y2EzYjY0ZGRm
ZTBiNjE3OWJhNWEuLjE5NmM2NzcyNGRlYzdlYTAzZDNmODg5MTI5OTAwN2Y4NWUyNmRiMWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLW1peGVkLWVkaXRh
YmxlLWNvbnRlbnQtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1taXhlZC1lZGl0YWJsZS1jb250ZW50LTAwMS1leHBlY3RlZC50eHQKQEAg
LTE0LDcgKzE0LDYgQEAgQ29uZmlybSBubyBjcmFzaCB3aGVuIHNlbGVjdGluZyBhbGwgdGV4dCB3
aXRoIG1peGVkIGVkaXRhYmlsaXR5LgogfCAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogfCAg
ICAgaWQ9InRlc3QiCiB8ICAgICA8I3NlbGVjdGlvbi1jYXJldD4KLXwgICAgIDxicj4KIHwgICAi
CiAiCiB8ICIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5
LWJhY2tzbGFzaC13aXRoLWV1Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvY29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0CmluZGV4IDhjMDFj
OTRiYWUzZjYxZGNjMDdmMjg5YThmMzBiZmFiOTI0Mjc0MTIuLjBmMmU3YTgxYzYwN2VlNzI2ODBm
ZmZiOGJiNjk4ODIzZjdhMzI0ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9jb3B5LWJhY2tzbGFzaC13aXRoLWV1Yy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktYmFja3NsYXNoLXdpdGgtZXVjLWV4cGVjdGVk
LnR4dApAQCAtOSwxMyArOSwxMCBAQCBUZXh0cyBpbiB0aGUgRVVDIGZyYW1lIHdpbGwgYmUgcGFz
dGVkIGhlcmUKIAogZnJvbSBFVUMgZGl2IHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVD
IGRpdiB0byBVVEY4IGNvbnRlbnQtZWRpdGFibGU6IFwgZnJvbSBFVUMgcGFnZQotCiBmcm9tIEVV
QyB0cmFuc2Zvcm0gdG8gVVRGOCB0ZXh0LWNvbnRyb2w6IAogZnJvbSBFVUMgdHJhbnNmb3JtIHRv
IFVURjggY29udGVudC1lZGl0YWJsZTogXCBGUk9NIEVVQyBQQUdFIChUUkFOU0ZPUk1FRCkKLQog
ZnJvbSBFVUMgc2VjdXJlIHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVDIHNlY3VyZSB0
byBVVEY4IGNvbnRlbnQtZWRpdGFibGU6IOKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKA
ouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAouKAogotCiBmcm9tIEVVQyBjb250
cm9sIHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVDIGNvbnRyb2wgdG8gVVRGOCBjb250
ZW50LWVkaXRhYmxlOiBcIGZyb20gRVVDIHRleHQgY29udHJvbAogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQwMjc0MDc2ODYzN2NjOWJm
MzdkYzRhMWNiMjY5NjdiZDA2YTFkZGEuLmE0YTA3MThiYjRkNGRkNGZlZjc0NjJhMDk0NWYwNTMw
OWFiYjBkZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTAtMjkgIEJlbmphbWluIEthbG1hbiAgPGth
bG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERlbGV0aW5nIGNvbnRlbnRlZGl0YWJsZSB0ZXh0IHRvIHRoZSBsZWZ0IG9mIGEg
bm9uLWNvbnRlbnRlZGl0YWJsZSBzcGFuIGluc2VydHMgdW5uZWNlc3NhcnkgcGxhY2Vob2xkZXIg
PGJyLz4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4
NjU4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogVXBkYXRlIGlze1N0YXJ0LEVuZH1PZlBh
cmFncmFwaCBzeW1ib2xzLgorICAgICAgICAqIGVkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFu
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KTogQ3Jvc3MgZWRpdGFiaWxpdHkgYm91bmRhcmllcyB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIg
dG8gaW5zZXJ0IHBsYWNlaG9sZGVyLgorICAgICAgICAqIGVkaXRpbmcvdmlzaWJsZV91bml0cy5j
cHA6IEFsbG93IGVkaXRhYmlsaXR5IGJvdW5kYXJ5IHRvIGJlIGNyb3NzZWQgaW4ge3N0YXJ0LGVu
ZCxpc1N0YXJ0LGlzRW5kfU9mUGFyYWdyYXBoLgorICAgICAgICAoV2ViQ29yZTo6c3RhcnRPZlBh
cmFncmFwaCk6IEFsc28sIGF2b2lkIHJldHVybmluZyBhIHBvc2l0aW9uIHdoZXJlIHJlbmRlcmVy
IGNhbid0IGFjY2VwdCBjYXJldCwgbGlrZSBpbiBlbmRPZlBhcmFncmFwaC4KKyAgICAgICAgKFdl
YkNvcmU6OmVuZE9mUGFyYWdyYXBoKToKKyAgICAgICAgKFdlYkNvcmU6OmlzU3RhcnRPZlBhcmFn
cmFwaCk6CisgICAgICAgIChXZWJDb3JlOjppc0VuZE9mUGFyYWdyYXBoKToKKyAgICAgICAgKiBl
ZGl0aW5nL3Zpc2libGVfdW5pdHMuaDogRGl0dG8uCisKIDIwMTAtMTAtMjggIEppYSBQdSAgPGpw
dUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IDM5ZTZiMzY2MjlhOWRkYWEwNzFmNDVhNjM0MDllNGY4NGM3N2RmZmIuLjY2ZGM1OTRjZmU5
OGQyMjliZjZlOTBkNjk2ZDM4YzBkZjhlMmM3OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNDE3LDcgKzQxNyw3IEBA
IF9fWk43V2ViQ29yZTE2Y3JlYXRlRnVsbE1hcmt1cEVQS05TXzROb2RlRQogX19aTjdXZWJDb3Jl
MTZjcmVhdGVGdWxsTWFya3VwRVBLTlNfNVJhbmdlRQogX19aTjdXZWJDb3JlMTZlbmNsb3NpbmdJ
bnRSZWN0RVJLN19OU1JlY3QKIF9fWk43V2ViQ29yZTE2ZW5jbG9zaW5nSW50UmVjdEVSS05TXzlG
bG9hdFJlY3RFCi1fX1pON1dlYkNvcmUxNmlzRW5kT2ZQYXJhZ3JhcGhFUktOU18xNVZpc2libGVQ
b3NpdGlvbkUKK19fWk43V2ViQ29yZTE2aXNFbmRPZlBhcmFncmFwaEVSS05TXzE1VmlzaWJsZVBv
c2l0aW9uRU5TXzhQb3NpdGlvbjI3RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlRQogX19aTjdX
ZWJDb3JlMTZqc1N0cmluZ1Nsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk5TMF85V2Vha0dDTWFw
SVBOM1dURjEwU3RyaW5nSW1wbEVQTlMwXzhKU1N0cmluZ0VFRVM2XwogX19aTjdXZWJDb3JlMTdD
cmVkZW50aWFsU3RvcmFnZTNnZXRFUktOU18xNVByb3RlY3Rpb25TcGFjZUUKIF9fWk43V2ViQ29y
ZTE3RE9NSW1wbGVtZW50YXRpb24xM2lzWE1MTUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCkBAIC00
MjgsNyArNDI4LDcgQEAgX19aTjdXZWJDb3JlMTdIaXN0b3J5Q29udHJvbGxlcjI2c2F2ZURvY3Vt
ZW50QW5kU2Nyb2xsU3RhdGVFdgogX19aTjdXZWJDb3JlMTduYW1lRm9yQ3Vyc29yVHlwZUVOU182
Q3Vyc29yNFR5cGVFCiBfX1pON1dlYkNvcmUxN29wZW5UZW1wb3JhcnlGaWxlRVBLY1JpCiBfX1pO
N1dlYkNvcmUxOFNlYXJjaFBvcHVwTWVudU1hY0MxRVBOU18xNVBvcHVwTWVudUNsaWVudEUKLV9f
Wk43V2ViQ29yZTE4aXNTdGFydE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FCitf
X1pON1dlYkNvcmUxOGlzU3RhcnRPZlBhcmFncmFwaEVSS05TXzE1VmlzaWJsZVBvc2l0aW9uRU5T
XzhQb3NpdGlvbjI3RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlRQogX19aTjdXZWJDb3JlMThw
bHVnaW5TY3JpcHRPYmplY3RFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTNKU0hUTUxFbGVtZW50RQog
X19aTjdXZWJDb3JlMThwcm94eVNlcnZlcnNGb3JVUkxFUktOU180S1VSTEVQS05TXzE3TmV0d29y
a2luZ0NvbnRleHRFCiBfX1pON1dlYkNvcmUxOUFuaW1hdGlvbkNvbnRyb2xsZXIxNnJlc3VtZUFu
aW1hdGlvbnNFUE5TXzhEb2N1bWVudEUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxl
dGVTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCA0YWNhNTdlYTIzMWFiOWE2ZDU5MWVjNDU1ZGVjNWU0ZDUxYWRjMWZl
Li4xZjU2ZGE3MDRmOWI3ZDI4Yjg3MTBhYjk5MGU1MTRiODVhZjJkZDk4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9l
ZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC03NTYsOSArNzU2LDkgQEAgdm9p
ZCBEZWxldGVTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkKICAgICBFQWZmaW5pdHkgYWZmaW5p
dHkgPSBtX3NlbGVjdGlvblRvRGVsZXRlLmFmZmluaXR5KCk7CiAgICAgCiAgICAgUG9zaXRpb24g
ZG93bnN0cmVhbUVuZCA9IG1fc2VsZWN0aW9uVG9EZWxldGUuZW5kKCkuZG93bnN0cmVhbSgpOwot
ICAgIG1fbmVlZFBsYWNlaG9sZGVyID0gaXNTdGFydE9mUGFyYWdyYXBoKG1fc2VsZWN0aW9uVG9E
ZWxldGUudmlzaWJsZVN0YXJ0KCkpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICBpc0VuZE9m
UGFyYWdyYXBoKG1fc2VsZWN0aW9uVG9EZWxldGUudmlzaWJsZUVuZCgpKSAmJgotICAgICAgICAg
ICAgICAgICAgICAgICAgIWxpbmVCcmVha0V4aXN0c0F0VmlzaWJsZVBvc2l0aW9uKG1fc2VsZWN0
aW9uVG9EZWxldGUudmlzaWJsZUVuZCgpKTsKKyAgICBtX25lZWRQbGFjZWhvbGRlciA9IGlzU3Rh
cnRPZlBhcmFncmFwaChtX3NlbGVjdGlvblRvRGVsZXRlLnZpc2libGVTdGFydCgpLCBQb3NpdGlv
bjo6Q2FuQ3Jvc3NFZGl0aW5nQm91bmRhcnkpCisgICAgICAgICAgICAmJiBpc0VuZE9mUGFyYWdy
YXBoKG1fc2VsZWN0aW9uVG9EZWxldGUudmlzaWJsZUVuZCgpLCBQb3NpdGlvbjo6Q2FuQ3Jvc3NF
ZGl0aW5nQm91bmRhcnkpCisgICAgICAgICAgICAmJiAhbGluZUJyZWFrRXhpc3RzQXRWaXNpYmxl
UG9zaXRpb24obV9zZWxlY3Rpb25Ub0RlbGV0ZS52aXNpYmxlRW5kKCkpOwogICAgIGlmIChtX25l
ZWRQbGFjZWhvbGRlcikgewogICAgICAgICAvLyBEb24ndCBuZWVkIGEgcGxhY2Vob2xkZXIgd2hl
biBkZWxldGluZyBhIHNlbGVjdGlvbiB0aGF0IHN0YXJ0cyBqdXN0IGJlZm9yZSBhIHRhYmxlCiAg
ICAgICAgIC8vIGFuZCBlbmRzIGluc2lkZSBpdCAod2UgZG8gbmVlZCBwbGFjZWhvbGRlcnMgdG8g
aG9sZCBvcGVuIGVtcHR5IGNlbGxzLCBidXQgdGhhdCdzCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5j
cHAKaW5kZXggZDljYTIyMzM4NjA5OTBhMDcwYmYyNTY0YjMzMmE4NGE5Yzk5OGMzNy4uOGIxMTAx
MzdjNDFlNGQ2Mzc0YWE4MWI0YmUzM2QyYTAwMzJiZWRkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9l
ZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy92aXNpYmxlX3Vu
aXRzLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlBvc2l0aW9u
LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgog
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgpAQCAtNzc5LDcgKzc4MCw3IEBAIFZpc2libGVQb3Np
dGlvbiBuZXh0U2VudGVuY2VQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJmMpCiAgICAg
cmV0dXJuIGMuaG9ub3JFZGl0YWJsZUJvdW5kYXJ5QXRPckJlZm9yZShuZXh0KTsKIH0KIAotVmlz
aWJsZVBvc2l0aW9uIHN0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQor
VmlzaWJsZVBvc2l0aW9uIHN0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBj
LCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIGJvdW5kYXJ5Q3Jvc3NpbmdS
dWxlKQogewogICAgIFBvc2l0aW9uIHAgPSBjLmRlZXBFcXVpdmFsZW50KCk7CiAgICAgTm9kZSAq
c3RhcnROb2RlID0gcC5ub2RlKCk7CkBAIC03OTcsNyArNzk4LDcgQEAgVmlzaWJsZVBvc2l0aW9u
IHN0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQogCiAgICAgTm9kZSAq
biA9IHN0YXJ0Tm9kZTsKICAgICB3aGlsZSAobikgewotICAgICAgICBpZiAobi0+aXNDb250ZW50
RWRpdGFibGUoKSAhPSBzdGFydE5vZGUtPmlzQ29udGVudEVkaXRhYmxlKCkpCisgICAgICAgIGlm
IChib3VuZGFyeUNyb3NzaW5nUnVsZSA9PSBQb3NpdGlvbjo6Q2Fubm90Q3Jvc3NFZGl0aW5nQm91
bmRhcnkgJiYgbi0+aXNDb250ZW50RWRpdGFibGUoKSAhPSBzdGFydE5vZGUtPmlzQ29udGVudEVk
aXRhYmxlKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgUmVuZGVyT2JqZWN0ICpyID0g
bi0+cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKCFyKSB7CkBAIC04MTIsOCArODEzLDggQEAgVmlz
aWJsZVBvc2l0aW9uIHN0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBjKQog
ICAgICAgICAKICAgICAgICAgaWYgKHItPmlzQlIoKSB8fCBpc0Jsb2NrKG4pKQogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAKLSAgICAgICAgaWYgKHItPmlzVGV4dCgpKSB7CisKKyAg
ICAgICAgaWYgKHItPmlzVGV4dCgpICYmIHItPmNhcmV0TWF4UmVuZGVyZWRPZmZzZXQoKSA+IDAp
IHsKICAgICAgICAgICAgIGlmIChzdHlsZS0+cHJlc2VydmVOZXdsaW5lKCkpIHsKICAgICAgICAg
ICAgICAgICBjb25zdCBVQ2hhciogY2hhcnMgPSB0b1JlbmRlclRleHQociktPmNoYXJhY3RlcnMo
KTsKICAgICAgICAgICAgICAgICBpbnQgaSA9IHRvUmVuZGVyVGV4dChyKS0+dGV4dExlbmd0aCgp
OwpAQCAtODM4LDcgKzgzOSw3IEBAIFZpc2libGVQb3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNv
bnN0IFZpc2libGVQb3NpdGlvbiYgYykKICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKG5vZGUs
IG9mZnNldCwgRE9XTlNUUkVBTSk7CiB9CiAKLVZpc2libGVQb3NpdGlvbiBlbmRPZlBhcmFncmFw
aChjb25zdCBWaXNpYmxlUG9zaXRpb24gJmMpCitWaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3Jh
cGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjLCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jv
c3NpbmdSdWxlIGJvdW5kYXJ5Q3Jvc3NpbmdSdWxlKQogeyAgICAKICAgICBpZiAoYy5pc051bGwo
KSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbigpOwpAQCAtODU3LDcgKzg1OCw3IEBA
IFZpc2libGVQb3NpdGlvbiBlbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJmMp
CiAKICAgICBOb2RlICpuID0gc3RhcnROb2RlOwogICAgIHdoaWxlIChuKSB7Ci0gICAgICAgIGlm
IChuLT5pc0NvbnRlbnRFZGl0YWJsZSgpICE9IHN0YXJ0Tm9kZS0+aXNDb250ZW50RWRpdGFibGUo
KSkKKyAgICAgICAgaWYgKGJvdW5kYXJ5Q3Jvc3NpbmdSdWxlID09IFBvc2l0aW9uOjpDYW5ub3RD
cm9zc0VkaXRpbmdCb3VuZGFyeSAmJiBuLT5pc0NvbnRlbnRFZGl0YWJsZSgpICE9IHN0YXJ0Tm9k
ZS0+aXNDb250ZW50RWRpdGFibGUoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBSZW5k
ZXJPYmplY3QgKnIgPSBuLT5yZW5kZXJlcigpOwogICAgICAgICBpZiAoIXIpIHsKQEAgLTg3Miw5
ICs4NzMsOCBAQCBWaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBv
c2l0aW9uICZjKQogICAgICAgICAKICAgICAgICAgaWYgKHItPmlzQlIoKSB8fCBpc0Jsb2NrKG4p
KQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKKwogICAgICAgICAvLyBGSVhNRTog
V2UgYXZvaWQgcmV0dXJuaW5nIGEgcG9zaXRpb24gd2hlcmUgdGhlIHJlbmRlcmVyIGNhbid0IGFj
Y2VwdCB0aGUgY2FyZXQuCi0gICAgICAgIC8vIFdlIHNob3VsZCBwcm9iYWJseSBkbyB0aGlzIGlu
IG90aGVyIGNhc2VzIHN1Y2ggYXMgc3RhcnRPZlBhcmFncmFwaC4KICAgICAgICAgaWYgKHItPmlz
VGV4dCgpICYmIHItPmNhcmV0TWF4UmVuZGVyZWRPZmZzZXQoKSA+IDApIHsKICAgICAgICAgICAg
IGludCBsZW5ndGggPSB0b1JlbmRlclRleHQociktPnRleHRMZW5ndGgoKTsKICAgICAgICAgICAg
IGlmIChzdHlsZS0+cHJlc2VydmVOZXdsaW5lKCkpIHsKQEAgLTkxNCwxNCArOTE0LDE0IEBAIGJv
b2wgaW5TYW1lUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmYSwgY29uc3QgVmlzaWJs
ZVBvc2l0aW9uICZiKQogICAgIHJldHVybiBhLmlzTm90TnVsbCgpICYmIHN0YXJ0T2ZQYXJhZ3Jh
cGgoYSkgPT0gc3RhcnRPZlBhcmFncmFwaChiKTsKIH0KIAotYm9vbCBpc1N0YXJ0T2ZQYXJhZ3Jh
cGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZwb3MpCitib29sIGlzU3RhcnRPZlBhcmFncmFwaChj
b25zdCBWaXNpYmxlUG9zaXRpb24gJnBvcywgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFyeUNyb3Nz
aW5nUnVsZSBib3VuZGFyeUNyb3NzaW5nUnVsZSkKIHsKLSAgICByZXR1cm4gcG9zLmlzTm90TnVs
bCgpICYmIHBvcyA9PSBzdGFydE9mUGFyYWdyYXBoKHBvcyk7CisgICAgcmV0dXJuIHBvcy5pc05v
dE51bGwoKSAmJiBwb3MgPT0gc3RhcnRPZlBhcmFncmFwaChwb3MsIGJvdW5kYXJ5Q3Jvc3NpbmdS
dWxlKTsKIH0KIAotYm9vbCBpc0VuZE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
cG9zKQorYm9vbCBpc0VuZE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcG9zLCBQ
b3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIGJvdW5kYXJ5Q3Jvc3NpbmdSdWxl
KQogewotICAgIHJldHVybiBwb3MuaXNOb3ROdWxsKCkgJiYgcG9zID09IGVuZE9mUGFyYWdyYXBo
KHBvcyk7CisgICAgcmV0dXJuIHBvcy5pc05vdE51bGwoKSAmJiBwb3MgPT0gZW5kT2ZQYXJhZ3Jh
cGgocG9zLCBib3VuZGFyeUNyb3NzaW5nUnVsZSk7CiB9CiAKIFZpc2libGVQb3NpdGlvbiBwcmV2
aW91c1BhcmFncmFwaFBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcCwgaW50IHgpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oIGIvV2ViQ29yZS9lZGl0
aW5nL3Zpc2libGVfdW5pdHMuaAppbmRleCBhMjBiNTg4ODk3NWVmN2NiNTM5MDgyZjBlYmRmNDlk
YmU4ZDI5YzkzLi5mNzhmOWQxNDlmZTgzMWY4OTgwMzQxM2JlNTFiMzBlZDk1ODI4MWFhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCisrKyBiL1dlYkNvcmUvZWRp
dGluZy92aXNpYmxlX3VuaXRzLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgdmlzaWJsZV91
bml0c19oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBvc2l0aW9uLmgiCiAj
aW5jbHVkZSAiVGV4dEFmZmluaXR5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYwLDE0
ICs2MSwxNCBAQCBWaXNpYmxlUG9zaXRpb24gbG9naWNhbFN0YXJ0T2ZMaW5lKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmKTsKIFZpc2libGVQb3NpdGlvbiBsb2dpY2FsRW5kT2ZMaW5lKGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmKTsKIAogLy8gcGFyYWdyYXBocyAocGVyaGFwcyBhIG1pc25vbWVyLCBj
YW4gYmUgZGl2aWRlZCBieSBsaW5lIGJyZWFrIGVsZW1lbnRzKQotVmlzaWJsZVBvc2l0aW9uIHN0
YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7Ci1WaXNpYmxlUG9zaXRpb24g
ZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CitWaXNpYmxlUG9zaXRpb24g
c3RhcnRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBQb3NpdGlvbjo6RWRpdGlu
Z0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gUG9zaXRpb246OkNhbm5vdENyb3NzRWRpdGluZ0JvdW5k
YXJ5KTsKK1Zpc2libGVQb3NpdGlvbiBlbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRp
b24mLCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlID0gUG9zaXRpb246OkNh
bm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKIFZpc2libGVQb3NpdGlvbiBzdGFydE9mTmV4dFBh
cmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKIFZpc2libGVQb3NpdGlvbiBwcmV2aW91
c1BhcmFncmFwaFBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBpbnQgeCk7CiBWaXNp
YmxlUG9zaXRpb24gbmV4dFBhcmFncmFwaFBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAm
LCBpbnQgeCk7Citib29sIGlzU3RhcnRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24g
JiwgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IFBvc2l0aW9uOjpDYW5u
b3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7Citib29sIGlzRW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlz
aWJsZVBvc2l0aW9uICYsIFBvc2l0aW9uOjpFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBQ
b3NpdGlvbjo6Q2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogYm9vbCBpblNhbWVQYXJhZ3Jh
cGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLWJv
b2wgaXNTdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsKLWJvb2wgaXNF
bmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7CiAKIC8vIGJsb2NrcyAodHJ1
ZSBwYXJhZ3JhcGhzOyBsaW5lIGJyZWFrIGVsZW1lbnRzIGRvbid0IGJyZWFrIGJsb2NrcykKIFZp
c2libGVQb3NpdGlvbiBzdGFydE9mQmxvY2soY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72383</attachid>
            <date>2010-10-29 13:46:21 -0700</date>
            <delta_ts>2010-10-29 14:47:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48658-20101029134620.patch</filename>
            <type>text/plain</type>
            <size>13680</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMmU4MWM5ZjZhYzcwMDQxYmI1YWUwZDgzMDAzOTNkYTExMTA3MWJmLi45ZjhhMTdh
MDlkNTllY2E0MzZkZTQ2MDk2Njc4Yzc2ZDYzYTkwMjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMjkgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlbGV0aW5nIGNvbnRl
bnRlZGl0YWJsZSB0ZXh0IHRvIHRoZSBsZWZ0IG9mIGEgbm9uLWNvbnRlbnRlZGl0YWJsZSBzcGFu
IGluc2VydHMgdW5uZWNlc3NhcnkgcGxhY2Vob2xkZXIgPGJyLz4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4NjU4CisKKyAgICAgICAgKiBlZGl0aW5n
L2RlbGV0aW5nLzUzOTA2ODEtZXhwZWN0ZWQudHh0OiBVcGRhdGUgdGVzdCBmb3IgY2hhbmdlZCBi
ZWhhdmlvdXIuCisgICAgICAgICogZWRpdGluZy9kZWxldGluZy81MzkwNjgxLmh0bWw6IERpdHRv
ICh1cGRhdGUgY29tbWVudCkuCisgICAgICAgICogZWRpdGluZy9kZWxldGluZy9kZWxldGUtbWl4
ZWQtZWRpdGFibGUtY29udGVudC0wMDEtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0OiBE
aXR0by4KKwogMjAxMC0xMC0yOCAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZml4IGZvciB0ZXN0X2V4cGVjdGF0aW9u
cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvNTM5MDY4MS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nLzUzOTA2ODEtZXhwZWN0ZWQu
dHh0CmluZGV4IDg5NzcyMzhiYWQyM2I2MGUzODEzODE2ZDAwZTBiYzc3YzQzZWMyNWUuLjIzMjk3
NzU2MjBkYTJiMzdiYjY4MWUxNjY2Zjk3MDEyZThjYTljMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvZGVsZXRpbmcvNTM5MDY4MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9kZWxldGluZy81MzkwNjgxLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAK
LVRoaXMgdGVzdHMgZm9yIGEgYnVnIHdoZXJlIGV4cGFuc2lvbiBmb3Igc21hcnQgZGVsZXRlIHdv
dWxkIG5vdCBjb25zaWRlciBlZGl0YWJsZSBib3VuZGFyaWVzLiAgT25seSAnZm9vJyBzaG91bGQg
YmUgZGVsZXRlZC4gIFlvdSBzaG91bGQgc2VlICcgYmFyJy4gIFRoZXJlIGlzIGEgYnVnOiB3aGls
ZSB0aGUgbm9uLWVkaXRhYmxlIHNwYWNlIGlzbid0IGRlbGV0ZWQsIGRlbGV0aW9uIGluc2VydHMg
YSBwbGFjZWhvbGRlciB3aGVuIGl0IHNob3VsZG4ndC4KLXwgPGJyPgorVGhpcyB0ZXN0cyBmb3Ig
YSBidWcgd2hlcmUgZXhwYW5zaW9uIGZvciBzbWFydCBkZWxldGUgd291bGQgbm90IGNvbnNpZGVy
IGVkaXRhYmxlIGJvdW5kYXJpZXMuICBPbmx5ICdmb28nIHNob3VsZCBiZSBkZWxldGVkLiAgWW91
IHNob3VsZCBzZWUgJyBiYXInLgogfCA8c3Bhbj4KIHwgICBjb250ZW50ZWRpdGFibGU9ImZhbHNl
IgogfCAgICIgYmFyIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy81
MzkwNjgxLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nLzUzOTA2ODEuaHRtbApp
bmRleCA1Y2U1Mjc2ZGY1MDUyODEyMjFlODk1N2E4ZjhhYmM5MTY1MTdhNWMyLi42OGQ2MDNhZDkw
NmI0MTEzYWRkMjdiZDFmZDUzMzBmZmEzMzBmYmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2RlbGV0aW5nLzUzOTA2ODEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Rl
bGV0aW5nLzUzOTA2ODEuaHRtbApAQCAtNiw2ICs2LDYgQEAgdmFyIHNlbCA9IHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKTsKIHNlbC5zZXRQb3NpdGlvbihkaXYsIDApOwogc2VsLm1vZGlmeSgiZXh0ZW5k
IiwgImZvcndhcmQiLCAid29yZCIpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkRlbGV0ZSIpOwot
TWFya3VwLmRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIGZvciBhIGJ1ZyB3aGVyZSBleHBhbnNpb24g
Zm9yIHNtYXJ0IGRlbGV0ZSB3b3VsZCBub3QgY29uc2lkZXIgZWRpdGFibGUgYm91bmRhcmllcy4g
IE9ubHkgJ2Zvbycgc2hvdWxkIGJlIGRlbGV0ZWQuICBZb3Ugc2hvdWxkIHNlZSAnIGJhcicuICBU
aGVyZSBpcyBhIGJ1Zzogd2hpbGUgdGhlIG5vbi1lZGl0YWJsZSBzcGFjZSBpc24ndCBkZWxldGVk
LCBkZWxldGlvbiBpbnNlcnRzIGEgcGxhY2Vob2xkZXIgd2hlbiBpdCBzaG91bGRuJ3QuIik7CitN
YXJrdXAuZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgZm9yIGEgYnVnIHdoZXJlIGV4cGFuc2lvbiBm
b3Igc21hcnQgZGVsZXRlIHdvdWxkIG5vdCBjb25zaWRlciBlZGl0YWJsZSBib3VuZGFyaWVzLiAg
T25seSAnZm9vJyBzaG91bGQgYmUgZGVsZXRlZC4gIFlvdSBzaG91bGQgc2VlICcgYmFyJy4iKTsK
IE1hcmt1cC5kdW1wKGRpdik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvZGVsZXRpbmcvZGVsZXRlLW1peGVkLWVkaXRhYmxlLWNvbnRlbnQtMDAxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLW1peGVkLWVkaXRhYmxl
LWNvbnRlbnQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCBmYzJkMjhmYTZmZmUwZTcxOGIwN2NhM2I2
NGRkZmUwYjYxNzliYTVhLi4xOTZjNjc3MjRkZWM3ZWEwM2QzZjg4OTEyOTkwMDdmODVlMjZkYjFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1taXhlZC1l
ZGl0YWJsZS1jb250ZW50LTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtbWl4ZWQtZWRpdGFibGUtY29udGVudC0wMDEtZXhwZWN0ZWQudHh0
CkBAIC0xNCw3ICsxNCw2IEBAIENvbmZpcm0gbm8gY3Jhc2ggd2hlbiBzZWxlY3RpbmcgYWxsIHRl
eHQgd2l0aCBtaXhlZCBlZGl0YWJpbGl0eS4KIHwgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIK
IHwgICAgIGlkPSJ0ZXN0IgogfCAgICAgPCNzZWxlY3Rpb24tY2FyZXQ+Ci18ICAgICA8YnI+CiB8
ICAgIgogIgogfCAiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
Y29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL2NvcHktYmFja3NsYXNoLXdpdGgtZXVjLWV4cGVjdGVkLnR4dAppbmRleCA4
YzAxYzk0YmFlM2Y2MWRjYzA3ZjI4OWE4ZjMwYmZhYjkyNDI3NDEyLi4wZjJlN2E4MWM2MDdlZTcy
NjgwZmZmYjhiYjY5ODgyM2Y3YTMyNGZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvY29weS1iYWNrc2xhc2gtd2l0aC1ldWMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWJhY2tzbGFzaC13aXRoLWV1Yy1leHBl
Y3RlZC50eHQKQEAgLTksMTMgKzksMTAgQEAgVGV4dHMgaW4gdGhlIEVVQyBmcmFtZSB3aWxsIGJl
IHBhc3RlZCBoZXJlCiAKIGZyb20gRVVDIGRpdiB0byBVVEY4IHRleHQtY29udHJvbDogCiBmcm9t
IEVVQyBkaXYgdG8gVVRGOCBjb250ZW50LWVkaXRhYmxlOiBcIGZyb20gRVVDIHBhZ2UKLQogZnJv
bSBFVUMgdHJhbnNmb3JtIHRvIFVURjggdGV4dC1jb250cm9sOiAKIGZyb20gRVVDIHRyYW5zZm9y
bSB0byBVVEY4IGNvbnRlbnQtZWRpdGFibGU6IFwgRlJPTSBFVUMgUEFHRSAoVFJBTlNGT1JNRUQp
Ci0KIGZyb20gRVVDIHNlY3VyZSB0byBVVEY4IHRleHQtY29udHJvbDogCiBmcm9tIEVVQyBzZWN1
cmUgdG8gVVRGOCBjb250ZW50LWVkaXRhYmxlOiDigKLigKLigKLigKLigKLigKLigKLigKLigKLi
gKLigKLigKLigKLigKLigKLigKLigKLigKLigKLigKLigKLigKLigKLigKIKLQogZnJvbSBFVUMg
Y29udHJvbCB0byBVVEY4IHRleHQtY29udHJvbDogCiBmcm9tIEVVQyBjb250cm9sIHRvIFVURjgg
Y29udGVudC1lZGl0YWJsZTogXCBmcm9tIEVVQyB0ZXh0IGNvbnRyb2wKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MDI3NDA3Njg2Mzdj
YzliZjM3ZGM0YTFjYjI2OTY3YmQwNmExZGRhLi5hNGEwNzE4YmI0ZDRkZDRmZWY3NDYyYTA5NDVm
MDUzMDlhYmIwZGY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTEwLTI5ICBCZW5qYW1pbiBLYWxtYW4g
IDxrYWxtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEZWxldGluZyBjb250ZW50ZWRpdGFibGUgdGV4dCB0byB0aGUgbGVmdCBv
ZiBhIG5vbi1jb250ZW50ZWRpdGFibGUgc3BhbiBpbnNlcnRzIHVubmVjZXNzYXJ5IHBsYWNlaG9s
ZGVyIDxici8+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00ODY1OAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFVwZGF0ZSBpc3tTdGFydCxFbmR9
T2ZQYXJhZ3JhcGggc3ltYm9scy4KKyAgICAgICAgKiBlZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNv
bW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9B
cHBseSk6IENyb3NzIGVkaXRhYmlsaXR5IGJvdW5kYXJpZXMgd2hlbiBkZXRlcm1pbmluZyB3aGV0
aGVyIHRvIGluc2VydCBwbGFjZWhvbGRlci4KKyAgICAgICAgKiBlZGl0aW5nL3Zpc2libGVfdW5p
dHMuY3BwOiBBbGxvdyBlZGl0YWJpbGl0eSBib3VuZGFyeSB0byBiZSBjcm9zc2VkIGluIHtzdGFy
dCxlbmQsaXNTdGFydCxpc0VuZH1PZlBhcmFncmFwaC4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0
T2ZQYXJhZ3JhcGgpOiBBbHNvLCBhdm9pZCByZXR1cm5pbmcgYSBwb3NpdGlvbiB3aGVyZSByZW5k
ZXJlciBjYW4ndCBhY2NlcHQgY2FyZXQsIGxpa2UgaW4gZW5kT2ZQYXJhZ3JhcGguCisgICAgICAg
IChXZWJDb3JlOjplbmRPZlBhcmFncmFwaCk6CisgICAgICAgIChXZWJDb3JlOjppc1N0YXJ0T2ZQ
YXJhZ3JhcGgpOgorICAgICAgICAoV2ViQ29yZTo6aXNFbmRPZlBhcmFncmFwaCk6CisgICAgICAg
ICogZWRpdGluZy92aXNpYmxlX3VuaXRzLmg6IERpdHRvLgorCiAyMDEwLTEwLTI4ICBKaWEgUHUg
IDxqcHVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCAzOWU2YjM2NjI5YTlkZGFhMDcxZjQ1YTYzNDA5ZTRmODRjNzdkZmZiLi42NmRjNTk0
Y2ZlOThkMjI5YmY2ZTkwZDY5NmQzOGMwZGY4ZTJjNzkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTQxNyw3ICs0MTcs
NyBAQCBfX1pON1dlYkNvcmUxNmNyZWF0ZUZ1bGxNYXJrdXBFUEtOU180Tm9kZUUKIF9fWk43V2Vi
Q29yZTE2Y3JlYXRlRnVsbE1hcmt1cEVQS05TXzVSYW5nZUUKIF9fWk43V2ViQ29yZTE2ZW5jbG9z
aW5nSW50UmVjdEVSSzdfTlNSZWN0CiBfX1pON1dlYkNvcmUxNmVuY2xvc2luZ0ludFJlY3RFUktO
U185RmxvYXRSZWN0RQotX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBoRVJLTlNfMTVWaXNp
YmxlUG9zaXRpb25FCitfX1pON1dlYkNvcmUxNmlzRW5kT2ZQYXJhZ3JhcGhFUktOU18xNVZpc2li
bGVQb3NpdGlvbkVOU184UG9zaXRpb24yN0VkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZUUKIF9f
Wk43V2ViQ29yZTE2anNTdHJpbmdTbG93Q2FzZUVQTjNKU0M5RXhlY1N0YXRlRVJOUzBfOVdlYWtH
Q01hcElQTjNXVEYxMFN0cmluZ0ltcGxFUE5TMF84SlNTdHJpbmdFRUVTNl8KIF9fWk43V2ViQ29y
ZTE3Q3JlZGVudGlhbFN0b3JhZ2UzZ2V0RVJLTlNfMTVQcm90ZWN0aW9uU3BhY2VFCiBfX1pON1dl
YkNvcmUxN0RPTUltcGxlbWVudGF0aW9uMTNpc1hNTE1JTUVUeXBlRVJLTjNXVEY2U3RyaW5nRQpA
QCAtNDI4LDcgKzQyOCw3IEBAIF9fWk43V2ViQ29yZTE3SGlzdG9yeUNvbnRyb2xsZXIyNnNhdmVE
b2N1bWVudEFuZFNjcm9sbFN0YXRlRXYKIF9fWk43V2ViQ29yZTE3bmFtZUZvckN1cnNvclR5cGVF
TlNfNkN1cnNvcjRUeXBlRQogX19aTjdXZWJDb3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVQS2NSaQog
X19aTjdXZWJDb3JlMThTZWFyY2hQb3B1cE1lbnVNYWNDMUVQTlNfMTVQb3B1cE1lbnVDbGllbnRF
Ci1fX1pON1dlYkNvcmUxOGlzU3RhcnRPZlBhcmFncmFwaEVSS05TXzE1VmlzaWJsZVBvc2l0aW9u
RQorX19aTjdXZWJDb3JlMThpc1N0YXJ0T2ZQYXJhZ3JhcGhFUktOU18xNVZpc2libGVQb3NpdGlv
bkVOU184UG9zaXRpb24yN0VkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZUUKIF9fWk43V2ViQ29y
ZTE4cGx1Z2luU2NyaXB0T2JqZWN0RVBOM0pTQzlFeGVjU3RhdGVFUE5TXzEzSlNIVE1MRWxlbWVu
dEUKIF9fWk43V2ViQ29yZTE4cHJveHlTZXJ2ZXJzRm9yVVJMRVJLTlNfNEtVUkxFUEtOU18xN05l
dHdvcmtpbmdDb250ZXh0RQogX19aTjdXZWJDb3JlMTlBbmltYXRpb25Db250cm9sbGVyMTZyZXN1
bWVBbmltYXRpb25zRVBOU184RG9jdW1lbnRFCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcv
RGVsZXRlU2VsZWN0aW9uQ29tbWFuZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0
aW9uQ29tbWFuZC5jcHAKaW5kZXggNGFjYTU3ZWEyMzFhYjlhNmQ1OTFlYzQ1NWRlYzVlNGQ1MWFk
YzFmZS4uMWY1NmRhNzA0ZjliN2QyOGI4NzEwYWI5OTBlNTE0Yjg1YWYyZGQ5OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNv
cmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNzU2LDkgKzc1Niw5IEBA
IHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgRUFmZmluaXR5IGFm
ZmluaXR5ID0gbV9zZWxlY3Rpb25Ub0RlbGV0ZS5hZmZpbml0eSgpOwogICAgIAogICAgIFBvc2l0
aW9uIGRvd25zdHJlYW1FbmQgPSBtX3NlbGVjdGlvblRvRGVsZXRlLmVuZCgpLmRvd25zdHJlYW0o
KTsKLSAgICBtX25lZWRQbGFjZWhvbGRlciA9IGlzU3RhcnRPZlBhcmFncmFwaChtX3NlbGVjdGlv
blRvRGVsZXRlLnZpc2libGVTdGFydCgpKSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgaXNF
bmRPZlBhcmFncmFwaChtX3NlbGVjdGlvblRvRGVsZXRlLnZpc2libGVFbmQoKSkgJiYKLSAgICAg
ICAgICAgICAgICAgICAgICAgICFsaW5lQnJlYWtFeGlzdHNBdFZpc2libGVQb3NpdGlvbihtX3Nl
bGVjdGlvblRvRGVsZXRlLnZpc2libGVFbmQoKSk7CisgICAgbV9uZWVkUGxhY2Vob2xkZXIgPSBp
c1N0YXJ0T2ZQYXJhZ3JhcGgobV9zZWxlY3Rpb25Ub0RlbGV0ZS52aXNpYmxlU3RhcnQoKSwgUG9z
aXRpb246OkNhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5KQorICAgICAgICAgICAgJiYgaXNFbmRPZlBh
cmFncmFwaChtX3NlbGVjdGlvblRvRGVsZXRlLnZpc2libGVFbmQoKSwgUG9zaXRpb246OkNhbkNy
b3NzRWRpdGluZ0JvdW5kYXJ5KQorICAgICAgICAgICAgJiYgIWxpbmVCcmVha0V4aXN0c0F0Vmlz
aWJsZVBvc2l0aW9uKG1fc2VsZWN0aW9uVG9EZWxldGUudmlzaWJsZUVuZCgpKTsKICAgICBpZiAo
bV9uZWVkUGxhY2Vob2xkZXIpIHsKICAgICAgICAgLy8gRG9uJ3QgbmVlZCBhIHBsYWNlaG9sZGVy
IHdoZW4gZGVsZXRpbmcgYSBzZWxlY3Rpb24gdGhhdCBzdGFydHMganVzdCBiZWZvcmUgYSB0YWJs
ZQogICAgICAgICAvLyBhbmQgZW5kcyBpbnNpZGUgaXQgKHdlIGRvIG5lZWQgcGxhY2Vob2xkZXJz
IHRvIGhvbGQgb3BlbiBlbXB0eSBjZWxscywgYnV0IHRoYXQncwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5p
dHMuY3BwCmluZGV4IGQ5Y2EyMjMzODYwOTkwYTA3MGJmMjU2NGIzMzJhODRhOWM5OThjMzcuLjhi
MTEwMTM3YzQxZTRkNjM3NGFhODFiNGJlMzNkMmEwMDMyYmVkZDcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvdmlzaWJs
ZV91bml0cy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJQb3Np
dGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKQEAgLTc3OSw3ICs3ODAsNyBAQCBWaXNpYmxl
UG9zaXRpb24gbmV4dFNlbnRlbmNlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQog
ICAgIHJldHVybiBjLmhvbm9yRWRpdGFibGVCb3VuZGFyeUF0T3JCZWZvcmUobmV4dCk7CiB9CiAK
LVZpc2libGVQb3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
YykKK1Zpc2libGVQb3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlv
biYgYywgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBib3VuZGFyeUNyb3Nz
aW5nUnVsZSkKIHsKICAgICBQb3NpdGlvbiBwID0gYy5kZWVwRXF1aXZhbGVudCgpOwogICAgIE5v
ZGUgKnN0YXJ0Tm9kZSA9IHAubm9kZSgpOwpAQCAtNzk3LDcgKzc5OCw3IEBAIFZpc2libGVQb3Np
dGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgYykKIAogICAgIE5v
ZGUgKm4gPSBzdGFydE5vZGU7CiAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgaWYgKG4tPmlzQ29u
dGVudEVkaXRhYmxlKCkgIT0gc3RhcnROb2RlLT5pc0NvbnRlbnRFZGl0YWJsZSgpKQorICAgICAg
ICBpZiAoYm91bmRhcnlDcm9zc2luZ1J1bGUgPT0gUG9zaXRpb246OkNhbm5vdENyb3NzRWRpdGlu
Z0JvdW5kYXJ5ICYmIG4tPmlzQ29udGVudEVkaXRhYmxlKCkgIT0gc3RhcnROb2RlLT5pc0NvbnRl
bnRFZGl0YWJsZSgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIFJlbmRlck9iamVjdCAq
ciA9IG4tPnJlbmRlcmVyKCk7CiAgICAgICAgIGlmICghcikgewpAQCAtODEyLDggKzgxMyw4IEBA
IFZpc2libGVQb3NpdGlvbiBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
YykKICAgICAgICAgCiAgICAgICAgIGlmIChyLT5pc0JSKCkgfHwgaXNCbG9jayhuKSkKICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCi0gICAgICAgIGlmIChyLT5pc1RleHQoKSkgewor
CisgICAgICAgIGlmIChyLT5pc1RleHQoKSAmJiByLT5jYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkg
PiAwKSB7CiAgICAgICAgICAgICBpZiAoc3R5bGUtPnByZXNlcnZlTmV3bGluZSgpKSB7CiAgICAg
ICAgICAgICAgICAgY29uc3QgVUNoYXIqIGNoYXJzID0gdG9SZW5kZXJUZXh0KHIpLT5jaGFyYWN0
ZXJzKCk7CiAgICAgICAgICAgICAgICAgaW50IGkgPSB0b1JlbmRlclRleHQociktPnRleHRMZW5n
dGgoKTsKQEAgLTgzOCw3ICs4MzksNyBAQCBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZlBhcmFncmFw
aChjb25zdCBWaXNpYmxlUG9zaXRpb24mIGMpCiAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihu
b2RlLCBvZmZzZXQsIERPV05TVFJFQU0pOwogfQogCi1WaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJh
Z3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZjKQorVmlzaWJsZVBvc2l0aW9uIGVuZE9mUGFy
YWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmYywgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFy
eUNyb3NzaW5nUnVsZSBib3VuZGFyeUNyb3NzaW5nUnVsZSkKIHsgICAgCiAgICAgaWYgKGMuaXNO
dWxsKCkpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKQEAgLTg1Nyw3ICs4NTgs
NyBAQCBWaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9u
ICZjKQogCiAgICAgTm9kZSAqbiA9IHN0YXJ0Tm9kZTsKICAgICB3aGlsZSAobikgewotICAgICAg
ICBpZiAobi0+aXNDb250ZW50RWRpdGFibGUoKSAhPSBzdGFydE5vZGUtPmlzQ29udGVudEVkaXRh
YmxlKCkpCisgICAgICAgIGlmIChib3VuZGFyeUNyb3NzaW5nUnVsZSA9PSBQb3NpdGlvbjo6Q2Fu
bm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkgJiYgbi0+aXNDb250ZW50RWRpdGFibGUoKSAhPSBzdGFy
dE5vZGUtPmlzQ29udGVudEVkaXRhYmxlKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
UmVuZGVyT2JqZWN0ICpyID0gbi0+cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKCFyKSB7CkBAIC04
NzIsOSArODczLDggQEAgVmlzaWJsZVBvc2l0aW9uIGVuZE9mUGFyYWdyYXBoKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmYykKICAgICAgICAgCiAgICAgICAgIGlmIChyLT5pc0JSKCkgfHwgaXNCbG9j
ayhuKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCisKICAgICAgICAgLy8gRklY
TUU6IFdlIGF2b2lkIHJldHVybmluZyBhIHBvc2l0aW9uIHdoZXJlIHRoZSByZW5kZXJlciBjYW4n
dCBhY2NlcHQgdGhlIGNhcmV0LgotICAgICAgICAvLyBXZSBzaG91bGQgcHJvYmFibHkgZG8gdGhp
cyBpbiBvdGhlciBjYXNlcyBzdWNoIGFzIHN0YXJ0T2ZQYXJhZ3JhcGguCiAgICAgICAgIGlmIChy
LT5pc1RleHQoKSAmJiByLT5jYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgPiAwKSB7CiAgICAgICAg
ICAgICBpbnQgbGVuZ3RoID0gdG9SZW5kZXJUZXh0KHIpLT50ZXh0TGVuZ3RoKCk7CiAgICAgICAg
ICAgICBpZiAoc3R5bGUtPnByZXNlcnZlTmV3bGluZSgpKSB7CkBAIC05MTQsMTQgKzkxNCwxNCBA
QCBib29sIGluU2FtZVBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJmEsIGNvbnN0IFZp
c2libGVQb3NpdGlvbiAmYikKICAgICByZXR1cm4gYS5pc05vdE51bGwoKSAmJiBzdGFydE9mUGFy
YWdyYXBoKGEpID09IHN0YXJ0T2ZQYXJhZ3JhcGgoYik7CiB9CiAKLWJvb2wgaXNTdGFydE9mUGFy
YWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcG9zKQorYm9vbCBpc1N0YXJ0T2ZQYXJhZ3Jh
cGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZwb3MsIFBvc2l0aW9uOjpFZGl0aW5nQm91bmRhcnlD
cm9zc2luZ1J1bGUgYm91bmRhcnlDcm9zc2luZ1J1bGUpCiB7Ci0gICAgcmV0dXJuIHBvcy5pc05v
dE51bGwoKSAmJiBwb3MgPT0gc3RhcnRPZlBhcmFncmFwaChwb3MpOworICAgIHJldHVybiBwb3Mu
aXNOb3ROdWxsKCkgJiYgcG9zID09IHN0YXJ0T2ZQYXJhZ3JhcGgocG9zLCBib3VuZGFyeUNyb3Nz
aW5nUnVsZSk7CiB9CiAKLWJvb2wgaXNFbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRp
b24gJnBvcykKK2Jvb2wgaXNFbmRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJnBv
cywgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBib3VuZGFyeUNyb3NzaW5n
UnVsZSkKIHsKLSAgICByZXR1cm4gcG9zLmlzTm90TnVsbCgpICYmIHBvcyA9PSBlbmRPZlBhcmFn
cmFwaChwb3MpOworICAgIHJldHVybiBwb3MuaXNOb3ROdWxsKCkgJiYgcG9zID09IGVuZE9mUGFy
YWdyYXBoKHBvcywgYm91bmRhcnlDcm9zc2luZ1J1bGUpOwogfQogCiBWaXNpYmxlUG9zaXRpb24g
cHJldmlvdXNQYXJhZ3JhcGhQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHAsIGludCB4
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaCBiL1dlYkNvcmUv
ZWRpdGluZy92aXNpYmxlX3VuaXRzLmgKaW5kZXggYTIwYjU4ODg5NzVlZjdjYjUzOTA4MmYwZWJk
ZjQ5ZGJlOGQyOWM5My4uZjc4ZjlkMTQ5ZmU4MzFmODk4MDM0MTNiZTUxYjMwZWQ5NTgyODFhYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaAorKysgYi9XZWJDb3Jl
L2VkaXRpbmcvdmlzaWJsZV91bml0cy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIHZpc2li
bGVfdW5pdHNfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJQb3NpdGlvbi5o
IgogI2luY2x1ZGUgIlRleHRBZmZpbml0eS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02
MCwxNCArNjEsMTQgQEAgVmlzaWJsZVBvc2l0aW9uIGxvZ2ljYWxTdGFydE9mTGluZShjb25zdCBW
aXNpYmxlUG9zaXRpb24gJik7CiBWaXNpYmxlUG9zaXRpb24gbG9naWNhbEVuZE9mTGluZShjb25z
dCBWaXNpYmxlUG9zaXRpb24gJik7CiAKIC8vIHBhcmFncmFwaHMgKHBlcmhhcHMgYSBtaXNub21l
ciwgY2FuIGJlIGRpdmlkZWQgYnkgbGluZSBicmVhayBlbGVtZW50cykKLVZpc2libGVQb3NpdGlv
biBzdGFydE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOwotVmlzaWJsZVBvc2l0
aW9uIGVuZE9mUGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOworVmlzaWJsZVBvc2l0
aW9uIHN0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgUG9zaXRpb246OkVk
aXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IFBvc2l0aW9uOjpDYW5ub3RDcm9zc0VkaXRpbmdC
b3VuZGFyeSk7CitWaXNpYmxlUG9zaXRpb24gZW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiwgUG9zaXRpb246OkVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSA9IFBvc2l0aW9u
OjpDYW5ub3RDcm9zc0VkaXRpbmdCb3VuZGFyeSk7CiBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZk5l
eHRQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CiBWaXNpYmxlUG9zaXRpb24gcHJl
dmlvdXNQYXJhZ3JhcGhQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJiwgaW50IHgpOwog
VmlzaWJsZVBvc2l0aW9uIG5leHRQYXJhZ3JhcGhQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRp
b24gJiwgaW50IHgpOworYm9vbCBpc1N0YXJ0T2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0
aW9uICYsIFBvc2l0aW9uOjpFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGUgPSBQb3NpdGlvbjo6
Q2Fubm90Q3Jvc3NFZGl0aW5nQm91bmRhcnkpOworYm9vbCBpc0VuZE9mUGFyYWdyYXBoKGNvbnN0
IFZpc2libGVQb3NpdGlvbiAmLCBQb3NpdGlvbjo6RWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxl
ID0gUG9zaXRpb246OkNhbm5vdENyb3NzRWRpdGluZ0JvdW5kYXJ5KTsKIGJvb2wgaW5TYW1lUGFy
YWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmLCBjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7
Ci1ib29sIGlzU3RhcnRPZlBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9zaXRpb24gJik7Ci1ib29s
IGlzRW5kT2ZQYXJhZ3JhcGgoY29uc3QgVmlzaWJsZVBvc2l0aW9uICYpOwogCiAvLyBibG9ja3Mg
KHRydWUgcGFyYWdyYXBoczsgbGluZSBicmVhayBlbGVtZW50cyBkb24ndCBicmVhayBibG9ja3Mp
CiBWaXNpYmxlUG9zaXRpb24gc3RhcnRPZkJsb2NrKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>