<?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>150219</bug_id>
          
          <creation_ts>2015-10-15 19:35:18 -0700</creation_ts>
          <short_desc>Hook up autolayout intrinsic sizing for WKWebView</short_desc>
          <delta_ts>2015-10-16 10:31:29 -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>WebKit 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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1133731</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-15 19:35:18 -0700</bug_when>
    <thetext>Hook up autolayout intrinsic sizing for WKWebView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133732</commentid>
    <comment_count>1</comment_count>
      <attachid>263238</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-15 19:39:30 -0700</bug_when>
    <thetext>Created attachment 263238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133733</commentid>
    <comment_count>2</comment_count>
      <attachid>263239</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-15 19:43:08 -0700</bug_when>
    <thetext>Created attachment 263239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133888</commentid>
    <comment_count>3</comment_count>
      <attachid>263280</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-16 10:05:13 -0700</bug_when>
    <thetext>Created attachment 263280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133889</commentid>
    <comment_count>4</comment_count>
      <attachid>263280</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-16 10:06:11 -0700</bug_when>
    <thetext>Comment on attachment 263280
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:719
&gt; +        intrinsicContentSizeAcknowledgingFlexibleWidth.width = NSViewNoInstrinsicMetric;

This one needs to be noIntrinsicMetric too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133904</commentid>
    <comment_count>5</comment_count>
      <attachid>263285</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-16 10:24:57 -0700</bug_when>
    <thetext>Created attachment 263285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133905</commentid>
    <comment_count>6</comment_count>
      <attachid>263285</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-16 10:26:16 -0700</bug_when>
    <thetext>Comment on attachment 263285
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:189
&gt; +@property (nonatomic, setter=_setMinimumLayoutWidth:) CGFloat _minimumLayoutWidth;

Needs WK_AVAILABLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133907</commentid>
    <comment_count>7</comment_count>
      <attachid>263286</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-16 10:28:38 -0700</bug_when>
    <thetext>Created attachment 263286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133908</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-10-16 10:31:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/191183</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263238</attachid>
            <date>2015-10-15 19:39:30 -0700</date>
            <delta_ts>2015-10-15 19:43:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150219-20151015193852.patch</filename>
            <type>text/plain</type>
            <size>22075</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5ZTQ5NDQzNmQyOWJi
OTgxMjdlMmU3ZTg1NTk3NDViYzIwMzdiYS4uYzZlYjQzMGIzM2U5Y2NhM2JhMGJjZDNkZWU2ZmQ1
NGE0YzZjYTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE1LTEwLTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEhvb2sgdXAgYXV0
b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTmV3IEFQSSB0ZXN0OiBXZWJLaXQyLkF1dG9MYXlvdXRJbnRlZ3JhdGlvbi4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6YXV0b1NpemVJZkVuYWJsZWQpOgorICAgICAgICBXaGVuIGF1dG9zaXppbmcgYSBkb2N1bWVu
dCBpbiB3aGljaCB0aGUgYm9keSBleHBhbmRzIHRvIHRoZSBzaXplIG9mIAorICAgICAgICB0aGUg
dmlldyAoYSBmZWF0dXJlIG9mIHF1aXJrcyBtb2RlKSwgdGhlIGZpcnN0ICh3aWR0aC1kZXRlcm1p
bmluZykKKyAgICAgICAgYXV0b3NpemluZyB3aWxsIHJlc2l6ZSB0aGUgdmlldyB0byB0aGUgZG9j
dW1lbnQgaGVpZ2h0ICh3aGljaCBpcyBhdCAKKyAgICAgICAgbGVhc3QgdGhlIGJvZHkgaGVpZ2h0
KSwgYW5kIHRoZSBzZWNvbmQgdGltZSBhcm91bmQsIHRoZSBoZWlnaHQgd2lsbAorICAgICAgICBu
b3QgZGVjcmVhc2UgKGJlY2F1c2UgaXQgd2FzIGV4cGFuZGVkIHRvIHRoZSBzaXplIG9mIHRoZSB2
aWV3KS4KKworICAgICAgICBJbnN0ZWFkLCB0aGUgZmlyc3QgdGltZSBhcm91bmQsIHdlIHNob3Vs
ZCB1c2UgdGhlIGNvbXB1dGVkIHdpZHRoLAorICAgICAgICBidXQgc2hyaW5rIHRoZSBoZWlnaHQg
YmFjayBkb3duIHRvIHRoZSBtaW5pbXVtLCBhbmQgdGhlbiBleHBhbmQKKyAgICAgICAgb25seSBh
cyBtdWNoIGFzIG5lZWRlZCB0byBmaXQgdGhlIGNvbnRlbnQuCisKKzIwMTUtMTAtMTUgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgVHJ5IHRvIGZpeCB0
aGUgaU9TIGJ1aWxkLgogCiAgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBmYTg5M2QwNmY0M2E0OTM1ZTVmZTZjZmQ3MDQ3ZDM3ZmYyYjE4MTNhLi4wYWMyMTRjNjc1
NGYxMmFmMGYzZDM5NGNiMmRjNzJjZmIxZmJjYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTUtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgSG9vayB1cCBhdXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2ViVmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjE5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW5pdFdpdGhGcmFtZTpjb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW50cmluc2ljQ29udGVudFNpemVdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9taW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBfc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91dDpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgIEFkZCBhIHNpbXBsZSBTUEkgdG8g
c3BlY2lmeSB0aGUgbWluaW11bSB3aWR0aCB0aGF0IGEgV0tXZWJWaWV3IHdpbGwgYXR0ZW1wdAor
ICAgICAgICB0byBsYXkgb3V0IHRvLCBzaW1pbGFyIHRvIFdLVmlldyBleGNlcHQganVzdCBhIHdp
ZHRoLCBub3QgYSBzaXplLCBhbmQKKyAgICAgICAgd2l0aCBubyBvcHRpb24gdG8gZm9yY2UgdGhl
IGhlaWdodCB0byB0aGUgdmlldyBzaXplLiBTaW1pbGFyIGJlaGF2aW9yIGNhbgorICAgICAgICBi
ZSBhY2hpZXZlZCBieSBjbGllbnRzIGJ5IHNldHRpbmcgY3VzdG9tIGF1dG9sYXlvdXQgY29uc3Ry
YWludHMgb24gdGhlIHZpZXcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29udGVu
dFNpemVEaWRDaGFuZ2UpOgorICAgICAgICBGb3J3YXJkIGludHJpbnNpYyBjb250ZW50IHNpemUg
Y2hhbmdlcyB0byB0aGUgV0tXZWJWaWV3LCBub3QgaXRzIGlubmVyIFdLVmlldywKKyAgICAgICAg
aWYgd2UgaGF2ZSBvbmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJD
bGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAgICAgICBPbmx5IHNl
dCB0aGUgYXV0b3NpemluZyBmaXhlZCBtaW5pbXVtIGhlaWdodCBpZiB3ZSdyZSB1c2luZyB0aGF0
IGJlaGF2aW9yOworICAgICAgICBvdGhlcndpc2UsIHNldHRpbmcgaXQgdG8gdGhlIHZpZXcncyBo
ZWlnaHQgd2lsbCBlbmQgdXAgYWNjaWRlbnRhbGx5CisgICAgICAgIHR1cm5pbmcgb24gdGhhdCBi
ZWhhdmlvciAod2hpY2ggaW52b2x2ZXMgYW4gZXh0cmEgbGF5b3V0IHBlciByZXNpemUhKS4KKwog
MjAxNS0xMC0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVGVzdCBXZWJLaXQyLlJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5n
Rm9ybURhdGEgZmFpbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA0OTU1ZDAxNTli
YWM1MzhhY2RmN2ZhNzhmODA1MDMzMDZmNWQ5N2I3Li4xMjI5NjRhNzllZGJiYzRlYmE5ZDk3MTNh
ZWM1Mzg1N2I3ZjY2ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMjgxLDcg
KzMyODEsMTAgQEAgdm9pZCBGcmFtZVZpZXc6OmF1dG9TaXplSWZFbmFibGVkKCkKICAgICAgICAg
ICAgICYmICFmcmFtZSgpLmxvYWRlcigpLmlzQ29tcGxldGUoKSAmJiAobmV3U2l6ZS5oZWlnaHQo
KSA8IHNpemUuaGVpZ2h0KCkgfHwgbmV3U2l6ZS53aWR0aCgpIDwgc2l6ZS53aWR0aCgpKSkKICAg
ICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJlc2l6ZShuZXdTaXplLndpZHRoKCksIG5ld1Np
emUuaGVpZ2h0KCkpOworICAgICAgICAvLyBUaGUgZmlyc3QgdGltZSBhcm91bmQsIHJlc2l6ZSB0
byB0aGUgbWluaW11bSBoZWlnaHQgYWdhaW47IG90aGVyd2lzZSwKKyAgICAgICAgLy8gb24gcGFn
ZXMgKGUuZy4gcXVpcmtzIG1vZGUpIHdoZXJlIHRoZSBib2R5L2RvY3VtZW50IHJlc2l6ZSB0byB0
aGUgdmlldyBzaXplLAorICAgICAgICAvLyB3ZSdsbCBlbmQgdXAgbm90IHNocmlua2luZyBiYWNr
IGRvd24gYWZ0ZXIgcmVzaXppbmcgdG8gdGhlIGNvbXB1dGVkIHByZWZlcnJlZCB3aWR0aC4KKyAg
ICAgICAgcmVzaXplKG5ld1NpemUud2lkdGgoKSwgaSA/IG5ld1NpemUuaGVpZ2h0KCkgOiBtX21p
bkF1dG9TaXplLmhlaWdodCgpKTsKICAgICAgICAgLy8gRm9yY2UgdGhlIHNjcm9sbGJhciBzdGF0
ZSB0byBhdm9pZCB0aGUgc2Nyb2xsYmFyIGNvZGUgYWRkaW5nIHRoZW0gYW5kIGNhdXNpbmcgdGhl
bSB0byBiZSBuZWVkZWQuIEZvciBleGFtcGxlLAogICAgICAgICAvLyBhIHZlcnRpY2FsIHNjcm9s
bGJhciBtYXkgY2F1c2UgdGV4dCB0byB3cmFwIGFuZCB0aHVzIGluY3JlYXNlIHRoZSBoZWlnaHQg
KHdoaWNoIGlzIHRoZSBvbmx5IHJlYXNvbiB0aGUgc2NvbGxiYXIgaXMgbmVlZGVkKS4KICAgICAg
ICAgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYzdlMjJhYWIwODAyODQxZDJk
NzNmMDRhMGJjMzQ2MWIyNmM1ODZlYi4uZDViYWQ5NDkxNDM0ZWM0NTQ4NDA2NDY4YTI3M2VmZDNm
N2MyOTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KQEAgLTE2MCw2ICsxNjAsOCBAQCBXS1dlYlZpZXcqIGZyb21XZWJQYWdlUHJveHko
V2ViS2l0OjpXZWJQYWdlUHJveHkmIHBhZ2UpCiAgICAgX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVu
dHMgX29ic2VydmVkUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHM7CiAKICAgICBXZWJLaXQ6OldlYWtP
YmpDUHRyPGlkIDxfV0tGb3JtRGVsZWdhdGU+PiBfZm9ybURlbGVnYXRlOworCisgICAgQ0dTaXpl
IF9pbnRyaW5zaWNDb250ZW50U2l6ZTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgUmV0YWluUHRy
PFdLU2Nyb2xsVmlldz4gX3Njcm9sbFZpZXc7CiAgICAgUmV0YWluUHRyPFdLQ29udGVudFZpZXc+
IF9jb250ZW50VmlldzsKQEAgLTM2Niw2ICszNjgsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBbGxv
d1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkKICAgICBbW19jb25maWd1cmF0aW9uIF9j
b250ZW50UHJvdmlkZXJSZWdpc3RyeV0gYWRkUGFnZToqX3BhZ2VdOwogCiAgICAgW3NlbGYgc2V0
Q2FuQXNzaXN0T25Qcm9ncmFtbWF0aWNGb2N1czpbX2NvbmZpZ3VyYXRpb24gY2FuQXNzaXN0T25Q
cm9ncmFtbWF0aWNGb2N1c11dOworICAgIF9pbnRyaW5zaWNDb250ZW50U2l6ZSA9IENHU2l6ZU1h
a2UoVUlWaWV3Tm9JbnRyaW5zaWNNZXRyaWMsIFVJVmlld05vSW50cmluc2ljTWV0cmljKTsKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtMzczLDYgKzM3Niw4IEBAIHN0YXRpYyBib29s
IHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKQogICAgIFtzZWxmIGFk
ZFN1YnZpZXc6X3drVmlldy5nZXQoKV07CiAgICAgX3BhZ2UgPSBXZWJLaXQ6OnRvSW1wbChbX3dr
VmlldyBwYWdlUmVmXSk7CiAKKyAgICBfaW50cmluc2ljQ29udGVudFNpemUgPSBDR1NpemVNYWtl
KE5TVmlld05vSW5zdHJpbnNpY01ldHJpYywgTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljKTsKKwog
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgW193a1Zp
ZXcgX3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpZRVNdOwogI2VuZGlmCkBA
IC02OTMsNiArNjk4LDI1IEBAIHN0YXRpYyBXS0Vycm9yQ29kZSBjYWxsYmFja0Vycm9yQ29kZShX
ZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9T
KQogfQogCistIChDR1NpemUpaW50cmluc2ljQ29udGVudFNpemUKK3sKKyAgICByZXR1cm4gX2lu
dHJpbnNpY0NvbnRlbnRTaXplOworfQorCistICh2b2lkKV9zZXRJbnRyaW5zaWNDb250ZW50U2l6
ZTooQ0dTaXplKWludHJpbnNpY0NvbnRlbnRTaXplCit7CisgICAgLy8gSWYgdGhlIGludHJpbnNp
YyBjb250ZW50IHNpemUgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIGxheW91dCB3aWR0aCwgdGhl
IGNvbnRlbnQgZmxvd2VkIHRvIGZpdCwKKyAgICAvLyBzbyB3ZSBjYW4gcmVwb3J0IHRoYXQgdGhh
dCBkaW1lbnNpb24gaXMgZmxleGlibGUuIElmIG5vdCwgd2UgbmVlZCB0byByZXBvcnQgb3VyIGlu
dHJpbnNpYyB3aWR0aAorICAgIC8vIHNvIHRoYXQgYXV0b2xheW91dCB3aWxsIGtub3cgdG8gcHJv
dmlkZSBzcGFjZSBmb3IgdXMuCisKKyAgICBDR1NpemUgaW50cmluc2ljQ29udGVudFNpemVBY2tu
b3dsZWRnaW5nRmxleGlibGVXaWR0aCA9IGludHJpbnNpY0NvbnRlbnRTaXplOworICAgIGlmIChp
bnRyaW5zaWNDb250ZW50U2l6ZS53aWR0aCA8IF9wYWdlLT5taW5pbXVtTGF5b3V0U2l6ZSgpLndp
ZHRoKCkpCisgICAgICAgIGludHJpbnNpY0NvbnRlbnRTaXplQWNrbm93bGVkZ2luZ0ZsZXhpYmxl
V2lkdGgud2lkdGggPSBOU1ZpZXdOb0luc3RyaW5zaWNNZXRyaWM7CisKKyAgICBfaW50cmluc2lj
Q29udGVudFNpemUgPSBpbnRyaW5zaWNDb250ZW50U2l6ZUFja25vd2xlZGdpbmdGbGV4aWJsZVdp
ZHRoOworICAgIFtzZWxmIGludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZV07Cit9CisKICNw
cmFnbWEgbWFyayBpT1Mtc3BlY2lmaWMgbWV0aG9kcwogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAt
MjY0OSw2ICsyNjczLDIxIEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0b0Zp
bmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAjZW5kaWYKIH0KIAorLSAo
Q0dGbG9hdClfbWluaW11bVdpZHRoRm9yQXV0b0xheW91dAoreworICAgIHJldHVybiBfcGFnZS0+
bWluaW11bUxheW91dFNpemUoKS53aWR0aCgpOworfQorCistICh2b2lkKV9zZXRNaW5pbXVtV2lk
dGhGb3JBdXRvTGF5b3V0OihDR0Zsb2F0KXdpZHRoCit7CisgICAgQk9PTCBleHBhbmRzVG9GaXQg
PSB3aWR0aCA+IDA7CisKKyAgICBfcGFnZS0+c2V0TWluaW11bUxheW91dFNpemUoV2ViQ29yZTo6
SW50U2l6ZSh3aWR0aCwgMCkpOworICAgIF9wYWdlLT5zZXRNYWluRnJhbWVJc1Njcm9sbGFibGUo
IWV4cGFuZHNUb0ZpdCk7CisKKyAgICBbX3drVmlldyBzZXRTaG91bGRDbGlwVG9WaXNpYmxlUmVj
dDpleHBhbmRzVG9GaXRdOworfQorCiAjcHJhZ21hIG1hcmsgaU9TLXNwZWNpZmljIG1ldGhvZHMK
IAogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBkMmRlZjIzZmQ1MjA5ZDQ5OTQw
YWFiNGFlZTg5NTgwNTNmNDJkNDgyLi5kYjI3YWQyOGY2ZWY4MDZjNGJhZGUzMGJjNDRhZTVkYTc4
YWFjNmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0ludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0xMTQsNiArMTE0LDggQEAgc3RydWN0IFByaW50SW5m
bzsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElnbm9yZXNOb25XaGVlbEV2ZW50
czopIEJPT0wgX2lnbm9yZXNOb25XaGVlbEV2ZW50czsKICNlbmRpZgogCistICh2b2lkKV9zZXRJ
bnRyaW5zaWNDb250ZW50U2l6ZTooQ0dTaXplKWludHJpbnNpY0NvbnRlbnRTaXplOworCiAtIChX
S1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nOwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGJmZWU4ODg0
ZmYxZDFhODNmOWZhNTIwYzQ2MTRkOWVmNmIwNDFmNWUuLmFjMDk4ODY2NzRhYjg0Y2Y1ODI3MWIx
YzExY2Q0MTcyMGEyYjNhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yMjUsNiArMjI1LDggQEAgdHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLSW1tZWRpYXRlQWN0aW9uVHlwZSkgewogCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgZ2V0dGVyPV9hbGxvd3NNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2ss
IHNldHRlcj1fc2V0QWxsb3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrOikgQk9PTCBfYWxs
b3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrOwogCitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRNaW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0OikgQ0dGbG9hdCBfbWluaW11bVdp
ZHRoRm9yQXV0b0xheW91dDsKKwogQGVuZAogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IGVkMjMwNDgyOTNkNjBlODlkMDIyZGI3YmQx
NzI5MDM1YTFkZTExODMuLmEyM2NmNjE4MWE5N2MyMTY3MzBhNjZjNTkxNTMwODQxNmMzMzM0ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpA
QCAtNjQxLDcgKzY0MSwxMCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWNvbW1lbmRlZFNjcm9s
bGJhclN0eWxlRGlkQ2hhbmdlKFNjcm9sbGJhclN0eWxlIG5ld1N0eWxlKQogCiB2b2lkIFBhZ2VD
bGllbnRJbXBsOjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBp
bnRyaW5zaWNDb250ZW50U2l6ZSkKIHsKLSAgICBbbV93a1ZpZXcgX3NldEludHJpbnNpY0NvbnRl
bnRTaXplOmludHJpbnNpY0NvbnRlbnRTaXplXTsKKyAgICBpZiAobV93ZWJWaWV3KQorICAgICAg
ICBbbV93ZWJWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50U2l6
ZV07CisgICAgZWxzZQorICAgICAgICBbbV93a1ZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXpl
OmludHJpbnNpY0NvbnRlbnRTaXplXTsKIH0KIAogYm9vbCBQYWdlQ2xpZW50SW1wbDo6ZXhlY3V0
ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvclN0cmluZykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggZmYzMmNmOTYyNzM1NGEyYTdkNWFj
ZTQwMzZiNDVkZDllMjkwOTYzZC4uOWFkNTAxOTM2NWFhNTM2OTdjYjEyY2FkZjFjY2M1NGEyODMx
MmZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTEzMTksNyArMTMx
OSw5IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZv
ck5ld1BhZ2UoKQogICAgICAgICBpbnQgbWluaW11bUxheW91dEhlaWdodCA9IHN0ZDo6bWF4KHdl
YlBhZ2UtPm1pbmltdW1MYXlvdXRTaXplKCkuaGVpZ2h0KCksIDEpOwogICAgICAgICBpbnQgbWF4
aW11bVNpemUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwogICAgICAgICBtX2Zy
YW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5lbmFibGVBdXRvU2l6ZU1vZGUodHJ1ZSwgSW50U2l6
ZShtaW5pbXVtTGF5b3V0V2lkdGgsIG1pbmltdW1MYXlvdXRIZWlnaHQpLCBJbnRTaXplKG1heGlt
dW1TaXplLCBtYXhpbXVtU2l6ZSkpOwotICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmll
dygpLT5zZXRBdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0
KCkpOworCisgICAgICAgIGlmICh3ZWJQYWdlLT5hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3
SGVpZ2h0KCkpCisgICAgICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRB
dXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0KCkpOwogICAg
IH0KIAogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFByb2hpYml0c1Njcm9s
bGluZyhzaG91bGREaXNhYmxlU2Nyb2xsaW5nKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNWNjYTgxMjM5ODAyYWE5MDcxMTU0ZDVmMjlkOWU1
YjNjOTYzYmE2Li4zMWFiYTVjZDIyMWU1MjRkOTkxNzU0YjFiYjg1OTczMWI1OTdlNTllIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTUtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgSG9vayB1cCBhdXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2Vi
VmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUw
MjE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbTogQWRkZWQuCisgICAg
ICAgICgtW0F1dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZp
Z2F0aW9uOl0pOgorICAgICAgICAoLVtBdXRvTGF5b3V0V0tXZWJWaWV3IGxvYWQ6ZXhwZWN0aW5n
Q29udGVudFNpemU6XSk6CisgICAgICAgICgtW0F1dG9MYXlvdXRXS1dlYlZpZXcgZXhwZWN0Q29u
dGVudFNpemVDaGFuZ2U6XSk6CisgICAgICAgICgtW0F1dG9MYXlvdXRXS1dlYlZpZXcgaW52YWxp
ZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplXSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgQWRk
IGEgdmFyaWV0eSBvZiB0ZXN0cywgaW5jbHVkaW5nIG9uZSB3aGljaCBjYXRjaGVzIHRoZSBidWcg
dGhhdAorICAgICAgICB0aGUgV2ViQ29yZSBwYXJ0IG9mIHRoaXMgcGF0Y2ggZml4ZXMuCisKIDIw
MTUtMTAtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAog
ICAgICAgICBVcGRhdGUgSW1wb3J0RXhwZWN0YXRpb25zIGFjY29yZGluZyBjdXJyZW50bHkgaW1w
b3J0ZWQgd3B0IHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYxNDQwMmE3NDBjZTZk
MjU5MDgyNDViMWVjMmIwNjU1MDNjZTg4NTcuLjJiYWJlZDkzOGRkNTE0MzVlNzRlYzNhZDdiMjJk
NDQ3OGQyZDE2NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNSw2ICszNSw3IEBACiAJ
CTI5NzIzNEI3MTczQUZBQzcwMDk4MzYwMSAvKiBDdXN0b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1l
X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTcyMzRCNTE3M0FGQUM3MDA5ODM2MDEgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVt
ZV9CdW5kbGUuY3BwICovOyB9OwogCQkyRDFGRTBCMDFBRDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRM
YXlvdXRTaXplLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQxRkUwQUYxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVkTGF5b3V0U2l6ZS5tbSAqLzsgfTsK
IAkJMkQ5QTUzQUYxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlua1RvRml0Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTUzQUUxQjMxRkE4RDAwNzRE
NUFBIC8qIFNocmlua1RvRml0Lm1tICovOyB9OworCQkyREQzNTUzNjFCRDA4Mzc4MDA1REY0QTcg
LyogQXV0b0xheW91dEludGVncmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkREMzU1MzUxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJ
bnRlZ3JhdGlvbi5tbSAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQky
REQ3RDNBRjE3ODIyN0IzMDAyNkUxRTMgLyogbG90cy1vZi10ZXh0LXZlcnRpY2FsLWxyLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRE
N0QzQUUxNzgyMjdBQzAwMjZFMUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sICov
OyB9OwogCQkyRTc3NjVDRDE2QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNzc2NUNDMTZDNEQ4MEEwMEJB
MkJCMSAvKiBtYWluSU9TLm1tICovOyB9OwogCQkyRTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyog
bWFpbk1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJFNzc2NUNFMTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWluTWFjLm1tICovOyB9OwpAQCAtNTA0LDYg
KzUwNSw3IEBACiAJCTJEMUZFMEFGMUFENDY1QzEwMDZDRDlFNiAvKiBGaXhlZExheW91dFNpemUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGaXhlZExheW91dFNp
emUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENjQwQjU0MTc4NzVERkYwMEJG
QUY5OSAvKiBTY3JvbGxQaW5uaW5nQmVoYXZpb3JzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDlBNTNBRTFCMzFGQThEMDA3NEQ1QUEgLyogU2hyaW5rVG9GaXQu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaHJpbmtUb0ZpdC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkREMzU1MzUxQkQwODM3ODAwNURGNEE3
IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IEF1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkREN0QzQTkxNzgyMDVEMDAwMjZFMUUzIC8qIFJlc2l6ZVJldmVyc2VQYWdp
bmF0ZWRXZWJWaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
c2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkREN0QzQUUxNzgyMjdBQzAwMjZFMUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1s
ci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5odG1sOyBwYXRoID0gImxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5J
T1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluSU9TLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwLDYgKzkwMiw3IEBACiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTdDRUZBOTY0MUFDMEI5RTIwMEI5MTBG
RCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovLAorCQkJCTJERDM1NTM1MUJE
MDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gKi8sCiAJCQkJQTEzRUJC
QUMxQjg3NDM2RjAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnMubW0gKi8sCiAJCQkJQTEzRUJC
QUUxQjg3NDM2RjAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnNQbHVnSW4ubW0gKi8sCiAJCQkJ
QTE0RkM1ODYxQjg5OTFCNjAwRDEwN0VCIC8qIENvbnRlbnRGaWx0ZXJpbmcubW0gKi8sCkBAIC0x
NzQyLDYgKzE3NDUsNyBAQAogCQkJCTFDQjlCQzM4MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWlu
SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5NzNCNUQxQUYyMjg3NTAwNkM3QjM2IC8qIFNo
YXJlZEJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyREQzNTUzNjFCRDA4Mzc4MDA1REY0
QTcgLyogQXV0b0xheW91dEludGVncmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBNkEx
NTIxQUFDMEIzMTAwMkIyRUQzIC8qIFdvcmtRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTQxOTczQjVCMUFGMjI4NkEwMDZDN0IzNiAvKiBGaWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQXV0
b0xheW91dEludGVncmF0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4NjllM2QwZDQ5NTQ2
MThkODljZDRiMmViZDc4MTRhNTc2OTFmY2UKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KQEAg
LTAsMCArMSwxNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbXBv
cnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0
ZS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYg
UExBVEZPUk0oTUFDKQorCitzdGF0aWMgYm9vbCBkaWRGaW5pc2hOYXZpZ2F0aW9uOworc3RhdGlj
IGJvb2wgZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplOworCitAaW50ZXJmYWNlIEF1
dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdh
dGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBBdXRvTGF5b3V0TmF2aWdhdGlvbkRlbGVnYXRl
CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0
aW9uOihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uCit7CisgICAgZGlkRmluaXNoTmF2aWdhdGlv
biA9IHRydWU7Cit9CisKK0BlbmQKKworQGludGVyZmFjZSBBdXRvTGF5b3V0V0tXZWJWaWV3IDog
V0tXZWJWaWV3CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBBdXRvTGF5b3V0V0tXZWJWaWV3IHsK
KyAgICBCT09MIF9leHBlY3RpbmdJbnRyaW5zaWNDb250ZW50U2l6ZUNoYW5nZTsKKyAgICBOU1Np
emUgX2V4cGVjdGVkSW50cmluc2ljQ29udGVudFNpemU7Cit9CisKKy0gKHZvaWQpbG9hZDooTlNT
dHJpbmcgKilIVE1MU3RyaW5nIGV4cGVjdGluZ0NvbnRlbnRTaXplOihOU1NpemUpc2l6ZQorewor
ICAgIEVYUEVDVF9GQUxTRShfZXhwZWN0aW5nSW50cmluc2ljQ29udGVudFNpemVDaGFuZ2UpOwor
CisgICAgTlNTdHJpbmcgKmJhc2VIVE1MID0gQCI8c3R5bGU+IgorICAgICJib2R5LCBodG1sIHsg
bWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9IgorICAgICJkaXYgeyBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsgfSIKKyAgICAiLnNtYWxsIHsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgfSIKKyAg
ICAiLmxhcmdlIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9IgorICAgICIudmVyeVdp
ZGUgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTBweDsgfSIKKyAgICAiLmlubGluZSB7IGRpc3Bs
YXk6IGlubGluZS1ibG9jazsgfSIKKyAgICAiLm91dE9mRmxvdyB7IHBvc2l0aW9uOiByZWxhdGl2
ZTsgfSIKKyAgICAiPC9zdHlsZT4iOworCisgICAgZGlkRmluaXNoTmF2aWdhdGlvbiA9IGZhbHNl
OworICAgIFtzZWxmIGxvYWRIVE1MU3RyaW5nOltiYXNlSFRNTCBzdHJpbmdCeUFwcGVuZGluZ1N0
cmluZzpIVE1MU3RyaW5nXSBiYXNlVVJMOm5pbF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkaWRGaW5pc2hOYXZpZ2F0aW9uKTsKKworICAgIFtzZWxmIGV4cGVjdENvbnRlbnRTaXpl
Q2hhbmdlOnNpemVdOworfQorCistICh2b2lkKWV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOihOU1Np
emUpc2l6ZQoreworICAgIC8vIE5PVEU6IEVhY2ggYWRqYWNlbnQgZXhwZWN0ZWQgcmVzdWx0IG11
c3QgYmUgZGlmZmVyZW50LCBvciB3ZSdsbCBlYXJseSByZXR1cm4gYW5kIG5vdCBjYWxsIGludmFs
aWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSEKKyAgICBFWFBFQ1RfRkFMU0UoTlNFcXVhbFNpemVz
KHNpemUsIHNlbGYuaW50cmluc2ljQ29udGVudFNpemUpKTsKKworICAgIF9leHBlY3RpbmdJbnRy
aW5zaWNDb250ZW50U2l6ZUNoYW5nZSA9IFlFUzsKKyAgICBfZXhwZWN0ZWRJbnRyaW5zaWNDb250
ZW50U2l6ZSA9IHNpemU7CisgICAgZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplID0g
ZmFsc2U7CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRJbnZhbGlkYXRlSW50cmlu
c2ljQ29udGVudFNpemUpOworfQorCistICh2b2lkKWludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50
U2l6ZQoreworICAgIGlmICghX2V4cGVjdGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBfZXhwZWN0aW5nSW50cmluc2ljQ29udGVudFNpemVDaGFu
Z2UgPSBOTzsKKworICAgIE5TU2l6ZSBpbnRyaW5zaWNDb250ZW50U2l6ZSA9IHNlbGYuaW50cmlu
c2ljQ29udGVudFNpemU7CisgICAgRVhQRUNUX0VRKF9leHBlY3RlZEludHJpbnNpY0NvbnRlbnRT
aXplLndpZHRoLCBpbnRyaW5zaWNDb250ZW50U2l6ZS53aWR0aCk7CisgICAgRVhQRUNUX0VRKF9l
eHBlY3RlZEludHJpbnNpY0NvbnRlbnRTaXplLmhlaWdodCwgaW50cmluc2ljQ29udGVudFNpemUu
aGVpZ2h0KTsKKworICAgIGRpZEludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSA9IHRydWU7
Cit9CisKK0BlbmQKKworVEVTVChXZWJLaXQyLCBBdXRvTGF5b3V0SW50ZWdyYXRpb24pCit7Cisg
ICAgUmV0YWluUHRyPEF1dG9MYXlvdXRXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbQXV0
b0xheW91dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEw
MDAsIDEwMDApXSk7CisgICAgW3dlYlZpZXcgX3NldE1pbmltdW1XaWR0aEZvckF1dG9MYXlvdXQ6
NTBdOworCisgICAgQXV0b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZSAqZGVsZWdhdGUgPSBbW0F1
dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdOworICAgIFt3ZWJWaWV3IHNl
dE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZV07CisKKyAgICAvLyAxMHgxMCByZWN0IHdpdGgg
dGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDUwKSAtPiA1MHgxMAorICAgIFt3ZWJWaWV3IGxvYWQ6
QCI8ZGl2IGNsYXNzPSdzbWFsbCc+PC9kaXY+IiBleHBlY3RpbmdDb250ZW50U2l6ZTpOU01ha2VT
aXplKDUwLCAxMCldOworCisgICAgLy8gMTAweDEwMCByZWN0IHdpdGggdGhlIGNvbnN0cmFpbnQg
KHdpZHRoID49IDUwKSAtPiAxMDB4MTAwCisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9
J2xhcmdlJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCAxMDAp
XTsKKworICAgIC8vIDEwMHgxMCByZWN0IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDUw
KSAtPiAxMDB4MTAKKyAgICBbd2ViVmlldyBsb2FkOkAiPGRpdiBjbGFzcz0ndmVyeVdpZGUnPjwv
ZGl2PiIgZXhwZWN0aW5nQ29udGVudFNpemU6TlNNYWtlU2l6ZSgxMDAsIDEwKV07CisKKyAgICAv
LyAxMDB4MTAwIHJlY3QgaW4gYW4gb3V0LW9mLWZsb3cgYm9keSB3aXRoIHRoZSBjb25zdHJhaW50
ICh3aWR0aCA+PSA1MCkgLT4gMTAweDEwMAorICAgIFt3ZWJWaWV3IGxvYWQ6QCI8Ym9keSBjbGFz
cz0nb3V0T2ZGbG93Jz48ZGl2IGNsYXNzPSdsYXJnZSc+PC9kaXY+PC9ib2R5PiIgZXhwZWN0aW5n
Q29udGVudFNpemU6TlNNYWtlU2l6ZSgxMDAsIDEwMCldOworCisgICAgLy8gVGVuIDEweDEwIHJl
Y3RzLCBpbmxpbmUsIHNob3VsZCByZXN1bHQgaW4gdHdvIHJvd3Mgb2YgZml2ZTsgd2l0aCB0aGUg
Y29uc3RyYWludCAod2lkdGggPj0gNTApIC0+IDUweDIwCisgICAgW3dlYlZpZXcgbG9hZDpAIjxk
aXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48
L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlu
bGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdz
bWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBj
bGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2
PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+IiBleHBlY3RpbmdDb250ZW50U2l6ZTpO
U01ha2VTaXplKDUwLCAyMCldOworCisgICAgLy8gQ2hhbmdpbmcgdGhlIHdpZHRoIHRvIDEwIHNo
b3VsZCByZXN1bHQgaW4gdGVuIHJvd3Mgb2Ygb25lOyB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0
aCA+PSAxMCkgLT4gMTB4MTAwCisgICAgW3dlYlZpZXcgX3NldE1pbmltdW1XaWR0aEZvckF1dG9M
YXlvdXQ6MTBdOworICAgIFt3ZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOk5TTWFrZVNp
emUoMTAsIDEwMCldOworCisgICAgLy8gQ2hhbmdpbmcgdGhlIHdpZHRoIHRvIDEwMCBzaG91bGQg
cmVzdWx0IGluIG9uZSByb3dzIG9mIHRlbjsgd2l0aCB0aGUgY29uc3RyYWludCAod2lkdGggPj0g
MTAwKSAtPiAxMDB4MTAKKyAgICBbd2ViVmlldyBfc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91
dDoxMDBdOworICAgIFt3ZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOk5TTWFrZVNpemUo
MTAwLCAxMCldOworCisgICAgLy8gT25lIDEwMHgxMDAgcmVjdCBhbmQgdGVuIDEweDEwIHJlY3Rz
LCBpbmxpbmU7IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDIwKSAtPiAxMDB4MTEwCisg
ICAgW3dlYlZpZXcgX3NldE1pbmltdW1XaWR0aEZvckF1dG9MYXlvdXQ6MjBdOworICAgIFt3ZWJW
aWV3IGxvYWQ6QCI8ZGl2IGNsYXNzPSdsYXJnZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5s
aW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3Nt
YWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNs
YXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+
PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUn
PjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwg
aW5saW5lJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCAxMTAp
XTsKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263239</attachid>
            <date>2015-10-15 19:43:08 -0700</date>
            <delta_ts>2015-10-16 10:05:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150219-20151015194230.patch</filename>
            <type>text/plain</type>
            <size>21819</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5ZTQ5NDQzNmQyOWJi
