<?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>185067</bug_id>
          
          <creation_ts>2018-04-26 21:40:39 -0700</creation_ts>
          <short_desc>Test bug (please ignore)</short_desc>
          <delta_ts>2018-04-30 11:20:07 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1418408</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-26 21:40:39 -0700</bug_when>
    <thetext>No description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418411</commentid>
    <comment_count>1</comment_count>
      <attachid>338967</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-26 21:48:19 -0700</bug_when>
    <thetext>Created attachment 338967
Test patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418998</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-30 09:36:38 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418999</commentid>
    <comment_count>3</comment_count>
      <attachid>339114</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-30 09:36:39 -0700</bug_when>
    <thetext>Created attachment 339114
Test patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338967</attachid>
            <date>2018-04-26 21:48:19 -0700</date>
            <delta_ts>2018-04-30 09:36:36 -0700</delta_ts>
            <desc>Test patch</desc>
            <filename>bug-185067-20180426214819.patch</filename>
            <type>text/plain</type>
            <size>45633</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ0NTMyMTRhOTU5OGNj
MjU0ZTFkZTkwY2U2OTQ4YTJhODI5YTFhNy4uYzdmZjBlYjc4NzEzNjIzMTI3MDk2Njg2ZjIyZTcz
MDBhYmIwMjZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwIEBACisyMDE4LTA0LTI2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFRlc3QgYnVnIChw
bGVhc2UgaWdub3JlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg1MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKIDIw
MTgtMDQtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUFNP
TjogRG9uJ3QgY3JlYXRlIGEgbmV3IHByb2Nlc3Mgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgYmxvYiBV
UkwsIGRhdGEgVVJMLCBhbmQgYWJvdXQ6YmxhbmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTI0YzY3MzIyMjcyMWEz
ZDJiODIzZjQ4YzU2Y2QzNzg2ZWU1MmZmMC4uNzY5NTQwZTQ5OTU1OWFmY2FlZGJmNTY5YmE2Y2Rl
M2ZkOWJiYzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMCBAQAorMjAxOC0wNC0yNiAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBUZXN0IGJ1ZyAocGxl
YXNlIGlnbm9yZSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4NTA2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAyMDE4
LTA0LTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IFtFeHRyYSB6b29tIG1vZGVdIFRoZSBzZWFyY2ggZmllbGQgb24gd3d3LmJpbmcuY29tIGlzIG1p
c3NpbmcgbGFiZWwgdGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAK
aW5kZXggZWUzMjdlNTNmYTc0MTBjMGJjODg2YzczNGU3YTVjMTEyMzY5M2M0ZC4uNzFhM2M1ZGYw
NDIzMzdlN2M5NWFjYzVlZWY1Mjg0NDFhOGRiYzcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCkBAIC00MjAsNiArNDIwLDggQEAgdm9pZCBzZXRWaWV3cG9ydEZl
YXR1cmUoVmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZW50cywgRG9jdW1lbnQmIGRvY3VtZW50LCBT
dHJpbmcKICAgICAgICAgYXJndW1lbnRzLnNocmlua1RvRml0ID0gZmluZEJvb2xlYW5WYWx1ZShk
b2N1bWVudCwga2V5LCB2YWx1ZSk7CiAgICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2Uoa2V5LCAidmlld3BvcnQtZml0IikgJiYgZG9jdW1lbnQuc2V0dGluZ3MoKS52aWV3
cG9ydEZpdEVuYWJsZWQoKSkKICAgICAgICAgYXJndW1lbnRzLnZpZXdwb3J0Rml0ID0gcGFyc2VW
aWV3cG9ydEZpdFZhbHVlKGRvY3VtZW50LCBrZXksIHZhbHVlKTsKKyAgICBlbHNlIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShrZXksICJtaW4tZGV2aWNlLXdpZHRoIikpCisgICAg
ICAgIGFyZ3VtZW50cy5taW5EZXZpY2VXaWR0aCA9IG51bWVyaWNQcmVmaXgoZG9jdW1lbnQsIGtl
eSwgdmFsdWUpOwogICAgIGVsc2UKICAgICAgICAgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKGRvY3Vt
ZW50LCBVbnJlY29nbml6ZWRWaWV3cG9ydEFyZ3VtZW50S2V5RXJyb3IsIGtleSk7CiB9CkBAIC00
NzUsNyArNDc3LDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29u
c3QgVmlld3BvcnRBcmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnQKIHsKICAgICBUZXh0U3RyZWFt
OjpJbmRlbnRTY29wZSBpbmRlbnRTY29wZSh0cyk7CiAKLSAgICB0cyA8PCAiXG4iIDw8IGluZGVu
dCA8PCAiKHdpZHRoICIgPDwgdmlld3BvcnRBcmd1bWVudHMud2lkdGggPDwgIiwgbWluV2lkdGgg
IiA8PCB2aWV3cG9ydEFyZ3VtZW50cy5taW5XaWR0aCA8PCAiLCBtYXhXaWR0aCAiIDw8IHZpZXdw
b3J0QXJndW1lbnRzLm1heFdpZHRoIDw8ICIpIjsKKyAgICB0cyA8PCAiXG4iIDw8IGluZGVudCA8
PCAiKHdpZHRoICIgPDwgdmlld3BvcnRBcmd1bWVudHMud2lkdGggPDwgIiwgbWluV2lkdGggIiA8
PCB2aWV3cG9ydEFyZ3VtZW50cy5taW5XaWR0aCA8PCAiLCBtYXhXaWR0aCAiIDw8IHZpZXdwb3J0
QXJndW1lbnRzLm1heFdpZHRoIDw8ICIsIG1pbkRldmljZVdpZHRoICIgPDwgdmlld3BvcnRBcmd1
bWVudHMubWluRGV2aWNlV2lkdGggPDwgIikiOwogICAgIHRzIDw8ICJcbiIgPDwgaW5kZW50IDw8
ICIoaGVpZ2h0ICIgPDwgdmlld3BvcnRBcmd1bWVudHMuaGVpZ2h0IDw8ICIsIG1pbkhlaWdodCAi
IDw8IHZpZXdwb3J0QXJndW1lbnRzLm1pbkhlaWdodCA8PCAiLCBtYXhIZWlnaHQgIiA8PCB2aWV3
cG9ydEFyZ3VtZW50cy5tYXhIZWlnaHQgPDwgIikiOwogICAgIHRzIDw8ICJcbiIgPDwgaW5kZW50
IDw8ICIoem9vbSAiIDw8IHZpZXdwb3J0QXJndW1lbnRzLnpvb20gPDwgIiwgbWluWm9vbSAiIDw8
IHZpZXdwb3J0QXJndW1lbnRzLm1pblpvb20gPDwgIiwgbWF4Wm9vbSAiIDw8IHZpZXdwb3J0QXJn
dW1lbnRzLm1heFpvb20gPDwgIikiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Vmlld3BvcnRBcmd1bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50
cy5oCmluZGV4IDRmMWFmZWEzNDAwMWI4YmJkOWMyNmZhMjBiMWMxNjdkZTc5NTgyZmIuLjRhOGU4
Y2JkZjQzM2NmMzg4NzI0OGE1MjRkNDRhZjEyMmIxNjdhYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oCkBAIC05Myw2ICs5Myw3IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3Vt
ZW50cyB7CiAgICAgZmxvYXQgd2lkdGggeyBWYWx1ZUF1dG8gfTsKICAgICBmbG9hdCBtaW5XaWR0
aCB7IFZhbHVlQXV0byB9OwogICAgIGZsb2F0IG1heFdpZHRoIHsgVmFsdWVBdXRvIH07CisgICAg
ZmxvYXQgbWluRGV2aWNlV2lkdGggeyBWYWx1ZUF1dG8gfTsKICAgICBmbG9hdCBoZWlnaHQgeyBW
YWx1ZUF1dG8gfTsKICAgICBmbG9hdCBtaW5IZWlnaHQgeyBWYWx1ZUF1dG8gfTsKICAgICBmbG9h
dCBtYXhIZWlnaHQgeyBWYWx1ZUF1dG8gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3Bv
cnRDb25maWd1cmF0aW9uLmNwcAppbmRleCBlNGRlNzZmMDA0ODE0MDllYzRlYzAxMzI4OTA1OWFh
ZGJmZDU5NGExLi4yNjkxMTljMjkzNGU2ZDdiMjdhMWY5MTVmMzZiNDRmNTI1ODI3ZmI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwCkBAIC00NSwx
MSArNDUsMjMgQEAgc3RhdGljIGJvb2wgY29uc3RyYWludHNBcmVBbGxSZWxhdGl2ZShjb25zdCBW
aWV3cG9ydENvbmZpZ3VyYXRpb246OlBhcmFtZXRlcnMmIGMKIH0KICNlbmRpZgogCitzdGF0aWMg
ZmxvYXQgY29tcHV0ZWRNaW5EZXZpY2VXaWR0aChmbG9hdCBtaW5EZXZpY2VXaWR0aCkKK3sKKyAg
ICBpZiAobWluRGV2aWNlV2lkdGggIT0gVmlld3BvcnRBcmd1bWVudHM6OlZhbHVlQXV0bykKKyAg
ICAgICAgcmV0dXJuIG1pbkRldmljZVdpZHRoOworCisjaWYgRU5BQkxFKEVYVFJBX1pPT01fTU9E
RSkKKyAgICByZXR1cm4gMzIwOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiBW
aWV3cG9ydENvbmZpZ3VyYXRpb246OlZpZXdwb3J0Q29uZmlndXJhdGlvbigpCiAgICAgOiBtX21p
bmltdW1MYXlvdXRTaXplKDEwMjQsIDc2OCkKKyAgICAsIG1fdmlld1NpemUoMTAyNCwgNzY4KQog
ICAgICwgbV9jYW5JZ25vcmVTY2FsaW5nQ29uc3RyYWludHMoZmFsc2UpCiAgICAgLCBtX2ZvcmNl
QWx3YXlzVXNlclNjYWxhYmxlKGZhbHNlKQotICAgICwgbV9mb3JjZUhvcml6b250YWxTaHJpbmtU
b0ZpdChmYWxzZSkKIHsKICAgICAvLyBTZXR1cCBhIHJlYXNvbmFibGUgZGVmYXVsdCBjb25maWd1
cmF0aW9uIHRvIGF2b2lkIGNvbXB1dGluZyBpbmZpbml0ZSBzY2FsZS9zaXplcy4KICAgICAvLyBU
aG9zZSBhcmUgdGhlIG9yaWdpbmFsIGlQaG9uZSBjb25maWd1cmF0aW9uLgpAQCAtODMsMTQgKzk1
LDE2IEBAIGJvb2wgVmlld3BvcnRDb25maWd1cmF0aW9uOjpzZXRDb250ZW50c1NpemUoY29uc3Qg
SW50U2l6ZSYgY29udGVudFNpemUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgVmlld3Bv
cnRDb25maWd1cmF0aW9uOjpzZXRNaW5pbXVtTGF5b3V0U2l6ZShjb25zdCBGbG9hdFNpemUmIG1p
bmltdW1MYXlvdXRTaXplLCBjb25zdCBGbG9hdFNpemUmIHZpZXdTaXplKQorLy8gRklYTUU6IFZp
ZXdwb3J0Q29uZmlndXJhdGlvbjo6c2V0TWluaW11bUxheW91dFNpemUgaXMgbm8gbG9uZ2VyIGFu
IGFjY3VyYXRlIG5hbWUsIHNpbmNlIHRoZSBtaW5pbXVtIGxheW91dCBzaXplCisvLyBpcyBub3Qg
bmVjZXNzYXJpbHkgdGhlIHNpemUgb2YgdGhlIHZpZXcuCitib29sIFZpZXdwb3J0Q29uZmlndXJh
dGlvbjo6c2V0TWluaW11bUxheW91dFNpemUoY29uc3QgRmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0
U2l6ZSkKIHsKLSAgICBpZiAobV9taW5pbXVtTGF5b3V0U2l6ZSA9PSBtaW5pbXVtTGF5b3V0U2l6
ZSAmJiBtX3ZpZXdTaXplID09IHZpZXdTaXplKQorICAgIGlmIChtX3ZpZXdTaXplID09IG1pbmlt
dW1MYXlvdXRTaXplKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX21pbmltdW1MYXlv
dXRTaXplID0gbWluaW11bUxheW91dFNpemU7Ci0gICAgbV92aWV3U2l6ZSA9IHZpZXdTaXplOwor
ICAgIG1fdmlld1NpemUgPSBtaW5pbXVtTGF5b3V0U2l6ZTsKIAorICAgIHVwZGF0ZU1pbmltdW1M
YXlvdXRTaXplKCk7CiAgICAgdXBkYXRlQ29uZmlndXJhdGlvbigpOwogICAgIHJldHVybiB0cnVl
OwogfQpAQCAtMTAyLDE2ICsxMTYsOSBAQCBib29sIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6c2V0
Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmIHZpZXdwbwogCiAgICAg
TE9HX1dJVEhfU1RSRUFNKFZpZXdwb3J0cywgc3RyZWFtIDw8ICJWaWV3cG9ydENvbmZpZ3VyYXRp
b246OnNldFZpZXdwb3J0QXJndW1lbnRzICIgPDwgdmlld3BvcnRBcmd1bWVudHMpOwogICAgIG1f
dmlld3BvcnRBcmd1bWVudHMgPSB2aWV3cG9ydEFyZ3VtZW50czsKLSAgICB1cGRhdGVDb25maWd1
cmF0aW9uKCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgVmlld3BvcnRDb25maWd1cmF0
aW9uOjpzZXRGb3JjZUhvcml6b250YWxTaHJpbmtUb0ZpdChib29sIGZvcmNlSG9yaXpvbnRhbFNo
cmlua1RvRml0KQotewotICAgIGlmIChtX2ZvcmNlSG9yaXpvbnRhbFNocmlua1RvRml0ID09IGZv
cmNlSG9yaXpvbnRhbFNocmlua1RvRml0KQotICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBt
X2ZvcmNlSG9yaXpvbnRhbFNocmlua1RvRml0ID0gZm9yY2VIb3Jpem9udGFsU2hyaW5rVG9GaXQ7
CisgICAgdXBkYXRlTWluaW11bUxheW91dFNpemUoKTsKKyAgICB1cGRhdGVDb25maWd1cmF0aW9u
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEzMCwxMiArMTM3LDE3IEBAIEludFNpemUg
Vmlld3BvcnRDb25maWd1cmF0aW9uOjpsYXlvdXRTaXplKCkgY29uc3QKICAgICByZXR1cm4gSW50
U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQoKSk7CiB9CiAKK2Jvb2wgVmlld3BvcnRD
b25maWd1cmF0aW9uOjpzaG91bGRPdmVycmlkZURldmljZVdpZHRoV2l0aE1pbkRldmljZVdpZHRo
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV92aWV3U2l6ZS53aWR0aCgpIDwgY29tcHV0ZWRNaW5E
ZXZpY2VXaWR0aChtX3ZpZXdwb3J0QXJndW1lbnRzLm1pbkRldmljZVdpZHRoKTsKK30KKwogYm9v
bCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnNob3VsZElnbm9yZUhvcml6b250YWxTY2FsaW5nQ29u
c3RyYWludHMoKSBjb25zdAogewogICAgIGlmICghbV9jYW5JZ25vcmVTY2FsaW5nQ29uc3RyYWlu
dHMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2ZvcmNlSG9yaXpvbnRhbFNo
cmlua1RvRml0KQorICAgIGlmIChzaG91bGRPdmVycmlkZURldmljZVdpZHRoV2l0aE1pbkRldmlj
ZVdpZHRoKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKCFtX2NvbmZpZ3VyYXRp
b24uYWxsb3dzU2hyaW5rVG9GaXQpCkBAIC0xNzMsNyArMTg1LDcgQEAgYm9vbCBWaWV3cG9ydENv
bmZpZ3VyYXRpb246OnNob3VsZElnbm9yZVNjYWxpbmdDb25zdHJhaW50cygpIGNvbnN0CiAKIGJv
b2wgVmlld3BvcnRDb25maWd1cmF0aW9uOjpzaG91bGRJZ25vcmVTY2FsaW5nQ29uc3RyYWludHNS
ZWdhcmRsZXNzT2ZDb250ZW50U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fY2FuSWdub3Jl
U2NhbGluZ0NvbnN0cmFpbnRzICYmIG1fZm9yY2VIb3Jpem9udGFsU2hyaW5rVG9GaXQ7CisgICAg
cmV0dXJuIG1fY2FuSWdub3JlU2NhbGluZ0NvbnN0cmFpbnRzICYmIHNob3VsZE92ZXJyaWRlRGV2
aWNlV2lkdGhXaXRoTWluRGV2aWNlV2lkdGgoKTsKIH0KIAogZG91YmxlIFZpZXdwb3J0Q29uZmln
dXJhdGlvbjo6aW5pdGlhbFNjYWxlRnJvbVNpemUoZG91YmxlIHdpZHRoLCBkb3VibGUgaGVpZ2h0
LCBib29sIHNob3VsZElnbm9yZVNjYWxpbmdDb25zdHJhaW50cykgY29uc3QKQEAgLTM2MSwxMyAr
MzczLDI1IEBAIHZvaWQgVmlld3BvcnRDb25maWd1cmF0aW9uOjp1cGRhdGVDb25maWd1cmF0aW9u
KCkKICAgICAgICAgbV9jb25maWd1cmF0aW9uLmFsbG93c1VzZXJTY2FsaW5nID0gbV92aWV3cG9y
dEFyZ3VtZW50cy51c2VyWm9vbSAhPSAwLjsKIAogICAgIGlmIChib29sZWFuVmlld3BvcnRBcmd1
bWVudElzU2V0KG1fdmlld3BvcnRBcmd1bWVudHMuc2hyaW5rVG9GaXQpKQotICAgICAgICBtX2Nv
bmZpZ3VyYXRpb24uYWxsb3dzU2hyaW5rVG9GaXQgPSBtX3ZpZXdwb3J0QXJndW1lbnRzLnNocmlu
a1RvRml0ICE9IDAuOworICAgICAgICBtX2NvbmZpZ3VyYXRpb24uYWxsb3dzU2hyaW5rVG9GaXQg
PSBzaG91bGRPdmVycmlkZURldmljZVdpZHRoV2l0aE1pbkRldmljZVdpZHRoKCkgfHwgbV92aWV3
cG9ydEFyZ3VtZW50cy5zaHJpbmtUb0ZpdCAhPSAwLjsKIAogICAgIG1fY29uZmlndXJhdGlvbi5h
dm9pZHNVbnNhZmVBcmVhID0gbV92aWV3cG9ydEFyZ3VtZW50cy52aWV3cG9ydEZpdCAhPSBWaWV3
cG9ydEZpdDo6Q292ZXI7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oVmlld3BvcnRzLCBzdHJlYW0g
PDwgIlZpZXdwb3J0Q29uZmlndXJhdGlvbiAiIDw8IHRoaXMgPDwgIiB1cGRhdGVDb25maWd1cmF0
aW9uICIgPDwgKnRoaXMgPDwgIiBnaXZlcyBpbml0aWFsIHNjYWxlICIgPDwgaW5pdGlhbFNjYWxl
KCkgPDwgIiBiYXNlZCBvbiBjb250ZW50U2l6ZSAiIDw8IG1fY29udGVudFNpemUgPDwgIiBhbmQg
bGF5b3V0IHNpemUgIiA8PCBsYXlvdXRXaWR0aCgpIDw8ICJ4IiA8PCBsYXlvdXRIZWlnaHQoKSk7
CiB9CiAKK3ZvaWQgVmlld3BvcnRDb25maWd1cmF0aW9uOjp1cGRhdGVNaW5pbXVtTGF5b3V0U2l6
ZSgpCit7CisgICAgaWYgKCFtX3ZpZXdTaXplLndpZHRoKCkgfHwgIXNob3VsZE92ZXJyaWRlRGV2
aWNlV2lkdGhXaXRoTWluRGV2aWNlV2lkdGgoKSkgeworICAgICAgICBtX21pbmltdW1MYXlvdXRT
aXplID0gbV92aWV3U2l6ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gbWlu
RGV2aWNlV2lkdGggPSBjb21wdXRlZE1pbkRldmljZVdpZHRoKG1fdmlld3BvcnRBcmd1bWVudHMu
bWluRGV2aWNlV2lkdGgpOworICAgIGF1dG8gc2NhbGVkRGV2aWNlSGVpZ2h0ID0gc3RkOjpyb3Vu
ZGYobV92aWV3U2l6ZS5oZWlnaHQoKSAqIChtaW5EZXZpY2VXaWR0aCAvIG1fdmlld1NpemUud2lk
dGgoKSkpOworICAgIG1fbWluaW11bUxheW91dFNpemUgPSBGbG9hdFNpemUobWluRGV2aWNlV2lk
dGgsIHNjYWxlZERldmljZUhlaWdodCk7Cit9CisKIGRvdWJsZSBWaWV3cG9ydENvbmZpZ3VyYXRp
b246OnZpZXdwb3J0QXJndW1lbnRzTGVuZ3RoKGRvdWJsZSBsZW5ndGgpIGNvbnN0CiB7CiAgICAg
aWYgKGxlbmd0aCA9PSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VXaWR0aCkKQEAgLTUw
OSw3ICs1MzMsNiBAQCBTdHJpbmcgVmlld3BvcnRDb25maWd1cmF0aW9uOjpkZXNjcmlwdGlvbigp
IGNvbnN0CiAgICAgdHMuZHVtcFByb3BlcnR5KCJpZ25vcmluZyBob3Jpem9udGFsIHNjYWxpbmcg
Y29uc3RyYWludHMiLCBzaG91bGRJZ25vcmVIb3Jpem9udGFsU2NhbGluZ0NvbnN0cmFpbnRzKCkg
PyAidHJ1ZSIgOiAiZmFsc2UiKTsKICAgICB0cy5kdW1wUHJvcGVydHkoImlnbm9yaW5nIHZlcnRp
Y2FsIHNjYWxpbmcgY29uc3RyYWludHMiLCBzaG91bGRJZ25vcmVWZXJ0aWNhbFNjYWxpbmdDb25z
dHJhaW50cygpID8gInRydWUiIDogImZhbHNlIik7CiAgICAgdHMuZHVtcFByb3BlcnR5KCJhdm9p
ZHMgdW5zYWZlIGFyZWEiLCBhdm9pZHNVbnNhZmVBcmVhKCkgPyAidHJ1ZSIgOiAiZmFsc2UiKTsK
LSAgICB0cy5kdW1wUHJvcGVydHkoImZvcmNlIGhvcml6b250YWwgc2hyaW5rIHRvIGZpdCIsIG1f
Zm9yY2VIb3Jpem9udGFsU2hyaW5rVG9GaXQgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKICAgICAKICAg
ICB0cy5lbmRHcm91cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdw
b3J0Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaAppbmRleCA5ZWM2ODkzYTUyZGRmY2MyY2YxYTkzOTJiNGFhM2QxM2I4MTExNjJiLi5k
NmE1MGNhNDVjMTAwNjI5OTdkODJmNWI3NzQwM2NhZWU3NGJlOTRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmgKQEAgLTc3LDEyICs3NywxMiBAQCBwdWJs
aWM6CiAgICAgRmxvYXRTaXplIHZpZXdTaXplKCkgY29uc3QgeyByZXR1cm4gbV92aWV3U2l6ZTsg
fQogCiAgICAgY29uc3QgRmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0U2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbWluaW11bUxheW91dFNpemU7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIHNldE1p
bmltdW1MYXlvdXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYsIGNvbnN0IEZsb2F0U2l6ZSYgdmlld1Np
emUpOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgc2V0TWluaW11bUxheW91dFNpemUoY29uc3Qg
RmxvYXRTaXplJik7CiAKICAgICBjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgdmlld3BvcnRBcmd1
bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9CiAgICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBWaWV3cG9ydEFyZ3VtZW50
cyYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzZXRGb3JjZUhvcml6b250YWxTaHJpbmtU
b0ZpdChib29sKTsKKyAgICBib29sIHNob3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhXaXRoTWluRGV2
aWNlV2lkdGgoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgc2V0Q2FuSWdub3Jl
U2NhbGluZ0NvbnN0cmFpbnRzKGJvb2wpOwogICAgIHZvaWQgc2V0Rm9yY2VBbHdheXNVc2VyU2Nh
bGFibGUoYm9vbCBmb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSkgeyBtX2ZvcmNlQWx3YXlzVXNlclNj
YWxhYmxlID0gZm9yY2VBbHdheXNVc2VyU2NhbGFibGU7IH0KQEAgLTEyMSw2ICsxMjEsOCBAQCBw
cml2YXRlOgogICAgIGJvb2wgc2hvdWxkSWdub3JlVmVydGljYWxTY2FsaW5nQ29uc3RyYWludHMo
KSBjb25zdDsKICAgICBib29sIHNob3VsZElnbm9yZUhvcml6b250YWxTY2FsaW5nQ29uc3RyYWlu
dHMoKSBjb25zdDsKIAorICAgIHZvaWQgdXBkYXRlTWluaW11bUxheW91dFNpemUoKTsKKwogICAg
IFBhcmFtZXRlcnMgbV9jb25maWd1cmF0aW9uOwogICAgIFBhcmFtZXRlcnMgbV9kZWZhdWx0Q29u
ZmlndXJhdGlvbjsKICAgICBJbnRTaXplIG1fY29udGVudFNpemU7CkBAIC0xMzAsNyArMTMyLDYg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9jYW5JZ25vcmVTY2FsaW5nQ29uc3RyYWludHM7CiAg
ICAgYm9vbCBtX2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlOwotICAgIGJvb2wgbV9mb3JjZUhvcml6
b250YWxTaHJpbmtUb0ZpdDsKIH07CiAKIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6
OlRleHRTdHJlYW0mLCBjb25zdCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OlBhcmFtZXRlcnMmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0
ZUluZm8uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
SW5mby5jcHAKaW5kZXggODE4NWJjYTRkMjBkZGQ5NjY4YmE2OGQzYWJhYjY4MjUzZGNiY2U1YS4u
MDQxNTBjMWMwODg5MTJiMzUyOGJlNTc5NzczYzJkOTUzMWY5NTE3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5jcHAKQEAg
LTUzLDcgKzUzLDYgQEAgdm9pZCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV9pc0ZpcnN0VXBk
YXRlRm9yTmV3Vmlld1NpemU7CiAgICAgZW5jb2RlciA8PCBtX2lzQ2hhbmdpbmdPYnNjdXJlZElu
c2V0c0ludGVyYWN0aXZlbHk7CiAgICAgZW5jb2RlciA8PCBtX2FsbG93U2hyaW5rVG9GaXQ7Ci0g
ICAgZW5jb2RlciA8PCBtX2ZvcmNlSG9yaXpvbnRhbFNocmlua1RvRml0OwogICAgIGVuY29kZXIg
PDwgbV9lbmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmlldzsKIH0KIApAQCAtOTMsOCArOTIs
NiBAQCBib29sIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm86OmRlY29kZShJUEM6OkRlY29k
ZXImIGRlY29kZXIsIFZpc2libGVDb250ZW50UgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9hbGxvd1Nocmlua1RvRml0KSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fZm9yY2VIb3Jp
em9udGFsU2hyaW5rVG9GaXQpKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQubV9lbmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmlldykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMTM0LDcgKzEzMSw2IEBAIFRleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlu
Zm8mIGluZm8pCiAKICAgICB0cy5kdW1wUHJvcGVydHkoInRpbWVzdGFtcCIsIGluZm8udGltZXN0
YW1wKCkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKTsKICAgICB0cy5kdW1wUHJvcGVydHko
ImFsbG93U2hyaW5rVG9GaXQiLCBpbmZvLmFsbG93U2hyaW5rVG9GaXQoKSk7Ci0gICAgdHMuZHVt
cFByb3BlcnR5KCJmb3JjZUhvcml6b250YWxTaHJpbmtUb0ZpdCIsIGluZm8uZm9yY2VIb3Jpem9u
dGFsU2hyaW5rVG9GaXQoKSk7CiAgICAgaWYgKGluZm8uaG9yaXpvbnRhbFZlbG9jaXR5KCkpCiAg
ICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgiaG9yaXpvbnRhbFZlbG9jaXR5IiwgaW5mby5ob3Jpem9u
dGFsVmVsb2NpdHkoKSk7CiAgICAgaWYgKGluZm8udmVydGljYWxWZWxvY2l0eSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oCmlu
ZGV4IGQyMmFiYWFmODMwMTYxNTY1ZGM3MTM0OWVkYTUyZDQxNDNiMWIyMTIuLjVmMDdjMmI4YTg1
OTcwYzZjMmVhZDU0MmFlYjljODcwNDQ3ZWVmYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1Zpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9WaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmgKQEAgLTQ1LDcgKzQ1LDcgQEAg
Y2xhc3MgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyB7CiBwdWJsaWM6CiAgICAgVmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlSW5mbygpID0gZGVmYXVsdDsKIAotICAgIFZpc2libGVDb250ZW50
UmVjdFVwZGF0ZUluZm8oY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBleHBvc2VkQ29udGVudFJl
Y3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0
ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVj
dGluZ0lucHV0Vmlld0JvdW5kcywgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBjdXN0b21GaXhl
ZFBvc2l0aW9uUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmIG9ic2N1cmVkSW5z
ZXRzLCBjb25zdCBXZWJDb3JlOjpGbG9hdEJveEV4dGVudCYgdW5vYnNjdXJlZFNhZmVBcmVhSW5z
ZXRzLCBkb3VibGUgc2NhbGUsIGJvb2wgaW5TdGFibGVTdGF0ZSwgYm9vbCBpc0ZpcnN0VXBkYXRl
Rm9yTmV3Vmlld1NpemUsIGJvb2wgaXNDaGFuZ2luZ09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVs
eSwgYm9vbCBhbGxvd1Nocmlua1RvRml0LCBib29sIGZvcmNlSG9yaXpvbnRhbFNocmlua1RvRml0
LCBib29sIGVuY2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0b3JWaWV3LCBNb25vdG9uaWNUaW1lIHRp
bWVzdGFtcCwgZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2Np
dHksIGRvdWJsZSBzY2FsZUNoYW5nZVJhdGUsIHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2Fj
dGlvbklkKQorICAgIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8oY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiBleHBvc2VkQ29udGVudFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
dW5vYnNjdXJlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHVub2JzY3Vy
ZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
dW5vYnNjdXJlZENvbnRlbnRSZWN0UmVzcGVjdGluZ0lucHV0Vmlld0JvdW5kcywgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRCb3hFeHRlbnQmIG9ic2N1cmVkSW5zZXRzLCBjb25zdCBXZWJDb3JlOjpGbG9hdEJveEV4
dGVudCYgdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzLCBkb3VibGUgc2NhbGUsIGJvb2wgaW5TdGFi
bGVTdGF0ZSwgYm9vbCBpc0ZpcnN0VXBkYXRlRm9yTmV3Vmlld1NpemUsIGJvb2wgaXNDaGFuZ2lu
Z09ic2N1cmVkSW5zZXRzSW50ZXJhY3RpdmVseSwgYm9vbCBhbGxvd1Nocmlua1RvRml0LCBib29s
IGVuY2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0b3JWaWV3LCBNb25vdG9uaWNUaW1lIHRpbWVzdGFt
cCwgZG91YmxlIGhvcml6b250YWxWZWxvY2l0eSwgZG91YmxlIHZlcnRpY2FsVmVsb2NpdHksIGRv
dWJsZSBzY2FsZUNoYW5nZVJhdGUsIHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklk
KQogICAgICAgICA6IG1fZXhwb3NlZENvbnRlbnRSZWN0KGV4cG9zZWRDb250ZW50UmVjdCkKICAg
ICAgICAgLCBtX3Vub2JzY3VyZWRDb250ZW50UmVjdCh1bm9ic2N1cmVkQ29udGVudFJlY3QpCiAg
ICAgICAgICwgbV91bm9ic2N1cmVkQ29udGVudFJlY3RSZXNwZWN0aW5nSW5wdXRWaWV3Qm91bmRz
KHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMpCkBAIC02Myw3
ICs2Myw2IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2lzRmlyc3RVcGRhdGVGb3JOZXdWaWV3U2l6
ZShpc0ZpcnN0VXBkYXRlRm9yTmV3Vmlld1NpemUpCiAgICAgICAgICwgbV9pc0NoYW5naW5nT2Jz
Y3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5KGlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0
aXZlbHkpCiAgICAgICAgICwgbV9hbGxvd1Nocmlua1RvRml0KGFsbG93U2hyaW5rVG9GaXQpCi0g
ICAgICAgICwgbV9mb3JjZUhvcml6b250YWxTaHJpbmtUb0ZpdChmb3JjZUhvcml6b250YWxTaHJp
bmtUb0ZpdCkKICAgICAgICAgLCBtX2VuY2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0b3JWaWV3KGVu
Y2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0b3JWaWV3KQogICAgIHsKICAgICB9CkBAIC04MSw3ICs4
MCw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzRmlyc3RVcGRhdGVGb3JOZXdWaWV3U2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNGaXJzdFVwZGF0ZUZvck5ld1ZpZXdTaXplOyB9CiAgICAgYm9vbCBp
c0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5KCkgY29uc3QgeyByZXR1cm4gbV9p
c0NoYW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5OyB9CiAgICAgYm9vbCBhbGxvd1No
cmlua1RvRml0KCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1Nocmlua1RvRml0OyB9Ci0gICAgYm9v
bCBmb3JjZUhvcml6b250YWxTaHJpbmtUb0ZpdCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9yY2VIb3Jp
em9udGFsU2hyaW5rVG9GaXQ7IH0KICAgICBib29sIGVuY2xvc2VkSW5TY3JvbGxhYmxlQW5jZXN0
b3JWaWV3KCkgY29uc3QgeyByZXR1cm4gbV9lbmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmll
dzsgfQogCiAgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVzdGFtcDsgfQpAQCAtMTE0LDcgKzExMiw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRmly
c3RVcGRhdGVGb3JOZXdWaWV3U2l6ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdP
YnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHkgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hbGxvd1No
cmlua1RvRml0IHsgZmFsc2UgfTsKLSAgICBib29sIG1fZm9yY2VIb3Jpem9udGFsU2hyaW5rVG9G
aXQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmll
dyB7IGZhbHNlIH07CiB9OwogCkBAIC0xMzMsNyArMTMwLDYgQEAgaW5saW5lIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJiBhLCBjb25zdCBWaXNpYmxl
Q29udGUKICAgICAgICAgJiYgYS5pblN0YWJsZVN0YXRlKCkgPT0gYi5pblN0YWJsZVN0YXRlKCkK
ICAgICAgICAgJiYgYS5pc0ZpcnN0VXBkYXRlRm9yTmV3Vmlld1NpemUoKSA9PSBiLmlzRmlyc3RV
cGRhdGVGb3JOZXdWaWV3U2l6ZSgpCiAgICAgICAgICYmIGEuYWxsb3dTaHJpbmtUb0ZpdCgpID09
IGIuYWxsb3dTaHJpbmtUb0ZpdCgpCi0gICAgICAgICYmIGEuZm9yY2VIb3Jpem9udGFsU2hyaW5r
VG9GaXQoKSA9PSBiLmZvcmNlSG9yaXpvbnRhbFNocmlua1RvRml0KCkKICAgICAgICAgJiYgYS5l
bmNsb3NlZEluU2Nyb2xsYWJsZUFuY2VzdG9yVmlldygpID09IGIuZW5jbG9zZWRJblNjcm9sbGFi
bGVBbmNlc3RvclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggOGVhNDM3ZmFmYmNlZGZhNjZhMTgzMDEzNzU5ZjJhMDkz
ZjA1YmUzYi4uNGExNmU2ZDNiYjdhMDM1NDVjNmFjOGRiYWRlOTQ3YjhlZjE5M2ZkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xODEs
MTEgKzE4MSw2IEBAIGVudW0gY2xhc3MgRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSB7CiAgICAg
UmVzaXppbmdXaXRoRG9jdW1lbnRIaWRkZW4sCiB9OwogCi1zdHJ1Y3QgQWN0aXZlVmlld3BvcnRM
YXlvdXRTaXplcyB7Ci0gICAgV2ViQ29yZTo6RmxvYXRTaXplIG1pbmltdW1MYXlvdXRTaXplOwot
ICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3U2l6ZTsKLX07Ci0KICNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0zMTEsOCArMzA2LDYgQEAgQGltcGxlbWVu
dGF0aW9uIFdLV2ViVmlldyB7CiAgICAgc3RkOjpvcHRpb25hbDxpbnQzMl90PiBfbGFzdFNlbnRE
ZXZpY2VPcmllbnRhdGlvbjsKIAogICAgIEJPT0wgX2FsbG93c1ZpZXdwb3J0U2hyaW5rVG9GaXQ7
Ci0gICAgQk9PTCBfZm9yY2VIb3Jpem9udGFsVmlld3BvcnRTaHJpbmtUb0ZpdDsKLSAgICBDR0Zs
b2F0IF9taW5pbXVtQWxsb3dlZExheW91dFdpZHRoOwogCiAgICAgQk9PTCBfaGFzQ29tbWl0dGVk
TG9hZEZvck1haW5GcmFtZTsKICAgICBCT09MIF9uZWVkc1Jlc2V0Vmlld1N0YXRlQWZ0ZXJDb21t
aXRMb2FkRm9yTWFpbkZyYW1lOwpAQCAtNzM0LDEzICs3MjcsOSBAQCAtICh2b2lkKV9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0
aW9uCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIF9kcmFnSW50ZXJhY3Rpb25Qb2xpY3kgPSBfV0tE
cmFnSW50ZXJhY3Rpb25Qb2xpY3lEZWZhdWx0OwogI2lmIEVOQUJMRShFWFRSQV9aT09NX01PREUp
Ci0gICAgX21pbmltdW1BbGxvd2VkTGF5b3V0V2lkdGggPSAzMjA7CiAgICAgX2FsbG93c1ZpZXdw
b3J0U2hyaW5rVG9GaXQgPSBZRVM7Ci0gICAgX2ZvcmNlSG9yaXpvbnRhbFZpZXdwb3J0U2hyaW5r
VG9GaXQgPSBZRVM7CiAjZWxzZQotICAgIF9taW5pbXVtQWxsb3dlZExheW91dFdpZHRoID0gMDsK
ICAgICBfYWxsb3dzVmlld3BvcnRTaHJpbmtUb0ZpdCA9IE5POwotICAgIF9mb3JjZUhvcml6b250
YWxWaWV3cG9ydFNocmlua1RvRml0ID0gTk87CiAjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9STShJ
T1MpCiB9CkBAIC0yNTc1LDQ2ICsyNTY0LDI1IEBAIC0gKFVJRWRnZUluc2V0cylfc2Nyb2xsVmll
d1N5c3RlbUNvbnRlbnRJbnNldAogICAgIHJldHVybiBVSUVkZ2VJbnNldHNBZGQoW19zY3JvbGxW
aWV3IF9jb250ZW50U2Nyb2xsSW5zZXRdLCBzZWxmLnNhZmVBcmVhSW5zZXRzLCBbX3Njcm9sbFZp
ZXcgX2VkZ2VzQXBwbHlpbmdTYWZlQXJlYUluc2V0c1RvQ29udGVudEluc2V0XSk7CiB9CiAKLS0g
KENHRmxvYXQpX21pbmltdW1BbGxvd2VkTGF5b3V0V2lkdGgKLXsKLSAgICByZXR1cm4gX21pbmlt
dW1BbGxvd2VkTGF5b3V0V2lkdGg7Ci19Ci0KLS0gKHZvaWQpX3NldE1pbmltdW1BbGxvd2VkTGF5
b3V0V2lkdGg6KENHRmxvYXQpbWluaW11bUFsbG93ZWRMYXlvdXRXaWR0aAotewotICAgIGlmIChf
bWluaW11bUFsbG93ZWRMYXlvdXRXaWR0aCA9PSBtaW5pbXVtQWxsb3dlZExheW91dFdpZHRoKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBfbWluaW11bUFsbG93ZWRMYXlvdXRXaWR0aCA9IG1pbmlt
dW1BbGxvd2VkTGF5b3V0V2lkdGg7Ci0KLSAgICBhdXRvIHNpemVzID0gW3NlbGYgYWN0aXZlTWlu
aW11bUxheW91dFNpemVzOnNlbGYuYm91bmRzXTsKLSAgICBbc2VsZiBfZGlzcGF0Y2hTZXRNaW5p
bXVtTGF5b3V0U2l6ZTpzaXplcy5taW5pbXVtTGF5b3V0U2l6ZSB2aWV3U2l6ZTpzaXplcy52aWV3
U2l6ZV07Ci19Ci0KLS0gKEFjdGl2ZVZpZXdwb3J0TGF5b3V0U2l6ZXMpYWN0aXZlTWluaW11bUxh
eW91dFNpemVzOihjb25zdCBDR1JlY3QmKWJvdW5kcworLSAoV2ViQ29yZTo6RmxvYXRTaXplKWFj
dGl2ZU1pbmltdW1MYXlvdXRTaXplOihjb25zdCBDR1JlY3QmKWJvdW5kcwogewogICAgIGlmIChf
b3ZlcnJpZGVzTWluaW11bUxheW91dFNpemUpCi0gICAgICAgIHJldHVybiB7IFdlYkNvcmU6OkZs
b2F0U2l6ZShfbWluaW11bUxheW91dFNpemVPdmVycmlkZSksIFdlYkNvcmU6OkZsb2F0U2l6ZShf
bWluaW11bUxheW91dFNpemVPdmVycmlkZSkgfTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkZs
b2F0U2l6ZShfbWluaW11bUxheW91dFNpemVPdmVycmlkZSk7CiAKLSAgICBBY3RpdmVWaWV3cG9y
dExheW91dFNpemVzIHNpemVzOwogI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMAotICAgIHNpemVzLnZpZXdTaXplID0gV2ViQ29yZTo6RmxvYXRTaXplKFVJRWRn
ZUluc2V0c0luc2V0UmVjdChDR1JlY3RNYWtlKDAsIDAsIGJvdW5kcy5zaXplLndpZHRoLCBib3Vu
ZHMuc2l6ZS5oZWlnaHQpLCBzZWxmLl9zY3JvbGxWaWV3U3lzdGVtQ29udGVudEluc2V0KS5zaXpl
KTsKKyAgICByZXR1cm4gV2ViQ29yZTo6RmxvYXRTaXplKFVJRWRnZUluc2V0c0luc2V0UmVjdChD
R1JlY3RNYWtlKDAsIDAsIGJvdW5kcy5zaXplLndpZHRoLCBib3VuZHMuc2l6ZS5oZWlnaHQpLCBz
ZWxmLl9zY3JvbGxWaWV3U3lzdGVtQ29udGVudEluc2V0KS5zaXplKTsKICNlbHNlCi0gICAgc2l6
ZXMudmlld1NpemUgPSBXZWJDb3JlOjpGbG9hdFNpemUgeyBib3VuZHMuc2l6ZSB9OworICAgIHJl
dHVybiBXZWJDb3JlOjpGbG9hdFNpemUgeyBib3VuZHMuc2l6ZSB9OwogI2VuZGlmCi0KLSAgICBh
dXRvIGxheW91dFdpZHRoID0gc3RkOjptYXg8ZmxvYXQ+KHNpemVzLnZpZXdTaXplLndpZHRoKCks
IHNlbGYuX21pbmltdW1BbGxvd2VkTGF5b3V0V2lkdGgpOwotICAgIHNpemVzLm1pbmltdW1MYXlv
dXRTaXplID0geyBsYXlvdXRXaWR0aCwgc2l6ZXMudmlld1NpemUuaGVpZ2h0KCkgKiAobGF5b3V0
V2lkdGggLyBzaXplcy52aWV3U2l6ZS53aWR0aCgpKSB9OwotICAgIHJldHVybiBzaXplczsKIH0K
IAotLSAodm9pZClfZGlzcGF0Y2hTZXRNaW5pbXVtTGF5b3V0U2l6ZTooV2ViQ29yZTo6RmxvYXRT
aXplKW1pbmltdW1MYXlvdXRTaXplIHZpZXdTaXplOihXZWJDb3JlOjpGbG9hdFNpemUpdmlld1Np
emUKKy0gKHZvaWQpX2Rpc3BhdGNoU2V0TWluaW11bUxheW91dFNpemU6KFdlYkNvcmU6OkZsb2F0
U2l6ZSltaW5pbXVtTGF5b3V0U2l6ZQogewogICAgIGlmIChfbGFzdFNlbnRNaW5pbXVtTGF5b3V0
U2l6ZSAmJiBDR1NpemVFcXVhbFRvU2l6ZShfbGFzdFNlbnRNaW5pbXVtTGF5b3V0U2l6ZS52YWx1
ZSgpLCBtaW5pbXVtTGF5b3V0U2l6ZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIExPR19XSVRI
X1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiLVtXS1dlYlZpZXcgIiA8PCBfcGFnZS0+
cGFnZUlEKCkgPDwgIiBfZGlzcGF0Y2hTZXRNaW5pbXVtTGF5b3V0U2l6ZTpdICIgPDwgbWluaW11
bUxheW91dFNpemUgPDwgIiB2aWV3U2l6ZSAiIDw8IHZpZXdTaXplIDw8ICIgY29udGVudFpvb21T
Y2FsZSAiIDw8IGNvbnRlbnRab29tU2NhbGUoc2VsZikpOwotICAgIF9wYWdlLT5zZXRWaWV3cG9y
dENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZShtaW5pbXVtTGF5b3V0U2l6ZSwgdmlld1Np
emUpOworICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiLVtXS1dl
YlZpZXcgIiA8PCBfcGFnZS0+cGFnZUlEKCkgPDwgIiBfZGlzcGF0Y2hTZXRNaW5pbXVtTGF5b3V0
U2l6ZTpdICIgPDwgbWluaW11bUxheW91dFNpemUgPDwgIiBjb250ZW50Wm9vbVNjYWxlICIgPDwg
Y29udGVudFpvb21TY2FsZShzZWxmKSk7CisgICAgX3BhZ2UtPnNldFZpZXdwb3J0Q29uZmlndXJh
dGlvbk1pbmltdW1MYXlvdXRTaXplKG1pbmltdW1MYXlvdXRTaXplKTsKICAgICBfbGFzdFNlbnRN
aW5pbXVtTGF5b3V0U2l6ZSA9IG1pbmltdW1MYXlvdXRTaXplOwogfQogCkBAIC0yNjQyLDEwICsy
NjEwLDggQEAgLSAodm9pZClfZnJhbWVPckJvdW5kc0NoYW5nZWQKICAgICBbX3Njcm9sbFZpZXcg
c2V0RnJhbWU6Ym91bmRzXTsKIAogICAgIGlmIChfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSA9
PSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlOjpOb3RSZXNpemluZykgewotICAgICAgICBpZiAo
IV9vdmVycmlkZXNNaW5pbXVtTGF5b3V0U2l6ZSkgewotICAgICAgICAgICAgYXV0byBzaXplcyA9
IFtzZWxmIGFjdGl2ZU1pbmltdW1MYXlvdXRTaXplczpzZWxmLmJvdW5kc107Ci0gICAgICAgICAg
ICBbc2VsZiBfZGlzcGF0Y2hTZXRNaW5pbXVtTGF5b3V0U2l6ZTpzaXplcy5taW5pbXVtTGF5b3V0
U2l6ZSB2aWV3U2l6ZTpzaXplcy52aWV3U2l6ZV07Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFf
b3ZlcnJpZGVzTWluaW11bUxheW91dFNpemUpCisgICAgICAgICAgICBbc2VsZiBfZGlzcGF0Y2hT
ZXRNaW5pbXVtTGF5b3V0U2l6ZTpbc2VsZiBhY3RpdmVNaW5pbXVtTGF5b3V0U2l6ZTpzZWxmLmJv
dW5kc11dOwogICAgICAgICBpZiAoIV9vdmVycmlkZXNNYXhpbXVtVW5vYnNjdXJlZFNpemUpCiAg
ICAgICAgICAgICBbc2VsZiBfZGlzcGF0Y2hTZXRNYXhpbXVtVW5vYnNjdXJlZFNpemU6V2ViQ29y
ZTo6RmxvYXRTaXplKGJvdW5kcy5zaXplKV07CiAKQEAgLTUwMzEsNyArNDk5Nyw3IEBAIC0gKHZv
aWQpX3NldE1pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGU6KENHU2l6ZSltaW5pbXVtTGF5b3V0U2l6
ZU92ZXJyaWRlCiAgICAgX21pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGUgPSBtaW5pbXVtTGF5b3V0
U2l6ZU92ZXJyaWRlOwogCiAgICAgaWYgKF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlID09IER5
bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGU6Ok5vdFJlc2l6aW5nKQotICAgICAgICBbc2VsZiBfZGlz
cGF0Y2hTZXRNaW5pbXVtTGF5b3V0U2l6ZTpXZWJDb3JlOjpGbG9hdFNpemUobWluaW11bUxheW91
dFNpemVPdmVycmlkZSkgdmlld1NpemU6V2ViQ29yZTo6RmxvYXRTaXplKG1pbmltdW1MYXlvdXRT
aXplT3ZlcnJpZGUpXTsKKyAgICAgICAgW3NlbGYgX2Rpc3BhdGNoU2V0TWluaW11bUxheW91dFNp
emU6V2ViQ29yZTo6RmxvYXRTaXplKG1pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGUpXTsKIAogfQog
CkBAIC01MTM4LDIwICs1MTA0LDYgQEAgLSAodm9pZClfc2V0TWF4aW11bVVub2JzY3VyZWRTaXpl
T3ZlcnJpZGU6KENHU2l6ZSlzaXplCiAgICAgICAgIFtzZWxmIF9kaXNwYXRjaFNldE1heGltdW1V
bm9ic2N1cmVkU2l6ZTpXZWJDb3JlOjpGbG9hdFNpemUoc2l6ZSldOwogfQogCi0tICh2b2lkKV9z
ZXRGb3JjZUhvcml6b250YWxWaWV3cG9ydFNocmlua1RvRml0OihCT09MKWZvcmNlSG9yaXpvbnRh
bFZpZXdwb3J0U2hyaW5rVG9GaXQKLXsKLSAgICBpZiAoX2ZvcmNlSG9yaXpvbnRhbFZpZXdwb3J0
U2hyaW5rVG9GaXQgPT0gZm9yY2VIb3Jpem9udGFsVmlld3BvcnRTaHJpbmtUb0ZpdCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgX2ZvcmNlSG9yaXpvbnRhbFZpZXdwb3J0U2hyaW5rVG9GaXQgPSBm
b3JjZUhvcml6b250YWxWaWV3cG9ydFNocmlua1RvRml0OwotICAgIFtzZWxmIF9zY2hlZHVsZVZp
c2libGVDb250ZW50UmVjdFVwZGF0ZV07Ci19Ci0KLS0gKEJPT0wpX2ZvcmNlSG9yaXpvbnRhbFZp
ZXdwb3J0U2hyaW5rVG9GaXQKLXsKLSAgICByZXR1cm4gX2ZvcmNlSG9yaXpvbnRhbFZpZXdwb3J0
U2hyaW5rVG9GaXQ7Ci19Ci0KIC0gKHZvaWQpX3NldEFsbG93c1ZpZXdwb3J0U2hyaW5rVG9GaXQ6
KEJPT0wpYWxsb3dTaHJpbmtUb0ZpdAogewogICAgIF9hbGxvd3NWaWV3cG9ydFNocmlua1RvRml0
ID0gYWxsb3dTaHJpbmtUb0ZpdDsKQEAgLTUxOTMsNyArNTE0NSw3IEBAIC0gKHZvaWQpX2JlZ2lu
QW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczoodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sKIAog
ICAgIF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlID0gRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9k
ZTo6UmVzaXppbmdXaXRoQW5pbWF0aW9uOwogCi0gICAgYXV0byBvbGRTaXplcyA9IFtzZWxmIGFj
dGl2ZU1pbmltdW1MYXlvdXRTaXplczpzZWxmLmJvdW5kc107CisgICAgYXV0byBvbGRNaW5pbXVt
TGF5b3V0U2l6ZSA9IFtzZWxmIGFjdGl2ZU1pbmltdW1MYXlvdXRTaXplOnNlbGYuYm91bmRzXTsK
ICAgICBhdXRvIG9sZE1heGltdW1Vbm9ic2N1cmVkU2l6ZSA9IGFjdGl2ZU1heGltdW1Vbm9ic2N1
cmVkU2l6ZShzZWxmLCBvbGRCb3VuZHMpOwogICAgIGludDMyX3Qgb2xkT3JpZW50YXRpb24gPSBh
Y3RpdmVPcmllbnRhdGlvbihzZWxmKTsKICAgICBVSUVkZ2VJbnNldHMgb2xkT2JzY3VyZWRJbnNl
dHMgPSBfb2JzY3VyZWRJbnNldHM7CkBAIC01MjAxLDE5ICs1MTUzLDE5IEBAIC0gKHZvaWQpX2Jl
Z2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczoodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sK
ICAgICB1cGRhdGVCbG9jaygpOwogCiAgICAgQ0dSZWN0IG5ld0JvdW5kcyA9IHNlbGYuYm91bmRz
OwotICAgIGF1dG8gbmV3U2l6ZXMgPSBbc2VsZiBhY3RpdmVNaW5pbXVtTGF5b3V0U2l6ZXM6bmV3
Qm91bmRzXTsKKyAgICBhdXRvIG5ld01pbmltdW1MYXlvdXRTaXplID0gW3NlbGYgYWN0aXZlTWlu
aW11bUxheW91dFNpemU6bmV3Qm91bmRzXTsKICAgICBhdXRvIG5ld01heGltdW1Vbm9ic2N1cmVk
U2l6ZSA9IGFjdGl2ZU1heGltdW1Vbm9ic2N1cmVkU2l6ZShzZWxmLCBuZXdCb3VuZHMpOwogICAg
IGludDMyX3QgbmV3T3JpZW50YXRpb24gPSBhY3RpdmVPcmllbnRhdGlvbihzZWxmKTsKICAgICBV
SUVkZ2VJbnNldHMgbmV3T2JzY3VyZWRJbnNldHMgPSBfb2JzY3VyZWRJbnNldHM7CiAgICAgQ0dS
ZWN0IGZ1dHVyZVVub2JzY3VyZWRSZWN0SW5TZWxmQ29vcmRpbmF0ZXMgPSBVSUVkZ2VJbnNldHNJ
bnNldFJlY3QobmV3Qm91bmRzLCBfb2JzY3VyZWRJbnNldHMpOwogICAgIENHUmVjdCBjb250ZW50
Vmlld0JvdW5kcyA9IFtfY29udGVudFZpZXcgYm91bmRzXTsKIAotICAgIEFTU0VSVF9XSVRIX01F
U1NBR0UoIShfb3ZlcnJpZGVzTWluaW11bUxheW91dFNpemUgJiYgbmV3U2l6ZXMubWluaW11bUxh
eW91dFNpemUuaXNFbXB0eSgpKSwgIkNsaWVudHMgY29udHJvbGxpbmcgdGhlIGxheW91dCBzaXpl
IHNob3VsZCBtYWludGFpbiBhIHZhbGlkIGxheW91dCBzaXplIHRvIG1pbmltaXplIGxheW91dHMu
Iik7Ci0gICAgaWYgKENHUmVjdElzRW1wdHkobmV3Qm91bmRzKSB8fCBuZXdTaXplcy5taW5pbXVt
TGF5b3V0U2l6ZS5pc0VtcHR5KCkgfHwgQ0dSZWN0SXNFbXB0eShmdXR1cmVVbm9ic2N1cmVkUmVj
dEluU2VsZkNvb3JkaW5hdGVzKSB8fCBDR1JlY3RJc0VtcHR5KGNvbnRlbnRWaWV3Qm91bmRzKSkg
eworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShfb3ZlcnJpZGVzTWluaW11bUxheW91dFNpemUg
JiYgbmV3TWluaW11bUxheW91dFNpemUuaXNFbXB0eSgpKSwgIkNsaWVudHMgY29udHJvbGxpbmcg
dGhlIGxheW91dCBzaXplIHNob3VsZCBtYWludGFpbiBhIHZhbGlkIGxheW91dCBzaXplIHRvIG1p
bmltaXplIGxheW91dHMuIik7CisgICAgaWYgKENHUmVjdElzRW1wdHkobmV3Qm91bmRzKSB8fCBu
ZXdNaW5pbXVtTGF5b3V0U2l6ZS5pc0VtcHR5KCkgfHwgQ0dSZWN0SXNFbXB0eShmdXR1cmVVbm9i
c2N1cmVkUmVjdEluU2VsZkNvb3JkaW5hdGVzKSB8fCBDR1JlY3RJc0VtcHR5KGNvbnRlbnRWaWV3
Qm91bmRzKSkgewogICAgICAgICBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSA9IER5bmFtaWNW
aWV3cG9ydFVwZGF0ZU1vZGU6Ok5vdFJlc2l6aW5nOwogICAgICAgICBbc2VsZiBfZnJhbWVPckJv
dW5kc0NoYW5nZWRdOwogICAgICAgICBpZiAoX292ZXJyaWRlc01pbmltdW1MYXlvdXRTaXplKQot
ICAgICAgICAgICAgW3NlbGYgX2Rpc3BhdGNoU2V0TWluaW11bUxheW91dFNpemU6bmV3U2l6ZXMu
bWluaW11bUxheW91dFNpemUgdmlld1NpemU6bmV3U2l6ZXMudmlld1NpemVdOworICAgICAgICAg
ICAgW3NlbGYgX2Rpc3BhdGNoU2V0TWluaW11bUxheW91dFNpemU6bmV3TWluaW11bUxheW91dFNp
emVdOwogICAgICAgICBpZiAoX292ZXJyaWRlc01heGltdW1Vbm9ic2N1cmVkU2l6ZSkKICAgICAg
ICAgICAgIFtzZWxmIF9kaXNwYXRjaFNldE1heGltdW1Vbm9ic2N1cmVkU2l6ZTpXZWJDb3JlOjpG
bG9hdFNpemUobmV3TWF4aW11bVVub2JzY3VyZWRTaXplKV07CiAgICAgICAgIGlmIChfb3ZlcnJp
ZGVzSW50ZXJmYWNlT3JpZW50YXRpb24pCkBAIC01MjI0LDcgKzUxNzYsNyBAQCAtICh2b2lkKV9i
ZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2Nr
CiAgICAgfQogCiAgICAgaWYgKENHUmVjdEVxdWFsVG9SZWN0KG9sZEJvdW5kcywgbmV3Qm91bmRz
KQotICAgICAgICAmJiBvbGRTaXplcy5taW5pbXVtTGF5b3V0U2l6ZSA9PSBuZXdTaXplcy5taW5p
bXVtTGF5b3V0U2l6ZQorICAgICAgICAmJiBvbGRNaW5pbXVtTGF5b3V0U2l6ZSA9PSBuZXdNaW5p
bXVtTGF5b3V0U2l6ZQogICAgICAgICAmJiBvbGRNYXhpbXVtVW5vYnNjdXJlZFNpemUgPT0gbmV3
TWF4aW11bVVub2JzY3VyZWRTaXplCiAgICAgICAgICYmIG9sZE9yaWVudGF0aW9uID09IG5ld09y
aWVudGF0aW9uCiAgICAgICAgICYmIFVJRWRnZUluc2V0c0VxdWFsVG9FZGdlSW5zZXRzKG9sZE9i
c2N1cmVkSW5zZXRzLCBuZXdPYnNjdXJlZEluc2V0cykpIHsKQEAgLTUyNDQsMTMgKzUxOTYsMTMg
QEAgLSAodm9pZClfYmVnaW5BbmltYXRlZFJlc2l6ZVdpdGhVcGRhdGVzOih2b2lkICheKSh2b2lk
KSl1cGRhdGVCbG9jawogICAgIFtfcmVzaXplQW5pbWF0aW9uVmlldyBhZGRTdWJ2aWV3OltfY29u
dGVudFZpZXcgdW5zY2FsZWRWaWV3XV07CiAKICAgICBDR1NpemUgY29udGVudFNpemVJbkNvbnRl
bnRWaWV3Q29vcmRpbmF0ZXMgPSBjb250ZW50Vmlld0JvdW5kcy5zaXplOwotICAgIFtfc2Nyb2xs
VmlldyBzZXRNaW5pbXVtWm9vbVNjYWxlOnN0ZDo6bWluKG5ld1NpemVzLm1pbmltdW1MYXlvdXRT
aXplLndpZHRoKCkgLyBjb250ZW50U2l6ZUluQ29udGVudFZpZXdDb29yZGluYXRlcy53aWR0aCwg
W19zY3JvbGxWaWV3IG1pbmltdW1ab29tU2NhbGVdKV07Ci0gICAgW19zY3JvbGxWaWV3IHNldE1h
eGltdW1ab29tU2NhbGU6c3RkOjptYXgobmV3U2l6ZXMubWluaW11bUxheW91dFNpemUud2lkdGgo
KSAvIGNvbnRlbnRTaXplSW5Db250ZW50Vmlld0Nvb3JkaW5hdGVzLndpZHRoLCBbX3Njcm9sbFZp
ZXcgbWF4aW11bVpvb21TY2FsZV0pXTsKKyAgICBbX3Njcm9sbFZpZXcgc2V0TWluaW11bVpvb21T
Y2FsZTpzdGQ6Om1pbihuZXdNaW5pbXVtTGF5b3V0U2l6ZS53aWR0aCgpIC8gY29udGVudFNpemVJ
bkNvbnRlbnRWaWV3Q29vcmRpbmF0ZXMud2lkdGgsIFtfc2Nyb2xsVmlldyBtaW5pbXVtWm9vbVNj
YWxlXSldOworICAgIFtfc2Nyb2xsVmlldyBzZXRNYXhpbXVtWm9vbVNjYWxlOnN0ZDo6bWF4KG5l
d01pbmltdW1MYXlvdXRTaXplLndpZHRoKCkgLyBjb250ZW50U2l6ZUluQ29udGVudFZpZXdDb29y
ZGluYXRlcy53aWR0aCwgW19zY3JvbGxWaWV3IG1heGltdW1ab29tU2NhbGVdKV07CiAKICAgICAv
LyBDb21wdXRlIHRoZSBuZXcgc2NhbGUgdG8ga2VlcCB0aGUgY3VycmVudCBjb250ZW50IHdpZHRo
IGluIHRoZSBzY3JvbGx2aWV3LgogICAgIENHRmxvYXQgb2xkV2ViVmlld1dpZHRoSW5Db250ZW50
Vmlld0Nvb3JkaW5hdGVzID0gb2xkVW5vYnNjdXJlZENvbnRlbnRSZWN0LndpZHRoKCk7CiAgICAg
Q0dGbG9hdCB2aXNpYmxlQ29udGVudFZpZXdXaWR0aEluQ29udGVudENvb3JkaW5hdGVzID0gc3Rk
OjptaW4oY29udGVudFNpemVJbkNvbnRlbnRWaWV3Q29vcmRpbmF0ZXMud2lkdGgsIG9sZFdlYlZp
ZXdXaWR0aEluQ29udGVudFZpZXdDb29yZGluYXRlcyk7Ci0gICAgQ0dGbG9hdCB0YXJnZXRTY2Fs
ZSA9IG5ld1NpemVzLm1pbmltdW1MYXlvdXRTaXplLndpZHRoKCkgLyB2aXNpYmxlQ29udGVudFZp
ZXdXaWR0aEluQ29udGVudENvb3JkaW5hdGVzOworICAgIENHRmxvYXQgdGFyZ2V0U2NhbGUgPSBu
ZXdNaW5pbXVtTGF5b3V0U2l6ZS53aWR0aCgpIC8gdmlzaWJsZUNvbnRlbnRWaWV3V2lkdGhJbkNv
bnRlbnRDb29yZGluYXRlczsKICAgICBDR0Zsb2F0IHJlc2l6ZUFuaW1hdGlvblZpZXdBbmltYXRp
b25TY2FsZSA9IHRhcmdldFNjYWxlIC8gY29udGVudFpvb21TY2FsZShzZWxmKTsKICAgICBbX3Jl
c2l6ZUFuaW1hdGlvblZpZXcgc2V0VHJhbnNmb3JtOkNHQWZmaW5lVHJhbnNmb3JtTWFrZVNjYWxl
KHJlc2l6ZUFuaW1hdGlvblZpZXdBbmltYXRpb25TY2FsZSwgcmVzaXplQW5pbWF0aW9uVmlld0Fu
aW1hdGlvblNjYWxlKV07CiAKQEAgLTUyOTAsMTEgKzUyNDIsMTEgQEAgLSAodm9pZClfYmVnaW5B
bmltYXRlZFJlc2l6ZVdpdGhVcGRhdGVzOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jawogICAg
IFVJRWRnZUluc2V0cyB1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMgPSBbc2VsZiBfY29tcHV0ZWRV
bm9ic2N1cmVkU2FmZUFyZWFJbnNldF07CiAgICAgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQgdW5v
YnNjdXJlZFNhZmVBcmVhSW5zZXRzRXh0ZW50KHVub2JzY3VyZWRTYWZlQXJlYUluc2V0cy50b3As
IHVub2JzY3VyZWRTYWZlQXJlYUluc2V0cy5yaWdodCwgdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRz
LmJvdHRvbSwgdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzLmxlZnQpOwogCi0gICAgX2xhc3RTZW50
TWluaW11bUxheW91dFNpemUgPSBuZXdTaXplcy5taW5pbXVtTGF5b3V0U2l6ZTsKKyAgICBfbGFz
dFNlbnRNaW5pbXVtTGF5b3V0U2l6ZSA9IG5ld01pbmltdW1MYXlvdXRTaXplOwogICAgIF9sYXN0
U2VudE1heGltdW1Vbm9ic2N1cmVkU2l6ZSA9IG5ld01heGltdW1Vbm9ic2N1cmVkU2l6ZTsKICAg
ICBfbGFzdFNlbnREZXZpY2VPcmllbnRhdGlvbiA9IG5ld09yaWVudGF0aW9uOwogCi0gICAgX3Bh
Z2UtPmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUobmV3U2l6ZXMubWluaW11bUxheW91dFNpemUs
IG5ld1NpemVzLnZpZXdTaXplLCBuZXdNYXhpbXVtVW5vYnNjdXJlZFNpemUsIHZpc2libGVSZWN0
SW5Db250ZW50Q29vcmRpbmF0ZXMsIHVub2JzY3VyZWRSZWN0SW5Db250ZW50Q29vcmRpbmF0ZXMs
IGZ1dHVyZVVub2JzY3VyZWRSZWN0SW5TZWxmQ29vcmRpbmF0ZXMsIHVub2JzY3VyZWRTYWZlQXJl
YUluc2V0c0V4dGVudCwgdGFyZ2V0U2NhbGUsIG5ld09yaWVudGF0aW9uKTsKKyAgICBfcGFnZS0+
ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShuZXdNaW5pbXVtTGF5b3V0U2l6ZSwgbmV3TWF4aW11
bVVub2JzY3VyZWRTaXplLCB2aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzLCB1bm9ic2N1
cmVkUmVjdEluQ29udGVudENvb3JkaW5hdGVzLCBmdXR1cmVVbm9ic2N1cmVkUmVjdEluU2VsZkNv
b3JkaW5hdGVzLCB1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHNFeHRlbnQsIHRhcmdldFNjYWxlLCBu
ZXdPcmllbnRhdGlvbik7CiAgICAgaWYgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eSogZHJhd2lu
Z0FyZWEgPSBfcGFnZS0+ZHJhd2luZ0FyZWEoKSkKICAgICAgICAgZHJhd2luZ0FyZWEtPnNldFNp
emUoV2ViQ29yZTo6SW50U2l6ZShuZXdCb3VuZHMuc2l6ZSkpOwogfQpAQCAtNTM1OSwxMiArNTMx
MSwxMiBAQCAtICh2b2lkKV9lbmRBbmltYXRlZFJlc2l6ZQogICAgIFtzZWxmIF9zY2hlZHVsZVZp
c2libGVDb250ZW50UmVjdFVwZGF0ZV07CiAKICAgICBDR1JlY3QgbmV3Qm91bmRzID0gc2VsZi5i
b3VuZHM7Ci0gICAgYXV0byBuZXdTaXplcyA9IFtzZWxmIGFjdGl2ZU1pbmltdW1MYXlvdXRTaXpl
czpuZXdCb3VuZHNdOworICAgIGF1dG8gbmV3TWluaW11bUxheW91dFNpemUgPSBbc2VsZiBhY3Rp
dmVNaW5pbXVtTGF5b3V0U2l6ZTpuZXdCb3VuZHNdOwogICAgIGF1dG8gbmV3TWF4aW11bVVub2Jz
Y3VyZWRTaXplID0gYWN0aXZlTWF4aW11bVVub2JzY3VyZWRTaXplKHNlbGYsIG5ld0JvdW5kcyk7
CiAgICAgaW50MzJfdCBuZXdPcmllbnRhdGlvbiA9IGFjdGl2ZU9yaWVudGF0aW9uKHNlbGYpOwog
Ci0gICAgaWYgKCFfbGFzdFNlbnRNaW5pbXVtTGF5b3V0U2l6ZSB8fCBuZXdTaXplcy5taW5pbXVt
TGF5b3V0U2l6ZSAhPSBfbGFzdFNlbnRNaW5pbXVtTGF5b3V0U2l6ZS52YWx1ZSgpKQotICAgICAg
ICBbc2VsZiBfZGlzcGF0Y2hTZXRNaW5pbXVtTGF5b3V0U2l6ZTpuZXdTaXplcy5taW5pbXVtTGF5
b3V0U2l6ZSB2aWV3U2l6ZTpuZXdTaXplcy52aWV3U2l6ZV07CisgICAgaWYgKCFfbGFzdFNlbnRN
aW5pbXVtTGF5b3V0U2l6ZSB8fCBuZXdNaW5pbXVtTGF5b3V0U2l6ZSAhPSBfbGFzdFNlbnRNaW5p
bXVtTGF5b3V0U2l6ZS52YWx1ZSgpKQorICAgICAgICBbc2VsZiBfZGlzcGF0Y2hTZXRNaW5pbXVt
TGF5b3V0U2l6ZTpuZXdNaW5pbXVtTGF5b3V0U2l6ZV07CiAgICAgaWYgKCFfbGFzdFNlbnRNYXhp
bXVtVW5vYnNjdXJlZFNpemUgfHwgbmV3TWF4aW11bVVub2JzY3VyZWRTaXplICE9IF9sYXN0U2Vu
dE1heGltdW1Vbm9ic2N1cmVkU2l6ZS52YWx1ZSgpKQogICAgICAgICBbc2VsZiBfZGlzcGF0Y2hT
ZXRNYXhpbXVtVW5vYnNjdXJlZFNpemU6V2ViQ29yZTo6RmxvYXRTaXplKG5ld01heGltdW1Vbm9i
c2N1cmVkU2l6ZSldOwogICAgIGlmICghX2xhc3RTZW50RGV2aWNlT3JpZW50YXRpb24gfHwgbmV3
T3JpZW50YXRpb24gIT0gX2xhc3RTZW50RGV2aWNlT3JpZW50YXRpb24udmFsdWUoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CmluZGV4IDhmMjkzZjgzNzIwOTllMjFmMTMxNjkwZWE3MzYyZjRmMmZhMTM0MTAuLjcwN2RmOTIx
N2JjZGY0NzFiMTgwMGNhOTFlZjNjYTM2MjY3YTgwODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMjA0LDggKzIw
NCw2IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SW50ZXJmYWNlT3JpZW50YXRpb25PdmVycmlk
ZTopIFVJSW50ZXJmYWNlT3JpZW50YXRpb24gX2ludGVyZmFjZU9yaWVudGF0aW9uT3ZlcnJpZGU7
CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsbG93c1ZpZXdwb3J0U2hyaW5r
VG9GaXQ6KSBCT09MIF9hbGxvd3NWaWV3cG9ydFNocmlua1RvRml0OwotQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0Rm9yY2VIb3Jpem9udGFsVmlld3BvcnRTaHJpbmtUb0ZpdDopIEJP
T0wgX2ZvcmNlSG9yaXpvbnRhbFZpZXdwb3J0U2hyaW5rVG9GaXQgV0tfQVBJX0FWQUlMQUJMRShp
b3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWluaW11
bUFsbG93ZWRMYXlvdXRXaWR0aDopIENHRmxvYXQgX21pbmltdW1BbGxvd2VkTGF5b3V0V2lkdGgg
V0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwogCiAvLyBGSVhNRTogUmVtb3ZlIHRo
ZXNlIHRocmVlIHByb3BlcnRpZXMgb25jZSB3ZSBleHBvc2UgV0tXZWJWaWV3Q29udGVudFByb3Zp
ZGVyIGFzIEFQSS4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPV9pc0Rp
c3BsYXlpbmdQREYpIEJPT0wgX2Rpc3BsYXlpbmdQREY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA1NjBiODgzODU4MzAwYmEyMmQ2NTNhNDQzMmI5YjI2Y2Iw
N2VlOTMzLi40N2IxZWQ2NGY5MmZjN2Q3YWFiMzM1ODIyMWEyOTJiODBkZjQ0ZDJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTYwNTksNyArNjA1OSw2IEBA
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRl
cnMoKQogICAgIHBhcmFtZXRlcnMubWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQcm92aWRlcnMg
PSBtX3BhZ2VDbGllbnQubWltZVR5cGVzV2l0aEN1c3RvbUNvbnRlbnRQcm92aWRlcnMoKTsKICAg
ICBwYXJhbWV0ZXJzLmlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzID0gbV9mb3JjZUFsd2F5c1Vz
ZXJTY2FsYWJsZTsKICAgICBwYXJhbWV0ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1M
YXlvdXRTaXplID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZTsKLSAg
ICBwYXJhbWV0ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdTaXplID0gbV92aWV3cG9ydENv
bmZpZ3VyYXRpb25WaWV3U2l6ZTsKICAgICBwYXJhbWV0ZXJzLm1heGltdW1Vbm9ic2N1cmVkU2l6
ZSA9IG1fbWF4aW11bVVub2JzY3VyZWRTaXplOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZjEyMzI1YTY2YWZkYWIxY2M2ZTMzZGU2NWY2NmExNGUx
YzJkNmQ2Zi4uODA3MDA1MDM3MzFiMDI2N2UzNzc3MzA5YzZkZGI0OTJjMzJiYTVmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTU0NSwxMCArNTQ1LDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIG92ZXJmbG93U2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCk7CiAgICAgdm9p
ZCBvdmVyZmxvd1Njcm9sbERpZEVuZFNjcm9sbCgpOwogCi0gICAgdm9pZCBkeW5hbWljVmlld3Bv
cnRTaXplVXBkYXRlKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlld1NpemUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgbWF4aW11bVVub2JzY3VyZWRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRh
cmdldEV4cG9zZWRDb250ZW50UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRV
bm9ic2N1cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRVbm9ic2N1cmVk
UmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdEJveEV4dGVu
dCYgdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzLCBkb3VibGUgdGFyZ2V0U2NhbGUsIGludDMyX3Qg
ZGV2aWNlT3JpZW50YXRpb24pOworICAgIHZvaWQgZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFNpemUmIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
dGFyZ2V0VW5vYnNjdXJlZFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5v
YnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRC
b3hFeHRlbnQmIHVub2JzY3VyZWRTYWZlQXJlYUluc2V0cywgZG91YmxlIHRhcmdldFNjYWxlLCBp
bnQzMl90IGRldmljZU9yaWVudGF0aW9uKTsKICAgICB2b2lkIHN5bmNocm9uaXplRHluYW1pY1Zp
ZXdwb3J0VXBkYXRlKCk7CiAKLSAgICB2b2lkIHNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmlt
dW1MYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgdmlld1NpemUpOworICAgIHZvaWQgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWlu
aW11bUxheW91dFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAgICAgdm9pZCBzZXRN
YXhpbXVtVW5vYnNjdXJlZFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJik7CiAgICAgdm9p
ZCBzZXREZXZpY2VPcmllbnRhdGlvbihpbnQzMl90KTsKICAgICBpbnQzMl90IGRldmljZU9yaWVu
dGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VPcmllbnRhdGlvbjsgfQpAQCAtMjEzMiw3
ICsyMTMyLDYgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Tm9kZUFzc2lzdGFuY2VB
cmd1bWVudHM+IG1fZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFyZ3VtZW50czsKICAgICBib29sIG1f
Zm9yY2VBbHdheXNVc2VyU2NhbGFibGUgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkZsb2F0U2l6
ZSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplOwotICAgIFdlYkNvcmU6
OkZsb2F0U2l6ZSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdTaXplOwogICAgIFdlYkNvcmU6
OkZsb2F0U2l6ZSBtX21heGltdW1Vbm9ic2N1cmVkU2l6ZTsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDBmYTA3ODgxZGNjMjJi
MjA5Y2QyMzBhM2YyNDJlMmFjNTdhMzU4NDAuLmQwY2JkZTFhOWFkOTU5NjU1ZDJlZDQxN2E5Zjhm
ODNkMjcyYjBkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tCkBAIC00MDIsNyArNDAyLDYgQEAgLSAodm9pZClkaWRVcGRhdGVWaXNpYmxlUmVjdDoo
Q0dSZWN0KXZpc2libGVDb250ZW50UmVjdAogICAgICAgICBfc2l6ZUNoYW5nZWRTaW5jZUxhc3RW
aXNpYmxlQ29udGVudFJlY3RVcGRhdGUsCiAgICAgICAgIGlzQ2hhbmdpbmdPYnNjdXJlZEluc2V0
c0ludGVyYWN0aXZlbHksCiAgICAgICAgIF93ZWJWaWV3Ll9hbGxvd3NWaWV3cG9ydFNocmlua1Rv
Rml0LAotICAgICAgICBfd2ViVmlldy5fZm9yY2VIb3Jpem9udGFsVmlld3BvcnRTaHJpbmtUb0Zp
dCwKICAgICAgICAgZW5jbG9zZWRJblNjcm9sbGFibGVBbmNlc3RvclZpZXcsCiAgICAgICAgIHRp
bWVzdGFtcCwKICAgICAgICAgdmVsb2NpdHlEYXRhLmhvcml6b250YWxWZWxvY2l0eSwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDQ5ZTdj
NDM2N2E4YTVlM2E1YzA3ODhhYmUwZjlhN2UwOGQwNDY0MWEuLmY1MGFiMmMyNjI1ZWM4NjVmZmJj
OTFkZjgxNzc3ZTY4NDgxZTgyMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMzA1LDcgKzMwNSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpvdmVyZmxvd1Njcm9sbERpZEVuZFNjcm9sbCgpCiAgICAgbV9wYWdlQ2xpZW50Lm92ZXJmbG93
U2Nyb2xsRGlkRW5kU2Nyb2xsKCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkeW5hbWljVmll
d3BvcnRTaXplVXBkYXRlKGNvbnN0IEZsb2F0U2l6ZSYgbWluaW11bUxheW91dFNpemUsIGNvbnN0
IEZsb2F0U2l6ZSYgdmlld1NpemUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgbWF4aW11bVVu
b2JzY3VyZWRTaXplLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiB0YXJnZXRVbm9ic2N1cmVkUmVjdCwgY29uc3QgRmxvYXRSZWN0JiB0
YXJnZXRVbm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdEJveEV4dGVudCYgdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzLCBkb3VibGUgdGFyZ2V0
U2NhbGUsIGludDMyX3QgZGV2aWNlT3JpZW50YXRpb24pCit2b2lkIFdlYlBhZ2VQcm94eTo6ZHlu
YW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBGbG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXpl
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgY29uc3Qg
RmxvYXRSZWN0JiB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0VW5vYnNjdXJlZFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJ
blNjcm9sbFZpZXdDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmIHVu
b2JzY3VyZWRTYWZlQXJlYUluc2V0cywgZG91YmxlIHRhcmdldFNjYWxlLCBpbnQzMl90IGRldmlj
ZU9yaWVudGF0aW9uKQogewogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CkBA
IC0zMTQsNyArMzE0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmR5bmFtaWNWaWV3cG9ydFNpemVV
cGRhdGUoY29uc3QgRmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0U2l6ZSwKIAogICAgIG1fZHluYW1p
Y1ZpZXdwb3J0U2l6ZVVwZGF0ZVdhaXRpbmdGb3JUYXJnZXQgPSB0cnVlOwogICAgIG1fZHluYW1p
Y1ZpZXdwb3J0U2l6ZVVwZGF0ZVdhaXRpbmdGb3JMYXllclRyZWVDb21taXQgPSB0cnVlOwotICAg
IG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RHluYW1pY1ZpZXdwb3J0U2l6ZVVw
ZGF0ZShtaW5pbXVtTGF5b3V0U2l6ZSwgdmlld1NpemUsIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwg
dGFyZ2V0RXhwb3NlZENvbnRlbnRSZWN0LCB0YXJnZXRVbm9ic2N1cmVkUmVjdCwgdGFyZ2V0VW5v
YnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywgdW5vYnNjdXJlZFNhZmVBcmVhSW5z
ZXRzLCB0YXJnZXRTY2FsZSwgZGV2aWNlT3JpZW50YXRpb24sICsrbV9jdXJyZW50RHluYW1pY1Zp
ZXdwb3J0U2l6ZVVwZGF0ZUlEKSwgbV9wYWdlSUQpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShtaW5pbXVtTGF5b3V0U2l6
ZSwgbWF4aW11bVVub2JzY3VyZWRTaXplLCB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIHRhcmdl
dFVub2JzY3VyZWRSZWN0LCB0YXJnZXRVbm9ic2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5h
dGVzLCB1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMsIHRhcmdldFNjYWxlLCBkZXZpY2VPcmllbnRh
dGlvbiwgKyttX2N1cnJlbnREeW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQpLCBtX3BhZ2VJRCk7
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzeW5jaHJvbml6ZUR5bmFtaWNWaWV3cG9ydFVwZGF0
ZSgpCkBAIC0zNTQsMTMgKzM1NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c3luY2hyb25pemVE
eW5hbWljVmlld3BvcnRVcGRhdGUoKQogICAgIG1fZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZVdh
aXRpbmdGb3JMYXllclRyZWVDb21taXQgPSBmYWxzZTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6
OnNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYgc2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWV3U2l6ZSkKK3Zv
aWQgV2ViUGFnZVByb3h5OjpzZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6
ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHNpemUpCiB7CiAgICAgbV92aWV3cG9ydENvbmZp
Z3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZSA9IHNpemU7Ci0gICAgbV92aWV3cG9ydENvbmZpZ3Vy
YXRpb25WaWV3U2l6ZSA9IHZpZXdTaXplOwogCiAgICAgaWYgKGlzVmFsaWQoKSkKLSAgICAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRWaWV3cG9ydENvbmZpZ3VyYXRp
b25NaW5pbXVtTGF5b3V0U2l6ZShzaXplLCB2aWV3U2l6ZSksIG1fcGFnZUlEKTsKKyAgICAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRWaWV3cG9ydENvbmZpZ3VyYXRp
b25NaW5pbXVtTGF5b3V0U2l6ZShzaXplKSwgbV9wYWdlSUQpOwogfQogCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6c2V0Rm9yY2VBbHdheXNVc2VyU2NhbGFibGUoYm9vbCB1c2VyU2NhbGFibGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGEwZGE3MTJi
NTRkNDVmYjAyMTAxM2IwY2YwODMyMDVkY2RiNTViM2UuLmZiNDQwMmE0ZjJmODMxZGQzYjY3YjM3
YTlhZmI0ZjRiMjJkMzAwNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC02MTIsNyArNjEyLDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRf
dCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11
bUxheW91dFNpemUocGFyYW1ldGVycy52aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0
U2l6ZSwgcGFyYW1ldGVycy52aWV3cG9ydENvbmZpZ3VyYXRpb25WaWV3U2l6ZSk7CisgICAgc2V0
Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUocGFyYW1ldGVycy52aWV3cG9y
dENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZSk7CiAgICAgc2V0TWF4aW11bVVub2JzY3Vy
ZWRTaXplKHBhcmFtZXRlcnMubWF4aW11bVVub2JzY3VyZWRTaXplKTsKICNlbmRpZgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGJmNWY2OGMzODA2
MjVlZTlmMWVlOTQ5YzMxYjFlYmNmMzczYTQ2ZWYuLmVhNjUyZmY1ZjMyYTdiZThlNzFkMTYyZTVl
NGU1N2FhMTdkZjg4ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKQEAgLTg3NSwxMCArODc1LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVZpc2li
aWxpdHlTdGF0ZShib29sIGlzSW5pdGlhbFN0YXRlID0gZmFsc2UpOwogCiAjaWYgUExBVEZPUk0o
SU9TKQotICAgIHZvaWQgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUo
Y29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWV3
U2l6ZSk7CisgICAgdm9pZCBzZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6
ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldE1heGltdW1Vbm9ic2N1
cmVkU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldERldmljZU9y
aWVudGF0aW9uKGludDMyX3QpOwotICAgIHZvaWQgZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFNpemUmIHZpZXdTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1heGltdW1V
bm9ic2N1cmVkU2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRFeHBvc2VkQ29u
dGVudFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJblNjcm9sbFZp
ZXdDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmIHRhcmdldFVub2Jz
Y3VyZWRTYWZlQXJlYUluc2V0cywgZG91YmxlIHNjYWxlLCBpbnQzMl90IGRldmljZU9yaWVudGF0
aW9uLCB1aW50NjRfdCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQpOworICAgIHZvaWQgZHlu
YW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1pbmltdW1M
YXlvdXRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1heGltdW1Vbm9ic2N1cmVkU2l6
ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3QsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRl
cywgY29uc3QgV2ViQ29yZTo6RmxvYXRCb3hFeHRlbnQmIHRhcmdldFVub2JzY3VyZWRTYWZlQXJl
YUluc2V0cywgZG91YmxlIHNjYWxlLCBpbnQzMl90IGRldmljZU9yaWVudGF0aW9uLCB1aW50NjRf
dCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlSUQpOwogICAgIHZvaWQgc3luY2hyb25pemVEeW5h
bWljVmlld3BvcnRVcGRhdGUoZG91YmxlJiBuZXdUYXJnZXRTY2FsZSwgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgbmV3U2Nyb2xsUG9zaXRpb24sIHVpbnQ2NF90JiBuZXh0VmFsaWRMYXllclRyZWVUcmFu
c2FjdGlvbklEKTsKICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBzY2FsZUZyb21VSVByb2Nlc3Mo
Y29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYpIGNvbnN0OwogICAgIHZvaWQgdXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZv
JiwgTW9ub3RvbmljVGltZSBvbGRlc3RUaW1lc3RhbXApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNmRlZjNiMDVh
ZDE1MjVmYWVlOGQ2YjQyMjNlNWNlYWVhYmY4OWI3ZS4uZDJjNjg0ZDdmMmYwZjk3YTdiNDFlOTgz
ZDViMmY0NWNkMGY4YmRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MSwxMCArNDEsMTAgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgS2V5RXZlbnQoV2ViS2l0OjpXZWJLZXli
b2FyZEV2ZW50IGV2ZW50KQogICAgIE1vdXNlRXZlbnQoV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2
ZW50KQogI2lmIFBMQVRGT1JNKElPUykKLSAgICBTZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25NaW5p
bXVtTGF5b3V0U2l6ZShXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSwgV2ViQ29yZTo6RmxvYXRTaXpl
IHZpZXdTaXplKQorICAgIFNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXpl
KFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplKQogICAgIFNldE1heGltdW1Vbm9ic2N1cmVkU2l6ZShX
ZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkKICAgICBTZXREZXZpY2VPcmllbnRhdGlvbihpbnQzMl90
IGRldmljZU9yaWVudGF0aW9uKQotICAgIER5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUoV2ViQ29y
ZTo6RmxvYXRTaXplIG1pbmltdW1MYXlvdXRTaXplLCBXZWJDb3JlOjpGbG9hdFNpemUgdmlld1Np
emUsIFdlYkNvcmU6OkZsb2F0U2l6ZSBtYXhpbXVtVW5vYnNjdXJlZFNpemUsIFdlYkNvcmU6OkZs
b2F0UmVjdCB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJn
ZXRVbm9ic2N1cmVkUmVjdCwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFVub2JzY3VyZWRSZWN0
SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIFdlYkNvcmU6OlJlY3RFZGdlczxmbG9hdD4gdGFyZ2V0
VW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzLCBkb3VibGUgc2NhbGUsIGludDMyX3QgZGV2aWNlT3Jp
ZW50YXRpb24sIHVpbnQ2NF90IGR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJRCkKKyAgICBEeW5h
bWljVmlld3BvcnRTaXplVXBkYXRlKFdlYkNvcmU6OkZsb2F0U2l6ZSBtaW5pbXVtTGF5b3V0U2l6
ZSwgV2ViQ29yZTo6RmxvYXRTaXplIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgV2ViQ29yZTo6Rmxv
YXRSZWN0IHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCwgV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdl
dFVub2JzY3VyZWRSZWN0LCBXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0VW5vYnNjdXJlZFJlY3RJ
blNjcm9sbFZpZXdDb29yZGluYXRlcywgV2ViQ29yZTo6UmVjdEVkZ2VzPGZsb2F0PiB0YXJnZXRV
bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMsIGRvdWJsZSBzY2FsZSwgaW50MzJfdCBkZXZpY2VPcmll
bnRhdGlvbiwgdWludDY0X3QgZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUlEKQogICAgIFN5bmNo
cm9uaXplRHluYW1pY1ZpZXdwb3J0VXBkYXRlKCkgLT4gKGRvdWJsZSBuZXdUYXJnZXRTY2FsZSwg
V2ViQ29yZTo6RmxvYXRQb2ludCBuZXdTY3JvbGxQb3NpdGlvbiwgdWludDY0X3QgbmV4dFZhbGlk
TGF5ZXJUcmVlVHJhbnNhY3Rpb25JRCkKIAogICAgIEhhbmRsZVRhcChXZWJDb3JlOjpJbnRQb2lu
dCBwb2ludCwgdWludDY0X3QgbGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDVj
ZWQ0OGIwYjNmMjU2MjBlN2UwZjcwMzA2N2Q1ZGE2YjVlNTc5MjYuLmU0NzU4NGQ1NzlkMzFlMDg0
OGQ2MzY3MzIyZTdjNzcyNDc0ZGNjMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0yNDU0LDEwICsyNDU0LDEwIEBAIHZv
aWQgV2ViUGFnZTo6YXV0b2ZpbGxMb2dpbkNyZWRlbnRpYWxzKGNvbnN0IFN0cmluZyYgdXNlcm5h
bWUsIGNvbnN0IFN0cmluZyYgcGFzCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2U6OnNldFZpZXdw
b3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwg
Y29uc3QgRmxvYXRTaXplJiB2aWV3U2l6ZSkKK3ZvaWQgV2ViUGFnZTo6c2V0Vmlld3BvcnRDb25m
aWd1cmF0aW9uTWluaW11bUxheW91dFNpemUoY29uc3QgRmxvYXRTaXplJiBzaXplKQogewotICAg
IExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiV2ViUGFnZSAiIDw8IG1f
cGFnZUlEIDw8ICIgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUgIiA8
PCBzaXplIDw8ICIgdmlld1NpemUgIiA8PCB2aWV3U2l6ZSk7Ci0gICAgaWYgKG1fdmlld3BvcnRD
b25maWd1cmF0aW9uLnNldE1pbmltdW1MYXlvdXRTaXplKHNpemUsIHZpZXdTaXplKSkKKyAgICBM
T0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIldlYlBhZ2UgIiA8PCBtX3Bh
Z2VJRCA8PCAiIHNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplICIgPDwg
c2l6ZSk7CisgICAgaWYgKG1fdmlld3BvcnRDb25maWd1cmF0aW9uLnNldE1pbmltdW1MYXlvdXRT
aXplKHNpemUpKQogICAgICAgICB2aWV3cG9ydENvbmZpZ3VyYXRpb25DaGFuZ2VkKCk7CiB9CiAK
QEAgLTI0OTIsMTIgKzI0OTIsMTIgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFRleHRBdXRvc2l6aW5n
KCkKICAgICB9CiB9CiAKLXZvaWQgV2ViUGFnZTo6ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShj
b25zdCBGbG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zdCBGbG9hdFNpemUmIHZpZXdT
aXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG1heGltdW1Vbm9ic2N1cmVkU2l6ZSwgY29u
c3QgRmxvYXRSZWN0JiB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYg
dGFyZ2V0VW5vYnNjdXJlZFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0VW5v
YnNjdXJlZFJlY3RJblNjcm9sbFZpZXdDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRC
b3hFeHRlbnQmIHRhcmdldFVub2JzY3VyZWRTYWZlQXJlYUluc2V0cywgZG91YmxlIHRhcmdldFNj
YWxlLCBpbnQzMl90IGRldmljZU9yaWVudGF0aW9uLCB1aW50NjRfdCBkeW5hbWljVmlld3BvcnRT
aXplVXBkYXRlSUQpCit2b2lkIFdlYlBhZ2U6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUoY29u
c3QgRmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0U2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXpl
JiBtYXhpbXVtVW5vYnNjdXJlZFNpemUsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0RXhwb3NlZENv
bnRlbnRSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRp
bmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0Qm94RXh0ZW50JiB0YXJnZXRVbm9ic2N1cmVkU2Fm
ZUFyZWFJbnNldHMsIGRvdWJsZSB0YXJnZXRTY2FsZSwgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlv
biwgdWludDY0X3QgZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUlEKQogewogICAgIFNldEZvclNj
b3BlPGJvb2w+IGR5bmFtaWNTaXplVXBkYXRlR3VhcmQobV9pbkR5bmFtaWNTaXplVXBkYXRlLCB0
cnVlKTsKICAgICAvLyBGSVhNRTogdGhpcyBkb2VzIG5vdCBoYW5kbGUgdGhlIGNhc2VzIHdoZXJl
IHRoZSBjb250ZW50IHdvdWxkIGNoYW5nZSB0aGUgY29udGVudCBzaXplIG9yIHNjcm9sbCBwb3Np
dGlvbiBmcm9tIEphdmFTY3JpcHQuCiAgICAgLy8gVG8gaGFuZGxlIHRob3NlIGNhc2VzLCB3ZSB3
b3VsZCBuZWVkIHRvIHJlZG8gdGhpcyBjb21wdXRhdGlvbiBvbiBldmVyeSBjaGFuZ2UgdW50aWwg
dGhlIG5leHQgdmlzaWJsZSBjb250ZW50IHJlY3QgdXBkYXRlLgotICAgIExPR19XSVRIX1NUUkVB
TShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiXG5XZWJQYWdlOjpkeW5hbWljVmlld3BvcnRTaXpl
VXBkYXRlIC0gbWluaW11bUxheW91dFNpemUgIiA8PCBtaW5pbXVtTGF5b3V0U2l6ZSA8PCAiIHZp
ZXdTaXplICIgPDwgdmlld1NpemUgPDwgIiB0YXJnZXRVbm9ic2N1cmVkUmVjdCAiIDw8IHRhcmdl
dFVub2JzY3VyZWRSZWN0IDw8ICIgdGFyZ2V0RXhwb3NlZENvbnRlbnRSZWN0ICIgPDwgdGFyZ2V0
RXhwb3NlZENvbnRlbnRSZWN0IDw8ICIgdGFyZ2V0U2NhbGUgIiA8PCB0YXJnZXRTY2FsZSk7Cisg
ICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJcbldlYlBhZ2U6OmR5
bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUgLSBtaW5pbXVtTGF5b3V0U2l6ZSAiIDw8IG1pbmltdW1M
YXlvdXRTaXplIDw8ICIgdGFyZ2V0VW5vYnNjdXJlZFJlY3QgIiA8PCB0YXJnZXRVbm9ic2N1cmVk
UmVjdCA8PCAiIHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCAiIDw8IHRhcmdldEV4cG9zZWRDb250
ZW50UmVjdCA8PCAiIHRhcmdldFNjYWxlICIgPDwgdGFyZ2V0U2NhbGUpOwogCiAgICAgRnJhbWVW
aWV3JiBmcmFtZVZpZXcgPSAqbV9wYWdlLT5tYWluRnJhbWUoKS52aWV3KCk7CiAgICAgSW50U2l6
ZSBvbGRDb250ZW50U2l6ZSA9IGZyYW1lVmlldy5jb250ZW50c1NpemUoKTsKQEAgLTI1MzAsNyAr
MjUzMCw3IEBAIHZvaWQgV2ViUGFnZTo6ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBG
bG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zCiAgICAgfQogCiAgICAgTE9HX1dJVEhf
U1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJXZWJQYWdlOjpkeW5hbWljVmlld3BvcnRT
aXplVXBkYXRlIHNldHRpbmcgbWluaW11bSBsYXlvdXQgc2l6ZSB0byAiIDw8IG1pbmltdW1MYXlv
dXRTaXplKTsKLSAgICBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5zZXRNaW5pbXVtTGF5b3V0U2l6
ZShtaW5pbXVtTGF5b3V0U2l6ZSwgdmlld1NpemUpOworICAgIG1fdmlld3BvcnRDb25maWd1cmF0
aW9uLnNldE1pbmltdW1MYXlvdXRTaXplKG1pbmltdW1MYXlvdXRTaXplKTsKICAgICBJbnRTaXpl
IG5ld0xheW91dFNpemUgPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5sYXlvdXRTaXplKCk7CiAK
ICAgICBpZiAoc2V0Rml4ZWRMYXlvdXRTaXplKG5ld0xheW91dFNpemUpKQpAQCAtMjkxMiw5ICsy
OTEyLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0IFZp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIHZpc2kKICAgICBpZiAoc2Nyb2xsUG9zaXRpb24g
IT0gZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCkpCiAgICAgICAgIG1fZHluYW1pY1NpemVVcGRh
dGVIaXN0b3J5LmNsZWFyKCk7CiAKLSAgICBib29sIGRpZFVwZGF0ZUZvcmNlSG9yaXpvbnRhbFNo
cmlua1RvRml0ID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0Rm9yY2VIb3Jpem9udGFsU2hy
aW5rVG9GaXQodmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5mb3JjZUhvcml6b250YWxTaHJp
bmtUb0ZpdCgpKTsKLSAgICBib29sIGRpZFVwZGF0ZUNhbklnbm9yZVZpZXdwb3J0U2NhbGluZ0Nv
bnN0cmFpbnRzID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0Q2FuSWdub3JlU2NhbGluZ0Nv
bnN0cmFpbnRzKG1faWdub3JlVmlld3BvcnRTY2FsaW5nQ29uc3RyYWludHMgJiYgdmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlSW5mby5hbGxvd1Nocmlua1RvRml0KCkpOwotICAgIGlmIChkaWRVcGRh
dGVGb3JjZUhvcml6b250YWxTaHJpbmtUb0ZpdCB8fCBkaWRVcGRhdGVDYW5JZ25vcmVWaWV3cG9y
dFNjYWxpbmdDb25zdHJhaW50cykKKyAgICBpZiAobV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0
Q2FuSWdub3JlU2NhbGluZ0NvbnN0cmFpbnRzKG1faWdub3JlVmlld3BvcnRTY2FsaW5nQ29uc3Ry
YWludHMgJiYgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5hbGxvd1Nocmlua1RvRml0KCkp
KQogICAgICAgICB2aWV3cG9ydENvbmZpZ3VyYXRpb25DaGFuZ2VkKCk7CiAKICAgICBmcmFtZVZp
ZXcuc2V0VW5vYnNjdXJlZENvbnRlbnRTaXplKHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8u
dW5vYnNjdXJlZENvbnRlbnRSZWN0KCkuc2l6ZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339114</attachid>
            <date>2018-04-30 09:36:39 -0700</date>
            <delta_ts>2018-04-30 09:36:39 -0700</delta_ts>
            <desc>Test patch</desc>
            <filename>bug-185067-20180430093638.patch</filename>
            <type>text/plain</type>
            <size>7943</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk3MTdjN2U1MDg4Y2Q5
