<?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>120237</bug_id>
          
          <creation_ts>2013-08-23 14:44:26 -0700</creation_ts>
          <short_desc>Optimize FloatIntervalSearchAdapter::collectIfNeeded</short_desc>
          <delta_ts>2013-08-28 20:44:52 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>920456</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-08-23 14:44:26 -0700</bug_when>
    <thetext>Optimize FloatIntervalSearchAdapter::collectIfNeeded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920462</commentid>
    <comment_count>1</comment_count>
      <attachid>209515</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-08-23 15:04:10 -0700</bug_when>
    <thetext>Created attachment 209515
Patch

Port patches from Blink</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921093</commentid>
    <comment_count>2</comment_count>
      <attachid>209515</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-08-26 11:11:05 -0700</bug_when>
    <thetext>Comment on attachment 209515
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:20
&gt; +        significatly changed by using the outermost float instead of the last

Typo. &quot;significantly&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921138</commentid>
    <comment_count>3</comment_count>
      <attachid>209673</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-08-26 13:31:27 -0700</bug_when>
    <thetext>Created attachment 209673
Patch

Update for review comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921139</commentid>
    <comment_count>4</comment_count>
      <attachid>209673</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 13:33:57 -0700</bug_when>
    <thetext>Comment on attachment 209673
Patch

Rejecting attachment 209673 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 209673, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Dave Hyatt found in /Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/1584024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921149</commentid>
    <comment_count>5</comment_count>
      <attachid>209675</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-08-26 14:03:42 -0700</bug_when>
    <thetext>Created attachment 209675
Patch

Fix reviewer name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921165</commentid>
    <comment_count>6</comment_count>
      <attachid>209675</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 14:34:41 -0700</bug_when>
    <thetext>Comment on attachment 209675
Patch

Clearing flags on attachment: 209675

Committed r154641: &lt;http://trac.webkit.org/changeset/154641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921166</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 14:34:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922337</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-08-28 20:44:52 -0700</bug_when>
    <thetext>*** Bug 120452 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209515</attachid>
            <date>2013-08-23 15:04:10 -0700</date>
            <delta_ts>2013-08-26 13:31:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120237-20130823150427.patch</filename>
            <type>text/plain</type>
            <size>14619</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg0YjYwYjhiMTVhZjY3