OTgxMjdlMmU3ZTg1NTk3NDViYzIwMzdiYS4uYzZlYjQzMGIzM2U5Y2NhM2JhMGJjZDNkZWU2ZmQ1
NGE0YzZjYTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE1LTEwLTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEhvb2sgdXAgYXV0
b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTmV3IEFQSSB0ZXN0OiBXZWJLaXQyLkF1dG9MYXlvdXRJbnRlZ3JhdGlvbi4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6YXV0b1NpemVJZkVuYWJsZWQpOgorICAgICAgICBXaGVuIGF1dG9zaXppbmcgYSBkb2N1bWVu
dCBpbiB3aGljaCB0aGUgYm9keSBleHBhbmRzIHRvIHRoZSBzaXplIG9mIAorICAgICAgICB0aGUg
dmlldyAoYSBmZWF0dXJlIG9mIHF1aXJrcyBtb2RlKSwgdGhlIGZpcnN0ICh3aWR0aC1kZXRlcm1p
bmluZykKKyAgICAgICAgYXV0b3NpemluZyB3aWxsIHJlc2l6ZSB0aGUgdmlldyB0byB0aGUgZG9j
dW1lbnQgaGVpZ2h0ICh3aGljaCBpcyBhdCAKKyAgICAgICAgbGVhc3QgdGhlIGJvZHkgaGVpZ2h0
KSwgYW5kIHRoZSBzZWNvbmQgdGltZSBhcm91bmQsIHRoZSBoZWlnaHQgd2lsbAorICAgICAgICBu
b3QgZGVjcmVhc2UgKGJlY2F1c2UgaXQgd2FzIGV4cGFuZGVkIHRvIHRoZSBzaXplIG9mIHRoZSB2
aWV3KS4KKworICAgICAgICBJbnN0ZWFkLCB0aGUgZmlyc3QgdGltZSBhcm91bmQsIHdlIHNob3Vs
ZCB1c2UgdGhlIGNvbXB1dGVkIHdpZHRoLAorICAgICAgICBidXQgc2hyaW5rIHRoZSBoZWlnaHQg
YmFjayBkb3duIHRvIHRoZSBtaW5pbXVtLCBhbmQgdGhlbiBleHBhbmQKKyAgICAgICAgb25seSBh
cyBtdWNoIGFzIG5lZWRlZCB0byBmaXQgdGhlIGNvbnRlbnQuCisKKzIwMTUtMTAtMTUgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgVHJ5IHRvIGZpeCB0
aGUgaU9TIGJ1aWxkLgogCiAgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBmYTg5M2QwNmY0M2E0OTM1ZTVmZTZjZmQ3MDQ3ZDM3ZmYyYjE4MTNhLi4wYWMyMTRjNjc1
NGYxMmFmMGYzZDM5NGNiMmRjNzJjZmIxZmJjYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTUtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgSG9vayB1cCBhdXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2ViVmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjE5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW5pdFdpdGhGcmFtZTpjb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW50cmluc2ljQ29udGVudFNpemVdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9taW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBfc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91dDpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgIEFkZCBhIHNpbXBsZSBTUEkgdG8g
c3BlY2lmeSB0aGUgbWluaW11bSB3aWR0aCB0aGF0IGEgV0tXZWJWaWV3IHdpbGwgYXR0ZW1wdAor
ICAgICAgICB0byBsYXkgb3V0IHRvLCBzaW1pbGFyIHRvIFdLVmlldyBleGNlcHQganVzdCBhIHdp
ZHRoLCBub3QgYSBzaXplLCBhbmQKKyAgICAgICAgd2l0aCBubyBvcHRpb24gdG8gZm9yY2UgdGhl
IGhlaWdodCB0byB0aGUgdmlldyBzaXplLiBTaW1pbGFyIGJlaGF2aW9yIGNhbgorICAgICAgICBi
ZSBhY2hpZXZlZCBieSBjbGllbnRzIGJ5IHNldHRpbmcgY3VzdG9tIGF1dG9sYXlvdXQgY29uc3Ry
YWludHMgb24gdGhlIHZpZXcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29udGVu
dFNpemVEaWRDaGFuZ2UpOgorICAgICAgICBGb3J3YXJkIGludHJpbnNpYyBjb250ZW50IHNpemUg
Y2hhbmdlcyB0byB0aGUgV0tXZWJWaWV3LCBub3QgaXRzIGlubmVyIFdLVmlldywKKyAgICAgICAg
aWYgd2UgaGF2ZSBvbmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJD
bGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAgICAgICBPbmx5IHNl
dCB0aGUgYXV0b3NpemluZyBmaXhlZCBtaW5pbXVtIGhlaWdodCBpZiB3ZSdyZSB1c2luZyB0aGF0
IGJlaGF2aW9yOworICAgICAgICBvdGhlcndpc2UsIHNldHRpbmcgaXQgdG8gdGhlIHZpZXcncyBo
ZWlnaHQgd2lsbCBlbmQgdXAgYWNjaWRlbnRhbGx5CisgICAgICAgIHR1cm5pbmcgb24gdGhhdCBi
ZWhhdmlvciAod2hpY2ggaW52b2x2ZXMgYW4gZXh0cmEgbGF5b3V0IHBlciByZXNpemUhKS4KKwog
MjAxNS0xMC0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVGVzdCBXZWJLaXQyLlJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5n
Rm9ybURhdGEgZmFpbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA0OTU1ZDAxNTli
YWM1MzhhY2RmN2ZhNzhmODA1MDMzMDZmNWQ5N2I3Li4xMjI5NjRhNzllZGJiYzRlYmE5ZDk3MTNh
ZWM1Mzg1N2I3ZjY2ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMjgxLDcg
KzMyODEsMTAgQEAgdm9pZCBGcmFtZVZpZXc6OmF1dG9TaXplSWZFbmFibGVkKCkKICAgICAgICAg
ICAgICYmICFmcmFtZSgpLmxvYWRlcigpLmlzQ29tcGxldGUoKSAmJiAobmV3U2l6ZS5oZWlnaHQo
KSA8IHNpemUuaGVpZ2h0KCkgfHwgbmV3U2l6ZS53aWR0aCgpIDwgc2l6ZS53aWR0aCgpKSkKICAg
ICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJlc2l6ZShuZXdTaXplLndpZHRoKCksIG5ld1Np
emUuaGVpZ2h0KCkpOworICAgICAgICAvLyBUaGUgZmlyc3QgdGltZSBhcm91bmQsIHJlc2l6ZSB0
byB0aGUgbWluaW11bSBoZWlnaHQgYWdhaW47IG90aGVyd2lzZSwKKyAgICAgICAgLy8gb24gcGFn
ZXMgKGUuZy4gcXVpcmtzIG1vZGUpIHdoZXJlIHRoZSBib2R5L2RvY3VtZW50IHJlc2l6ZSB0byB0
aGUgdmlldyBzaXplLAorICAgICAgICAvLyB3ZSdsbCBlbmQgdXAgbm90IHNocmlua2luZyBiYWNr
IGRvd24gYWZ0ZXIgcmVzaXppbmcgdG8gdGhlIGNvbXB1dGVkIHByZWZlcnJlZCB3aWR0aC4KKyAg
ICAgICAgcmVzaXplKG5ld1NpemUud2lkdGgoKSwgaSA/IG5ld1NpemUuaGVpZ2h0KCkgOiBtX21p
bkF1dG9TaXplLmhlaWdodCgpKTsKICAgICAgICAgLy8gRm9yY2UgdGhlIHNjcm9sbGJhciBzdGF0
ZSB0byBhdm9pZCB0aGUgc2Nyb2xsYmFyIGNvZGUgYWRkaW5nIHRoZW0gYW5kIGNhdXNpbmcgdGhl
bSB0byBiZSBuZWVkZWQuIEZvciBleGFtcGxlLAogICAgICAgICAvLyBhIHZlcnRpY2FsIHNjcm9s
bGJhciBtYXkgY2F1c2UgdGV4dCB0byB3cmFwIGFuZCB0aHVzIGluY3JlYXNlIHRoZSBoZWlnaHQg
KHdoaWNoIGlzIHRoZSBvbmx5IHJlYXNvbiB0aGUgc2NvbGxiYXIgaXMgbmVlZGVkKS4KICAgICAg
ICAgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYzdlMjJhYWIwODAyODQxZDJk
NzNmMDRhMGJjMzQ2MWIyNmM1ODZlYi4uZDViYWQ5NDkxNDM0ZWM0NTQ4NDA2NDY4YTI3M2VmZDNm
N2MyOTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KQEAgLTE2MCw2ICsxNjAsOCBAQCBXS1dlYlZpZXcqIGZyb21XZWJQYWdlUHJveHko
V2ViS2l0OjpXZWJQYWdlUHJveHkmIHBhZ2UpCiAgICAgX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVu
dHMgX29ic2VydmVkUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHM7CiAKICAgICBXZWJLaXQ6OldlYWtP
YmpDUHRyPGlkIDxfV0tGb3JtRGVsZWdhdGU+PiBfZm9ybURlbGVnYXRlOworCisgICAgQ0dTaXpl
IF9pbnRyaW5zaWNDb250ZW50U2l6ZTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgUmV0YWluUHRy
PFdLU2Nyb2xsVmlldz4gX3Njcm9sbFZpZXc7CiAgICAgUmV0YWluUHRyPFdLQ29udGVudFZpZXc+
IF9jb250ZW50VmlldzsKQEAgLTM2Niw2ICszNjgsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBbGxv
d1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkKICAgICBbW19jb25maWd1cmF0aW9uIF9j
b250ZW50UHJvdmlkZXJSZWdpc3RyeV0gYWRkUGFnZToqX3BhZ2VdOwogCiAgICAgW3NlbGYgc2V0
Q2FuQXNzaXN0T25Qcm9ncmFtbWF0aWNGb2N1czpbX2NvbmZpZ3VyYXRpb24gY2FuQXNzaXN0T25Q
cm9ncmFtbWF0aWNGb2N1c11dOworICAgIF9pbnRyaW5zaWNDb250ZW50U2l6ZSA9IENHU2l6ZU1h
a2UoVUlWaWV3Tm9JbnRyaW5zaWNNZXRyaWMsIFVJVmlld05vSW50cmluc2ljTWV0cmljKTsKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtMzczLDYgKzM3Niw4IEBAIHN0YXRpYyBib29s
IHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKQogICAgIFtzZWxmIGFk
ZFN1YnZpZXc6X3drVmlldy5nZXQoKV07CiAgICAgX3BhZ2UgPSBXZWJLaXQ6OnRvSW1wbChbX3dr
VmlldyBwYWdlUmVmXSk7CiAKKyAgICBfaW50cmluc2ljQ29udGVudFNpemUgPSBDR1NpemVNYWtl
KE5TVmlld05vSW5zdHJpbnNpY01ldHJpYywgTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljKTsKKwog
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgW193a1Zp
ZXcgX3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpZRVNdOwogI2VuZGlmCkBA
IC02OTMsNiArNjk4LDI1IEBAIHN0YXRpYyBXS0Vycm9yQ29kZSBjYWxsYmFja0Vycm9yQ29kZShX
ZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9T
KQogfQogCistIChDR1NpemUpaW50cmluc2ljQ29udGVudFNpemUKK3sKKyAgICByZXR1cm4gX2lu
dHJpbnNpY0NvbnRlbnRTaXplOworfQorCistICh2b2lkKV9zZXRJbnRyaW5zaWNDb250ZW50U2l6
ZTooQ0dTaXplKWludHJpbnNpY0NvbnRlbnRTaXplCit7CisgICAgLy8gSWYgdGhlIGludHJpbnNp
YyBjb250ZW50IHNpemUgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIGxheW91dCB3aWR0aCwgdGhl
IGNvbnRlbnQgZmxvd2VkIHRvIGZpdCwKKyAgICAvLyBzbyB3ZSBjYW4gcmVwb3J0IHRoYXQgdGhh
dCBkaW1lbnNpb24gaXMgZmxleGlibGUuIElmIG5vdCwgd2UgbmVlZCB0byByZXBvcnQgb3VyIGlu
dHJpbnNpYyB3aWR0aAorICAgIC8vIHNvIHRoYXQgYXV0b2xheW91dCB3aWxsIGtub3cgdG8gcHJv
dmlkZSBzcGFjZSBmb3IgdXMuCisKKyAgICBDR1NpemUgaW50cmluc2ljQ29udGVudFNpemVBY2tu
b3dsZWRnaW5nRmxleGlibGVXaWR0aCA9IGludHJpbnNpY0NvbnRlbnRTaXplOworICAgIGlmIChp
bnRyaW5zaWNDb250ZW50U2l6ZS53aWR0aCA8IF9wYWdlLT5taW5pbXVtTGF5b3V0U2l6ZSgpLndp
ZHRoKCkpCisgICAgICAgIGludHJpbnNpY0NvbnRlbnRTaXplQWNrbm93bGVkZ2luZ0ZsZXhpYmxl
V2lkdGgud2lkdGggPSBOU1ZpZXdOb0luc3RyaW5zaWNNZXRyaWM7CisKKyAgICBfaW50cmluc2lj
Q29udGVudFNpemUgPSBpbnRyaW5zaWNDb250ZW50U2l6ZUFja25vd2xlZGdpbmdGbGV4aWJsZVdp
ZHRoOworICAgIFtzZWxmIGludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZV07Cit9CisKICNw
cmFnbWEgbWFyayBpT1Mtc3BlY2lmaWMgbWV0aG9kcwogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAt
MjY0OSw2ICsyNjczLDIxIEBAIHN0YXRpYyBpbmxpbmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0b0Zp
bmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZE9wdGlvbnMpCiAjZW5kaWYKIH0KIAorLSAo
Q0dGbG9hdClfbWluaW11bVdpZHRoRm9yQXV0b0xheW91dAoreworICAgIHJldHVybiBfcGFnZS0+
bWluaW11bUxheW91dFNpemUoKS53aWR0aCgpOworfQorCistICh2b2lkKV9zZXRNaW5pbXVtV2lk
dGhGb3JBdXRvTGF5b3V0OihDR0Zsb2F0KXdpZHRoCit7CisgICAgQk9PTCBleHBhbmRzVG9GaXQg
PSB3aWR0aCA+IDA7CisKKyAgICBfcGFnZS0+c2V0TWluaW11bUxheW91dFNpemUoV2ViQ29yZTo6
SW50U2l6ZSh3aWR0aCwgMCkpOworICAgIF9wYWdlLT5zZXRNYWluRnJhbWVJc1Njcm9sbGFibGUo
IWV4cGFuZHNUb0ZpdCk7CisKKyAgICBbX3drVmlldyBzZXRTaG91bGRDbGlwVG9WaXNpYmxlUmVj
dDpleHBhbmRzVG9GaXRdOworfQorCiAjcHJhZ21hIG1hcmsgaU9TLXNwZWNpZmljIG1ldGhvZHMK
IAogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBkMmRlZjIzZmQ1MjA5ZDQ5OTQw
YWFiNGFlZTg5NTgwNTNmNDJkNDgyLi5kYjI3YWQyOGY2ZWY4MDZjNGJhZGUzMGJjNDRhZTVkYTc4
YWFjNmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0ludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0xMTQsNiArMTE0LDggQEAgc3RydWN0IFByaW50SW5m
bzsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElnbm9yZXNOb25XaGVlbEV2ZW50
czopIEJPT0wgX2lnbm9yZXNOb25XaGVlbEV2ZW50czsKICNlbmRpZgogCistICh2b2lkKV9zZXRJ
bnRyaW5zaWNDb250ZW50U2l6ZTooQ0dTaXplKWludHJpbnNpY0NvbnRlbnRTaXplOworCiAtIChX
S1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nOwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGJmZWU4ODg0
ZmYxZDFhODNmOWZhNTIwYzQ2MTRkOWVmNmIwNDFmNWUuLmFjMDk4ODY2NzRhYjg0Y2Y1ODI3MWIx
YzExY2Q0MTcyMGEyYjNhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yMjUsNiArMjI1LDggQEAgdHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLSW1tZWRpYXRlQWN0aW9uVHlwZSkgewogCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgZ2V0dGVyPV9hbGxvd3NNZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2ss
IHNldHRlcj1fc2V0QWxsb3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrOikgQk9PTCBfYWxs
b3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrOwogCitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRNaW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0OikgQ0dGbG9hdCBfbWluaW11bVdp
ZHRoRm9yQXV0b0xheW91dDsKKwogQGVuZAogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IGVkMjMwNDgyOTNkNjBlODlkMDIyZGI3YmQx
NzI5MDM1YTFkZTExODMuLmEyM2NmNjE4MWE5N2MyMTY3MzBhNjZjNTkxNTMwODQxNmMzMzM0ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpA
QCAtNjQxLDcgKzY0MSwxMCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWNvbW1lbmRlZFNjcm9s
bGJhclN0eWxlRGlkQ2hhbmdlKFNjcm9sbGJhclN0eWxlIG5ld1N0eWxlKQogCiB2b2lkIFBhZ2VD
bGllbnRJbXBsOjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBp
bnRyaW5zaWNDb250ZW50U2l6ZSkKIHsKLSAgICBbbV93a1ZpZXcgX3NldEludHJpbnNpY0NvbnRl
bnRTaXplOmludHJpbnNpY0NvbnRlbnRTaXplXTsKKyAgICBpZiAobV93ZWJWaWV3KQorICAgICAg
ICBbbV93ZWJWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50U2l6
ZV07CisgICAgZWxzZQorICAgICAgICBbbV93a1ZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXpl
OmludHJpbnNpY0NvbnRlbnRTaXplXTsKIH0KIAogYm9vbCBQYWdlQ2xpZW50SW1wbDo6ZXhlY3V0
ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvclN0cmluZykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggZmYzMmNmOTYyNzM1NGEyYTdkNWFj
ZTQwMzZiNDVkZDllMjkwOTYzZC4uOWFkNTAxOTM2NWFhNTM2OTdjYjEyY2FkZjFjY2M1NGEyODMx
MmZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTEzMTksNyArMTMx
OSw5IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZv
ck5ld1BhZ2UoKQogICAgICAgICBpbnQgbWluaW11bUxheW91dEhlaWdodCA9IHN0ZDo6bWF4KHdl
YlBhZ2UtPm1pbmltdW1MYXlvdXRTaXplKCkuaGVpZ2h0KCksIDEpOwogICAgICAgICBpbnQgbWF4
aW11bVNpemUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwogICAgICAgICBtX2Zy
YW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5lbmFibGVBdXRvU2l6ZU1vZGUodHJ1ZSwgSW50U2l6
ZShtaW5pbXVtTGF5b3V0V2lkdGgsIG1pbmltdW1MYXlvdXRIZWlnaHQpLCBJbnRTaXplKG1heGlt
dW1TaXplLCBtYXhpbXVtU2l6ZSkpOwotICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmll
dygpLT5zZXRBdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0
KCkpOworCisgICAgICAgIGlmICh3ZWJQYWdlLT5hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3
SGVpZ2h0KCkpCisgICAgICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRB
dXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0KCkpOwogICAg
IH0KIAogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFByb2hpYml0c1Njcm9s
bGluZyhzaG91bGREaXNhYmxlU2Nyb2xsaW5nKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNWNjYTgxMjM5ODAyYWE5MDcxMTU0ZDVmMjlkOWU1
YjNjOTYzYmE2Li4zMWFiYTVjZDIyMWU1MjRkOTkxNzU0YjFiYjg1OTczMWI1OTdlNTllIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTUtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgSG9vayB1cCBhdXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2Vi
VmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUw
MjE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbTogQWRkZWQuCisgICAg
ICAgICgtW0F1dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZp
Z2F0aW9uOl0pOgorICAgICAgICAoLVtBdXRvTGF5b3V0V0tXZWJWaWV3IGxvYWQ6ZXhwZWN0aW5n
Q29udGVudFNpemU6XSk6CisgICAgICAgICgtW0F1dG9MYXlvdXRXS1dlYlZpZXcgZXhwZWN0Q29u
dGVudFNpemVDaGFuZ2U6XSk6CisgICAgICAgICgtW0F1dG9MYXlvdXRXS1dlYlZpZXcgaW52YWxp
ZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplXSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgQWRk
IGEgdmFyaWV0eSBvZiB0ZXN0cywgaW5jbHVkaW5nIG9uZSB3aGljaCBjYXRjaGVzIHRoZSBidWcg
dGhhdAorICAgICAgICB0aGUgV2ViQ29yZSBwYXJ0IG9mIHRoaXMgcGF0Y2ggZml4ZXMuCisKIDIw
MTUtMTAtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAog
ICAgICAgICBVcGRhdGUgSW1wb3J0RXhwZWN0YXRpb25zIGFjY29yZGluZyBjdXJyZW50bHkgaW1w
b3J0ZWQgd3B0IHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYxNDQwMmE3NDBjZTZk
MjU5MDgyNDViMWVjMmIwNjU1MDNjZTg4NTcuLjJiYWJlZDkzOGRkNTE0MzVlNzRlYzNhZDdiMjJk
NDQ3OGQyZDE2NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNSw2ICszNSw3IEBACiAJ
CTI5NzIzNEI3MTczQUZBQzcwMDk4MzYwMSAvKiBDdXN0b21Qcm90b2NvbHNJbnZhbGlkU2NoZW1l
X0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOTcyMzRCNTE3M0FGQUM3MDA5ODM2MDEgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVt
ZV9CdW5kbGUuY3BwICovOyB9OwogCQkyRDFGRTBCMDFBRDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRM
YXlvdXRTaXplLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQxRkUwQUYxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVkTGF5b3V0U2l6ZS5tbSAqLzsgfTsK
IAkJMkQ5QTUzQUYxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlua1RvRml0Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QTUzQUUxQjMxRkE4RDAwNzRE
NUFBIC8qIFNocmlua1RvRml0Lm1tICovOyB9OworCQkyREQzNTUzNjFCRDA4Mzc4MDA1REY0QTcg
LyogQXV0b0xheW91dEludGVncmF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkREMzU1MzUxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJ
bnRlZ3JhdGlvbi5tbSAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQky
REQ3RDNBRjE3ODIyN0IzMDAyNkUxRTMgLyogbG90cy1vZi10ZXh0LXZlcnRpY2FsLWxyLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRE
N0QzQUUxNzgyMjdBQzAwMjZFMUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sICov
OyB9OwogCQkyRTc3NjVDRDE2QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNzc2NUNDMTZDNEQ4MEEwMEJB
MkJCMSAvKiBtYWluSU9TLm1tICovOyB9OwogCQkyRTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyog
bWFpbk1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJFNzc2NUNFMTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWluTWFjLm1tICovOyB9OwpAQCAtNTA0LDYg
KzUwNSw3IEBACiAJCTJEMUZFMEFGMUFENDY1QzEwMDZDRDlFNiAvKiBGaXhlZExheW91dFNpemUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGaXhlZExheW91dFNp
emUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENjQwQjU0MTc4NzVERkYwMEJG
QUY5OSAvKiBTY3JvbGxQaW5uaW5nQmVoYXZpb3JzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNjcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDlBNTNBRTFCMzFGQThEMDA3NEQ1QUEgLyogU2hyaW5rVG9GaXQu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaHJpbmtUb0ZpdC5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkREMzU1MzUxQkQwODM3ODAwNURGNEE3
IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IEF1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkREN0QzQTkxNzgyMDVEMDAwMjZFMUUzIC8qIFJlc2l6ZVJldmVyc2VQYWdp
bmF0ZWRXZWJWaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
c2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkREN0QzQUUxNzgyMjdBQzAwMjZFMUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1s
ci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5odG1sOyBwYXRoID0gImxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5J
T1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluSU9TLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwLDYgKzkwMiw3IEBACiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTdDRUZBOTY0MUFDMEI5RTIwMEI5MTBG
RCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovLAorCQkJCTJERDM1NTM1MUJE
MDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gKi8sCiAJCQkJQTEzRUJC
QUMxQjg3NDM2RjAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnMubW0gKi8sCiAJCQkJQTEzRUJC
QUUxQjg3NDM2RjAwMDk3MTEwIC8qIEJ1bmRsZVBhcmFtZXRlcnNQbHVnSW4ubW0gKi8sCiAJCQkJ
QTE0RkM1ODYxQjg5OTFCNjAwRDEwN0VCIC8qIENvbnRlbnRGaWx0ZXJpbmcubW0gKi8sCkBAIC0x
NzQyLDYgKzE3NDUsNyBAQAogCQkJCTFDQjlCQzM4MUE2NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWlu
SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE5NzNCNUQxQUYyMjg3NTAwNkM3QjM2IC8qIFNo
YXJlZEJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyREQzNTUzNjFCRDA4Mzc4MDA1REY0
QTcgLyogQXV0b0xheW91dEludGVncmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBNkEx
NTIxQUFDMEIzMTAwMkIyRUQzIC8qIFdvcmtRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTQxOTczQjVCMUFGMjI4NkEwMDZDN0IzNiAvKiBGaWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQXV0
b0xheW91dEludGVncmF0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxYmUyZjM1YzYyM2Yw
NWU5NjU5OWJlZWFjYmFhYmJkMTkyNmI1NjAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KQEAg
LTAsMCArMSwxMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbXBv
cnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0
ZS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYg
UExBVEZPUk0oTUFDKQorCitzdGF0aWMgYm9vbCBkaWRGaW5pc2hOYXZpZ2F0aW9uOworc3RhdGlj
IGJvb2wgZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplOworCitAaW50ZXJmYWNlIEF1
dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdh
dGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBBdXRvTGF5b3V0TmF2aWdhdGlvbkRlbGVnYXRl
CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGaW5pc2hOYXZpZ2F0
aW9uOihXS05hdmlnYXRpb24gKiluYXZpZ2F0aW9uCit7CisgICAgZGlkRmluaXNoTmF2aWdhdGlv
biA9IHRydWU7Cit9CisKK0BlbmQKKworQGludGVyZmFjZSBBdXRvTGF5b3V0V0tXZWJWaWV3IDog
V0tXZWJWaWV3CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBBdXRvTGF5b3V0V0tXZWJWaWV3IHsK
KyAgICBCT09MIF9leHBlY3RpbmdJbnRyaW5zaWNDb250ZW50U2l6ZUNoYW5nZTsKKyAgICBOU1Np
emUgX2V4cGVjdGVkSW50cmluc2ljQ29udGVudFNpemU7Cit9CisKKy0gKHZvaWQpbG9hZDooTlNT
dHJpbmcgKilIVE1MU3RyaW5nIGV4cGVjdGluZ0NvbnRlbnRTaXplOihOU1NpemUpc2l6ZQorewor
ICAgIEVYUEVDVF9GQUxTRShfZXhwZWN0aW5nSW50cmluc2ljQ29udGVudFNpemVDaGFuZ2UpOwor
CisgICAgTlNTdHJpbmcgKmJhc2VIVE1MID0gQCI8c3R5bGU+IgorICAgICJib2R5LCBodG1sIHsg
bWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9IgorICAgICJkaXYgeyBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsgfSIKKyAgICAiLnNtYWxsIHsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgfSIKKyAg
ICAiLmxhcmdlIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9IgorICAgICIudmVyeVdp
ZGUgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTBweDsgfSIKKyAgICAiLmlubGluZSB7IGRpc3Bs
YXk6IGlubGluZS1ibG9jazsgfSIKKyAgICAiPC9zdHlsZT4iOworCisgICAgZGlkRmluaXNoTmF2
aWdhdGlvbiA9IGZhbHNlOworICAgIFtzZWxmIGxvYWRIVE1MU3RyaW5nOltiYXNlSFRNTCBzdHJp
bmdCeUFwcGVuZGluZ1N0cmluZzpIVE1MU3RyaW5nXSBiYXNlVVJMOm5pbF07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkaWRGaW5pc2hOYXZpZ2F0aW9uKTsKKworICAgIFtzZWxmIGV4
cGVjdENvbnRlbnRTaXplQ2hhbmdlOnNpemVdOworfQorCistICh2b2lkKWV4cGVjdENvbnRlbnRT
aXplQ2hhbmdlOihOU1NpemUpc2l6ZQoreworICAgIC8vIE5PVEU6IEVhY2ggYWRqYWNlbnQgZXhw
ZWN0ZWQgcmVzdWx0IG11c3QgYmUgZGlmZmVyZW50LCBvciB3ZSdsbCBlYXJseSByZXR1cm4gYW5k
IG5vdCBjYWxsIGludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSEKKyAgICBFWFBFQ1RfRkFM
U0UoTlNFcXVhbFNpemVzKHNpemUsIHNlbGYuaW50cmluc2ljQ29udGVudFNpemUpKTsKKworICAg
IF9leHBlY3RpbmdJbnRyaW5zaWNDb250ZW50U2l6ZUNoYW5nZSA9IFlFUzsKKyAgICBfZXhwZWN0
ZWRJbnRyaW5zaWNDb250ZW50U2l6ZSA9IHNpemU7CisgICAgZGlkSW52YWxpZGF0ZUludHJpbnNp
Y0NvbnRlbnRTaXplID0gZmFsc2U7CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRJ
bnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUpOworfQorCistICh2b2lkKWludmFsaWRhdGVJ
bnRyaW5zaWNDb250ZW50U2l6ZQoreworICAgIGlmICghX2V4cGVjdGluZ0ludHJpbnNpY0NvbnRl
bnRTaXplQ2hhbmdlKQorICAgICAgICByZXR1cm47CisKKyAgICBfZXhwZWN0aW5nSW50cmluc2lj
Q29udGVudFNpemVDaGFuZ2UgPSBOTzsKKworICAgIE5TU2l6ZSBpbnRyaW5zaWNDb250ZW50U2l6
ZSA9IHNlbGYuaW50cmluc2ljQ29udGVudFNpemU7CisgICAgRVhQRUNUX0VRKF9leHBlY3RlZElu
dHJpbnNpY0NvbnRlbnRTaXplLndpZHRoLCBpbnRyaW5zaWNDb250ZW50U2l6ZS53aWR0aCk7Cisg
ICAgRVhQRUNUX0VRKF9leHBlY3RlZEludHJpbnNpY0NvbnRlbnRTaXplLmhlaWdodCwgaW50cmlu
c2ljQ29udGVudFNpemUuaGVpZ2h0KTsKKworICAgIGRpZEludmFsaWRhdGVJbnRyaW5zaWNDb250
ZW50U2l6ZSA9IHRydWU7Cit9CisKK0BlbmQKKworVEVTVChXZWJLaXQyLCBBdXRvTGF5b3V0SW50
ZWdyYXRpb24pCit7CisgICAgUmV0YWluUHRyPEF1dG9MYXlvdXRXS1dlYlZpZXc+IHdlYlZpZXcg
PSBhZG9wdE5TKFtbQXV0b0xheW91dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01h
a2VSZWN0KDAsIDAsIDEwMDAsIDEwMDApXSk7CisgICAgW3dlYlZpZXcgX3NldE1pbmltdW1XaWR0
aEZvckF1dG9MYXlvdXQ6NTBdOworCisgICAgQXV0b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZSAq
ZGVsZWdhdGUgPSBbW0F1dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdOwor
ICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZV07CisKKyAgICAvLyAx
MHgxMCByZWN0IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDUwKSAtPiA1MHgxMAorICAg
IFt3ZWJWaWV3IGxvYWQ6QCI8ZGl2IGNsYXNzPSdzbWFsbCc+PC9kaXY+IiBleHBlY3RpbmdDb250
ZW50U2l6ZTpOU01ha2VTaXplKDUwLCAxMCldOworCisgICAgLy8gMTAweDEwMCByZWN0IHdpdGgg
dGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDUwKSAtPiAxMDB4MTAwCisgICAgW3dlYlZpZXcgbG9h
ZDpAIjxkaXYgY2xhc3M9J2xhcmdlJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFr
ZVNpemUoMTAwLCAxMDApXTsKKworICAgIC8vIDEwMHgxMCByZWN0IHdpdGggdGhlIGNvbnN0cmFp
bnQgKHdpZHRoID49IDUwKSAtPiAxMDB4MTAKKyAgICBbd2ViVmlldyBsb2FkOkAiPGRpdiBjbGFz
cz0ndmVyeVdpZGUnPjwvZGl2PiIgZXhwZWN0aW5nQ29udGVudFNpemU6TlNNYWtlU2l6ZSgxMDAs
IDEwKV07CisKKyAgICAvLyBUZW4gMTB4MTAgcmVjdHMsIGlubGluZSwgc2hvdWxkIHJlc3VsdCBp
biB0d28gcm93cyBvZiBmaXZlOyB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSA1MCkgLT4g
NTB4MjAKKyAgICBbd2ViVmlldyBsb2FkOkAiPGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rp
dj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGlu
ZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFs
bCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFz
cz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2Pjxk
aXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48
L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUoNTAsIDIwKV07CisKKyAgICAv
LyBDaGFuZ2luZyB0aGUgd2lkdGggdG8gMTAgc2hvdWxkIHJlc3VsdCBpbiB0ZW4gcm93cyBvZiBv
bmU7IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDEwKSAtPiAxMHgxMDAKKyAgICBbd2Vi
VmlldyBfc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91dDoxMF07CisgICAgW3dlYlZpZXcgZXhw
ZWN0Q29udGVudFNpemVDaGFuZ2U6TlNNYWtlU2l6ZSgxMCwgMTAwKV07CisKKyAgICAvLyBDaGFu
Z2luZyB0aGUgd2lkdGggdG8gMTAwIHNob3VsZCByZXN1bHQgaW4gb25lIHJvd3Mgb2YgdGVuOyB3
aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSAxMDApIC0+IDEwMHgxMAorICAgIFt3ZWJWaWV3
IF9zZXRNaW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0OjEwMF07CisgICAgW3dlYlZpZXcgZXhwZWN0
Q29udGVudFNpemVDaGFuZ2U6TlNNYWtlU2l6ZSgxMDAsIDEwKV07CisKKyAgICAvLyBPbmUgMTAw
eDEwMCByZWN0IGFuZCB0ZW4gMTB4MTAgcmVjdHMsIGlubGluZTsgd2l0aCB0aGUgY29uc3RyYWlu
dCAod2lkdGggPj0gMjApIC0+IDEwMHgxMTAKKyAgICBbd2ViVmlldyBfc2V0TWluaW11bVdpZHRo
Rm9yQXV0b0xheW91dDoyMF07CisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9J2xhcmdl
Jz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxs
IGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNz
PSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRp
diBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwv
ZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5s
aW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PiIgZXhwZWN0aW5nQ29u
dGVudFNpemU6TlNNYWtlU2l6ZSgxMDAsIDExMCldOworfQorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263280</attachid>
            <date>2015-10-16 10:05:13 -0700</date>
            <delta_ts>2015-10-16 10:24:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150219-20151016100434.patch</filename>
            <type>text/plain</type>
            <size>21967</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5ZTQ5NDQzNmQyOWJi
