<?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>192745</bug_id>
          
          <creation_ts>2018-12-15 18:33:24 -0800</creation_ts>
          <short_desc>[iOS] Focusing a large editable element always scrolls to the top of the element</short_desc>
          <delta_ts>2018-12-17 20:04:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1488337</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-15 18:33:24 -0800</bug_when>
    <thetext>This behavior is undesirable in scenarios where the editable element too large to be centered in the viewport. Currently, we scroll such that the top of the element is aligned with the top of the viewport, but this can result in unnecessary scrolling if the top of the element is already in view, and near the top of the viewport.

In particular, when WKScrollView has a top content inset and has content inside the inset area, this means that tapping to focus an element at (0, 0) in the document always causes the web view to scroll away content in the top inset area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488341</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-15 20:16:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/46758445&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488385</commentid>
    <comment_count>2</comment_count>
      <attachid>357424</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-16 18:21:30 -0800</bug_when>
    <thetext>Created attachment 357424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488386</commentid>
    <comment_count>3</comment_count>
      <attachid>357425</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-12-16 19:12:23 -0800</bug_when>
    <thetext>Created attachment 357425
Fix iOS open source builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488739</commentid>
    <comment_count>4</comment_count>
      <attachid>357425</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-17 20:04:53 -0800</bug_when>
    <thetext>Comment on attachment 357425
Fix iOS open source builds

Clearing flags on attachment: 357425

Committed r239314: &lt;https://trac.webkit.org/changeset/239314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488740</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-17 20:04:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357424</attachid>
            <date>2018-12-16 18:21:30 -0800</date>
            <delta_ts>2018-12-16 19:12:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192745-20181216182129.patch</filename>
            <type>text/plain</type>
            <size>18290</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcxZTE1MmUxMGU3NDM1Mzc0