MGVlZTQxNDZhYjZmMWFiNDllNDBiZjg5My4uYzBhZjg5YTY1NGUyNGU2NzI5MTkzZDY0YjgwMGZk
ZjRmYzI5MmRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTA4LTIzICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIE9wdGltaXplIEZsb2F0
SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpjb2xsZWN0SWZOZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDIzNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBwb3J0IG9mIDMgQmxpbmsg
cGF0Y2hlczoKKyAgICAgICAgaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy8yMjQ2MzAw
MiAoQnkgc2hhdGNoQGNocm9taXVtLm9yZykKKyAgICAgICAgaHR0cHM6Ly9jaHJvbWl1bWNvZGVy
ZXZpZXcuYXBwc3BvdC5jb20vMjI5MDkwMDUgKEJ5IG1lKQorICAgICAgICBodHRwczovL2Nocm9t
aXVtY29kZXJldmlldy5hcHBzcG90LmNvbS8yMzA4NDAwMiAoQnkgbWUpCisKKyAgICAgICAgc2hh
dGNoIG9wdGltaXplZCBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlciBieSBoYXZpbmcgaXQgc3Rv
cmUgdGhlCisgICAgICAgIG91dGVybW9zdCBmbG9hdCBpbnN0ZWFkIG9mIG1ha2luZyBhIGJ1bmNo
IG9mIGNhbGxzIHRvCisgICAgICAgIGxvZ2ljYWwoTGVmdC9SaWdodC9Cb3R0b20pRm9yRmxvYXQs
IGFuZCB0aGVuIG9ubHkgbWFraW5nIHRoYXQgY2FsbAorICAgICAgICBvbmNlIHdoZW4gaGVpZ2h0
UmVtYWluaW5nIG5lZWRzIHRvIGJlIGNvbXB1dGVkLgorCisgICAgICAgIEkgbm90aWNlZCB0aGF0
IG5vdyB3ZSB3ZXJlIHN0b3JpbmcgYm90aCB0aGUgbGFzdCBmbG9hdCBlbmNvdW50ZXJlZCBhbmQK
KyAgICAgICAgdGhlIG91dGVybW9zdCBmbG9hdCwgYW5kIHRoYXQgdGhlIGJlaGF2aW9yIGZvciBz
aGFwZS1vdXRzaWRlIHdhc24ndAorICAgICAgICBzaWduaWZpY2F0bHkgY2hhbmdlZCBieSB1c2lu
ZyB0aGUgb3V0ZXJtb3N0IGZsb2F0IGluc3RlYWQgb2YgdGhlIGxhc3QKKyAgICAgICAgZmxvYXQg
ZW5jb3VudGVyZWQgKGFuZCBpbiBtb3N0IGNhc2VzLCB1c2luZyB0aGUgb3V0ZXJtb3N0IGZsb2F0
IGdpdmVzCisgICAgICAgIG1vcmUgcmVhc29uYWJsZSBiZWhhdmlvcikuIFNpbmNlIHRoaXMgaXNu
J3QgY292ZXJlZCBpbiB0aGUgc3BlYyB5ZXQsIEkKKyAgICAgICAgY2hhbmdlZCBzaGFwZS1vdXRz
aWRlIHRvIHVzZSB0aGUgb3V0ZXJtb3N0IGZsb2F0LCBtYWtpbmcgaXQgc28gdGhhdCB3ZQorICAg
ICAgICBvbmx5IG5lZWQgdG8gc3RvcmUgb25lIGZsb2F0IHBvaW50ZXIgd2hlbiB3YWxraW5nIHRo
ZSBwbGFjZWQgZmxvYXRzCisgICAgICAgIHRyZWUsIGFuZCBrZWVwaW5nIHRoZSBwZXJmb3JtYW5j
ZSB3aW4uCisKKyAgICAgICAgQWxzbyB3aGlsZSBjaGFuZ2luZyB1cGRhdGVPZmZzZXRJZk5lZWRl
ZCwgcmVtb3ZlZCBjb25zdCwgc2luY2UgdGhhdCBpcworICAgICAgICBhIGxpZS4gTm90aGluZyBh
Ym91dCB0aGF0IG1ldGhvZCBpcyBjb25zdC4KKworICAgICAgICBUZXN0OiBmYXN0L3NoYXBlcy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ojo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Ojpjb2xsZWN0SWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6OjpnZXRIZWlnaHRSZW1haW5pbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0RmxvYXRPZmZzZXRGb3JMaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRGbG9hdE9mZnNldEZv
ckxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpGbG9hdEludGVy
dmFsU2VhcmNoQWRhcHRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJ
bnRlcnZhbFNlYXJjaEFkYXB0ZXI6Om91dGVybW9zdEZsb2F0KToKKwogMjAxMy0wOC0yMyAgWW9h
diBXZWlzcyAgPHlvYXZAeW9hdi53cz4KIAogICAgICAgICBGaXggc3Jjc2V0J3MgaW1hZ2UgY2Fu
ZGlkYXRlIGFsZ29yaXRobSB3aGVuIERQUiBleGNlZWRzIGFsbCBjYW5kaWRhdGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAwNTRkZDAyNDRiNDdkNTQ5ZmQw
MjY2MzIyMTQxMzhiMmU3MWE1YWY1Li5jNGJjMDQ1YTBlZDE5NDIzMGRmZDU4M2EyOGVhMGZmY2Iz
MjJlNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQ0
NDMsMjcgKzQ0NDMsMjkgQEAgaW5saW5lIHN0YXRpYyBib29sIHJhbmdlc0ludGVyc2VjdChpbnQg
ZmxvYXRUb3AsIGludCBmbG9hdEJvdHRvbSwgaW50IG9iamVjdFRvcCwKIH0KIAogdGVtcGxhdGU8
PgotaW5saW5lIGJvb2wgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPFJl
bmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVk
ZWQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0KSBjb25zdAoraW5saW5lIGJv
b2wgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPFJlbmRlckJsb2NrOjpG
bG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxv
YXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0KQogewotICAgIGlmIChtX3JlbmRlcmVyLT5sb2dp
Y2FsUmlnaHRGb3JGbG9hdChmbG9hdGluZ09iamVjdCkgPiBtX29mZnNldCkgewotICAgICAgICBt
X29mZnNldCA9IG1fcmVuZGVyZXItPmxvZ2ljYWxSaWdodEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0
KTsKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodCA9IG1fcmVuZGVyZXItPmxvZ2ljYWxSaWdo
dEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KTsKKyAgICBpZiAobG9naWNhbFJpZ2h0ID4gbV9vZmZz
ZXQpIHsKKyAgICAgICAgbV9vZmZzZXQgPSBsb2dpY2FsUmlnaHQ7CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBi
b29sIFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxSZW5kZXJCbG9jazo6
RmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQ+Ojp1cGRhdGVPZmZzZXRJZk5lZWRlZChjb25zdCBG
bG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QpIGNvbnN0CitpbmxpbmUgYm9vbCBSZW5kZXJC
bG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8UmVuZGVyQmxvY2s6OkZsb2F0aW5nT2Jq
ZWN0OjpGbG9hdFJpZ2h0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxvYXRpbmdPYmpl
Y3QqIGZsb2F0aW5nT2JqZWN0KQogewotICAgIGlmIChtX3JlbmRlcmVyLT5sb2dpY2FsTGVmdEZv
ckZsb2F0KGZsb2F0aW5nT2JqZWN0KSA8IG1fb2Zmc2V0KSB7Ci0gICAgICAgIG1fb2Zmc2V0ID0g
bV9yZW5kZXJlci0+bG9naWNhbExlZnRGb3JGbG9hdChmbG9hdGluZ09iamVjdCk7CisgICAgTGF5
b3V0VW5pdCBsb2dpY2FsTGVmdCA9IG1fcmVuZGVyZXItPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZmxv
YXRpbmdPYmplY3QpOworICAgIGlmIChsb2dpY2FsTGVmdCA8IG1fb2Zmc2V0KSB7CisgICAgICAg
IG1fb2Zmc2V0ID0gbG9naWNhbExlZnQ7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDxSZW5kZXJCbG9jazo6RmxvYXRpbmdPYmpl
Y3Q6OlR5cGUgRmxvYXRUeXBlVmFsdWU+Ci1pbmxpbmUgdm9pZCBSZW5kZXJCbG9jazo6RmxvYXRJ
bnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRUeXBlVmFsdWU+Ojpjb2xsZWN0SWZOZWVkZWQoY29u
c3QgSW50ZXJ2YWxUeXBlJiBpbnRlcnZhbCkgY29uc3QKK2lubGluZSB2b2lkIFJlbmRlckJsb2Nr
OjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5l
ZWRlZChjb25zdCBJbnRlcnZhbFR5cGUmIGludGVydmFsKQogewogICAgIGNvbnN0IEZsb2F0aW5n
T2JqZWN0KiBmbG9hdGluZ09iamVjdCA9IGludGVydmFsLmRhdGEoKTsKICAgICBpZiAoZmxvYXRp
bmdPYmplY3QtPnR5cGUoKSAhPSBGbG9hdFR5cGVWYWx1ZSB8fCAhcmFuZ2VzSW50ZXJzZWN0KGlu
dGVydmFsLmxvdygpLCBpbnRlcnZhbC5oaWdoKCksIG1fbG93VmFsdWUsIG1faGlnaFZhbHVlKSkK
QEAgLTQ0NzQsMTIgKzQ0NzYsMTQgQEAgaW5saW5lIHZvaWQgUmVuZGVyQmxvY2s6OkZsb2F0SW50
ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0VHlwZVZhbHVlPjo6Y29sbGVjdElmTmUKICAgICBBU1NF
UlQocmFuZ2VzSW50ZXJzZWN0KG1fcmVuZGVyZXItPnBpeGVsU25hcHBlZExvZ2ljYWxUb3BGb3JG
bG9hdChmbG9hdGluZ09iamVjdCksIG1fcmVuZGVyZXItPnBpeGVsU25hcHBlZExvZ2ljYWxCb3R0
b21Gb3JGbG9hdChmbG9hdGluZ09iamVjdCksIG1fbG93VmFsdWUsIG1faGlnaFZhbHVlKSk7CiAK
ICAgICBib29sIGZsb2F0SXNOZXdFeHRyZW1lID0gdXBkYXRlT2Zmc2V0SWZOZWVkZWQoZmxvYXRp
bmdPYmplY3QpOwotICAgIGlmIChmbG9hdElzTmV3RXh0cmVtZSAmJiBtX2hlaWdodFJlbWFpbmlu
ZykKLSAgICAgICAgKm1faGVpZ2h0UmVtYWluaW5nID0gbV9yZW5kZXJlci0+bG9naWNhbEJvdHRv
bUZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KSAtIG1fbG93VmFsdWU7CisgICAgaWYgKGZsb2F0SXNO
ZXdFeHRyZW1lKQorICAgICAgICBtX291dGVybW9zdEZsb2F0ID0gZmxvYXRpbmdPYmplY3Q7Cit9
CiAKLSNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAgICBtX2xhc3QgPSBmbG9hdGluZ09iamVjdDsK
LSNlbmRpZgordGVtcGxhdGUgPFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6VHlwZSBGbG9h
dFR5cGVWYWx1ZT4KK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hB
ZGFwdGVyPEZsb2F0VHlwZVZhbHVlPjo6Z2V0SGVpZ2h0UmVtYWluaW5nKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9vdXRlcm1vc3RGbG9hdCA/IG1fcmVuZGVyZXItPmxvZ2ljYWxCb3R0b21Gb3JG
bG9hdChtX291dGVybW9zdEZsb2F0KSAtIG1fbG93VmFsdWUgOiBMYXlvdXRVbml0KDEpOwogfQog
CiBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjp0ZXh0SW5kZW50T2Zmc2V0KCkgY29uc3QKQEAgLTQ1
MTksMTcgKzQ1MjMsMTcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRGbG9h
dE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXkKICNlbmRpZgogICAgIExh
eW91dFVuaXQgbGVmdCA9IGZpeGVkT2Zmc2V0OwogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAm
JiBtX2Zsb2F0aW5nT2JqZWN0cy0+aGFzTGVmdE9iamVjdHMoKSkgewotICAgICAgICBpZiAoaGVp
Z2h0UmVtYWluaW5nKQotICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IDE7Ci0KLSAgICAg
ICAgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdD4g
YWRhcHRlcih0aGlzLCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxU
b3AgKyBsb2dpY2FsSGVpZ2h0KSwgbGVmdCwgaGVpZ2h0UmVtYWluaW5nKTsKKyAgICAgICAgRmxv
YXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdD4gYWRhcHRl
cih0aGlzLCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3AgKyBs
b2dpY2FsSGVpZ2h0KSwgbGVmdCk7CiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRG
bG9hdHNUcmVlKCkuYWxsT3ZlcmxhcHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKIAorICAgICAgICBp
ZiAoaGVpZ2h0UmVtYWluaW5nKQorICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IGFkYXB0
ZXIuZ2V0SGVpZ2h0UmVtYWluaW5nKCk7CisKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAgICAg
ICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0KCk7
Ci0gICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQg
JiYgbGFzdEZsb2F0KSB7Ci0gICAgICAgICAgICBpZiAoU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVP
dXRzaWRlID0gbGFzdEZsb2F0LT5yZW5kZXJlcigpLT5zaGFwZU91dHNpZGVJbmZvKCkpIHsKLSAg
ICAgICAgICAgICAgICBzaGFwZU91dHNpZGUtPmNvbXB1dGVTZWdtZW50c0ZvckNvbnRhaW5pbmdC
bG9ja0xpbmUobG9naWNhbFRvcCwgbG9naWNhbFRvcEZvckZsb2F0KGxhc3RGbG9hdCksIGxvZ2lj
YWxIZWlnaHQpOworICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogb3V0ZXJtb3N0RmxvYXQg
PSBhZGFwdGVyLm91dGVybW9zdEZsb2F0KCk7CisgICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNo
YXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQgJiYgb3V0ZXJtb3N0RmxvYXQpIHsKKyAgICAgICAg
ICAgIGlmIChTaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGUgPSBvdXRlcm1vc3RGbG9hdC0+
cmVuZGVyZXIoKS0+c2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAgc2hhcGVP
dXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JDb250YWluaW5nQmxvY2tMaW5lKGxvZ2ljYWxUb3As
IGxvZ2ljYWxUb3BGb3JGbG9hdChvdXRlcm1vc3RGbG9hdCksIGxvZ2ljYWxIZWlnaHQpOwogICAg
ICAgICAgICAgICAgIGxlZnQgKz0gc2hhcGVPdXRzaWRlLT5yaWdodFNlZ21lbnRNYXJnaW5Cb3hE
ZWx0YSgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC00NTg2LDE4ICs0NTkwLDE4IEBA
IExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxSaWdodEZsb2F0T2Zmc2V0Rm9yTGluZShM
YXlvdXRVbml0IGxvZ2ljYWxUb3AsIExhCiAjZW5kaWYKICAgICBMYXlvdXRVbml0IHJpZ2h0ID0g
Zml4ZWRPZmZzZXQ7CiAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzICYmIG1fZmxvYXRpbmdPYmpl
Y3RzLT5oYXNSaWdodE9iamVjdHMoKSkgewotICAgICAgICBpZiAoaGVpZ2h0UmVtYWluaW5nKQot
ICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IDE7Ci0KICAgICAgICAgTGF5b3V0VW5pdCBy
aWdodEZsb2F0T2Zmc2V0ID0gZml4ZWRPZmZzZXQ7Ci0gICAgICAgIEZsb2F0SW50ZXJ2YWxTZWFy
Y2hBZGFwdGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdFJpZ2h0PiBhZGFwdGVyKHRoaXMsIHJvdW5k
VG9JbnQobG9naWNhbFRvcCksIHJvdW5kVG9JbnQobG9naWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQp
LCByaWdodEZsb2F0T2Zmc2V0LCBoZWlnaHRSZW1haW5pbmcpOworICAgICAgICBGbG9hdEludGVy
dmFsU2VhcmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRSaWdodD4gYWRhcHRlcih0aGlz
LCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3AgKyBsb2dpY2Fs
SGVpZ2h0KSwgcmlnaHRGbG9hdE9mZnNldCk7CiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5w
bGFjZWRGbG9hdHNUcmVlKCkuYWxsT3ZlcmxhcHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKIAorICAg
ICAgICBpZiAoaGVpZ2h0UmVtYWluaW5nKQorICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9
IGFkYXB0ZXIuZ2V0SGVpZ2h0UmVtYWluaW5nKCk7CisKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykK
LSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZs
b2F0KCk7Ci0gICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVP
ZmZzZXQgJiYgbGFzdEZsb2F0KSB7Ci0gICAgICAgICAgICBpZiAoU2hhcGVPdXRzaWRlSW5mbyog
c2hhcGVPdXRzaWRlID0gbGFzdEZsb2F0LT5yZW5kZXJlcigpLT5zaGFwZU91dHNpZGVJbmZvKCkp
IHsKLSAgICAgICAgICAgICAgICBzaGFwZU91dHNpZGUtPmNvbXB1dGVTZWdtZW50c0ZvckNvbnRh
aW5pbmdCbG9ja0xpbmUobG9naWNhbFRvcCwgbG9naWNhbFRvcEZvckZsb2F0KGxhc3RGbG9hdCks
IGxvZ2ljYWxIZWlnaHQpOworICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogb3V0ZXJtb3N0
RmxvYXQgPSBhZGFwdGVyLm91dGVybW9zdEZsb2F0KCk7CisgICAgICAgIGlmIChvZmZzZXRNb2Rl
ID09IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQgJiYgb3V0ZXJtb3N0RmxvYXQpIHsKKyAg
ICAgICAgICAgIGlmIChTaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGUgPSBvdXRlcm1vc3RG
bG9hdC0+cmVuZGVyZXIoKS0+c2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAg
c2hhcGVPdXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JDb250YWluaW5nQmxvY2tMaW5lKGxvZ2lj
YWxUb3AsIGxvZ2ljYWxUb3BGb3JGbG9hdChvdXRlcm1vc3RGbG9hdCksIGxvZ2ljYWxIZWlnaHQp
OwogICAgICAgICAgICAgICAgIHJpZ2h0RmxvYXRPZmZzZXQgKz0gc2hhcGVPdXRzaWRlLT5sZWZ0
U2VnbWVudE1hcmdpbkJveERlbHRhKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggMjQyY2NlNGFmNTlkMjliNjRmZGQx
ZjMzMWYzODAyZTE5Nzc3ZjVjNy4uMDNlMDdhMDU2ZTUxYjMyN2NhZDIwNmE2NmMyNjRiMmQ1ODAy
ODFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTEyMDgsNDgg
KzEyMDgsMzcgQEAgcHJvdGVjdGVkOgogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBGbG9h
dGluZ09iamVjdEludGVydmFsIEludGVydmFsVHlwZTsKICAgICAgICAgCi0gICAgICAgIEZsb2F0
SW50ZXJ2YWxTZWFyY2hBZGFwdGVyKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlciwgaW50IGxv
d1ZhbHVlLCBpbnQgaGlnaFZhbHVlLCBMYXlvdXRVbml0JiBvZmZzZXQsIExheW91dFVuaXQqIGhl
aWdodFJlbWFpbmluZykKKyAgICAgICAgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXIoY29uc3Qg
UmVuZGVyQmxvY2sqIHJlbmRlcmVyLCBpbnQgbG93VmFsdWUsIGludCBoaWdoVmFsdWUsIExheW91
dFVuaXQmIG9mZnNldCkKICAgICAgICAgICAgIDogbV9yZW5kZXJlcihyZW5kZXJlcikKICAgICAg
ICAgICAgICwgbV9sb3dWYWx1ZShsb3dWYWx1ZSkKICAgICAgICAgICAgICwgbV9oaWdoVmFsdWUo
aGlnaFZhbHVlKQogICAgICAgICAgICAgLCBtX29mZnNldChvZmZzZXQpCi0gICAgICAgICAgICAs
IG1faGVpZ2h0UmVtYWluaW5nKGhlaWdodFJlbWFpbmluZykKLSNpZiBFTkFCTEUoQ1NTX1NIQVBF
UykKLSAgICAgICAgICAgICwgbV9sYXN0KDApCi0jZW5kaWYKKyAgICAgICAgICAgICwgbV9vdXRl
cm1vc3RGbG9hdCgwKQogICAgICAgICB7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlu
bGluZSBpbnQgbG93VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2xvd1ZhbHVlOyB9CiAgICAgICAg
IGlubGluZSBpbnQgaGlnaFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9oaWdoVmFsdWU7IH0KLSAg
ICAgICAgdm9pZCBjb2xsZWN0SWZOZWVkZWQoY29uc3QgSW50ZXJ2YWxUeXBlJikgY29uc3Q7Cisg
ICAgICAgIHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVydmFsVHlwZSYpOwogCiAjaWYg
RU5BQkxFKENTU19TSEFQRVMpCiAgICAgICAgIC8vIFdoZW4gY29tcHV0aW5nIHRoZSBvZmZzZXQg
Y2F1c2VkIGJ5IHRoZSBmbG9hdHMgb24gYSBnaXZlbiBsaW5lLCBpZgogICAgICAgICAvLyB0aGUg
b3V0ZXJtb3N0IGZsb2F0IG9uIHRoYXQgbGluZSBoYXMgYSBzaGFwZS1vdXRzaWRlLCB0aGUgaW5s
aW5lCiAgICAgICAgIC8vIGNvbnRlbnQgdGhhdCBidXR0cyB1cCBhZ2FpbnN0IHRoYXQgZmxvYXQg
bXVzdCBiZSBwb3NpdGlvbmVkIHVzaW5nCiAgICAgICAgIC8vIHRoZSBjb250b3VycyBvZiB0aGUg
c2hhcGUsIG5vdCB0aGUgbWFyZ2luIGJveCBvZiB0aGUgZmxvYXQuCi0gICAgICAgIC8vIFdlIHNh
dmUgdGhlIGxhc3QgZmxvYXQgZW5jb3VudGVyZWQgc28gdGhhdCB0aGUgb2Zmc2V0IGNhbiBiZQot
ICAgICAgICAvLyBjb21wdXRlZCBjb3JyZWN0bHkgYnkgdGhlIGNvZGUgdXNpbmcgdGhpcyBhZGFw
dGVyLgotICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0KCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXN0OyB9CisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBvdXRlcm1vc3RG
bG9hdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3V0ZXJtb3N0RmxvYXQ7IH0KICNlbmRpZgogCisgICAg
ICAgIExheW91dFVuaXQgZ2V0SGVpZ2h0UmVtYWluaW5nKCkgY29uc3Q7CisKICAgICBwcml2YXRl
OgotICAgICAgICBib29sIHVwZGF0ZU9mZnNldElmTmVlZGVkKGNvbnN0IEZsb2F0aW5nT2JqZWN0
KikgY29uc3Q7CisgICAgICAgIGJvb2wgdXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxvYXRp
bmdPYmplY3QqKTsKIAogICAgICAgICBjb25zdCBSZW5kZXJCbG9jayogbV9yZW5kZXJlcjsKICAg
ICAgICAgaW50IG1fbG93VmFsdWU7CiAgICAgICAgIGludCBtX2hpZ2hWYWx1ZTsKICAgICAgICAg
TGF5b3V0VW5pdCYgbV9vZmZzZXQ7Ci0gICAgICAgIExheW91dFVuaXQqIG1faGVpZ2h0UmVtYWlu
aW5nOwotI2lmIEVOQUJMRShDU1NfU0hBUEVTKQotICAgICAgICAvLyBUaGlzIG1lbWJlciB2YXJp
YWJsZSBpcyBtdXRhYmxlIGJlY2F1c2UgdGhlIGNvbGxlY3RJZk5lZWRlZCBtZXRob2QKLSAgICAg
ICAgLy8gaXMgZGVjbGFyZWQgYXMgY29uc3QsIGV2ZW4gdGhvdWdoIGl0IGRvZXNuJ3QgYWN0dWFs
bHkgcmVzcGVjdCB0aGF0Ci0gICAgICAgIC8vIGNvbnRyYWN0LiBJdCBtb2RpZmllcyBvdGhlciBt
ZW1iZXIgdmFyaWFibGVzIHZpYSBsb29waG9sZXMgaW4gdGhlCi0gICAgICAgIC8vIGNvbnN0IGJl
aGF2aW9yLiBJbnN0ZWFkIG9mIHVzaW5nIGxvb3Bob2xlcywgSSBkZWNpZGVkIGl0IHdhcyBiZXR0
ZXIKLSAgICAgICAgLy8gdG8gbWFrZSB0aGUgZmFjdCB0aGF0IHRoaXMgaXMgbW9kaWZpZWQgaW4g
YSBjb25zdCBtZXRob2QgZXhwbGljaXQuCi0gICAgICAgIG11dGFibGUgY29uc3QgRmxvYXRpbmdP
YmplY3QqIG1fbGFzdDsKLSNlbmRpZgorICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogbV9v
dXRlcm1vc3RGbG9hdDsKICAgICB9OwogCiAgICAgdm9pZCBjcmVhdGVGbG9hdGluZ09iamVjdHMo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBlZTU1ZjVjNTkyOTRlYTk4NzExM2U3NzE1NzZkOTk2MmRmMzZhNjU2Li5lODIy
YzQzYzM2NDNiYzVhZWI3MWMwZGIxNGU1MDQyMDgzNGNjZmNlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTMtMDgtMjMgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CisKKyAg
ICAgICAgT3B0aW1pemUgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6OmNvbGxlY3RJZk5lZWRl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMjM3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBz
aGFwZS1vdXRzaWRlIGJlaGF2aW9yIHdoZW4gdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBmbG9hdCBv
biBhCisgICAgICAgIGdpdmVuIGxpbmUuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJtb3N0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTA4LTIzICBC
ZWFyIFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTE5ODY0PiBbQ1NTIFNoYXBlc10gUmVtb3ZlIGV4dHJhbmVvdXMgd2luZG93Lmlu
dGVybmFscyBjYWxscyBpbiBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLW91dGVy
bW9zdC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJtb3N0LWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzk1ZTM0NmM5MTQ0YWIxM2Q2YTE2Y2QzYTljZmQ4M2YwMzY2YjE5ZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtZmxvYXRzLW91dGVybW9zdC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorICAgIC5jb250YWluZXIgeworICAgICAg
ICBsaW5lLWhlaWdodDogMTAwcHg7CisgICAgICAgIGZvbnQ6IDEwMHB4LzEgQWhlbTsKKyAgICB9
CisgICAgLnNob3J0IHsKKyAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgIHdpZHRoOiA1MHB4
OworICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAgICAgIGNsZWFyOiBsZWZ0OworICAgICAgICBt
YXJnaW4tYm90dG9tOiAxMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAg
ICB9Cis8L3N0eWxlPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic2hvcnQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydCI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Ij48L2Rpdj4KKyAgICAgICAgWFhYWAor
ICAgIDwvZGl2PgorPC9ib2R5PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91
dHNpZGUtZmxvYXRzLW91dGVybW9zdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMDVjMzQxMTdjZjMzYTQ0
MzI2MDFiZjFiMDVhOThlMTRkZmQ4OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRl
cm1vc3QuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKyAg
ICAuY29udGFpbmVyIHsKKyAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OworICAgICAgICBmb250
OiAxMDBweC8xIEFoZW07CisgICAgfQorICAgIC5sb25nIHsKKyAgICAgICAgZmxvYXQ6IGxlZnQ7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAyMHB4OworICAgICAgICBt
YXJnaW4tYm90dG9tOiAxMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAg
ICAgICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMCwgMCwgNTAlLCAxMDAlKTsK
KyAgICB9CisgICAgLnNob3J0IHsKKyAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgIHdpZHRo
OiA1MHB4OworICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAgICAgIGNsZWFyOiBsZWZ0OworICAg
ICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFj
azsKKyAgICB9Cis8L3N0eWxlPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0ibG9uZyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNo
b3J0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnQiPjwvZGl2PgorICAgICAgICBY
WFhYCisgICAgPC9kaXY+Cis8L2JvZHk+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209673</attachid>
            <date>2013-08-26 13:31:27 -0700</date>
            <delta_ts>2013-08-26 14:03:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120237-20130826133126.patch</filename>
            <type>text/plain</type>
            <size>14567</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA1MjBmN2M0OTM3ODEx