OTgxMjdlMmU3ZTg1NTk3NDViYzIwMzdiYS4uYzZlYjQzMGIzM2U5Y2NhM2JhMGJjZDNkZWU2ZmQ1
NGE0YzZjYTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE1LTEwLTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEhvb2sgdXAgYXV0
b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTmV3IEFQSSB0ZXN0OiBXZWJLaXQyLkF1dG9MYXlvdXRJbnRlZ3JhdGlvbi4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6YXV0b1NpemVJZkVuYWJsZWQpOgorICAgICAgICBXaGVuIGF1dG9zaXppbmcgYSBkb2N1bWVu
dCBpbiB3aGljaCB0aGUgYm9keSBleHBhbmRzIHRvIHRoZSBzaXplIG9mIAorICAgICAgICB0aGUg
dmlldyAoYSBmZWF0dXJlIG9mIHF1aXJrcyBtb2RlKSwgdGhlIGZpcnN0ICh3aWR0aC1kZXRlcm1p
bmluZykKKyAgICAgICAgYXV0b3NpemluZyB3aWxsIHJlc2l6ZSB0aGUgdmlldyB0byB0aGUgZG9j
dW1lbnQgaGVpZ2h0ICh3aGljaCBpcyBhdCAKKyAgICAgICAgbGVhc3QgdGhlIGJvZHkgaGVpZ2h0
KSwgYW5kIHRoZSBzZWNvbmQgdGltZSBhcm91bmQsIHRoZSBoZWlnaHQgd2lsbAorICAgICAgICBu
b3QgZGVjcmVhc2UgKGJlY2F1c2UgaXQgd2FzIGV4cGFuZGVkIHRvIHRoZSBzaXplIG9mIHRoZSB2
aWV3KS4KKworICAgICAgICBJbnN0ZWFkLCB0aGUgZmlyc3QgdGltZSBhcm91bmQsIHdlIHNob3Vs
ZCB1c2UgdGhlIGNvbXB1dGVkIHdpZHRoLAorICAgICAgICBidXQgc2hyaW5rIHRoZSBoZWlnaHQg
YmFjayBkb3duIHRvIHRoZSBtaW5pbXVtLCBhbmQgdGhlbiBleHBhbmQKKyAgICAgICAgb25seSBh
cyBtdWNoIGFzIG5lZWRlZCB0byBmaXQgdGhlIGNvbnRlbnQuCisKKzIwMTUtMTAtMTUgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgVHJ5IHRvIGZpeCB0
aGUgaU9TIGJ1aWxkLgogCiAgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBmYTg5M2QwNmY0M2E0OTM1ZTVmZTZjZmQ3MDQ3ZDM3ZmYyYjE4MTNhLi4wYWMyMTRjNjc1
NGYxMmFmMGYzZDM5NGNiMmRjNzJjZmIxZmJjYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTUtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgSG9vayB1cCBhdXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2ViVmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjE5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW5pdFdpdGhGcmFtZTpjb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW50cmluc2ljQ29udGVudFNpemVdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9taW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBfc2V0TWluaW11bVdpZHRoRm9yQXV0b0xheW91dDpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgIEFkZCBhIHNpbXBsZSBTUEkgdG8g
c3BlY2lmeSB0aGUgbWluaW11bSB3aWR0aCB0aGF0IGEgV0tXZWJWaWV3IHdpbGwgYXR0ZW1wdAor
ICAgICAgICB0byBsYXkgb3V0IHRvLCBzaW1pbGFyIHRvIFdLVmlldyBleGNlcHQganVzdCBhIHdp
ZHRoLCBub3QgYSBzaXplLCBhbmQKKyAgICAgICAgd2l0aCBubyBvcHRpb24gdG8gZm9yY2UgdGhl
IGhlaWdodCB0byB0aGUgdmlldyBzaXplLiBTaW1pbGFyIGJlaGF2aW9yIGNhbgorICAgICAgICBi
ZSBhY2hpZXZlZCBieSBjbGllbnRzIGJ5IHNldHRpbmcgY3VzdG9tIGF1dG9sYXlvdXQgY29uc3Ry
YWludHMgb24gdGhlIHZpZXcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29udGVu
dFNpemVEaWRDaGFuZ2UpOgorICAgICAgICBGb3J3YXJkIGludHJpbnNpYyBjb250ZW50IHNpemUg
Y2hhbmdlcyB0byB0aGUgV0tXZWJWaWV3LCBub3QgaXRzIGlubmVyIFdLVmlldywKKyAgICAgICAg
aWYgd2UgaGF2ZSBvbmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJD
bGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAgICAgICBPbmx5IHNl
dCB0aGUgYXV0b3NpemluZyBmaXhlZCBtaW5pbXVtIGhlaWdodCBpZiB3ZSdyZSB1c2luZyB0aGF0
IGJlaGF2aW9yOworICAgICAgICBvdGhlcndpc2UsIHNldHRpbmcgaXQgdG8gdGhlIHZpZXcncyBo
ZWlnaHQgd2lsbCBlbmQgdXAgYWNjaWRlbnRhbGx5CisgICAgICAgIHR1cm5pbmcgb24gdGhhdCBi
ZWhhdmlvciAod2hpY2ggaW52b2x2ZXMgYW4gZXh0cmEgbGF5b3V0IHBlciByZXNpemUhKS4KKwog
MjAxNS0xMC0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVGVzdCBXZWJLaXQyLlJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5n
Rm9ybURhdGEgZmFpbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA0OTU1ZDAxNTli
YWM1MzhhY2RmN2ZhNzhmODA1MDMzMDZmNWQ5N2I3Li4xMjI5NjRhNzllZGJiYzRlYmE5ZDk3MTNh
ZWM1Mzg1N2I3ZjY2ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMjgxLDcg
KzMyODEsMTAgQEAgdm9pZCBGcmFtZVZpZXc6OmF1dG9TaXplSWZFbmFibGVkKCkKICAgICAgICAg
ICAgICYmICFmcmFtZSgpLmxvYWRlcigpLmlzQ29tcGxldGUoKSAmJiAobmV3U2l6ZS5oZWlnaHQo
KSA8IHNpemUuaGVpZ2h0KCkgfHwgbmV3U2l6ZS53aWR0aCgpIDwgc2l6ZS53aWR0aCgpKSkKICAg
ICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHJlc2l6ZShuZXdTaXplLndpZHRoKCksIG5ld1Np
emUuaGVpZ2h0KCkpOworICAgICAgICAvLyBUaGUgZmlyc3QgdGltZSBhcm91bmQsIHJlc2l6ZSB0
byB0aGUgbWluaW11bSBoZWlnaHQgYWdhaW47IG90aGVyd2lzZSwKKyAgICAgICAgLy8gb24gcGFn
ZXMgKGUuZy4gcXVpcmtzIG1vZGUpIHdoZXJlIHRoZSBib2R5L2RvY3VtZW50IHJlc2l6ZSB0byB0
aGUgdmlldyBzaXplLAorICAgICAgICAvLyB3ZSdsbCBlbmQgdXAgbm90IHNocmlua2luZyBiYWNr
IGRvd24gYWZ0ZXIgcmVzaXppbmcgdG8gdGhlIGNvbXB1dGVkIHByZWZlcnJlZCB3aWR0aC4KKyAg
ICAgICAgcmVzaXplKG5ld1NpemUud2lkdGgoKSwgaSA/IG5ld1NpemUuaGVpZ2h0KCkgOiBtX21p
bkF1dG9TaXplLmhlaWdodCgpKTsKICAgICAgICAgLy8gRm9yY2UgdGhlIHNjcm9sbGJhciBzdGF0
ZSB0byBhdm9pZCB0aGUgc2Nyb2xsYmFyIGNvZGUgYWRkaW5nIHRoZW0gYW5kIGNhdXNpbmcgdGhl
bSB0byBiZSBuZWVkZWQuIEZvciBleGFtcGxlLAogICAgICAgICAvLyBhIHZlcnRpY2FsIHNjcm9s
bGJhciBtYXkgY2F1c2UgdGV4dCB0byB3cmFwIGFuZCB0aHVzIGluY3JlYXNlIHRoZSBoZWlnaHQg
KHdoaWNoIGlzIHRoZSBvbmx5IHJlYXNvbiB0aGUgc2NvbGxiYXIgaXMgbmVlZGVkKS4KICAgICAg
ICAgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYzdlMjJhYWIwODAyODQxZDJk
NzNmMDRhMGJjMzQ2MWIyNmM1ODZlYi4uZWQ5NWE0NDhiYjI2NjU4ZjUyY2MxZTA0NjI3Zjk5OTVl
MGM2NjM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KQEAgLTEzOSw2ICsxMzksMTAgQEAgZW51bSBjbGFzcyBEeW5hbWljVmlld3BvcnRV
cGRhdGVNb2RlIHsKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0ICJXS1ZpZXdJbnRlcm5hbC5o
IgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgorCisjZGVmaW5lIG5vSW50cmluc2ljTWV0
cmljIE5TVmlld05vSW5zdHJpbnNpY01ldHJpYworI2Vsc2UKKyNkZWZpbmUgbm9JbnRyaW5zaWNN
ZXRyaWMgVUlWaWV3Tm9JbnRyaW5zaWNNZXRyaWMKICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDxX
ZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdLV2ViVmlldyAqPiYgcGFnZVRvVmlld01hcCgpCkBAIC0x
NjAsNiArMTY0LDggQEAgV0tXZWJWaWV3KiBmcm9tV2ViUGFnZVByb3h5KFdlYktpdDo6V2ViUGFn
ZVByb3h5JiBwYWdlKQogICAgIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzIF9vYnNlcnZlZFJl
bmRlcmluZ1Byb2dyZXNzRXZlbnRzOwogCiAgICAgV2ViS2l0OjpXZWFrT2JqQ1B0cjxpZCA8X1dL
Rm9ybURlbGVnYXRlPj4gX2Zvcm1EZWxlZ2F0ZTsKKworICAgIENHU2l6ZSBfaW50cmluc2ljQ29u
dGVudFNpemU7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFJldGFpblB0cjxXS1Njcm9sbFZpZXc+
IF9zY3JvbGxWaWV3OwogICAgIFJldGFpblB0cjxXS0NvbnRlbnRWaWV3PiBfY29udGVudFZpZXc7
CkBAIC0zNzMsMTEgKzM3OSwxNSBAQCBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrKCkKICAgICBbc2VsZiBhZGRTdWJ2aWV3Ol93a1ZpZXcuZ2V0KCld
OwogICAgIF9wYWdlID0gV2ViS2l0Ojp0b0ltcGwoW193a1ZpZXcgcGFnZVJlZl0pOwogCisKKwog
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgW193a1Zp
ZXcgX3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpZRVNdOwogI2VuZGlmCiAj
ZW5kaWYKIAorICAgIF9pbnRyaW5zaWNDb250ZW50U2l6ZSA9IENHU2l6ZU1ha2Uobm9JbnRyaW5z
aWNNZXRyaWMsIG5vSW50cmluc2ljTWV0cmljKTsKKwogICAgIF9wYWdlLT5zZXRCYWNrZ3JvdW5k
RXh0ZW5kc0JleW9uZFBhZ2UodHJ1ZSk7CiAKICAgICBpZiAoTlNTdHJpbmcgKmFwcGxpY2F0aW9u
TmFtZUZvclVzZXJBZ2VudCA9IGNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25OYW1lRm9yVXNlckFn
ZW50KQpAQCAtNjkzLDYgKzcwMywyNSBAQCBzdGF0aWMgV0tFcnJvckNvZGUgY2FsbGJhY2tFcnJv
ckNvZGUoV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKQogI2VuZGlmIC8vIFBMQVRG
T1JNKElPUykKIH0KIAorLSAoQ0dTaXplKWludHJpbnNpY0NvbnRlbnRTaXplCit7CisgICAgcmV0
dXJuIF9pbnRyaW5zaWNDb250ZW50U2l6ZTsKK30KKworLSAodm9pZClfc2V0SW50cmluc2ljQ29u
dGVudFNpemU6KENHU2l6ZSlpbnRyaW5zaWNDb250ZW50U2l6ZQoreworICAgIC8vIElmIHRoZSBp
bnRyaW5zaWMgY29udGVudCBzaXplIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSBsYXlvdXQgd2lk
dGgsIHRoZSBjb250ZW50IGZsb3dlZCB0byBmaXQsCisgICAgLy8gc28gd2UgY2FuIHJlcG9ydCB0
aGF0IHRoYXQgZGltZW5zaW9uIGlzIGZsZXhpYmxlLiBJZiBub3QsIHdlIG5lZWQgdG8gcmVwb3J0
IG91ciBpbnRyaW5zaWMgd2lkdGgKKyAgICAvLyBzbyB0aGF0IGF1dG9sYXlvdXQgd2lsbCBrbm93
IHRvIHByb3ZpZGUgc3BhY2UgZm9yIHVzLgorCisgICAgQ0dTaXplIGludHJpbnNpY0NvbnRlbnRT
aXplQWNrbm93bGVkZ2luZ0ZsZXhpYmxlV2lkdGggPSBpbnRyaW5zaWNDb250ZW50U2l6ZTsKKyAg
ICBpZiAoaW50cmluc2ljQ29udGVudFNpemUud2lkdGggPCBfcGFnZS0+bWluaW11bUxheW91dFNp
emUoKS53aWR0aCgpKQorICAgICAgICBpbnRyaW5zaWNDb250ZW50U2l6ZUFja25vd2xlZGdpbmdG
bGV4aWJsZVdpZHRoLndpZHRoID0gTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljOworCisgICAgX2lu
dHJpbnNpY0NvbnRlbnRTaXplID0gaW50cmluc2ljQ29udGVudFNpemVBY2tub3dsZWRnaW5nRmxl
eGlibGVXaWR0aDsKKyAgICBbc2VsZiBpbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemVdOwor
fQorCiAjcHJhZ21hIG1hcmsgaU9TLXNwZWNpZmljIG1ldGhvZHMKIAogI2lmIFBMQVRGT1JNKElP
UykKQEAgLTI2NDksNiArMjY3OCwyMyBAQCBzdGF0aWMgaW5saW5lIFdlYktpdDo6RmluZE9wdGlv
bnMgdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRpb25zKQogI2VuZGlmCiB9
CiAKKy0gKENHRmxvYXQpX21pbmltdW1XaWR0aEZvckF1dG9MYXlvdXQKK3sKKyAgICByZXR1cm4g
X3BhZ2UtPm1pbmltdW1MYXlvdXRTaXplKCkud2lkdGgoKTsKK30KKworLSAodm9pZClfc2V0TWlu
aW11bVdpZHRoRm9yQXV0b0xheW91dDooQ0dGbG9hdCl3aWR0aAoreworICAgIEJPT0wgZXhwYW5k
c1RvRml0ID0gd2lkdGggPiAwOworCisgICAgX3BhZ2UtPnNldE1pbmltdW1MYXlvdXRTaXplKFdl
YkNvcmU6OkludFNpemUod2lkdGgsIDApKTsKKyAgICBfcGFnZS0+c2V0TWFpbkZyYW1lSXNTY3Jv
bGxhYmxlKCFleHBhbmRzVG9GaXQpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIFtfd2tWaWV3
IHNldFNob3VsZENsaXBUb1Zpc2libGVSZWN0OmV4cGFuZHNUb0ZpdF07CisjZW5kaWYKK30KKwog
I3ByYWdtYSBtYXJrIGlPUy1zcGVjaWZpYyBtZXRob2RzCiAKICNpZiBQTEFURk9STShJT1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmgKaW5kZXggZDJkZWYyM2ZkNTIwOWQ0OTk0MGFhYjRhZWU4OTU4MDUzZjQyZDQ4Mi4u
ZGIyN2FkMjhmNmVmODA2YzRiYWRlMzBiYzQ0YWU1ZGE3OGFhYzZlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApA
QCAtMTE0LDYgKzExNCw4IEBAIHN0cnVjdCBQcmludEluZm87CiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRJZ25vcmVzTm9uV2hlZWxFdmVudHM6KSBCT09MIF9pZ25vcmVzTm9uV2hl
ZWxFdmVudHM7CiAjZW5kaWYKIAorLSAodm9pZClfc2V0SW50cmluc2ljQ29udGVudFNpemU6KENH
U2l6ZSlpbnRyaW5zaWNDb250ZW50U2l6ZTsKKwogLSAoV0tQYWdlUmVmKV9wYWdlRm9yVGVzdGlu
ZzsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBiZmVlODg4NGZmMWQxYTgzZjlmYTUyMGM0NjE0ZDll
ZjZiMDQxZjVlLi5hYzA5ODg2Njc0YWI4NGNmNTgyNzFiMWMxMWNkNDE3MjBhMmIzYTIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaApAQCAtMjI1LDYgKzIyNSw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9X
S0ltbWVkaWF0ZUFjdGlvblR5cGUpIHsKIAogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1f
YWxsb3dzTWVkaWFEb2N1bWVudElubGluZVBsYXliYWNrLCBzZXR0ZXI9X3NldEFsbG93c01lZGlh
RG9jdW1lbnRJbmxpbmVQbGF5YmFjazopIEJPT0wgX2FsbG93c01lZGlhRG9jdW1lbnRJbmxpbmVQ
bGF5YmFjazsKIAorQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWluaW11bVdpZHRo
Rm9yQXV0b0xheW91dDopIENHRmxvYXQgX21pbmltdW1XaWR0aEZvckF1dG9MYXlvdXQ7CisKIEBl
bmQKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bQppbmRleCBlZDIzMDQ4MjkzZDYwZTg5ZDAyMmRiN2JkMTcyOTAzNWExZGUxMTgzLi5hMjNjZjYx
ODFhOTdjMjE2NzMwYTY2YzU5MTUzMDg0MTZjMzMzNDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTY0MSw3ICs2NDEsMTAgQEAgdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6cmVjb21tZW5kZWRTY3JvbGxiYXJTdHlsZURpZENoYW5nZShTY3Jv
bGxiYXJTdHlsZSBuZXdTdHlsZSkKIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29u
dGVudFNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpCiB7
Ci0gICAgW21fd2tWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50
U2l6ZV07CisgICAgaWYgKG1fd2ViVmlldykKKyAgICAgICAgW21fd2ViVmlldyBfc2V0SW50cmlu
c2ljQ29udGVudFNpemU6aW50cmluc2ljQ29udGVudFNpemVdOworICAgIGVsc2UKKyAgICAgICAg
W21fd2tWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50U2l6ZV07
CiB9CiAKIGJvb2wgUGFnZUNsaWVudEltcGw6OmV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9y
KGNvbnN0IFN0cmluZyYgc2VsZWN0b3JTdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwCmluZGV4IGZmMzJjZjk2MjczNTRhMmE3ZDVhY2U0MDM2YjQ1ZGQ5ZTI5MDk2M2QuLjlh
ZDUwMTkzNjVhYTUzNjk3Y2IxMmNhZGYxY2NjNTRhMjgzMTJmYWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMzE5LDcgKzEzMTksOSBAQCB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAgICAgaW50
IG1pbmltdW1MYXlvdXRIZWlnaHQgPSBzdGQ6Om1heCh3ZWJQYWdlLT5taW5pbXVtTGF5b3V0U2l6
ZSgpLmhlaWdodCgpLCAxKTsKICAgICAgICAgaW50IG1heGltdW1TaXplID0gc3RkOjpudW1lcmlj
X2xpbWl0czxpbnQ+OjptYXgoKTsKICAgICAgICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXco
KS0+ZW5hYmxlQXV0b1NpemVNb2RlKHRydWUsIEludFNpemUobWluaW11bUxheW91dFdpZHRoLCBt
aW5pbXVtTGF5b3V0SGVpZ2h0KSwgSW50U2l6ZShtYXhpbXVtU2l6ZSwgbWF4aW11bVNpemUpKTsK
LSAgICAgICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0QXV0b1NpemVGaXhlZE1p
bmltdW1IZWlnaHQod2ViUGFnZS0+c2l6ZSgpLmhlaWdodCgpKTsKKworICAgICAgICBpZiAod2Vi
UGFnZS0+YXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodCgpKQorICAgICAgICAgICAg
bV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0QXV0b1NpemVGaXhlZE1pbmltdW1IZWln
aHQod2ViUGFnZS0+c2l6ZSgpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBtX2ZyYW1lLT5jb3Jl
RnJhbWUoKS0+dmlldygpLT5zZXRQcm9oaWJpdHNTY3JvbGxpbmcoc2hvdWxkRGlzYWJsZVNjcm9s
bGluZyk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggMDVjY2E4MTIzOTgwMmFhOTA3MTE1NGQ1ZjI5ZDllNWIzYzk2M2JhNi4uMzFhYmE1Y2QyMjFl
NTI0ZDk5MTc1NGIxYmI4NTk3MzFiNTk3ZTU5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTEwLTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEhvb2sgdXAgYXV0
b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9BdXRv
TGF5b3V0SW50ZWdyYXRpb24ubW06IEFkZGVkLgorICAgICAgICAoLVtBdXRvTGF5b3V0TmF2aWdh
dGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGlkRmluaXNoTmF2aWdhdGlvbjpdKToKKyAgICAgICAgKC1b
QXV0b0xheW91dFdLV2ViVmlldyBsb2FkOmV4cGVjdGluZ0NvbnRlbnRTaXplOl0pOgorICAgICAg
ICAoLVtBdXRvTGF5b3V0V0tXZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOl0pOgorICAg
ICAgICAoLVtBdXRvTGF5b3V0V0tXZWJWaWV3IGludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6
ZV0pOgorICAgICAgICAoVEVTVCk6CisgICAgICAgIEFkZCBhIHZhcmlldHkgb2YgdGVzdHMsIGlu
Y2x1ZGluZyBvbmUgd2hpY2ggY2F0Y2hlcyB0aGUgYnVnIHRoYXQKKyAgICAgICAgdGhlIFdlYkNv
cmUgcGFydCBvZiB0aGlzIHBhdGNoIGZpeGVzLgorCiAyMDE1LTEwLTE1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgVXBkYXRlIEltcG9ydEV4
cGVjdGF0aW9ucyBhY2NvcmRpbmcgY3VycmVudGx5IGltcG9ydGVkIHdwdCB0ZXN0cwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBmMTQ0MDJhNzQwY2U2ZDI1OTA4MjQ1YjFlYzJiMDY1NTAzY2U4
ODU3Li4yYmFiZWQ5MzhkZDUxNDM1ZTc0ZWMzYWQ3YjIyZDQ0NzhkMmQxNjY3IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzUsNiArMzUsNyBAQAogCQkyOTcyMzRCNzE3M0FGQUM3MDA5ODM2
MDEgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3MjM0QjUxNzNBRkFDNzAwOTgz
NjAxIC8qIEN1c3RvbVByb3RvY29sc0ludmFsaWRTY2hlbWVfQnVuZGxlLmNwcCAqLzsgfTsKIAkJ
MkQxRkUwQjAxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVkTGF5b3V0U2l6ZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMUZFMEFGMUFENDY1QzEwMDZD
RDlFNiAvKiBGaXhlZExheW91dFNpemUubW0gKi87IH07CiAJCTJEOUE1M0FGMUIzMUZBOEQwMDc0
RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSAq
LzsgfTsKKwkJMkREMzU1MzYxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDM1
NTM1MUJEMDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gKi87IHNldHRp
bmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJMkREN0QzQUYxNzgyMjdCMzAwMjZFMUUz
IC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDdEM0FFMTc4MjI3QUMwMDI2RTFFMyAv
KiBsb3RzLW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCAqLzsgfTsKIAkJMkU3NzY1Q0QxNkM0RDgw
QTAwQkEyQkIxIC8qIG1haW5JT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRTc3NjVDQzE2QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSAqLzsg
fTsKIAkJMkU3NzY1Q0YxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTc3NjVDRTE2QzREODExMDBCQTJC
QjEgLyogbWFpbk1hYy5tbSAqLzsgfTsKQEAgLTUwNCw2ICs1MDUsNyBAQAogCQkyRDFGRTBBRjFB
RDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRMYXlvdXRTaXplLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRml4ZWRMYXlvdXRTaXplLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRDY0MEI1NDE3ODc1REZGMDBCRkFGOTkgLyogU2Nyb2xsUGlubmluZ0Jl
aGF2aW9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxQ
aW5uaW5nQmVoYXZpb3JzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5QTUz
QUUxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlua1RvRml0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gU2hyaW5rVG9GaXQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJERDM1NTM1MUJEMDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRp
b24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvTGF5b3V0
SW50ZWdyYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJERDdEM0E5MTc4
MjA1RDAwMDI2RTFFMyAvKiBSZXNpemVSZXZlcnNlUGFnaW5hdGVkV2ViVmlldy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNpemVSZXZlcnNlUGFnaW5hdGVkV2Vi
Vmlldy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJERDdEM0FFMTc4MjI3QUMw
MDI2RTFFMyAvKiBsb3RzLW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsb3Rz
LW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJFNzc2NUNDMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gbWFpbklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTkwMCw2ICs5MDIsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQk3Q0VGQTk2NDFBQzBCOUUyMDBCOTEwRkQgLyogX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5tbSAqLywKKwkJCQkyREQzNTUzNTFCRDA4Mzc4MDA1REY0QTcgLyogQXV0b0xh
eW91dEludGVncmF0aW9uLm1tICovLAogCQkJCUExM0VCQkFDMUI4NzQzNkYwMDA5NzExMCAvKiBC
dW5kbGVQYXJhbWV0ZXJzLm1tICovLAogCQkJCUExM0VCQkFFMUI4NzQzNkYwMDA5NzExMCAvKiBC
dW5kbGVQYXJhbWV0ZXJzUGx1Z0luLm1tICovLAogCQkJCUExNEZDNTg2MUI4OTkxQjYwMEQxMDdF
QiAvKiBDb250ZW50RmlsdGVyaW5nLm1tICovLApAQCAtMTc0Miw2ICsxNzQ1LDcgQEAKIAkJCQkx
Q0I5QkMzODFBNjc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRTc3NjVDRDE2QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTQxOTczQjVEMUFGMjI4NzUwMDZDN0IzNiAvKiBTaGFyZWRCdWZmZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkREMzU1MzYxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdBQTZBMTUyMUFBQzBCMzEwMDJCMkVEMyAvKiBX
b3JrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU3NzY1Q0YxNkM0RDgxMTAwQkEyQkIx
IC8qIG1haW5NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MTk3M0I1QjFBRjIyODZBMDA2QzdC
MzYgLyogRmlsZVN5c3RlbS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MWJlMmYzNWM2MjNmMDVlOTY1OTliZWVhY2JhYWJiZDE5MjZi
NTYwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5o
IgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykKKworc3RhdGlj
IGJvb2wgZGlkRmluaXNoTmF2aWdhdGlvbjsKK3N0YXRpYyBib29sIGRpZEludmFsaWRhdGVJbnRy
aW5zaWNDb250ZW50U2l6ZTsKKworQGludGVyZmFjZSBBdXRvTGF5b3V0TmF2aWdhdGlvbkRlbGVn
YXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50
YXRpb24gQXV0b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgZGlkRmluaXNoTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2
aWdhdGlvbgoreworICAgIGRpZEZpbmlzaE5hdmlnYXRpb24gPSB0cnVlOworfQorCitAZW5kCisK
K0BpbnRlcmZhY2UgQXV0b0xheW91dFdLV2ViVmlldyA6IFdLV2ViVmlldworQGVuZAorCitAaW1w
bGVtZW50YXRpb24gQXV0b0xheW91dFdLV2ViVmlldyB7CisgICAgQk9PTCBfZXhwZWN0aW5nSW50
cmluc2ljQ29udGVudFNpemVDaGFuZ2U7CisgICAgTlNTaXplIF9leHBlY3RlZEludHJpbnNpY0Nv
bnRlbnRTaXplOworfQorCistICh2b2lkKWxvYWQ6KE5TU3RyaW5nICopSFRNTFN0cmluZyBleHBl
Y3RpbmdDb250ZW50U2l6ZTooTlNTaXplKXNpemUKK3sKKyAgICBFWFBFQ1RfRkFMU0UoX2V4cGVj
dGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdlKTsKKworICAgIE5TU3RyaW5nICpiYXNlSFRN
TCA9IEAiPHN0eWxlPiIKKyAgICAiYm9keSwgaHRtbCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsg
fSIKKyAgICAiZGl2IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0iCisgICAgIi5zbWFsbCB7
IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IH0iCisgICAgIi5sYXJnZSB7IHdpZHRoOiAxMDBw
eDsgaGVpZ2h0OiAxMDBweDsgfSIKKyAgICAiLnZlcnlXaWRlIHsgd2lkdGg6IDEwMHB4OyBoZWln
aHQ6IDEwcHg7IH0iCisgICAgIi5pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0iCisg
ICAgIjwvc3R5bGU+IjsKKworICAgIGRpZEZpbmlzaE5hdmlnYXRpb24gPSBmYWxzZTsKKyAgICBb
c2VsZiBsb2FkSFRNTFN0cmluZzpbYmFzZUhUTUwgc3RyaW5nQnlBcHBlbmRpbmdTdHJpbmc6SFRN
TFN0cmluZ10gYmFzZVVSTDpuaWxdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlk
RmluaXNoTmF2aWdhdGlvbik7CisKKyAgICBbc2VsZiBleHBlY3RDb250ZW50U2l6ZUNoYW5nZTpz
aXplXTsKK30KKworLSAodm9pZClleHBlY3RDb250ZW50U2l6ZUNoYW5nZTooTlNTaXplKXNpemUK
K3sKKyAgICAvLyBOT1RFOiBFYWNoIGFkamFjZW50IGV4cGVjdGVkIHJlc3VsdCBtdXN0IGJlIGRp
ZmZlcmVudCwgb3Igd2UnbGwgZWFybHkgcmV0dXJuIGFuZCBub3QgY2FsbCBpbnZhbGlkYXRlSW50
cmluc2ljQ29udGVudFNpemUhCisgICAgRVhQRUNUX0ZBTFNFKE5TRXF1YWxTaXplcyhzaXplLCBz
ZWxmLmludHJpbnNpY0NvbnRlbnRTaXplKSk7CisKKyAgICBfZXhwZWN0aW5nSW50cmluc2ljQ29u
dGVudFNpemVDaGFuZ2UgPSBZRVM7CisgICAgX2V4cGVjdGVkSW50cmluc2ljQ29udGVudFNpemUg
PSBzaXplOworICAgIGRpZEludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSA9IGZhbHNlOwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRl
bnRTaXplKTsKK30KKworLSAodm9pZClpbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUKK3sK
KyAgICBpZiAoIV9leHBlY3RpbmdJbnRyaW5zaWNDb250ZW50U2l6ZUNoYW5nZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgX2V4cGVjdGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdlID0gTk87
CisKKyAgICBOU1NpemUgaW50cmluc2ljQ29udGVudFNpemUgPSBzZWxmLmludHJpbnNpY0NvbnRl
bnRTaXplOworICAgIEVYUEVDVF9FUShfZXhwZWN0ZWRJbnRyaW5zaWNDb250ZW50U2l6ZS53aWR0
aCwgaW50cmluc2ljQ29udGVudFNpemUud2lkdGgpOworICAgIEVYUEVDVF9FUShfZXhwZWN0ZWRJ
bnRyaW5zaWNDb250ZW50U2l6ZS5oZWlnaHQsIGludHJpbnNpY0NvbnRlbnRTaXplLmhlaWdodCk7
CisKKyAgICBkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUgPSB0cnVlOworfQorCitA
ZW5kCisKK1RFU1QoV2ViS2l0MiwgQXV0b0xheW91dEludGVncmF0aW9uKQoreworICAgIFJldGFp
blB0cjxBdXRvTGF5b3V0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW0F1dG9MYXlvdXRX
S1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAwLCAxMDAw
KV0pOworICAgIFt3ZWJWaWV3IF9zZXRNaW5pbXVtV2lkdGhGb3JBdXRvTGF5b3V0OjUwXTsKKwor
ICAgIEF1dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdhdGUgKmRlbGVnYXRlID0gW1tBdXRvTGF5b3V0
TmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0
aW9uRGVsZWdhdGU6ZGVsZWdhdGVdOworCisgICAgLy8gMTB4MTAgcmVjdCB3aXRoIHRoZSBjb25z
dHJhaW50ICh3aWR0aCA+PSA1MCkgLT4gNTB4MTAKKyAgICBbd2ViVmlldyBsb2FkOkAiPGRpdiBj
bGFzcz0nc21hbGwnPjwvZGl2PiIgZXhwZWN0aW5nQ29udGVudFNpemU6TlNNYWtlU2l6ZSg1MCwg
MTApXTsKKworICAgIC8vIDEwMHgxMDAgcmVjdCB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+
PSA1MCkgLT4gMTAweDEwMAorICAgIFt3ZWJWaWV3IGxvYWQ6QCI8ZGl2IGNsYXNzPSdsYXJnZSc+
PC9kaXY+IiBleHBlY3RpbmdDb250ZW50U2l6ZTpOU01ha2VTaXplKDEwMCwgMTAwKV07CisKKyAg
ICAvLyAxMDB4MTAgcmVjdCB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSA1MCkgLT4gMTAw
eDEwCisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9J3ZlcnlXaWRlJz48L2Rpdj4iIGV4
cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCAxMCldOworCisgICAgLy8gVGVuIDEw
eDEwIHJlY3RzLCBpbmxpbmUsIHNob3VsZCByZXN1bHQgaW4gdHdvIHJvd3Mgb2YgZml2ZTsgd2l0
aCB0aGUgY29uc3RyYWludCAod2lkdGggPj0gNTApIC0+IDUweDIwCisgICAgW3dlYlZpZXcgbG9h
ZDpAIjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5s
aW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3Nt
YWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNs
YXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+
PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUn
PjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+IiBleHBlY3RpbmdDb250ZW50
U2l6ZTpOU01ha2VTaXplKDUwLCAyMCldOworCisgICAgLy8gQ2hhbmdpbmcgdGhlIHdpZHRoIHRv
IDEwIHNob3VsZCByZXN1bHQgaW4gdGVuIHJvd3Mgb2Ygb25lOyB3aXRoIHRoZSBjb25zdHJhaW50
ICh3aWR0aCA+PSAxMCkgLT4gMTB4MTAwCisgICAgW3dlYlZpZXcgX3NldE1pbmltdW1XaWR0aEZv
ckF1dG9MYXlvdXQ6MTBdOworICAgIFt3ZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOk5T
TWFrZVNpemUoMTAsIDEwMCldOworCisgICAgLy8gQ2hhbmdpbmcgdGhlIHdpZHRoIHRvIDEwMCBz
aG91bGQgcmVzdWx0IGluIG9uZSByb3dzIG9mIHRlbjsgd2l0aCB0aGUgY29uc3RyYWludCAod2lk
dGggPj0gMTAwKSAtPiAxMDB4MTAKKyAgICBbd2ViVmlldyBfc2V0TWluaW11bVdpZHRoRm9yQXV0
b0xheW91dDoxMDBdOworICAgIFt3ZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOk5TTWFr
ZVNpemUoMTAwLCAxMCldOworCisgICAgLy8gT25lIDEwMHgxMDAgcmVjdCBhbmQgdGVuIDEweDEw
IHJlY3RzLCBpbmxpbmU7IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDIwKSAtPiAxMDB4
MTEwCisgICAgW3dlYlZpZXcgX3NldE1pbmltdW1XaWR0aEZvckF1dG9MYXlvdXQ6MjBdOworICAg
IFt3ZWJWaWV3IGxvYWQ6QCI8ZGl2IGNsYXNzPSdsYXJnZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21h
bGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xh
c3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48
ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+
PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBp
bmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0n
c21hbGwgaW5saW5lJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAw
LCAxMTApXTsKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263285</attachid>
            <date>2015-10-16 10:24:57 -0700</date>
            <delta_ts>2015-10-16 10:28:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150219-20151016102418.patch</filename>
            <type>text/plain</type>
            <size>21973</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5ZTQ5NDQzNmQyOWJi