YmI1YjU5NzdkNDM3ZTZkYjc5YTYyYTMuLjI5ZGIzZmFmNzc3MDA0MDZlM2ZiZWJlNjdlMjM4YzVl
NjhiN2RiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTgtMTItMTYgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRm9jdXNpbmcg
YSBsYXJnZSBlZGl0YWJsZSBlbGVtZW50IGFsd2F5cyBzY3JvbGxzIHRvIHRoZSB0b3Agb2YgdGhl
IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mjc0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3NTg0NDU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB3aGVuIGZvY3Vz
aW5nIGZvcm0gY29udHJvbHMgb3IgZWRpdGFibGUgZWxlbWVudHMsIHdlIHRyeSB0byBzY3JvbGwg
c3VjaCB0aGF0IHRoZSBmb2N1c2VkIGVsZW1lbnQgcmVjdAorICAgICAgICBpcyBjZW50ZXJlZCB3
aXRoaW4gdGhlIHZpc2libGUgYXJlYS4gSW4gdGhlIGNhc2Ugb2YgdmVyeSBsYXJnZSBmb2N1c2Fi
bGUgZWxlbWVudHMgd2hvc2UgZGltZW5zaW9ucyBleGNlZWQgdGhlCisgICAgICAgIHdpZHRoIG9y
IGhlaWdodCBvZiB0aGUgdmlzaWJsZSBhcmVhLCB3ZSBpbnN0ZWFkIHNjcm9sbCBzdWNoIHRoYXQg
dGhlIHRvcCBsZWZ0IHBvaW50IG9mIHRoZSBlbGVtZW50IGlzIGF0IHRoZSB0b3AKKyAgICAgICAg
bGVmdCBjb3JuZXIgb2YgdGhlIHZpc2libGUgYXJlYS4KKworICAgICAgICBIb3dldmVyLCB0aGlz
IHJlc3VsdHMgaW4gdW5uZWNlc3Nhcnkgc2Nyb2xsaW5nIGlmIHRoZSB0b3Agb2YgdGhlIGVsZW1l
bnQgaXMgYWxyZWFkeSBuZWFyIHRoZSB0b3Agb2YgdGhlIHZpc2libGUKKyAgICAgICAgYXJlYS4g
Rm9yIFdlYktpdDItYmFzZWQgcmljaCB0ZXh0IGVkaXRvcnMgdGhhdCBoYXZlIGFuIGVkaXRhYmxl
IGJvZHkgZWxlbWVudCB3aXRoIGEgdG9wIGNvbnRlbnQgaW5zZXQgdGhhdAorICAgICAgICBjb250
YWlucyBhZGRpdGlvbmFsIGNvbnRlbnQsIHRoaXMgbWVhbnMgd2Ugd2lsbCBhbHdheXMgc2Nyb2xs
IHRoZSBhZGRpdGlvbmFsIGNvbnRlbnQgYXdheSB3aGVuIGZvY3VzaW5nIHRoZQorICAgICAgICBl
ZGl0YWJsZSBib2R5LgorCisgICAgICAgIFRvIGF2b2lkIHRoaXMgYmVoYXZpb3IsIGFkanVzdCBm
b2N1c2VkIGVsZW1lbnQgem9vbWluZyBsb2dpYyBmb3IgZWRpdGFibGUgZWxlbWVudHMgdGhhdCBh
cmUgdG9vIGxhcmdlIHRvIGJlCisgICAgICAgIGNlbnRlcmVkIGluIHRoZSB2aXNpYmxlIGFyZWEs
IHN1Y2ggdGhhdCB3ZSBvbmx5IHNjcm9sbCB0aGUgdG9wIGxlZnQgcG9zaXRpb24gb2YgdGhlIGZv
Y3VzZWQgZWxlbWVudCB0byB0aGUgdG9wCisgICAgICAgIGhhbGYgb3IgdG9wIHJpZ2h0IG9mIHRo
ZSB2aXNpYmxlIGFyZWEsIHJlc3BlY3RpdmVseS4gVGhpcyByZWR1Y2VzIHRoZSBhbW91bnQgb2Yg
c2Nyb2xsaW5nIHdoZW4gZm9jdXNpbmcgbGFyZ2UKKyAgICAgICAgZWRpdGFibGUgZWxlbWVudHMs
IHdoaWxlIHN0aWxsIG1ha2luZyBpdCBjbGVhciB3aGljaCBlbGVtZW50IGlzIGJlaW5nIGZvY3Vz
ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF96b29tVG9Gb2N1c1JlY3Q6c2VsZWN0aW9uUmVjdDppbnNpZGVGaXhl
ZDpmb250U2l6ZTptaW5pbXVtU2NhbGU6bWF4aW11bVNjYWxlOmFsbG93U2NhbGluZzpmb3JjZVNj
cm9sbDpdKToKKworICAgICAgICBNYWtlIHNvbWUgc21hbGwgYWRqdXN0bWVudHMgdG8gaW1wcm92
ZSB0aGUgcmVhZGFiaWxpdHkgb2YgdGhpcyBtZXRob2QgYnkgdXNpbmcgYGNsYW1wVG9gIGluc3Rl
YWQgb2YgY2xhbXBpbmcKKyAgICAgICAgdmFsdWVzIGJ5IGNvbXBhcmluZyBhbmQgc2V0dGluZyB2
YWx1ZXMuCisKKyAgICAgICAgQWxzbywgZml4IGFuIGV4aXN0aW5nIGJ1ZyB3aGVyZWluIGZvY3Vz
YWJsZSBlbGVtZW50cyB0aGF0IGFyZSBtZWFudCB0byBiZSBjZW50ZXJlZCB3aXRoaW4gdGhlIHZp
c2libGUgYXJlYSBhcmUKKyAgICAgICAgY3VycmVudGx5IG9mZnNldCBieSBoYWxmIHRoZSBkaWZm
ZXJlbmNlIGJldHdlZW4gdGhlIGJvdHRvbSBpbnNldCBhbW91bnQgYW5kIHRoZSB0b3AgaW5zZXQg
YW1vdW50LCBpbiB0aGUgY2FzZQorICAgICAgICB3aGVyZSB0aGUgYF9vYnNjdXJlZEluc2V0c2Ag
U1BJIGlzIHVzZWQgdG8gc3BlY2lmeSBjb250ZW50IGluc2V0cyBmb3IgdGhlIHdlYiB2aWV3IChp
LmUuLCBNb2JpbGVTYWZhcmkpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdJbnRlcm5hbC5oOgorCisgICAgICAgIE1ha2UgYSBjb3VwbGUgb2YgYXJndW1lbnRzIGBj
b25zdCBGbG9hdFJlY3QmYCBpbnN0ZWFkIG9mIGp1c3QgYEZsb2F0UmVjdGAuCisKIDIwMTgtMTIt
MTYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDog
U3VwcG9ydCBrZXlib2FyZCBhY2Nlc3MgcHJlZmVyZW5jZSBmb3IgaU9TIGluIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmEy
MDQ4ZWFiYWFiNjhjZDczMzgyNWM2NGY4YjkyMGZhYjk2NDQxZS4uMjI5ODNmYzUyMjFhNzExYTA4
NGI4ZWUwMjJmNjNiZTY0ZjAyNjUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMjI1LDcgKzIyMjUsNyBAQCAtICh2b2lkKV96b29t
VG9Jbml0aWFsU2NhbGVXaXRoT3JpZ2luOihXZWJDb3JlOjpGbG9hdFBvaW50KW9yaWdpbiBhbmlt
YXRlZDooQk9PTAogfQogCiAvLyBmb2N1c2VkRWxlbWVudFJlY3QgYW5kIHNlbGVjdGlvblJlY3Qg
YXJlIGJvdGggaW4gZG9jdW1lbnQgY29vcmRpbmF0ZXMuCi0tICh2b2lkKV96b29tVG9Gb2N1c1Jl
Y3Q6KFdlYkNvcmU6OkZsb2F0UmVjdClmb2N1c2VkRWxlbWVudFJlY3RJbkRvY3VtZW50Q29vcmRp
bmF0ZXMgc2VsZWN0aW9uUmVjdDooV2ViQ29yZTo6RmxvYXRSZWN0KXNlbGVjdGlvblJlY3RJbkRv
Y3VtZW50Q29vcmRpbmF0ZXMgaW5zaWRlRml4ZWQ6KEJPT0wpaW5zaWRlRml4ZWQKKy0gKHZvaWQp
X3pvb21Ub0ZvY3VzUmVjdDooY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jilmb2N1c2VkRWxlbWVu
dFJlY3RJbkRvY3VtZW50Q29vcmRpbmF0ZXMgc2VsZWN0aW9uUmVjdDooY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JilzZWxlY3Rpb25SZWN0SW5Eb2N1bWVudENvb3JkaW5hdGVzIGluc2lkZUZpeGVk
OihCT09MKWluc2lkZUZpeGVkCiAgICAgZm9udFNpemU6KGZsb2F0KWZvbnRTaXplIG1pbmltdW1T
Y2FsZTooZG91YmxlKW1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6KGRvdWJsZSltYXhpbXVtU2Nh
bGUgYWxsb3dTY2FsaW5nOihCT09MKWFsbG93U2NhbGluZyBmb3JjZVNjcm9sbDooQk9PTClmb3Jj
ZVNjcm9sbAogewogICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAi
X3pvb21Ub0ZvY3VzUmVjdDoiIDw8IGZvY3VzZWRFbGVtZW50UmVjdEluRG9jdW1lbnRDb29yZGlu
YXRlcyA8PCAiIHNlbGVjdGlvblJlY3Q6IiA8PCBzZWxlY3Rpb25SZWN0SW5Eb2N1bWVudENvb3Jk
aW5hdGVzKTsKQEAgLTIzMDUsNTMgKzIzMDUsODUgQEAgLSAodm9pZClfem9vbVRvRm9jdXNSZWN0
OihXZWJDb3JlOjpGbG9hdFJlY3QpZm9jdXNlZEVsZW1lbnRSZWN0SW5Eb2N1bWVudENvb3JkaW4K
ICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBXZSB3YW50IHRvIHpvb20gdG8g
dGhlIGxlZnQvdG9wIGNvcm5lciBvZiB0aGUgRE9NIG5vZGUsIHdpdGggYXMgbXVjaCBzcGFjaW5n
IG9uIGFsbCBzaWRlcyBhcyB3ZQotICAgIC8vIGNhbiBnZXQgYmFzZWQgb24gdGhlIHZpc2libGUg
YXJlYSBhZnRlciB6b29taW5nICh3b3JraW5nRnJhbWUpLiAgVGhlIHNwYWNpbmcgaW4gZWl0aGVy
IGRpbWVuc2lvbiBpcyBoYWxmIHRoZQorICAgIC8vIFdlIHdhbnQgdG8gY2VudGVyIHRoZSBmb2N1
c2VkIGVsZW1lbnQgd2l0aGluIHRoZSB2aWV3cG9ydCwgd2l0aCBhcyBtdWNoIHNwYWNpbmcgb24g
YWxsIHNpZGVzIGFzCisgICAgLy8gd2UgY2FuIGdldCBiYXNlZCBvbiB0aGUgdmlzaWJsZSBhcmVh
IGFmdGVyIHpvb21pbmcuIFRoZSBzcGFjaW5nIGluIGVpdGhlciBkaW1lbnNpb24gaXMgaGFsZiB0
aGUKICAgICAvLyBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHNpemUgb2YgdGhlIERPTSBub2RlIGFu
ZCB0aGUgc2l6ZSBvZiB0aGUgdmlzaWJsZSBmcmFtZS4KLSAgICBDR0Zsb2F0IGhvcml6b250YWxT
cGFjZUluV2ViVmlld0Nvb3JkaW5hdGVzID0gc3RkOjptYXgoKHZpc2libGVTaXplLndpZHRoIC0g
Zm9jdXNlZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS53aWR0aCgpKSAvIDIuMCwgMC4wKTsKLSAgICBD
R0Zsb2F0IHZlcnRpY2FsU3BhY2VJbldlYlZpZXdDb29yZGluYXRlcyA9IHN0ZDo6bWF4KCh2aXNp
YmxlU2l6ZS5oZWlnaHQgLSBmb2N1c2VkRWxlbWVudFJlY3RJbk5ld1NjYWxlLmhlaWdodCgpKSAv
IDIuMCwgMC4wKTsKKyAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyB0b28gd2lkZSB0byBiZSBob3Jp
em9udGFsbHkgY2VudGVyZWQgb3IgdG9vIHRhbGwgdG8gYmUgdmVydGljYWxseSBjZW50ZXJlZCwg
d2UKKyAgICAvLyBpbnN0ZWFkIHNjcm9sbCBzdWNoIHRoYXQgdGhlIGxlZnQgZWRnZSBvciB0b3Ag
ZWRnZSBvZiB0aGUgZWxlbWVudCBpcyB3aXRoaW4gdGhlIGxlZnQgaGFsZiBvciB0b3AKKyAgICAv
LyBoYWxmIG9mIHRoZSB2aWV3cG9ydCwgcmVzcGVjdGl2ZWx5LgorICAgIENHRmxvYXQgaG9yaXpv
bnRhbFNwYWNlSW5XZWJWaWV3Q29vcmRpbmF0ZXMgPSAodmlzaWJsZVNpemUud2lkdGggLSBmb2N1
c2VkRWxlbWVudFJlY3RJbk5ld1NjYWxlLndpZHRoKCkpIC8gMi4wOworICAgIENHRmxvYXQgdmVy
dGljYWxTcGFjZUluV2ViVmlld0Nvb3JkaW5hdGVzID0gKHZpc2libGVTaXplLmhlaWdodCAtIGZv
Y3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUuaGVpZ2h0KCkpIC8gMi4wOworCisgICAgYXV0byB0
b3BMZWZ0ID0gQ0dQb2ludFplcm87CisgICAgYXV0byBzY3JvbGxWaWV3SW5zZXRzID0gW19zY3Jv
bGxWaWV3IF9lZmZlY3RpdmVDb250ZW50SW5zZXRdOworICAgIGF1dG8gY3VycmVudFRvcExlZnQg
PSBbX3Njcm9sbFZpZXcgY29udGVudE9mZnNldF07CisKKyAgICBpZiAoX2hhdmVTZXRPYnNjdXJl
ZEluc2V0cykgeworICAgICAgICBjdXJyZW50VG9wTGVmdC54ICs9IF9vYnNjdXJlZEluc2V0cy5s
ZWZ0OworICAgICAgICBjdXJyZW50VG9wTGVmdC55ICs9IF9vYnNjdXJlZEluc2V0cy50b3A7Cisg
ICAgfQorCisgICAgaWYgKGhvcml6b250YWxTcGFjZUluV2ViVmlld0Nvb3JkaW5hdGVzID4gMCkK
KyAgICAgICAgdG9wTGVmdC54ID0gZm9jdXNlZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS54KCkgLSBo
b3Jpem9udGFsU3BhY2VJbldlYlZpZXdDb29yZGluYXRlczsKKyAgICBlbHNlIHsKKyAgICAgICAg
YXV0byBtaW5pbXVtT2Zmc2V0VG9SZXZlYWxMZWZ0RWRnZSA9IHN0ZDo6bWF4KC1zY3JvbGxWaWV3
SW5zZXRzLmxlZnQsIGZvY3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUueCgpIC0gdmlzaWJsZVNp
emUud2lkdGggLyAyKTsKKyAgICAgICAgYXV0byBtYXhpbXVtT2Zmc2V0VG9SZXZlYWxMZWZ0RWRn
ZSA9IGZvY3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUueCgpOworICAgICAgICB0b3BMZWZ0Lngg
PSBjbGFtcFRvPGRvdWJsZT4oY3VycmVudFRvcExlZnQueCwgbWluaW11bU9mZnNldFRvUmV2ZWFs
TGVmdEVkZ2UsIG1heGltdW1PZmZzZXRUb1JldmVhbExlZnRFZGdlKTsKKyAgICB9CisKKyAgICBp
ZiAodmVydGljYWxTcGFjZUluV2ViVmlld0Nvb3JkaW5hdGVzID4gMCkKKyAgICAgICAgdG9wTGVm
dC55ID0gZm9jdXNlZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS55KCkgLSB2ZXJ0aWNhbFNwYWNlSW5X
ZWJWaWV3Q29vcmRpbmF0ZXM7CisgICAgZWxzZSB7CisgICAgICAgIGF1dG8gbWluaW11bU9mZnNl
dFRvUmV2ZWFsVG9wRWRnZSA9IHN0ZDo6bWF4KC1zY3JvbGxWaWV3SW5zZXRzLnRvcCwgZm9jdXNl
ZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS55KCkgLSB2aXNpYmxlU2l6ZS5oZWlnaHQgLyAyKTsKKyAg
ICAgICAgYXV0byBtYXhpbXVtT2Zmc2V0VG9SZXZlYWxUb3BFZGdlID0gZm9jdXNlZEVsZW1lbnRS
ZWN0SW5OZXdTY2FsZS55KCk7CisgICAgICAgIHRvcExlZnQueSA9IGNsYW1wVG88ZG91YmxlPihj
dXJyZW50VG9wTGVmdC55LCBtaW5pbXVtT2Zmc2V0VG9SZXZlYWxUb3BFZGdlLCBtYXhpbXVtT2Zm
c2V0VG9SZXZlYWxUb3BFZGdlKTsKKyAgICB9CiAKLSAgICBDR1BvaW50IHRvcExlZnQ7Ci0gICAg
dG9wTGVmdC54ID0gZm9jdXNlZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS54KCkgLSBob3Jpem9udGFs
U3BhY2VJbldlYlZpZXdDb29yZGluYXRlczsKLSAgICB0b3BMZWZ0LnkgPSBmb2N1c2VkRWxlbWVu
dFJlY3RJbk5ld1NjYWxlLnkoKSAtIHZlcnRpY2FsU3BhY2VJbldlYlZpZXdDb29yZGluYXRlcyAt
IHZpc2libGVPZmZzZXRGcm9tVG9wOworICAgIHRvcExlZnQueSAtPSB2aXNpYmxlT2Zmc2V0RnJv
bVRvcDsKKworICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBkb2N1bWVudEJvdW5kc0luTmV3U2NhbGUg
PSBbX2NvbnRlbnRWaWV3IGJvdW5kc107CisgICAgZG9jdW1lbnRCb3VuZHNJbk5ld1NjYWxlLnNj
YWxlKHNjYWxlKTsKKyAgICBkb2N1bWVudEJvdW5kc0luTmV3U2NhbGUubW92ZUJ5KFtfY29udGVu
dFZpZXcgZnJhbWVdLm9yaWdpbik7CiAKICAgICBDR0Zsb2F0IG1pbmltdW1BbGxvd2FibGVIb3Jp
em9udGFsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXMgPSAtSU5GSU5JVFk7CiAgICAgQ0dGbG9h
dCBtaW5pbXVtQWxsb3dhYmxlVmVydGljYWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlcyA9IC1J
TkZJTklUWTsKKyAgICBDR0Zsb2F0IG1heGltdW1BbGxvd2FibGVIb3Jpem9udGFsT2Zmc2V0SW5X
ZWJWaWV3Q29vcmRpbmF0ZXMgPSBDR1JlY3RHZXRNYXhYKGRvY3VtZW50Qm91bmRzSW5OZXdTY2Fs
ZSkgLSB2aXNpYmxlU2l6ZS53aWR0aDsKKyAgICBDR0Zsb2F0IG1heGltdW1BbGxvd2FibGVWZXJ0
aWNhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzID0gQ0dSZWN0R2V0TWF4WShkb2N1bWVudEJv
dW5kc0luTmV3U2NhbGUpIC0gdmlzaWJsZVNpemUuaGVpZ2h0OworCiAgICAgaWYgKHNlbGVjdGlv
blJlY3RJc05vdE51bGwpIHsKICAgICAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IHNlbGVjdGlvblJl
Y3RJbk5ld1NjYWxlID0gc2VsZWN0aW9uUmVjdEluRG9jdW1lbnRDb29yZGluYXRlczsKICAgICAg
ICAgc2VsZWN0aW9uUmVjdEluTmV3U2NhbGUuc2NhbGUoc2NhbGUpOwogICAgICAgICBzZWxlY3Rp
b25SZWN0SW5OZXdTY2FsZS5tb3ZlQnkoW19jb250ZW50VmlldyBmcmFtZV0ub3JpZ2luKTsKKyAg
ICAgICAgLy8gQWRqdXN0IHRoZSBtaW4gYW5kIG1heCBhbGxvd2FibGUgc2Nyb2xsIG9mZnNldHMs
IHN1Y2ggdGhhdCB0aGUgc2VsZWN0aW9uIHJlY3QgcmVtYWlucyB2aXNpYmxlLgogICAgICAgICBt
aW5pbXVtQWxsb3dhYmxlSG9yaXpvbnRhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzID0gQ0dS
ZWN0R2V0TWF4WChzZWxlY3Rpb25SZWN0SW5OZXdTY2FsZSkgKyBjYXJldE9mZnNldEZyb21XaW5k
b3dFZGdlIC0gdmlzaWJsZVNpemUud2lkdGg7CiAgICAgICAgIG1pbmltdW1BbGxvd2FibGVWZXJ0
aWNhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzID0gQ0dSZWN0R2V0TWF4WShzZWxlY3Rpb25S
ZWN0SW5OZXdTY2FsZSkgKyBjYXJldE9mZnNldEZyb21XaW5kb3dFZGdlIC0gdmlzaWJsZVNpemUu
aGVpZ2h0IC0gdmlzaWJsZU9mZnNldEZyb21Ub3A7CisgICAgICAgIG1heGltdW1BbGxvd2FibGVI
b3Jpem9udGFsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXMgPSBzdGQ6Om1pbihtYXhpbXVtQWxs
b3dhYmxlSG9yaXpvbnRhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzLCBDR1JlY3RHZXRNaW5Y
KHNlbGVjdGlvblJlY3RJbk5ld1NjYWxlKSAtIGNhcmV0T2Zmc2V0RnJvbVdpbmRvd0VkZ2UpOwor
ICAgICAgICBtYXhpbXVtQWxsb3dhYmxlVmVydGljYWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRl
cyA9IHN0ZDo6bWluKG1heGltdW1BbGxvd2FibGVWZXJ0aWNhbE9mZnNldEluV2ViVmlld0Nvb3Jk
aW5hdGVzLCBDR1JlY3RHZXRNaW5ZKHNlbGVjdGlvblJlY3RJbk5ld1NjYWxlKSAtIGNhcmV0T2Zm
c2V0RnJvbVdpbmRvd0VkZ2UgLSB2aXNpYmxlT2Zmc2V0RnJvbVRvcCk7CiAgICAgfQogCi0gICAg
V2ViQ29yZTo6RmxvYXRSZWN0IGRvY3VtZW50Qm91bmRzSW5OZXdTY2FsZSA9IFtfY29udGVudFZp
ZXcgYm91bmRzXTsKLSAgICBkb2N1bWVudEJvdW5kc0luTmV3U2NhbGUuc2NhbGUoc2NhbGUpOwot
ICAgIGRvY3VtZW50Qm91bmRzSW5OZXdTY2FsZS5tb3ZlQnkoW19jb250ZW50VmlldyBmcmFtZV0u
b3JpZ2luKTsKLQogICAgIC8vIENvbnN0cmFpbiB0aGUgbGVmdCBlZGdlIGluIGRvY3VtZW50IGNv
b3JkaW5hdGVzIHNvIHRoYXQ6CiAgICAgLy8gIC0gaXQgaXNuJ3Qgc28gc21hbGwgdGhhdCB0aGUg
c2Nyb2xsVmlzaWJsZVJlY3QgaXNuJ3QgdmlzaWJsZSBvbiB0aGUgc2NyZWVuCiAgICAgLy8gIC0g
aXQgaXNuJ3Qgc28gZ3JlYXQgdGhhdCB0aGUgZG9jdW1lbnQncyByaWdodCBlZGdlIGlzIGxlc3Mg
dGhhbiB0aGUgcmlnaHQgZWRnZSBvZiB0aGUgc2NyZWVuCi0gICAgaWYgKHNlbGVjdGlvblJlY3RJ
c05vdE51bGwgJiYgdG9wTGVmdC54IDwgbWluaW11bUFsbG93YWJsZUhvcml6b250YWxPZmZzZXRJ
bldlYlZpZXdDb29yZGluYXRlcykKLSAgICAgICAgdG9wTGVmdC54ID0gbWluaW11bUFsbG93YWJs
ZUhvcml6b250YWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlczsKLSAgICBlbHNlIHsKLSAgICAg
ICAgQ0dGbG9hdCBtYXhpbXVtQWxsb3dhYmxlSG9yaXpvbnRhbE9mZnNldCA9IENHUmVjdEdldE1h
eFgoZG9jdW1lbnRCb3VuZHNJbk5ld1NjYWxlKSAtIHZpc2libGVTaXplLndpZHRoOwotICAgICAg
ICBpZiAodG9wTGVmdC54ID4gbWF4aW11bUFsbG93YWJsZUhvcml6b250YWxPZmZzZXQpCi0gICAg
ICAgICAgICB0b3BMZWZ0LnggPSBtYXhpbXVtQWxsb3dhYmxlSG9yaXpvbnRhbE9mZnNldDsKLSAg
ICB9CisgICAgdG9wTGVmdC54ID0gY2xhbXBUbzxDR0Zsb2F0Pih0b3BMZWZ0LngsIG1pbmltdW1B
bGxvd2FibGVIb3Jpem9udGFsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXMsIG1heGltdW1BbGxv
d2FibGVIb3Jpem9udGFsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXMpOwogCiAgICAgLy8gQ29u
c3RyYWluIHRoZSB0b3AgZWRnZSBpbiBkb2N1bWVudCBjb29yZGluYXRlcyBzbyB0aGF0OgogICAg
IC8vICAtIGl0IGlzbid0IHNvIHNtYWxsIHRoYXQgdGhlIHNjcm9sbFZpc2libGVSZWN0IGlzbid0
IHZpc2libGUgb24gdGhlIHNjcmVlbgogICAgIC8vICAtIGl0IGlzbid0IHNvIGdyZWF0IHRoYXQg
dGhlIGRvY3VtZW50J3MgYm90dG9tIGVkZ2UgaXMgaGlnaGVyIHRoYW4gdGhlIHRvcCBvZiB0aGUg
Zm9ybSBhc3Npc3RhbnQKLSAgICBpZiAoc2VsZWN0aW9uUmVjdElzTm90TnVsbCAmJiB0b3BMZWZ0
LnkgPCBtaW5pbXVtQWxsb3dhYmxlVmVydGljYWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlcykK
LSAgICAgICAgdG9wTGVmdC55ID0gbWluaW11bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0SW5XZWJW
aWV3Q29vcmRpbmF0ZXM7Ci0gICAgZWxzZSB7Ci0gICAgICAgIENHRmxvYXQgbWF4aW11bUFsbG93
YWJsZVZlcnRpY2FsT2Zmc2V0ID0gQ0dSZWN0R2V0TWF4WShkb2N1bWVudEJvdW5kc0luTmV3U2Nh
bGUpIC0gdmlzaWJsZVNpemUuaGVpZ2h0OwotICAgICAgICBpZiAodG9wTGVmdC55ID4gbWF4aW11
bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0KQotICAgICAgICAgICAgdG9wTGVmdC55ID0gbWF4aW11
bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0OworICAgIHRvcExlZnQueSA9IGNsYW1wVG88Q0dGbG9h
dD4odG9wTGVmdC55LCBtaW5pbXVtQWxsb3dhYmxlVmVydGljYWxPZmZzZXRJbldlYlZpZXdDb29y
ZGluYXRlcywgbWF4aW11bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0
ZXMpOworCisgICAgaWYgKF9oYXZlU2V0T2JzY3VyZWRJbnNldHMpIHsKKyAgICAgICAgLy8gVGhp
cyBsb29rcyB1bmludHVpdGl2ZSwgYnV0IGlzIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBwcmVjaXNl
bHkgY2VudGVyIHRoZSBmb2N1c2VkIGVsZW1lbnQgaW4gdGhlIHZpc2libGUgYXJlYS4KKyAgICAg
ICAgLy8gVGhlIHRvcCBsZWZ0IHBvc2l0aW9uIGFscmVhZHkgYWNjb3VudHMgZm9yIHRvcCBhbmQg
bGVmdCBvYnNjdXJlZCBpbnNldHMgLSBpLmUuLCBhIHRvcExlZnQgb2YgKDAsIDApIGNvcnJlc3Bv
bmRzCisgICAgICAgIC8vIHRvIHRoZSB0b3AtIGFuZCBsZWZ0LW1vc3QgcG9pbnQgYmVsb3cgKGFu
ZCB0byB0aGUgcmlnaHQgb2YpIHRoZSB0b3AgaW5zZXQgYXJlYSBhbmQgbGVmdCBpbnNldCBhcmVh
cywgcmVzcGVjdGl2ZWx5LgorICAgICAgICAvLyBIb3dldmVyLCB3aGVuIHRlbGxpbmcgV0tTY3Jv
bGxWaWV3IHRvIHNjcm9sbCB0byBhIGdpdmVuIGNlbnRlciBwb3NpdGlvbiwgdGhpcyBjZW50ZXIg
cG9zaXRpb24gaXMgY29tcHV0ZWQgcmVsYXRpdmUKKyAgICAgICAgLy8gdG8gdGhlIGNvb3JkaW5h
dGUgc3BhY2Ugb2YgdGhlIHNjcm9sbCB2aWV3LiBUaHVzLCB0byBjb21wdXRlIG91ciBjZW50ZXIg
cG9zaXRpb24gZnJvbSB0aGUgdG9wIGxlZnQgcG9zaXRpb24sIHdlCisgICAgICAgIC8vIG5lZWQg
dG8gZmlyc3QgbW92ZSB0aGUgdG9wIGxlZnQgcG9zaXRpb24gdXAgYW5kIHRvIHRoZSBsZWZ0LCBh
bmQgdGhlbiBhZGQgaGFsZiB0aGUgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgY29udGVudAorICAg
ICAgICAvLyBhcmVhIChpbmNsdWRpbmcgb2JzY3VyZWQgaW5zZXRzKS4KKyAgICAgICAgdG9wTGVm
dC54IC09IF9vYnNjdXJlZEluc2V0cy5sZWZ0OworICAgICAgICB0b3BMZWZ0LnkgLT0gX29ic2N1
cmVkSW5zZXRzLnRvcDsKICAgICB9CiAKLSAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG5ld0NlbnRl
ciA9IENHUG9pbnRNYWtlKHRvcExlZnQueCArIHVub2JzY3VyZWRTY3JvbGxWaWV3UmVjdEluV2Vi
Vmlld0Nvb3JkaW5hdGVzLnNpemUud2lkdGggLyAyLjAsIHRvcExlZnQueSArIHVub2JzY3VyZWRT
Y3JvbGxWaWV3UmVjdEluV2ViVmlld0Nvb3JkaW5hdGVzLnNpemUuaGVpZ2h0IC8gMi4wKTsKKyAg
ICBXZWJDb3JlOjpGbG9hdFBvaW50IG5ld0NlbnRlciA9IENHUG9pbnRNYWtlKHRvcExlZnQueCAr
IENHUmVjdEdldFdpZHRoKHNlbGYuYm91bmRzKSAvIDIsIHRvcExlZnQueSArIENHUmVjdEdldEhl
aWdodChzZWxmLmJvdW5kcykgLyAyKTsKIAogICAgIGlmIChzY2FsZSAhPSBjdXJyZW50U2NhbGUp
CiAgICAgICAgIF9wYWdlLT53aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwu
aAppbmRleCAxZDE1MTk0Y2JmYmE5YTlkNmFhMjc0NzljYzdiYTVhZTg2YjNiNzVhLi44NmU3MWZi
NjE5ZWQyMzViOThjZWRiOTViMzAzNDRlZjcwNzMxZTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMTAxLDcg
KzEwMSw3IEBAIHN0cnVjdCBQcmludEluZm87CiAKIC0gKHZvaWQpX3Njcm9sbFRvQ29udGVudFNj
cm9sbFBvc2l0aW9uOihXZWJDb3JlOjpGbG9hdFBvaW50KXNjcm9sbFBvc2l0aW9uIHNjcm9sbE9y
aWdpbjooV2ViQ29yZTo6SW50UG9pbnQpc2Nyb2xsT3JpZ2luOwogLSAoQk9PTClfc2Nyb2xsVG9S
ZWN0OihXZWJDb3JlOjpGbG9hdFJlY3QpdGFyZ2V0UmVjdCBvcmlnaW46KFdlYkNvcmU6OkZsb2F0
UG9pbnQpb3JpZ2luIG1pbmltdW1TY3JvbGxEaXN0YW5jZTooZmxvYXQpbWluaW11bVNjcm9sbERp
c3RhbmNlOwotLSAodm9pZClfem9vbVRvRm9jdXNSZWN0OihXZWJDb3JlOjpGbG9hdFJlY3QpZm9j
dXNlZEVsZW1lbnRSZWN0IHNlbGVjdGlvblJlY3Q6KFdlYkNvcmU6OkZsb2F0UmVjdClzZWxlY3Rp
b25SZWN0SW5Eb2N1bWVudENvb3JkaW5hdGVzIGluc2lkZUZpeGVkOihCT09MKWluc2lkZUZpeGVk
IGZvbnRTaXplOihmbG9hdClmb250U2l6ZSBtaW5pbXVtU2NhbGU6KGRvdWJsZSltaW5pbXVtU2Nh
bGUgbWF4aW11bVNjYWxlOihkb3VibGUpbWF4aW11bVNjYWxlIGFsbG93U2NhbGluZzooQk9PTClh
bGxvd1NjYWxpbmcgZm9yY2VTY3JvbGw6KEJPT0wpZm9yY2VTY3JvbGw7CistICh2b2lkKV96b29t
VG9Gb2N1c1JlY3Q6KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpZm9jdXNlZEVsZW1lbnRSZWN0
IHNlbGVjdGlvblJlY3Q6KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpc2VsZWN0aW9uUmVjdElu
RG9jdW1lbnRDb29yZGluYXRlcyBpbnNpZGVGaXhlZDooQk9PTClpbnNpZGVGaXhlZCBmb250U2l6
ZTooZmxvYXQpZm9udFNpemUgbWluaW11bVNjYWxlOihkb3VibGUpbWluaW11bVNjYWxlIG1heGlt
dW1TY2FsZTooZG91YmxlKW1heGltdW1TY2FsZSBhbGxvd1NjYWxpbmc6KEJPT0wpYWxsb3dTY2Fs
aW5nIGZvcmNlU2Nyb2xsOihCT09MKWZvcmNlU2Nyb2xsOwogLSAoQk9PTClfem9vbVRvUmVjdDoo
V2ViQ29yZTo6RmxvYXRSZWN0KXRhcmdldFJlY3Qgd2l0aE9yaWdpbjooV2ViQ29yZTo6RmxvYXRQ
b2ludClvcmlnaW4gZml0RW50aXJlUmVjdDooQk9PTClmaXRFbnRpcmVSZWN0IG1pbmltdW1TY2Fs
ZTooZG91YmxlKW1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6KGRvdWJsZSltYXhpbXVtU2NhbGUg
bWluaW11bVNjcm9sbERpc3RhbmNlOihmbG9hdCltaW5pbXVtU2Nyb2xsRGlzdGFuY2U7CiAtICh2
b2lkKV96b29tT3V0V2l0aE9yaWdpbjooV2ViQ29yZTo6RmxvYXRQb2ludClvcmlnaW4gYW5pbWF0
ZWQ6KEJPT0wpYW5pbWF0ZWQ7CiAtICh2b2lkKV96b29tVG9Jbml0aWFsU2NhbGVXaXRoT3JpZ2lu
OihXZWJDb3JlOjpGbG9hdFBvaW50KW9yaWdpbiBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAyOGQ0NDVhN2UyOWQ0OTczYmYxNWMxZWZjMTMzMTAxMTJhMjE1YzMwLi40NzM5YmNhNjQ0
Y2U5MjhlOTk4NmJhMzdjM2QyMDdlNjgxMTFiYjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTgtMTItMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW2lPU10gRm9jdXNpbmcgYSBsYXJnZSBlZGl0YWJsZSBlbGVtZW50IGFsd2F5cyBzY3JvbGxz
IHRvIHRoZSB0b3Agb2YgdGhlIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5Mjc0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3NTg0
NDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgbmV3IGxheW91dCB0ZXN0IHRvIHZlcmlmeSB0aGF0IHdlIGRvbid0IHNjcm9sbCB1bm5lY2Vz
c2FyaWx5IHdoZW4gZm9jdXNpbmcgYSB0YWxsIGVkaXRhYmxlIGVsZW1lbnQsIHdob3NlCisgICAg
ICAgIHRvcCBvZmZzZXQgaXMgYWxyZWFkeSBuZWFyIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0Lgor
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL25vLXNjcm9sbGluZy13aGVuLWZvY3Vz
aW5nLWxhcmdlLWVkaXRhYmxlLWFyZWEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NlbGVjdGlvbi9pb3Mvbm8tc2Nyb2xsaW5nLXdoZW4tZm9jdXNpbmctbGFyZ2UtZWRp
dGFibGUtYXJlYS5odG1sOiBBZGRlZC4KKwogMjAxOC0xMi0xNSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBSVENSdHBTZW5kZXIuc2V0UGFyYW1ldGVy
cyB0byBhY3RpdmF0ZSBzcGVjaWZpYyBlbmNvZGluZ3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9uby1zY3JvbGxpbmctd2hlbi1mb2N1c2luZy1sYXJnZS1l
ZGl0YWJsZS1hcmVhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2lvcy9uby1zY3JvbGxpbmctd2hlbi1mb2N1c2luZy1sYXJnZS1lZGl0YWJsZS1hcmVhLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMzZjNWZmZmRhNDdkNDI4ZDJkMzI5N2Y1NzkxYWU5NjNkY2Y5
ZTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9z
L25vLXNjcm9sbGluZy13aGVuLWZvY3VzaW5nLWxhcmdlLWVkaXRhYmxlLWFyZWEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorICAgIEhlcmUncyB0byB0aGUgY3Jhenkgb25lcy4gVGhlIG1p
c2ZpdHMuIFRoZSByZWJlbHMuIFRoZSB0cm91YmxlbWFrZXJzLiBUaGUgcm91bmQgcGVncyBpbiB0
aGUgc3F1YXJlIGhvbGVzLiBUaGUgb25lcyB3aG8gc2VlIHRoaW5ncyBkaWZmZXJlbnRseS4gVGhl
eSdyZSBub3QgZm9uZCBvZiBydWxlcy4gQW5kIHRoZXkgaGF2ZSBubyByZXNwZWN0IGZvciB0aGUg
c3RhdHVzIHF1by4gWW91IGNhbiBxdW90ZSB0aGVtLCBkaXNhZ3JlZSB3aXRoIHRoZW0sIGdsb3Jp
Znkgb3IgdmlsaWZ5IHRoZW0uIEFib3V0IHRoZSBvbmx5IHRoaW5nIHlvdSBjYW4ndCBkbyBpcyBp
Z25vcmUgdGhlbS4gQmVjYXVzZSB0aGV5IGNoYW5nZSB0aGluZ3MuIFRoZXkgcHVzaCB0aGUgaHVt
YW4gcmFjZSBmb3J3YXJkLiBBbmQgd2hpbGUgc29tZSBtYXkgc2VlIHRoZW0gYXMgdGhlIGNyYXp5
IG9uZXMsIHdlIHNlZSBnZW5pdXMuIEJlY2F1c2UgdGhlIHBlb3BsZSB3aG8gYXJlIGNyYXp5IGVu
b3VnaCB0byB0aGluayB0aGV5IGNhbiBjaGFuZ2UgdGhlIHdvcmxkLCBhcmUgdGhlIG9uZXMgd2hv
IGRvLgorICAgIAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgd2UgYXZvaWQgdW5uZWNlc3Nhcnkg
c2Nyb2xsaW5nIHdoZW4gZm9jdXNpbmcgbGFyZ2UgZWRpdGFibGUgYXJlYXMuIFRvIHJlcHJvZHVj
ZSBtYW51YWxseSwgc2Nyb2xsIHRvIHRoZSB0b3AgYW5kIGZvY3VzIHRoZSBmaXJzdCBsaW5lIG9m
IGVkaXRhYmxlIHRleHQgaW4gdGhlIGRhc2hlZCBib3guIFRoZSBibHVlIGJveCBzaG91bGQgc3Rp
bGwgYmUgdmlzaWJsZS4KKworVGhlIGluaXRpYWwgc2Nyb2xsIG9mZnNldCBpczogMCwwCitUaGUg
ZmluYWwgc2Nyb2xsIG9mZnNldCBpczogMCwwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9pb3Mvbm8tc2Nyb2xsaW5nLXdoZW4tZm9jdXNpbmctbGFyZ2UtZWRpdGFi
bGUtYXJlYS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL25vLXNjcm9s
bGluZy13aGVuLWZvY3VzaW5nLWxhcmdlLWVkaXRhYmxlLWFyZWEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
ODg2MWUxZTM1YjliMzEzOWQ0NTY2NjFhZjIwMjAyMWIzZDdmNTE0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL25vLXNjcm9sbGluZy13aGVuLWZv
Y3VzaW5nLWxhcmdlLWVkaXRhYmxlLWFyZWEuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZ
UEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEi
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46IDAiPgorICAgIDxkaXYgc3R5bGU9
IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsg
b3BhY2l0eTogMC4yNSI+PC9kaXY+CisgICAgPHByZSBpZD0iZWRpdG9yIiBjb250ZW50ZWRpdGFi
bGUgc3R5bGU9ImxpbmUtaGVpZ2h0OiAxLjVlbTsgYm9yZGVyOiBzaWx2ZXIgZGFzaGVkIDJweDsg
aGVpZ2h0OiAxMDB2aDsgbWFyZ2luLXRvcDogMCI+CisgICAgSGVyZSdzIHRvIHRoZSBjcmF6eSBv
bmVzLiBUaGUgbWlzZml0cy4gVGhlIHJlYmVscy4gVGhlIHRyb3VibGVtYWtlcnMuIFRoZSByb3Vu
ZCBwZWdzIGluIHRoZSBzcXVhcmUgaG9sZXMuIFRoZSBvbmVzIHdobyBzZWUgdGhpbmdzIGRpZmZl
cmVudGx5LiBUaGV5J3JlIG5vdCBmb25kIG9mIHJ1bGVzLiBBbmQgdGhleSBoYXZlIG5vIHJlc3Bl
Y3QgZm9yIHRoZSBzdGF0dXMgcXVvLiBZb3UgY2FuIHF1b3RlIHRoZW0sIGRpc2FncmVlIHdpdGgg
dGhlbSwgZ2xvcmlmeSBvciB2aWxpZnkgdGhlbS4gQWJvdXQgdGhlIG9ubHkgdGhpbmcgeW91IGNh
bid0IGRvIGlzIGlnbm9yZSB0aGVtLiBCZWNhdXNlIHRoZXkgY2hhbmdlIHRoaW5ncy4gVGhleSBw
dXNoIHRoZSBodW1hbiByYWNlIGZvcndhcmQuIEFuZCB3aGlsZSBzb21lIG1heSBzZWUgdGhlbSBh
cyB0aGUgY3Jhenkgb25lcywgd2Ugc2VlIGdlbml1cy4gQmVjYXVzZSB0aGUgcGVvcGxlIHdobyBh
cmUgY3JhenkgZW5vdWdoIHRvIHRoaW5rIHRoZXkgY2FuIGNoYW5nZSB0aGUgd29ybGQsIGFyZSB0
aGUgb25lcyB3aG8gZG8uCisgICAgPC9wcmU+CisgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj4KKyAg
ICBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB3ZSBhdm9pZCB1bm5lY2Vzc2FyeSBzY3JvbGxpbmcg
d2hlbiBmb2N1c2luZyBsYXJnZSBlZGl0YWJsZSBhcmVhcy4gVG8gcmVwcm9kdWNlIG1hbnVhbGx5
LCBzY3JvbGwgdG8gdGhlIHRvcCBhbmQgZm9jdXMgdGhlIGZpcnN0IGxpbmUgb2YgZWRpdGFibGUg
dGV4dCBpbiB0aGUgZGFzaGVkIGJveC4gVGhlIGJsdWUgYm94IHNob3VsZCBzdGlsbCBiZSB2aXNp
YmxlLgorICAgIDwvcD4KKyAgICA8ZGl2PgorICAgICAgICA8cHJlPlRoZSBpbml0aWFsIHNjcm9s
bCBvZmZzZXQgaXM6IDxzcGFuIGlkPSJpbml0aWFsIj48L3NwYW4+PC9wcmU+CisgICAgICAgIDxw
cmU+VGhlIGZpbmFsIHNjcm9sbCBvZmZzZXQgaXM6IDxzcGFuIGlkPSJmaW5hbCI+PC9zcGFuPjwv
cHJlPgorICAgIDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworfQorCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewor
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGluaXRp
YWwudGV4dENvbnRlbnQgPSBbcGFnZVhPZmZzZXQsIHBhZ2VZT2Zmc2V0XS50b1N0cmluZygpOwor
CisgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uQXQoMTAw
LCA2MCk7CisgICAgZWRpdG9yLmJsdXIoKTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yS2V5
Ym9hcmRUb0hpZGUoKTsKKworICAgIGZpbmFsLnRleHRDb250ZW50ID0gW3BhZ2VYT2Zmc2V0LCBw
YWdlWU9mZnNldF0udG9TdHJpbmcoKTsKKyAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30p
OworPC9zY3JpcHQ+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357425</attachid>
            <date>2018-12-16 19:12:23 -0800</date>
            <delta_ts>2018-12-17 20:04:53 -0800</delta_ts>
            <desc>Fix iOS open source builds</desc>
            <filename>bug-192745-20181216191222.patch</filename>
            <type>text/plain</type>
            <size>19203</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcxZTE1MmUxMGU3NDM1Mzc0