NTk3ZGUwZDM1NWFkZTI4YTk3YWRlYzY2Mi4uOTM3NTc1Y2NhZTQ1YjBiMWM2ZWFkYWNkZDdmOGM1
ODUyZWQ1MDdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTA4LTIzICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIE9wdGltaXplIEZsb2F0
SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpjb2xsZWN0SWZOZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDIzNworCisgICAgICAgIFJldmlld2Vk
IGJ5IERhdmUgSHlhdHQuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQgb2YgMyBCbGluayBwYXRj
aGVzOgorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzIyNDYzMDAyIChC
eSBzaGF0Y2hAY2hyb21pdW0ub3JnKQorICAgICAgICBodHRwczovL2Nocm9taXVtY29kZXJldmll
dy5hcHBzcG90LmNvbS8yMjkwOTAwNSAoQnkgbWUpCisgICAgICAgIGh0dHBzOi8vY2hyb21pdW1j
b2RlcmV2aWV3LmFwcHNwb3QuY29tLzIzMDg0MDAyIChCeSBtZSkKKworICAgICAgICBzaGF0Y2gg
b3B0aW1pemVkIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyIGJ5IGhhdmluZyBpdCBzdG9yZSB0
aGUKKyAgICAgICAgb3V0ZXJtb3N0IGZsb2F0IGluc3RlYWQgb2YgbWFraW5nIGEgYnVuY2ggb2Yg
Y2FsbHMgdG8KKyAgICAgICAgbG9naWNhbChMZWZ0L1JpZ2h0L0JvdHRvbSlGb3JGbG9hdCwgYW5k
IHRoZW4gb25seSBtYWtpbmcgdGhhdCBjYWxsCisgICAgICAgIG9uY2Ugd2hlbiBoZWlnaHRSZW1h
aW5pbmcgbmVlZHMgdG8gYmUgY29tcHV0ZWQuCisKKyAgICAgICAgSSBub3RpY2VkIHRoYXQgbm93
IHdlIHdlcmUgc3RvcmluZyBib3RoIHRoZSBsYXN0IGZsb2F0IGVuY291bnRlcmVkIGFuZAorICAg
ICAgICB0aGUgb3V0ZXJtb3N0IGZsb2F0LCBhbmQgdGhhdCB0aGUgYmVoYXZpb3IgZm9yIHNoYXBl
LW91dHNpZGUgd2Fzbid0CisgICAgICAgIHNpZ25pZmljYW50bHkgY2hhbmdlZCBieSB1c2luZyB0
aGUgb3V0ZXJtb3N0IGZsb2F0IGluc3RlYWQgb2YgdGhlIGxhc3QKKyAgICAgICAgZmxvYXQgZW5j
b3VudGVyZWQgKGFuZCBpbiBtb3N0IGNhc2VzLCB1c2luZyB0aGUgb3V0ZXJtb3N0IGZsb2F0IGdp
dmVzCisgICAgICAgIG1vcmUgcmVhc29uYWJsZSBiZWhhdmlvcikuIFNpbmNlIHRoaXMgaXNuJ3Qg
Y292ZXJlZCBpbiB0aGUgc3BlYyB5ZXQsIEkKKyAgICAgICAgY2hhbmdlZCBzaGFwZS1vdXRzaWRl
IHRvIHVzZSB0aGUgb3V0ZXJtb3N0IGZsb2F0LCBtYWtpbmcgaXQgc28gdGhhdCB3ZQorICAgICAg
ICBvbmx5IG5lZWQgdG8gc3RvcmUgb25lIGZsb2F0IHBvaW50ZXIgd2hlbiB3YWxraW5nIHRoZSBw
bGFjZWQgZmxvYXRzCisgICAgICAgIHRyZWUsIGFuZCBrZWVwaW5nIHRoZSBwZXJmb3JtYW5jZSB3
aW4uCisKKyAgICAgICAgQWxzbyB3aGlsZSBjaGFuZ2luZyB1cGRhdGVPZmZzZXRJZk5lZWRlZCwg
cmVtb3ZlZCBjb25zdCwgc2luY2UgdGhhdCBpcworICAgICAgICBhIGxpZS4gTm90aGluZyBhYm91
dCB0aGF0IG1ldGhvZCBpcyBjb25zdC4KKworICAgICAgICBUZXN0OiBmYXN0L3NoYXBlcy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QuaHRtbAorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ojo6
dXBkYXRlT2Zmc2V0SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Ojpjb2xsZWN0SWZOZWVk
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6OjpnZXRIZWlnaHRSZW1haW5pbmcpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0RmxvYXRPZmZzZXRGb3JMaW5lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRGbG9hdE9mZnNldEZvckxp
bmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpGbG9hdEludGVydmFs
U2VhcmNoQWRhcHRlcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6RmxvYXRJbnRl
cnZhbFNlYXJjaEFkYXB0ZXI6Om91dGVybW9zdEZsb2F0KToKKwogMjAxMy0wOC0yNiAgWmFuIERv
YmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJldHRpZnkgZ2VuZXJh
dGVkIGJ1aWxkIGd1YXJkcyBpbiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA2OTEzOWEzMzdmYTRkMDlkOGY4N2U4NzNk
ZjdhZmNkZjQyOThlYTcwLi5mN2I0YTExZTdlMjc0MjJlYWNhNDNjZTg2NDBkOTE1YTVjOTFjYWE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQ0MzksMjcg
KzQ0MzksMjkgQEAgaW5saW5lIHN0YXRpYyBib29sIHJhbmdlc0ludGVyc2VjdChpbnQgZmxvYXRU
b3AsIGludCBmbG9hdEJvdHRvbSwgaW50IG9iamVjdFRvcCwKIH0KIAogdGVtcGxhdGU8PgotaW5s
aW5lIGJvb2wgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPFJlbmRlckJs
b2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29u
c3QgRmxvYXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0KSBjb25zdAoraW5saW5lIGJvb2wgUmVu
ZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPFJlbmRlckJsb2NrOjpGbG9hdGlu
Z09iamVjdDo6RmxvYXRMZWZ0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxvYXRpbmdP
YmplY3QqIGZsb2F0aW5nT2JqZWN0KQogewotICAgIGlmIChtX3JlbmRlcmVyLT5sb2dpY2FsUmln
aHRGb3JGbG9hdChmbG9hdGluZ09iamVjdCkgPiBtX29mZnNldCkgewotICAgICAgICBtX29mZnNl
dCA9IG1fcmVuZGVyZXItPmxvZ2ljYWxSaWdodEZvckZsb2F0KGZsb2F0aW5nT2JqZWN0KTsKKyAg
ICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodCA9IG1fcmVuZGVyZXItPmxvZ2ljYWxSaWdodEZvckZs
b2F0KGZsb2F0aW5nT2JqZWN0KTsKKyAgICBpZiAobG9naWNhbFJpZ2h0ID4gbV9vZmZzZXQpIHsK
KyAgICAgICAgbV9vZmZzZXQgPSBsb2dpY2FsUmlnaHQ7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlPD4KLWlubGluZSBib29sIFJl
bmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxSZW5kZXJCbG9jazo6RmxvYXRp
bmdPYmplY3Q6OkZsb2F0UmlnaHQ+Ojp1cGRhdGVPZmZzZXRJZk5lZWRlZChjb25zdCBGbG9hdGlu
Z09iamVjdCogZmxvYXRpbmdPYmplY3QpIGNvbnN0CitpbmxpbmUgYm9vbCBSZW5kZXJCbG9jazo6
RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8UmVuZGVyQmxvY2s6OkZsb2F0aW5nT2JqZWN0OjpG
bG9hdFJpZ2h0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGZs
b2F0aW5nT2JqZWN0KQogewotICAgIGlmIChtX3JlbmRlcmVyLT5sb2dpY2FsTGVmdEZvckZsb2F0
KGZsb2F0aW5nT2JqZWN0KSA8IG1fb2Zmc2V0KSB7Ci0gICAgICAgIG1fb2Zmc2V0ID0gbV9yZW5k
ZXJlci0+bG9naWNhbExlZnRGb3JGbG9hdChmbG9hdGluZ09iamVjdCk7CisgICAgTGF5b3V0VW5p
dCBsb2dpY2FsTGVmdCA9IG1fcmVuZGVyZXItPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZmxvYXRpbmdP
YmplY3QpOworICAgIGlmIChsb2dpY2FsTGVmdCA8IG1fb2Zmc2V0KSB7CisgICAgICAgIG1fb2Zm
c2V0ID0gbG9naWNhbExlZnQ7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDxSZW5kZXJCbG9jazo6RmxvYXRpbmdPYmplY3Q6OlR5
cGUgRmxvYXRUeXBlVmFsdWU+Ci1pbmxpbmUgdm9pZCBSZW5kZXJCbG9jazo6RmxvYXRJbnRlcnZh
bFNlYXJjaEFkYXB0ZXI8RmxvYXRUeXBlVmFsdWU+Ojpjb2xsZWN0SWZOZWVkZWQoY29uc3QgSW50
ZXJ2YWxUeXBlJiBpbnRlcnZhbCkgY29uc3QKK2lubGluZSB2b2lkIFJlbmRlckJsb2NrOjpGbG9h
dEludGVydmFsU2VhcmNoQWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5lZWRlZChj
b25zdCBJbnRlcnZhbFR5cGUmIGludGVydmFsKQogewogICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0
KiBmbG9hdGluZ09iamVjdCA9IGludGVydmFsLmRhdGEoKTsKICAgICBpZiAoZmxvYXRpbmdPYmpl
Y3QtPnR5cGUoKSAhPSBGbG9hdFR5cGVWYWx1ZSB8fCAhcmFuZ2VzSW50ZXJzZWN0KGludGVydmFs
LmxvdygpLCBpbnRlcnZhbC5oaWdoKCksIG1fbG93VmFsdWUsIG1faGlnaFZhbHVlKSkKQEAgLTQ0
NzAsMTIgKzQ0NzIsMTQgQEAgaW5saW5lIHZvaWQgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxT
ZWFyY2hBZGFwdGVyPEZsb2F0VHlwZVZhbHVlPjo6Y29sbGVjdElmTmUKICAgICBBU1NFUlQocmFu
Z2VzSW50ZXJzZWN0KG1fcmVuZGVyZXItPnBpeGVsU25hcHBlZExvZ2ljYWxUb3BGb3JGbG9hdChm
bG9hdGluZ09iamVjdCksIG1fcmVuZGVyZXItPnBpeGVsU25hcHBlZExvZ2ljYWxCb3R0b21Gb3JG
bG9hdChmbG9hdGluZ09iamVjdCksIG1fbG93VmFsdWUsIG1faGlnaFZhbHVlKSk7CiAKICAgICBi
b29sIGZsb2F0SXNOZXdFeHRyZW1lID0gdXBkYXRlT2Zmc2V0SWZOZWVkZWQoZmxvYXRpbmdPYmpl
Y3QpOwotICAgIGlmIChmbG9hdElzTmV3RXh0cmVtZSAmJiBtX2hlaWdodFJlbWFpbmluZykKLSAg
ICAgICAgKm1faGVpZ2h0UmVtYWluaW5nID0gbV9yZW5kZXJlci0+bG9naWNhbEJvdHRvbUZvckZs
b2F0KGZsb2F0aW5nT2JqZWN0KSAtIG1fbG93VmFsdWU7CisgICAgaWYgKGZsb2F0SXNOZXdFeHRy
ZW1lKQorICAgICAgICBtX291dGVybW9zdEZsb2F0ID0gZmxvYXRpbmdPYmplY3Q7Cit9CiAKLSNp
ZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAgICBtX2xhc3QgPSBmbG9hdGluZ09iamVjdDsKLSNlbmRp
ZgordGVtcGxhdGUgPFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6VHlwZSBGbG9hdFR5cGVW
YWx1ZT4KK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVy
PEZsb2F0VHlwZVZhbHVlPjo6Z2V0SGVpZ2h0UmVtYWluaW5nKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9vdXRlcm1vc3RGbG9hdCA/IG1fcmVuZGVyZXItPmxvZ2ljYWxCb3R0b21Gb3JGbG9hdCht
X291dGVybW9zdEZsb2F0KSAtIG1fbG93VmFsdWUgOiBMYXlvdXRVbml0KDEpOwogfQogCiBMYXlv
dXRVbml0IFJlbmRlckJsb2NrOjp0ZXh0SW5kZW50T2Zmc2V0KCkgY29uc3QKQEAgLTQ1MTUsMTcg
KzQ1MTksMTcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRGbG9hdE9mZnNl
dEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXkKICNlbmRpZgogICAgIExheW91dFVu
aXQgbGVmdCA9IGZpeGVkT2Zmc2V0OwogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAmJiBtX2Zs
b2F0aW5nT2JqZWN0cy0+aGFzTGVmdE9iamVjdHMoKSkgewotICAgICAgICBpZiAoaGVpZ2h0UmVt
YWluaW5nKQotICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IDE7Ci0KLSAgICAgICAgRmxv
YXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdD4gYWRhcHRl
cih0aGlzLCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3AgKyBs
b2dpY2FsSGVpZ2h0KSwgbGVmdCwgaGVpZ2h0UmVtYWluaW5nKTsKKyAgICAgICAgRmxvYXRJbnRl
cnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdD4gYWRhcHRlcih0aGlz
LCByb3VuZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3AgKyBsb2dpY2Fs
SGVpZ2h0KSwgbGVmdCk7CiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRGbG9hdHNU
cmVlKCkuYWxsT3ZlcmxhcHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKIAorICAgICAgICBpZiAoaGVp
Z2h0UmVtYWluaW5nKQorICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IGFkYXB0ZXIuZ2V0
SGVpZ2h0UmVtYWluaW5nKCk7CisKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAgICAgICAgY29u
c3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0KCk7Ci0gICAg
ICAgIGlmIChvZmZzZXRNb2RlID09IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQgJiYgbGFz
dEZsb2F0KSB7Ci0gICAgICAgICAgICBpZiAoU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRl
ID0gbGFzdEZsb2F0LT5yZW5kZXJlcigpLT5zaGFwZU91dHNpZGVJbmZvKCkpIHsKLSAgICAgICAg
ICAgICAgICBzaGFwZU91dHNpZGUtPmNvbXB1dGVTZWdtZW50c0ZvckNvbnRhaW5pbmdCbG9ja0xp
bmUobG9naWNhbFRvcCwgbG9naWNhbFRvcEZvckZsb2F0KGxhc3RGbG9hdCksIGxvZ2ljYWxIZWln
aHQpOworICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogb3V0ZXJtb3N0RmxvYXQgPSBhZGFw
dGVyLm91dGVybW9zdEZsb2F0KCk7CisgICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNoYXBlT3V0
c2lkZUZsb2F0U2hhcGVPZmZzZXQgJiYgb3V0ZXJtb3N0RmxvYXQpIHsKKyAgICAgICAgICAgIGlm
IChTaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGUgPSBvdXRlcm1vc3RGbG9hdC0+cmVuZGVy
ZXIoKS0+c2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAgc2hhcGVPdXRzaWRl
LT5jb21wdXRlU2VnbWVudHNGb3JDb250YWluaW5nQmxvY2tMaW5lKGxvZ2ljYWxUb3AsIGxvZ2lj
YWxUb3BGb3JGbG9hdChvdXRlcm1vc3RGbG9hdCksIGxvZ2ljYWxIZWlnaHQpOwogICAgICAgICAg
ICAgICAgIGxlZnQgKz0gc2hhcGVPdXRzaWRlLT5yaWdodFNlZ21lbnRNYXJnaW5Cb3hEZWx0YSgp
OwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC00NTgyLDE4ICs0NTg2LDE4IEBAIExheW91
dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxSaWdodEZsb2F0T2Zmc2V0Rm9yTGluZShMYXlvdXRV
bml0IGxvZ2ljYWxUb3AsIExhCiAjZW5kaWYKICAgICBMYXlvdXRVbml0IHJpZ2h0ID0gZml4ZWRP
ZmZzZXQ7CiAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzICYmIG1fZmxvYXRpbmdPYmplY3RzLT5o
YXNSaWdodE9iamVjdHMoKSkgewotICAgICAgICBpZiAoaGVpZ2h0UmVtYWluaW5nKQotICAgICAg
ICAgICAgKmhlaWdodFJlbWFpbmluZyA9IDE7Ci0KICAgICAgICAgTGF5b3V0VW5pdCByaWdodEZs
b2F0T2Zmc2V0ID0gZml4ZWRPZmZzZXQ7Ci0gICAgICAgIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFw
dGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdFJpZ2h0PiBhZGFwdGVyKHRoaXMsIHJvdW5kVG9JbnQo
bG9naWNhbFRvcCksIHJvdW5kVG9JbnQobG9naWNhbFRvcCArIGxvZ2ljYWxIZWlnaHQpLCByaWdo
dEZsb2F0T2Zmc2V0LCBoZWlnaHRSZW1haW5pbmcpOworICAgICAgICBGbG9hdEludGVydmFsU2Vh
cmNoQWRhcHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRSaWdodD4gYWRhcHRlcih0aGlzLCByb3Vu
ZFRvSW50KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3AgKyBsb2dpY2FsSGVpZ2h0
KSwgcmlnaHRGbG9hdE9mZnNldCk7CiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRG
bG9hdHNUcmVlKCkuYWxsT3ZlcmxhcHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKIAorICAgICAgICBp
ZiAoaGVpZ2h0UmVtYWluaW5nKQorICAgICAgICAgICAgKmhlaWdodFJlbWFpbmluZyA9IGFkYXB0
ZXIuZ2V0SGVpZ2h0UmVtYWluaW5nKCk7CisKICNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAgICAg
ICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0KCk7
Ci0gICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQg
JiYgbGFzdEZsb2F0KSB7Ci0gICAgICAgICAgICBpZiAoU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVP
dXRzaWRlID0gbGFzdEZsb2F0LT5yZW5kZXJlcigpLT5zaGFwZU91dHNpZGVJbmZvKCkpIHsKLSAg
ICAgICAgICAgICAgICBzaGFwZU91dHNpZGUtPmNvbXB1dGVTZWdtZW50c0ZvckNvbnRhaW5pbmdC
bG9ja0xpbmUobG9naWNhbFRvcCwgbG9naWNhbFRvcEZvckZsb2F0KGxhc3RGbG9hdCksIGxvZ2lj
YWxIZWlnaHQpOworICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogb3V0ZXJtb3N0RmxvYXQg
PSBhZGFwdGVyLm91dGVybW9zdEZsb2F0KCk7CisgICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNo
YXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQgJiYgb3V0ZXJtb3N0RmxvYXQpIHsKKyAgICAgICAg
ICAgIGlmIChTaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGUgPSBvdXRlcm1vc3RGbG9hdC0+
cmVuZGVyZXIoKS0+c2hhcGVPdXRzaWRlSW5mbygpKSB7CisgICAgICAgICAgICAgICAgc2hhcGVP
dXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JDb250YWluaW5nQmxvY2tMaW5lKGxvZ2ljYWxUb3As
IGxvZ2ljYWxUb3BGb3JGbG9hdChvdXRlcm1vc3RGbG9hdCksIGxvZ2ljYWxIZWlnaHQpOwogICAg
ICAgICAgICAgICAgIHJpZ2h0RmxvYXRPZmZzZXQgKz0gc2hhcGVPdXRzaWRlLT5sZWZ0U2VnbWVu
dE1hcmdpbkJveERlbHRhKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggMjQyY2NlNGFmNTlkMjliNjRmZGQxZjMzMWYz
ODAyZTE5Nzc3ZjVjNy4uMDNlMDdhMDU2ZTUxYjMyN2NhZDIwNmE2NmMyNjRiMmQ1ODAyODFlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTEyMDgsNDggKzEyMDgs
MzcgQEAgcHJvdGVjdGVkOgogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBGbG9hdGluZ09i
amVjdEludGVydmFsIEludGVydmFsVHlwZTsKICAgICAgICAgCi0gICAgICAgIEZsb2F0SW50ZXJ2
YWxTZWFyY2hBZGFwdGVyKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlciwgaW50IGxvd1ZhbHVl
LCBpbnQgaGlnaFZhbHVlLCBMYXlvdXRVbml0JiBvZmZzZXQsIExheW91dFVuaXQqIGhlaWdodFJl
bWFpbmluZykKKyAgICAgICAgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXIoY29uc3QgUmVuZGVy
QmxvY2sqIHJlbmRlcmVyLCBpbnQgbG93VmFsdWUsIGludCBoaWdoVmFsdWUsIExheW91dFVuaXQm
IG9mZnNldCkKICAgICAgICAgICAgIDogbV9yZW5kZXJlcihyZW5kZXJlcikKICAgICAgICAgICAg
ICwgbV9sb3dWYWx1ZShsb3dWYWx1ZSkKICAgICAgICAgICAgICwgbV9oaWdoVmFsdWUoaGlnaFZh
bHVlKQogICAgICAgICAgICAgLCBtX29mZnNldChvZmZzZXQpCi0gICAgICAgICAgICAsIG1faGVp
Z2h0UmVtYWluaW5nKGhlaWdodFJlbWFpbmluZykKLSNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAg
ICAgICAgICAgICwgbV9sYXN0KDApCi0jZW5kaWYKKyAgICAgICAgICAgICwgbV9vdXRlcm1vc3RG
bG9hdCgwKQogICAgICAgICB7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlubGluZSBp
bnQgbG93VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2xvd1ZhbHVlOyB9CiAgICAgICAgIGlubGlu
ZSBpbnQgaGlnaFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9oaWdoVmFsdWU7IH0KLSAgICAgICAg
dm9pZCBjb2xsZWN0SWZOZWVkZWQoY29uc3QgSW50ZXJ2YWxUeXBlJikgY29uc3Q7CisgICAgICAg
IHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVydmFsVHlwZSYpOwogCiAjaWYgRU5BQkxF
KENTU19TSEFQRVMpCiAgICAgICAgIC8vIFdoZW4gY29tcHV0aW5nIHRoZSBvZmZzZXQgY2F1c2Vk
IGJ5IHRoZSBmbG9hdHMgb24gYSBnaXZlbiBsaW5lLCBpZgogICAgICAgICAvLyB0aGUgb3V0ZXJt
b3N0IGZsb2F0IG9uIHRoYXQgbGluZSBoYXMgYSBzaGFwZS1vdXRzaWRlLCB0aGUgaW5saW5lCiAg
ICAgICAgIC8vIGNvbnRlbnQgdGhhdCBidXR0cyB1cCBhZ2FpbnN0IHRoYXQgZmxvYXQgbXVzdCBi
ZSBwb3NpdGlvbmVkIHVzaW5nCiAgICAgICAgIC8vIHRoZSBjb250b3VycyBvZiB0aGUgc2hhcGUs
IG5vdCB0aGUgbWFyZ2luIGJveCBvZiB0aGUgZmxvYXQuCi0gICAgICAgIC8vIFdlIHNhdmUgdGhl
IGxhc3QgZmxvYXQgZW5jb3VudGVyZWQgc28gdGhhdCB0aGUgb2Zmc2V0IGNhbiBiZQotICAgICAg
ICAvLyBjb21wdXRlZCBjb3JyZWN0bHkgYnkgdGhlIGNvZGUgdXNpbmcgdGhpcyBhZGFwdGVyLgot
ICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0KCkgY29uc3QgeyByZXR1cm4g
bV9sYXN0OyB9CisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBvdXRlcm1vc3RGbG9hdCgp
IGNvbnN0IHsgcmV0dXJuIG1fb3V0ZXJtb3N0RmxvYXQ7IH0KICNlbmRpZgogCisgICAgICAgIExh
eW91dFVuaXQgZ2V0SGVpZ2h0UmVtYWluaW5nKCkgY29uc3Q7CisKICAgICBwcml2YXRlOgotICAg
ICAgICBib29sIHVwZGF0ZU9mZnNldElmTmVlZGVkKGNvbnN0IEZsb2F0aW5nT2JqZWN0KikgY29u
c3Q7CisgICAgICAgIGJvb2wgdXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxvYXRpbmdPYmpl
Y3QqKTsKIAogICAgICAgICBjb25zdCBSZW5kZXJCbG9jayogbV9yZW5kZXJlcjsKICAgICAgICAg
aW50IG1fbG93VmFsdWU7CiAgICAgICAgIGludCBtX2hpZ2hWYWx1ZTsKICAgICAgICAgTGF5b3V0
VW5pdCYgbV9vZmZzZXQ7Ci0gICAgICAgIExheW91dFVuaXQqIG1faGVpZ2h0UmVtYWluaW5nOwot
I2lmIEVOQUJMRShDU1NfU0hBUEVTKQotICAgICAgICAvLyBUaGlzIG1lbWJlciB2YXJpYWJsZSBp
cyBtdXRhYmxlIGJlY2F1c2UgdGhlIGNvbGxlY3RJZk5lZWRlZCBtZXRob2QKLSAgICAgICAgLy8g
aXMgZGVjbGFyZWQgYXMgY29uc3QsIGV2ZW4gdGhvdWdoIGl0IGRvZXNuJ3QgYWN0dWFsbHkgcmVz
cGVjdCB0aGF0Ci0gICAgICAgIC8vIGNvbnRyYWN0LiBJdCBtb2RpZmllcyBvdGhlciBtZW1iZXIg
dmFyaWFibGVzIHZpYSBsb29waG9sZXMgaW4gdGhlCi0gICAgICAgIC8vIGNvbnN0IGJlaGF2aW9y
LiBJbnN0ZWFkIG9mIHVzaW5nIGxvb3Bob2xlcywgSSBkZWNpZGVkIGl0IHdhcyBiZXR0ZXIKLSAg
ICAgICAgLy8gdG8gbWFrZSB0aGUgZmFjdCB0aGF0IHRoaXMgaXMgbW9kaWZpZWQgaW4gYSBjb25z
dCBtZXRob2QgZXhwbGljaXQuCi0gICAgICAgIG11dGFibGUgY29uc3QgRmxvYXRpbmdPYmplY3Qq
IG1fbGFzdDsKLSNlbmRpZgorICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogbV9vdXRlcm1v
c3RGbG9hdDsKICAgICB9OwogCiAgICAgdm9pZCBjcmVhdGVGbG9hdGluZ09iamVjdHMoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA4MmIxZmM1NGYxMGM1ZjE3OTcyNGEwNjVhNjZkZmJlZWY4MDhiY2FjLi4yMzA0NDkwYzJi
NTJmNGQ5NjY2N2QyNGI5YjFmY2Y0YzhiN2E0MTNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTMtMDgtMjMgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAg
T3B0aW1pemUgRmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI6OmNvbGxlY3RJZk5lZWRlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwMjM3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4KKworICAgICAgICBUZXN0IHNoYXBlLW91dHNp
ZGUgYmVoYXZpb3Igd2hlbiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGZsb2F0IG9uIGEKKyAgICAg
ICAgZ2l2ZW4gbGluZS4KKworICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLW91dGVybW9zdC1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy1vdXRlcm1vc3QuaHRtbDogQWRkZWQuCisKIDIwMTMtMDgtMjYgIFJvYmVydCBIb2dh
biAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIEF2b2lkIHBhaW50aW5nIGV2ZXJ5IG5v
bi1lZGdlIGNvbGxhcHNlZCBib3JkZXIgdHdpY2Ugb3ZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMt
b3V0ZXJtb3N0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jOTVlMzQ2YzkxNDRhYjEzZDZhMTZjZDNhOWNmZDgzZjAzNjZiMTlmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJtb3N0LWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisgICAgLmNvbnRhaW5lciB7Cisg
ICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZm9udDogMTAwcHgvMSBBaGVtOwor
ICAgIH0KKyAgICAuc2hvcnQgeworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAgICAgd2lkdGg6
IDUwcHg7CisgICAgICAgIGhlaWdodDogMjBweDsKKyAgICAgICAgY2xlYXI6IGxlZnQ7CisgICAg
ICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNr
OworICAgIH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNo
b3J0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnQiPjwvZGl2PgorICAgICAgICBY
WFhYCisgICAgPC9kaXY+Cis8L2JvZHk+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLW91dGVybW9z
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJtb3N0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGIwNWMzNDExN2Nm
MzNhNDQzMjYwMWJmMWIwNWE5OGUxNGRmZDg5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRz
LW91dGVybW9zdC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxl
PgorICAgIC5jb250YWluZXIgeworICAgICAgICBsaW5lLWhlaWdodDogMTAwcHg7CisgICAgICAg
IGZvbnQ6IDEwMHB4LzEgQWhlbTsKKyAgICB9CisgICAgLmxvbmcgeworICAgICAgICBmbG9hdDog
bGVmdDsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAg
ICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNr
OworICAgICAgICAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJlY3RhbmdsZSgwLCAwLCA1MCUsIDEw
MCUpOworICAgIH0KKyAgICAuc2hvcnQgeworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICAgICAg
d2lkdGg6IDUwcHg7CisgICAgICAgIGhlaWdodDogMjBweDsKKyAgICAgICAgY2xlYXI6IGxlZnQ7
CisgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IGJsYWNrOworICAgIH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJsb25nIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0ic2hvcnQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydCI+PC9kaXY+CisgICAg
ICAgIFhYWFgKKyAgICA8L2Rpdj4KKzwvYm9keT4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209675</attachid>
            <date>2013-08-26 14:03:42 -0700</date>
            <delta_ts>2013-08-26 14:34:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120237-20130826140341.patch</filename>
            <type>text/plain</type>
            <size>14569</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA1MjBmN2M0OTM3ODEx