OTgxMjdlMmU3ZTg1NTk3NDViYzIwMzdiYS4uYzZlYjQzMGIzM2U5Y2NhM2JhMGJjZDNkZWU2ZmQ1
NGE0YzZjYTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE1LTEwLTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEhvb2sgdXAgYXV0
b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTmV3IEFQSSB0ZXN0OiBXZWJLaXQyLkF1dG9MYXlvdXRJbnRlZ3JhdGlvbi4KKwor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6YXV0b1NpemVJZkVuYWJsZWQpOgorICAgICAgICBXaGVuIGF1dG9zaXppbmcgYSBkb2N1bWVu
dCBpbiB3aGljaCB0aGUgYm9keSBleHBhbmRzIHRvIHRoZSBzaXplIG9mIAorICAgICAgICB0aGUg
dmlldyAoYSBmZWF0dXJlIG9mIHF1aXJrcyBtb2RlKSwgdGhlIGZpcnN0ICh3aWR0aC1kZXRlcm1p
bmluZykKKyAgICAgICAgYXV0b3NpemluZyB3aWxsIHJlc2l6ZSB0aGUgdmlldyB0byB0aGUgZG9j
dW1lbnQgaGVpZ2h0ICh3aGljaCBpcyBhdCAKKyAgICAgICAgbGVhc3QgdGhlIGJvZHkgaGVpZ2h0
KSwgYW5kIHRoZSBzZWNvbmQgdGltZSBhcm91bmQsIHRoZSBoZWlnaHQgd2lsbAorICAgICAgICBu
b3QgZGVjcmVhc2UgKGJlY2F1c2UgaXQgd2FzIGV4cGFuZGVkIHRvIHRoZSBzaXplIG9mIHRoZSB2
aWV3KS4KKworICAgICAgICBJbnN0ZWFkLCB0aGUgZmlyc3QgdGltZSBhcm91bmQsIHdlIHNob3Vs
ZCB1c2UgdGhlIGNvbXB1dGVkIHdpZHRoLAorICAgICAgICBidXQgc2hyaW5rIHRoZSBoZWlnaHQg
YmFjayBkb3duIHRvIHRoZSBtaW5pbXVtLCBhbmQgdGhlbiBleHBhbmQKKyAgICAgICAgb25seSBh
cyBtdWNoIGFzIG5lZWRlZCB0byBmaXQgdGhlIGNvbnRlbnQuCisKKzIwMTUtMTAtMTUgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKICAgICAgICAgVHJ5IHRvIGZpeCB0
aGUgaU9TIGJ1aWxkLgogCiAgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBmYTg5M2QwNmY0M2E0OTM1ZTVmZTZjZmQ3MDQ3ZDM3ZmYyYjE4MTNhLi43NDMyY2RmZWIz
ZjlkYjQ5ZDY4MjE4NjA4YzI3MDI3YzU0YmJjZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTUtMTAtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgSG9vayB1cCBhdXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2ViVmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjE5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW5pdFdpdGhGcmFtZTpjb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgaW50cmluc2ljQ29udGVudFNpemVdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9taW5pbXVtTGF5b3V0V2lkdGhdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXRNaW5pbXVtTGF5b3V0V2lkdGg6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oOgorICAgICAgICBBZGQgYSBzaW1wbGUgU1BJIHRvIHNwZWNpZnkgdGhlIG1p
bmltdW0gd2lkdGggdGhhdCBhIFdLV2ViVmlldyB3aWxsIGF0dGVtcHQKKyAgICAgICAgdG8gbGF5
IG91dCB0bywgc2ltaWxhciB0byBXS1ZpZXcgZXhjZXB0IGp1c3QgYSB3aWR0aCwgbm90IGEgc2l6
ZSwgYW5kCisgICAgICAgIHdpdGggbm8gb3B0aW9uIHRvIGZvcmNlIHRoZSBoZWlnaHQgdG8gdGhl
IHZpZXcgc2l6ZS4gU2ltaWxhciBiZWhhdmlvciBjYW4KKyAgICAgICAgYmUgYWNoaWV2ZWQgYnkg
Y2xpZW50cyBieSBzZXR0aW5nIGN1c3RvbSBhdXRvbGF5b3V0IGNvbnN0cmFpbnRzIG9uIHRoZSB2
aWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KToKKyAgICAgICAgRm9yd2FyZCBpbnRyaW5zaWMgY29udGVudCBzaXplIGNoYW5nZXMgdG8gdGhl
IFdLV2ViVmlldywgbm90IGl0cyBpbm5lciBXS1ZpZXcsCisgICAgICAgIGlmIHdlIGhhdmUgb25l
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0
aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKToKKyAgICAgICAgT25seSBzZXQgdGhlIGF1dG9zaXpp
bmcgZml4ZWQgbWluaW11bSBoZWlnaHQgaWYgd2UncmUgdXNpbmcgdGhhdCBiZWhhdmlvcjsKKyAg
ICAgICAgb3RoZXJ3aXNlLCBzZXR0aW5nIGl0IHRvIHRoZSB2aWV3J3MgaGVpZ2h0IHdpbGwgZW5k
IHVwIGFjY2lkZW50YWxseQorICAgICAgICB0dXJuaW5nIG9uIHRoYXQgYmVoYXZpb3IgKHdoaWNo
IGludm9sdmVzIGFuIGV4dHJhIGxheW91dCBwZXIgcmVzaXplISkuCisKIDIwMTUtMTAtMTUgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IFRlc3QgV2ViS2l0Mi5SZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhIGZhaWxz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNDk1NWQwMTU5YmFjNTM4YWNkZjdmYTc4
ZjgwNTAzMzA2ZjVkOTdiNy4uMTIyOTY0YTc5ZWRiYmM0ZWJhOWQ5NzEzYWVjNTM4NTdiN2Y2NmU4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzI4MSw3ICszMjgxLDEwIEBAIHZv
aWQgRnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCgpCiAgICAgICAgICAgICAmJiAhZnJhbWUo
KS5sb2FkZXIoKS5pc0NvbXBsZXRlKCkgJiYgKG5ld1NpemUuaGVpZ2h0KCkgPCBzaXplLmhlaWdo
dCgpIHx8IG5ld1NpemUud2lkdGgoKSA8IHNpemUud2lkdGgoKSkpCiAgICAgICAgICAgICBicmVh
azsKIAotICAgICAgICByZXNpemUobmV3U2l6ZS53aWR0aCgpLCBuZXdTaXplLmhlaWdodCgpKTsK
KyAgICAgICAgLy8gVGhlIGZpcnN0IHRpbWUgYXJvdW5kLCByZXNpemUgdG8gdGhlIG1pbmltdW0g
aGVpZ2h0IGFnYWluOyBvdGhlcndpc2UsCisgICAgICAgIC8vIG9uIHBhZ2VzIChlLmcuIHF1aXJr
cyBtb2RlKSB3aGVyZSB0aGUgYm9keS9kb2N1bWVudCByZXNpemUgdG8gdGhlIHZpZXcgc2l6ZSwK
KyAgICAgICAgLy8gd2UnbGwgZW5kIHVwIG5vdCBzaHJpbmtpbmcgYmFjayBkb3duIGFmdGVyIHJl
c2l6aW5nIHRvIHRoZSBjb21wdXRlZCBwcmVmZXJyZWQgd2lkdGguCisgICAgICAgIHJlc2l6ZShu
ZXdTaXplLndpZHRoKCksIGkgPyBuZXdTaXplLmhlaWdodCgpIDogbV9taW5BdXRvU2l6ZS5oZWln
aHQoKSk7CiAgICAgICAgIC8vIEZvcmNlIHRoZSBzY3JvbGxiYXIgc3RhdGUgdG8gYXZvaWQgdGhl
IHNjcm9sbGJhciBjb2RlIGFkZGluZyB0aGVtIGFuZCBjYXVzaW5nIHRoZW0gdG8gYmUgbmVlZGVk
LiBGb3IgZXhhbXBsZSwKICAgICAgICAgLy8gYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgbWF5IGNhdXNl
IHRleHQgdG8gd3JhcCBhbmQgdGh1cyBpbmNyZWFzZSB0aGUgaGVpZ2h0ICh3aGljaCBpcyB0aGUg
b25seSByZWFzb24gdGhlIHNjb2xsYmFyIGlzIG5lZWRlZCkuCiAgICAgICAgIHNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jayhmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGM3ZTIyYWFiMDgwMjg0MWQyZDczZjA0YTBiYzM0NjFi
MjZjNTg2ZWIuLjY0NTE2YjNiOTA3MTZjMzIwZDFjNTE4ZmQ5YmIxMmU1YTczN2ZjZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0x
NjAsNiArMTYwLDcgQEAgV0tXZWJWaWV3KiBmcm9tV2ViUGFnZVByb3h5KFdlYktpdDo6V2ViUGFn
ZVByb3h5JiBwYWdlKQogICAgIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzIF9vYnNlcnZlZFJl
bmRlcmluZ1Byb2dyZXNzRXZlbnRzOwogCiAgICAgV2ViS2l0OjpXZWFrT2JqQ1B0cjxpZCA8X1dL
Rm9ybURlbGVnYXRlPj4gX2Zvcm1EZWxlZ2F0ZTsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBS
ZXRhaW5QdHI8V0tTY3JvbGxWaWV3PiBfc2Nyb2xsVmlldzsKICAgICBSZXRhaW5QdHI8V0tDb250
ZW50Vmlldz4gX2NvbnRlbnRWaWV3OwpAQCAtMjE2LDYgKzIxNyw3IEBAIFdLV2ViVmlldyogZnJv
bVdlYlBhZ2VQcm94eShXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSkKICNlbmRpZgogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBSZXRhaW5QdHI8V0tWaWV3PiBfd2tWaWV3OworICAgIENHU2l6ZSBf
aW50cmluc2ljQ29udGVudFNpemU7CiAjZW5kaWYKIH0KIApAQCAtMzczLDYgKzM3NSw4IEBAIHN0
YXRpYyBib29sIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKQogICAg
IFtzZWxmIGFkZFN1YnZpZXc6X3drVmlldy5nZXQoKV07CiAgICAgX3BhZ2UgPSBXZWJLaXQ6OnRv
SW1wbChbX3drVmlldyBwYWdlUmVmXSk7CiAKKyAgICBfaW50cmluc2ljQ29udGVudFNpemUgPSBD
R1NpemVNYWtlKE5TVmlld05vSW5zdHJpbnNpY01ldHJpYywgTlNWaWV3Tm9JbnN0cmluc2ljTWV0
cmljKTsKKwogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAg
ICAgW193a1ZpZXcgX3NldEF1dG9tYXRpY2FsbHlBZGp1c3RzQ29udGVudEluc2V0czpZRVNdOwog
I2VuZGlmCkBAIC0xOTI0LDYgKzE5MjgsMjYgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQg
Y29uc3RyYWluQ29udGVudE9mZnNldChXZWJDb3JlOjpGbG9hdFBvaW50IGNvbnRlbnRPZmYKIHsK
ICAgICByZXR1cm4gW193a1ZpZXcgcGVyZm9ybURyYWdPcGVyYXRpb246c2VuZGVyXTsKIH0KKwor
LSAoQ0dTaXplKWludHJpbnNpY0NvbnRlbnRTaXplCit7CisgICAgcmV0dXJuIF9pbnRyaW5zaWND
b250ZW50U2l6ZTsKK30KKworLSAodm9pZClfc2V0SW50cmluc2ljQ29udGVudFNpemU6KENHU2l6
ZSlpbnRyaW5zaWNDb250ZW50U2l6ZQoreworICAgIC8vIElmIHRoZSBpbnRyaW5zaWMgY29udGVu
dCBzaXplIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSBsYXlvdXQgd2lkdGgsIHRoZSBjb250ZW50
IGZsb3dlZCB0byBmaXQsCisgICAgLy8gc28gd2UgY2FuIHJlcG9ydCB0aGF0IHRoYXQgZGltZW5z
aW9uIGlzIGZsZXhpYmxlLiBJZiBub3QsIHdlIG5lZWQgdG8gcmVwb3J0IG91ciBpbnRyaW5zaWMg
d2lkdGgKKyAgICAvLyBzbyB0aGF0IGF1dG9sYXlvdXQgd2lsbCBrbm93IHRvIHByb3ZpZGUgc3Bh
Y2UgZm9yIHVzLgorCisgICAgQ0dTaXplIGludHJpbnNpY0NvbnRlbnRTaXplQWNrbm93bGVkZ2lu
Z0ZsZXhpYmxlV2lkdGggPSBpbnRyaW5zaWNDb250ZW50U2l6ZTsKKyAgICBpZiAoaW50cmluc2lj
Q29udGVudFNpemUud2lkdGggPCBfcGFnZS0+bWluaW11bUxheW91dFNpemUoKS53aWR0aCgpKQor
ICAgICAgICBpbnRyaW5zaWNDb250ZW50U2l6ZUFja25vd2xlZGdpbmdGbGV4aWJsZVdpZHRoLndp
ZHRoID0gTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljOworCisgICAgX2ludHJpbnNpY0NvbnRlbnRT
aXplID0gaW50cmluc2ljQ29udGVudFNpemVBY2tub3dsZWRnaW5nRmxleGlibGVXaWR0aDsKKyAg
ICBbc2VsZiBpbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemVdOworfQorCiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogCiBAZW5kCkBAIC0zMTI0LDYgKzMxNDgsMjEgQEAgc3RhdGljIGlubGlu
ZSBXZWJLaXQ6OkZpbmRPcHRpb25zIHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5k
T3B0aW9ucykKIAogI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMDAwCiAKKy0gKENHRmxvYXQpX21pbmltdW1MYXlvdXRXaWR0aAoreworICAgIHJldHVybiBf
cGFnZS0+bWluaW11bUxheW91dFNpemUoKS53aWR0aCgpOworfQorCistICh2b2lkKV9zZXRNaW5p
bXVtTGF5b3V0V2lkdGg6KENHRmxvYXQpd2lkdGgKK3sKKyAgICBCT09MIGV4cGFuZHNUb0ZpdCA9
IHdpZHRoID4gMDsKKworICAgIF9wYWdlLT5zZXRNaW5pbXVtTGF5b3V0U2l6ZShXZWJDb3JlOjpJ
bnRTaXplKHdpZHRoLCAwKSk7CisgICAgX3BhZ2UtPnNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZSgh
ZXhwYW5kc1RvRml0KTsKKworICAgIFtfd2tWaWV3IHNldFNob3VsZENsaXBUb1Zpc2libGVSZWN0
OmV4cGFuZHNUb0ZpdF07Cit9CisKICNlbmRpZgogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggZDJk
ZWYyM2ZkNTIwOWQ0OTk0MGFhYjRhZWU4OTU4MDUzZjQyZDQ4Mi4uNWE0YjIxMGE5NjIzMDIwNGU1
YTY2ZmI5ZDgwOTk1YzVhMjFkYzIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMTEyLDYgKzExMiw3IEBA
IHN0cnVjdCBQcmludEluZm87CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJRWRn
ZUluc2V0cyBfY29tcHV0ZWRDb250ZW50SW5zZXQ7CiAjZWxzZQogQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0SWdub3Jlc05vbldoZWVsRXZlbnRzOikgQk9PTCBfaWdub3Jlc05vbldo
ZWVsRXZlbnRzOworLSAodm9pZClfc2V0SW50cmluc2ljQ29udGVudFNpemU6KENHU2l6ZSlpbnRy
aW5zaWNDb250ZW50U2l6ZTsKICNlbmRpZgogCiAtIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5n
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaAppbmRleCBiZmVlODg4NGZmMWQxYTgzZjlmYTUyMGM0NjE0ZDllZjZiMDQxZjVl
Li5jMmI3MDdkOWE4NDIxZmE2NzM2ODg3MjQyYjNiYTVlODc1NjcxMGY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApA
QCAtMTg1LDYgKzE4NSw5IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0ltbWVkaWF0
ZUFjdGlvblR5cGUpIHsKIC8vIENsaWVudHMgdGhhdCB3YW50IHRvIG1haW50YWluIGRlZmF1bHQg
YmVoYXZpb3IgY2FuIHJldHVybiBuaWwuIFRvIGRpc2FibGUgdGhlIGltbWVkaWF0ZSBhY3Rpb24g
ZW50aXJlbHksIHJldHVybiBOU051bGwuIEFuZCB0bwogLy8gZG8gc29tZXRoaW5nIGN1c3RvbSwg
cmV0dXJuIGFuIG9iamVjdCB0aGF0IGNvbmZvcm1zIHRvIHRoZSBOU0ltbWVkaWF0ZUFjdGlvbkFu
aW1hdGlvbkNvbnRyb2xsZXIgcHJvdG9jb2wuCiAtIChpZClfaW1tZWRpYXRlQWN0aW9uQW5pbWF0
aW9uQ29udHJvbGxlckZvckhpdFRlc3RSZXN1bHQ6KF9XS0hpdFRlc3RSZXN1bHQgKiloaXRUZXN0
UmVzdWx0IHdpdGhUeXBlOihfV0tJbW1lZGlhdGVBY3Rpb25UeXBlKXR5cGUgdXNlckRhdGE6KGlk
PE5TU2VjdXJlQ29kaW5nPil1c2VyRGF0YTsKKworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0TWluaW11bUxheW91dFdpZHRoOikgQ0dGbG9hdCBfbWluaW11bUxheW91dFdpZHRoOwor
CiAjZW5kaWYKIAogLSAoV0tOYXZpZ2F0aW9uICopX3JlbG9hZFdpdGhvdXRDb250ZW50QmxvY2tl
cnMgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5kZXggZWQyMzA0ODI5M2Q2MGU4
OWQwMjJkYjdiZDE3MjkwMzVhMWRlMTE4My4uYTIzY2Y2MTgxYTk3YzIxNjczMGE2NmM1OTE1MzA4
NDE2YzMzMzQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLm1tCkBAIC02NDEsNyArNjQxLDEwIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnJlY29t
bWVuZGVkU2Nyb2xsYmFyU3R5bGVEaWRDaGFuZ2UoU2Nyb2xsYmFyU3R5bGUgbmV3U3R5bGUpCiAK
IHZvaWQgUGFnZUNsaWVudEltcGw6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0
IEludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKQogewotICAgIFttX3drVmlldyBfc2V0SW50
cmluc2ljQ29udGVudFNpemU6aW50cmluc2ljQ29udGVudFNpemVdOworICAgIGlmIChtX3dlYlZp
ZXcpCisgICAgICAgIFttX3dlYlZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXplOmludHJpbnNp
Y0NvbnRlbnRTaXplXTsKKyAgICBlbHNlCisgICAgICAgIFttX3drVmlldyBfc2V0SW50cmluc2lj
Q29udGVudFNpemU6aW50cmluc2ljQ29udGVudFNpemVdOwogfQogCiBib29sIFBhZ2VDbGllbnRJ
bXBsOjpleGVjdXRlU2F2ZWRDb21tYW5kQnlTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9y
U3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBmZjMyY2Y5NjI3
MzU0YTJhN2Q1YWNlNDAzNmI0NWRkOWUyOTA5NjNkLi45YWQ1MDE5MzY1YWE1MzY5N2NiMTJjYWRm
MWNjYzU0YTI4MzEyZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAt
MTMxOSw3ICsxMzE5LDkgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRv
Q29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgICAgIGludCBtaW5pbXVtTGF5b3V0SGVpZ2h0ID0g
c3RkOjptYXgod2ViUGFnZS0+bWluaW11bUxheW91dFNpemUoKS5oZWlnaHQoKSwgMSk7CiAgICAg
ICAgIGludCBtYXhpbXVtU2l6ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CiAg
ICAgICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPmVuYWJsZUF1dG9TaXplTW9kZSh0
cnVlLCBJbnRTaXplKG1pbmltdW1MYXlvdXRXaWR0aCwgbWluaW11bUxheW91dEhlaWdodCksIElu
dFNpemUobWF4aW11bVNpemUsIG1heGltdW1TaXplKSk7Ci0gICAgICAgIG1fZnJhbWUtPmNvcmVG
cmFtZSgpLT52aWV3KCktPnNldEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KHdlYlBhZ2UtPnNp
emUoKS5oZWlnaHQoKSk7CisKKyAgICAgICAgaWYgKHdlYlBhZ2UtPmF1dG9TaXppbmdTaG91bGRF
eHBhbmRUb1ZpZXdIZWlnaHQoKSkKKyAgICAgICAgICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52
aWV3KCktPnNldEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KHdlYlBhZ2UtPnNpemUoKS5oZWln
aHQoKSk7CiAgICAgfQogCiAgICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+c2V0UHJv
aGliaXRzU2Nyb2xsaW5nKHNob3VsZERpc2FibGVTY3JvbGxpbmcpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA1Y2NhODEyMzk4MDJhYTkwNzEx
NTRkNWYyOWQ5ZTViM2M5NjNiYTYuLjMxYWJhNWNkMjIxZTUyNGQ5OTE3NTRiMWJiODU5NzMxYjU5
N2U1OWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxNS0xMC0xNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KKworICAgICAgICBIb29rIHVwIGF1dG9sYXlvdXQgaW50cmluc2ljIHNpemlu
ZyBmb3IgV0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTAyMTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwMDE2OTA1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tOiBB
ZGRlZC4KKyAgICAgICAgKC1bQXV0b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRp
ZEZpbmlzaE5hdmlnYXRpb246XSk6CisgICAgICAgICgtW0F1dG9MYXlvdXRXS1dlYlZpZXcgbG9h
ZDpleHBlY3RpbmdDb250ZW50U2l6ZTpdKToKKyAgICAgICAgKC1bQXV0b0xheW91dFdLV2ViVmll
dyBleHBlY3RDb250ZW50U2l6ZUNoYW5nZTpdKToKKyAgICAgICAgKC1bQXV0b0xheW91dFdLV2Vi
VmlldyBpbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemVdKToKKyAgICAgICAgKFRFU1QpOgor
ICAgICAgICBBZGQgYSB2YXJpZXR5IG9mIHRlc3RzLCBpbmNsdWRpbmcgb25lIHdoaWNoIGNhdGNo
ZXMgdGhlIGJ1ZyB0aGF0CisgICAgICAgIHRoZSBXZWJDb3JlIHBhcnQgb2YgdGhpcyBwYXRjaCBm
aXhlcy4KKwogMjAxNS0xMC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNh
bm9uLmZyPgogCiAgICAgICAgIFVwZGF0ZSBJbXBvcnRFeHBlY3RhdGlvbnMgYWNjb3JkaW5nIGN1
cnJlbnRseSBpbXBvcnRlZCB3cHQgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjE0
NDAyYTc0MGNlNmQyNTkwODI0NWIxZWMyYjA2NTUwM2NlODg1Ny4uMmJhYmVkOTM4ZGQ1MTQzNWU3
NGVjM2FkN2IyMmQ0NDc4ZDJkMTY2NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1LDYg
KzM1LDcgQEAKIAkJMjk3MjM0QjcxNzNBRkFDNzAwOTgzNjAxIC8qIEN1c3RvbVByb3RvY29sc0lu
dmFsaWRTY2hlbWVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI5NzIzNEI1MTczQUZBQzcwMDk4MzYwMSAvKiBDdXN0b21Qcm90b2NvbHNJ
bnZhbGlkU2NoZW1lX0J1bmRsZS5jcHAgKi87IH07CiAJCTJEMUZFMEIwMUFENDY1QzEwMDZDRDlF
NiAvKiBGaXhlZExheW91dFNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDFGRTBBRjFBRDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRMYXlvdXRTaXpl
Lm1tICovOyB9OwogCQkyRDlBNTNBRjFCMzFGQThEMDA3NEQ1QUEgLyogU2hyaW5rVG9GaXQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlBNTNBRTFC
MzFGQThEMDA3NEQ1QUEgLyogU2hyaW5rVG9GaXQubW0gKi87IH07CisJCTJERDM1NTM2MUJEMDgz
NzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREQzNTUzNTFCRDA4Mzc4MDA1REY0QTcgLyog
QXV0b0xheW91dEludGVncmF0aW9uLm1tICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7
IH07IH07CiAJCTJERDdEM0FGMTc4MjI3QjMwMDI2RTFFMyAvKiBsb3RzLW9mLXRleHQtdmVydGlj
YWwtbHIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyREQ3RDNBRTE3ODIyN0FDMDAyNkUxRTMgLyogbG90cy1vZi10ZXh0LXZlcnRpY2Fs
LWxyLmh0bWwgKi87IH07CiAJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0Mx
NkM0RDgwQTAwQkEyQkIxIC8qIG1haW5JT1MubW0gKi87IH07CiAJCTJFNzc2NUNGMTZDNEQ4MTEw
MEJBMkJCMSAvKiBtYWluTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkU3NzY1Q0UxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gKi87IH07
CkBAIC01MDQsNiArNTA1LDcgQEAKIAkJMkQxRkUwQUYxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVk
TGF5b3V0U2l6ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZp
eGVkTGF5b3V0U2l6ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2NDBCNTQx
Nzg3NURGRjAwQkZBRjk5IC8qIFNjcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsUGlubmluZ0JlaGF2aW9ycy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAvKiBT
aHJpbmtUb0ZpdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNo
cmlua1RvRml0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyREQzNTUzNTFCRDA4
Mzc4MDA1REY0QTcgLyogQXV0b0xheW91dEludGVncmF0aW9uLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXV0b0xheW91dEludGVncmF0aW9uLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyREQ3RDNBOTE3ODIwNUQwMDAyNkUxRTMgLyogUmVzaXpl
UmV2ZXJzZVBhZ2luYXRlZFdlYlZpZXcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVzaXplUmV2ZXJzZVBhZ2luYXRlZFdlYlZpZXcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyREQ3RDNBRTE3ODIyN0FDMDAyNkUxRTMgLyogbG90cy1vZi10ZXh0
LXZlcnRpY2FsLWxyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAibG90cy1vZi10ZXh0LXZlcnRpY2FsLWxyLmh0
bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTc3NjVDQzE2QzREODBBMDBCQTJC
QjEgLyogbWFpbklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IG1haW5JT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MDAsNiArOTAyLDcg
QEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJN0NFRkE5NjQxQUMw
QjlFMjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi8sCisJCQkJ
MkREMzU1MzUxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbSAqLywK
IAkJCQlBMTNFQkJBQzFCODc0MzZGMDAwOTcxMTAgLyogQnVuZGxlUGFyYW1ldGVycy5tbSAqLywK
IAkJCQlBMTNFQkJBRTFCODc0MzZGMDAwOTcxMTAgLyogQnVuZGxlUGFyYW1ldGVyc1BsdWdJbi5t
bSAqLywKIAkJCQlBMTRGQzU4NjFCODk5MUI2MDBEMTA3RUIgLyogQ29udGVudEZpbHRlcmluZy5t
bSAqLywKQEAgLTE3NDIsNiArMTc0NSw3IEBACiAJCQkJMUNCOUJDMzgxQTY3NDgyMzAwRkU1Njc4
IC8qIFdlYWtQdHIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU3NzY1Q0QxNkM0RDgwQTAwQkEy
QkIxIC8qIG1haW5JT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MTk3M0I1RDFBRjIyODc1MDA2
QzdCMzYgLyogU2hhcmVkQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJERDM1NTM2MUJE
MDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3QUE2QTE1MjFBQUMwQjMxMDAyQjJFRDMgLyogV29ya1F1ZXVlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJFNzc2NUNGMTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWluTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDE5NzNCNUIxQUYyMjg2QTAwNkM3QjM2IC8qIEZpbGVTeXN0ZW0uY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTFm
MzBlNjE1N2I4MzQzZTNmZmI1MGMwYzhiMTMzZWZmNjMwZjEwMAotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbQpAQCAtMCwwICsxLDEzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dl
YlZpZXdQcml2YXRlLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKKyNpZiBXS19BUElf
RU5BQkxFRCAmJiBQTEFURk9STShNQUMpCisKK3N0YXRpYyBib29sIGRpZEZpbmlzaE5hdmlnYXRp
b247CitzdGF0aWMgYm9vbCBkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemU7CisKK0Bp
bnRlcmZhY2UgQXV0b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS05hdmln
YXRpb25EZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIEF1dG9MYXlvdXROYXZpZ2F0
aW9uRGVsZWdhdGUKKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZEZp
bmlzaE5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24KK3sKKyAgICBkaWRGaW5p
c2hOYXZpZ2F0aW9uID0gdHJ1ZTsKK30KKworQGVuZAorCitAaW50ZXJmYWNlIEF1dG9MYXlvdXRX
S1dlYlZpZXcgOiBXS1dlYlZpZXcKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIEF1dG9MYXlvdXRX
S1dlYlZpZXcgeworICAgIEJPT0wgX2V4cGVjdGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdl
OworICAgIE5TU2l6ZSBfZXhwZWN0ZWRJbnRyaW5zaWNDb250ZW50U2l6ZTsKK30KKworLSAodm9p
ZClsb2FkOihOU1N0cmluZyAqKUhUTUxTdHJpbmcgZXhwZWN0aW5nQ29udGVudFNpemU6KE5TU2l6
ZSlzaXplCit7CisgICAgRVhQRUNUX0ZBTFNFKF9leHBlY3RpbmdJbnRyaW5zaWNDb250ZW50U2l6
ZUNoYW5nZSk7CisKKyAgICBOU1N0cmluZyAqYmFzZUhUTUwgPSBAIjxzdHlsZT4iCisgICAgImJv
ZHksIGh0bWwgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0iCisgICAgImRpdiB7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyB9IgorICAgICIuc21hbGwgeyB3aWR0aDogMTBweDsgaGVpZ2h0OiAx
MHB4OyB9IgorICAgICIubGFyZ2UgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0iCisg
ICAgIi52ZXJ5V2lkZSB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMHB4OyB9IgorICAgICIuaW5s
aW5lIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IgorICAgICI8L3N0eWxlPiI7CisKKyAgICBk
aWRGaW5pc2hOYXZpZ2F0aW9uID0gZmFsc2U7CisgICAgW3NlbGYgbG9hZEhUTUxTdHJpbmc6W2Jh
c2VIVE1MIHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOkhUTUxTdHJpbmddIGJhc2VVUkw6bmlsXTsK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZEZpbmlzaE5hdmlnYXRpb24pOworCisg
ICAgW3NlbGYgZXhwZWN0Q29udGVudFNpemVDaGFuZ2U6c2l6ZV07Cit9CisKKy0gKHZvaWQpZXhw
ZWN0Q29udGVudFNpemVDaGFuZ2U6KE5TU2l6ZSlzaXplCit7CisgICAgLy8gTk9URTogRWFjaCBh
ZGphY2VudCBleHBlY3RlZCByZXN1bHQgbXVzdCBiZSBkaWZmZXJlbnQsIG9yIHdlJ2xsIGVhcmx5
IHJldHVybiBhbmQgbm90IGNhbGwgaW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplIQorICAg
IEVYUEVDVF9GQUxTRShOU0VxdWFsU2l6ZXMoc2l6ZSwgc2VsZi5pbnRyaW5zaWNDb250ZW50U2l6
ZSkpOworCisgICAgX2V4cGVjdGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdlID0gWUVTOwor
ICAgIF9leHBlY3RlZEludHJpbnNpY0NvbnRlbnRTaXplID0gc2l6ZTsKKyAgICBkaWRJbnZhbGlk
YXRlSW50cmluc2ljQ29udGVudFNpemUgPSBmYWxzZTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRpZEludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSk7Cit9CisKKy0gKHZvaWQp
aW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplCit7CisgICAgaWYgKCFfZXhwZWN0aW5nSW50
cmluc2ljQ29udGVudFNpemVDaGFuZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIF9leHBlY3Rp
bmdJbnRyaW5zaWNDb250ZW50U2l6ZUNoYW5nZSA9IE5POworCisgICAgTlNTaXplIGludHJpbnNp
Y0NvbnRlbnRTaXplID0gc2VsZi5pbnRyaW5zaWNDb250ZW50U2l6ZTsKKyAgICBFWFBFQ1RfRVEo
X2V4cGVjdGVkSW50cmluc2ljQ29udGVudFNpemUud2lkdGgsIGludHJpbnNpY0NvbnRlbnRTaXpl
LndpZHRoKTsKKyAgICBFWFBFQ1RfRVEoX2V4cGVjdGVkSW50cmluc2ljQ29udGVudFNpemUuaGVp
Z2h0LCBpbnRyaW5zaWNDb250ZW50U2l6ZS5oZWlnaHQpOworCisgICAgZGlkSW52YWxpZGF0ZUlu
dHJpbnNpY0NvbnRlbnRTaXplID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdlYktpdDIsIEF1
dG9MYXlvdXRJbnRlZ3JhdGlvbikKK3sKKyAgICBSZXRhaW5QdHI8QXV0b0xheW91dFdLV2ViVmll
dz4gd2ViVmlldyA9IGFkb3B0TlMoW1tBdXRvTGF5b3V0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAwMCwgMTAwMCldKTsKKyAgICBbd2ViVmlldyBfc2V0
TWluaW11bUxheW91dFdpZHRoOjUwXTsKKworICAgIEF1dG9MYXlvdXROYXZpZ2F0aW9uRGVsZWdh
dGUgKmRlbGVnYXRlID0gW1tBdXRvTGF5b3V0TmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0
XTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGVdOworCisgICAg
Ly8gMTB4MTAgcmVjdCB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSA1MCkgLT4gNTB4MTAK
KyAgICBbd2ViVmlldyBsb2FkOkAiPGRpdiBjbGFzcz0nc21hbGwnPjwvZGl2PiIgZXhwZWN0aW5n
Q29udGVudFNpemU6TlNNYWtlU2l6ZSg1MCwgMTApXTsKKworICAgIC8vIDEwMHgxMDAgcmVjdCB3
aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSA1MCkgLT4gMTAweDEwMAorICAgIFt3ZWJWaWV3
IGxvYWQ6QCI8ZGl2IGNsYXNzPSdsYXJnZSc+PC9kaXY+IiBleHBlY3RpbmdDb250ZW50U2l6ZTpO
U01ha2VTaXplKDEwMCwgMTAwKV07CisKKyAgICAvLyAxMDB4MTAgcmVjdCB3aXRoIHRoZSBjb25z
dHJhaW50ICh3aWR0aCA+PSA1MCkgLT4gMTAweDEwCisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYg
Y2xhc3M9J3ZlcnlXaWRlJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUo
MTAwLCAxMCldOworCisgICAgLy8gVGVuIDEweDEwIHJlY3RzLCBpbmxpbmUsIHNob3VsZCByZXN1
bHQgaW4gdHdvIHJvd3Mgb2YgZml2ZTsgd2l0aCB0aGUgY29uc3RyYWludCAod2lkdGggPj0gNTAp
IC0+IDUweDIwCisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+
PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBp
bmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0n
c21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYg
Y2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rp
dj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGlu
ZSc+PC9kaXY+IiBleHBlY3RpbmdDb250ZW50U2l6ZTpOU01ha2VTaXplKDUwLCAyMCldOworCisg
ICAgLy8gQ2hhbmdpbmcgdGhlIHdpZHRoIHRvIDEwIHNob3VsZCByZXN1bHQgaW4gdGVuIHJvd3Mg
b2Ygb25lOyB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSAxMCkgLT4gMTB4MTAwCisgICAg
W3dlYlZpZXcgX3NldE1pbmltdW1MYXlvdXRXaWR0aDoxMF07CisgICAgW3dlYlZpZXcgZXhwZWN0
Q29udGVudFNpemVDaGFuZ2U6TlNNYWtlU2l6ZSgxMCwgMTAwKV07CisKKyAgICAvLyBDaGFuZ2lu
ZyB0aGUgd2lkdGggdG8gMTAwIHNob3VsZCByZXN1bHQgaW4gb25lIHJvd3Mgb2YgdGVuOyB3aXRo
IHRoZSBjb25zdHJhaW50ICh3aWR0aCA+PSAxMDApIC0+IDEwMHgxMAorICAgIFt3ZWJWaWV3IF9z
ZXRNaW5pbXVtTGF5b3V0V2lkdGg6MTAwXTsKKyAgICBbd2ViVmlldyBleHBlY3RDb250ZW50U2l6
ZUNoYW5nZTpOU01ha2VTaXplKDEwMCwgMTApXTsKKworICAgIC8vIE9uZSAxMDB4MTAwIHJlY3Qg
YW5kIHRlbiAxMHgxMCByZWN0cywgaW5saW5lOyB3aXRoIHRoZSBjb25zdHJhaW50ICh3aWR0aCA+
PSAyMCkgLT4gMTAweDExMAorICAgIFt3ZWJWaWV3IF9zZXRNaW5pbXVtTGF5b3V0V2lkdGg6MjBd
OworICAgIFt3ZWJWaWV3IGxvYWQ6QCI8ZGl2IGNsYXNzPSdsYXJnZSc+PC9kaXY+PGRpdiBjbGFz
cz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2Pjxk
aXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48
L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlu
bGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdz
bWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBj
bGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNp
emUoMTAwLCAxMTApXTsKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263286</attachid>
            <date>2015-10-16 10:28:38 -0700</date>
            <delta_ts>2015-10-16 10:28:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150219-20151016102759.patch</filename>
            <type>text/plain</type>
            <size>21996</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5ZTQ5NDQzNmQyOWJi
