<?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>170291</bug_id>
          
          <creation_ts>2017-03-30 12:23:39 -0700</creation_ts>
          <short_desc>[WK2] Touches should not cancel when showing a custom action sheet while data interaction is active</short_desc>
          <delta_ts>2017-03-31 13:47:09 -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>WebKit2</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>InRadar</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>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1292845</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-30 12:23:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/31301388&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292850</commentid>
    <comment_count>1</comment_count>
      <attachid>305873</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-30 12:34:30 -0700</bug_when>
    <thetext>Created attachment 305873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292918</commentid>
    <comment_count>2</comment_count>
      <attachid>305897</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-30 13:50:56 -0700</bug_when>
    <thetext>Created attachment 305897
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292944</commentid>
    <comment_count>3</comment_count>
      <attachid>305897</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-30 14:33:11 -0700</bug_when>
    <thetext>Comment on attachment 305897
Patch for landing

Clearing flags on attachment: 305897

Committed r214625: &lt;http://trac.webkit.org/changeset/214625&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305873</attachid>
            <date>2017-03-30 12:34:30 -0700</date>
            <delta_ts>2017-03-30 12:58:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170291-20170330123429.patch</filename>
            <type>text/plain</type>
            <size>11712</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjZmZTRiZjYzMzQ3NTA2
ZTA5YjdlOGE5Njc4MDI0MDUyOWY4OWNhZi4uZTdiMmEyNGY4MzhkNjFjOGU4Y2Y1ZDRmMjBiZWJk
ZGNjMDU2NzIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTAzLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFRvdWNo
ZXMgc2hvdWxkIG5vdCBjYW5jZWwgd2hlbiBzaG93aW5nIGEgY3VzdG9tIGFjdGlvbiBzaGVldCB3
aGlsZSBkYXRhIGludGVyYWN0aW9uIGlzIGFjdGl2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MTMwMTM4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDdXJyZW50bHksIHdoZW4gcHJlc2VudGluZyBhIGN1c3RvbSBwb3BvdmVyLCB3ZSB3aWxsIGNh
bmNlbCBhbGwgdG91Y2hlcyBpbiB0aGUgYXBwbGljYXRpb24uIFRoaXMgbWFrZXMgZGF0YQorICAg
ICAgICBpbnRlcmFjdGlvbiB3aGVuIGEgY3VzdG9tIHBvcG92ZXIgaXMgc2hvd24gaW1wb3NzaWJs
ZSAtLSB0byBhZGRyZXNzIHRoaXMsIHdlIHNob3VsZCBvbmx5IGNhbmNlbCB0b3VjaGVzIHdoZW4K
KyAgICAgICAgdGhlIHZpZXcgaXMgbm90IGFuIGFjdGl2ZSBkYXRhIGludGVyYWN0aW9uIHNvdXJj
ZS4KKworICAgICAgICBOZXcgQVBJIHRlc3Q6IERhdGFJbnRlcmFjdGlvblRlc3RzLkN1c3RvbUFj
dGlvblNoZWV0UG9wb3Zlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGFjdGlvblNoZWV0QXNz
aXN0YW50OnNob3dDdXN0b21TaGVldEZvckVsZW1lbnQ6XSk6CisKIDIwMTctMDMtMjcgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gVUlLaXQg
YXNzZXJ0aW9uIHdoZW4gcm90YXRpbmcgZGV2aWNlIGFmdGVyIGRpc21pc3NpbmcgcG9wb3Zlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQppbmRleCBhM2VlNTgwOWQwYjU2NDIxODNjZGYyYWUyZDQ5ZjY2NDU5MTll
NTg3Li43NGIyODY1NDA5MzZlMWY0ZDM5ODBlNTg0NjEyNDgxY2M3MmM3YWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQpAQCAtNDA0NSw4ICs0MDQ1LDE1IEBAIHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlu
cHV0VHlwZShJbnB1dFR5cGUgdHlwZSkKICAgICAKICAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50
OildKSB7CiAgICAgICAgIGlmIChbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBzaG93Q3Vz
dG9tU2hlZXRGb3JFbGVtZW50OmVsZW1lbnRdKSB7Ci0gICAgICAgICAgICAvLyBQcmV2ZW50IHRh
cC1hbmQtaG9sZCBhbmQgZHJhZy4KLSAgICAgICAgICAgIFtVSUFwcCBfY2FuY2VsQWxsVG91Y2hl
c107CisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAgICAgICAgICBCT09MIHNob3Vs
ZENhbmNlbEFsbFRvdWNoZXMgPSAhX2RhdGFJbnRlcmFjdGlvblN0YXRlLnNvdXJjZUFjdGlvbjsK
KyNlbHNlCisgICAgICAgICAgICBCT09MIHNob3VsZENhbmNlbEFsbFRvdWNoZXMgPSBZRVM7Cisj
ZW5kaWYKKyAgICAgICAgICAgIC8vIFByZXZlbnQgdGFwLWFuZC1ob2xkIGFuZCBwYW5uaW5nLgor
ICAgICAgICAgICAgaWYgKHNob3VsZENhbmNlbEFsbFRvdWNoZXMpCisgICAgICAgICAgICAgICAg
W1VJQXBwIF9jYW5jZWxBbGxUb3VjaGVzXTsKKwogICAgICAgICAgICAgcmV0dXJuIFlFUzsKICAg
ICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA2YTk5MTQ2YTRiNTEzYjc1NTZiOGFlMzI3OGU4NmMwODhkZjkzZmFlLi44ZjVl
OTc2NzM1MjFkYzc0Y2QzY2Y3Mzc3OGZlZGFjMjBmMzM4MTA4IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTctMDMt
MzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dL
Ml0gVG91Y2hlcyBzaG91bGQgbm90IGNhbmNlbCB3aGVuIHNob3dpbmcgYSBjdXN0b20gYWN0aW9u
IHNoZWV0IHdoaWxlIGRhdGEgaW50ZXJhY3Rpb24gaXMgYWN0aXZlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzAyOTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMxMzAxMzg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZHMgc3VwcG9ydCBmb3IgdGVzdGluZyBob3cgdGhlIGN1c3RvbSBhY3Rpb24g
c2hlZXQgcHJlc2VudGF0aW9uIGNvZGVwYXRoIGludGVyYWN0cyB3aXRoIGRhdGEgaW50ZXJhY3Rp
b24sIGFzCisgICAgICAgIHdlbGwgYXMgYSBuZXcgdW5pdCB0ZXN0LiBJbiB0aGlzIGNhc2UsIHdl
IGZvcmNlIGRhdGEgaW50ZXJhY3Rpb24gdG8gZmFpbCBpZiB0b3VjaGVzIGFyZSBjYW5jZWxlZCBv
biB0aGUKKyAgICAgICAgc2hhcmVkIFVJQXBwbGljYXRpb24sIGFuZCB2ZXJpZnkgdGhhdCBkYXRh
IGludGVyYWN0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFj
dGlvblNpbXVsYXRvci5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFj
dGlvblNpbXVsYXRvci5tbToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yQXBw
bGljYXRpb24gX2NhbmNlbEFsbFRvdWNoZXNdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIGluaXRXaXRoV2ViVmlldzpdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIHNpbXVsYXRlQWxsVG91Y2hlc0NhbmNlbGVkOl0pOgorICAgICAgICAoLVtEYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgcnVuRnJvbTp0bzpdKToKKyAgICAgICAgKC1bRGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yIF9hZHZhbmNlUHJvZ3Jlc3NdKToKKyAgICAgICAgKC1bRGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yIF93ZWJWaWV3OnNob3dDdXN0b21TaGVldEZvckVsZW1lbnQ6XSk6CisK
IDIwMTctMDMtMjkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTGlua3Mgd2l0aCBlbXB0eSBocmVmcyBzaG91bGQgbm90IGJlIGRyYWcgc291cmNlcwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRGF0YUludGVyYWN0aW9u
VGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25U
ZXN0cy5tbQppbmRleCBjZjllYmJhZGU4NWQzZjZmZGY4ZWU1YmY4YjdmYWM5YTkyNDMxOWY5Li5i
YzVlZmY4Yjk2OTEyMTVlMmJjMjhjNTg5YWVlZWVkNzkyZmM2MTg4IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbQpAQCAt
MzA2LDYgKzMwNiwyNyBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBMaW5rV2l0aEVtcHR5
SFJFRikKICAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IGVkaXRvclZhbHVlXS5VVEY4
U3RyaW5nKTsKIH0KIAorVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgQ3VzdG9tQWN0aW9uU2hl
ZXRQb3BvdmVyKQoreworICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAw
LCAzMjAsIDUwMCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFt
ZWQ6QCJsaW5rLWFuZC10YXJnZXQtZGl2Il07CisKKyAgICBhdXRvIGRhdGFJbnRlcmFjdGlvblNp
bXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRX
aXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ciBzZXRTaG91bGRFbnN1cmVVSUFwcGxpY2F0aW9uOllFU107CisKKyAgICBfX2Jsb2NrIEJPT0wg
ZGlkSW52b2tlQ3VzdG9tQWN0aW9uU2hlZXQgPSBOTzsKKyAgICBbZGF0YUludGVyYWN0aW9uU2lt
dWxhdG9yIHNldFNob3dDdXN0b21BY3Rpb25TaGVldEJsb2NrOl5CT09MKF9XS0FjdGl2YXRlZEVs
ZW1lbnRJbmZvICplbGVtZW50KQorICAgIHsKKyAgICAgICAgRVhQRUNUX0VRKF9XS0FjdGl2YXRl
ZEVsZW1lbnRUeXBlTGluaywgZWxlbWVudC50eXBlKTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVR
KCJIZWxsbyB3b3JsZCIsIGVsZW1lbnQudGl0bGUuVVRGOFN0cmluZyk7CisgICAgICAgIGRpZElu
dm9rZUN1c3RvbUFjdGlvblNoZWV0ID0gWUVTOworICAgICAgICByZXR1cm4gWUVTOworICAgIH1d
OworICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgxMDAs
IDUwKSB0bzpDR1BvaW50TWFrZSgxMDAsIDMwMCldOworICAgIEVYUEVDVF9UUlVFKGRpZEludm9r
ZUN1c3RvbUFjdGlvblNoZWV0KTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIlBBU1MiLCBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidGFyZ2V0LnRleHRDb250ZW50Il0uVVRG
OFN0cmluZyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8v
IEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lv
cy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IuaAppbmRleCAxZDVkMWI0N2E3MzcyZTBkM2YyOGZj
YmI0M2FhN2FmZDk4ZTdmMjY5Li5mYTExMGE2ZGY3ZThiMjcxMzlkZWM0OWQ2MWIwZDRiYzUyNDYy
N2NhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3IuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3IuaApAQCAtNjcsNiArNjcsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBE
YXRhSW50ZXJhY3Rpb25QaGFzZSkgewogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoV2ViVmlldzoo
VGVzdFdLV2ViVmlldyAqKXdlYlZpZXc7CiAtICh2b2lkKXJ1bkZyb206KENHUG9pbnQpc3RhcnRM
b2NhdGlvbiB0bzooQ0dQb2ludCllbmRMb2NhdGlvbjsKIAorQHByb3BlcnR5IChub25hdG9taWMp
IEJPT0wgc2hvdWxkRW5zdXJlVUlBcHBsaWNhdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBC
bG9ja1B0cjxCT09MKF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopPiBzaG93Q3VzdG9tQWN0aW9u
U2hlZXRCbG9jazsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCbG9ja1B0cjxOU0FycmF5ICooTlNB
cnJheSAqKT4gY29udmVydEl0ZW1Qcm92aWRlcnNCbG9jazsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIFVJSXRlbVByb3ZpZGVyICpleHRlcm5hbEl0ZW1Qcm92aWRlcjsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNBcnJheSAqb2JzZXJ2ZWRFdmVudE5hbWVzOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLm1t
CmluZGV4IDk3ZTFmZGIxYTJmZWMxMTgxOGE3NTI0YTk4ZTM4MzQyZTRlZDg3MDEuLjEzZjRhMGJm
YTg1ZmE4ZDY2MDUyZGJmOGMxNWUzYTdmZTBkMTRlMzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IubW0KQEAgLTI4LDExICsyOCwx
NiBAQAogCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiAKKyNpbXBvcnQgIkluc3RhbmNl
TWV0aG9kU3dpenpsZXIuaCIKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0
IDxVSUtpdC9VSUl0ZW1Qcm92aWRlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1NvZnRM
aW5raW5nLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogCitTT0ZUX0xJTktfRlJBTUVXT1JLKFVJS2l0KQorU09GVF9MSU5L
KFVJS2l0LCBVSUFwcGxpY2F0aW9uSW5zdGFudGlhdGVTaW5nbGV0b24sIHZvaWQsIChDbGFzcyBz
aW5nbGV0b25DbGFzcyksIChzaW5nbGV0b25DbGFzcykpCisKIHVzaW5nIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJOwogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19oYXNfaW5jbHVk
ZSg8V2ViS2l0QWRkaXRpb25zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvckFkZGl0aW9ucy5tbT4p
CkBAIC00MSw2ICs0Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJOwogCiBzdGF0
aWMgZG91YmxlIHByb2dyZXNzSW5jcmVtZW50U3RlcCA9IDAuMDMzOwogc3RhdGljIGRvdWJsZSBw
cm9ncmVzc1RpbWVTdGVwID0gMC4wMTY7CitzdGF0aWMgTlNTdHJpbmcgKlRlc3RXZWJLaXRBUElT
aW11bGF0ZUNhbmNlbEFsbFRvdWNoZXNOb3RpZmljYXRpb25OYW1lID0gQCJUZXN0V2ViS2l0QVBJ
U2ltdWxhdGVDYW5jZWxBbGxUb3VjaGVzTm90aWZpY2F0aW9uTmFtZSI7CiAKIHN0YXRpYyBOU0Fy
cmF5ICpkYXRhSW50ZXJhY3Rpb25FdmVudE5hbWVzKCkKIHsKQEAgLTUyLDEyICs1OCwyMyBAQCBz
dGF0aWMgTlNBcnJheSAqZGF0YUludGVyYWN0aW9uRXZlbnROYW1lcygpCiAgICAgcmV0dXJuIGV2
ZW50TmFtZXM7CiB9CiAKK0BpbnRlcmZhY2UgRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yQXBwbGlj
YXRpb24gOiBVSUFwcGxpY2F0aW9uCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBEYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3JBcHBsaWNhdGlvbgorLSAodm9pZClfY2FuY2VsQWxsVG91Y2hlcworewor
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlmaWNhdGlv
bk5hbWU6VGVzdFdlYktpdEFQSVNpbXVsYXRlQ2FuY2VsQWxsVG91Y2hlc05vdGlmaWNhdGlvbk5h
bWUgb2JqZWN0Om5pbF07Cit9CitAZW5kCisKIEBpbXBsZW1lbnRhdGlvbiBEYXRhSW50ZXJhY3Rp
b25TaW11bGF0b3IKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoV2ViVmlldzooVGVzdFdLV2Vi
VmlldyAqKXdlYlZpZXcKIHsKICAgICBpZiAoc2VsZiA9IFtzdXBlciBpbml0XSkgewogICAgICAg
ICBfd2ViVmlldyA9IHdlYlZpZXc7CisgICAgICAgIF9zaG91bGRFbnN1cmVVSUFwcGxpY2F0aW9u
ID0gTk87CiAgICAgICAgIFtfd2ViVmlldyBfc2V0VGVzdGluZ0RlbGVnYXRlOnNlbGZdOwogICAg
ICAgICBbX3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpzZWxmXTsKICAgICB9CkBAIC05MSw4ICsxMDgs
MjQgQEAgc3RhdGljIE5TQXJyYXkgKmRhdGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKQogICAgIHJl
dHVybiBfb2JzZXJ2ZWRFdmVudE5hbWVzLmdldCgpOwogfQogCistICh2b2lkKXNpbXVsYXRlQWxs
VG91Y2hlc0NhbmNlbGVkOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgoreworICAgIFtO
U09iamVjdCBjYW5jZWxQcmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBzZWxl
Y3RvcjpAc2VsZWN0b3IoX2FkdmFuY2VQcm9ncmVzcykgb2JqZWN0Om5pbF07CisgICAgX3BoYXNl
ID0gRGF0YUludGVyYWN0aW9uQ2FuY2VsbGVkOworICAgIF9jdXJyZW50UHJvZ3Jlc3MgPSAxOwor
ICAgIF9pc0RvbmVXaXRoQ3VycmVudFJ1biA9IHRydWU7CisgICAgaWYgKF9kYXRhSW50ZXJhY3Rp
b25TZXNzaW9uKQorICAgICAgICBbX3dlYlZpZXcgX3NpbXVsYXRlRGF0YUludGVyYWN0aW9uU2Vz
c2lvbkRpZEVuZDpfZGF0YUludGVyYWN0aW9uU2Vzc2lvbi5nZXQoKV07Cit9CisKIC0gKHZvaWQp
cnVuRnJvbTooQ0dQb2ludClzdGFydExvY2F0aW9uIHRvOihDR1BvaW50KWVuZExvY2F0aW9uCiB7
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1bHRDZW50ZXIgPSBbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2RlZmF1bHRDZW50ZXIgYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Ioc2ltdWxhdGVBbGxUb3VjaGVzQ2FuY2VsZWQ6KSBuYW1l
OlRlc3RXZWJLaXRBUElTaW11bGF0ZUNhbmNlbEFsbFRvdWNoZXNOb3RpZmljYXRpb25OYW1lIG9i
amVjdDpuaWxdOworCisgICAgaWYgKF9zaG91bGRFbnN1cmVVSUFwcGxpY2F0aW9uKQorICAgICAg
ICBVSUFwcGxpY2F0aW9uSW5zdGFudGlhdGVTaW5nbGV0b24oW0RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvckFwcGxpY2F0aW9uIGNsYXNzXSk7CisKICAgICBbc2VsZiBfcmVzZXRTaW11bGF0ZWRTdGF0
ZV07CiAKICAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yPiBzdHJvbmdTZWxm
ID0gc2VsZjsKQEAgLTExNSw2ICsxNDgsOSBAQCBzdGF0aWMgTlNBcnJheSAqZGF0YUludGVyYWN0
aW9uRXZlbnROYW1lcygpCiAgICAgICAgIFtfZGF0YUludGVyYWN0aW9uU2Vzc2lvbiBzZXRNb2Nr
TG9jYXRpb25JbldpbmRvdzpfc3RhcnRMb2NhdGlvbl07CiAgICAgICAgIFtfd2ViVmlldyBfc2lt
dWxhdGVQcmVwYXJlRm9yRGF0YUludGVyYWN0aW9uU2Vzc2lvbjpfZGF0YUludGVyYWN0aW9uU2Vz
c2lvbi5nZXQoKSBjb21wbGV0aW9uOl4oKSB7CiAgICAgICAgICAgICBEYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3IgKndlYWtTZWxmID0gc3Ryb25nU2VsZi5nZXQoKTsKKyAgICAgICAgICAgIGlmICh3
ZWFrU2VsZi0+X3BoYXNlID09IERhdGFJbnRlcmFjdGlvbkNhbmNlbGxlZCkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgICAgIHdlYWtTZWxmLT5fcGhhc2UgPSBEYXRhSW50ZXJh
Y3Rpb25CZWdpbm5pbmc7CiAgICAgICAgICAgICBbd2Vha1NlbGYgX2FkdmFuY2VQcm9ncmVzc107
CiAgICAgICAgIH1dOwpAQCAtMTIzLDYgKzE1OSw4IEBAIHN0YXRpYyBOU0FycmF5ICpkYXRhSW50
ZXJhY3Rpb25FdmVudE5hbWVzKCkKICAgICBVdGlsOjpydW4oJl9pc0RvbmVXaXRoQ3VycmVudFJ1
bik7CiAgICAgW193ZWJWaWV3IGNsZWFyTWVzc2FnZUhhbmRsZXJzOmRhdGFJbnRlcmFjdGlvbkV2
ZW50TmFtZXMoKV07CiAgICAgX2ZpbmFsU2VsZWN0aW9uUmVjdHMgPSBbX3dlYlZpZXcgc2VsZWN0
aW9uUmVjdHNBZnRlclByZXNlbnRhdGlvblVwZGF0ZV07CisKKyAgICBbZGVmYXVsdENlbnRlciBy
ZW1vdmVPYnNlcnZlcjpzZWxmXTsKIH0KIAogLSAoTlNBcnJheSAqKWZpbmFsU2VsZWN0aW9uUmVj
dHMKQEAgLTE1OSwxNyArMTk3LDE1IEBAIHN0YXRpYyBOU0FycmF5ICpkYXRhSW50ZXJhY3Rpb25F
dmVudE5hbWVzKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0jaWYgSEFTX0RB
VEFfSU5URVJBQ1RJT05fSVRFTVMKICAgICAgICAgZm9yIChXS0RhdGFJbnRlcmFjdGlvbkl0ZW0g
Kml0ZW0gaW4gaXRlbXMpCiAgICAgICAgICAgICBbaXRlbVByb3ZpZGVycyBhZGRPYmplY3Q6aXRl
bS5pdGVtUHJvdmlkZXJdOwotI2VuZGlmCiAKICAgICAgICAgX2RhdGFPcGVyYXRpb25TZXNzaW9u
ID0gYWRvcHROUyhbW01vY2tEYXRhT3BlcmF0aW9uU2Vzc2lvbiBhbGxvY10gaW5pdFdpdGhQcm92
aWRlcjppdGVtUHJvdmlkZXJzLmZpcnN0T2JqZWN0IGxvY2F0aW9uOnNlbGYuX2N1cnJlbnRMb2Nh
dGlvbiB3aW5kb3c6W193ZWJWaWV3IHdpbmRvd11dKTsKLSNpZiBIQVNfREFUQV9JTlRFUkFDVElP
Tl9JVEVNUwogICAgICAgICBbX2RhdGFJbnRlcmFjdGlvblNlc3Npb24gc2V0SXRlbXM6aXRlbXNd
OwotI2VuZGlmCi0gICAgICAgIFtfd2ViVmlldyBfc2ltdWxhdGVXaWxsQmVnaW5EYXRhSW50ZXJh
Y3Rpb25XaXRoU2Vzc2lvbjpfZGF0YUludGVyYWN0aW9uU2Vzc2lvbi5nZXQoKV07Ci0gICAgICAg
IF9waGFzZSA9IERhdGFJbnRlcmFjdGlvbkJlZ2FuOworICAgICAgICBpZiAoIXNlbGYuc2hvd0N1
c3RvbUFjdGlvblNoZWV0QmxvY2spIHsKKyAgICAgICAgICAgIFtfd2ViVmlldyBfc2ltdWxhdGVX
aWxsQmVnaW5EYXRhSW50ZXJhY3Rpb25XaXRoU2Vzc2lvbjpfZGF0YUludGVyYWN0aW9uU2Vzc2lv
bi5nZXQoKV07CisgICAgICAgICAgICBfcGhhc2UgPSBEYXRhSW50ZXJhY3Rpb25CZWdhbjsKKyAg
ICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBEYXRhSW50ZXJhY3Rpb25C
ZWdhbjoKQEAgLTIyOCw2ICsyNjQsMjEgQEAgc3RhdGljIE5TQXJyYXkgKmRhdGFJbnRlcmFjdGlv
bkV2ZW50TmFtZXMoKQogICAgIHJldHVybiBzZWxmLmNvbnZlcnRJdGVtUHJvdmlkZXJzQmxvY2sg
PyBzZWxmLmNvbnZlcnRJdGVtUHJvdmlkZXJzQmxvY2sob3JpZ2luYWxJdGVtUHJvdmlkZXJzKSA6
IG9yaWdpbmFsSXRlbVByb3ZpZGVyczsKIH0KIAorLSAoQk9PTClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50OihfV0tBY3RpdmF0ZWRFbGVtZW50
SW5mbyAqKWVsZW1lbnQKK3sKKyAgICBpZiAoIXNlbGYuc2hvd0N1c3RvbUFjdGlvblNoZWV0Qmxv
Y2spCisgICAgICAgIHJldHVybiBOTzsKKworICAgIFJldGFpblB0cjxEYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3I+IHN0cm9uZ1NlbGYgPSBzZWxmOworICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCksIF4oKSB7CisgICAgICAgIERhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ciAqd2Vha1NlbGYgPSBzdHJvbmdTZWxmLmdldCgpOworICAgICAgICBbd2Vha1NlbGYtPl93ZWJW
aWV3IF9zaW11bGF0ZVdpbGxCZWdpbkRhdGFJbnRlcmFjdGlvbldpdGhTZXNzaW9uOndlYWtTZWxm
LT5fZGF0YUludGVyYWN0aW9uU2Vzc2lvbi5nZXQoKV07CisgICAgICAgIHdlYWtTZWxmLT5fcGhh
c2UgPSBEYXRhSW50ZXJhY3Rpb25CZWdhbjsKKyAgICB9KTsKKworICAgIHJldHVybiBzZWxmLnNo
b3dDdXN0b21BY3Rpb25TaGVldEJsb2NrKGVsZW1lbnQpOworfQorCiBAZW5kCiAKICNlbmRpZiAv
LyBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikK
</data>
<flag name="review"
          id="327273"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305897</attachid>
            <date>2017-03-30 13:50:56 -0700</date>
            <delta_ts>2017-03-30 14:33:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-170291-20170330135055.patch</filename>
            <type>text/plain</type>
            <size>19994</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTZlNDMxOWRhNTRlZDEw
YTRmNzIyMjIyNGMxNjAxMTA1ZDQzN2QyNi4uNzljNGEzNDRjNzVmZWUyODcyMTU3NGRlZDY3Mzlh
N2JlNGNiNmUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTAzLTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFRvdWNo
ZXMgc2hvdWxkIG5vdCBjYW5jZWwgd2hlbiBzaG93aW5nIGEgY3VzdG9tIGFjdGlvbiBzaGVldCB3
aGlsZSBkYXRhIGludGVyYWN0aW9uIGlzIGFjdGl2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MTMwMTM4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEN1
cnJlbnRseSwgd2hlbiBwcmVzZW50aW5nIGEgY3VzdG9tIHBvcG92ZXIsIHdlIHdpbGwgY2FuY2Vs
IGFsbCB0b3VjaGVzIGluIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBtYWtlcyBkYXRhCisgICAgICAg
IGludGVyYWN0aW9uIHdoZW4gYSBjdXN0b20gcG9wb3ZlciBpcyBzaG93biBpbXBvc3NpYmxlIC0t
IHRvIGFkZHJlc3MgdGhpcywgd2Ugc2hvdWxkIG9ubHkgY2FuY2VsIHRvdWNoZXMgd2hlbgorICAg
ICAgICB0aGUgdmlldyBpcyBub3QgYW4gYWN0aXZlIGRhdGEgaW50ZXJhY3Rpb24gc291cmNlLgor
CisgICAgICAgIE5ldyBBUEkgdGVzdDogRGF0YUludGVyYWN0aW9uVGVzdHMuQ3VzdG9tQWN0aW9u
U2hlZXRQb3BvdmVyLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgYWN0aW9uU2hlZXRBc3Npc3Rh
bnQ6c2hvd0N1c3RvbVNoZWV0Rm9yRWxlbWVudDpdKToKKwogMjAxNy0wMy0zMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3Mgc2hvdWxkIHN0b3Agd2ViIHNvY2tldHMgd2hlbiBiZWluZyBkZXN0cm95ZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KaW5kZXggYTNlZTU4MDlkMGI1NjQyMTgzY2RmMmFlMmQ0OWY2NjQ1OTE5ZTU4
Ny4uNzRiMjg2NTQwOTM2ZTFmNGQzOTgwZTU4NDYxMjQ4MWNjNzJjN2FjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KQEAgLTQwNDUsOCArNDA0NSwxNSBAQCBzdGF0aWMgYm9vbCBpc0Fzc2lzdGFibGVJbnB1
dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAgICAgCiAgICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6c2hvd0N1c3RvbVNoZWV0Rm9yRWxlbWVudDop
XSkgewogICAgICAgICBpZiAoW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgc2hvd0N1c3Rv
bVNoZWV0Rm9yRWxlbWVudDplbGVtZW50XSkgewotICAgICAgICAgICAgLy8gUHJldmVudCB0YXAt
YW5kLWhvbGQgYW5kIGRyYWcuCi0gICAgICAgICAgICBbVUlBcHAgX2NhbmNlbEFsbFRvdWNoZXNd
OworI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgICAgICAgICAgQk9PTCBzaG91bGRD
YW5jZWxBbGxUb3VjaGVzID0gIV9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5zb3VyY2VBY3Rpb247Cisj
ZWxzZQorICAgICAgICAgICAgQk9PTCBzaG91bGRDYW5jZWxBbGxUb3VjaGVzID0gWUVTOworI2Vu
ZGlmCisgICAgICAgICAgICAvLyBQcmV2ZW50IHRhcC1hbmQtaG9sZCBhbmQgcGFubmluZy4KKyAg
ICAgICAgICAgIGlmIChzaG91bGRDYW5jZWxBbGxUb3VjaGVzKQorICAgICAgICAgICAgICAgIFtV
SUFwcCBfY2FuY2VsQWxsVG91Y2hlc107CisKICAgICAgICAgICAgIHJldHVybiBZRVM7CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggN2NhYzIzMmI4NTZlMWRlYTQ0OWY0NTBiMDZiOTU2ZDM1YjVmMzU0YS4uYmEzNGQ0
NmVlNWIzN2M4ZmQ3YTczNDk4ZDc2MjM4ZmYwNDM3ZTczZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAzLTMw
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJd
IFRvdWNoZXMgc2hvdWxkIG5vdCBjYW5jZWwgd2hlbiBzaG93aW5nIGEgY3VzdG9tIGFjdGlvbiBz
aGVldCB3aGlsZSBkYXRhIGludGVyYWN0aW9uIGlzIGFjdGl2ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjkxCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zMTMwMTM4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAg
ICAgIEFkZHMgc3VwcG9ydCBmb3IgdGVzdGluZyBob3cgdGhlIGN1c3RvbSBhY3Rpb24gc2hlZXQg
cHJlc2VudGF0aW9uIGNvZGVwYXRoIGludGVyYWN0cyB3aXRoIGRhdGEgaW50ZXJhY3Rpb24sIGFz
CisgICAgICAgIHdlbGwgYXMgYSBuZXcgdW5pdCB0ZXN0LiBJbiB0aGlzIGNhc2UsIHdlIGZvcmNl
IGRhdGEgaW50ZXJhY3Rpb24gdG8gZmFpbCBpZiB0b3VjaGVzIGFyZSBjYW5jZWxlZCBvbiB0aGUK
KyAgICAgICAgc2hhcmVkIFVJQXBwbGljYXRpb24sIGFuZCB2ZXJpZnkgdGhhdCBkYXRhIGludGVy
YWN0aW9uIGNvbXBsZXRlcyBzdWNjZXNzZnVsbHkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNp
bXVsYXRvci5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNp
bXVsYXRvci5tbToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yQXBwbGljYXRp
b24gX2NhbmNlbEFsbFRvdWNoZXNdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIGluaXRXaXRoV2ViVmlldzpdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIHNpbXVsYXRlQWxsVG91Y2hlc0NhbmNlbGVkOl0pOgorICAgICAgICAoLVtEYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3IgcnVuRnJvbTp0bzpdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIF9hZHZhbmNlUHJvZ3Jlc3NdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIF93ZWJWaWV3OnNob3dDdXN0b21TaGVldEZvckVsZW1lbnQ6XSk6CisKIDIwMTct
MDMtMzAgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIENo
YW5nZSBteSBzdGF0dXMgdG8gYmUgYSBXZWJLaXQgcmV2aWV3ZXIuCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCmluZGV4IGNm
OWViYmFkZTg1ZDNmNmZkZjhlZTViZjhiN2ZhYzlhOTI0MzE5ZjkuLjg4YjVjYWQwNTcwNDNkYzg5
OWNjOWMzYmNhZmJhNGJkMWM5MDFhZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCkBAIC01NSw2ICs1NSwxMyBAQCBz
dGF0aWMgTlNWYWx1ZSAqbWFrZUNHUmVjdFZhbHVlKENHRmxvYXQgeCwgQ0dGbG9hdCB5LCBDR0Zs
b2F0IHdpZHRoLCBDR0Zsb2F0IGhlaQogICAgIHJldHVybiBbTlNWYWx1ZSB2YWx1ZVdpdGhDR1Jl
Y3Q6Q0dSZWN0TWFrZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KV07CiB9CiAKK3N0YXRpYyB2b2lkIGNo
ZWNrU2VsZWN0aW9uUmVjdHNXaXRoTG9nZ2luZyhOU0FycmF5ICpleHBlY3RlZCwgTlNBcnJheSAq
b2JzZXJ2ZWQpCit7CisgICAgaWYgKCFbZXhwZWN0ZWQgaXNFcXVhbFRvQXJyYXk6b2JzZXJ2ZWRd
KQorICAgICAgICBOU0xvZyhAIkV4cGVjdGVkIHNlbGVjdGlvbiByZWN0czogJUAgYnV0IG9ic2Vy
dmVkOiAlQCIsIGV4cGVjdGVkLCBvYnNlcnZlZCk7CisgICAgRVhQRUNUX1RSVUUoW2V4cGVjdGVk
IGlzRXF1YWxUb0FycmF5Om9ic2VydmVkXSk7Cit9CisKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
IHsKIAogVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgSW1hZ2VUb0NvbnRlbnRFZGl0YWJsZSkK
QEAgLTcxLDcgKzc4LDcgQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgSW1hZ2VUb0NvbnRl
bnRFZGl0YWJsZSkKICAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5z
T2JqZWN0OkRhdGFJbnRlcmFjdGlvbkVudGVyRXZlbnROYW1lXSk7CiAgICAgRVhQRUNUX1RSVUUo
W29ic2VydmVkRXZlbnROYW1lcyBjb250YWluc09iamVjdDpEYXRhSW50ZXJhY3Rpb25PdmVyRXZl
bnROYW1lXSk7CiAgICAgRVhQRUNUX1RSVUUoW29ic2VydmVkRXZlbnROYW1lcyBjb250YWluc09i
amVjdDpEYXRhSW50ZXJhY3Rpb25QZXJmb3JtT3BlcmF0aW9uRXZlbnROYW1lXSk7Ci0gICAgRVhQ
RUNUX1RSVUUoW1tkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25SZWN0c10g
aXNFcXVhbFRvQXJyYXk6QFsgbWFrZUNHUmVjdFZhbHVlKDEsIDIwMSwgMjE1LCAxNzQpIF1dKTsK
KyAgICBjaGVja1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgbWFrZUNHUmVjdFZhbHVlKDEs
IDIwMSwgMjE1LCAxNzQpIF0sIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rp
b25SZWN0c10pOwogfQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBJbWFnZVRvVGV4dGFy
ZWEpCkBAIC05MSw3ICs5OCw3IEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIEltYWdlVG9U
ZXh0YXJlYSkKICAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2Jq
ZWN0OkRhdGFJbnRlcmFjdGlvblBlcmZvcm1PcGVyYXRpb25FdmVudE5hbWVdKTsKIAogICAgIE5T
QXJyYXkgKmV4cGVjdGVkU2VsZWN0aW9uUmVjdHMgPSBbTlNBcnJheSBhcnJheVdpdGhPYmplY3Rz
Om1ha2VDR1JlY3RWYWx1ZSg2LCAyMDMsIDE4OCwgMTQpLCBtYWtlQ0dSZWN0VmFsdWUoNiwgMjE3
LCAxODgsIDE0KSwgbWFrZUNHUmVjdFZhbHVlKDYsIDIzMSwgNjYsIDE0KSwgbmlsXTsKLSAgICBF
WFBFQ1RfVFJVRShbW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBmaW5hbFNlbGVjdGlvblJlY3Rz
XSBpc0VxdWFsVG9BcnJheTpleHBlY3RlZFNlbGVjdGlvblJlY3RzXSk7CisgICAgY2hlY2tTZWxl
Y3Rpb25SZWN0c1dpdGhMb2dnaW5nKGV4cGVjdGVkU2VsZWN0aW9uUmVjdHMsIFtkYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25SZWN0c10pOwogfQogCiBURVNUKERhdGFJbnRl
cmFjdGlvblRlc3RzLCBDb250ZW50RWRpdGFibGVUb0NvbnRlbnRFZGl0YWJsZSkKQEAgLTEwOSw3
ICsxMTYsNyBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBDb250ZW50RWRpdGFibGVUb0Nv
bnRlbnRFZGl0YWJsZSkKICAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRh
aW5zT2JqZWN0OkRhdGFJbnRlcmFjdGlvbkVudGVyRXZlbnROYW1lXSk7CiAgICAgRVhQRUNUX1RS
VUUoW29ic2VydmVkRXZlbnROYW1lcyBjb250YWluc09iamVjdDpEYXRhSW50ZXJhY3Rpb25PdmVy
RXZlbnROYW1lXSk7CiAgICAgRVhQRUNUX1RSVUUoW29ic2VydmVkRXZlbnROYW1lcyBjb250YWlu
c09iamVjdDpEYXRhSW50ZXJhY3Rpb25QZXJmb3JtT3BlcmF0aW9uRXZlbnROYW1lXSk7Ci0gICAg
RVhQRUNUX1RSVUUoW1tkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25SZWN0
c10gaXNFcXVhbFRvQXJyYXk6QFsgbWFrZUNHUmVjdFZhbHVlKDEsIDIwMSwgOTYxLCAyMjcpIF1d
KTsKKyAgICBjaGVja1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgbWFrZUNHUmVjdFZhbHVl
KDEsIDIwMSwgOTYxLCAyMjcpIF0sIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxl
Y3Rpb25SZWN0c10pOwogfQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBDb250ZW50RWRp
dGFibGVUb1RleHRhcmVhKQpAQCAtMTI3LDcgKzEzNCw3IEBAIFRFU1QoRGF0YUludGVyYWN0aW9u
VGVzdHMsIENvbnRlbnRFZGl0YWJsZVRvVGV4dGFyZWEpCiAgICAgRVhQRUNUX1RSVUUoW29ic2Vy
dmVkRXZlbnROYW1lcyBjb250YWluc09iamVjdDpEYXRhSW50ZXJhY3Rpb25FbnRlckV2ZW50TmFt
ZV0pOwogICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlZEV2ZW50TmFtZXMgY29udGFpbnNPYmplY3Q6
RGF0YUludGVyYWN0aW9uT3ZlckV2ZW50TmFtZV0pOwogICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZl
ZEV2ZW50TmFtZXMgY29udGFpbnNPYmplY3Q6RGF0YUludGVyYWN0aW9uUGVyZm9ybU9wZXJhdGlv
bkV2ZW50TmFtZV0pOwotICAgIEVYUEVDVF9UUlVFKFtbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
IGZpbmFsU2VsZWN0aW9uUmVjdHNdIGlzRXF1YWxUb0FycmF5OkBbIG1ha2VDR1JlY3RWYWx1ZSg2
LCAyMDMsIDk5MCwgMjMyKSBdXSk7CisgICAgY2hlY2tTZWxlY3Rpb25SZWN0c1dpdGhMb2dnaW5n
KEBbIG1ha2VDR1JlY3RWYWx1ZSg2LCAyMDMsIDk5MCwgMjMyKSBdLCBbZGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIGZpbmFsU2VsZWN0aW9uUmVjdHNdKTsKIH0KIAogVEVTVChEYXRhSW50ZXJhY3Rp
b25UZXN0cywgTGlua1RvSW5wdXQpCkBAIC0xMzgsMTMgKzE0NSwxMyBAQCBURVNUKERhdGFJbnRl
cmFjdGlvblRlc3RzLCBMaW5rVG9JbnB1dCkKICAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwog
ICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgxMDAsIDUw
KSB0bzpDR1BvaW50TWFrZSgxMDAsIDMwMCldOwogCi0gICAgRVhQRUNUX1dLX1NUUkVRKCJodHRw
czovL3d3dy5kYXJpbmdmaXJlYmFsbC5uZXQvIiwgW3dlYlZpZXcgZWRpdG9yVmFsdWVdLlVURjhT
dHJpbmcpOworICAgIEVYUEVDVF9XS19TVFJFUSgiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsIFt3
ZWJWaWV3IGVkaXRvclZhbHVlXS5VVEY4U3RyaW5nKTsKIAogICAgIE5TQXJyYXkgKm9ic2VydmVk
RXZlbnROYW1lcyA9IFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Igb2JzZXJ2ZWRFdmVudE5hbWVz
XTsKICAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2JqZWN0OkRh
dGFJbnRlcmFjdGlvbkVudGVyRXZlbnROYW1lXSk7CiAgICAgRVhQRUNUX1RSVUUoW29ic2VydmVk
RXZlbnROYW1lcyBjb250YWluc09iamVjdDpEYXRhSW50ZXJhY3Rpb25PdmVyRXZlbnROYW1lXSk7
CiAgICAgRVhQRUNUX1RSVUUoW29ic2VydmVkRXZlbnROYW1lcyBjb250YWluc09iamVjdDpEYXRh
SW50ZXJhY3Rpb25QZXJmb3JtT3BlcmF0aW9uRXZlbnROYW1lXSk7Ci0gICAgRVhQRUNUX1RSVUUo
W1tkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25SZWN0c10gaXNFcXVhbFRv
QXJyYXk6QFsgbWFrZUNHUmVjdFZhbHVlKDEwMSwgMjczLCAyNjEzLCAyMzIpIF1dKTsKKyAgICBj
aGVja1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgbWFrZUNHUmVjdFZhbHVlKDEwMSwgMjcz
LCAyMDU3LCAyMzIpIF0sIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25S
ZWN0c10pOwogfQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBCYWNrZ3JvdW5kSW1hZ2VM
aW5rVG9JbnB1dCkKQEAgLTE1NSwxMyArMTYyLDEzIEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVz
dHMsIEJhY2tncm91bmRJbWFnZUxpbmtUb0lucHV0KQogICAgIFJldGFpblB0cjxEYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3I+IGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgp
XSk7CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9tOkNHUG9pbnRNYWtlKDEw
MCwgNTApIHRvOkNHUG9pbnRNYWtlKDEwMCwgMzAwKV07CiAKLSAgICBFWFBFQ1RfV0tfU1RSRVEo
Imh0dHBzOi8vd3d3LmRhcmluZ2ZpcmViYWxsLm5ldC8iLCBbd2ViVmlldyBlZGl0b3JWYWx1ZV0u
VVRGOFN0cmluZyk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwgW3dlYlZpZXcgZWRpdG9yVmFsdWVdLlVURjhTdHJpbmcpOwogCiAgICAgTlNBcnJheSAqb2Jz
ZXJ2ZWRFdmVudE5hbWVzID0gW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBvYnNlcnZlZEV2ZW50
TmFtZXNdOwogICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlZEV2ZW50TmFtZXMgY29udGFpbnNPYmpl
Y3Q6RGF0YUludGVyYWN0aW9uRW50ZXJFdmVudE5hbWVdKTsKICAgICBFWFBFQ1RfVFJVRShbb2Jz
ZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2JqZWN0OkRhdGFJbnRlcmFjdGlvbk92ZXJFdmVudE5h
bWVdKTsKICAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2JqZWN0
OkRhdGFJbnRlcmFjdGlvblBlcmZvcm1PcGVyYXRpb25FdmVudE5hbWVdKTsKLSAgICBFWFBFQ1Rf
VFJVRShbW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBmaW5hbFNlbGVjdGlvblJlY3RzXSBpc0Vx
dWFsVG9BcnJheTpAWyBtYWtlQ0dSZWN0VmFsdWUoMTAxLCAyNDEsIDI2MTMsIDIzMikgXV0pOwor
ICAgIGNoZWNrU2VsZWN0aW9uUmVjdHNXaXRoTG9nZ2luZyhAWyBtYWtlQ0dSZWN0VmFsdWUoMTAx
LCAyNDEsIDIwNTcsIDIzMikgXSwgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBmaW5hbFNlbGVj
dGlvblJlY3RzXSk7CiB9CiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIENhblByZXZlbnRT
dGFydCkKQEAgLTE3OCw3ICsxODUsNyBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBDYW5Q
cmV2ZW50U3RhcnQpCiAgICAgTlNBcnJheSAqb2JzZXJ2ZWRFdmVudE5hbWVzID0gW2RhdGFJbnRl
cmFjdGlvblNpbXVsYXRvciBvYnNlcnZlZEV2ZW50TmFtZXNdOwogICAgIEVYUEVDVF9GQUxTRShb
b2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2JqZWN0OkRhdGFJbnRlcmFjdGlvbkVudGVyRXZl
bnROYW1lXSk7CiAgICAgRVhQRUNUX0ZBTFNFKFtvYnNlcnZlZEV2ZW50TmFtZXMgY29udGFpbnNP
YmplY3Q6RGF0YUludGVyYWN0aW9uT3ZlckV2ZW50TmFtZV0pOwotICAgIEVYUEVDVF9UUlVFKFtb
ZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGZpbmFsU2VsZWN0aW9uUmVjdHNdIGlzRXF1YWxUb0Fy
cmF5OkBbIF1dKTsKKyAgICBjaGVja1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgXSwgW2Rh
dGFJbnRlcmFjdGlvblNpbXVsYXRvciBmaW5hbFNlbGVjdGlvblJlY3RzXSk7CiB9CiAKIFRFU1Qo
RGF0YUludGVyYWN0aW9uVGVzdHMsIENhblByZXZlbnRPcGVyYXRpb24pCkBAIC0xOTQsNyArMjAx
LDcgQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgQ2FuUHJldmVudE9wZXJhdGlvbikKICAg
ICBOU0FycmF5ICpvYnNlcnZlZEV2ZW50TmFtZXMgPSBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
IG9ic2VydmVkRXZlbnROYW1lc107CiAgICAgRVhQRUNUX1RSVUUoW29ic2VydmVkRXZlbnROYW1l
cyBjb250YWluc09iamVjdDpEYXRhSW50ZXJhY3Rpb25FbnRlckV2ZW50TmFtZV0pOwogICAgIEVY
UEVDVF9UUlVFKFtvYnNlcnZlZEV2ZW50TmFtZXMgY29udGFpbnNPYmplY3Q6RGF0YUludGVyYWN0
aW9uT3ZlckV2ZW50TmFtZV0pOwotICAgIEVYUEVDVF9UUlVFKFtbZGF0YUludGVyYWN0aW9uU2lt
dWxhdG9yIGZpbmFsU2VsZWN0aW9uUmVjdHNdIGlzRXF1YWxUb0FycmF5OkBbIF1dKTsKKyAgICBj
aGVja1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgXSwgW2RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciBmaW5hbFNlbGVjdGlvblJlY3RzXSk7CiB9CiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVz
dHMsIEVudGVyQW5kTGVhdmVFdmVudHMpCkBAIC0yMTIsNyArMjE5LDcgQEAgVEVTVChEYXRhSW50
ZXJhY3Rpb25UZXN0cywgRW50ZXJBbmRMZWF2ZUV2ZW50cykKICAgICBFWFBFQ1RfVFJVRShbb2Jz
ZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2JqZWN0OkRhdGFJbnRlcmFjdGlvbk92ZXJFdmVudE5h
bWVdKTsKICAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZWRFdmVudE5hbWVzIGNvbnRhaW5zT2JqZWN0
OkRhdGFJbnRlcmFjdGlvbkxlYXZlRXZlbnROYW1lXSk7CiAgICAgRVhQRUNUX0ZBTFNFKFtvYnNl
cnZlZEV2ZW50TmFtZXMgY29udGFpbnNPYmplY3Q6RGF0YUludGVyYWN0aW9uUGVyZm9ybU9wZXJh
dGlvbkV2ZW50TmFtZV0pOwotICAgIEVYUEVDVF9UUlVFKFtbZGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIGZpbmFsU2VsZWN0aW9uUmVjdHNdIGlzRXF1YWxUb0FycmF5OkBbIF1dKTsKKyAgICBjaGVj
a1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgXSwgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ciBmaW5hbFNlbGVjdGlvblJlY3RzXSk7CiB9CiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMs
IEV4dGVybmFsU291cmNlVVRGOFBsYWluVGV4dE9ubHkpCkBAIC0yMzEsNyArMjM4LDcgQEAgVEVT
VChEYXRhSW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VVVEY4UGxhaW5UZXh0T25seSkK
ICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHNldEV4dGVybmFsSXRlbVByb3ZpZGVyOnNp
bXVsYXRlZEl0ZW1Qcm92aWRlci5nZXQoKV07CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ciBydW5Gcm9tOkNHUG9pbnRNYWtlKDMwMCwgNDAwKSB0bzpDR1BvaW50TWFrZSgxMDAsIDMwMCld
OwogICAgIEVYUEVDVF9XS19TVFJFUSh0ZXh0UGF5bG9hZC5VVEY4U3RyaW5nLCBbd2ViVmlldyBz
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZWRpdG9yLnRleHRDb250ZW50Il0uVVRGOFN0
cmluZyk7Ci0gICAgRVhQRUNUX1RSVUUoW1tkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxT
ZWxlY3Rpb25SZWN0c10gaXNFcXVhbFRvQXJyYXk6QFsgbWFrZUNHUmVjdFZhbHVlKDEsIDIwMSwg
MTkzNiwgMjI3KSBdXSk7CisgICAgY2hlY2tTZWxlY3Rpb25SZWN0c1dpdGhMb2dnaW5nKEBbIG1h
a2VDR1JlY3RWYWx1ZSgxLCAyMDEsIDE5MzYsIDIyNykgXSwgW2RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciBmaW5hbFNlbGVjdGlvblJlY3RzXSk7CiB9CiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVz
dHMsIEV4dGVybmFsU291cmNlSlBFR09ubHkpCkBAIC0yNTAsNyArMjU3LDcgQEAgVEVTVChEYXRh
SW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VKUEVHT25seSkKICAgICBbZGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yIHNldEV4dGVybmFsSXRlbVByb3ZpZGVyOnNpbXVsYXRlZEl0ZW1Qcm92
aWRlci5nZXQoKV07CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9tOkNHUG9p
bnRNYWtlKDMwMCwgNDAwKSB0bzpDR1BvaW50TWFrZSgxMDAsIDMwMCldOwogICAgIEVYUEVDVF9U
UlVFKFt3ZWJWaWV3IGVkaXRvckNvbnRhaW5zSW1hZ2VFbGVtZW50XSk7Ci0gICAgRVhQRUNUX1RS
VUUoW1tkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25SZWN0c10gaXNFcXVh
bFRvQXJyYXk6QFsgbWFrZUNHUmVjdFZhbHVlKDEsIDIwMSwgMjE1LCAxNzQpIF1dKTsKKyAgICBj
aGVja1NlbGVjdGlvblJlY3RzV2l0aExvZ2dpbmcoQFsgbWFrZUNHUmVjdFZhbHVlKDEsIDIwMSwg
MjE1LCAxNzQpIF0sIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgZmluYWxTZWxlY3Rpb25SZWN0
c10pOwogfQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBBdHRhY2htZW50RWxlbWVudEl0
ZW1Qcm92aWRlcnMpCkBAIC0zMDYsNiArMzEzLDI3IEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVz
dHMsIExpbmtXaXRoRW1wdHlIUkVGKQogICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcg
ZWRpdG9yVmFsdWVdLlVURjhTdHJpbmcpOwogfQogCitURVNUKERhdGFJbnRlcmFjdGlvblRlc3Rz
LCBDdXN0b21BY3Rpb25TaGVldFBvcG92ZXIpCit7CisgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZp
ZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAImxpbmstYW5kLXRhcmdldC1kaXYiXTsKKworICAgIGF1dG8g
ZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKKyAgICBbZGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yIHNldFNob3VsZEVuc3VyZVVJQXBwbGljYXRpb246WUVTXTsKKwor
ICAgIF9fYmxvY2sgQk9PTCBkaWRJbnZva2VDdXN0b21BY3Rpb25TaGVldCA9IE5POworICAgIFtk
YXRhSW50ZXJhY3Rpb25TaW11bGF0b3Igc2V0U2hvd0N1c3RvbUFjdGlvblNoZWV0QmxvY2s6XkJP
T0woX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKmVsZW1lbnQpCisgICAgeworICAgICAgICBFWFBF
Q1RfRVEoX1dLQWN0aXZhdGVkRWxlbWVudFR5cGVMaW5rLCBlbGVtZW50LnR5cGUpOworICAgICAg
ICBFWFBFQ1RfV0tfU1RSRVEoIkhlbGxvIHdvcmxkIiwgZWxlbWVudC50aXRsZS5VVEY4U3RyaW5n
KTsKKyAgICAgICAgZGlkSW52b2tlQ3VzdG9tQWN0aW9uU2hlZXQgPSBZRVM7CisgICAgICAgIHJl
dHVybiBZRVM7CisgICAgfV07CisgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9t
OkNHUG9pbnRNYWtlKDEwMCwgNTApIHRvOkNHUG9pbnRNYWtlKDEwMCwgMzAwKV07CisgICAgRVhQ
RUNUX1RSVUUoZGlkSW52b2tlQ3VzdG9tQWN0aW9uU2hlZXQpOworICAgIEVYUEVDVF9XS19TVFJF
USgiUEFTUyIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0YXJnZXQu
dGV4dENvbnRlbnQiXS5VVEY4U3RyaW5nKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQogCiAjZW5kaWYgLy8gRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IuaCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oCmluZGV4IDFkNWQx
YjQ3YTczNzJlMGQzZjI4ZmNiYjQzYWE3YWZkOThlN2YyNjkuLmZhMTEwYTZkZjdlOGIyNzEzOWRl
YzQ5ZDYxYjBkNGJjNTI0NjI3Y2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9z
L0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9z
L0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oCkBAIC02Nyw2ICs2Nyw4IEBAIHR5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIERhdGFJbnRlcmFjdGlvblBoYXNlKSB7CiAtIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhXZWJWaWV3OihUZXN0V0tXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQpcnVuRnJv
bTooQ0dQb2ludClzdGFydExvY2F0aW9uIHRvOihDR1BvaW50KWVuZExvY2F0aW9uOwogCitAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBzaG91bGRFbnN1cmVVSUFwcGxpY2F0aW9uOworQHByb3Bl
cnR5IChub25hdG9taWMpIEJsb2NrUHRyPEJPT0woX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKik+
IHNob3dDdXN0b21BY3Rpb25TaGVldEJsb2NrOwogQHByb3BlcnR5IChub25hdG9taWMpIEJsb2Nr
UHRyPE5TQXJyYXkgKihOU0FycmF5ICopPiBjb252ZXJ0SXRlbVByb3ZpZGVyc0Jsb2NrOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgVUlJdGVtUHJvdmlkZXIgKmV4dGVybmFsSXRlbVBy
b3ZpZGVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0FycmF5ICpvYnNlcnZl
ZEV2ZW50TmFtZXM7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50
ZXJhY3Rpb25TaW11bGF0b3IubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3IubW0KaW5kZXggOTdlMWZkYjFhMmZlYzExODE4YTc1MjRhOThlMzgzNDJl
NGVkODcwMS4uMTNmNGEwYmZhODVmYThkNjYwNTJkYmY4YzE1ZTNhN2ZlMGQxNGUzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5t
bQpAQCAtMjgsMTEgKzI4LDE2IEBACiAKICNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKIAor
I2ltcG9ydCAiSW5zdGFuY2VNZXRob2RTd2l6emxlci5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGls
aXRpZXMuaCIKICNpbXBvcnQgPFVJS2l0L1VJSXRlbVByb3ZpZGVyX1ByaXZhdGUuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2
YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKK1NPRlRfTElOS19GUkFNRVdPUkso
VUlLaXQpCitTT0ZUX0xJTksoVUlLaXQsIFVJQXBwbGljYXRpb25JbnN0YW50aWF0ZVNpbmdsZXRv
biwgdm9pZCwgKENsYXNzIHNpbmdsZXRvbkNsYXNzKSwgKHNpbmdsZXRvbkNsYXNzKSkKKwogdXNp
bmcgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEk7CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KSAmJiBfX2hhc19pbmNsdWRlKDxXZWJLaXRBZGRpdGlvbnMvRGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yQWRkaXRpb25zLm1tPikKQEAgLTQxLDYgKzQ2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEk7CiAKIHN0YXRpYyBkb3VibGUgcHJvZ3Jlc3NJbmNyZW1lbnRTdGVwID0gMC4wMzM7
CiBzdGF0aWMgZG91YmxlIHByb2dyZXNzVGltZVN0ZXAgPSAwLjAxNjsKK3N0YXRpYyBOU1N0cmlu
ZyAqVGVzdFdlYktpdEFQSVNpbXVsYXRlQ2FuY2VsQWxsVG91Y2hlc05vdGlmaWNhdGlvbk5hbWUg
PSBAIlRlc3RXZWJLaXRBUElTaW11bGF0ZUNhbmNlbEFsbFRvdWNoZXNOb3RpZmljYXRpb25OYW1l
IjsKIAogc3RhdGljIE5TQXJyYXkgKmRhdGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKQogewpAQCAt
NTIsMTIgKzU4LDIzIEBAIHN0YXRpYyBOU0FycmF5ICpkYXRhSW50ZXJhY3Rpb25FdmVudE5hbWVz
KCkKICAgICByZXR1cm4gZXZlbnROYW1lczsKIH0KIAorQGludGVyZmFjZSBEYXRhSW50ZXJhY3Rp
b25TaW11bGF0b3JBcHBsaWNhdGlvbiA6IFVJQXBwbGljYXRpb24KK0BlbmQKKworQGltcGxlbWVu
dGF0aW9uIERhdGFJbnRlcmFjdGlvblNpbXVsYXRvckFwcGxpY2F0aW9uCistICh2b2lkKV9jYW5j
ZWxBbGxUb3VjaGVzCit7CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpUZXN0V2ViS2l0QVBJU2ltdWxhdGVDYW5jZWxBbGxUb3Vj
aGVzTm90aWZpY2F0aW9uTmFtZSBvYmplY3Q6bmlsXTsKK30KK0BlbmQKKwogQGltcGxlbWVudGF0
aW9uIERhdGFJbnRlcmFjdGlvblNpbXVsYXRvcgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhX
ZWJWaWV3OihUZXN0V0tXZWJWaWV3ICopd2ViVmlldwogewogICAgIGlmIChzZWxmID0gW3N1cGVy
IGluaXRdKSB7CiAgICAgICAgIF93ZWJWaWV3ID0gd2ViVmlldzsKKyAgICAgICAgX3Nob3VsZEVu
c3VyZVVJQXBwbGljYXRpb24gPSBOTzsKICAgICAgICAgW193ZWJWaWV3IF9zZXRUZXN0aW5nRGVs
ZWdhdGU6c2VsZl07CiAgICAgICAgIFtfd2ViVmlldyBzZXRVSURlbGVnYXRlOnNlbGZdOwogICAg
IH0KQEAgLTkxLDggKzEwOCwyNCBAQCBzdGF0aWMgTlNBcnJheSAqZGF0YUludGVyYWN0aW9uRXZl
bnROYW1lcygpCiAgICAgcmV0dXJuIF9vYnNlcnZlZEV2ZW50TmFtZXMuZ2V0KCk7CiB9CiAKKy0g
KHZvaWQpc2ltdWxhdGVBbGxUb3VjaGVzQ2FuY2VsZWQ6KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCit7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0
aFRhcmdldDpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYWR2YW5jZVByb2dyZXNzKSBvYmplY3Q6
bmlsXTsKKyAgICBfcGhhc2UgPSBEYXRhSW50ZXJhY3Rpb25DYW5jZWxsZWQ7CisgICAgX2N1cnJl
bnRQcm9ncmVzcyA9IDE7CisgICAgX2lzRG9uZVdpdGhDdXJyZW50UnVuID0gdHJ1ZTsKKyAgICBp
ZiAoX2RhdGFJbnRlcmFjdGlvblNlc3Npb24pCisgICAgICAgIFtfd2ViVmlldyBfc2ltdWxhdGVE
YXRhSW50ZXJhY3Rpb25TZXNzaW9uRGlkRW5kOl9kYXRhSW50ZXJhY3Rpb25TZXNzaW9uLmdldCgp
XTsKK30KKwogLSAodm9pZClydW5Gcm9tOihDR1BvaW50KXN0YXJ0TG9jYXRpb24gdG86KENHUG9p
bnQpZW5kTG9jYXRpb24KIHsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqZGVmYXVsdENlbnRl
ciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbZGVmYXVsdENl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihzaW11bGF0ZUFsbFRvdWNo
ZXNDYW5jZWxlZDopIG5hbWU6VGVzdFdlYktpdEFQSVNpbXVsYXRlQ2FuY2VsQWxsVG91Y2hlc05v
dGlmaWNhdGlvbk5hbWUgb2JqZWN0Om5pbF07CisKKyAgICBpZiAoX3Nob3VsZEVuc3VyZVVJQXBw
bGljYXRpb24pCisgICAgICAgIFVJQXBwbGljYXRpb25JbnN0YW50aWF0ZVNpbmdsZXRvbihbRGF0
YUludGVyYWN0aW9uU2ltdWxhdG9yQXBwbGljYXRpb24gY2xhc3NdKTsKKwogICAgIFtzZWxmIF9y
ZXNldFNpbXVsYXRlZFN0YXRlXTsKIAogICAgIFJldGFpblB0cjxEYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3I+IHN0cm9uZ1NlbGYgPSBzZWxmOwpAQCAtMTE1LDYgKzE0OCw5IEBAIHN0YXRpYyBOU0Fy
cmF5ICpkYXRhSW50ZXJhY3Rpb25FdmVudE5hbWVzKCkKICAgICAgICAgW19kYXRhSW50ZXJhY3Rp
b25TZXNzaW9uIHNldE1vY2tMb2NhdGlvbkluV2luZG93Ol9zdGFydExvY2F0aW9uXTsKICAgICAg
ICAgW193ZWJWaWV3IF9zaW11bGF0ZVByZXBhcmVGb3JEYXRhSW50ZXJhY3Rpb25TZXNzaW9uOl9k
YXRhSW50ZXJhY3Rpb25TZXNzaW9uLmdldCgpIGNvbXBsZXRpb246XigpIHsKICAgICAgICAgICAg
IERhdGFJbnRlcmFjdGlvblNpbXVsYXRvciAqd2Vha1NlbGYgPSBzdHJvbmdTZWxmLmdldCgpOwor
ICAgICAgICAgICAgaWYgKHdlYWtTZWxmLT5fcGhhc2UgPT0gRGF0YUludGVyYWN0aW9uQ2FuY2Vs
bGVkKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICAgICAgd2Vha1NlbGYtPl9w
aGFzZSA9IERhdGFJbnRlcmFjdGlvbkJlZ2lubmluZzsKICAgICAgICAgICAgIFt3ZWFrU2VsZiBf
YWR2YW5jZVByb2dyZXNzXTsKICAgICAgICAgfV07CkBAIC0xMjMsNiArMTU5LDggQEAgc3RhdGlj
IE5TQXJyYXkgKmRhdGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKQogICAgIFV0aWw6OnJ1bigmX2lz
RG9uZVdpdGhDdXJyZW50UnVuKTsKICAgICBbX3dlYlZpZXcgY2xlYXJNZXNzYWdlSGFuZGxlcnM6
ZGF0YUludGVyYWN0aW9uRXZlbnROYW1lcygpXTsKICAgICBfZmluYWxTZWxlY3Rpb25SZWN0cyA9
IFtfd2ViVmlldyBzZWxlY3Rpb25SZWN0c0FmdGVyUHJlc2VudGF0aW9uVXBkYXRlXTsKKworICAg
IFtkZWZhdWx0Q2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGZdOwogfQogCiAtIChOU0FycmF5ICop
ZmluYWxTZWxlY3Rpb25SZWN0cwpAQCAtMTU5LDE3ICsxOTcsMTUgQEAgc3RhdGljIE5TQXJyYXkg
KmRhdGFJbnRlcmFjdGlvbkV2ZW50TmFtZXMoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKLSNpZiBIQVNfREFUQV9JTlRFUkFDVElPTl9JVEVNUwogICAgICAgICBmb3IgKFdLRGF0
YUludGVyYWN0aW9uSXRlbSAqaXRlbSBpbiBpdGVtcykKICAgICAgICAgICAgIFtpdGVtUHJvdmlk
ZXJzIGFkZE9iamVjdDppdGVtLml0ZW1Qcm92aWRlcl07Ci0jZW5kaWYKIAogICAgICAgICBfZGF0
YU9wZXJhdGlvblNlc3Npb24gPSBhZG9wdE5TKFtbTW9ja0RhdGFPcGVyYXRpb25TZXNzaW9uIGFs
bG9jXSBpbml0V2l0aFByb3ZpZGVyOml0ZW1Qcm92aWRlcnMuZmlyc3RPYmplY3QgbG9jYXRpb246
c2VsZi5fY3VycmVudExvY2F0aW9uIHdpbmRvdzpbX3dlYlZpZXcgd2luZG93XV0pOwotI2lmIEhB
U19EQVRBX0lOVEVSQUNUSU9OX0lURU1TCiAgICAgICAgIFtfZGF0YUludGVyYWN0aW9uU2Vzc2lv
biBzZXRJdGVtczppdGVtc107Ci0jZW5kaWYKLSAgICAgICAgW193ZWJWaWV3IF9zaW11bGF0ZVdp
bGxCZWdpbkRhdGFJbnRlcmFjdGlvbldpdGhTZXNzaW9uOl9kYXRhSW50ZXJhY3Rpb25TZXNzaW9u
LmdldCgpXTsKLSAgICAgICAgX3BoYXNlID0gRGF0YUludGVyYWN0aW9uQmVnYW47CisgICAgICAg
IGlmICghc2VsZi5zaG93Q3VzdG9tQWN0aW9uU2hlZXRCbG9jaykgeworICAgICAgICAgICAgW193
ZWJWaWV3IF9zaW11bGF0ZVdpbGxCZWdpbkRhdGFJbnRlcmFjdGlvbldpdGhTZXNzaW9uOl9kYXRh
SW50ZXJhY3Rpb25TZXNzaW9uLmdldCgpXTsKKyAgICAgICAgICAgIF9waGFzZSA9IERhdGFJbnRl
cmFjdGlvbkJlZ2FuOworICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNl
IERhdGFJbnRlcmFjdGlvbkJlZ2FuOgpAQCAtMjI4LDYgKzI2NCwyMSBAQCBzdGF0aWMgTlNBcnJh
eSAqZGF0YUludGVyYWN0aW9uRXZlbnROYW1lcygpCiAgICAgcmV0dXJuIHNlbGYuY29udmVydEl0
ZW1Qcm92aWRlcnNCbG9jayA/IHNlbGYuY29udmVydEl0ZW1Qcm92aWRlcnNCbG9jayhvcmlnaW5h
bEl0ZW1Qcm92aWRlcnMpIDogb3JpZ2luYWxJdGVtUHJvdmlkZXJzOwogfQogCistIChCT09MKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3dDdXN0b21TaGVldEZvckVsZW1lbnQ6KF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudAoreworICAgIGlmICghc2VsZi5zaG93Q3Vz
dG9tQWN0aW9uU2hlZXRCbG9jaykKKyAgICAgICAgcmV0dXJuIE5POworCisgICAgUmV0YWluUHRy
PERhdGFJbnRlcmFjdGlvblNpbXVsYXRvcj4gc3Ryb25nU2VsZiA9IHNlbGY7CisgICAgZGlzcGF0
Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXigpIHsKKyAgICAgICAgRGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yICp3ZWFrU2VsZiA9IHN0cm9uZ1NlbGYuZ2V0KCk7CisgICAgICAg
IFt3ZWFrU2VsZi0+X3dlYlZpZXcgX3NpbXVsYXRlV2lsbEJlZ2luRGF0YUludGVyYWN0aW9uV2l0
aFNlc3Npb246d2Vha1NlbGYtPl9kYXRhSW50ZXJhY3Rpb25TZXNzaW9uLmdldCgpXTsKKyAgICAg
ICAgd2Vha1NlbGYtPl9waGFzZSA9IERhdGFJbnRlcmFjdGlvbkJlZ2FuOworICAgIH0pOworCisg
ICAgcmV0dXJuIHNlbGYuc2hvd0N1c3RvbUFjdGlvblNoZWV0QmxvY2soZWxlbWVudCk7Cit9CisK
IEBlbmQKIAogI2VuZGlmIC8vIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>