NTk3ZGUwZDM1NWFkZTI4YTk3YWRlYzY2Mi4uNTUwYTI3NTQ5YmQ1M2RmM2VhNzFmY2U0NjQ4NmYx
MmIxMzMwNTU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTA4LTI2ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIE9wdGltaXplIEZsb2F0
SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpjb2xsZWN0SWZOZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDIzNworCisgICAgICAgIFJldmlld2Vk
IGJ5IERhdmlkIEh5YXR0LgorCisgICAgICAgIFRoaXMgaXMgYSBwb3J0IG9mIDMgQmxpbmsgcGF0
Y2hlczoKKyAgICAgICAgaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy8yMjQ2MzAwMiAo
Qnkgc2hhdGNoQGNocm9taXVtLm9yZykKKyAgICAgICAgaHR0cHM6Ly9jaHJvbWl1bWNvZGVyZXZp
ZXcuYXBwc3BvdC5jb20vMjI5MDkwMDUgKEJ5IG1lKQorICAgICAgICBodHRwczovL2Nocm9taXVt
Y29kZXJldmlldy5hcHBzcG90LmNvbS8yMzA4NDAwMiAoQnkgbWUpCisKKyAgICAgICAgc2hhdGNo
IG9wdGltaXplZCBGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlciBieSBoYXZpbmcgaXQgc3RvcmUg
dGhlCisgICAgICAgIG91dGVybW9zdCBmbG9hdCBpbnN0ZWFkIG9mIG1ha2luZyBhIGJ1bmNoIG9m
IGNhbGxzIHRvCisgICAgICAgIGxvZ2ljYWwoTGVmdC9SaWdodC9Cb3R0b20pRm9yRmxvYXQsIGFu
ZCB0aGVuIG9ubHkgbWFraW5nIHRoYXQgY2FsbAorICAgICAgICBvbmNlIHdoZW4gaGVpZ2h0UmVt
YWluaW5nIG5lZWRzIHRvIGJlIGNvbXB1dGVkLgorCisgICAgICAgIEkgbm90aWNlZCB0aGF0IG5v
dyB3ZSB3ZXJlIHN0b3JpbmcgYm90aCB0aGUgbGFzdCBmbG9hdCBlbmNvdW50ZXJlZCBhbmQKKyAg
ICAgICAgdGhlIG91dGVybW9zdCBmbG9hdCwgYW5kIHRoYXQgdGhlIGJlaGF2aW9yIGZvciBzaGFw
ZS1vdXRzaWRlIHdhc24ndAorICAgICAgICBzaWduaWZpY2FudGx5IGNoYW5nZWQgYnkgdXNpbmcg
dGhlIG91dGVybW9zdCBmbG9hdCBpbnN0ZWFkIG9mIHRoZSBsYXN0CisgICAgICAgIGZsb2F0IGVu
Y291bnRlcmVkIChhbmQgaW4gbW9zdCBjYXNlcywgdXNpbmcgdGhlIG91dGVybW9zdCBmbG9hdCBn
aXZlcworICAgICAgICBtb3JlIHJlYXNvbmFibGUgYmVoYXZpb3IpLiBTaW5jZSB0aGlzIGlzbid0
IGNvdmVyZWQgaW4gdGhlIHNwZWMgeWV0LCBJCisgICAgICAgIGNoYW5nZWQgc2hhcGUtb3V0c2lk
ZSB0byB1c2UgdGhlIG91dGVybW9zdCBmbG9hdCwgbWFraW5nIGl0IHNvIHRoYXQgd2UKKyAgICAg
ICAgb25seSBuZWVkIHRvIHN0b3JlIG9uZSBmbG9hdCBwb2ludGVyIHdoZW4gd2Fsa2luZyB0aGUg
cGxhY2VkIGZsb2F0cworICAgICAgICB0cmVlLCBhbmQga2VlcGluZyB0aGUgcGVyZm9ybWFuY2Ug
d2luLgorCisgICAgICAgIEFsc28gd2hpbGUgY2hhbmdpbmcgdXBkYXRlT2Zmc2V0SWZOZWVkZWQs
IHJlbW92ZWQgY29uc3QsIHNpbmNlIHRoYXQgaXMKKyAgICAgICAgYSBsaWUuIE5vdGhpbmcgYWJv
dXQgdGhhdCBtZXRob2QgaXMgY29uc3QuCisKKyAgICAgICAgVGVzdDogZmFzdC9zaGFwZXMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJtb3N0Lmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjo6
OnVwZGF0ZU9mZnNldElmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y29sbGVjdElmTmVl
ZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Z2V0SGVpZ2h0UmVtYWluaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsTGVmdEZsb2F0T2Zmc2V0Rm9yTGluZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0RmxvYXRPZmZzZXRGb3JM
aW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjo6RmxvYXRJbnRlcnZh
bFNlYXJjaEFkYXB0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OkZsb2F0SW50
ZXJ2YWxTZWFyY2hBZGFwdGVyOjpvdXRlcm1vc3RGbG9hdCk6CisKIDIwMTMtMDgtMjYgIFphbiBE
b2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFByZXR0aWZ5IGdlbmVy
YXRlZCBidWlsZCBndWFyZHMgaW4gSFRNTEVsZW1lbnRGYWN0b3J5LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNjkxMzlhMzM3ZmE0ZDA5ZDhmODdlODcz
ZGY3YWZjZGY0Mjk4ZWE3MC4uZjdiNGExMWU3ZTI3NDIyZWFjYTQzY2U4NjQwZDkxNWE1YzkxY2Fh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC00NDM5LDI3
ICs0NDM5LDI5IEBAIGlubGluZSBzdGF0aWMgYm9vbCByYW5nZXNJbnRlcnNlY3QoaW50IGZsb2F0
VG9wLCBpbnQgZmxvYXRCb3R0b20sIGludCBvYmplY3RUb3AsCiB9CiAKIHRlbXBsYXRlPD4KLWlu
bGluZSBib29sIFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxSZW5kZXJC
bG9jazo6RmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdD46OnVwZGF0ZU9mZnNldElmTmVlZGVkKGNv
bnN0IEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCkgY29uc3QKK2lubGluZSBib29sIFJl
bmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRlcjxSZW5kZXJCbG9jazo6RmxvYXRp
bmdPYmplY3Q6OkZsb2F0TGVmdD46OnVwZGF0ZU9mZnNldElmTmVlZGVkKGNvbnN0IEZsb2F0aW5n
T2JqZWN0KiBmbG9hdGluZ09iamVjdCkKIHsKLSAgICBpZiAobV9yZW5kZXJlci0+bG9naWNhbFJp
Z2h0Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpID4gbV9vZmZzZXQpIHsKLSAgICAgICAgbV9vZmZz
ZXQgPSBtX3JlbmRlcmVyLT5sb2dpY2FsUmlnaHRGb3JGbG9hdChmbG9hdGluZ09iamVjdCk7Cisg
ICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHQgPSBtX3JlbmRlcmVyLT5sb2dpY2FsUmlnaHRGb3JG
bG9hdChmbG9hdGluZ09iamVjdCk7CisgICAgaWYgKGxvZ2ljYWxSaWdodCA+IG1fb2Zmc2V0KSB7
CisgICAgICAgIG1fb2Zmc2V0ID0gbG9naWNhbFJpZ2h0OwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiB0ZW1wbGF0ZTw+Ci1pbmxpbmUgYm9vbCBS
ZW5kZXJCbG9jazo6RmxvYXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8UmVuZGVyQmxvY2s6OkZsb2F0
aW5nT2JqZWN0OjpGbG9hdFJpZ2h0Pjo6dXBkYXRlT2Zmc2V0SWZOZWVkZWQoY29uc3QgRmxvYXRp
bmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0KSBjb25zdAoraW5saW5lIGJvb2wgUmVuZGVyQmxvY2s6
OkZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6
RmxvYXRSaWdodD46OnVwZGF0ZU9mZnNldElmTmVlZGVkKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBm
bG9hdGluZ09iamVjdCkKIHsKLSAgICBpZiAobV9yZW5kZXJlci0+bG9naWNhbExlZnRGb3JGbG9h
dChmbG9hdGluZ09iamVjdCkgPCBtX29mZnNldCkgewotICAgICAgICBtX29mZnNldCA9IG1fcmVu
ZGVyZXItPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZmxvYXRpbmdPYmplY3QpOworICAgIExheW91dFVu
aXQgbG9naWNhbExlZnQgPSBtX3JlbmRlcmVyLT5sb2dpY2FsTGVmdEZvckZsb2F0KGZsb2F0aW5n
T2JqZWN0KTsKKyAgICBpZiAobG9naWNhbExlZnQgPCBtX29mZnNldCkgeworICAgICAgICBtX29m
ZnNldCA9IGxvZ2ljYWxMZWZ0OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCiB0ZW1wbGF0ZSA8UmVuZGVyQmxvY2s6OkZsb2F0aW5nT2JqZWN0OjpU
eXBlIEZsb2F0VHlwZVZhbHVlPgotaW5saW5lIHZvaWQgUmVuZGVyQmxvY2s6OkZsb2F0SW50ZXJ2
YWxTZWFyY2hBZGFwdGVyPEZsb2F0VHlwZVZhbHVlPjo6Y29sbGVjdElmTmVlZGVkKGNvbnN0IElu
dGVydmFsVHlwZSYgaW50ZXJ2YWwpIGNvbnN0CitpbmxpbmUgdm9pZCBSZW5kZXJCbG9jazo6Rmxv
YXRJbnRlcnZhbFNlYXJjaEFkYXB0ZXI8RmxvYXRUeXBlVmFsdWU+Ojpjb2xsZWN0SWZOZWVkZWQo
Y29uc3QgSW50ZXJ2YWxUeXBlJiBpbnRlcnZhbCkKIHsKICAgICBjb25zdCBGbG9hdGluZ09iamVj
dCogZmxvYXRpbmdPYmplY3QgPSBpbnRlcnZhbC5kYXRhKCk7CiAgICAgaWYgKGZsb2F0aW5nT2Jq
ZWN0LT50eXBlKCkgIT0gRmxvYXRUeXBlVmFsdWUgfHwgIXJhbmdlc0ludGVyc2VjdChpbnRlcnZh
bC5sb3coKSwgaW50ZXJ2YWwuaGlnaCgpLCBtX2xvd1ZhbHVlLCBtX2hpZ2hWYWx1ZSkpCkBAIC00
NDcwLDEyICs0NDcyLDE0IEBAIGlubGluZSB2b2lkIFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFs
U2VhcmNoQWRhcHRlcjxGbG9hdFR5cGVWYWx1ZT46OmNvbGxlY3RJZk5lCiAgICAgQVNTRVJUKHJh
bmdlc0ludGVyc2VjdChtX3JlbmRlcmVyLT5waXhlbFNuYXBwZWRMb2dpY2FsVG9wRm9yRmxvYXQo
ZmxvYXRpbmdPYmplY3QpLCBtX3JlbmRlcmVyLT5waXhlbFNuYXBwZWRMb2dpY2FsQm90dG9tRm9y
RmxvYXQoZmxvYXRpbmdPYmplY3QpLCBtX2xvd1ZhbHVlLCBtX2hpZ2hWYWx1ZSkpOwogCiAgICAg
Ym9vbCBmbG9hdElzTmV3RXh0cmVtZSA9IHVwZGF0ZU9mZnNldElmTmVlZGVkKGZsb2F0aW5nT2Jq
ZWN0KTsKLSAgICBpZiAoZmxvYXRJc05ld0V4dHJlbWUgJiYgbV9oZWlnaHRSZW1haW5pbmcpCi0g
ICAgICAgICptX2hlaWdodFJlbWFpbmluZyA9IG1fcmVuZGVyZXItPmxvZ2ljYWxCb3R0b21Gb3JG
bG9hdChmbG9hdGluZ09iamVjdCkgLSBtX2xvd1ZhbHVlOworICAgIGlmIChmbG9hdElzTmV3RXh0
cmVtZSkKKyAgICAgICAgbV9vdXRlcm1vc3RGbG9hdCA9IGZsb2F0aW5nT2JqZWN0OworfQogCi0j
aWYgRU5BQkxFKENTU19TSEFQRVMpCi0gICAgbV9sYXN0ID0gZmxvYXRpbmdPYmplY3Q7Ci0jZW5k
aWYKK3RlbXBsYXRlIDxSZW5kZXJCbG9jazo6RmxvYXRpbmdPYmplY3Q6OlR5cGUgRmxvYXRUeXBl
VmFsdWU+CitMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpGbG9hdEludGVydmFsU2VhcmNoQWRhcHRl
cjxGbG9hdFR5cGVWYWx1ZT46OmdldEhlaWdodFJlbWFpbmluZygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fb3V0ZXJtb3N0RmxvYXQgPyBtX3JlbmRlcmVyLT5sb2dpY2FsQm90dG9tRm9yRmxvYXQo
bV9vdXRlcm1vc3RGbG9hdCkgLSBtX2xvd1ZhbHVlIDogTGF5b3V0VW5pdCgxKTsKIH0KIAogTGF5
b3V0VW5pdCBSZW5kZXJCbG9jazo6dGV4dEluZGVudE9mZnNldCgpIGNvbnN0CkBAIC00NTE1LDE3
ICs0NTE5LDE3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0RmxvYXRPZmZz
ZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5CiAjZW5kaWYKICAgICBMYXlvdXRV
bml0IGxlZnQgPSBmaXhlZE9mZnNldDsKICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMgJiYgbV9m
bG9hdGluZ09iamVjdHMtPmhhc0xlZnRPYmplY3RzKCkpIHsKLSAgICAgICAgaWYgKGhlaWdodFJl
bWFpbmluZykKLSAgICAgICAgICAgICpoZWlnaHRSZW1haW5pbmcgPSAxOwotCi0gICAgICAgIEZs
b2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdExlZnQ+IGFkYXB0
ZXIodGhpcywgcm91bmRUb0ludChsb2dpY2FsVG9wKSwgcm91bmRUb0ludChsb2dpY2FsVG9wICsg
bG9naWNhbEhlaWdodCksIGxlZnQsIGhlaWdodFJlbWFpbmluZyk7CisgICAgICAgIEZsb2F0SW50
ZXJ2YWxTZWFyY2hBZGFwdGVyPEZsb2F0aW5nT2JqZWN0OjpGbG9hdExlZnQ+IGFkYXB0ZXIodGhp
cywgcm91bmRUb0ludChsb2dpY2FsVG9wKSwgcm91bmRUb0ludChsb2dpY2FsVG9wICsgbG9naWNh
bEhlaWdodCksIGxlZnQpOwogICAgICAgICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2VkRmxvYXRz
VHJlZSgpLmFsbE92ZXJsYXBzV2l0aEFkYXB0ZXIoYWRhcHRlcik7CiAKKyAgICAgICAgaWYgKGhl
aWdodFJlbWFpbmluZykKKyAgICAgICAgICAgICpoZWlnaHRSZW1haW5pbmcgPSBhZGFwdGVyLmdl
dEhlaWdodFJlbWFpbmluZygpOworCiAjaWYgRU5BQkxFKENTU19TSEFQRVMpCi0gICAgICAgIGNv
bnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQgPSBhZGFwdGVyLmxhc3RGbG9hdCgpOwotICAg
ICAgICBpZiAob2Zmc2V0TW9kZSA9PSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0ICYmIGxh
c3RGbG9hdCkgewotICAgICAgICAgICAgaWYgKFNoYXBlT3V0c2lkZUluZm8qIHNoYXBlT3V0c2lk
ZSA9IGxhc3RGbG9hdC0+cmVuZGVyZXIoKS0+c2hhcGVPdXRzaWRlSW5mbygpKSB7Ci0gICAgICAg
ICAgICAgICAgc2hhcGVPdXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JDb250YWluaW5nQmxvY2tM
aW5lKGxvZ2ljYWxUb3AsIGxvZ2ljYWxUb3BGb3JGbG9hdChsYXN0RmxvYXQpLCBsb2dpY2FsSGVp
Z2h0KTsKKyAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIG91dGVybW9zdEZsb2F0ID0gYWRh
cHRlci5vdXRlcm1vc3RGbG9hdCgpOworICAgICAgICBpZiAob2Zmc2V0TW9kZSA9PSBTaGFwZU91
dHNpZGVGbG9hdFNoYXBlT2Zmc2V0ICYmIG91dGVybW9zdEZsb2F0KSB7CisgICAgICAgICAgICBp
ZiAoU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0gb3V0ZXJtb3N0RmxvYXQtPnJlbmRl
cmVyKCktPnNoYXBlT3V0c2lkZUluZm8oKSkgeworICAgICAgICAgICAgICAgIHNoYXBlT3V0c2lk
ZS0+Y29tcHV0ZVNlZ21lbnRzRm9yQ29udGFpbmluZ0Jsb2NrTGluZShsb2dpY2FsVG9wLCBsb2dp
Y2FsVG9wRm9yRmxvYXQob3V0ZXJtb3N0RmxvYXQpLCBsb2dpY2FsSGVpZ2h0KTsKICAgICAgICAg
ICAgICAgICBsZWZ0ICs9IHNoYXBlT3V0c2lkZS0+cmlnaHRTZWdtZW50TWFyZ2luQm94RGVsdGEo
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNDU4MiwxOCArNDU4NiwxOCBAQCBMYXlv
dXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRGbG9hdE9mZnNldEZvckxpbmUoTGF5b3V0
VW5pdCBsb2dpY2FsVG9wLCBMYQogI2VuZGlmCiAgICAgTGF5b3V0VW5pdCByaWdodCA9IGZpeGVk
T2Zmc2V0OwogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAmJiBtX2Zsb2F0aW5nT2JqZWN0cy0+
aGFzUmlnaHRPYmplY3RzKCkpIHsKLSAgICAgICAgaWYgKGhlaWdodFJlbWFpbmluZykKLSAgICAg
ICAgICAgICpoZWlnaHRSZW1haW5pbmcgPSAxOwotCiAgICAgICAgIExheW91dFVuaXQgcmlnaHRG
bG9hdE9mZnNldCA9IGZpeGVkT2Zmc2V0OwotICAgICAgICBGbG9hdEludGVydmFsU2VhcmNoQWRh
cHRlcjxGbG9hdGluZ09iamVjdDo6RmxvYXRSaWdodD4gYWRhcHRlcih0aGlzLCByb3VuZFRvSW50
KGxvZ2ljYWxUb3ApLCByb3VuZFRvSW50KGxvZ2ljYWxUb3AgKyBsb2dpY2FsSGVpZ2h0KSwgcmln
aHRGbG9hdE9mZnNldCwgaGVpZ2h0UmVtYWluaW5nKTsKKyAgICAgICAgRmxvYXRJbnRlcnZhbFNl
YXJjaEFkYXB0ZXI8RmxvYXRpbmdPYmplY3Q6OkZsb2F0UmlnaHQ+IGFkYXB0ZXIodGhpcywgcm91
bmRUb0ludChsb2dpY2FsVG9wKSwgcm91bmRUb0ludChsb2dpY2FsVG9wICsgbG9naWNhbEhlaWdo
dCksIHJpZ2h0RmxvYXRPZmZzZXQpOwogICAgICAgICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2Vk
RmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBzV2l0aEFkYXB0ZXIoYWRhcHRlcik7CiAKKyAgICAgICAg
aWYgKGhlaWdodFJlbWFpbmluZykKKyAgICAgICAgICAgICpoZWlnaHRSZW1haW5pbmcgPSBhZGFw
dGVyLmdldEhlaWdodFJlbWFpbmluZygpOworCiAjaWYgRU5BQkxFKENTU19TSEFQRVMpCi0gICAg
ICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQgPSBhZGFwdGVyLmxhc3RGbG9hdCgp
OwotICAgICAgICBpZiAob2Zmc2V0TW9kZSA9PSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0
ICYmIGxhc3RGbG9hdCkgewotICAgICAgICAgICAgaWYgKFNoYXBlT3V0c2lkZUluZm8qIHNoYXBl
T3V0c2lkZSA9IGxhc3RGbG9hdC0+cmVuZGVyZXIoKS0+c2hhcGVPdXRzaWRlSW5mbygpKSB7Ci0g
ICAgICAgICAgICAgICAgc2hhcGVPdXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JDb250YWluaW5n
QmxvY2tMaW5lKGxvZ2ljYWxUb3AsIGxvZ2ljYWxUb3BGb3JGbG9hdChsYXN0RmxvYXQpLCBsb2dp
Y2FsSGVpZ2h0KTsKKyAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIG91dGVybW9zdEZsb2F0
ID0gYWRhcHRlci5vdXRlcm1vc3RGbG9hdCgpOworICAgICAgICBpZiAob2Zmc2V0TW9kZSA9PSBT
aGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0ICYmIG91dGVybW9zdEZsb2F0KSB7CisgICAgICAg
ICAgICBpZiAoU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0gb3V0ZXJtb3N0RmxvYXQt
PnJlbmRlcmVyKCktPnNoYXBlT3V0c2lkZUluZm8oKSkgeworICAgICAgICAgICAgICAgIHNoYXBl
T3V0c2lkZS0+Y29tcHV0ZVNlZ21lbnRzRm9yQ29udGFpbmluZ0Jsb2NrTGluZShsb2dpY2FsVG9w
LCBsb2dpY2FsVG9wRm9yRmxvYXQob3V0ZXJtb3N0RmxvYXQpLCBsb2dpY2FsSGVpZ2h0KTsKICAg
ICAgICAgICAgICAgICByaWdodEZsb2F0T2Zmc2V0ICs9IHNoYXBlT3V0c2lkZS0+bGVmdFNlZ21l
bnRNYXJnaW5Cb3hEZWx0YSgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDI0MmNjZTRhZjU5ZDI5YjY0ZmRkMWYzMzFm
MzgwMmUxOTc3N2Y1YzcuLjAzZTA3YTA1NmU1MWIzMjdjYWQyMDZhNjZjMjY0YjJkNTgwMjgxZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0xMjA4LDQ4ICsxMjA4
LDM3IEBAIHByb3RlY3RlZDoKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRmxvYXRpbmdP
YmplY3RJbnRlcnZhbCBJbnRlcnZhbFR5cGU7CiAgICAgICAgIAotICAgICAgICBGbG9hdEludGVy
dmFsU2VhcmNoQWRhcHRlcihjb25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIsIGludCBsb3dWYWx1
ZSwgaW50IGhpZ2hWYWx1ZSwgTGF5b3V0VW5pdCYgb2Zmc2V0LCBMYXlvdXRVbml0KiBoZWlnaHRS
ZW1haW5pbmcpCisgICAgICAgIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyKGNvbnN0IFJlbmRl
ckJsb2NrKiByZW5kZXJlciwgaW50IGxvd1ZhbHVlLCBpbnQgaGlnaFZhbHVlLCBMYXlvdXRVbml0
JiBvZmZzZXQpCiAgICAgICAgICAgICA6IG1fcmVuZGVyZXIocmVuZGVyZXIpCiAgICAgICAgICAg
ICAsIG1fbG93VmFsdWUobG93VmFsdWUpCiAgICAgICAgICAgICAsIG1faGlnaFZhbHVlKGhpZ2hW
YWx1ZSkKICAgICAgICAgICAgICwgbV9vZmZzZXQob2Zmc2V0KQotICAgICAgICAgICAgLCBtX2hl
aWdodFJlbWFpbmluZyhoZWlnaHRSZW1haW5pbmcpCi0jaWYgRU5BQkxFKENTU19TSEFQRVMpCi0g
ICAgICAgICAgICAsIG1fbGFzdCgwKQotI2VuZGlmCisgICAgICAgICAgICAsIG1fb3V0ZXJtb3N0
RmxvYXQoMCkKICAgICAgICAgewogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpbmxpbmUg
aW50IGxvd1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9sb3dWYWx1ZTsgfQogICAgICAgICBpbmxp
bmUgaW50IGhpZ2hWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGlnaFZhbHVlOyB9Ci0gICAgICAg
IHZvaWQgY29sbGVjdElmTmVlZGVkKGNvbnN0IEludGVydmFsVHlwZSYpIGNvbnN0OworICAgICAg
ICB2b2lkIGNvbGxlY3RJZk5lZWRlZChjb25zdCBJbnRlcnZhbFR5cGUmKTsKIAogI2lmIEVOQUJM
RShDU1NfU0hBUEVTKQogICAgICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgb2Zmc2V0IGNhdXNl
ZCBieSB0aGUgZmxvYXRzIG9uIGEgZ2l2ZW4gbGluZSwgaWYKICAgICAgICAgLy8gdGhlIG91dGVy
bW9zdCBmbG9hdCBvbiB0aGF0IGxpbmUgaGFzIGEgc2hhcGUtb3V0c2lkZSwgdGhlIGlubGluZQog
ICAgICAgICAvLyBjb250ZW50IHRoYXQgYnV0dHMgdXAgYWdhaW5zdCB0aGF0IGZsb2F0IG11c3Qg
YmUgcG9zaXRpb25lZCB1c2luZwogICAgICAgICAvLyB0aGUgY29udG91cnMgb2YgdGhlIHNoYXBl
LCBub3QgdGhlIG1hcmdpbiBib3ggb2YgdGhlIGZsb2F0LgotICAgICAgICAvLyBXZSBzYXZlIHRo
ZSBsYXN0IGZsb2F0IGVuY291bnRlcmVkIHNvIHRoYXQgdGhlIG9mZnNldCBjYW4gYmUKLSAgICAg
ICAgLy8gY29tcHV0ZWQgY29ycmVjdGx5IGJ5IHRoZSBjb2RlIHVzaW5nIHRoaXMgYWRhcHRlci4K
LSAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFzdDsgfQorICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogb3V0ZXJtb3N0RmxvYXQo
KSBjb25zdCB7IHJldHVybiBtX291dGVybW9zdEZsb2F0OyB9CiAjZW5kaWYKIAorICAgICAgICBM
YXlvdXRVbml0IGdldEhlaWdodFJlbWFpbmluZygpIGNvbnN0OworCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgYm9vbCB1cGRhdGVPZmZzZXRJZk5lZWRlZChjb25zdCBGbG9hdGluZ09iamVjdCopIGNv
bnN0OworICAgICAgICBib29sIHVwZGF0ZU9mZnNldElmTmVlZGVkKGNvbnN0IEZsb2F0aW5nT2Jq
ZWN0Kik7CiAKICAgICAgICAgY29uc3QgUmVuZGVyQmxvY2sqIG1fcmVuZGVyZXI7CiAgICAgICAg
IGludCBtX2xvd1ZhbHVlOwogICAgICAgICBpbnQgbV9oaWdoVmFsdWU7CiAgICAgICAgIExheW91
dFVuaXQmIG1fb2Zmc2V0OwotICAgICAgICBMYXlvdXRVbml0KiBtX2hlaWdodFJlbWFpbmluZzsK
LSNpZiBFTkFCTEUoQ1NTX1NIQVBFUykKLSAgICAgICAgLy8gVGhpcyBtZW1iZXIgdmFyaWFibGUg
aXMgbXV0YWJsZSBiZWNhdXNlIHRoZSBjb2xsZWN0SWZOZWVkZWQgbWV0aG9kCi0gICAgICAgIC8v
IGlzIGRlY2xhcmVkIGFzIGNvbnN0LCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IGFjdHVhbGx5IHJl
c3BlY3QgdGhhdAotICAgICAgICAvLyBjb250cmFjdC4gSXQgbW9kaWZpZXMgb3RoZXIgbWVtYmVy
IHZhcmlhYmxlcyB2aWEgbG9vcGhvbGVzIGluIHRoZQotICAgICAgICAvLyBjb25zdCBiZWhhdmlv
ci4gSW5zdGVhZCBvZiB1c2luZyBsb29waG9sZXMsIEkgZGVjaWRlZCBpdCB3YXMgYmV0dGVyCi0g
ICAgICAgIC8vIHRvIG1ha2UgdGhlIGZhY3QgdGhhdCB0aGlzIGlzIG1vZGlmaWVkIGluIGEgY29u
c3QgbWV0aG9kIGV4cGxpY2l0LgotICAgICAgICBtdXRhYmxlIGNvbnN0IEZsb2F0aW5nT2JqZWN0
KiBtX2xhc3Q7Ci0jZW5kaWYKKyAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIG1fb3V0ZXJt
b3N0RmxvYXQ7CiAgICAgfTsKIAogICAgIHZvaWQgY3JlYXRlRmxvYXRpbmdPYmplY3RzKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggODJiMWZjNTRmMTBjNWYxNzk3MjRhMDY1YTY2ZGZiZWVmODA4YmNhYy4uOTI5OTgyZDM0
YTdmOWQ3YzcwYWUyNjU2OGFmMGM4ODZhOTUyZTMwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEzLTA4LTI2ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAg
IE9wdGltaXplIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyOjpjb2xsZWN0SWZOZWVkZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDIzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEh5YXR0LgorCisgICAgICAgIFRlc3Qgc2hhcGUtb3V0
c2lkZSBiZWhhdmlvciB3aGVuIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgZmxvYXQgb24gYQorICAg
ICAgICBnaXZlbiBsaW5lLgorCisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJtb3N0LWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNp
ZGUtZmxvYXRzLW91dGVybW9zdC5odG1sOiBBZGRlZC4KKwogMjAxMy0wOC0yNiAgUm9iZXJ0IEhv
Z2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQXZvaWQgcGFpbnRpbmcgZXZlcnkg
bm9uLWVkZ2UgY29sbGFwc2VkIGJvcmRlciB0d2ljZSBvdmVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy1vdXRlcm1vc3QtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLW91dGVybW9zdC1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM5NWUzNDZjOTE0NGFiMTNkNmExNmNkM2E5Y2ZkODNmMDM2NmIxOWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKyAgICAuY29udGFpbmVyIHsK
KyAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OworICAgICAgICBmb250OiAxMDBweC8xIEFoZW07
CisgICAgfQorICAgIC5zaG9ydCB7CisgICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAgICB3aWR0
aDogNTBweDsKKyAgICAgICAgaGVpZ2h0OiAyMHB4OworICAgICAgICBjbGVhcjogbGVmdDsKKyAg
ICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxh
Y2s7CisgICAgfQorPC9zdHlsZT4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+
CisgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
c2hvcnQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydCI+PC9kaXY+CisgICAgICAg
IFhYWFgKKyAgICA8L2Rpdj4KKzwvYm9keT4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtb3V0ZXJt
b3N0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy1vdXRlcm1vc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjA1YzM0MTE3
Y2YzM2E0NDMyNjAxYmYxYjA1YTk4ZTE0ZGZkODlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMtb3V0ZXJtb3N0Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5
bGU+CisgICAgLmNvbnRhaW5lciB7CisgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsKKyAgICAg
ICAgZm9udDogMTAwcHgvMSBBaGVtOworICAgIH0KKyAgICAubG9uZyB7CisgICAgICAgIGZsb2F0
OiBsZWZ0OworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMjBweDsKKyAg
ICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxh
Y2s7CisgICAgICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcmVjdGFuZ2xlKDAsIDAsIDUwJSwg
MTAwJSk7CisgICAgfQorICAgIC5zaG9ydCB7CisgICAgICAgIGZsb2F0OiBsZWZ0OworICAgICAg
ICB3aWR0aDogNTBweDsKKyAgICAgICAgaGVpZ2h0OiAyMHB4OworICAgICAgICBjbGVhcjogbGVm
dDsKKyAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogYmxhY2s7CisgICAgfQorPC9zdHlsZT4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImxvbmciPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJzaG9ydCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Ij48L2Rpdj4KKyAg
ICAgICAgWFhYWAorICAgIDwvZGl2PgorPC9ib2R5PgorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>