OTgxMjdlMmU3ZTg1NTk3NDViYzIwMzdiYS4uZjllYjhiMjM5NjIyMTgzMGJhZGY1NzAxYzE1ZDRj
MmY1MGMzZDFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE1LTEwLTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIEhvb2sgdXAgYXV0
b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgIE5ldyBBUEkgdGVzdDogV2ViS2l0Mi5BdXRvTGF5b3V0SW50ZWdyYXRpb24uCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmF1dG9TaXplSWZFbmFibGVkKToKKyAgICAgICAgV2hlbiBhdXRvc2l6aW5nIGEgZG9jdW1lbnQg
aW4gd2hpY2ggdGhlIGJvZHkgZXhwYW5kcyB0byB0aGUgc2l6ZSBvZiAKKyAgICAgICAgdGhlIHZp
ZXcgKGEgZmVhdHVyZSBvZiBxdWlya3MgbW9kZSksIHRoZSBmaXJzdCAod2lkdGgtZGV0ZXJtaW5p
bmcpCisgICAgICAgIGF1dG9zaXppbmcgd2lsbCByZXNpemUgdGhlIHZpZXcgdG8gdGhlIGRvY3Vt
ZW50IGhlaWdodCAod2hpY2ggaXMgYXQgCisgICAgICAgIGxlYXN0IHRoZSBib2R5IGhlaWdodCks
IGFuZCB0aGUgc2Vjb25kIHRpbWUgYXJvdW5kLCB0aGUgaGVpZ2h0IHdpbGwKKyAgICAgICAgbm90
IGRlY3JlYXNlIChiZWNhdXNlIGl0IHdhcyBleHBhbmRlZCB0byB0aGUgc2l6ZSBvZiB0aGUgdmll
dykuCisKKyAgICAgICAgSW5zdGVhZCwgdGhlIGZpcnN0IHRpbWUgYXJvdW5kLCB3ZSBzaG91bGQg
dXNlIHRoZSBjb21wdXRlZCB3aWR0aCwKKyAgICAgICAgYnV0IHNocmluayB0aGUgaGVpZ2h0IGJh
Y2sgZG93biB0byB0aGUgbWluaW11bSwgYW5kIHRoZW4gZXhwYW5kCisgICAgICAgIG9ubHkgYXMg
bXVjaCBhcyBuZWVkZWQgdG8gZml0IHRoZSBjb250ZW50LgorCisyMDE1LTEwLTE1ICBUaW0gSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCiAgICAgICAgIFRyeSB0byBmaXggdGhl
IGlPUyBidWlsZC4KIAogICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggZmE4OTNkMDZmNDNhNDkzNWU1ZmU2Y2ZkNzA0N2QzN2ZmMmIxODEzYS4uZjBiN2FkYzcwZjZm
NTAwOWY1MTQ3NzM0MzgwYTcxMjQyODk0OTBiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBA
CisyMDE1LTEwLTE1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisg
ICAgICAgIEhvb2sgdXAgYXV0b2xheW91dCBpbnRyaW5zaWMgc2l6aW5nIGZvciBXS1dlYlZpZXcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIxOQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAwMTY5MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dLV2ViVmlldyBpbml0V2l0aEZyYW1lOmNvbmZpZ3VyYXRpb246XSk6
CisgICAgICAgICgtW1dLV2ViVmlldyBpbnRyaW5zaWNDb250ZW50U2l6ZV0pOgorICAgICAgICAo
LVtXS1dlYlZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXplOl0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgX21pbmltdW1MYXlvdXRXaWR0aF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldE1p
bmltdW1MYXlvdXRXaWR0aDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0ludGVybmFsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmg6CisgICAgICAgIEFkZCBhIHNpbXBsZSBTUEkgdG8gc3BlY2lmeSB0aGUgbWluaW11
bSB3aWR0aCB0aGF0IGEgV0tXZWJWaWV3IHdpbGwgYXR0ZW1wdAorICAgICAgICB0byBsYXkgb3V0
IHRvLCBzaW1pbGFyIHRvIFdLVmlldyBleGNlcHQganVzdCBhIHdpZHRoLCBub3QgYSBzaXplLCBh
bmQKKyAgICAgICAgd2l0aCBubyBvcHRpb24gdG8gZm9yY2UgdGhlIGhlaWdodCB0byB0aGUgdmll
dyBzaXplLiBTaW1pbGFyIGJlaGF2aW9yIGNhbgorICAgICAgICBiZSBhY2hpZXZlZCBieSBjbGll
bnRzIGJ5IHNldHRpbmcgY3VzdG9tIGF1dG9sYXlvdXQgY29uc3RyYWludHMgb24gdGhlIHZpZXcu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UpOgor
ICAgICAgICBGb3J3YXJkIGludHJpbnNpYyBjb250ZW50IHNpemUgY2hhbmdlcyB0byB0aGUgV0tX
ZWJWaWV3LCBub3QgaXRzIGlubmVyIFdLVmlldywKKyAgICAgICAgaWYgd2UgaGF2ZSBvbmUuCisK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25U
b0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAgICAgICBPbmx5IHNldCB0aGUgYXV0b3NpemluZyBm
aXhlZCBtaW5pbXVtIGhlaWdodCBpZiB3ZSdyZSB1c2luZyB0aGF0IGJlaGF2aW9yOworICAgICAg
ICBvdGhlcndpc2UsIHNldHRpbmcgaXQgdG8gdGhlIHZpZXcncyBoZWlnaHQgd2lsbCBlbmQgdXAg
YWNjaWRlbnRhbGx5CisgICAgICAgIHR1cm5pbmcgb24gdGhhdCBiZWhhdmlvciAod2hpY2ggaW52
b2x2ZXMgYW4gZXh0cmEgbGF5b3V0IHBlciByZXNpemUhKS4KKwogMjAxNS0xMC0xNSAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVGVz
dCBXZWJLaXQyLlJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEgZmFpbHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA0OTU1ZDAxNTliYWM1MzhhY2RmN2ZhNzhmODA1
MDMzMDZmNWQ5N2I3Li4xMjI5NjRhNzllZGJiYzRlYmE5ZDk3MTNhZWM1Mzg1N2I3ZjY2ZTgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMjgxLDcgKzMyODEsMTAgQEAgdm9pZCBG
cmFtZVZpZXc6OmF1dG9TaXplSWZFbmFibGVkKCkKICAgICAgICAgICAgICYmICFmcmFtZSgpLmxv
YWRlcigpLmlzQ29tcGxldGUoKSAmJiAobmV3U2l6ZS5oZWlnaHQoKSA8IHNpemUuaGVpZ2h0KCkg
fHwgbmV3U2l6ZS53aWR0aCgpIDwgc2l6ZS53aWR0aCgpKSkKICAgICAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIHJlc2l6ZShuZXdTaXplLndpZHRoKCksIG5ld1NpemUuaGVpZ2h0KCkpOworICAg
ICAgICAvLyBUaGUgZmlyc3QgdGltZSBhcm91bmQsIHJlc2l6ZSB0byB0aGUgbWluaW11bSBoZWln
aHQgYWdhaW47IG90aGVyd2lzZSwKKyAgICAgICAgLy8gb24gcGFnZXMgKGUuZy4gcXVpcmtzIG1v
ZGUpIHdoZXJlIHRoZSBib2R5L2RvY3VtZW50IHJlc2l6ZSB0byB0aGUgdmlldyBzaXplLAorICAg
ICAgICAvLyB3ZSdsbCBlbmQgdXAgbm90IHNocmlua2luZyBiYWNrIGRvd24gYWZ0ZXIgcmVzaXpp
bmcgdG8gdGhlIGNvbXB1dGVkIHByZWZlcnJlZCB3aWR0aC4KKyAgICAgICAgcmVzaXplKG5ld1Np
emUud2lkdGgoKSwgaSA/IG5ld1NpemUuaGVpZ2h0KCkgOiBtX21pbkF1dG9TaXplLmhlaWdodCgp
KTsKICAgICAgICAgLy8gRm9yY2UgdGhlIHNjcm9sbGJhciBzdGF0ZSB0byBhdm9pZCB0aGUgc2Ny
b2xsYmFyIGNvZGUgYWRkaW5nIHRoZW0gYW5kIGNhdXNpbmcgdGhlbSB0byBiZSBuZWVkZWQuIEZv
ciBleGFtcGxlLAogICAgICAgICAvLyBhIHZlcnRpY2FsIHNjcm9sbGJhciBtYXkgY2F1c2UgdGV4
dCB0byB3cmFwIGFuZCB0aHVzIGluY3JlYXNlIHRoZSBoZWlnaHQgKHdoaWNoIGlzIHRoZSBvbmx5
IHJlYXNvbiB0aGUgc2NvbGxiYXIgaXMgbmVlZGVkKS4KICAgICAgICAgc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NrKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggYzdlMjJhYWIwODAyODQxZDJkNzNmMDRhMGJjMzQ2MWIyNmM1
ODZlYi4uNjQ1MTZiM2I5MDcxNmMzMjBkMWM1MThmZDliYjEyZTVhNzM3ZmNlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE2MCw2
ICsxNjAsNyBAQCBXS1dlYlZpZXcqIGZyb21XZWJQYWdlUHJveHkoV2ViS2l0OjpXZWJQYWdlUHJv
eHkmIHBhZ2UpCiAgICAgX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMgX29ic2VydmVkUmVuZGVy
aW5nUHJvZ3Jlc3NFdmVudHM7CiAKICAgICBXZWJLaXQ6OldlYWtPYmpDUHRyPGlkIDxfV0tGb3Jt
RGVsZWdhdGU+PiBfZm9ybURlbGVnYXRlOworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFJldGFp
blB0cjxXS1Njcm9sbFZpZXc+IF9zY3JvbGxWaWV3OwogICAgIFJldGFpblB0cjxXS0NvbnRlbnRW
aWV3PiBfY29udGVudFZpZXc7CkBAIC0yMTYsNiArMjE3LDcgQEAgV0tXZWJWaWV3KiBmcm9tV2Vi
UGFnZVByb3h5KFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlKQogI2VuZGlmCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIFJldGFpblB0cjxXS1ZpZXc+IF93a1ZpZXc7CisgICAgQ0dTaXplIF9pbnRy
aW5zaWNDb250ZW50U2l6ZTsKICNlbmRpZgogfQogCkBAIC0zNzMsNiArMzc1LDggQEAgc3RhdGlj
IGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpCiAgICAgW3Nl
bGYgYWRkU3Vidmlldzpfd2tWaWV3LmdldCgpXTsKICAgICBfcGFnZSA9IFdlYktpdDo6dG9JbXBs
KFtfd2tWaWV3IHBhZ2VSZWZdKTsKIAorICAgIF9pbnRyaW5zaWNDb250ZW50U2l6ZSA9IENHU2l6
ZU1ha2UoTlNWaWV3Tm9JbnN0cmluc2ljTWV0cmljLCBOU1ZpZXdOb0luc3RyaW5zaWNNZXRyaWMp
OworCiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICBb
X3drVmlldyBfc2V0QXV0b21hdGljYWxseUFkanVzdHNDb250ZW50SW5zZXRzOllFU107CiAjZW5k
aWYKQEAgLTE5MjQsNiArMTkyOCwyNiBAQCBzdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBjb25z
dHJhaW5Db250ZW50T2Zmc2V0KFdlYkNvcmU6OkZsb2F0UG9pbnQgY29udGVudE9mZgogewogICAg
IHJldHVybiBbX3drVmlldyBwZXJmb3JtRHJhZ09wZXJhdGlvbjpzZW5kZXJdOwogfQorCistIChD
R1NpemUpaW50cmluc2ljQ29udGVudFNpemUKK3sKKyAgICByZXR1cm4gX2ludHJpbnNpY0NvbnRl
bnRTaXplOworfQorCistICh2b2lkKV9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTooQ0dTaXplKWlu
dHJpbnNpY0NvbnRlbnRTaXplCit7CisgICAgLy8gSWYgdGhlIGludHJpbnNpYyBjb250ZW50IHNp
emUgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIGxheW91dCB3aWR0aCwgdGhlIGNvbnRlbnQgZmxv
d2VkIHRvIGZpdCwKKyAgICAvLyBzbyB3ZSBjYW4gcmVwb3J0IHRoYXQgdGhhdCBkaW1lbnNpb24g
aXMgZmxleGlibGUuIElmIG5vdCwgd2UgbmVlZCB0byByZXBvcnQgb3VyIGludHJpbnNpYyB3aWR0
aAorICAgIC8vIHNvIHRoYXQgYXV0b2xheW91dCB3aWxsIGtub3cgdG8gcHJvdmlkZSBzcGFjZSBm
b3IgdXMuCisKKyAgICBDR1NpemUgaW50cmluc2ljQ29udGVudFNpemVBY2tub3dsZWRnaW5nRmxl
eGlibGVXaWR0aCA9IGludHJpbnNpY0NvbnRlbnRTaXplOworICAgIGlmIChpbnRyaW5zaWNDb250
ZW50U2l6ZS53aWR0aCA8IF9wYWdlLT5taW5pbXVtTGF5b3V0U2l6ZSgpLndpZHRoKCkpCisgICAg
ICAgIGludHJpbnNpY0NvbnRlbnRTaXplQWNrbm93bGVkZ2luZ0ZsZXhpYmxlV2lkdGgud2lkdGgg
PSBOU1ZpZXdOb0luc3RyaW5zaWNNZXRyaWM7CisKKyAgICBfaW50cmluc2ljQ29udGVudFNpemUg
PSBpbnRyaW5zaWNDb250ZW50U2l6ZUFja25vd2xlZGdpbmdGbGV4aWJsZVdpZHRoOworICAgIFtz
ZWxmIGludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZV07Cit9CisKICNlbmRpZiAvLyBQTEFU
Rk9STShNQUMpCiAKIEBlbmQKQEAgLTMxMjQsNiArMzE0OCwyMSBAQCBzdGF0aWMgaW5saW5lIFdl
YktpdDo6RmluZE9wdGlvbnMgdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmRPcHRp
b25zKQogCiAjZW5kaWYgLy8gX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEw
MDAKIAorLSAoQ0dGbG9hdClfbWluaW11bUxheW91dFdpZHRoCit7CisgICAgcmV0dXJuIF9wYWdl
LT5taW5pbXVtTGF5b3V0U2l6ZSgpLndpZHRoKCk7Cit9CisKKy0gKHZvaWQpX3NldE1pbmltdW1M
YXlvdXRXaWR0aDooQ0dGbG9hdCl3aWR0aAoreworICAgIEJPT0wgZXhwYW5kc1RvRml0ID0gd2lk
dGggPiAwOworCisgICAgX3BhZ2UtPnNldE1pbmltdW1MYXlvdXRTaXplKFdlYkNvcmU6OkludFNp
emUod2lkdGgsIDApKTsKKyAgICBfcGFnZS0+c2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKCFleHBh
bmRzVG9GaXQpOworCisgICAgW193a1ZpZXcgc2V0U2hvdWxkQ2xpcFRvVmlzaWJsZVJlY3Q6ZXhw
YW5kc1RvRml0XTsKK30KKwogI2VuZGlmCiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBkMmRlZjIz
ZmQ1MjA5ZDQ5OTQwYWFiNGFlZTg5NTgwNTNmNDJkNDgyLi41YTRiMjEwYTk2MjMwMjA0ZTVhNjZm
YjlkODA5OTVjNWEyMWRjMjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0xMTIsNiArMTEyLDcgQEAgc3Ry
dWN0IFByaW50SW5mbzsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlFZGdlSW5z
ZXRzIF9jb21wdXRlZENvbnRlbnRJbnNldDsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRJZ25vcmVzTm9uV2hlZWxFdmVudHM6KSBCT09MIF9pZ25vcmVzTm9uV2hlZWxF
dmVudHM7CistICh2b2lkKV9zZXRJbnRyaW5zaWNDb250ZW50U2l6ZTooQ0dTaXplKWludHJpbnNp
Y0NvbnRlbnRTaXplOwogI2VuZGlmCiAKIC0gKFdLUGFnZVJlZilfcGFnZUZvclRlc3Rpbmc7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCmluZGV4IGJmZWU4ODg0ZmYxZDFhODNmOWZhNTIwYzQ2MTRkOWVmNmIwNDFmNWUuLjg3
ZWE2ZTJjZjVkNzJlY2UyYmE2OTk4OWU2ZGVkNDQxYmRiMjIwMzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0x
ODUsNiArMTg1LDkgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLSW1tZWRpYXRlQWN0
aW9uVHlwZSkgewogLy8gQ2xpZW50cyB0aGF0IHdhbnQgdG8gbWFpbnRhaW4gZGVmYXVsdCBiZWhh
dmlvciBjYW4gcmV0dXJuIG5pbC4gVG8gZGlzYWJsZSB0aGUgaW1tZWRpYXRlIGFjdGlvbiBlbnRp
cmVseSwgcmV0dXJuIE5TTnVsbC4gQW5kIHRvCiAvLyBkbyBzb21ldGhpbmcgY3VzdG9tLCByZXR1
cm4gYW4gb2JqZWN0IHRoYXQgY29uZm9ybXMgdG8gdGhlIE5TSW1tZWRpYXRlQWN0aW9uQW5pbWF0
aW9uQ29udHJvbGxlciBwcm90b2NvbC4KIC0gKGlkKV9pbW1lZGlhdGVBY3Rpb25BbmltYXRpb25D
b250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdDooX1dLSGl0VGVzdFJlc3VsdCAqKWhpdFRlc3RSZXN1
bHQgd2l0aFR5cGU6KF9XS0ltbWVkaWF0ZUFjdGlvblR5cGUpdHlwZSB1c2VyRGF0YTooaWQ8TlNT
ZWN1cmVDb2Rpbmc+KXVzZXJEYXRhOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRNaW5pbXVtTGF5b3V0V2lkdGg6KSBDR0Zsb2F0IF9taW5pbXVtTGF5b3V0V2lkdGggV0tfQVZB
SUxBQkxFKFdLX01BQ19UQkEsIE5BKTsKKwogI2VuZGlmCiAKIC0gKFdLTmF2aWdhdGlvbiAqKV9y
ZWxvYWRXaXRob3V0Q29udGVudEJsb2NrZXJzIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19J
T1NfVEJBKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
Lm1tCmluZGV4IGVkMjMwNDgyOTNkNjBlODlkMDIyZGI3YmQxNzI5MDM1YTFkZTExODMuLmEyM2Nm
NjE4MWE5N2MyMTY3MzBhNjZjNTkxNTMwODQxNmMzMzM0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNjQxLDcgKzY0MSwxMCBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpyZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKFNj
cm9sbGJhclN0eWxlIG5ld1N0eWxlKQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjppbnRyaW5zaWND
b250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBpbnRyaW5zaWNDb250ZW50U2l6ZSkK
IHsKLSAgICBbbV93a1ZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXplOmludHJpbnNpY0NvbnRl
bnRTaXplXTsKKyAgICBpZiAobV93ZWJWaWV3KQorICAgICAgICBbbV93ZWJWaWV3IF9zZXRJbnRy
aW5zaWNDb250ZW50U2l6ZTppbnRyaW5zaWNDb250ZW50U2l6ZV07CisgICAgZWxzZQorICAgICAg
ICBbbV93a1ZpZXcgX3NldEludHJpbnNpY0NvbnRlbnRTaXplOmludHJpbnNpY0NvbnRlbnRTaXpl
XTsKIH0KIAogYm9vbCBQYWdlQ2xpZW50SW1wbDo6ZXhlY3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0
b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvclN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKaW5kZXggZmYzMmNmOTYyNzM1NGEyYTdkNWFjZTQwMzZiNDVkZDllMjkwOTYzZC4u
OWFkNTAxOTM2NWFhNTM2OTdjYjEyY2FkZjFjY2M1NGEyODMxMmZhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTEzMTksNyArMTMxOSw5IEBAIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgICAgICBp
bnQgbWluaW11bUxheW91dEhlaWdodCA9IHN0ZDo6bWF4KHdlYlBhZ2UtPm1pbmltdW1MYXlvdXRT
aXplKCkuaGVpZ2h0KCksIDEpOwogICAgICAgICBpbnQgbWF4aW11bVNpemUgPSBzdGQ6Om51bWVy
aWNfbGltaXRzPGludD46Om1heCgpOwogICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmll
dygpLT5lbmFibGVBdXRvU2l6ZU1vZGUodHJ1ZSwgSW50U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgs
IG1pbmltdW1MYXlvdXRIZWlnaHQpLCBJbnRTaXplKG1heGltdW1TaXplLCBtYXhpbXVtU2l6ZSkp
OwotICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRBdXRvU2l6ZUZpeGVk
TWluaW11bUhlaWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0KCkpOworCisgICAgICAgIGlmICh3
ZWJQYWdlLT5hdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KCkpCisgICAgICAgICAg
ICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRBdXRvU2l6ZUZpeGVkTWluaW11bUhl
aWdodCh3ZWJQYWdlLT5zaXplKCkuaGVpZ2h0KCkpOwogICAgIH0KIAogICAgIG1fZnJhbWUtPmNv
cmVGcmFtZSgpLT52aWV3KCktPnNldFByb2hpYml0c1Njcm9sbGluZyhzaG91bGREaXNhYmxlU2Ny
b2xsaW5nKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAwNWNjYTgxMjM5ODAyYWE5MDcxMTU0ZDVmMjlkOWU1YjNjOTYzYmE2Li4yNTM3MGMwYTNh
YThkNjE0M2YyYWEyOWNmNzczZjQ3MDdjNDcwYjg3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTUtMTAtMTUgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgSG9vayB1cCBh
dXRvbGF5b3V0IGludHJpbnNpYyBzaXppbmcgZm9yIFdLV2ViVmlldworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjE5CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yMDAxNjkwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9BdXRv
TGF5b3V0SW50ZWdyYXRpb24ubW06IEFkZGVkLgorICAgICAgICAoLVtBdXRvTGF5b3V0TmF2aWdh
dGlvbkRlbGVnYXRlIHdlYlZpZXc6ZGlkRmluaXNoTmF2aWdhdGlvbjpdKToKKyAgICAgICAgKC1b
QXV0b0xheW91dFdLV2ViVmlldyBsb2FkOmV4cGVjdGluZ0NvbnRlbnRTaXplOl0pOgorICAgICAg
ICAoLVtBdXRvTGF5b3V0V0tXZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOl0pOgorICAg
ICAgICAoLVtBdXRvTGF5b3V0V0tXZWJWaWV3IGludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6
ZV0pOgorICAgICAgICAoVEVTVCk6CisgICAgICAgIEFkZCBhIHZhcmlldHkgb2YgdGVzdHMsIGlu
Y2x1ZGluZyBvbmUgd2hpY2ggY2F0Y2hlcyB0aGUgYnVnIHRoYXQKKyAgICAgICAgdGhlIFdlYkNv
cmUgcGFydCBvZiB0aGlzIHBhdGNoIGZpeGVzLgorCiAyMDE1LTEwLTE1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgVXBkYXRlIEltcG9ydEV4
cGVjdGF0aW9ucyBhY2NvcmRpbmcgY3VycmVudGx5IGltcG9ydGVkIHdwdCB0ZXN0cwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBmMTQ0MDJhNzQwY2U2ZDI1OTA4MjQ1YjFlYzJiMDY1NTAzY2U4
ODU3Li4yYmFiZWQ5MzhkZDUxNDM1ZTc0ZWMzYWQ3YjIyZDQ0NzhkMmQxNjY3IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzUsNiArMzUsNyBAQAogCQkyOTcyMzRCNzE3M0FGQUM3MDA5ODM2
MDEgLyogQ3VzdG9tUHJvdG9jb2xzSW52YWxpZFNjaGVtZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3MjM0QjUxNzNBRkFDNzAwOTgz
NjAxIC8qIEN1c3RvbVByb3RvY29sc0ludmFsaWRTY2hlbWVfQnVuZGxlLmNwcCAqLzsgfTsKIAkJ
MkQxRkUwQjAxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVkTGF5b3V0U2l6ZS5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMUZFMEFGMUFENDY1QzEwMDZD
RDlFNiAvKiBGaXhlZExheW91dFNpemUubW0gKi87IH07CiAJCTJEOUE1M0FGMUIzMUZBOEQwMDc0
RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSAq
LzsgfTsKKwkJMkREMzU1MzYxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlv
bi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDM1
NTM1MUJEMDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gKi87IHNldHRp
bmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJMkREN0QzQUYxNzgyMjdCMzAwMjZFMUUz
IC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERDdEM0FFMTc4MjI3QUMwMDI2RTFFMyAv
KiBsb3RzLW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCAqLzsgfTsKIAkJMkU3NzY1Q0QxNkM0RDgw
QTAwQkEyQkIxIC8qIG1haW5JT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRTc3NjVDQzE2QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSAqLzsg
fTsKIAkJMkU3NzY1Q0YxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTc3NjVDRTE2QzREODExMDBCQTJC
QjEgLyogbWFpbk1hYy5tbSAqLzsgfTsKQEAgLTUwNCw2ICs1MDUsNyBAQAogCQkyRDFGRTBBRjFB
RDQ2NUMxMDA2Q0Q5RTYgLyogRml4ZWRMYXlvdXRTaXplLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRml4ZWRMYXlvdXRTaXplLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRDY0MEI1NDE3ODc1REZGMDBCRkFGOTkgLyogU2Nyb2xsUGlubmluZ0Jl
aGF2aW9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxQ
aW5uaW5nQmVoYXZpb3JzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5QTUz
QUUxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlua1RvRml0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gU2hyaW5rVG9GaXQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJERDM1NTM1MUJEMDgzNzgwMDVERjRBNyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRp
b24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvTGF5b3V0
SW50ZWdyYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJERDdEM0E5MTc4
MjA1RDAwMDI2RTFFMyAvKiBSZXNpemVSZXZlcnNlUGFnaW5hdGVkV2ViVmlldy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNpemVSZXZlcnNlUGFnaW5hdGVkV2Vi
Vmlldy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJERDdEM0FFMTc4MjI3QUMw
MDI2RTFFMyAvKiBsb3RzLW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsb3Rz
LW9mLXRleHQtdmVydGljYWwtbHIuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJFNzc2NUNDMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gbWFpbklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTkwMCw2ICs5MDIsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQk3Q0VGQTk2NDFBQzBCOUUyMDBCOTEwRkQgLyogX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5tbSAqLywKKwkJCQkyREQzNTUzNTFCRDA4Mzc4MDA1REY0QTcgLyogQXV0b0xh
eW91dEludGVncmF0aW9uLm1tICovLAogCQkJCUExM0VCQkFDMUI4NzQzNkYwMDA5NzExMCAvKiBC
dW5kbGVQYXJhbWV0ZXJzLm1tICovLAogCQkJCUExM0VCQkFFMUI4NzQzNkYwMDA5NzExMCAvKiBC
dW5kbGVQYXJhbWV0ZXJzUGx1Z0luLm1tICovLAogCQkJCUExNEZDNTg2MUI4OTkxQjYwMEQxMDdF
QiAvKiBDb250ZW50RmlsdGVyaW5nLm1tICovLApAQCAtMTc0Miw2ICsxNzQ1LDcgQEAKIAkJCQkx
Q0I5QkMzODFBNjc0ODIzMDBGRTU2NzggLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRTc3NjVDRDE2QzREODBBMDBCQTJCQjEgLyogbWFpbklPUy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTQxOTczQjVEMUFGMjI4NzUwMDZDN0IzNiAvKiBTaGFyZWRCdWZmZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkREMzU1MzYxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdBQTZBMTUyMUFBQzBCMzEwMDJCMkVEMyAvKiBX
b3JrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU3NzY1Q0YxNkM0RDgxMTAwQkEyQkIx
IC8qIG1haW5NYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MTk3M0I1QjFBRjIyODZBMDA2QzdC
MzYgLyogRmlsZVN5c3RlbS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0F1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hMWYzMGU2MTU3YjgzNDNlM2ZmYjUwYzBjOGIxMzNlZmY2MzBm
MTAwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5o
IgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykKKworc3RhdGlj
IGJvb2wgZGlkRmluaXNoTmF2aWdhdGlvbjsKK3N0YXRpYyBib29sIGRpZEludmFsaWRhdGVJbnRy
aW5zaWNDb250ZW50U2l6ZTsKKworQGludGVyZmFjZSBBdXRvTGF5b3V0TmF2aWdhdGlvbkRlbGVn
YXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50
YXRpb24gQXV0b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgZGlkRmluaXNoTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2
aWdhdGlvbgoreworICAgIGRpZEZpbmlzaE5hdmlnYXRpb24gPSB0cnVlOworfQorCitAZW5kCisK
K0BpbnRlcmZhY2UgQXV0b0xheW91dFdLV2ViVmlldyA6IFdLV2ViVmlldworQGVuZAorCitAaW1w
bGVtZW50YXRpb24gQXV0b0xheW91dFdLV2ViVmlldyB7CisgICAgQk9PTCBfZXhwZWN0aW5nSW50
cmluc2ljQ29udGVudFNpemVDaGFuZ2U7CisgICAgTlNTaXplIF9leHBlY3RlZEludHJpbnNpY0Nv
bnRlbnRTaXplOworfQorCistICh2b2lkKWxvYWQ6KE5TU3RyaW5nICopSFRNTFN0cmluZyBleHBl
Y3RpbmdDb250ZW50U2l6ZTooTlNTaXplKXNpemUKK3sKKyAgICBFWFBFQ1RfRkFMU0UoX2V4cGVj
dGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdlKTsKKworICAgIE5TU3RyaW5nICpiYXNlSFRN
TCA9IEAiPHN0eWxlPiIKKyAgICAiYm9keSwgaHRtbCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsg
fSIKKyAgICAiZGl2IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0iCisgICAgIi5zbWFsbCB7
IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IH0iCisgICAgIi5sYXJnZSB7IHdpZHRoOiAxMDBw
eDsgaGVpZ2h0OiAxMDBweDsgfSIKKyAgICAiLnZlcnlXaWRlIHsgd2lkdGg6IDEwMHB4OyBoZWln
aHQ6IDEwcHg7IH0iCisgICAgIi5pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0iCisg
ICAgIjwvc3R5bGU+IjsKKworICAgIGRpZEZpbmlzaE5hdmlnYXRpb24gPSBmYWxzZTsKKyAgICBb
c2VsZiBsb2FkSFRNTFN0cmluZzpbYmFzZUhUTUwgc3RyaW5nQnlBcHBlbmRpbmdTdHJpbmc6SFRN
TFN0cmluZ10gYmFzZVVSTDpuaWxdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlk
RmluaXNoTmF2aWdhdGlvbik7CisKKyAgICBbc2VsZiBleHBlY3RDb250ZW50U2l6ZUNoYW5nZTpz
aXplXTsKK30KKworLSAodm9pZClleHBlY3RDb250ZW50U2l6ZUNoYW5nZTooTlNTaXplKXNpemUK
K3sKKyAgICAvLyBOT1RFOiBFYWNoIGFkamFjZW50IGV4cGVjdGVkIHJlc3VsdCBtdXN0IGJlIGRp
ZmZlcmVudCwgb3Igd2UnbGwgZWFybHkgcmV0dXJuIGFuZCBub3QgY2FsbCBpbnZhbGlkYXRlSW50
cmluc2ljQ29udGVudFNpemUhCisgICAgRVhQRUNUX0ZBTFNFKE5TRXF1YWxTaXplcyhzaXplLCBz
ZWxmLmludHJpbnNpY0NvbnRlbnRTaXplKSk7CisKKyAgICBfZXhwZWN0aW5nSW50cmluc2ljQ29u
dGVudFNpemVDaGFuZ2UgPSBZRVM7CisgICAgX2V4cGVjdGVkSW50cmluc2ljQ29udGVudFNpemUg
PSBzaXplOworICAgIGRpZEludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSA9IGZhbHNlOwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRl
bnRTaXplKTsKK30KKworLSAodm9pZClpbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUKK3sK
KyAgICBpZiAoIV9leHBlY3RpbmdJbnRyaW5zaWNDb250ZW50U2l6ZUNoYW5nZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgX2V4cGVjdGluZ0ludHJpbnNpY0NvbnRlbnRTaXplQ2hhbmdlID0gTk87
CisKKyAgICBOU1NpemUgaW50cmluc2ljQ29udGVudFNpemUgPSBzZWxmLmludHJpbnNpY0NvbnRl
bnRTaXplOworICAgIEVYUEVDVF9FUShfZXhwZWN0ZWRJbnRyaW5zaWNDb250ZW50U2l6ZS53aWR0
aCwgaW50cmluc2ljQ29udGVudFNpemUud2lkdGgpOworICAgIEVYUEVDVF9FUShfZXhwZWN0ZWRJ
bnRyaW5zaWNDb250ZW50U2l6ZS5oZWlnaHQsIGludHJpbnNpY0NvbnRlbnRTaXplLmhlaWdodCk7
CisKKyAgICBkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUgPSB0cnVlOworfQorCitA
ZW5kCisKK1RFU1QoV2ViS2l0MiwgQXV0b0xheW91dEludGVncmF0aW9uKQoreworICAgIFJldGFp
blB0cjxBdXRvTGF5b3V0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW0F1dG9MYXlvdXRX
S1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAwLCAxMDAw
KV0pOworICAgIFt3ZWJWaWV3IF9zZXRNaW5pbXVtTGF5b3V0V2lkdGg6NTBdOworCisgICAgQXV0
b0xheW91dE5hdmlnYXRpb25EZWxlZ2F0ZSAqZGVsZWdhdGUgPSBbW0F1dG9MYXlvdXROYXZpZ2F0
aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxl
Z2F0ZTpkZWxlZ2F0ZV07CisKKyAgICAvLyAxMHgxMCByZWN0IHdpdGggdGhlIGNvbnN0cmFpbnQg
KHdpZHRoID49IDUwKSAtPiA1MHgxMAorICAgIFt3ZWJWaWV3IGxvYWQ6QCI8ZGl2IGNsYXNzPSdz
bWFsbCc+PC9kaXY+IiBleHBlY3RpbmdDb250ZW50U2l6ZTpOU01ha2VTaXplKDUwLCAxMCldOwor
CisgICAgLy8gMTAweDEwMCByZWN0IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDUwKSAt
PiAxMDB4MTAwCisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9J2xhcmdlJz48L2Rpdj4i
IGV4cGVjdGluZ0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCAxMDApXTsKKworICAgIC8vIDEw
MHgxMCByZWN0IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDUwKSAtPiAxMDB4MTAKKyAg
ICBbd2ViVmlldyBsb2FkOkAiPGRpdiBjbGFzcz0ndmVyeVdpZGUnPjwvZGl2PiIgZXhwZWN0aW5n
Q29udGVudFNpemU6TlNNYWtlU2l6ZSgxMDAsIDEwKV07CisKKyAgICAvLyBUZW4gMTB4MTAgcmVj
dHMsIGlubGluZSwgc2hvdWxkIHJlc3VsdCBpbiB0d28gcm93cyBvZiBmaXZlOyB3aXRoIHRoZSBj
b25zdHJhaW50ICh3aWR0aCA+PSA1MCkgLT4gNTB4MjAKKyAgICBbd2ViVmlldyBsb2FkOkAiPGRp
diBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwv
ZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5s
aW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3Nt
YWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNs
YXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+
PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj4iIGV4cGVjdGluZ0NvbnRlbnRTaXplOk5T
TWFrZVNpemUoNTAsIDIwKV07CisKKyAgICAvLyBDaGFuZ2luZyB0aGUgd2lkdGggdG8gMTAgc2hv
dWxkIHJlc3VsdCBpbiB0ZW4gcm93cyBvZiBvbmU7IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRo
ID49IDEwKSAtPiAxMHgxMDAKKyAgICBbd2ViVmlldyBfc2V0TWluaW11bUxheW91dFdpZHRoOjEw
XTsKKyAgICBbd2ViVmlldyBleHBlY3RDb250ZW50U2l6ZUNoYW5nZTpOU01ha2VTaXplKDEwLCAx
MDApXTsKKworICAgIC8vIENoYW5naW5nIHRoZSB3aWR0aCB0byAxMDAgc2hvdWxkIHJlc3VsdCBp
biBvbmUgcm93cyBvZiB0ZW47IHdpdGggdGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDEwMCkgLT4g
MTAweDEwCisgICAgW3dlYlZpZXcgX3NldE1pbmltdW1MYXlvdXRXaWR0aDoxMDBdOworICAgIFt3
ZWJWaWV3IGV4cGVjdENvbnRlbnRTaXplQ2hhbmdlOk5TTWFrZVNpemUoMTAwLCAxMCldOworCisg
ICAgLy8gT25lIDEwMHgxMDAgcmVjdCBhbmQgdGVuIDEweDEwIHJlY3RzLCBpbmxpbmU7IHdpdGgg
dGhlIGNvbnN0cmFpbnQgKHdpZHRoID49IDIwKSAtPiAxMDB4MTEwCisgICAgW3dlYlZpZXcgX3Nl
dE1pbmltdW1MYXlvdXRXaWR0aDoyMF07CisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9
J2xhcmdlJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9
J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2
IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9k
aXY+PGRpdiBjbGFzcz0nc21hbGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxp
bmUnPjwvZGl2PjxkaXYgY2xhc3M9J3NtYWxsIGlubGluZSc+PC9kaXY+PGRpdiBjbGFzcz0nc21h
bGwgaW5saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdzbWFsbCBpbmxpbmUnPjwvZGl2PiIgZXhwZWN0
aW5nQ29udGVudFNpemU6TlNNYWtlU2l6ZSgxMDAsIDExMCldOworfQorCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>