MjA3Y2ViNDE2YjRlMjM2YTliZGZlYjk2Mi4uYTcyNjg5MjJhNDlhYjg4NjIyZjhlODQxZmVlZjdi
MmZlMzRhMjlmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTA0LTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFRlc3QgYnVnIChw
bGVhc2UgaWdub3JlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg1MDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgT25seSBhbiBFV1MgcGFzcy4gTm90aGluZyB0byBzZWUgaGVyZS4KKwogMjAxOC0wNC0y
OCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEFkZCBM
YXlvdXRUcmVlQnVpbGRlciBjbGFzcyB0byBnZW5lcmF0ZSB0aGUgbGF5b3V0IHRyZWUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IGE3N2I5NzljYTg1ODZkYTk1
NzdmYmIyMWRkOGU4OGMxYWZhNDU4MWYuLjI4ZDJmNTkxYzJkMmNmOTdjMjRmZTAyNDA5ZDYwYjYy
Yzc2ZjEzZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAt
NDIxLDggKzQyMSw2IEBAIHZvaWQgc2V0Vmlld3BvcnRGZWF0dXJlKFZpZXdwb3J0QXJndW1lbnRz
JiBhcmd1bWVudHMsIERvY3VtZW50JiBkb2N1bWVudCwgU3RyaW5nCiAgICAgICAgIGFyZ3VtZW50
cy5zaHJpbmtUb0ZpdCA9IGZpbmRCb29sZWFuVmFsdWUoZG9jdW1lbnQsIGtleSwgdmFsdWUpOwog
ICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGtleSwgInZpZXdwb3J0
LWZpdCIpICYmIGRvY3VtZW50LnNldHRpbmdzKCkudmlld3BvcnRGaXRFbmFibGVkKCkpCiAgICAg
ICAgIGFyZ3VtZW50cy52aWV3cG9ydEZpdCA9IHBhcnNlVmlld3BvcnRGaXRWYWx1ZShkb2N1bWVu
dCwga2V5LCB2YWx1ZSk7Ci0gICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2Uoa2V5LCAibWluLWRldmljZS13aWR0aCIpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubWluRGV2aWNlV2lkdGhFbmFibGVkKCkpCi0gICAgICAgIGFyZ3VtZW50
cy5taW5EZXZpY2VXaWR0aCA9IG51bWVyaWNQcmVmaXgoZG9jdW1lbnQsIGtleSwgdmFsdWUpOwog
ICAgIGVsc2UKICAgICAgICAgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKGRvY3VtZW50LCBVbnJlY29n
bml6ZWRWaWV3cG9ydEFyZ3VtZW50S2V5RXJyb3IsIGtleSk7CiB9CkBAIC00NzgsNyArNDc2LDcg
QEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgVmlld3BvcnRB
cmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnQKIHsKICAgICBUZXh0U3RyZWFtOjpJbmRlbnRTY29w
ZSBpbmRlbnRTY29wZSh0cyk7CiAKLSAgICB0cyA8PCAiXG4iIDw8IGluZGVudCA8PCAiKHdpZHRo
ICIgPDwgdmlld3BvcnRBcmd1bWVudHMud2lkdGggPDwgIiwgbWluV2lkdGggIiA8PCB2aWV3cG9y
dEFyZ3VtZW50cy5taW5XaWR0aCA8PCAiLCBtYXhXaWR0aCAiIDw8IHZpZXdwb3J0QXJndW1lbnRz
Lm1heFdpZHRoIDw8ICIsIG1pbkRldmljZVdpZHRoICIgPDwgdmlld3BvcnRBcmd1bWVudHMubWlu
RGV2aWNlV2lkdGggPDwgIikiOworICAgIHRzIDw8ICJcbiIgPDwgaW5kZW50IDw8ICIod2lkdGgg
IiA8PCB2aWV3cG9ydEFyZ3VtZW50cy53aWR0aCA8PCAiLCBtaW5XaWR0aCAiIDw8IHZpZXdwb3J0
QXJndW1lbnRzLm1pbldpZHRoIDw8ICIsIG1heFdpZHRoICIgPDwgdmlld3BvcnRBcmd1bWVudHMu
bWF4V2lkdGggPDwgIikiOwogICAgIHRzIDw8ICJcbiIgPDwgaW5kZW50IDw8ICIoaGVpZ2h0ICIg
PDwgdmlld3BvcnRBcmd1bWVudHMuaGVpZ2h0IDw8ICIsIG1pbkhlaWdodCAiIDw8IHZpZXdwb3J0
QXJndW1lbnRzLm1pbkhlaWdodCA8PCAiLCBtYXhIZWlnaHQgIiA8PCB2aWV3cG9ydEFyZ3VtZW50
cy5tYXhIZWlnaHQgPDwgIikiOwogICAgIHRzIDw8ICJcbiIgPDwgaW5kZW50IDw8ICIoem9vbSAi
IDw8IHZpZXdwb3J0QXJndW1lbnRzLnpvb20gPDwgIiwgbWluWm9vbSAiIDw8IHZpZXdwb3J0QXJn
dW1lbnRzLm1pblpvb20gPDwgIiwgbWF4Wm9vbSAiIDw8IHZpZXdwb3J0QXJndW1lbnRzLm1heFpv
b20gPDwgIikiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDRh
OGU4Y2JkZjQzM2NmMzg4NzI0OGE1MjRkNDRhZjEyMmIxNjdhYTUuLjRmMWFmZWEzNDAwMWI4YmJk
OWMyNmZhMjBiMWMxNjdkZTc5NTgyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5oCkBAIC05Myw3ICs5Myw2IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAg
ZmxvYXQgd2lkdGggeyBWYWx1ZUF1dG8gfTsKICAgICBmbG9hdCBtaW5XaWR0aCB7IFZhbHVlQXV0
byB9OwogICAgIGZsb2F0IG1heFdpZHRoIHsgVmFsdWVBdXRvIH07Ci0gICAgZmxvYXQgbWluRGV2
aWNlV2lkdGggeyBWYWx1ZUF1dG8gfTsKICAgICBmbG9hdCBoZWlnaHQgeyBWYWx1ZUF1dG8gfTsK
ICAgICBmbG9hdCBtaW5IZWlnaHQgeyBWYWx1ZUF1dG8gfTsKICAgICBmbG9hdCBtYXhIZWlnaHQg
eyBWYWx1ZUF1dG8gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgKaW5kZXggMjljNDlkMTQ0Yjk3YTI3OTg1OWM5NjhmMTBkMjNiNTEwZGY0YTAzMC4uMmU2
MGIwYzM4ZTU0MTYzNjQ3MjJlYzJiZGNjZjEyOWQ0MTMyYjg4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTI1Myw5ICsyNTMsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRGcm9tT3JpZ2luUmVzcG9uc2VIZWFkZXJFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1fZnJvbU9yaWdpblJlc3BvbnNlSGVhZGVyRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQogICAgIGJvb2wgZnJvbU9yaWdpblJlc3BvbnNlSGVhZGVyRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fZnJvbU9yaWdpblJlc3BvbnNlSGVhZGVyRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRN
aW5EZXZpY2VXaWR0aEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9taW5EZXZpY2VXaWR0aEVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIG1pbkRldmljZVdpZHRoRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluRGV2aWNlV2lkdGhFbmFibGVkOyB9Ci0KICAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgUnVudGltZUVuYWJsZWRGZWF0dXJlcyYgc2hhcmVkRmVhdHVyZXMoKTsKIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmNw
cAppbmRleCA2NDhiOGQzMDdjNzUxN2Q2MDFhNzcwOTA1YjJmMGM4YzQyNTg0MGFjLi4zMTI2ZDlm
N2I5Y2M5M2E0MDYyOTgxYjJhZDllN2RiMTMzZTZiZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwCkBAIC00NSwxMSArNDUsOCBAQCBzdGF0aWMg
Ym9vbCBjb25zdHJhaW50c0FyZUFsbFJlbGF0aXZlKGNvbnN0IFZpZXdwb3J0Q29uZmlndXJhdGlv
bjo6UGFyYW1ldGVycyYgYwogfQogI2VuZGlmCiAKLXN0YXRpYyBmbG9hdCBjb21wdXRlZE1pbkRl
dmljZVdpZHRoKGZsb2F0IG1pbkRldmljZVdpZHRoKQorc3RhdGljIGZsb2F0IHBsYXRmb3JtRGV2
aWNlV2lkdGhPdmVycmlkZSgpCiB7Ci0gICAgaWYgKG1pbkRldmljZVdpZHRoICE9IFZpZXdwb3J0
QXJndW1lbnRzOjpWYWx1ZUF1dG8pCi0gICAgICAgIHJldHVybiBtaW5EZXZpY2VXaWR0aDsKLQog
I2lmIEVOQUJMRShFWFRSQV9aT09NX01PREUpCiAgICAgcmV0dXJuIDMyMDsKICNlbHNlCkBAIC0x
MzUsOSArMTMyLDEwIEBAIEludFNpemUgVmlld3BvcnRDb25maWd1cmF0aW9uOjpsYXlvdXRTaXpl
KCkgY29uc3QKICAgICByZXR1cm4gSW50U2l6ZShsYXlvdXRXaWR0aCgpLCBsYXlvdXRIZWlnaHQo
KSk7CiB9CiAKLWJvb2wgVmlld3BvcnRDb25maWd1cmF0aW9uOjpzaG91bGRPdmVycmlkZURldmlj
ZVdpZHRoV2l0aE1pbkRldmljZVdpZHRoKCkgY29uc3QKK2Jvb2wgVmlld3BvcnRDb25maWd1cmF0
aW9uOjpzaG91bGRPdmVycmlkZURldmljZVdpZHRoQW5kU2hyaW5rVG9GaXQoKSBjb25zdAogewot
ICAgIHJldHVybiBtX3ZpZXdMYXlvdXRTaXplLndpZHRoKCkgPCBjb21wdXRlZE1pbkRldmljZVdp
ZHRoKG1fdmlld3BvcnRBcmd1bWVudHMubWluRGV2aWNlV2lkdGgpOworICAgIGF1dG8gdmlld1dp
ZHRoID0gbV92aWV3TGF5b3V0U2l6ZS53aWR0aCgpOworICAgIHJldHVybiBtX3ZpZXdwb3J0QXJn
dW1lbnRzLnNocmlua1RvRml0ICE9IDAuICYmIDAgPCB2aWV3V2lkdGggJiYgdmlld1dpZHRoIDwg
cGxhdGZvcm1EZXZpY2VXaWR0aE92ZXJyaWRlKCk7CiB9CiAKIGJvb2wgVmlld3BvcnRDb25maWd1
cmF0aW9uOjpzaG91bGRJZ25vcmVIb3Jpem9udGFsU2NhbGluZ0NvbnN0cmFpbnRzKCkgY29uc3QK
QEAgLTE0NSw3ICsxNDMsNyBAQCBib29sIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6c2hvdWxkSWdu
b3JlSG9yaXpvbnRhbFNjYWxpbmdDb25zdHJhaW50cygpIGNvbnN0CiAgICAgaWYgKCFtX2Nhbkln
bm9yZVNjYWxpbmdDb25zdHJhaW50cykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYg
KHNob3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhXaXRoTWluRGV2aWNlV2lkdGgoKSkKKyAgICBpZiAo
c2hvdWxkT3ZlcnJpZGVEZXZpY2VXaWR0aEFuZFNocmlua1RvRml0KCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24uYWxsb3dzU2hyaW5rVG9GaXQpCkBA
IC0xODMsNyArMTgxLDcgQEAgYm9vbCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnNob3VsZElnbm9y
ZVNjYWxpbmdDb25zdHJhaW50cygpIGNvbnN0CiAKIGJvb2wgVmlld3BvcnRDb25maWd1cmF0aW9u
OjpzaG91bGRJZ25vcmVTY2FsaW5nQ29uc3RyYWludHNSZWdhcmRsZXNzT2ZDb250ZW50U2l6ZSgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fY2FuSWdub3JlU2NhbGluZ0NvbnN0cmFpbnRzICYmIHNo
b3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhXaXRoTWluRGV2aWNlV2lkdGgoKTsKKyAgICByZXR1cm4g
bV9jYW5JZ25vcmVTY2FsaW5nQ29uc3RyYWludHMgJiYgc2hvdWxkT3ZlcnJpZGVEZXZpY2VXaWR0
aEFuZFNocmlua1RvRml0KCk7CiB9CiAKIGRvdWJsZSBWaWV3cG9ydENvbmZpZ3VyYXRpb246Omlu
aXRpYWxTY2FsZUZyb21TaXplKGRvdWJsZSB3aWR0aCwgZG91YmxlIGhlaWdodCwgYm9vbCBzaG91
bGRJZ25vcmVTY2FsaW5nQ29uc3RyYWludHMpIGNvbnN0CkBAIC0zNzEsNyArMzY5LDcgQEAgdm9p
ZCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnVwZGF0ZUNvbmZpZ3VyYXRpb24oKQogICAgICAgICBt
X2NvbmZpZ3VyYXRpb24uYWxsb3dzVXNlclNjYWxpbmcgPSBtX3ZpZXdwb3J0QXJndW1lbnRzLnVz
ZXJab29tICE9IDAuOwogCiAgICAgaWYgKGJvb2xlYW5WaWV3cG9ydEFyZ3VtZW50SXNTZXQobV92
aWV3cG9ydEFyZ3VtZW50cy5zaHJpbmtUb0ZpdCkpCi0gICAgICAgIG1fY29uZmlndXJhdGlvbi5h
bGxvd3NTaHJpbmtUb0ZpdCA9IHNob3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhXaXRoTWluRGV2aWNl
V2lkdGgoKSB8fCBtX3ZpZXdwb3J0QXJndW1lbnRzLnNocmlua1RvRml0ICE9IDAuOworICAgICAg
ICBtX2NvbmZpZ3VyYXRpb24uYWxsb3dzU2hyaW5rVG9GaXQgPSBtX3ZpZXdwb3J0QXJndW1lbnRz
LnNocmlua1RvRml0ICE9IDAuOwogCiAgICAgbV9jb25maWd1cmF0aW9uLmF2b2lkc1Vuc2FmZUFy
ZWEgPSBtX3ZpZXdwb3J0QXJndW1lbnRzLnZpZXdwb3J0Rml0ICE9IFZpZXdwb3J0Rml0OjpDb3Zl
cjsKIApAQCAtMzgwLDEyICszNzgsMTIgQEAgdm9pZCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnVw
ZGF0ZUNvbmZpZ3VyYXRpb24oKQogCiB2b2lkIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6dXBkYXRl
TWluaW11bUxheW91dFNpemUoKQogewotICAgIGlmICghbV92aWV3TGF5b3V0U2l6ZS53aWR0aCgp
IHx8ICFzaG91bGRPdmVycmlkZURldmljZVdpZHRoV2l0aE1pbkRldmljZVdpZHRoKCkpIHsKKyAg
ICBpZiAoIXNob3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhBbmRTaHJpbmtUb0ZpdCgpKSB7CiAgICAg
ICAgIG1fbWluaW11bUxheW91dFNpemUgPSBtX3ZpZXdMYXlvdXRTaXplOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgYXV0byBtaW5EZXZpY2VXaWR0aCA9IGNvbXB1dGVkTWluRGV2aWNl
V2lkdGgobV92aWV3cG9ydEFyZ3VtZW50cy5taW5EZXZpY2VXaWR0aCk7CisgICAgZmxvYXQgbWlu
RGV2aWNlV2lkdGggPSBwbGF0Zm9ybURldmljZVdpZHRoT3ZlcnJpZGUoKTsKICAgICBtX21pbmlt
dW1MYXlvdXRTaXplID0gRmxvYXRTaXplKG1pbkRldmljZVdpZHRoLCBzdGQ6OnJvdW5kZihtX3Zp
ZXdMYXlvdXRTaXplLmhlaWdodCgpICogKG1pbkRldmljZVdpZHRoIC8gbV92aWV3TGF5b3V0U2l6
ZS53aWR0aCgpKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdw
b3J0Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaAppbmRleCBiZmYxMDA3Njc3ZjIzNDVjOWE5NTE3YTUyNzY1YWJkMzcwYmFiZDFlLi5m
NzkwY2Y2MGRiODM4ZGQ4YzVjNjc3ZmM5ZmE0OTRhNmZhMWJlZDZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmgKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGlj
OgogICAgIGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiB2aWV3cG9ydEFyZ3VtZW50cygpIGNvbnN0
IHsgcmV0dXJuIG1fdmlld3BvcnRBcmd1bWVudHM7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBib29s
IHNldFZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJik7CiAKLSAgICBi
b29sIHNob3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhXaXRoTWluRGV2aWNlV2lkdGgoKSBjb25zdDsK
KyAgICBib29sIHNob3VsZE92ZXJyaWRlRGV2aWNlV2lkdGhBbmRTaHJpbmtUb0ZpdCgpIGNvbnN0
OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzZXRDYW5JZ25vcmVTY2FsaW5nQ29uc3RyYWlu
dHMoYm9vbCk7CiAgICAgdm9pZCBzZXRGb3JjZUFsd2F5c1VzZXJTY2FsYWJsZShib29sIGZvcmNl
QWx3YXlzVXNlclNjYWxhYmxlKSB7IG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgPSBmb3JjZUFs
d2F5c1VzZXJTY2FsYWJsZTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>