YmI1YjU5NzdkNDM3ZTZkYjc5YTYyYTMuLjZhOTZmMGY2MmI2NjgzOTkyNzlhZDk4ODIyOGQ0YjVl
ZTkyZjgxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTgtMTItMTYgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRm9jdXNpbmcg
YSBsYXJnZSBlZGl0YWJsZSBlbGVtZW50IGFsd2F5cyBzY3JvbGxzIHRvIHRoZSB0b3Agb2YgdGhl
IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mjc0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY3NTg0NDU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB3aGVuIGZvY3Vz
aW5nIGZvcm0gY29udHJvbHMgb3IgZWRpdGFibGUgZWxlbWVudHMsIHdlIHRyeSB0byBzY3JvbGwg
c3VjaCB0aGF0IHRoZSBmb2N1c2VkIGVsZW1lbnQgcmVjdAorICAgICAgICBpcyBjZW50ZXJlZCB3
aXRoaW4gdGhlIHZpc2libGUgYXJlYS4gSW4gdGhlIGNhc2Ugb2YgdmVyeSBsYXJnZSBmb2N1c2Fi
bGUgZWxlbWVudHMgd2hvc2UgZGltZW5zaW9ucyBleGNlZWQgdGhlCisgICAgICAgIHdpZHRoIG9y
IGhlaWdodCBvZiB0aGUgdmlzaWJsZSBhcmVhLCB3ZSBpbnN0ZWFkIHNjcm9sbCBzdWNoIHRoYXQg
dGhlIHRvcCBsZWZ0IHBvaW50IG9mIHRoZSBlbGVtZW50IGlzIGF0IHRoZSB0b3AKKyAgICAgICAg
bGVmdCBjb3JuZXIgb2YgdGhlIHZpc2libGUgYXJlYS4KKworICAgICAgICBIb3dldmVyLCB0aGlz
IHJlc3VsdHMgaW4gdW5uZWNlc3Nhcnkgc2Nyb2xsaW5nIGlmIHRoZSB0b3Agb2YgdGhlIGVsZW1l
bnQgaXMgYWxyZWFkeSBuZWFyIHRoZSB0b3Agb2YgdGhlIHZpc2libGUKKyAgICAgICAgYXJlYS4g
Rm9yIFdlYktpdDItYmFzZWQgcmljaCB0ZXh0IGVkaXRvcnMgdGhhdCBoYXZlIGFuIGVkaXRhYmxl
IGJvZHkgZWxlbWVudCB3aXRoIGEgdG9wIGNvbnRlbnQgaW5zZXQgdGhhdAorICAgICAgICBjb250
YWlucyBhZGRpdGlvbmFsIGNvbnRlbnQsIHRoaXMgbWVhbnMgd2Ugd2lsbCBhbHdheXMgc2Nyb2xs
IHRoZSBhZGRpdGlvbmFsIGNvbnRlbnQgYXdheSB3aGVuIGZvY3VzaW5nIHRoZQorICAgICAgICBl
ZGl0YWJsZSBib2R5LgorCisgICAgICAgIFRvIGF2b2lkIHRoaXMgYmVoYXZpb3IsIGFkanVzdCBm
b2N1c2VkIGVsZW1lbnQgem9vbWluZyBsb2dpYyBmb3IgZWRpdGFibGUgZWxlbWVudHMgdGhhdCBh
cmUgdG9vIGxhcmdlIHRvIGJlCisgICAgICAgIGNlbnRlcmVkIGluIHRoZSB2aXNpYmxlIGFyZWEs
IHN1Y2ggdGhhdCB3ZSBvbmx5IHNjcm9sbCB0aGUgdG9wIGxlZnQgcG9zaXRpb24gb2YgdGhlIGZv
Y3VzZWQgZWxlbWVudCB0byB0aGUgdG9wCisgICAgICAgIGhhbGYgb3IgdG9wIHJpZ2h0IG9mIHRo
ZSB2aXNpYmxlIGFyZWEsIHJlc3BlY3RpdmVseS4gVGhpcyByZWR1Y2VzIHRoZSBhbW91bnQgb2Yg
c2Nyb2xsaW5nIHdoZW4gZm9jdXNpbmcgbGFyZ2UKKyAgICAgICAgZWRpdGFibGUgZWxlbWVudHMs
IHdoaWxlIHN0aWxsIG1ha2luZyBpdCBjbGVhciB3aGljaCBlbGVtZW50IGlzIGJlaW5nIGZvY3Vz
ZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBf
em9vbVRvRm9jdXNSZWN0OnNlbGVjdGlvblJlY3Q6aW5zaWRlRml4ZWQ6Zm9udFNpemU6bWluaW11
bVNjYWxlOm1heGltdW1TY2FsZTphbGxvd1NjYWxpbmc6Zm9yY2VTY3JvbGw6XSk6CisKKyAgICAg
ICAgTWFrZSBzb21lIHNtYWxsIGFkanVzdG1lbnRzIHRvIGltcHJvdmUgdGhlIHJlYWRhYmlsaXR5
IG9mIHRoaXMgbWV0aG9kIGJ5IHVzaW5nIGBjbGFtcFRvYCBpbnN0ZWFkIG9mIGNsYW1waW5nCisg
ICAgICAgIHZhbHVlcyBieSBjb21wYXJpbmcgYW5kIHNldHRpbmcgdmFsdWVzLgorCisgICAgICAg
IEFsc28sIGZpeCBhbiBleGlzdGluZyBidWcgd2hlcmVpbiBmb2N1c2FibGUgZWxlbWVudHMgdGhh
dCBhcmUgbWVhbnQgdG8gYmUgY2VudGVyZWQgd2l0aGluIHRoZSB2aXNpYmxlIGFyZWEgYXJlCisg
ICAgICAgIGN1cnJlbnRseSBvZmZzZXQgYnkgaGFsZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRo
ZSBib3R0b20gaW5zZXQgYW1vdW50IGFuZCB0aGUgdG9wIGluc2V0IGFtb3VudCwgaW4gdGhlIGNh
c2UKKyAgICAgICAgd2hlcmUgdGhlIGBfb2JzY3VyZWRJbnNldHNgIFNQSSBpcyB1c2VkIHRvIHNw
ZWNpZnkgY29udGVudCBpbnNldHMgZm9yIHRoZSB3ZWIgdmlldyAoaS5lLiwgTW9iaWxlU2FmYXJp
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDoK
KworICAgICAgICBNYWtlIGEgY291cGxlIG9mIGFyZ3VtZW50cyBgY29uc3QgRmxvYXRSZWN0JmAg
aW5zdGVhZCBvZiBqdXN0IGBGbG9hdFJlY3RgLgorCiAyMDE4LTEyLTE2ICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFN1cHBvcnQga2V5Ym9hcmQg
YWNjZXNzIHByZWZlcmVuY2UgZm9yIGlPUyBpbiBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggNzQxYjhiYWRjY2I5NjdhMDUxZjM2NzEwZTQwNDNl
YTVlYTczMjU2My4uMWY2M2EzMmE1MzlkZDY5YTAxNDkzZjI5ZjQwMGU0OTM2YTE2ODU3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTM0OCw2ICszNDgs
NyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBVSVNjcm9sbFZpZXdJbmRpY2F0b3JJbnNl
dEFkanVzdG1lbnRCZWhhdmlvcikgewogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1fY29u
dGVudFNjcm9sbEluc2V0LCBzZXR0ZXI9X3NldENvbnRlbnRTY3JvbGxJbnNldDopIFVJRWRnZUlu
c2V0cyBjb250ZW50U2Nyb2xsSW5zZXQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPV9p
bmRpY2F0b3JJbnNldEFkanVzdG1lbnRCZWhhdmlvciwgc2V0dGVyPV9zZXRJbmRpY2F0b3JJbnNl
dEFkanVzdG1lbnRCZWhhdmlvcjopIFVJU2Nyb2xsVmlld0luZGljYXRvckluc2V0QWRqdXN0bWVu
dEJlaGF2aW9yIGluZGljYXRvckluc2V0QWRqdXN0bWVudEJlaGF2aW9yOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBVSUVkZ2VJbnNldHMgX3N5c3RlbUNvbnRlbnRJbnNldDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlFZGdlSW5zZXRzIF9lZmZlY3RpdmVDb250
ZW50SW5zZXQ7CiBAZW5kCiAKIEBpbnRlcmZhY2UgTlNTdHJpbmcgKFVJS2l0RGV0YWlscykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGJh
MjA0OGVhYmFhYjY4Y2Q3MzM4MjVjNjRmOGI5MjBmYWI5NjQ0MWUuLjIyOTgzZmM1MjIxYTcxMWEw
ODRiOGVlMDIyZjYzYmU2NGYwMjY1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMjIyNSw3ICsyMjI1LDcgQEAgLSAodm9pZClfem9v
bVRvSW5pdGlhbFNjYWxlV2l0aE9yaWdpbjooV2ViQ29yZTo6RmxvYXRQb2ludClvcmlnaW4gYW5p
bWF0ZWQ6KEJPT0wKIH0KIAogLy8gZm9jdXNlZEVsZW1lbnRSZWN0IGFuZCBzZWxlY3Rpb25SZWN0
IGFyZSBib3RoIGluIGRvY3VtZW50IGNvb3JkaW5hdGVzLgotLSAodm9pZClfem9vbVRvRm9jdXNS
ZWN0OihXZWJDb3JlOjpGbG9hdFJlY3QpZm9jdXNlZEVsZW1lbnRSZWN0SW5Eb2N1bWVudENvb3Jk
aW5hdGVzIHNlbGVjdGlvblJlY3Q6KFdlYkNvcmU6OkZsb2F0UmVjdClzZWxlY3Rpb25SZWN0SW5E
b2N1bWVudENvb3JkaW5hdGVzIGluc2lkZUZpeGVkOihCT09MKWluc2lkZUZpeGVkCistICh2b2lk
KV96b29tVG9Gb2N1c1JlY3Q6KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpZm9jdXNlZEVsZW1l
bnRSZWN0SW5Eb2N1bWVudENvb3JkaW5hdGVzIHNlbGVjdGlvblJlY3Q6KGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYpc2VsZWN0aW9uUmVjdEluRG9jdW1lbnRDb29yZGluYXRlcyBpbnNpZGVGaXhl
ZDooQk9PTClpbnNpZGVGaXhlZAogICAgIGZvbnRTaXplOihmbG9hdClmb250U2l6ZSBtaW5pbXVt
U2NhbGU6KGRvdWJsZSltaW5pbXVtU2NhbGUgbWF4aW11bVNjYWxlOihkb3VibGUpbWF4aW11bVNj
YWxlIGFsbG93U2NhbGluZzooQk9PTClhbGxvd1NjYWxpbmcgZm9yY2VTY3JvbGw6KEJPT0wpZm9y
Y2VTY3JvbGwKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwg
Il96b29tVG9Gb2N1c1JlY3Q6IiA8PCBmb2N1c2VkRWxlbWVudFJlY3RJbkRvY3VtZW50Q29vcmRp
bmF0ZXMgPDwgIiBzZWxlY3Rpb25SZWN0OiIgPDwgc2VsZWN0aW9uUmVjdEluRG9jdW1lbnRDb29y
ZGluYXRlcyk7CkBAIC0yMzA1LDUzICsyMzA1LDg1IEBAIC0gKHZvaWQpX3pvb21Ub0ZvY3VzUmVj
dDooV2ViQ29yZTo6RmxvYXRSZWN0KWZvY3VzZWRFbGVtZW50UmVjdEluRG9jdW1lbnRDb29yZGlu
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gV2Ugd2FudCB0byB6b29tIHRv
IHRoZSBsZWZ0L3RvcCBjb3JuZXIgb2YgdGhlIERPTSBub2RlLCB3aXRoIGFzIG11Y2ggc3BhY2lu
ZyBvbiBhbGwgc2lkZXMgYXMgd2UKLSAgICAvLyBjYW4gZ2V0IGJhc2VkIG9uIHRoZSB2aXNpYmxl
IGFyZWEgYWZ0ZXIgem9vbWluZyAod29ya2luZ0ZyYW1lKS4gIFRoZSBzcGFjaW5nIGluIGVpdGhl
ciBkaW1lbnNpb24gaXMgaGFsZiB0aGUKKyAgICAvLyBXZSB3YW50IHRvIGNlbnRlciB0aGUgZm9j
dXNlZCBlbGVtZW50IHdpdGhpbiB0aGUgdmlld3BvcnQsIHdpdGggYXMgbXVjaCBzcGFjaW5nIG9u
IGFsbCBzaWRlcyBhcworICAgIC8vIHdlIGNhbiBnZXQgYmFzZWQgb24gdGhlIHZpc2libGUgYXJl
YSBhZnRlciB6b29taW5nLiBUaGUgc3BhY2luZyBpbiBlaXRoZXIgZGltZW5zaW9uIGlzIGhhbGYg
dGhlCiAgICAgLy8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzaXplIG9mIHRoZSBET00gbm9kZSBh
bmQgdGhlIHNpemUgb2YgdGhlIHZpc2libGUgZnJhbWUuCi0gICAgQ0dGbG9hdCBob3Jpem9udGFs
U3BhY2VJbldlYlZpZXdDb29yZGluYXRlcyA9IHN0ZDo6bWF4KCh2aXNpYmxlU2l6ZS53aWR0aCAt
IGZvY3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUud2lkdGgoKSkgLyAyLjAsIDAuMCk7Ci0gICAg
Q0dGbG9hdCB2ZXJ0aWNhbFNwYWNlSW5XZWJWaWV3Q29vcmRpbmF0ZXMgPSBzdGQ6Om1heCgodmlz
aWJsZVNpemUuaGVpZ2h0IC0gZm9jdXNlZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS5oZWlnaHQoKSkg
LyAyLjAsIDAuMCk7CisgICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgdG9vIHdpZGUgdG8gYmUgaG9y
aXpvbnRhbGx5IGNlbnRlcmVkIG9yIHRvbyB0YWxsIHRvIGJlIHZlcnRpY2FsbHkgY2VudGVyZWQs
IHdlCisgICAgLy8gaW5zdGVhZCBzY3JvbGwgc3VjaCB0aGF0IHRoZSBsZWZ0IGVkZ2Ugb3IgdG9w
IGVkZ2Ugb2YgdGhlIGVsZW1lbnQgaXMgd2l0aGluIHRoZSBsZWZ0IGhhbGYgb3IgdG9wCisgICAg
Ly8gaGFsZiBvZiB0aGUgdmlld3BvcnQsIHJlc3BlY3RpdmVseS4KKyAgICBDR0Zsb2F0IGhvcml6
b250YWxTcGFjZUluV2ViVmlld0Nvb3JkaW5hdGVzID0gKHZpc2libGVTaXplLndpZHRoIC0gZm9j
dXNlZEVsZW1lbnRSZWN0SW5OZXdTY2FsZS53aWR0aCgpKSAvIDIuMDsKKyAgICBDR0Zsb2F0IHZl
cnRpY2FsU3BhY2VJbldlYlZpZXdDb29yZGluYXRlcyA9ICh2aXNpYmxlU2l6ZS5oZWlnaHQgLSBm
b2N1c2VkRWxlbWVudFJlY3RJbk5ld1NjYWxlLmhlaWdodCgpKSAvIDIuMDsKKworICAgIGF1dG8g
dG9wTGVmdCA9IENHUG9pbnRaZXJvOworICAgIGF1dG8gc2Nyb2xsVmlld0luc2V0cyA9IFtfc2Ny
b2xsVmlldyBfZWZmZWN0aXZlQ29udGVudEluc2V0XTsKKyAgICBhdXRvIGN1cnJlbnRUb3BMZWZ0
ID0gW19zY3JvbGxWaWV3IGNvbnRlbnRPZmZzZXRdOworCisgICAgaWYgKF9oYXZlU2V0T2JzY3Vy
ZWRJbnNldHMpIHsKKyAgICAgICAgY3VycmVudFRvcExlZnQueCArPSBfb2JzY3VyZWRJbnNldHMu
bGVmdDsKKyAgICAgICAgY3VycmVudFRvcExlZnQueSArPSBfb2JzY3VyZWRJbnNldHMudG9wOwor
ICAgIH0KKworICAgIGlmIChob3Jpem9udGFsU3BhY2VJbldlYlZpZXdDb29yZGluYXRlcyA+IDAp
CisgICAgICAgIHRvcExlZnQueCA9IGZvY3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUueCgpIC0g
aG9yaXpvbnRhbFNwYWNlSW5XZWJWaWV3Q29vcmRpbmF0ZXM7CisgICAgZWxzZSB7CisgICAgICAg
IGF1dG8gbWluaW11bU9mZnNldFRvUmV2ZWFsTGVmdEVkZ2UgPSBzdGQ6Om1heCgtc2Nyb2xsVmll
d0luc2V0cy5sZWZ0LCBmb2N1c2VkRWxlbWVudFJlY3RJbk5ld1NjYWxlLngoKSAtIHZpc2libGVT
aXplLndpZHRoIC8gMik7CisgICAgICAgIGF1dG8gbWF4aW11bU9mZnNldFRvUmV2ZWFsTGVmdEVk
Z2UgPSBmb2N1c2VkRWxlbWVudFJlY3RJbk5ld1NjYWxlLngoKTsKKyAgICAgICAgdG9wTGVmdC54
ID0gY2xhbXBUbzxkb3VibGU+KGN1cnJlbnRUb3BMZWZ0LngsIG1pbmltdW1PZmZzZXRUb1JldmVh
bExlZnRFZGdlLCBtYXhpbXVtT2Zmc2V0VG9SZXZlYWxMZWZ0RWRnZSk7CisgICAgfQorCisgICAg
aWYgKHZlcnRpY2FsU3BhY2VJbldlYlZpZXdDb29yZGluYXRlcyA+IDApCisgICAgICAgIHRvcExl
ZnQueSA9IGZvY3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUueSgpIC0gdmVydGljYWxTcGFjZUlu
V2ViVmlld0Nvb3JkaW5hdGVzOworICAgIGVsc2UgeworICAgICAgICBhdXRvIG1pbmltdW1PZmZz
ZXRUb1JldmVhbFRvcEVkZ2UgPSBzdGQ6Om1heCgtc2Nyb2xsVmlld0luc2V0cy50b3AsIGZvY3Vz
ZWRFbGVtZW50UmVjdEluTmV3U2NhbGUueSgpIC0gdmlzaWJsZVNpemUuaGVpZ2h0IC8gMik7Cisg
ICAgICAgIGF1dG8gbWF4aW11bU9mZnNldFRvUmV2ZWFsVG9wRWRnZSA9IGZvY3VzZWRFbGVtZW50
UmVjdEluTmV3U2NhbGUueSgpOworICAgICAgICB0b3BMZWZ0LnkgPSBjbGFtcFRvPGRvdWJsZT4o
Y3VycmVudFRvcExlZnQueSwgbWluaW11bU9mZnNldFRvUmV2ZWFsVG9wRWRnZSwgbWF4aW11bU9m
ZnNldFRvUmV2ZWFsVG9wRWRnZSk7CisgICAgfQogCi0gICAgQ0dQb2ludCB0b3BMZWZ0OwotICAg
IHRvcExlZnQueCA9IGZvY3VzZWRFbGVtZW50UmVjdEluTmV3U2NhbGUueCgpIC0gaG9yaXpvbnRh
bFNwYWNlSW5XZWJWaWV3Q29vcmRpbmF0ZXM7Ci0gICAgdG9wTGVmdC55ID0gZm9jdXNlZEVsZW1l
bnRSZWN0SW5OZXdTY2FsZS55KCkgLSB2ZXJ0aWNhbFNwYWNlSW5XZWJWaWV3Q29vcmRpbmF0ZXMg
LSB2aXNpYmxlT2Zmc2V0RnJvbVRvcDsKKyAgICB0b3BMZWZ0LnkgLT0gdmlzaWJsZU9mZnNldEZy
b21Ub3A7CisKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgZG9jdW1lbnRCb3VuZHNJbk5ld1NjYWxl
ID0gW19jb250ZW50VmlldyBib3VuZHNdOworICAgIGRvY3VtZW50Qm91bmRzSW5OZXdTY2FsZS5z
Y2FsZShzY2FsZSk7CisgICAgZG9jdW1lbnRCb3VuZHNJbk5ld1NjYWxlLm1vdmVCeShbX2NvbnRl
bnRWaWV3IGZyYW1lXS5vcmlnaW4pOwogCiAgICAgQ0dGbG9hdCBtaW5pbXVtQWxsb3dhYmxlSG9y
aXpvbnRhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzID0gLUlORklOSVRZOwogICAgIENHRmxv
YXQgbWluaW11bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXMgPSAt
SU5GSU5JVFk7CisgICAgQ0dGbG9hdCBtYXhpbXVtQWxsb3dhYmxlSG9yaXpvbnRhbE9mZnNldElu
V2ViVmlld0Nvb3JkaW5hdGVzID0gQ0dSZWN0R2V0TWF4WChkb2N1bWVudEJvdW5kc0luTmV3U2Nh
bGUpIC0gdmlzaWJsZVNpemUud2lkdGg7CisgICAgQ0dGbG9hdCBtYXhpbXVtQWxsb3dhYmxlVmVy
dGljYWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlcyA9IENHUmVjdEdldE1heFkoZG9jdW1lbnRC
b3VuZHNJbk5ld1NjYWxlKSAtIHZpc2libGVTaXplLmhlaWdodDsKKwogICAgIGlmIChzZWxlY3Rp
b25SZWN0SXNOb3ROdWxsKSB7CiAgICAgICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBzZWxlY3Rpb25S
ZWN0SW5OZXdTY2FsZSA9IHNlbGVjdGlvblJlY3RJbkRvY3VtZW50Q29vcmRpbmF0ZXM7CiAgICAg
ICAgIHNlbGVjdGlvblJlY3RJbk5ld1NjYWxlLnNjYWxlKHNjYWxlKTsKICAgICAgICAgc2VsZWN0
aW9uUmVjdEluTmV3U2NhbGUubW92ZUJ5KFtfY29udGVudFZpZXcgZnJhbWVdLm9yaWdpbik7Cisg
ICAgICAgIC8vIEFkanVzdCB0aGUgbWluIGFuZCBtYXggYWxsb3dhYmxlIHNjcm9sbCBvZmZzZXRz
LCBzdWNoIHRoYXQgdGhlIHNlbGVjdGlvbiByZWN0IHJlbWFpbnMgdmlzaWJsZS4KICAgICAgICAg
bWluaW11bUFsbG93YWJsZUhvcml6b250YWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlcyA9IENH
UmVjdEdldE1heFgoc2VsZWN0aW9uUmVjdEluTmV3U2NhbGUpICsgY2FyZXRPZmZzZXRGcm9tV2lu
ZG93RWRnZSAtIHZpc2libGVTaXplLndpZHRoOwogICAgICAgICBtaW5pbXVtQWxsb3dhYmxlVmVy
dGljYWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlcyA9IENHUmVjdEdldE1heFkoc2VsZWN0aW9u
UmVjdEluTmV3U2NhbGUpICsgY2FyZXRPZmZzZXRGcm9tV2luZG93RWRnZSAtIHZpc2libGVTaXpl
LmhlaWdodCAtIHZpc2libGVPZmZzZXRGcm9tVG9wOworICAgICAgICBtYXhpbXVtQWxsb3dhYmxl
SG9yaXpvbnRhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzID0gc3RkOjptaW4obWF4aW11bUFs
bG93YWJsZUhvcml6b250YWxPZmZzZXRJbldlYlZpZXdDb29yZGluYXRlcywgQ0dSZWN0R2V0TWlu
WChzZWxlY3Rpb25SZWN0SW5OZXdTY2FsZSkgLSBjYXJldE9mZnNldEZyb21XaW5kb3dFZGdlKTsK
KyAgICAgICAgbWF4aW11bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0
ZXMgPSBzdGQ6Om1pbihtYXhpbXVtQWxsb3dhYmxlVmVydGljYWxPZmZzZXRJbldlYlZpZXdDb29y
ZGluYXRlcywgQ0dSZWN0R2V0TWluWShzZWxlY3Rpb25SZWN0SW5OZXdTY2FsZSkgLSBjYXJldE9m
ZnNldEZyb21XaW5kb3dFZGdlIC0gdmlzaWJsZU9mZnNldEZyb21Ub3ApOwogICAgIH0KIAotICAg
IFdlYkNvcmU6OkZsb2F0UmVjdCBkb2N1bWVudEJvdW5kc0luTmV3U2NhbGUgPSBbX2NvbnRlbnRW
aWV3IGJvdW5kc107Ci0gICAgZG9jdW1lbnRCb3VuZHNJbk5ld1NjYWxlLnNjYWxlKHNjYWxlKTsK
LSAgICBkb2N1bWVudEJvdW5kc0luTmV3U2NhbGUubW92ZUJ5KFtfY29udGVudFZpZXcgZnJhbWVd
Lm9yaWdpbik7Ci0KICAgICAvLyBDb25zdHJhaW4gdGhlIGxlZnQgZWRnZSBpbiBkb2N1bWVudCBj
b29yZGluYXRlcyBzbyB0aGF0OgogICAgIC8vICAtIGl0IGlzbid0IHNvIHNtYWxsIHRoYXQgdGhl
IHNjcm9sbFZpc2libGVSZWN0IGlzbid0IHZpc2libGUgb24gdGhlIHNjcmVlbgogICAgIC8vICAt
IGl0IGlzbid0IHNvIGdyZWF0IHRoYXQgdGhlIGRvY3VtZW50J3MgcmlnaHQgZWRnZSBpcyBsZXNz
IHRoYW4gdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIHNjcmVlbgotICAgIGlmIChzZWxlY3Rpb25SZWN0
SXNOb3ROdWxsICYmIHRvcExlZnQueCA8IG1pbmltdW1BbGxvd2FibGVIb3Jpem9udGFsT2Zmc2V0
SW5XZWJWaWV3Q29vcmRpbmF0ZXMpCi0gICAgICAgIHRvcExlZnQueCA9IG1pbmltdW1BbGxvd2Fi
bGVIb3Jpem9udGFsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXM7Ci0gICAgZWxzZSB7Ci0gICAg
ICAgIENHRmxvYXQgbWF4aW11bUFsbG93YWJsZUhvcml6b250YWxPZmZzZXQgPSBDR1JlY3RHZXRN
YXhYKGRvY3VtZW50Qm91bmRzSW5OZXdTY2FsZSkgLSB2aXNpYmxlU2l6ZS53aWR0aDsKLSAgICAg
ICAgaWYgKHRvcExlZnQueCA+IG1heGltdW1BbGxvd2FibGVIb3Jpem9udGFsT2Zmc2V0KQotICAg
ICAgICAgICAgdG9wTGVmdC54ID0gbWF4aW11bUFsbG93YWJsZUhvcml6b250YWxPZmZzZXQ7Ci0g
ICAgfQorICAgIHRvcExlZnQueCA9IGNsYW1wVG88Q0dGbG9hdD4odG9wTGVmdC54LCBtaW5pbXVt
QWxsb3dhYmxlSG9yaXpvbnRhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzLCBtYXhpbXVtQWxs
b3dhYmxlSG9yaXpvbnRhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5hdGVzKTsKIAogICAgIC8vIENv
bnN0cmFpbiB0aGUgdG9wIGVkZ2UgaW4gZG9jdW1lbnQgY29vcmRpbmF0ZXMgc28gdGhhdDoKICAg
ICAvLyAgLSBpdCBpc24ndCBzbyBzbWFsbCB0aGF0IHRoZSBzY3JvbGxWaXNpYmxlUmVjdCBpc24n
dCB2aXNpYmxlIG9uIHRoZSBzY3JlZW4KICAgICAvLyAgLSBpdCBpc24ndCBzbyBncmVhdCB0aGF0
IHRoZSBkb2N1bWVudCdzIGJvdHRvbSBlZGdlIGlzIGhpZ2hlciB0aGFuIHRoZSB0b3Agb2YgdGhl
IGZvcm0gYXNzaXN0YW50Ci0gICAgaWYgKHNlbGVjdGlvblJlY3RJc05vdE51bGwgJiYgdG9wTGVm
dC55IDwgbWluaW11bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0SW5XZWJWaWV3Q29vcmRpbmF0ZXMp
Ci0gICAgICAgIHRvcExlZnQueSA9IG1pbmltdW1BbGxvd2FibGVWZXJ0aWNhbE9mZnNldEluV2Vi
Vmlld0Nvb3JkaW5hdGVzOwotICAgIGVsc2UgewotICAgICAgICBDR0Zsb2F0IG1heGltdW1BbGxv
d2FibGVWZXJ0aWNhbE9mZnNldCA9IENHUmVjdEdldE1heFkoZG9jdW1lbnRCb3VuZHNJbk5ld1Nj
YWxlKSAtIHZpc2libGVTaXplLmhlaWdodDsKLSAgICAgICAgaWYgKHRvcExlZnQueSA+IG1heGlt
dW1BbGxvd2FibGVWZXJ0aWNhbE9mZnNldCkKLSAgICAgICAgICAgIHRvcExlZnQueSA9IG1heGlt
dW1BbGxvd2FibGVWZXJ0aWNhbE9mZnNldDsKKyAgICB0b3BMZWZ0LnkgPSBjbGFtcFRvPENHRmxv
YXQ+KHRvcExlZnQueSwgbWluaW11bUFsbG93YWJsZVZlcnRpY2FsT2Zmc2V0SW5XZWJWaWV3Q29v
cmRpbmF0ZXMsIG1heGltdW1BbGxvd2FibGVWZXJ0aWNhbE9mZnNldEluV2ViVmlld0Nvb3JkaW5h
dGVzKTsKKworICAgIGlmIChfaGF2ZVNldE9ic2N1cmVkSW5zZXRzKSB7CisgICAgICAgIC8vIFRo
aXMgbG9va3MgdW5pbnR1aXRpdmUsIGJ1dCBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gcHJlY2lz
ZWx5IGNlbnRlciB0aGUgZm9jdXNlZCBlbGVtZW50IGluIHRoZSB2aXNpYmxlIGFyZWEuCisgICAg
ICAgIC8vIFRoZSB0b3AgbGVmdCBwb3NpdGlvbiBhbHJlYWR5IGFjY291bnRzIGZvciB0b3AgYW5k
IGxlZnQgb2JzY3VyZWQgaW5zZXRzIC0gaS5lLiwgYSB0b3BMZWZ0IG9mICgwLCAwKSBjb3JyZXNw
b25kcworICAgICAgICAvLyB0byB0aGUgdG9wLSBhbmQgbGVmdC1tb3N0IHBvaW50IGJlbG93IChh
bmQgdG8gdGhlIHJpZ2h0IG9mKSB0aGUgdG9wIGluc2V0IGFyZWEgYW5kIGxlZnQgaW5zZXQgYXJl
YXMsIHJlc3BlY3RpdmVseS4KKyAgICAgICAgLy8gSG93ZXZlciwgd2hlbiB0ZWxsaW5nIFdLU2Ny
b2xsVmlldyB0byBzY3JvbGwgdG8gYSBnaXZlbiBjZW50ZXIgcG9zaXRpb24sIHRoaXMgY2VudGVy
IHBvc2l0aW9uIGlzIGNvbXB1dGVkIHJlbGF0aXZlCisgICAgICAgIC8vIHRvIHRoZSBjb29yZGlu
YXRlIHNwYWNlIG9mIHRoZSBzY3JvbGwgdmlldy4gVGh1cywgdG8gY29tcHV0ZSBvdXIgY2VudGVy
IHBvc2l0aW9uIGZyb20gdGhlIHRvcCBsZWZ0IHBvc2l0aW9uLCB3ZQorICAgICAgICAvLyBuZWVk
IHRvIGZpcnN0IG1vdmUgdGhlIHRvcCBsZWZ0IHBvc2l0aW9uIHVwIGFuZCB0byB0aGUgbGVmdCwg
YW5kIHRoZW4gYWRkIGhhbGYgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGNvbnRlbnQKKyAg
ICAgICAgLy8gYXJlYSAoaW5jbHVkaW5nIG9ic2N1cmVkIGluc2V0cykuCisgICAgICAgIHRvcExl
ZnQueCAtPSBfb2JzY3VyZWRJbnNldHMubGVmdDsKKyAgICAgICAgdG9wTGVmdC55IC09IF9vYnNj
dXJlZEluc2V0cy50b3A7CiAgICAgfQogCi0gICAgV2ViQ29yZTo6RmxvYXRQb2ludCBuZXdDZW50
ZXIgPSBDR1BvaW50TWFrZSh0b3BMZWZ0LnggKyB1bm9ic2N1cmVkU2Nyb2xsVmlld1JlY3RJbldl
YlZpZXdDb29yZGluYXRlcy5zaXplLndpZHRoIC8gMi4wLCB0b3BMZWZ0LnkgKyB1bm9ic2N1cmVk
U2Nyb2xsVmlld1JlY3RJbldlYlZpZXdDb29yZGluYXRlcy5zaXplLmhlaWdodCAvIDIuMCk7Cisg
ICAgV2ViQ29yZTo6RmxvYXRQb2ludCBuZXdDZW50ZXIgPSBDR1BvaW50TWFrZSh0b3BMZWZ0Lngg
KyBDR1JlY3RHZXRXaWR0aChzZWxmLmJvdW5kcykgLyAyLCB0b3BMZWZ0LnkgKyBDR1JlY3RHZXRI
ZWlnaHQoc2VsZi5ib3VuZHMpIC8gMik7CiAKICAgICBpZiAoc2NhbGUgIT0gY3VycmVudFNjYWxl
KQogICAgICAgICBfcGFnZS0+d2lsbFN0YXJ0VXNlclRyaWdnZXJlZFpvb21pbmcoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5h
bC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFs
LmgKaW5kZXggMWQxNTE5NGNiZmJhOWE5ZDZhYTI3NDc5Y2M3YmE1YWU4NmIzYjc1YS4uODZlNzFm
YjYxOWVkMjM1Yjk4Y2VkYjk1YjMwMzQ0ZWY3MDczMWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAgLTEwMSw3
ICsxMDEsNyBAQCBzdHJ1Y3QgUHJpbnRJbmZvOwogCiAtICh2b2lkKV9zY3JvbGxUb0NvbnRlbnRT
Y3JvbGxQb3NpdGlvbjooV2ViQ29yZTo6RmxvYXRQb2ludClzY3JvbGxQb3NpdGlvbiBzY3JvbGxP
cmlnaW46KFdlYkNvcmU6OkludFBvaW50KXNjcm9sbE9yaWdpbjsKIC0gKEJPT0wpX3Njcm9sbFRv
UmVjdDooV2ViQ29yZTo6RmxvYXRSZWN0KXRhcmdldFJlY3Qgb3JpZ2luOihXZWJDb3JlOjpGbG9h
dFBvaW50KW9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6KGZsb2F0KW1pbmltdW1TY3JvbGxE
aXN0YW5jZTsKLS0gKHZvaWQpX3pvb21Ub0ZvY3VzUmVjdDooV2ViQ29yZTo6RmxvYXRSZWN0KWZv
Y3VzZWRFbGVtZW50UmVjdCBzZWxlY3Rpb25SZWN0OihXZWJDb3JlOjpGbG9hdFJlY3Qpc2VsZWN0
aW9uUmVjdEluRG9jdW1lbnRDb29yZGluYXRlcyBpbnNpZGVGaXhlZDooQk9PTClpbnNpZGVGaXhl
ZCBmb250U2l6ZTooZmxvYXQpZm9udFNpemUgbWluaW11bVNjYWxlOihkb3VibGUpbWluaW11bVNj
YWxlIG1heGltdW1TY2FsZTooZG91YmxlKW1heGltdW1TY2FsZSBhbGxvd1NjYWxpbmc6KEJPT0wp
YWxsb3dTY2FsaW5nIGZvcmNlU2Nyb2xsOihCT09MKWZvcmNlU2Nyb2xsOworLSAodm9pZClfem9v
bVRvRm9jdXNSZWN0Oihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKWZvY3VzZWRFbGVtZW50UmVj
dCBzZWxlY3Rpb25SZWN0Oihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKXNlbGVjdGlvblJlY3RJ
bkRvY3VtZW50Q29vcmRpbmF0ZXMgaW5zaWRlRml4ZWQ6KEJPT0wpaW5zaWRlRml4ZWQgZm9udFNp
emU6KGZsb2F0KWZvbnRTaXplIG1pbmltdW1TY2FsZTooZG91YmxlKW1pbmltdW1TY2FsZSBtYXhp
bXVtU2NhbGU6KGRvdWJsZSltYXhpbXVtU2NhbGUgYWxsb3dTY2FsaW5nOihCT09MKWFsbG93U2Nh
bGluZyBmb3JjZVNjcm9sbDooQk9PTClmb3JjZVNjcm9sbDsKIC0gKEJPT0wpX3pvb21Ub1JlY3Q6
KFdlYkNvcmU6OkZsb2F0UmVjdCl0YXJnZXRSZWN0IHdpdGhPcmlnaW46KFdlYkNvcmU6OkZsb2F0
UG9pbnQpb3JpZ2luIGZpdEVudGlyZVJlY3Q6KEJPT0wpZml0RW50aXJlUmVjdCBtaW5pbXVtU2Nh
bGU6KGRvdWJsZSltaW5pbXVtU2NhbGUgbWF4aW11bVNjYWxlOihkb3VibGUpbWF4aW11bVNjYWxl
IG1pbmltdW1TY3JvbGxEaXN0YW5jZTooZmxvYXQpbWluaW11bVNjcm9sbERpc3RhbmNlOwogLSAo
dm9pZClfem9vbU91dFdpdGhPcmlnaW46KFdlYkNvcmU6OkZsb2F0UG9pbnQpb3JpZ2luIGFuaW1h
dGVkOihCT09MKWFuaW1hdGVkOwogLSAodm9pZClfem9vbVRvSW5pdGlhbFNjYWxlV2l0aE9yaWdp
bjooV2ViQ29yZTo6RmxvYXRQb2ludClvcmlnaW4gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMjhkNDQ1YTdlMjlkNDk3M2JmMTVjMWVmYzEzMzEwMTEyYTIxNWMzMC4uNDczOWJjYTY0
NGNlOTI4ZTk5ODZiYTM3YzNkMjA3ZTY4MTExYmIxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE4LTEyLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAg
ICAgIFtpT1NdIEZvY3VzaW5nIGEgbGFyZ2UgZWRpdGFibGUgZWxlbWVudCBhbHdheXMgc2Nyb2xs
cyB0byB0aGUgdG9wIG9mIHRoZSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI3NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ2NzU4
NDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIG5ldyBsYXlvdXQgdGVzdCB0byB2ZXJpZnkgdGhhdCB3ZSBkb24ndCBzY3JvbGwgdW5uZWNl
c3NhcmlseSB3aGVuIGZvY3VzaW5nIGEgdGFsbCBlZGl0YWJsZSBlbGVtZW50LCB3aG9zZQorICAg
ICAgICB0b3Agb2Zmc2V0IGlzIGFscmVhZHkgbmVhciB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC4K
KworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9uby1zY3JvbGxpbmctd2hlbi1mb2N1
c2luZy1sYXJnZS1lZGl0YWJsZS1hcmVhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vaW9zL25vLXNjcm9sbGluZy13aGVuLWZvY3VzaW5nLWxhcmdlLWVk
aXRhYmxlLWFyZWEuaHRtbDogQWRkZWQuCisKIDIwMTgtMTItMTUgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUlRDUnRwU2VuZGVyLnNldFBhcmFtZXRl
cnMgdG8gYWN0aXZhdGUgc3BlY2lmaWMgZW5jb2RpbmdzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3Mvbm8tc2Nyb2xsaW5nLXdoZW4tZm9jdXNpbmctbGFyZ2Ut
ZWRpdGFibGUtYXJlYS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9pb3Mvbm8tc2Nyb2xsaW5nLXdoZW4tZm9jdXNpbmctbGFyZ2UtZWRpdGFibGUtYXJlYS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM2YzVmZmZkYTQ3ZDQyOGQyZDMyOTdmNTc5MWFlOTYzZGNm
OWUxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lv
cy9uby1zY3JvbGxpbmctd2hlbi1mb2N1c2luZy1sYXJnZS1lZGl0YWJsZS1hcmVhLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYgQEAKKyAgICBIZXJlJ3MgdG8gdGhlIGNyYXp5IG9uZXMuIFRoZSBt
aXNmaXRzLiBUaGUgcmViZWxzLiBUaGUgdHJvdWJsZW1ha2Vycy4gVGhlIHJvdW5kIHBlZ3MgaW4g
dGhlIHNxdWFyZSBob2xlcy4gVGhlIG9uZXMgd2hvIHNlZSB0aGluZ3MgZGlmZmVyZW50bHkuIFRo
ZXkncmUgbm90IGZvbmQgb2YgcnVsZXMuIEFuZCB0aGV5IGhhdmUgbm8gcmVzcGVjdCBmb3IgdGhl
IHN0YXR1cyBxdW8uIFlvdSBjYW4gcXVvdGUgdGhlbSwgZGlzYWdyZWUgd2l0aCB0aGVtLCBnbG9y
aWZ5IG9yIHZpbGlmeSB0aGVtLiBBYm91dCB0aGUgb25seSB0aGluZyB5b3UgY2FuJ3QgZG8gaXMg
aWdub3JlIHRoZW0uIEJlY2F1c2UgdGhleSBjaGFuZ2UgdGhpbmdzLiBUaGV5IHB1c2ggdGhlIGh1
bWFuIHJhY2UgZm9yd2FyZC4gQW5kIHdoaWxlIHNvbWUgbWF5IHNlZSB0aGVtIGFzIHRoZSBjcmF6
eSBvbmVzLCB3ZSBzZWUgZ2VuaXVzLiBCZWNhdXNlIHRoZSBwZW9wbGUgd2hvIGFyZSBjcmF6eSBl
bm91Z2ggdG8gdGhpbmsgdGhleSBjYW4gY2hhbmdlIHRoZSB3b3JsZCwgYXJlIHRoZSBvbmVzIHdo
byBkby4KKyAgICAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHdlIGF2b2lkIHVubmVjZXNzYXJ5
IHNjcm9sbGluZyB3aGVuIGZvY3VzaW5nIGxhcmdlIGVkaXRhYmxlIGFyZWFzLiBUbyByZXByb2R1
Y2UgbWFudWFsbHksIHNjcm9sbCB0byB0aGUgdG9wIGFuZCBmb2N1cyB0aGUgZmlyc3QgbGluZSBv
ZiBlZGl0YWJsZSB0ZXh0IGluIHRoZSBkYXNoZWQgYm94LiBUaGUgYmx1ZSBib3ggc2hvdWxkIHN0
aWxsIGJlIHZpc2libGUuCisKK1RoZSBpbml0aWFsIHNjcm9sbCBvZmZzZXQgaXM6IDAsMAorVGhl
IGZpbmFsIHNjcm9sbCBvZmZzZXQgaXM6IDAsMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vaW9zL25vLXNjcm9sbGluZy13aGVuLWZvY3VzaW5nLWxhcmdlLWVkaXRh
YmxlLWFyZWEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9uby1zY3Jv
bGxpbmctd2hlbi1mb2N1c2luZy1sYXJnZS1lZGl0YWJsZS1hcmVhLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDg4NjFlMWUzNWI5YjMxMzlkNDU2NjYxYWYyMDIwMjFiM2Q3ZjUxNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9uby1zY3JvbGxpbmctd2hlbi1m
b2N1c2luZy1sYXJnZS1lZGl0YWJsZS1hcmVhLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0x
Ij4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwIj4KKyAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGJsdWU7
IG9wYWNpdHk6IDAuMjUiPjwvZGl2PgorICAgIDxwcmUgaWQ9ImVkaXRvciIgY29udGVudGVkaXRh
YmxlIHN0eWxlPSJsaW5lLWhlaWdodDogMS41ZW07IGJvcmRlcjogc2lsdmVyIGRhc2hlZCAycHg7
IGhlaWdodDogMTAwdmg7IG1hcmdpbi10b3A6IDAiPgorICAgIEhlcmUncyB0byB0aGUgY3Jhenkg
b25lcy4gVGhlIG1pc2ZpdHMuIFRoZSByZWJlbHMuIFRoZSB0cm91YmxlbWFrZXJzLiBUaGUgcm91
bmQgcGVncyBpbiB0aGUgc3F1YXJlIGhvbGVzLiBUaGUgb25lcyB3aG8gc2VlIHRoaW5ncyBkaWZm
ZXJlbnRseS4gVGhleSdyZSBub3QgZm9uZCBvZiBydWxlcy4gQW5kIHRoZXkgaGF2ZSBubyByZXNw
ZWN0IGZvciB0aGUgc3RhdHVzIHF1by4gWW91IGNhbiBxdW90ZSB0aGVtLCBkaXNhZ3JlZSB3aXRo
IHRoZW0sIGdsb3JpZnkgb3IgdmlsaWZ5IHRoZW0uIEFib3V0IHRoZSBvbmx5IHRoaW5nIHlvdSBj
YW4ndCBkbyBpcyBpZ25vcmUgdGhlbS4gQmVjYXVzZSB0aGV5IGNoYW5nZSB0aGluZ3MuIFRoZXkg
cHVzaCB0aGUgaHVtYW4gcmFjZSBmb3J3YXJkLiBBbmQgd2hpbGUgc29tZSBtYXkgc2VlIHRoZW0g
YXMgdGhlIGNyYXp5IG9uZXMsIHdlIHNlZSBnZW5pdXMuIEJlY2F1c2UgdGhlIHBlb3BsZSB3aG8g
YXJlIGNyYXp5IGVub3VnaCB0byB0aGluayB0aGV5IGNhbiBjaGFuZ2UgdGhlIHdvcmxkLCBhcmUg
dGhlIG9uZXMgd2hvIGRvLgorICAgIDwvcHJlPgorICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+Cisg
ICAgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgd2UgYXZvaWQgdW5uZWNlc3Nhcnkgc2Nyb2xsaW5n
IHdoZW4gZm9jdXNpbmcgbGFyZ2UgZWRpdGFibGUgYXJlYXMuIFRvIHJlcHJvZHVjZSBtYW51YWxs
eSwgc2Nyb2xsIHRvIHRoZSB0b3AgYW5kIGZvY3VzIHRoZSBmaXJzdCBsaW5lIG9mIGVkaXRhYmxl
IHRleHQgaW4gdGhlIGRhc2hlZCBib3guIFRoZSBibHVlIGJveCBzaG91bGQgc3RpbGwgYmUgdmlz
aWJsZS4KKyAgICA8L3A+CisgICAgPGRpdj4KKyAgICAgICAgPHByZT5UaGUgaW5pdGlhbCBzY3Jv
bGwgb2Zmc2V0IGlzOiA8c3BhbiBpZD0iaW5pdGlhbCI+PC9zcGFuPjwvcHJlPgorICAgICAgICA8
cHJlPlRoZSBmaW5hbCBzY3JvbGwgb2Zmc2V0IGlzOiA8c3BhbiBpZD0iZmluYWwiPjwvc3Bhbj48
L3ByZT4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsK
KyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0
aWFsLnRleHRDb250ZW50ID0gW3BhZ2VYT2Zmc2V0LCBwYWdlWU9mZnNldF0udG9TdHJpbmcoKTsK
KworICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlQW5kV2FpdEZvcklucHV0U2Vzc2lvbkF0KDEw
MCwgNjApOworICAgIGVkaXRvci5ibHVyKCk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvcktl
eWJvYXJkVG9IaWRlKCk7CisKKyAgICBmaW5hbC50ZXh0Q29udGVudCA9IFtwYWdlWE9mZnNldCwg
cGFnZVlPZmZzZXRdLnRvU3RyaW5nKCk7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9
KTsKKzwvc2NyaXB0PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>