<?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>201346</bug_id>
          
          <creation_ts>2019-08-30 10:44:00 -0700</creation_ts>
          <short_desc>Long presses that interrupt accelerated scrolling dispatch clicks on apps linked against iOS 12 or earlier</short_desc>
          <delta_ts>2019-09-01 13:42:44 -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>Scrolling</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>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1566724</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-30 10:44:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/54885784&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566729</commentid>
    <comment_count>1</comment_count>
      <attachid>377726</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-30 10:57:00 -0700</bug_when>
    <thetext>Created attachment 377726
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566929</commentid>
    <comment_count>2</comment_count>
      <attachid>377779</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-30 20:07:28 -0700</bug_when>
    <thetext>Created attachment 377779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566931</commentid>
    <comment_count>3</comment_count>
      <attachid>377781</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-30 20:08:50 -0700</bug_when>
    <thetext>Created attachment 377781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566934</commentid>
    <comment_count>4</comment_count>
      <attachid>377784</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-08-30 20:31:34 -0700</bug_when>
    <thetext>Created attachment 377784
Fix macOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567064</commentid>
    <comment_count>5</comment_count>
      <attachid>377784</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-09-01 12:58:38 -0700</bug_when>
    <thetext>Comment on attachment 377784
Fix macOS build

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

&gt; Tools/ChangeLog:15
&gt; +        Drive-by fix: also check enableLazyImageLoading when determining whether two TestOptions are the same.

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567071</commentid>
    <comment_count>6</comment_count>
      <attachid>377784</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 13:42:42 -0700</bug_when>
    <thetext>Comment on attachment 377784
Fix macOS build

Clearing flags on attachment: 377784

Committed r249368: &lt;https://trac.webkit.org/changeset/249368&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567072</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-01 13:42:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377726</attachid>
            <date>2019-08-30 10:57:00 -0700</date>
            <delta_ts>2019-08-30 20:07:27 -0700</delta_ts>
            <desc>Work in progress</desc>
            <filename>bug-201346-20190830105659.patch</filename>
            <type>text/plain</type>
            <size>4252</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0NzVmNTEyMTM2NzkwZjRm
NjNiZjM1ZGQ2NDBkZTE1MzljNmRlNjkuLjkzZmNhYTBjMTAxNDdlOGFjNDcxMjZiZmMzZDUxODdi
ZTEzMTY2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRo
YXQgaW50ZXJydXB0aW5nIGFjY2VsZXJhdGVkIHNjcm9sbGluZyBzaG91bGQgbm90IGRpc3BhdGNo
IGNsaWNrIGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NDg4NTc4ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXb3JrIGluIHByb2dyZXNz
IHBhdGNoIChubyB0ZXN0cyB5ZXQpLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGdlc3R1cmVSZWNvZ25pemVyU2hvdWxkQmVn
aW46XSk6CisKKyAgICAgICAgQXZvaWQgZmlyaW5nIHRoZSBoaWdobGlnaHQgbG9uZyBwcmVzcyBn
ZXN0dXJlIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBsb25nIHByZXNzIGludGVycnVwdHMgbW9tZW50
dW0gc2Nyb2xsaW5nLCBieQorICAgICAgICBwaWdneS1iYWNraW5nIG9mZiBvZiBleGlzdGluZyBs
b2dpYyB1c2VkIHRvIHN1cHByZXNzIFVJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplciBy
ZWNvZ25pdGlvbiBpbiB0aGUgc2FtZQorICAgICAgICBzY2VuYXJpby4KKworICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9zaG91bGRJZ25vcmVUb3VjaGVzRHVlVG9JbnRlcnJ1cHRpbmdTY3JvbGxW
aWV3RGVjZWxlcmF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGdlc3R1cmVSZWNv
Z25pemVyOnNob3VsZElnbm9yZVdlYlRvdWNoV2l0aEV2ZW50Ol0pOgorCisgICAgICAgIEZhY3Rv
ciBvdXQgZXhpc3RpbmcgbG9naWMgZm9yIGRldGVybWluaW5nIHdoZXRoZXIgdG8gaWdub3JlIHdl
YiB0b3VjaCBldmVudCBnZXN0dXJlcyBpbnRvIGEgc2VwYXJhdGUgaGVscGVyCisgICAgICAgIG1l
dGhvZCwgc28gdGhhdCBpdCBtYXkgYmUgdXNlZCBmb3IgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNz
IGdlc3R1cmUgYXMgd2VsbC4KKwogMjAxOS0wOC0yOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBDYXJldCBkb2VzIG5vdCBhcHBlYXIgaW4gdGV4dCBm
aWVsZCBpbnNpZGUgYSB0cmFuc2Zvcm1lZCwgb3ZlcmZsb3c6IGhpZGRlbiBjb250YWluZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggOGJjNDhiZGZjMjdk
NmZhNjNkN2MzMGFlM2QyZGMzMzZlNDdjOGQxMi4uZjZhZWZhNDUxYTM5YzZiM2YxZDE0N2M3Mjc2
ZTcwMzU3ZTU3MzkxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9z
L1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJ
LmgKQEAgLTI5MCw2ICsyOTAsNyBAQCB0eXBlZGVmIGVudW0gewogQHByb3BlcnR5IChub25hdG9t
aWMpIENGVGltZUludGVydmFsIGRlbGF5OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBDR1BvaW50IHN0YXJ0UG9pbnQ7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0
ZXI9X3NldFJlcXVpcmVzUXVpZXRJbXB1bHNlOikgQk9PTCBfcmVxdWlyZXNRdWlldEltcHVsc2U7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TQXJyYXkgKnRvdWNoZXM7CiBAZW5k
CiAKIEBpbnRlcmZhY2UgX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIg
OiBVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA3MTFiZDE1
ODQyMDllZTI5NGY0MWFmYWQzOTQ2MDcxY2I2M2EyMmQ2Li5lODJlZDQ4MTdiZDlhYmZjZTVhMThi
ODU4YTIwOWM3NjY5ODU0NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTIxMjMsNiArMjEyMyw5IEBA
IC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVjb2duaXpl
ciAqKWdlc3R1cmVSZWNvZ25pemVyCiAgICAgfQogCiAgICAgaWYgKGdlc3R1cmVSZWNvZ25pemVy
ID09IF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcikgeworICAgICAgICBpZiAo
W3NlbGYgX3Nob3VsZElnbm9yZVRvdWNoZXNEdWVUb0ludGVycnVwdGluZ1Njcm9sbFZpZXdEZWNl
bGVyYXRpb246W19oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciB0b3VjaGVzXV0p
CisgICAgICAgICAgICByZXR1cm4gTk87CisKICAgICAgICAgaWYgKGhhc0ZvY3VzZWRFbGVtZW50
KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKSkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyBh
IGRpZmZlcmVudCBlbGVtZW50IHRoYW4gdGhlIGZvY3VzZWQgb25lLgogICAgICAgICAgICAgLy8g
UHJldmVudCB0aGUgZ2VzdHVyZSBpZiB0aGVyZSBpcyBubyBub2RlLgpAQCAtNjI1NiwxMSArNjI1
OSw4IEBAIC0gKEJPT0wpc2hvdWxkSWdub3JlV2ViVG91Y2gKICAgICByZXR1cm4gTk87CiB9CiAK
LS0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXI6KFVJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyIHNob3VsZElnbm9yZVdlYlRvdWNoV2l0aEV2ZW50OihV
SUV2ZW50ICopZXZlbnQKKy0gKEJPT0wpX3Nob3VsZElnbm9yZVRvdWNoZXNEdWVUb0ludGVycnVw
dGluZ1Njcm9sbFZpZXdEZWNlbGVyYXRpb246KE5TQXJyYXk8VUlUb3VjaCAqPiAqKXRvdWNoZXMK
IHsKLSAgICBfY2FuU2VuZFRvdWNoRXZlbnRzQXN5bmNocm9ub3VzbHkgPSBOTzsKLQotICAgIE5T
U2V0PFVJVG91Y2ggKj4gKnRvdWNoZXMgPSBbZXZlbnQgdG91Y2hlc0Zvckdlc3R1cmVSZWNvZ25p
emVyOmdlc3R1cmVSZWNvZ25pemVyXTsKICAgICBmb3IgKFVJVG91Y2ggKnRvdWNoIGluIHRvdWNo
ZXMpIHsKICAgICAgICAgaWYgKFt0b3VjaC52aWV3IGlzS2luZE9mQ2xhc3M6W1VJU2Nyb2xsVmll
dyBjbGFzc11dICYmIFsoVUlTY3JvbGxWaWV3ICopdG91Y2gudmlldyBfaXNJbnRlcnJ1cHRpbmdE
ZWNlbGVyYXRpb25dKQogICAgICAgICAgICAgcmV0dXJuIFlFUzsKQEAgLTYyNjgsNiArNjI2OCwx
MyBAQCAtIChCT09MKWdlc3R1cmVSZWNvZ25pemVyOihVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJl
Y29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogICAgIHJldHVybiBzZWxmLl9zY3JvbGxlci5f
aXNJbnRlcnJ1cHRpbmdEZWNlbGVyYXRpb247CiB9CiAKKy0gKEJPT0wpZ2VzdHVyZVJlY29nbml6
ZXI6KFVJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVy
IHNob3VsZElnbm9yZVdlYlRvdWNoV2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKK3sKKyAgICBf
Y2FuU2VuZFRvdWNoRXZlbnRzQXN5bmNocm9ub3VzbHkgPSBOTzsKKworICAgIHJldHVybiBbc2Vs
ZiBfc2hvdWxkSWdub3JlVG91Y2hlc0R1ZVRvSW50ZXJydXB0aW5nU2Nyb2xsVmlld0RlY2VsZXJh
dGlvbjpbZXZlbnQgdG91Y2hlc0Zvckdlc3R1cmVSZWNvZ25pemVyOmdlc3R1cmVSZWNvZ25pemVy
XS5hbGxPYmplY3RzXTsKK30KKwogLSAoQk9PTClpc0FueVRvdWNoT3ZlckFjdGl2ZUFyZWE6KE5T
U2V0ICopdG91Y2hlcwogewogICAgIHJldHVybiBZRVM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377779</attachid>
            <date>2019-08-30 20:07:28 -0700</date>
            <delta_ts>2019-08-30 20:08:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201346-20190830200728.patch</filename>
            <type>text/plain</type>
            <size>36421</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjNjk0YzIzYTAxNzJmMzIx
MGIwZTVmNDI1MGJiNzcyOWNmOTIwYzYuLjhmMjNiZDBkOGZjOTRiOWY3ZjA2ODRkYTczMmMzNTRj
ZGVmNjQ1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODQgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRo
YXQgaW50ZXJydXB0IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBkaXNwYXRjaCBjbGlja3Mgb24gYXBw
cyBsaW5rZWQgYWdhaW5zdCBpT1MgMTIgb3IgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NDg4NTc4ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGb3IgYXBwcyB0aGF0IGFyZSBsaW5rZWQgb24gb3IgYWZ0ZXIgaU9TIDEzLCB3ZSBhZGQg
YSBjb250ZXh0IG1lbnUgaW50ZXJhY3Rpb24gdG8gdGhlIGNvbnRlbnQgdmlldywgd2hpY2gKKyAg
ICAgICAgcmVxdWlyZXMgdXMgdG8gZGlzYWJsZSAob3IgYXZvaWQgYWRkaW5nKSB0aGUgaGlnaGxp
Z2h0IGxvbmcgcHJlc3MgZ2VzdHVyZSByZWNvZ25pemVyLiBIb3dldmVyLCBmb3IgYXBwcyB0aGF0
IGFyZQorICAgICAgICBsaW5rZWQgb24gdGhlIGlPUyAxMiBTREsgb3IgcHJpb3IsIHRoaXMgZ2Vz
dHVyZSBpcyBzdGlsbCBwcmVzZW50LCBhbmQgZmlyZXMgd2hlbiBsb25nIHByZXNzaW5nIGZvciAo
cm91Z2hseSkgdXAKKyAgICAgICAgdG8gMC43NSBzZWNvbmRzIGlmIGEgdGFwIGdlc3R1cmUgd2Fz
IG5vdCByZWNvZ25pemVkIGluc3RlYWQuIEZpcmluZyB0aGlzIGdlc3R1cmUgc2VuZHMgYSBjbGlj
ayBldmVudCB0byB0aGUKKyAgICAgICAgcGFnZTsgdGhpcyBicmluZ3MgYmFjayBzb21lIGZvcm0g
b2YgPHJkYXI6Ly9wcm9ibGVtLzUzODg5MzczPiwgYnV0IG9ubHkgd2hlbiBob2xkaW5nIGZvciBz
bGlnaHRseSBsb25nZXIgdGhhbiBhCisgICAgICAgIG5vcm1hbCB0YXAsIGFuZCBhbHNvIG9ubHkg
aW4gYXBwcyBsaW5rZWQgb24gaU9TIDEyIG9yIGVhcmxpZXIuIFRvIGZpeCB0aGlzLCB3ZSBhcHBs
eSBhIHNpbWlsYXIgc29sdXRpb24gYXMgaW4KKyAgICAgICAgcjI0ODQzMyBhbmQgZGV0ZWN0IHdo
ZXRoZXIgYSBsb25nIHByZXNzIGdlc3R1cmUgaW50ZXJydXB0ZWQgc2Nyb2xsIHZpZXcgZGVjZWxl
cmF0aW9uIGluCisgICAgICAgIC1nZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOi4gSWYgc28s
IHdlIHJldHVybiBOTyB0byBhdm9pZCBjbGlja2luZy4gU2VlIHBlci1tZXRob2QgY29tbWVudHMg
YmVsb3cgZm9yIG1vcmUKKyAgICAgICAgZGV0YWlscy4KKworICAgICAgICBUZXN0aW5nIHRoaXMg
YnVnIGFzLWlzIHdhcyB0cmlja3ksIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGluIGxheW91dCB0ZXN0
cyB0byBzaW11bGF0ZSBiZWluZyBsaW5rZWQgb24gb3IgYmVmb3JlIGEKKyAgICAgICAgZ2l2ZW4g
U0RLIHZlcnNpb24uIEx1Y2tpbHksIHJlY2FsbCB0aGF0OgorICAgICAgICAxLiBUaGlzIGJ1ZyBv
Y2N1cnMgd2hlbiB0aGUgaGlnaGxpZ2h0IGdlc3R1cmUgcmVjb2duaXplciBpcyBlbmFibGVkIGFu
ZCBhZGRlZCB0byB0aGUgY29udGVudCB2aWV3LgorICAgICAgICAyLiBUaGUgaGlnaGxpZ2h0IGdl
c3R1cmUgcmVjb2duaXplciBvbmx5IG5lZWRzIHRvIGJlIGRpc2FibGVkIG9yIHJlbW92ZWQgd2hl
biBjb250ZXh0IG1lbnUgaW50ZXJhY3Rpb24gaXMgYWRkZWQuCisgICAgICAgIEFzIHN1Y2gsIHdl
IHNob3VsZCBiZSBhYmxlIHRvIHJlc3RvcmUgdGhlIGhpZ2hsaWdodCBnZXN0dXJlIHJlY29nbml6
ZXIgYnkgc3VwcHJlc3NpbmcgdGhlIGNvbnRleHQgbWVudQorICAgICAgICBpbnRlcmFjdGlvbiBp
biBhbiBhcHAgbGlua2VkLW9uLW9yLWFmdGVyIGlPUyAxMywgYnkgc2V0dGluZyBhbGxvd3NMaW5r
UHJldmlldyB0byBOTy4gVW5mb3J0dW5hdGVseSwgdGhpcyBkb2Vzbid0CisgICAgICAgIHF1aXRl
IHdvcmssIHNpbmNlIHdlIGN1cnJlbnRseSBhbHdheXMgYXZvaWQgYWRkaW5nIHRoZSBoaWdobGln
aHQgZ2VzdHVyZSByZWNvZ25pemVyIGlmIHRoZSBhcHAgaXMgbGlua2VkIG9uCisgICAgICAgIGlP
UyAxMyBvciBsYXRlci4KKworICAgICAgICBIb3dldmVyLCB0aGlzIG1lYW5zIHRoYXQgdGhlIGhp
Z2hsaWdodCBnZXN0dXJlIHJlY29nbml6ZXIgaXMgYWJzZW50IGZyb20gdGhlIGNvbnRlbnQgdmll
dyBpbiBhcHBzIGxpbmtlZCBhZ2FpbnN0CisgICAgICAgIGlPUyAxMyB0aGF0IGRpc2FibGUgbGlu
ayBwcmV2aWV3cywgZXZlbiB0aG91Z2ggaXRzIGFic2VuY2UgaXMgbm90IHJlcXVpcmVkLiBUaGlz
IG1lYW5zIHRoYXQgbG9uZyBwcmVzc2luZyBhCisgICAgICAgIGNsaWNrYWJsZSBlbGVtZW50IGlu
IGEgd2ViIHZpZXcgdGhhdCBkaXNhYmxlcyBsaW5rIHByZXZpZXdzIGRvZXMgbm90IHNob3cgYSB0
YXAgaGlnaGxpZ2h0IG9uIGlPUyAxMywgd2hlcmVhcyBpdAorICAgICAgICB3b3VsZCBvbiBpT1Mg
MTI7IHRoaXMgaXMgYSByZWdyZXNzaW9uLCBhbGJlaXQgYSB2ZXJ5IHN1YnRsZSBvbmUuIFRvIGZp
eCB0aGlzIHN1YnRsZSBpc3N1ZSBhbmQgbWFrZSBpdCBwb3NzaWJsZQorICAgICAgICB0byB3cml0
ZSBhIHRlc3QgZm9yIHRoaXMgYnVnLCB3ZSByZWZhY3RvciBzb21lIGxvZ2ljIGZvciBjcmVhdGlu
ZyBhbmQgY29uZmlndXJpbmcgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNzCisgICAgICAgIGdlc3R1
cmUsIHN1Y2ggdGhhdCB3ZSBub3cgdW5jb25kaXRpb25hbGx5IGFkZCB0aGUgaGlnaGxpZ2h0IGdl
c3R1cmUsIGJ1dCBvbmx5IGVuYWJsZSBpdCBpbiBhcHBzIGxpbmtlZCBvbiBvcgorICAgICAgICBh
ZnRlciBpT1MgMTMgaWYgbGluayBwcmV2aWV3cyAoaS5lLiBjb250ZXh0IG1lbnUgaW50ZXJhY3Rp
b24pIGFyZSBub3QgYWxsb3dlZC4KKworICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9pb3Mv
Y2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1v
dmVyZmxvdy5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0
QWxsb3dzTGlua1ByZXZpZXc6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZXR1cEludGVyYWN0aW9u
XSk6CisKKyAgICAgICAgUmVmYWN0b3Igb3VyIGdlc3R1cmUgc2V0dXAgbG9naWMgdG8gYWx3YXlz
IGNyZWF0ZSBhbmQgYWRkIHRoZSBsb25nIHByZXNzIGFuZCBoaWdobGlnaHQgbG9uZyBwcmVzcyBn
ZXN0dXJlcywgYnV0CisgICAgICAgIGNvbmRpdGlvbmFsbHkgZGlzYWJsZSB0aGVtIGJhc2VkIG9u
IHdoZXRoZXIgb3Igbm90ICgxKSB0aGUgY29udGV4dCBtZW51IGlzIGF2YWlsYWJsZSwgYW5kICgy
KSBXS1dlYlZpZXcncworICAgICAgICBhbGxvd3NMaW5rUHJldmlldyBwcm9wZXJ0eS4KKworICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlc10pOgorCisgICAgICAgIEFkZCBhIG5ldyBoZWxwZXIgdG8gdXBkYXRl
IHRoZSBlbmFibGVkIHN0YXRlIG9mIHRoZSBsb25nIHByZXNzIGFuZCBoaWdobGlnaHQgbG9uZyBw
cmVzcyBnZXN0dXJlcywgYnkgY29uc3VsdGluZworICAgICAgICAtX3Nob3VsZFVzZUNvbnRleHRN
ZW51IGFuZCAtYWxsb3dzTGlua1ByZXZpZXcuIFRoaXMgaXMgY2FsbGVkIHdoZW4gc2V0dGluZyB1
cCB0aGUgZ2VzdHVyZXMsIGFzIHdlbGwgYXMgd2hlbmV2ZXIKKyAgICAgICAgLWFsbG93c0xpbmtQ
cmV2aWV3IGNoYW5nZXMuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBnZXN0dXJlUmVjb2du
aXplclNob3VsZEJlZ2luOl0pOgorCisgICAgICAgIEZhY3RvciBvdXQgbG9naWMgdG8gYXNjZW5k
IHRoZSB2aWV3IGhpZXJhcmNoeSBpbiBzZWFyY2ggb2YgYSBVSVNjcm9sbFZpZXcgdGhhdCB3YXMg
aW50ZXJydXB0ZWQgd2hpbGUKKyAgICAgICAgZGVjZWxlcmF0aW5nIGludG8gYSBsb2NhbCBsYW1i
ZGEgZnVuY3Rpb247IHVzZSB0aGlzIGZvciBib3RoIHRoZSBoaWdobGlnaHQgZ2VzdHVyZSBhbmQg
dGhlIHNpbmdsZSB0YXAgZ2VzdHVyZSwKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhl
eSBzaG91bGQgYmVnaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0TG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLm1tOiBBZGRlZC4KKworICAg
ICAgICBJbiBvcmRlciB0byByZW1lbWJlciB0aGUgVUlTY3JvbGxWaWV3IChpZiBhbnkpIHRyYWNr
ZWQgYnkgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNzIGdlc3R1cmUsIHdlIHN1YmNsYXNzCisgICAg
ICAgIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLiBXaGlsZSBVSUxv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIGRvZXMgaGF2ZSBTUEkgdG8gYXNrIGZvciBhIGxpc3Qg
b2YKKyAgICAgICAgVUlUb3VjaGVzLCBieSB0aGUgdGltZSB0aGUgZ2VzdHVyZSBoYXMgYmVlbiBy
ZWNvZ25pemVkIGFuZCB0aGUgZ2VzdHVyZSBkZWxlZ2F0ZXMgYXJlIGludm9rZWQsIHRoZXNlIFVJ
VG91Y2hlcworICAgICAgICBubyBsb25nZXIgY29ycmVzcG9uZCB0byBVSVZpZXdzLiBBcyBzdWNo
LCB0aGUgb25seSB0aW1lIHdlIGhhdmUgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIFVJVG91Y2hlcyB3
aXRoIHRoZWlyCisgICAgICAgIFVJVmlld3MgaXMgZHVyaW5nIHRoZSB0b3VjaGVzKiBzdWJjbGFz
cyBob29rcy4KKworICAgICAgICAoLVtXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyIHJlc2V0XSk6CisKKyAgICAgICAgQ2xlYXIgb3V0IHRoZSB0cmFja2VkIFVJU2Nyb2xsVmll
dyBoZXJlLCB3aGVuIHRoZSBnZXN0dXJlIGlzIHJlc2V0IChpLmUuIGFmdGVyIGVuZGluZywgb3Ig
YmVpbmcgY2FuY2VsZWQpLgorCisgICAgICAgICgtW1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVy
ZVJlY29nbml6ZXIgdG91Y2hlc0JlZ2FuOndpdGhFdmVudDpdKToKKworICAgICAgICBSZW1lbWJl
ciB0aGUgbGFzdCB0b3VjaGVkIFVJU2Nyb2xsVmlldyBoZXJlLgorCisgICAgICAgICgtW1dLSGln
aGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSk6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDgt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQYWdlOjpm
cm9tQ29yZVBhZ2UoKSB0byB0YWtlIGFuZCByZXR1cm4gYSBDKysgcmVmZXJlbmNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggYzY5OGI5NTNlNTAwMTMyMDMxNWZhODAzNTY2OWY0NTE4YjBjYjA2
Yi4uYTdkOTA4M2MwZTI5ZTc4Mjg0OGI0OTZkMjVkY2IxMDZhMDBjNzQ3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtNDIyLDYgKzQyMiw3IEBAIFVJUHJvY2Vzcy9pb3MvV0tEcmF3aW5nQ29v
cmRpbmF0b3IubW0KIFVJUHJvY2Vzcy9pb3MvV0tEcmF3aW5nVmlldy5tbQogVUlQcm9jZXNzL2lv
cy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1MubW0KIFVJUHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlv
blByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tCitVSVByb2Nlc3MvaW9zL1dLSGlnaGxp
Z2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tJbnNwZWN0
b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tLZXlib2Fy
ZFNjcm9sbGluZ0FuaW1hdG9yLm1tCiBVSVByb2Nlc3MvaW9zL1dLUGFzc3dvcmRWaWV3Lm1tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA3
NDNmZjJjNmNmZDc4NWY1MmFhZTY4YzgyZTljNzQ3ZTY0ZTBlYzE1Li44NGQzMGIxZDM4N2ViNTE4
N2U4ZTI3MWFjZTJiYWY4NDhhMzE1ZGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTM4MCw2ICszODAsNyBAQCBAaW1wbGVtZW50YXRp
b24gV0tXZWJWaWV3IHsKICAgICBSZXRhaW5QdHI8V0tUZXh0RmluZGVyQ2xpZW50PiBfdGV4dEZp
bmRlckNsaWVudDsKICNlbmRpZgogICAgIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZXMgX3NlbGVjdGlv
bkF0dHJpYnV0ZXM7CisgICAgQk9PTCBfc2hvdWxkRGlzYWJsZUNvbnRleHRNZW51c0ZvclRlc3Rp
bmc7CiB9CiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUKQEAg
LTEyNjcsNiArMTI2OCw3IEBAIC0gKHZvaWQpc2V0QWxsb3dzTGlua1ByZXZpZXc6KEJPT0wpYWxs
b3dzTGlua1ByZXZpZXcKICAgICAgICAgW19jb250ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3XTsK
ICAgICBlbHNlCiAgICAgICAgIFtfY29udGVudFZpZXcgX3VucmVnaXN0ZXJQcmV2aWV3XTsKKyAg
ICBbX2NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eV07CiAjZW5k
aWYgLy8gSEFWRShMSU5LX1BSRVZJRVcpCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IH0KQEAgLTY4MDYsNiArNjgwOCwxNiBAQCAtICh2b2lkKWFwcGx5QXV0b2NvcnJlY3Rpb246KE5T
U3RyaW5nICopbmV3U3RyaW5nIHRvU3RyaW5nOihOU1N0cmluZyAqKW9sZFN0cmluZwogICAgIH1d
OwogfQogCistIChCT09MKV9zaG91bGREaXNhYmxlQ29udGV4dE1lbnVzRm9yVGVzdGluZworewor
ICAgIHJldHVybiBfc2hvdWxkRGlzYWJsZUNvbnRleHRNZW51c0ZvclRlc3Rpbmc7Cit9CisKKy0g
KHZvaWQpX3NldFNob3VsZERpc2FibGVDb250ZXh0TWVudXNGb3JUZXN0aW5nOihCT09MKXZhbHVl
Cit7CisgICAgX3Nob3VsZERpc2FibGVDb250ZXh0TWVudXNGb3JUZXN0aW5nID0gdmFsdWU7Cit9
CisKIC0gKHZvaWQpZGlzbWlzc0Zvcm1BY2Nlc3NvcnlWaWV3CiB7CiAgICAgW19jb250ZW50Vmll
dyBhY2Nlc3NvcnlEb25lXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBkYThiYmZkOGE3NGZkZDE2YzBmZTVh
MGQ4NjU4YWViMzAxOTI4M2QzLi45NDY2MTg2OTFiNGNkZDlmOGU3NTZhYzhiNzM5ODlkNzFhM2Fk
OGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCkBAIC05OSw3ICs5OSw2IEBAIHN0cnVjdCBXZWJBdXRvY29ycmVj
dGlvbkNvbnRleHQ7CiAKIEBjbGFzcyBfVUlMb29rdXBHZXN0dXJlUmVjb2duaXplcjsKIEBjbGFz
cyBfVUlIaWdobGlnaHRWaWV3OwotQGNsYXNzIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyOwogQGNsYXNzIFVJSG92ZXJHZXN0dXJlUmVjb2duaXplcjsKIEBjbGFzcyBV
SVRhcmdldGVkUHJldmlldzsKIEBjbGFzcyBXZWJFdmVudDsKQEAgLTEwOSw2ICsxMDgsNyBAQCBz
dHJ1Y3QgV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0OwogQGNsYXNzIFdLRm9jdXNlZEZvcm1Db250
cm9sVmlldzsKIEBjbGFzcyBXS0Zvcm1JbnB1dENvbnRyb2w7CiBAY2xhc3MgV0tGb3JtSW5wdXRT
ZXNzaW9uOworQGNsYXNzIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI7CiBA
Y2xhc3MgV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXI7CiAKIHR5cGVkZWYg
dm9pZCAoXlVJV0tBdXRvY29ycmVjdGlvbkNvbXBsZXRpb25IYW5kbGVyKShVSVdLQXV0b2NvcnJl
Y3Rpb25SZWN0cyAqcmVjdHNGb3JJbnB1dCk7CkBAIC0yMTMsNyArMjEzLDcgQEAgc3RydWN0IFdL
QXV0b0NvcnJlY3Rpb25EYXRhIHsKICNlbmRpZgogCiAgICAgUmV0YWluUHRyPFdLU3ludGhldGlj
VGFwR2VzdHVyZVJlY29nbml6ZXI+IF9zaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplcjsKLSAgICBS
ZXRhaW5QdHI8X1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI+IF9oaWdo
bGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcjsKKyAgICBSZXRhaW5QdHI8V0tIaWdobGln
aHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcj4gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyOwogICAgIFJldGFpblB0cjxVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyPiBf
bG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI7CiAgICAgUmV0YWluUHRyPFdLU3ludGhldGljVGFw
R2VzdHVyZVJlY29nbml6ZXI+IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplcjsKICAgICBSZXRh
aW5QdHI8VUlUYXBHZXN0dXJlUmVjb2duaXplcj4gX25vbkJsb2NraW5nRG91YmxlVGFwR2VzdHVy
ZVJlY29nbml6ZXI7CkBAIC01NDgsNiArNTQ4LDggQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRF
TlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfc2hvdWxkQXZvaWRSZXNpemlu
Z1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2U7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIEJPT0wgX3Nob3VsZEF2b2lkU2Nyb2xsaW5nV2hlbkZvY3VzZWRDb250ZW50SXNWaXNpYmxl
OwogCistICh2b2lkKV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eTsKKwogQGVuZAog
CiBAaW50ZXJmYWNlIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4
IDcxMWJkMTU4NDIwOWVlMjk0ZjQxYWZhZDM5NDYwNzFjYjYzYTIyZDYuLjhiZDkzODIyN2E3Njk4
YzY4YWFlN2QwODRhZjA4NWVjNzVjMGQxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTIsNiArNTIs
NyBAQAogI2ltcG9ydCAiV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3LmgiCiAjaW1wb3J0ICJXS0Zv
cm1JbnB1dENvbnRyb2wuaCIKICNpbXBvcnQgIldLRm9ybVNlbGVjdENvbnRyb2wuaCIKKyNpbXBv
cnQgIldLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCIKICNpbXBvcnQgIldL
SW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldLSW5zcGVjdG9yTm9kZVNl
YXJjaEdlc3R1cmVSZWNvZ25pemVyLmgiCiAjaW1wb3J0ICJXS05TVVJMRXh0cmFzLmgiCkBAIC03
NTUsMTUgKzc1NiwxNSBAQCAtICh2b2lkKXNldHVwSW50ZXJhY3Rpb24KICAgICBbX3R3b0Zpbmdl
ckRvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOnNlbGZdOwogICAgIFtzZWxm
IGFkZEdlc3R1cmVSZWNvZ25pemVyOl90d29GaW5nZXJEb3VibGVUYXBHZXN0dXJlUmVjb2duaXpl
ci5nZXQoKV07CiAKLSAgICBfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgPSBh
ZG9wdE5TKFtbX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgYWxsb2Nd
IGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihfaGlnaGxpZ2h0TG9uZ1ByZXNz
UmVjb2duaXplZDopXSk7CisgICAgX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVy
ID0gYWRvcHROUyhbW1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgYWxsb2Nd
IGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihfaGlnaGxpZ2h0TG9uZ1ByZXNz
UmVjb2duaXplZDopXSk7CiAgICAgW19oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
ciBzZXREZWxheTpoaWdobGlnaHREZWxheV07CiAgICAgW19oaWdobGlnaHRMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciBzZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbc2VsZiBhZGRHZXN0dXJlUmVj
b2duaXplcjpfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOworCisg
ICAgW3NlbGYgX2NyZWF0ZUFuZENvbmZpZ3VyZUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyXTsK
IAogI2lmIEhBVkUoTElOS19QUkVWSUVXKQotICAgIGlmICghc2VsZi5fc2hvdWxkVXNlQ29udGV4
dE1lbnVzKSB7Ci0gICAgICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVyOl9oaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5nZXQoKV07Ci0gICAgICAgIFtzZWxmIF9jcmVhdGVB
bmRDb25maWd1cmVMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcl07Ci0gICAgfQorICAgIFtzZWxm
IF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlc107CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQpAQCAtMTAwNiw2ICsxMDA3LDIzIEBAIC0g
KHZvaWQpX2FkZERlZmF1bHRHZXN0dXJlUmVjb2duaXplcnMKICNlbmRpZgogfQogCistICh2b2lk
KV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eQoreworICAgIFtzZWxmIF91cGRhdGVM
b25nUHJlc3NBbmRIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlc107Cit9CisKKy0gKHZvaWQpX3Vw
ZGF0ZUxvbmdQcmVzc0FuZEhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVzCit7CisgICAgLy8gV2Ug
b25seSBkaXNhYmxlIHRoZSBoaWdobGlnaHQgbG9uZyBwcmVzcyBnZXN0dXJlIGluIHRoZSBjYXNl
IHdoZXJlIFVJQ29udGV4dE1lbnUgaXMgYXZhaWxhYmxlIGFuZCB3ZQorICAgIC8vIGFsc28gYWxs
b3cgbGluayBwcmV2aWV3cywgc2luY2UgdGhlIGNvbnRleHQgbWVudSBpbnRlcmFjdGlvbidzIGdl
c3R1cmVzIG5lZWQgdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIKKyAgICAvLyBoaWdobGlnaHQgbG9u
ZyBwcmVzcyBnZXN0dXJlcy4KKyAgICBbX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyIHNldEVuYWJsZWQ6IXNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51cyB8fCAhX3dlYlZpZXcu
YWxsb3dzTGlua1ByZXZpZXddOworCisgICAgLy8gV2Ugb25seSBlbmFibGUgdGhlIGxvbmcgcHJl
c3MgZ2VzdHVyZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgYXBwIGlzIGxpbmtlZCBvbiBpT1MgMTIg
b3IgZWFybGllciAoYW5kCisgICAgLy8gdGhlcmVmb3JlIHByZWZlcnMgdGhlIGxlZ2FjeSBhY3Rp
b24gc2hlZXQgb3ZlciBjb250ZXh0IG1lbnVzKSwgYW5kIGxpbmsgcHJldmlld3MgYXJlIGFsc28g
ZW5hYmxlZC4KKyAgICBbX2xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIHNldEVuYWJsZWQ6IXNl
bGYuX3Nob3VsZFVzZUNvbnRleHRNZW51cyAmJiBfd2ViVmlldy5hbGxvd3NMaW5rUHJldmlld107
Cit9CisKIC0gKFVJVmlldyAqKXVuc2NhbGVkVmlldwogewogICAgIHJldHVybiBfaW50ZXJhY3Rp
b25WaWV3c0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC0yMDkxLDIwICsyMTA5LDIzIEBAIC0gKEJP
T0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVjb2duaXplciAqKWdl
c3R1cmVSZWNvZ25pemVyCiAgICAgaWYgKGdlc3R1cmVSZWNvZ25pemVyID09IF9zdHlsdXNTaW5n
bGVUYXBHZXN0dXJlUmVjb2duaXplcikKICAgICAgICAgcmV0dXJuIF93ZWJWaWV3Ll9zdHlsdXNU
YXBHZXN0dXJlU2hvdWxkQ3JlYXRlRWRpdGFibGVJbWFnZTsKIAotICAgIGlmIChnZXN0dXJlUmVj
b2duaXplciA9PSBfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpIHsKKyAgICBhdXRvIGlzSW50
ZXJydXB0aW5nRGVjZWxlcmF0aW9uRm9yU2Nyb2xsVmlld09yQW5jZXN0b3IgPSBbJl0gKFVJU2Ny
b2xsVmlldyAqc2Nyb2xsVmlldykgewogICAgICAgICBVSVNjcm9sbFZpZXcgKm1haW5TY3JvbGxl
ciA9IF93ZWJWaWV3LnNjcm9sbFZpZXc7Ci0gICAgICAgIFVJVmlldyAqdmlldyA9IFtfc2luZ2xl
VGFwR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSA/OiBtYWluU2Nyb2xs
ZXI7CisgICAgICAgIFVJVmlldyAqdmlldyA9IHNjcm9sbFZpZXcgPzogbWFpblNjcm9sbGVyOwog
ICAgICAgICB3aGlsZSAodmlldykgewogICAgICAgICAgICAgaWYgKFt2aWV3IGlzS2luZE9mQ2xh
c3M6VUlTY3JvbGxWaWV3LmNsYXNzXSAmJiBbKFVJU2Nyb2xsVmlldyAqKXZpZXcgX2lzSW50ZXJy
dXB0aW5nRGVjZWxlcmF0aW9uXSkKLSAgICAgICAgICAgICAgICByZXR1cm4gTk87CisgICAgICAg
ICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgICAgICAgICAgaWYgKG1haW5TY3JvbGxlciA9PSB2
aWV3KQogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICB2aWV3ID0gdmlldy5z
dXBlcnZpZXc7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFlFUzsKLSAgICB9CisgICAgICAg
IHJldHVybiBOTzsKKyAgICB9OworCisgICAgaWYgKGdlc3R1cmVSZWNvZ25pemVyID09IF9zaW5n
bGVUYXBHZXN0dXJlUmVjb2duaXplcikKKyAgICAgICAgcmV0dXJuICFpc0ludGVycnVwdGluZ0Rl
Y2VsZXJhdGlvbkZvclNjcm9sbFZpZXdPckFuY2VzdG9yKFtfc2luZ2xlVGFwR2VzdHVyZVJlY29n
bml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSk7CiAKICAgICBpZiAoZ2VzdHVyZVJlY29nbml6
ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyCiAgICAgICAgIHx8IGdl
c3R1cmVSZWNvZ25pemVyID09IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplcgpAQCAtMjEyMyw2
ICsyMTQ0LDkgQEAgLSAoQk9PTClnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOihVSUdlc3R1
cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKICAgICB9CiAKICAgICBpZiAoZ2VzdHVy
ZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyKSB7Cisg
ICAgICAgIGlmIChpc0ludGVycnVwdGluZ0RlY2VsZXJhdGlvbkZvclNjcm9sbFZpZXdPckFuY2Vz
dG9yKFtfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3Jv
bGxWaWV3XSkpCisgICAgICAgICAgICByZXR1cm4gTk87CisKICAgICAgICAgaWYgKGhhc0ZvY3Vz
ZWRFbGVtZW50KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKSkgewogICAgICAgICAgICAgLy8g
VGhpcyBpcyBhIGRpZmZlcmVudCBlbGVtZW50IHRoYW4gdGhlIGZvY3VzZWQgb25lLgogICAgICAg
ICAgICAgLy8gUHJldmVudCB0aGUgZ2VzdHVyZSBpZiB0aGVyZSBpcyBubyBub2RlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2Vz
dHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdo
dExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE2OWMzNjc1ZGY0ZDNl
ODRmODQ5NjliNGRiNTY3YWVkMDJjMDgzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmgK
QEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0ICJV
SUtpdFNQSS5oIgorCitAaW50ZXJmYWNlIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIgOiBfVUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcgorCitAcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIHdlYWspIFVJU2Nyb2xsVmlldyAqbGFzdFRvdWNo
ZWRTY3JvbGxWaWV3OworCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVy
Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY0MDU4ZGUyZGI1MDc3ZDI2ZGQ3YzYzNTM2NDk5ZTc0ZGI5YTA4ODgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tIaWdobGln
aHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbQpAQCAtMCwwICsxLDU5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJXS0hpZ2hsaWdodExvbmdQcmVzc0dl
c3R1cmVSZWNvZ25pemVyLmgiCisKKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgorCitAaW1w
bGVtZW50YXRpb24gV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciB7CisgICAg
V2Vha09iakNQdHI8VUlTY3JvbGxWaWV3PiBfbGFzdFRvdWNoZWRTY3JvbGxWaWV3OworfQorCist
ICh2b2lkKXJlc2V0Cit7CisgICAgW3N1cGVyIHJlc2V0XTsKKworICAgIF9sYXN0VG91Y2hlZFNj
cm9sbFZpZXcgPSBuaWw7Cit9CisKKy0gKHZvaWQpdG91Y2hlc0JlZ2FuOihOU1NldDxVSVRvdWNo
ICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAoreworICAgIFtzdXBlciB0
b3VjaGVzQmVnYW46dG91Y2hlcyB3aXRoRXZlbnQ6ZXZlbnRdOworCisgICAgZm9yIChVSVRvdWNo
ICp0b3VjaCBpbiB0b3VjaGVzKSB7CisgICAgICAgIGlmIChbdG91Y2gudmlldyBpc0tpbmRPZkNs
YXNzOlVJU2Nyb2xsVmlldy5jbGFzc10pIHsKKyAgICAgICAgICAgIF9sYXN0VG91Y2hlZFNjcm9s
bFZpZXcgPSAoVUlTY3JvbGxWaWV3ICopdG91Y2gudmlldzsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgfQorfQorCistIChVSVNjcm9sbFZpZXcgKilsYXN0VG91Y2hlZFNjcm9s
bFZpZXcKK3sKKyAgICByZXR1cm4gX2xhc3RUb3VjaGVkU2Nyb2xsVmlldy5nZXQoKS5nZXQoKTsK
K30KKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMjNkNGYwOGMyZGRjOWVjMTMxY2JmMmU0NmJjZWM3MDBhYmE5ZmVhOC4uYTcz
Nzg1MDJhYWE0NzYyNTU1NzNlZjAwOTYzZTE5OTA4NTNhZjQxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzA3LDYgKzE3MDcsNyBA
QAogCQlGNENCMDlFNTIyNUQ1QTA5MDA4OTE0ODcgLyogV2Vic2l0ZU1lZGlhU291cmNlUG9saWN5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNENCMDlF
NDIyNUQ1QTAzMDA4OTE0ODcgLyogV2Vic2l0ZU1lZGlhU291cmNlUG9saWN5LmggKi87IH07CiAJ
CUY0RDVGNTFEMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENUY1
MTkyMDYwODdBMDAwMzhCQkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi87
IH07CiAJCUY0RDVGNTFGMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRMaXN0Vmlld0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xs
ZXIuaCAqLzsgfTsKKwkJRjREQjU0RTYyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGlnaGxpZ2h0TG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0REI1NEU0MjMxOUU3MzMwMDlFMzE1NSAvKiBXS0hpZ2hsaWdodExv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CiAJCUY2MTEzRTI1MTI2Q0UxODIwMDU3
RDBBNyAvKiBBUElVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBBUElV
c2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLzsgfTsKIAkJRjYxMTNFMjkxMjZDRTE5QjAwNTdEMEE3
IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNzEyNkNFMTlCMDA1N0QwQTcgLyogV0tVc2VyQ29u
dGVudFVSTFBhdHRlcm4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlGNjM0NDQ1NjEyQTg4NUM4MDAwNjEyRDggLyogQVBJU2VjdXJpdHlPcmlnaW4u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MzQ0NDU1
MTJBODg1QzgwMDA2MTJEOCAvKiBBUElTZWN1cml0eU9yaWdpbi5oICovOyB9OwpAQCAtNDc2NCw2
ICs0NzY1LDggQEAKIAkJRjRENUY1MUEyMDYwODdBMTAwMzhCQkE4IC8qIFdLVGV4dElucHV0TGlz
dFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMvV0tU
ZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tRdWlja2JvYXJkTGlz
dFZpZXdDb250cm9sbGVyLmg7IHBhdGggPSBpb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdD
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RDVGNTFDMjA2MDg3
QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRy
b2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVy
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNERCNTRFNDIzMTlFNzMzMDA5RTMx
NTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyLmg7IHBhdGggPSBpb3MvV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNERCNTRFNTIzMTlFNzMzMDA5RTMxNTUg
LyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXIubW07IHBhdGggPSBpb3MvV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2du
aXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRGNTlBRDMyMDY1QTVDOTAw
NkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
ci5tbTsgcGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjU5QUQ0MjA2NUE1Q0EwMDZDQUE0NiAv
KiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7IHBhdGggPSBpb3Mv
Zm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBBUElVc2VyQ29udGVudFVS
TFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTAxLDYgKzYx
MDQsOCBAQAogCQkJCTBGQ0I0RTNGMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0dlb2xvY2F0aW9uUHJv
dmlkZXJJT1MuaCAqLywKIAkJCQkwRkNCNEU0MDE4QkJFMDQ0MDAwRkNGQzkgLyogV0tHZW9sb2Nh
dGlvblByb3ZpZGVySU9TLm1tICovLAogCQkJCTBGQ0I0RTQxMThCQkUwNDQwMDBGQ0ZDOSAvKiBX
S0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NPYmpDU2VjdXJpdHlPcmlnaW4ubW0gKi8sCisJCQkJRjRE
QjU0RTQyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIuaCAqLywKKwkJCQlGNERCNTRFNTIzMTlFNzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbSAqLywKIAkJCQk5MzNERjgyRDFCM0JDMDkwMDBB
RUE5RTMgLyogV0tJbWFnZVByZXZpZXdWaWV3Q29udHJvbGxlci5oICovLAogCQkJCTkzM0RGODJG
MUIzQkMwQjQwMEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdDb250cm9sbGVyLm1tICovLAog
CQkJCTBGM0M3MjU5MTk2RjVGNjgwMEFFREQwQyAvKiBXS0luc3BlY3RvckhpZ2hsaWdodFZpZXcu
aCAqLywKQEAgLTk5MzgsNiArOTk0Myw3IEBACiAJCQkJQTU0M0UzMDcyMTVBRDEzNzAwMjc5Q0Q5
IC8qIFdlYlBhZ2VJbnNwZWN0b3JUYXJnZXRGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCUMwQ0U3MkExMTI0N0U3MUQwMEJDMEVDNCAvKiBXZWJQYWdlTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJENUM5RDA2MTlDODFEOEYwMEIzQzVDMSAvKiBXZWJQYWdlT3Zlcmxh
eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZDMzkyMjkyMzE2RUM0RDAwOEVFRDlCIC8qIFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkQzOTE1MTI1QkIxQTgw
MEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEy
MTI3QzQxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlkZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDNDY5NEQxMUE1MUUzNjgwMEFENTg0NSAvKiBXZWJQYXN0ZWJvYXJkUHJv
eHkuaCBpbiBIZWFkZXJzICovLApAQCAtMTAwMjgsNyArMTAwMzQsNiBAQAogCQkJCUM1RkExRUQz
MThFMTA2MjIwMEIzRjQwMiAvKiBXS0FpclBsYXlSb3V0ZVBpY2tlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkQxMkRBQjUyMDY2MkM3MzAwNkYwMEZCIC8qIFdLQW5pbWF0aW9uRGVsZWdhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDRERCMzJEMTI0RUMyRTEwMDQ4RDEzQyAvKiBXS0FQSUNhc3Qu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdl
UHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJFMzRFNTEzMEI0RDA1MDBB
QkQxOUEgLyogV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTEzREM2ODIyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmll
dy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MDc1RjQxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQXJy
YXkuaCBpbiBIZWFkZXJzICovLApAQCAtMTAxNzgsNiArMTAxODMsNyBAQAogCQkJCUJDMEU2MTk4
MTJENkNEMTIwMDEyQTcyQSAvKiBXS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGQ0I0RTRGMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0dlb2xvY2F0aW9uUHJvdmlkZXJJ
T1MuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzhCMzc0MTI1RkI2OTAwMERFNDZBNCAvKiBXS0dl
b21ldHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNERCNTRFNjIzMTlFNzMzMDA5RTMxNTUgLyog
V0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUE0MjJGOEIxOEIyOUI1NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjYyRTczMTIxNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVz
dFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMTI0OTkxRTc2M0MwMTAwMkIyODIwIC8q
IFdLSFRUUENvb2tpZVN0b3JlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZGQ5ZWI1ZjI3YTcxMTRjOGE0YzFhYzE2
NmRmZWI2Y2UzMjdhNmE3Li5iNTU2M2JjNTE3ZTQ2ZWI3MWIwYzk1MGQ0NGY0OWExMmZkM2UzNzU1
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRoYXQgaW50ZXJydXB0IGFjY2VsZXJhdGVk
IHNjcm9sbGluZyBkaXNwYXRjaCBjbGlja3Mgb24gYXBwcyBsaW5rZWQgYWdhaW5zdCBpT1MgMTIg
b3IgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NDg4NTc4ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCBvcHRp
b24gdG8gYWxsb3cgdGVzdHMgdG8gZGlzYWJsZSBsaW5rIHByZXZpZXdzLgorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OnVwZGF0
ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
VGVzdE9wdGlvbnMuaDoKKworICAgICAgICBEcml2ZS1ieSBmaXg6IGFsc28gY2hlY2sgZW5hYmxl
TGF6eUltYWdlTG9hZGluZyB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdHdvIFRlc3RPcHRpb25z
IGFyZSB0aGUgc2FtZS4KKworICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2FtZUluaXRp
YWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2Nv
YS9UZXN0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1DcmVhdGVXZWJWaWV3KToKKwogMjAxOS0wOC0zMCAgQWFrYXNoIEphaW4gIDxhYWth
c2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3cy1idWlsZF0gJ3JlLXJ1bi1sYXlvdXQt
dGVzdHMnIHN0ZXAgb24gbWFjT1MtSGlnaC1TaWVycmEtRGVidWctV0sxLVRlc3RzLUVXUyBydW5z
IFdLMiB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCA3MjYyZjk1MGViMGU2NDlhMzI4NzVlNGFjNjY3MzE0ZDBmNjZkNzZhLi5mYjRiZDQ3ODNjMGIy
OWM1NTQ1ZTA5YTU4MTVjZTdmN2Y3OWIxZWI3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMTQwMiw2ICsxNDAyLDggQEAgc3RhdGljIHZvaWQgdXBkYXRl
VGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihUZXN0T3B0aW9ucyYgdGVzdE9wdGlvbnMsIGNvbnN0
IHN0ZDoKICAgICAgICAgICAgIHRlc3RPcHRpb25zLmVuYWJsZVBhZ2VDYWNoZSA9IHBhcnNlQm9v
bGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiZW5h
YmxlTGF6eUltYWdlTG9hZGluZyIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVMYXp5
SW1hZ2VMb2FkaW5nID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoa2V5ID09ICJhbGxvd3NMaW5rUHJldmlldyIpCisgICAgICAgICAgICB0ZXN0
T3B0aW9ucy5hbGxvd3NMaW5rUHJldmlldyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2
YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAppbmRleCBhYTg3Y2JkYjJjNjNjZDg4NzQxZTYxZTYy
Y2ViNjBjMTMxZDI1OTkzLi4zNTJhNjI2NGVlN2U0YzczNzM4ZWY1NjVlNjMwYzRmODJkMjViODY5
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCkBAIC05NSw2ICs5NSw3IEBAIHN0
cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVBcHBOYXAgeyBmYWxzZSB9OwogICAg
IGJvb2wgZW5hYmxlUGFnZUNhY2hlIHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUxhenlJbWFn
ZUxvYWRpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgYWxsb3dzTGlua1ByZXZpZXcgeyB0cnVlIH07
CiAKICAgICBkb3VibGUgY29udGVudEluc2V0VG9wIHsgMCB9OwogCkBAIC0xNTEsNyArMTUyLDkg
QEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICAgICAgICAgIHx8IGNvbnRlbnRJbnNldFRvcCAh
PSBvcHRpb25zLmNvbnRlbnRJbnNldFRvcAogICAgICAgICAgICAgfHwgY29udGVudE1vZGUgIT0g
b3B0aW9ucy5jb250ZW50TW9kZQogICAgICAgICAgICAgfHwgZW5hYmxlQXBwTmFwICE9IG9wdGlv
bnMuZW5hYmxlQXBwTmFwCi0gICAgICAgICAgICB8fCBlbmFibGVQYWdlQ2FjaGUgIT0gb3B0aW9u
cy5lbmFibGVQYWdlQ2FjaGUpCisgICAgICAgICAgICB8fCBlbmFibGVQYWdlQ2FjaGUgIT0gb3B0
aW9ucy5lbmFibGVQYWdlQ2FjaGUKKyAgICAgICAgICAgIHx8IGVuYWJsZUxhenlJbWFnZUxvYWRp
bmcgIT0gb3B0aW9ucy5lbmFibGVMYXp5SW1hZ2VMb2FkaW5nCisgICAgICAgICAgICB8fCBhbGxv
d3NMaW5rUHJldmlldyAhPSBvcHRpb25zLmFsbG93c0xpbmtQcmV2aWV3KQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmICghY29udGV4dE9wdGlvbnMuaGFzU2FtZUluaXRp
YWxpemF0aW9uT3B0aW9ucyhvcHRpb25zLmNvbnRleHRPcHRpb25zKSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbSBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCAwNDU5
Njg1YjdjZjY3NjA5MWQ0ODFjYTNiY2ZjYjViOTQwYzYxMmIwLi45YTU1ODI0MTlhNmE2NTU4YjI2
YjcxN2E0ODk4OTJlZTJjOTMwM2Y2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCkBAIC0xNzcsNiArMTc3LDggQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNvbmZpZ3VyYXRpb25S
ZWYsIGNvbnN0IFRlc3RPcHQKIAogICAgIGlmIChvcHRpb25zLmVkaXRhYmxlKQogICAgICAgICBt
X21haW5XZWJWaWV3LT5zZXRFZGl0YWJsZSh0cnVlKTsKKworICAgIG1fbWFpbldlYlZpZXctPnBs
YXRmb3JtVmlldygpLmFsbG93c0xpbmtQcmV2aWV3ID0gb3B0aW9ucy5hbGxvd3NMaW5rUHJldmll
dzsKIH0KIAogUGxhdGZvcm1XZWJWaWV3KiBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVP
dGhlclBhZ2UoUGxhdGZvcm1XZWJWaWV3KiBwYXJlbnRWaWV3LCBXS1BhZ2VDb25maWd1cmF0aW9u
UmVmLCBjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYzA4M2IxNmFjM2IyZTEz
NjZkODUzMzVjZDYzMmY4NWExYjYzNDM4Li5kMTg5M2M1ZDliMDQ2MTExMzNkYWY4OWViODc2ODA1
ZDI4MTgxZGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRoYXQg
aW50ZXJydXB0IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBkaXNwYXRjaCBjbGlja3Mgb24gYXBwcyBs
aW5rZWQgYWdhaW5zdCBpT1MgMTIgb3IgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81
NDg4NTc4ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBjb3VwbGUgb2YgbmV3IGxheW91dCB0ZXN0cyB0byB2ZXJpZnkgdGhhdCB1c2luZyBh
IGxvbmcgcHJlc3MgZ2VzdHVyZSB0byBpbnRlcnJ1cHQgbW9tZW50dW0gc2Nyb2xsaW5nIGluIGEK
KyAgICAgICAgd2ViIHZpZXcgdGhhdCB1c2VzIEFQSSB0byBkaXNhYmxlIGxpbmsgcHJldmlld3Mg
ZG9lcyBub3QgcmVzdWx0IGluIGEgY2xpY2suCisKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9p
b3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1p
bi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvaW9zL2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3Jv
bGwtaW4tbWFpbi1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9p
b3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1p
bi1vdmVyZmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xs
LWluLW92ZXJmbG93Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTA4LTMwICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHBvc3RNZXNzYWdlIGJ1
ZmZlcmluZyBiZXR3ZWVuIHRoZSBzZXJ2aWNlIHdvcmtlciBhbmQgd2luZG93CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmct
cHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1w
cmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xsLWluLW1haW4tZnJhbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ0YTQxNjUwNTc5OGFhNWQ3NjQ4MWNkMWU4ZTVmNDA4NmIzYjVlYzQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRz
LWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1tYWluLWZyYW1lLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitWZXJpZmllcyB0aGF0IGxvbmcgcHJlc3Npbmcg
dGhlIHBhZ2UgZHVyaW5nIG1vbWVudHVtIHNjcm9sbGluZyBkb2VzIG5vdCBkaXNwYXRjaCBjbGlj
ayBldmVudHMgdG8gdGhlIHBhZ2UuIFRoaXMgdGVzdCByZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVy
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkb2N1bWVudC5zY3JvbGxp
bmdFbGVtZW50LnNjcm9sbFRvcCBwYXNzZWQgMTAwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50
dW0tc2Nyb2xsLWluLW1haW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xs
LWluLW1haW4tZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOGU4YmFiMjU5OTFiMWQ5MjMyMDMzZjdj
MWM1OWNjNjYzNWRlZTc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvaW9zL2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1z
Y3JvbGwtaW4tbWFpbi1mcmFtZS5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBhbGxv
d3NMaW5rUHJldmlldz1mYWxzZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNl
ci1zY2FsYWJsZT1ubyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0
dXJlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitodG1sLCBib2R5IHsKKyAgICB3aWR0aDogMTAw
JTsKKyAgICBtYXJnaW46IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7Cit9CisKKyNjb250ZW50IHsK
KyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MDAwcHg7CisgICAgYm94LXNpemluZzog
Ym9yZGVyLWJveDsKKyAgICBwYWRkaW5nOiAyMHB4OworICAgIGJhY2tncm91bmQ6IGxpbmVhci1n
cmFkaWVudCh0byBib3R0b20sIHJlZCAwJSwgZ3JlZW4gNTAlLCBibHVlIDEwMCUpOworfQorPC9z
dHlsZT4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2
PgorPC9ib2R5PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworY29uc3QgbWluaW11
bUV4cGVjdGVkU2Nyb2xsVG9wID0gMTAwMDsKK2xldCByZWFjaGVkTWluaW11bVNjcm9sbFBvc2l0
aW9uID0gZmFsc2U7CisKK2FkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIG9ic2VydmVTY3JvbGxF
dmVudCk7Citkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gdGVz
dEZhaWxlZCgiT2JzZXJ2ZWQgdW5leHBlY3RlZCBjbGljayBldmVudC4iKSwgeyBvbmNlOiB0cnVl
IH0pOworCitmdW5jdGlvbiBub3RlVGVzdFByb2dyZXNzKCkgeworICAgIGlmICghd2luZG93LnBy
b2dyZXNzKQorICAgICAgICBwcm9ncmVzcyA9IDA7CisgICAgaWYgKCsrcHJvZ3Jlc3MgPT0gMikK
KyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIG9ic2VydmVTY3Jv
bGxFdmVudCgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8IGRvY3VtZW50LnNjcm9s
bGluZ0VsZW1lbnQuc2Nyb2xsVG9wIDwgbWluaW11bUV4cGVjdGVkU2Nyb2xsVG9wIHx8IHJlYWNo
ZWRNaW5pbXVtU2Nyb2xsUG9zaXRpb24pCisgICAgICAgIHJldHVybjsKKworICAgIHJlYWNoZWRN
aW5pbXVtU2Nyb2xsUG9zaXRpb24gPSB0cnVlOworICAgIHRlc3RQYXNzZWQoYGRvY3VtZW50LnNj
cm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wIHBhc3NlZCAke21pbmltdW1FeHBlY3RlZFNjcm9sbFRv
cH1gKTsKKyAgICByZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBvYnNlcnZlU2Nyb2xsRXZl
bnQpOworICAgIGF3YWl0IGxvbmdQcmVzc0F0UG9pbnQoMTYwLCBkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcCArIDM1MCwgMSk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckRv
dWJsZVRhcERlbGF5KCk7CisgICAgbm90ZVRlc3RQcm9ncmVzcygpOworfQorCithc3luYyBmdW5j
dGlvbiBydW5UZXN0KCkKK3sKKyAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCBsb25nIHBy
ZXNzaW5nIHRoZSBwYWdlIGR1cmluZyBtb21lbnR1bSBzY3JvbGxpbmcgZG9lcyBub3QgZGlzcGF0
Y2ggY2xpY2sgZXZlbnRzIHRvIHRoZSBwYWdlLiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0VGVz
dFJ1bm5lci4iKTsKKworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF3YWl0IFVJSGVscGVyLmRyYWdGcm9tUG9pbnRUb1BvaW50KDE2MCwgNDUwLCAx
NjAsIDUwLCAwLjEpOworICAgIG5vdGVUZXN0UHJvZ3Jlc3MoKTsKK30KKzwvc2NyaXB0PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNrLWV2
ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tb3ZlcmZsb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNrLWV2ZW50
cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMGJhZjMzNmZjOGNhZGQyNzM4MzQ2MmE5NDExYzIzNTEx
NGY2NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mv
Y2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1v
dmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVmVyaWZpZXMgdGhhdCBsb25n
IHByZXNzaW5nIGEgc3Vic2Nyb2xsYWJsZSByZWdpb24gZHVyaW5nIG1vbWVudHVtIHNjcm9sbGlu
ZyBkb2VzIG5vdCBkaXNwYXRjaCBjbGljayBldmVudHMuIFRoaXMgdGVzdCByZXF1aXJlcyBXZWJL
aXRUZXN0UnVubmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzY3Jv
bGxlci5zY3JvbGxUb3AgcGFzc2VkIDUwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Ny
b2xsLWluLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvY2xp
Y2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1vdmVy
Zmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMWNiZjI0YzQ5MDUwZmU5MzlhYTdkZjY3ZDVlMzQzYWFj
ZmZlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mv
Y2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1v
dmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBpbnRlcm5hbDpBc3luY092
ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIGFsbG93c0xpbmtQcmV2aWV3PWZhbHNlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Jhc2ljLWdlc3R1cmVzLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KK2h0bWwsIGJvZHkgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAg
ICBtYXJnaW46IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7Cit9CisKKyNzY3JvbGxlciB7CisgICAg
d2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiA3NSU7CisgICAgb3ZlcmZsb3c6IHNjcm9sbDsKKyAg
ICBib3JkZXI6IDRweCBzb2xpZCBibGFjazsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Owor
fQorCisjY29udGVudCB7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogNTAwMHB4Owor
ICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgcGFkZGluZzogMjBweDsKKyAgICBiYWNr
Z3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZWQgMCUsIGdyZWVuIDUwJSwgYmx1
ZSAxMDAlKTsKK30KKzwvc3R5bGU+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRp
diBpZD0ic2Nyb2xsZXIiPgorICAgICAgICA8ZGl2IGlkPSJjb250ZW50Ij48L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8cCBpZD0iY29uc29sZSI+
PC9wPgorPC9ib2R5PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitsZXQgcmVh
Y2hlZE1pbmltdW1TY3JvbGxQb3NpdGlvbiA9IGZhbHNlOworY29uc3QgbWluaW11bUV4cGVjdGVk
U2Nyb2xsVG9wID0gNTAwOworY29uc3Qgc2Nyb2xsZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2Nyb2xsZXIiKTsKKworc2Nyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgb2Jz
ZXJ2ZVNjcm9sbEV2ZW50KTsKK3Njcm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkg
PT4gdGVzdEZhaWxlZCgiT2JzZXJ2ZWQgdW5leHBlY3RlZCBjbGljayBldmVudC4iKSwgeyBvbmNl
OiB0cnVlIH0pOworCitmdW5jdGlvbiBub3RlVGVzdFByb2dyZXNzKCkgeworICAgIGlmICghd2lu
ZG93LnByb2dyZXNzKQorICAgICAgICBwcm9ncmVzcyA9IDA7CisgICAgaWYgKCsrcHJvZ3Jlc3Mg
PT0gMikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIG9ic2Vy
dmVTY3JvbGxFdmVudCgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8IHNjcm9sbGVy
LnNjcm9sbFRvcCA8IG1pbmltdW1FeHBlY3RlZFNjcm9sbFRvcCB8fCByZWFjaGVkTWluaW11bVNj
cm9sbFBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICByZWFjaGVkTWluaW11bVNjcm9s
bFBvc2l0aW9uID0gdHJ1ZTsKKyAgICB0ZXN0UGFzc2VkKGBzY3JvbGxlci5zY3JvbGxUb3AgcGFz
c2VkICR7bWluaW11bUV4cGVjdGVkU2Nyb2xsVG9wfWApOworICAgIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoInNjcm9sbCIsIG9ic2VydmVTY3JvbGxFdmVudCk7CisgICAgYXdhaXQgbG9uZ1ByZXNzQXRQ
b2ludCgxNjAsIDI1MCwgMSk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckRvdWJsZVRhcERl
bGF5KCk7CisgICAgbm90ZVRlc3RQcm9ncmVzcygpOworfQorCithc3luYyBmdW5jdGlvbiBydW5U
ZXN0KCkKK3sKKyAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCBsb25nIHByZXNzaW5nIGEg
c3Vic2Nyb2xsYWJsZSByZWdpb24gZHVyaW5nIG1vbWVudHVtIHNjcm9sbGluZyBkb2VzIG5vdCBk
aXNwYXRjaCBjbGljayBldmVudHMuIFRoaXMgdGVzdCByZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVy
LiIpOworCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgYXdhaXQgVUlIZWxwZXIuZHJhZ0Zyb21Qb2ludFRvUG9pbnQoMTYwLCAyNTAsIDE2MCwgNTAs
IDAuMSk7CisgICAgbm90ZVRlc3RQcm9ncmVzcygpOworfQorPC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377781</attachid>
            <date>2019-08-30 20:08:50 -0700</date>
            <delta_ts>2019-08-30 20:31:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201346-20190830200850.patch</filename>
            <type>text/plain</type>
            <size>35749</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjNjk0YzIzYTAxNzJmMzIx
MGIwZTVmNDI1MGJiNzcyOWNmOTIwYzYuLjhmMjNiZDBkOGZjOTRiOWY3ZjA2ODRkYTczMmMzNTRj
ZGVmNjQ1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODQgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRo
YXQgaW50ZXJydXB0IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBkaXNwYXRjaCBjbGlja3Mgb24gYXBw
cyBsaW5rZWQgYWdhaW5zdCBpT1MgMTIgb3IgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NDg4NTc4ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGb3IgYXBwcyB0aGF0IGFyZSBsaW5rZWQgb24gb3IgYWZ0ZXIgaU9TIDEzLCB3ZSBhZGQg
YSBjb250ZXh0IG1lbnUgaW50ZXJhY3Rpb24gdG8gdGhlIGNvbnRlbnQgdmlldywgd2hpY2gKKyAg
ICAgICAgcmVxdWlyZXMgdXMgdG8gZGlzYWJsZSAob3IgYXZvaWQgYWRkaW5nKSB0aGUgaGlnaGxp
Z2h0IGxvbmcgcHJlc3MgZ2VzdHVyZSByZWNvZ25pemVyLiBIb3dldmVyLCBmb3IgYXBwcyB0aGF0
IGFyZQorICAgICAgICBsaW5rZWQgb24gdGhlIGlPUyAxMiBTREsgb3IgcHJpb3IsIHRoaXMgZ2Vz
dHVyZSBpcyBzdGlsbCBwcmVzZW50LCBhbmQgZmlyZXMgd2hlbiBsb25nIHByZXNzaW5nIGZvciAo
cm91Z2hseSkgdXAKKyAgICAgICAgdG8gMC43NSBzZWNvbmRzIGlmIGEgdGFwIGdlc3R1cmUgd2Fz
IG5vdCByZWNvZ25pemVkIGluc3RlYWQuIEZpcmluZyB0aGlzIGdlc3R1cmUgc2VuZHMgYSBjbGlj
ayBldmVudCB0byB0aGUKKyAgICAgICAgcGFnZTsgdGhpcyBicmluZ3MgYmFjayBzb21lIGZvcm0g
b2YgPHJkYXI6Ly9wcm9ibGVtLzUzODg5MzczPiwgYnV0IG9ubHkgd2hlbiBob2xkaW5nIGZvciBz
bGlnaHRseSBsb25nZXIgdGhhbiBhCisgICAgICAgIG5vcm1hbCB0YXAsIGFuZCBhbHNvIG9ubHkg
aW4gYXBwcyBsaW5rZWQgb24gaU9TIDEyIG9yIGVhcmxpZXIuIFRvIGZpeCB0aGlzLCB3ZSBhcHBs
eSBhIHNpbWlsYXIgc29sdXRpb24gYXMgaW4KKyAgICAgICAgcjI0ODQzMyBhbmQgZGV0ZWN0IHdo
ZXRoZXIgYSBsb25nIHByZXNzIGdlc3R1cmUgaW50ZXJydXB0ZWQgc2Nyb2xsIHZpZXcgZGVjZWxl
cmF0aW9uIGluCisgICAgICAgIC1nZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOi4gSWYgc28s
IHdlIHJldHVybiBOTyB0byBhdm9pZCBjbGlja2luZy4gU2VlIHBlci1tZXRob2QgY29tbWVudHMg
YmVsb3cgZm9yIG1vcmUKKyAgICAgICAgZGV0YWlscy4KKworICAgICAgICBUZXN0aW5nIHRoaXMg
YnVnIGFzLWlzIHdhcyB0cmlja3ksIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGluIGxheW91dCB0ZXN0
cyB0byBzaW11bGF0ZSBiZWluZyBsaW5rZWQgb24gb3IgYmVmb3JlIGEKKyAgICAgICAgZ2l2ZW4g
U0RLIHZlcnNpb24uIEx1Y2tpbHksIHJlY2FsbCB0aGF0OgorICAgICAgICAxLiBUaGlzIGJ1ZyBv
Y2N1cnMgd2hlbiB0aGUgaGlnaGxpZ2h0IGdlc3R1cmUgcmVjb2duaXplciBpcyBlbmFibGVkIGFu
ZCBhZGRlZCB0byB0aGUgY29udGVudCB2aWV3LgorICAgICAgICAyLiBUaGUgaGlnaGxpZ2h0IGdl
c3R1cmUgcmVjb2duaXplciBvbmx5IG5lZWRzIHRvIGJlIGRpc2FibGVkIG9yIHJlbW92ZWQgd2hl
biBjb250ZXh0IG1lbnUgaW50ZXJhY3Rpb24gaXMgYWRkZWQuCisgICAgICAgIEFzIHN1Y2gsIHdl
IHNob3VsZCBiZSBhYmxlIHRvIHJlc3RvcmUgdGhlIGhpZ2hsaWdodCBnZXN0dXJlIHJlY29nbml6
ZXIgYnkgc3VwcHJlc3NpbmcgdGhlIGNvbnRleHQgbWVudQorICAgICAgICBpbnRlcmFjdGlvbiBp
biBhbiBhcHAgbGlua2VkLW9uLW9yLWFmdGVyIGlPUyAxMywgYnkgc2V0dGluZyBhbGxvd3NMaW5r
UHJldmlldyB0byBOTy4gVW5mb3J0dW5hdGVseSwgdGhpcyBkb2Vzbid0CisgICAgICAgIHF1aXRl
IHdvcmssIHNpbmNlIHdlIGN1cnJlbnRseSBhbHdheXMgYXZvaWQgYWRkaW5nIHRoZSBoaWdobGln
aHQgZ2VzdHVyZSByZWNvZ25pemVyIGlmIHRoZSBhcHAgaXMgbGlua2VkIG9uCisgICAgICAgIGlP
UyAxMyBvciBsYXRlci4KKworICAgICAgICBIb3dldmVyLCB0aGlzIG1lYW5zIHRoYXQgdGhlIGhp
Z2hsaWdodCBnZXN0dXJlIHJlY29nbml6ZXIgaXMgYWJzZW50IGZyb20gdGhlIGNvbnRlbnQgdmll
dyBpbiBhcHBzIGxpbmtlZCBhZ2FpbnN0CisgICAgICAgIGlPUyAxMyB0aGF0IGRpc2FibGUgbGlu
ayBwcmV2aWV3cywgZXZlbiB0aG91Z2ggaXRzIGFic2VuY2UgaXMgbm90IHJlcXVpcmVkLiBUaGlz
IG1lYW5zIHRoYXQgbG9uZyBwcmVzc2luZyBhCisgICAgICAgIGNsaWNrYWJsZSBlbGVtZW50IGlu
IGEgd2ViIHZpZXcgdGhhdCBkaXNhYmxlcyBsaW5rIHByZXZpZXdzIGRvZXMgbm90IHNob3cgYSB0
YXAgaGlnaGxpZ2h0IG9uIGlPUyAxMywgd2hlcmVhcyBpdAorICAgICAgICB3b3VsZCBvbiBpT1Mg
MTI7IHRoaXMgaXMgYSByZWdyZXNzaW9uLCBhbGJlaXQgYSB2ZXJ5IHN1YnRsZSBvbmUuIFRvIGZp
eCB0aGlzIHN1YnRsZSBpc3N1ZSBhbmQgbWFrZSBpdCBwb3NzaWJsZQorICAgICAgICB0byB3cml0
ZSBhIHRlc3QgZm9yIHRoaXMgYnVnLCB3ZSByZWZhY3RvciBzb21lIGxvZ2ljIGZvciBjcmVhdGlu
ZyBhbmQgY29uZmlndXJpbmcgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNzCisgICAgICAgIGdlc3R1
cmUsIHN1Y2ggdGhhdCB3ZSBub3cgdW5jb25kaXRpb25hbGx5IGFkZCB0aGUgaGlnaGxpZ2h0IGdl
c3R1cmUsIGJ1dCBvbmx5IGVuYWJsZSBpdCBpbiBhcHBzIGxpbmtlZCBvbiBvcgorICAgICAgICBh
ZnRlciBpT1MgMTMgaWYgbGluayBwcmV2aWV3cyAoaS5lLiBjb250ZXh0IG1lbnUgaW50ZXJhY3Rp
b24pIGFyZSBub3QgYWxsb3dlZC4KKworICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9pb3Mv
Y2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1v
dmVyZmxvdy5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0
QWxsb3dzTGlua1ByZXZpZXc6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZXR1cEludGVyYWN0aW9u
XSk6CisKKyAgICAgICAgUmVmYWN0b3Igb3VyIGdlc3R1cmUgc2V0dXAgbG9naWMgdG8gYWx3YXlz
IGNyZWF0ZSBhbmQgYWRkIHRoZSBsb25nIHByZXNzIGFuZCBoaWdobGlnaHQgbG9uZyBwcmVzcyBn
ZXN0dXJlcywgYnV0CisgICAgICAgIGNvbmRpdGlvbmFsbHkgZGlzYWJsZSB0aGVtIGJhc2VkIG9u
IHdoZXRoZXIgb3Igbm90ICgxKSB0aGUgY29udGV4dCBtZW51IGlzIGF2YWlsYWJsZSwgYW5kICgy
KSBXS1dlYlZpZXcncworICAgICAgICBhbGxvd3NMaW5rUHJldmlldyBwcm9wZXJ0eS4KKworICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlc10pOgorCisgICAgICAgIEFkZCBhIG5ldyBoZWxwZXIgdG8gdXBkYXRl
IHRoZSBlbmFibGVkIHN0YXRlIG9mIHRoZSBsb25nIHByZXNzIGFuZCBoaWdobGlnaHQgbG9uZyBw
cmVzcyBnZXN0dXJlcywgYnkgY29uc3VsdGluZworICAgICAgICAtX3Nob3VsZFVzZUNvbnRleHRN
ZW51IGFuZCAtYWxsb3dzTGlua1ByZXZpZXcuIFRoaXMgaXMgY2FsbGVkIHdoZW4gc2V0dGluZyB1
cCB0aGUgZ2VzdHVyZXMsIGFzIHdlbGwgYXMgd2hlbmV2ZXIKKyAgICAgICAgLWFsbG93c0xpbmtQ
cmV2aWV3IGNoYW5nZXMuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBnZXN0dXJlUmVjb2du
aXplclNob3VsZEJlZ2luOl0pOgorCisgICAgICAgIEZhY3RvciBvdXQgbG9naWMgdG8gYXNjZW5k
IHRoZSB2aWV3IGhpZXJhcmNoeSBpbiBzZWFyY2ggb2YgYSBVSVNjcm9sbFZpZXcgdGhhdCB3YXMg
aW50ZXJydXB0ZWQgd2hpbGUKKyAgICAgICAgZGVjZWxlcmF0aW5nIGludG8gYSBsb2NhbCBsYW1i
ZGEgZnVuY3Rpb247IHVzZSB0aGlzIGZvciBib3RoIHRoZSBoaWdobGlnaHQgZ2VzdHVyZSBhbmQg
dGhlIHNpbmdsZSB0YXAgZ2VzdHVyZSwKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhl
eSBzaG91bGQgYmVnaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0TG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLm1tOiBBZGRlZC4KKworICAg
ICAgICBJbiBvcmRlciB0byByZW1lbWJlciB0aGUgVUlTY3JvbGxWaWV3IChpZiBhbnkpIHRyYWNr
ZWQgYnkgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNzIGdlc3R1cmUsIHdlIHN1YmNsYXNzCisgICAg
ICAgIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLiBXaGlsZSBVSUxv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIGRvZXMgaGF2ZSBTUEkgdG8gYXNrIGZvciBhIGxpc3Qg
b2YKKyAgICAgICAgVUlUb3VjaGVzLCBieSB0aGUgdGltZSB0aGUgZ2VzdHVyZSBoYXMgYmVlbiBy
ZWNvZ25pemVkIGFuZCB0aGUgZ2VzdHVyZSBkZWxlZ2F0ZXMgYXJlIGludm9rZWQsIHRoZXNlIFVJ
VG91Y2hlcworICAgICAgICBubyBsb25nZXIgY29ycmVzcG9uZCB0byBVSVZpZXdzLiBBcyBzdWNo
LCB0aGUgb25seSB0aW1lIHdlIGhhdmUgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIFVJVG91Y2hlcyB3
aXRoIHRoZWlyCisgICAgICAgIFVJVmlld3MgaXMgZHVyaW5nIHRoZSB0b3VjaGVzKiBzdWJjbGFz
cyBob29rcy4KKworICAgICAgICAoLVtXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyIHJlc2V0XSk6CisKKyAgICAgICAgQ2xlYXIgb3V0IHRoZSB0cmFja2VkIFVJU2Nyb2xsVmll
dyBoZXJlLCB3aGVuIHRoZSBnZXN0dXJlIGlzIHJlc2V0IChpLmUuIGFmdGVyIGVuZGluZywgb3Ig
YmVpbmcgY2FuY2VsZWQpLgorCisgICAgICAgICgtW1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVy
ZVJlY29nbml6ZXIgdG91Y2hlc0JlZ2FuOndpdGhFdmVudDpdKToKKworICAgICAgICBSZW1lbWJl
ciB0aGUgbGFzdCB0b3VjaGVkIFVJU2Nyb2xsVmlldyBoZXJlLgorCisgICAgICAgICgtW1dLSGln
aGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSk6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDgt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQYWdlOjpm
cm9tQ29yZVBhZ2UoKSB0byB0YWtlIGFuZCByZXR1cm4gYSBDKysgcmVmZXJlbmNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggYzY5OGI5NTNlNTAwMTMyMDMxNWZhODAzNTY2OWY0NTE4YjBjYjA2
Yi4uYTdkOTA4M2MwZTI5ZTc4Mjg0OGI0OTZkMjVkY2IxMDZhMDBjNzQ3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtNDIyLDYgKzQyMiw3IEBAIFVJUHJvY2Vzcy9pb3MvV0tEcmF3aW5nQ29v
cmRpbmF0b3IubW0KIFVJUHJvY2Vzcy9pb3MvV0tEcmF3aW5nVmlldy5tbQogVUlQcm9jZXNzL2lv
cy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1MubW0KIFVJUHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlv
blByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tCitVSVByb2Nlc3MvaW9zL1dLSGlnaGxp
Z2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tJbnNwZWN0
b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tLZXlib2Fy
ZFNjcm9sbGluZ0FuaW1hdG9yLm1tCiBVSVByb2Nlc3MvaW9zL1dLUGFzc3dvcmRWaWV3Lm1tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA3
NDNmZjJjNmNmZDc4NWY1MmFhZTY4YzgyZTljNzQ3ZTY0ZTBlYzE1Li40NDVlNDM5NTNkNTI3ZTgw
MWNjNjMxYzRjNzViMTMzMDcwYzIwMTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTEyNjcsNiArMTI2Nyw3IEBAIC0gKHZvaWQpc2V0
QWxsb3dzTGlua1ByZXZpZXc6KEJPT0wpYWxsb3dzTGlua1ByZXZpZXcKICAgICAgICAgW19jb250
ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3XTsKICAgICBlbHNlCiAgICAgICAgIFtfY29udGVudFZp
ZXcgX3VucmVnaXN0ZXJQcmV2aWV3XTsKKyAgICBbX2NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VMaW5r
UHJldmlld0F2YWlsYWJpbGl0eV07CiAjZW5kaWYgLy8gSEFWRShMSU5LX1BSRVZJRVcpCiAjZW5k
aWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBkYThiYmZkOGE3
NGZkZDE2YzBmZTVhMGQ4NjU4YWViMzAxOTI4M2QzLi45NDY2MTg2OTFiNGNkZDlmOGU3NTZhYzhi
NzM5ODlkNzFhM2FkOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC05OSw3ICs5OSw2IEBAIHN0cnVjdCBX
ZWJBdXRvY29ycmVjdGlvbkNvbnRleHQ7CiAKIEBjbGFzcyBfVUlMb29rdXBHZXN0dXJlUmVjb2du
aXplcjsKIEBjbGFzcyBfVUlIaWdobGlnaHRWaWV3OwotQGNsYXNzIF9VSVdlYkhpZ2hsaWdodExv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyOwogQGNsYXNzIFVJSG92ZXJHZXN0dXJlUmVjb2duaXpl
cjsKIEBjbGFzcyBVSVRhcmdldGVkUHJldmlldzsKIEBjbGFzcyBXZWJFdmVudDsKQEAgLTEwOSw2
ICsxMDgsNyBAQCBzdHJ1Y3QgV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0OwogQGNsYXNzIFdLRm9j
dXNlZEZvcm1Db250cm9sVmlldzsKIEBjbGFzcyBXS0Zvcm1JbnB1dENvbnRyb2w7CiBAY2xhc3Mg
V0tGb3JtSW5wdXRTZXNzaW9uOworQGNsYXNzIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXI7CiBAY2xhc3MgV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXI7
CiAKIHR5cGVkZWYgdm9pZCAoXlVJV0tBdXRvY29ycmVjdGlvbkNvbXBsZXRpb25IYW5kbGVyKShV
SVdLQXV0b2NvcnJlY3Rpb25SZWN0cyAqcmVjdHNGb3JJbnB1dCk7CkBAIC0yMTMsNyArMjEzLDcg
QEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICNlbmRpZgogCiAgICAgUmV0YWluUHRy
PFdLU3ludGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXI+IF9zaW5nbGVUYXBHZXN0dXJlUmVjb2du
aXplcjsKLSAgICBSZXRhaW5QdHI8X1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXI+IF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcjsKKyAgICBSZXRhaW5Q
dHI8V0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcj4gX2hpZ2hsaWdodExvbmdQ
cmVzc0dlc3R1cmVSZWNvZ25pemVyOwogICAgIFJldGFpblB0cjxVSUxvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyPiBfbG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI7CiAgICAgUmV0YWluUHRyPFdL
U3ludGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXI+IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXpl
cjsKICAgICBSZXRhaW5QdHI8VUlUYXBHZXN0dXJlUmVjb2duaXplcj4gX25vbkJsb2NraW5nRG91
YmxlVGFwR2VzdHVyZVJlY29nbml6ZXI7CkBAIC01NDgsNiArNTQ4LDggQEAgRk9SX0VBQ0hfUFJJ
VkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZP
Ul9XRUJfVklFVykKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfc2hvdWxk
QXZvaWRSZXNpemluZ1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2U7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIEJPT0wgX3Nob3VsZEF2b2lkU2Nyb2xsaW5nV2hlbkZvY3VzZWRDb250
ZW50SXNWaXNpYmxlOwogCistICh2b2lkKV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0
eTsKKwogQGVuZAogCiBAaW50ZXJmYWNlIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IDcxMWJkMTU4NDIwOWVlMjk0ZjQxYWZhZDM5NDYwNzFjYjYzYTIyZDYuLjhi
ZDkzODIyN2E3Njk4YzY4YWFlN2QwODRhZjA4NWVjNzVjMGQxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtNTIsNiArNTIsNyBAQAogI2ltcG9ydCAiV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3LmgiCiAj
aW1wb3J0ICJXS0Zvcm1JbnB1dENvbnRyb2wuaCIKICNpbXBvcnQgIldLRm9ybVNlbGVjdENvbnRy
b2wuaCIKKyNpbXBvcnQgIldLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCIK
ICNpbXBvcnQgIldLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldLSW5z
cGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmgiCiAjaW1wb3J0ICJXS05TVVJMRXh0
cmFzLmgiCkBAIC03NTUsMTUgKzc1NiwxNSBAQCAtICh2b2lkKXNldHVwSW50ZXJhY3Rpb24KICAg
ICBbX3R3b0ZpbmdlckRvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOnNlbGZd
OwogICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVyOl90d29GaW5nZXJEb3VibGVUYXBHZXN0
dXJlUmVjb2duaXplci5nZXQoKV07CiAKLSAgICBfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXIgPSBhZG9wdE5TKFtbX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIgYWxsb2NdIGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihfaGlnaGxp
Z2h0TG9uZ1ByZXNzUmVjb2duaXplZDopXSk7CisgICAgX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyID0gYWRvcHROUyhbW1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIgYWxsb2NdIGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihfaGlnaGxp
Z2h0TG9uZ1ByZXNzUmVjb2duaXplZDopXSk7CiAgICAgW19oaWdobGlnaHRMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciBzZXREZWxheTpoaWdobGlnaHREZWxheV07CiAgICAgW19oaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplciBzZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbc2VsZiBh
ZGRHZXN0dXJlUmVjb2duaXplcjpfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIu
Z2V0KCldOworCisgICAgW3NlbGYgX2NyZWF0ZUFuZENvbmZpZ3VyZUxvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyXTsKIAogI2lmIEhBVkUoTElOS19QUkVWSUVXKQotICAgIGlmICghc2VsZi5fc2hv
dWxkVXNlQ29udGV4dE1lbnVzKSB7Ci0gICAgICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVy
Ol9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5nZXQoKV07Ci0gICAgICAgIFtz
ZWxmIF9jcmVhdGVBbmRDb25maWd1cmVMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcl07Ci0gICAg
fQorICAgIFtzZWxmIF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
c107CiAjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQpAQCAtMTAwNiw2ICsx
MDA3LDIzIEBAIC0gKHZvaWQpX2FkZERlZmF1bHRHZXN0dXJlUmVjb2duaXplcnMKICNlbmRpZgog
fQogCistICh2b2lkKV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eQoreworICAgIFtz
ZWxmIF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlc107Cit9CisK
Ky0gKHZvaWQpX3VwZGF0ZUxvbmdQcmVzc0FuZEhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVzCit7
CisgICAgLy8gV2Ugb25seSBkaXNhYmxlIHRoZSBoaWdobGlnaHQgbG9uZyBwcmVzcyBnZXN0dXJl
IGluIHRoZSBjYXNlIHdoZXJlIFVJQ29udGV4dE1lbnUgaXMgYXZhaWxhYmxlIGFuZCB3ZQorICAg
IC8vIGFsc28gYWxsb3cgbGluayBwcmV2aWV3cywgc2luY2UgdGhlIGNvbnRleHQgbWVudSBpbnRl
cmFjdGlvbidzIGdlc3R1cmVzIG5lZWQgdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIKKyAgICAvLyBo
aWdobGlnaHQgbG9uZyBwcmVzcyBnZXN0dXJlcy4KKyAgICBbX2hpZ2hsaWdodExvbmdQcmVzc0dl
c3R1cmVSZWNvZ25pemVyIHNldEVuYWJsZWQ6IXNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51cyB8
fCAhX3dlYlZpZXcuYWxsb3dzTGlua1ByZXZpZXddOworCisgICAgLy8gV2Ugb25seSBlbmFibGUg
dGhlIGxvbmcgcHJlc3MgZ2VzdHVyZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgYXBwIGlzIGxpbmtl
ZCBvbiBpT1MgMTIgb3IgZWFybGllciAoYW5kCisgICAgLy8gdGhlcmVmb3JlIHByZWZlcnMgdGhl
IGxlZ2FjeSBhY3Rpb24gc2hlZXQgb3ZlciBjb250ZXh0IG1lbnVzKSwgYW5kIGxpbmsgcHJldmll
d3MgYXJlIGFsc28gZW5hYmxlZC4KKyAgICBbX2xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIHNl
dEVuYWJsZWQ6IXNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51cyAmJiBfd2ViVmlldy5hbGxvd3NM
aW5rUHJldmlld107Cit9CisKIC0gKFVJVmlldyAqKXVuc2NhbGVkVmlldwogewogICAgIHJldHVy
biBfaW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC0yMDkxLDIwICsyMTA5
LDIzIEBAIC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVj
b2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiAgICAgaWYgKGdlc3R1cmVSZWNvZ25pemVyID09
IF9zdHlsdXNTaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplcikKICAgICAgICAgcmV0dXJuIF93ZWJW
aWV3Ll9zdHlsdXNUYXBHZXN0dXJlU2hvdWxkQ3JlYXRlRWRpdGFibGVJbWFnZTsKIAotICAgIGlm
IChnZXN0dXJlUmVjb2duaXplciA9PSBfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpIHsKKyAg
ICBhdXRvIGlzSW50ZXJydXB0aW5nRGVjZWxlcmF0aW9uRm9yU2Nyb2xsVmlld09yQW5jZXN0b3Ig
PSBbJl0gKFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldykgewogICAgICAgICBVSVNjcm9sbFZpZXcg
Km1haW5TY3JvbGxlciA9IF93ZWJWaWV3LnNjcm9sbFZpZXc7Ci0gICAgICAgIFVJVmlldyAqdmll
dyA9IFtfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSA/
OiBtYWluU2Nyb2xsZXI7CisgICAgICAgIFVJVmlldyAqdmlldyA9IHNjcm9sbFZpZXcgPzogbWFp
blNjcm9sbGVyOwogICAgICAgICB3aGlsZSAodmlldykgewogICAgICAgICAgICAgaWYgKFt2aWV3
IGlzS2luZE9mQ2xhc3M6VUlTY3JvbGxWaWV3LmNsYXNzXSAmJiBbKFVJU2Nyb2xsVmlldyAqKXZp
ZXcgX2lzSW50ZXJydXB0aW5nRGVjZWxlcmF0aW9uXSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
Tk87CisgICAgICAgICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgICAgICAgICAgaWYgKG1haW5T
Y3JvbGxlciA9PSB2aWV3KQogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICB2
aWV3ID0gdmlldy5zdXBlcnZpZXc7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFlFUzsKLSAg
ICB9CisgICAgICAgIHJldHVybiBOTzsKKyAgICB9OworCisgICAgaWYgKGdlc3R1cmVSZWNvZ25p
emVyID09IF9zaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplcikKKyAgICAgICAgcmV0dXJuICFpc0lu
dGVycnVwdGluZ0RlY2VsZXJhdGlvbkZvclNjcm9sbFZpZXdPckFuY2VzdG9yKFtfc2luZ2xlVGFw
R2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSk7CiAKICAgICBpZiAoZ2Vz
dHVyZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyCiAg
ICAgICAgIHx8IGdlc3R1cmVSZWNvZ25pemVyID09IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXpl
cgpAQCAtMjEyMyw2ICsyMTQ0LDkgQEAgLSAoQk9PTClnZXN0dXJlUmVjb2duaXplclNob3VsZEJl
Z2luOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKICAgICB9CiAKICAg
ICBpZiAoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNv
Z25pemVyKSB7CisgICAgICAgIGlmIChpc0ludGVycnVwdGluZ0RlY2VsZXJhdGlvbkZvclNjcm9s
bFZpZXdPckFuY2VzdG9yKFtfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgbGFz
dFRvdWNoZWRTY3JvbGxWaWV3XSkpCisgICAgICAgICAgICByZXR1cm4gTk87CisKICAgICAgICAg
aWYgKGhhc0ZvY3VzZWRFbGVtZW50KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKSkgewogICAg
ICAgICAgICAgLy8gVGhpcyBpcyBhIGRpZmZlcmVudCBlbGVtZW50IHRoYW4gdGhlIGZvY3VzZWQg
b25lLgogICAgICAgICAgICAgLy8gUHJldmVudCB0aGUgZ2VzdHVyZSBpZiB0aGVyZSBpcyBubyBu
b2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0
TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE2
OWMzNjc1ZGY0ZDNlODRmODQ5NjliNGRiNTY3YWVkMDJjMDgzNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyLmgKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW1wb3J0ICJVSUtpdFNQSS5oIgorCitAaW50ZXJmYWNlIFdLSGlnaGxpZ2h0TG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXIgOiBfVUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2du
aXplcgorCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIHdlYWspIFVJU2Nyb2xsVmll
dyAqbGFzdFRvdWNoZWRTY3JvbGxWaWV3OworCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MDU4ZGUyZGI1MDc3ZDI2ZGQ3YzYzNTM2NDk5
ZTc0ZGI5YTA4ODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbQpAQCAtMCwwICsxLDU5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJXS0hpZ2hsaWdo
dExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmgiCisKKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0
ci5oPgorCitAaW1wbGVtZW50YXRpb24gV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2du
aXplciB7CisgICAgV2Vha09iakNQdHI8VUlTY3JvbGxWaWV3PiBfbGFzdFRvdWNoZWRTY3JvbGxW
aWV3OworfQorCistICh2b2lkKXJlc2V0Cit7CisgICAgW3N1cGVyIHJlc2V0XTsKKworICAgIF9s
YXN0VG91Y2hlZFNjcm9sbFZpZXcgPSBuaWw7Cit9CisKKy0gKHZvaWQpdG91Y2hlc0JlZ2FuOihO
U1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAorewor
ICAgIFtzdXBlciB0b3VjaGVzQmVnYW46dG91Y2hlcyB3aXRoRXZlbnQ6ZXZlbnRdOworCisgICAg
Zm9yIChVSVRvdWNoICp0b3VjaCBpbiB0b3VjaGVzKSB7CisgICAgICAgIGlmIChbdG91Y2gudmll
dyBpc0tpbmRPZkNsYXNzOlVJU2Nyb2xsVmlldy5jbGFzc10pIHsKKyAgICAgICAgICAgIF9sYXN0
VG91Y2hlZFNjcm9sbFZpZXcgPSAoVUlTY3JvbGxWaWV3ICopdG91Y2gudmlldzsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCistIChVSVNjcm9sbFZpZXcgKilsYXN0
VG91Y2hlZFNjcm9sbFZpZXcKK3sKKyAgICByZXR1cm4gX2xhc3RUb3VjaGVkU2Nyb2xsVmlldy5n
ZXQoKS5nZXQoKTsKK30KKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjNkNGYwOGMyZGRjOWVjMTMxY2JmMmU0NmJjZWM3MDBh
YmE5ZmVhOC4uYTczNzg1MDJhYWE0NzYyNTU1NzNlZjAwOTYzZTE5OTA4NTNhZjQxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzA3
LDYgKzE3MDcsNyBAQAogCQlGNENCMDlFNTIyNUQ1QTA5MDA4OTE0ODcgLyogV2Vic2l0ZU1lZGlh
U291cmNlUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNENCMDlFNDIyNUQ1QTAzMDA4OTE0ODcgLyogV2Vic2l0ZU1lZGlhU291cmNlUG9saWN5
LmggKi87IH07CiAJCUY0RDVGNTFEMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RW
aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjRENUY1MTkyMDYwODdBMDAwMzhCQkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250
cm9sbGVyLmggKi87IH07CiAJCUY0RDVGNTFGMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9h
cmRMaXN0Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRMaXN0
Vmlld0NvbnRyb2xsZXIuaCAqLzsgfTsKKwkJRjREQjU0RTYyMzE5RTczMzAwOUUzMTU1IC8qIFdL
SGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0REI1NEU0MjMxOUU3MzMwMDlFMzE1NSAvKiBX
S0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CiAJCUY2MTEzRTI1
MTI2Q0UxODIwMDU3RDBBNyAvKiBBUElVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2MTEzRTI0MTI2Q0UxODIwMDU3
RDBBNyAvKiBBUElVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLzsgfTsKIAkJRjYxMTNFMjkxMjZD
RTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNzEyNkNFMTlCMDA1N0QwQTcg
LyogV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlGNjM0NDQ1NjEyQTg4NUM4MDAwNjEyRDggLyogQVBJU2Vj
dXJpdHlPcmlnaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY2MzQ0NDU1MTJBODg1QzgwMDA2MTJEOCAvKiBBUElTZWN1cml0eU9yaWdpbi5oICovOyB9
OwpAQCAtNDc2NCw2ICs0NzY1LDggQEAKIAkJRjRENUY1MUEyMDYwODdBMTAwMzhCQkE4IC8qIFdL
VGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBp
b3MvZm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRM
aXN0Vmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tR
dWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmg7IHBhdGggPSBpb3MvZm9ybXMvV0tRdWlja2Jv
YXJkTGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
RDVGNTFDMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1F1aWNrYm9hcmRM
aXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZp
ZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNERCNTRFNDIz
MTlFNzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0hpZ2hsaWdodExvbmdQcmVzc0dl
c3R1cmVSZWNvZ25pemVyLmg7IHBhdGggPSBpb3MvV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
UmVjb2duaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNERCNTRFNTIzMTlF
NzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLSGlnaGxpZ2h0TG9uZ1By
ZXNzR2VzdHVyZVJlY29nbml6ZXIubW07IHBhdGggPSBpb3MvV0tIaWdobGlnaHRMb25nUHJlc3NH
ZXN0dXJlUmVjb2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRGNTlB
RDMyMDY1QTVDOTAwNkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RW
aWV3Q29udHJvbGxlci5tbTsgcGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0Nv
bnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjU5QUQ0MjA2NUE1
Q0EwMDZDQUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7
IHBhdGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2MTEzRTI0MTI2Q0UxODIwMDU3RDBBNyAvKiBBUElV
c2VyQ29udGVudFVSTFBhdHRlcm4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QVBJVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC02MTAxLDYgKzYxMDQsOCBAQAogCQkJCTBGQ0I0RTNGMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0dl
b2xvY2F0aW9uUHJvdmlkZXJJT1MuaCAqLywKIAkJCQkwRkNCNEU0MDE4QkJFMDQ0MDAwRkNGQzkg
LyogV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TLm1tICovLAogCQkJCTBGQ0I0RTQxMThCQkUwNDQw
MDBGQ0ZDOSAvKiBXS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NPYmpDU2VjdXJpdHlPcmlnaW4ubW0g
Ki8sCisJCQkJRjREQjU0RTQyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGlnaGxpZ2h0TG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXIuaCAqLywKKwkJCQlGNERCNTRFNTIzMTlFNzMzMDA5RTMxNTUgLyog
V0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbSAqLywKIAkJCQk5MzNERjgy
RDFCM0JDMDkwMDBBRUE5RTMgLyogV0tJbWFnZVByZXZpZXdWaWV3Q29udHJvbGxlci5oICovLAog
CQkJCTkzM0RGODJGMUIzQkMwQjQwMEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdDb250cm9s
bGVyLm1tICovLAogCQkJCTBGM0M3MjU5MTk2RjVGNjgwMEFFREQwQyAvKiBXS0luc3BlY3Rvckhp
Z2hsaWdodFZpZXcuaCAqLywKQEAgLTk5MzgsNiArOTk0Myw3IEBACiAJCQkJQTU0M0UzMDcyMTVB
RDEzNzAwMjc5Q0Q5IC8qIFdlYlBhZ2VJbnNwZWN0b3JUYXJnZXRGcm9udGVuZENoYW5uZWwuaCBp
biBIZWFkZXJzICovLAogCQkJCUMwQ0U3MkExMTI0N0U3MUQwMEJDMEVDNCAvKiBXZWJQYWdlTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENUM5RDA2MTlDODFEOEYwMEIzQzVDMSAvKiBX
ZWJQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZDMzkyMjkyMzE2RUM0RDAwOEVF
RDlCIC8qIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkQz
OTE1MTI1QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTEyMTI3QzQxOTA4MjM5QTAwREFGMzVDIC8qIFdlYlBhc3RlYm9hcmRPdmVycmlk
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNDY5NEQxMUE1MUUzNjgwMEFENTg0NSAvKiBXZWJQ
YXN0ZWJvYXJkUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtMTAwMjgsNyArMTAwMzQsNiBAQAog
CQkJCUM1RkExRUQzMThFMTA2MjIwMEIzRjQwMiAvKiBXS0FpclBsYXlSb3V0ZVBpY2tlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkQxMkRBQjUyMDY2MkM3MzAwNkYwMEZCIC8qIFdLQW5pbWF0aW9u
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRERCMzJEMTI0RUMyRTEwMDQ4RDEzQyAv
KiBXS0FQSUNhc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5
QiAvKiBXZWJQYWdlUHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJFMzRF
NTEzMEI0RDA1MDBBQkQxOUEgLyogV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTEzREM2ODIyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0
ZVRyYWNraW5nVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0MDc1RjQxMjRGRjAyNzAwNjhG
MjBBIC8qIFdLQXJyYXkuaCBpbiBIZWFkZXJzICovLApAQCAtMTAxNzgsNiArMTAxODMsNyBAQAog
CQkJCUJDMEU2MTk4MTJENkNEMTIwMDEyQTcyQSAvKiBXS0dlb2xvY2F0aW9uUG9zaXRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTBGQ0I0RTRGMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0dlb2xvY2F0
aW9uUHJvdmlkZXJJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzhCMzc0MTI1RkI2OTAwMERF
NDZBNCAvKiBXS0dlb21ldHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNERCNTRFNjIzMTlFNzMz
MDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE0MjJGOEIxOEIyOUI1NDAwRDhDRDk2IC8qIFdLSGlzdG9yeURlbGVn
YXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjYyRTczMTIxNDMwNDdCMDAwNjlFQzM1
IC8qIFdLSGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMTI0OTkxRTc2M0Mw
MTAwMkIyODIwIC8qIFdLSFRUUENvb2tpZVN0b3JlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZGQ5ZWI1ZjI3YTcx
MTRjOGE0YzFhYzE2NmRmZWI2Y2UzMjdhNmE3Li5iNTU2M2JjNTE3ZTQ2ZWI3MWIwYzk1MGQ0NGY0
OWExMmZkM2UzNzU1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRoYXQgaW50ZXJydXB0
IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBkaXNwYXRjaCBjbGlja3Mgb24gYXBwcyBsaW5rZWQgYWdh
aW5zdCBpT1MgMTIgb3IgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NDg4NTc4ND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBu
ZXcgdGVzdCBvcHRpb24gdG8gYWxsb3cgdGVzdHMgdG8gZGlzYWJsZSBsaW5rIHByZXZpZXdzLgor
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXVFI6OnVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaDoKKworICAgICAgICBEcml2ZS1ieSBmaXg6IGFsc28g
Y2hlY2sgZW5hYmxlTGF6eUltYWdlTG9hZGluZyB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdHdv
IFRlc3RPcHRpb25zIGFyZSB0aGUgc2FtZS4KKworICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6
aGFzU2FtZUluaXRpYWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KToKKwogMjAxOS0wOC0zMCAgQWFrYXNo
IEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3cy1idWlsZF0gJ3Jl
LXJ1bi1sYXlvdXQtdGVzdHMnIHN0ZXAgb24gbWFjT1MtSGlnaC1TaWVycmEtRGVidWctV0sxLVRl
c3RzLUVXUyBydW5zIFdLMiB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAppbmRleCA3MjYyZjk1MGViMGU2NDlhMzI4NzVlNGFjNjY3MzE0ZDBmNjZkNzZhLi5m
YjRiZDQ3ODNjMGIyOWM1NTQ1ZTA5YTU4MTVjZTdmN2Y3OWIxZWI3IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMTQwMiw2ICsxNDAyLDggQEAgc3RhdGlj
IHZvaWQgdXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihUZXN0T3B0aW9ucyYgdGVzdE9w
dGlvbnMsIGNvbnN0IHN0ZDoKICAgICAgICAgICAgIHRlc3RPcHRpb25zLmVuYWJsZVBhZ2VDYWNo
ZSA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYg
KGtleSA9PSAiZW5hYmxlTGF6eUltYWdlTG9hZGluZyIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9u
cy5lbmFibGVMYXp5SW1hZ2VMb2FkaW5nID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZh
bHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJhbGxvd3NMaW5rUHJldmlldyIpCisgICAg
ICAgICAgICB0ZXN0T3B0aW9ucy5hbGxvd3NMaW5rUHJldmlldyA9IHBhcnNlQm9vbGVhblRlc3RI
ZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAg
IH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAppbmRleCBhYTg3Y2JkYjJjNjNj
ZDg4NzQxZTYxZTYyY2ViNjBjMTMxZDI1OTkzLi4zNTJhNjI2NGVlN2U0YzczNzM4ZWY1NjVlNjMw
YzRmODJkMjViODY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRp
b25zLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCkBAIC05NSw2
ICs5NSw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVBcHBOYXAgeyBm
YWxzZSB9OwogICAgIGJvb2wgZW5hYmxlUGFnZUNhY2hlIHsgZmFsc2UgfTsKICAgICBib29sIGVu
YWJsZUxhenlJbWFnZUxvYWRpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgYWxsb3dzTGlua1ByZXZp
ZXcgeyB0cnVlIH07CiAKICAgICBkb3VibGUgY29udGVudEluc2V0VG9wIHsgMCB9OwogCkBAIC0x
NTEsNyArMTUyLDkgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICAgICAgICAgIHx8IGNvbnRl
bnRJbnNldFRvcCAhPSBvcHRpb25zLmNvbnRlbnRJbnNldFRvcAogICAgICAgICAgICAgfHwgY29u
dGVudE1vZGUgIT0gb3B0aW9ucy5jb250ZW50TW9kZQogICAgICAgICAgICAgfHwgZW5hYmxlQXBw
TmFwICE9IG9wdGlvbnMuZW5hYmxlQXBwTmFwCi0gICAgICAgICAgICB8fCBlbmFibGVQYWdlQ2Fj
aGUgIT0gb3B0aW9ucy5lbmFibGVQYWdlQ2FjaGUpCisgICAgICAgICAgICB8fCBlbmFibGVQYWdl
Q2FjaGUgIT0gb3B0aW9ucy5lbmFibGVQYWdlQ2FjaGUKKyAgICAgICAgICAgIHx8IGVuYWJsZUxh
enlJbWFnZUxvYWRpbmcgIT0gb3B0aW9ucy5lbmFibGVMYXp5SW1hZ2VMb2FkaW5nCisgICAgICAg
ICAgICB8fCBhbGxvd3NMaW5rUHJldmlldyAhPSBvcHRpb25zLmFsbG93c0xpbmtQcmV2aWV3KQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmICghY29udGV4dE9wdGlvbnMu
aGFzU2FtZUluaXRpYWxpemF0aW9uT3B0aW9ucyhvcHRpb25zLmNvbnRleHRPcHRpb25zKSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2Nv
YS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5t
bQppbmRleCAwNDU5Njg1YjdjZjY3NjA5MWQ0ODFjYTNiY2ZjYjViOTQwYzYxMmIwLi45YTU1ODI0
MTlhNmE2NTU4YjI2YjcxN2E0ODk4OTJlZTJjOTMwM2Y2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCkBAIC0xNzcsNiArMTc3
LDggQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNv
bmZpZ3VyYXRpb25SZWYsIGNvbnN0IFRlc3RPcHQKIAogICAgIGlmIChvcHRpb25zLmVkaXRhYmxl
KQogICAgICAgICBtX21haW5XZWJWaWV3LT5zZXRFZGl0YWJsZSh0cnVlKTsKKworICAgIG1fbWFp
bldlYlZpZXctPnBsYXRmb3JtVmlldygpLmFsbG93c0xpbmtQcmV2aWV3ID0gb3B0aW9ucy5hbGxv
d3NMaW5rUHJldmlldzsKIH0KIAogUGxhdGZvcm1XZWJWaWV3KiBUZXN0Q29udHJvbGxlcjo6cGxh
dGZvcm1DcmVhdGVPdGhlclBhZ2UoUGxhdGZvcm1XZWJWaWV3KiBwYXJlbnRWaWV3LCBXS1BhZ2VD
b25maWd1cmF0aW9uUmVmLCBjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYzA4
M2IxNmFjM2IyZTEzNjZkODUzMzVjZDYzMmY4NWExYjYzNDM4Li5kMTg5M2M1ZDliMDQ2MTExMzNk
YWY4OWViODc2ODA1ZDI4MTgxZGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMDgtMzAg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBw
cmVzc2VzIHRoYXQgaW50ZXJydXB0IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBkaXNwYXRjaCBjbGlj
a3Mgb24gYXBwcyBsaW5rZWQgYWdhaW5zdCBpT1MgMTIgb3IgZWFybGllcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NDg4NTc4ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBjb3VwbGUgb2YgbmV3IGxheW91dCB0ZXN0cyB0byB2ZXJpZnkg
dGhhdCB1c2luZyBhIGxvbmcgcHJlc3MgZ2VzdHVyZSB0byBpbnRlcnJ1cHQgbW9tZW50dW0gc2Ny
b2xsaW5nIGluIGEKKyAgICAgICAgd2ViIHZpZXcgdGhhdCB1c2VzIEFQSSB0byBkaXNhYmxlIGxp
bmsgcHJldmlld3MgZG9lcyBub3QgcmVzdWx0IGluIGEgY2xpY2suCisKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVu
dHVtLXNjcm9sbC1pbi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1t
b21lbnR1bS1zY3JvbGwtaW4tbWFpbi1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVu
dHVtLXNjcm9sbC1pbi1vdmVyZmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9t
ZW50dW0tc2Nyb2xsLWluLW92ZXJmbG93Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTA4LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHBv
c3RNZXNzYWdlIGJ1ZmZlcmluZyBiZXR3ZWVuIHRoZSBzZXJ2aWNlIHdvcmtlciBhbmQgd2luZG93
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRz
LWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1tYWluLWZyYW1lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMt
YWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xsLWluLW1haW4tZnJhbWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0YTQxNjUwNTc5OGFhNWQ3NjQ4MWNkMWU4ZTVmNDA4NmIz
YjVlYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mv
Y2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1t
YWluLWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitWZXJpZmllcyB0aGF0IGxv
bmcgcHJlc3NpbmcgdGhlIHBhZ2UgZHVyaW5nIG1vbWVudHVtIHNjcm9sbGluZyBkb2VzIG5vdCBk
aXNwYXRjaCBjbGljayBldmVudHMgdG8gdGhlIHBhZ2UuIFRoaXMgdGVzdCByZXF1aXJlcyBXZWJL
aXRUZXN0UnVubmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkb2N1
bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCBwYXNzZWQgMTAwMAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1k
dXJpbmctbW9tZW50dW0tc2Nyb2xsLWluLW1haW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9t
ZW50dW0tc2Nyb2xsLWluLW1haW4tZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOGU4YmFiMjU5OTFi
MWQ5MjMyMDMzZjdjMWM1OWNjNjYzNWRlZTc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmlu
Zy1tb21lbnR1bS1zY3JvbGwtaW4tbWFpbi1mcmFtZS5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBhbGxvd3NMaW5rUHJldmlldz1mYWxzZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwt
c2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitodG1sLCBib2R5IHsKKyAg
ICB3aWR0aDogMTAwJTsKKyAgICBtYXJnaW46IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7Cit9CisK
KyNjb250ZW50IHsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiA1MDAwcHg7CisgICAg
Ym94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICBwYWRkaW5nOiAyMHB4OworICAgIGJhY2tncm91
bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJlZCAwJSwgZ3JlZW4gNTAlLCBibHVlIDEw
MCUpOworfQorPC9zdHlsZT4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXYgaWQ9ImNv
bnRlbnQiPjwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Y29uc3QgbWluaW11bUV4cGVjdGVkU2Nyb2xsVG9wID0gMTAwMDsKK2xldCByZWFjaGVkTWluaW11
bVNjcm9sbFBvc2l0aW9uID0gZmFsc2U7CisKK2FkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIG9i
c2VydmVTY3JvbGxFdmVudCk7Citkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgKCkgPT4gdGVzdEZhaWxlZCgiT2JzZXJ2ZWQgdW5leHBlY3RlZCBjbGljayBldmVudC4iKSwg
eyBvbmNlOiB0cnVlIH0pOworCitmdW5jdGlvbiBub3RlVGVzdFByb2dyZXNzKCkgeworICAgIGlm
ICghd2luZG93LnByb2dyZXNzKQorICAgICAgICBwcm9ncmVzcyA9IDA7CisgICAgaWYgKCsrcHJv
Z3Jlc3MgPT0gMikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2FzeW5jIGZ1bmN0aW9u
IG9ic2VydmVTY3JvbGxFdmVudCgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyIHx8IGRv
Y3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wIDwgbWluaW11bUV4cGVjdGVkU2Nyb2xs
VG9wIHx8IHJlYWNoZWRNaW5pbXVtU2Nyb2xsUG9zaXRpb24pCisgICAgICAgIHJldHVybjsKKwor
ICAgIHJlYWNoZWRNaW5pbXVtU2Nyb2xsUG9zaXRpb24gPSB0cnVlOworICAgIHRlc3RQYXNzZWQo
YGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wIHBhc3NlZCAke21pbmltdW1FeHBl
Y3RlZFNjcm9sbFRvcH1gKTsKKyAgICByZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBvYnNl
cnZlU2Nyb2xsRXZlbnQpOworICAgIGF3YWl0IGxvbmdQcmVzc0F0UG9pbnQoMTYwLCBkb2N1bWVu
dC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCArIDM1MCwgMSk7CisgICAgYXdhaXQgVUlIZWxw
ZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7CisgICAgbm90ZVRlc3RQcm9ncmVzcygpOworfQor
Cithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMg
dGhhdCBsb25nIHByZXNzaW5nIHRoZSBwYWdlIGR1cmluZyBtb21lbnR1bSBzY3JvbGxpbmcgZG9l
cyBub3QgZGlzcGF0Y2ggY2xpY2sgZXZlbnRzIHRvIHRoZSBwYWdlLiBUaGlzIHRlc3QgcmVxdWly
ZXMgV2ViS2l0VGVzdFJ1bm5lci4iKTsKKworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIGF3YWl0IFVJSGVscGVyLmRyYWdGcm9tUG9pbnRUb1BvaW50
KDE2MCwgNDUwLCAxNjAsIDUwLCAwLjEpOworICAgIG5vdGVUZXN0UHJvZ3Jlc3MoKTsKK30KKzwv
c2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
aW9zL2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwt
aW4tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9z
L2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4t
b3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMGJhZjMzNmZjOGNhZGQyNzM4MzQ2
MmE5NDExYzIzNTExNGY2NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVt
LXNjcm9sbC1pbi1vdmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVmVyaWZp
ZXMgdGhhdCBsb25nIHByZXNzaW5nIGEgc3Vic2Nyb2xsYWJsZSByZWdpb24gZHVyaW5nIG1vbWVu
dHVtIHNjcm9sbGluZyBkb2VzIG5vdCBkaXNwYXRjaCBjbGljayBldmVudHMuIFRoaXMgdGVzdCBy
ZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBzY3JvbGxlci5zY3JvbGxUb3AgcGFzc2VkIDUwMAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmct
bW9tZW50dW0tc2Nyb2xsLWluLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNj
cm9sbC1pbi1vdmVyZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMWNiZjI0YzQ5MDUwZmU5MzlhYTdk
ZjY3ZDVlMzQzYWFjZmZlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVt
LXNjcm9sbC1pbi1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBpbnRl
cm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIGFsbG93c0xpbmtQcmV2aWV3
PWZhbHNlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5v
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2Jhc2ljLWdlc3R1cmVzLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK2h0bWwsIGJvZHkgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdo
dDogMTAwJTsKKyAgICBtYXJnaW46IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7Cit9CisKKyNzY3Jv
bGxlciB7CisgICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiA3NSU7CisgICAgb3ZlcmZsb3c6
IHNjcm9sbDsKKyAgICBib3JkZXI6IDRweCBzb2xpZCBibGFjazsKKyAgICBib3gtc2l6aW5nOiBi
b3JkZXItYm94OworfQorCisjY29udGVudCB7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdo
dDogNTAwMHB4OworICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgcGFkZGluZzogMjBw
eDsKKyAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZWQgMCUsIGdy
ZWVuIDUwJSwgYmx1ZSAxMDAlKTsKK30KKzwvc3R5bGU+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+CisgICAgPGRpdiBpZD0ic2Nyb2xsZXIiPgorICAgICAgICA8ZGl2IGlkPSJjb250ZW50Ij48
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8cCBp
ZD0iY29uc29sZSI+PC9wPgorPC9ib2R5PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCitsZXQgcmVhY2hlZE1pbmltdW1TY3JvbGxQb3NpdGlvbiA9IGZhbHNlOworY29uc3QgbWlu
aW11bUV4cGVjdGVkU2Nyb2xsVG9wID0gNTAwOworY29uc3Qgc2Nyb2xsZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic2Nyb2xsZXIiKTsKKworc2Nyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcigi
c2Nyb2xsIiwgb2JzZXJ2ZVNjcm9sbEV2ZW50KTsKK3Njcm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKCkgPT4gdGVzdEZhaWxlZCgiT2JzZXJ2ZWQgdW5leHBlY3RlZCBjbGljayBldmVu
dC4iKSwgeyBvbmNlOiB0cnVlIH0pOworCitmdW5jdGlvbiBub3RlVGVzdFByb2dyZXNzKCkgewor
ICAgIGlmICghd2luZG93LnByb2dyZXNzKQorICAgICAgICBwcm9ncmVzcyA9IDA7CisgICAgaWYg
KCsrcHJvZ3Jlc3MgPT0gMikKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIG9ic2VydmVTY3JvbGxFdmVudCgpIHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVy
IHx8IHNjcm9sbGVyLnNjcm9sbFRvcCA8IG1pbmltdW1FeHBlY3RlZFNjcm9sbFRvcCB8fCByZWFj
aGVkTWluaW11bVNjcm9sbFBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICByZWFjaGVk
TWluaW11bVNjcm9sbFBvc2l0aW9uID0gdHJ1ZTsKKyAgICB0ZXN0UGFzc2VkKGBzY3JvbGxlci5z
Y3JvbGxUb3AgcGFzc2VkICR7bWluaW11bUV4cGVjdGVkU2Nyb2xsVG9wfWApOworICAgIHJlbW92
ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIG9ic2VydmVTY3JvbGxFdmVudCk7CisgICAgYXdhaXQg
bG9uZ1ByZXNzQXRQb2ludCgxNjAsIDI1MCwgMSk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZv
ckRvdWJsZVRhcERlbGF5KCk7CisgICAgbm90ZVRlc3RQcm9ncmVzcygpOworfQorCithc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCBsb25n
IHByZXNzaW5nIGEgc3Vic2Nyb2xsYWJsZSByZWdpb24gZHVyaW5nIG1vbWVudHVtIHNjcm9sbGlu
ZyBkb2VzIG5vdCBkaXNwYXRjaCBjbGljayBldmVudHMuIFRoaXMgdGVzdCByZXF1aXJlcyBXZWJL
aXRUZXN0UnVubmVyLiIpOworCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgYXdhaXQgVUlIZWxwZXIuZHJhZ0Zyb21Qb2ludFRvUG9pbnQoMTYwLCAy
NTAsIDE2MCwgNTAsIDAuMSk7CisgICAgbm90ZVRlc3RQcm9ncmVzcygpOworfQorPC9zY3JpcHQ+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377784</attachid>
            <date>2019-08-30 20:31:34 -0700</date>
            <delta_ts>2019-09-01 13:42:42 -0700</delta_ts>
            <desc>Fix macOS build</desc>
            <filename>bug-201346-20190830203133.patch</filename>
            <type>text/plain</type>
            <size>35849</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFjNjk0YzIzYTAxNzJmMzIx
MGIwZTVmNDI1MGJiNzcyOWNmOTIwYzYuLjhmMjNiZDBkOGZjOTRiOWY3ZjA2ODRkYTczMmMzNTRj
ZGVmNjQ1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODQgQEAKKzIwMTktMDgtMzAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZyBwcmVzc2VzIHRo
YXQgaW50ZXJydXB0IGFjY2VsZXJhdGVkIHNjcm9sbGluZyBkaXNwYXRjaCBjbGlja3Mgb24gYXBw
cyBsaW5rZWQgYWdhaW5zdCBpT1MgMTIgb3IgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMzQ2CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NDg4NTc4ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGb3IgYXBwcyB0aGF0IGFyZSBsaW5rZWQgb24gb3IgYWZ0ZXIgaU9TIDEzLCB3ZSBhZGQg
YSBjb250ZXh0IG1lbnUgaW50ZXJhY3Rpb24gdG8gdGhlIGNvbnRlbnQgdmlldywgd2hpY2gKKyAg
ICAgICAgcmVxdWlyZXMgdXMgdG8gZGlzYWJsZSAob3IgYXZvaWQgYWRkaW5nKSB0aGUgaGlnaGxp
Z2h0IGxvbmcgcHJlc3MgZ2VzdHVyZSByZWNvZ25pemVyLiBIb3dldmVyLCBmb3IgYXBwcyB0aGF0
IGFyZQorICAgICAgICBsaW5rZWQgb24gdGhlIGlPUyAxMiBTREsgb3IgcHJpb3IsIHRoaXMgZ2Vz
dHVyZSBpcyBzdGlsbCBwcmVzZW50LCBhbmQgZmlyZXMgd2hlbiBsb25nIHByZXNzaW5nIGZvciAo
cm91Z2hseSkgdXAKKyAgICAgICAgdG8gMC43NSBzZWNvbmRzIGlmIGEgdGFwIGdlc3R1cmUgd2Fz
IG5vdCByZWNvZ25pemVkIGluc3RlYWQuIEZpcmluZyB0aGlzIGdlc3R1cmUgc2VuZHMgYSBjbGlj
ayBldmVudCB0byB0aGUKKyAgICAgICAgcGFnZTsgdGhpcyBicmluZ3MgYmFjayBzb21lIGZvcm0g
b2YgPHJkYXI6Ly9wcm9ibGVtLzUzODg5MzczPiwgYnV0IG9ubHkgd2hlbiBob2xkaW5nIGZvciBz
bGlnaHRseSBsb25nZXIgdGhhbiBhCisgICAgICAgIG5vcm1hbCB0YXAsIGFuZCBhbHNvIG9ubHkg
aW4gYXBwcyBsaW5rZWQgb24gaU9TIDEyIG9yIGVhcmxpZXIuIFRvIGZpeCB0aGlzLCB3ZSBhcHBs
eSBhIHNpbWlsYXIgc29sdXRpb24gYXMgaW4KKyAgICAgICAgcjI0ODQzMyBhbmQgZGV0ZWN0IHdo
ZXRoZXIgYSBsb25nIHByZXNzIGdlc3R1cmUgaW50ZXJydXB0ZWQgc2Nyb2xsIHZpZXcgZGVjZWxl
cmF0aW9uIGluCisgICAgICAgIC1nZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOi4gSWYgc28s
IHdlIHJldHVybiBOTyB0byBhdm9pZCBjbGlja2luZy4gU2VlIHBlci1tZXRob2QgY29tbWVudHMg
YmVsb3cgZm9yIG1vcmUKKyAgICAgICAgZGV0YWlscy4KKworICAgICAgICBUZXN0aW5nIHRoaXMg
YnVnIGFzLWlzIHdhcyB0cmlja3ksIHNpbmNlIHRoZXJlJ3Mgbm8gd2F5IGluIGxheW91dCB0ZXN0
cyB0byBzaW11bGF0ZSBiZWluZyBsaW5rZWQgb24gb3IgYmVmb3JlIGEKKyAgICAgICAgZ2l2ZW4g
U0RLIHZlcnNpb24uIEx1Y2tpbHksIHJlY2FsbCB0aGF0OgorICAgICAgICAxLiBUaGlzIGJ1ZyBv
Y2N1cnMgd2hlbiB0aGUgaGlnaGxpZ2h0IGdlc3R1cmUgcmVjb2duaXplciBpcyBlbmFibGVkIGFu
ZCBhZGRlZCB0byB0aGUgY29udGVudCB2aWV3LgorICAgICAgICAyLiBUaGUgaGlnaGxpZ2h0IGdl
c3R1cmUgcmVjb2duaXplciBvbmx5IG5lZWRzIHRvIGJlIGRpc2FibGVkIG9yIHJlbW92ZWQgd2hl
biBjb250ZXh0IG1lbnUgaW50ZXJhY3Rpb24gaXMgYWRkZWQuCisgICAgICAgIEFzIHN1Y2gsIHdl
IHNob3VsZCBiZSBhYmxlIHRvIHJlc3RvcmUgdGhlIGhpZ2hsaWdodCBnZXN0dXJlIHJlY29nbml6
ZXIgYnkgc3VwcHJlc3NpbmcgdGhlIGNvbnRleHQgbWVudQorICAgICAgICBpbnRlcmFjdGlvbiBp
biBhbiBhcHAgbGlua2VkLW9uLW9yLWFmdGVyIGlPUyAxMywgYnkgc2V0dGluZyBhbGxvd3NMaW5r
UHJldmlldyB0byBOTy4gVW5mb3J0dW5hdGVseSwgdGhpcyBkb2Vzbid0CisgICAgICAgIHF1aXRl
IHdvcmssIHNpbmNlIHdlIGN1cnJlbnRseSBhbHdheXMgYXZvaWQgYWRkaW5nIHRoZSBoaWdobGln
aHQgZ2VzdHVyZSByZWNvZ25pemVyIGlmIHRoZSBhcHAgaXMgbGlua2VkIG9uCisgICAgICAgIGlP
UyAxMyBvciBsYXRlci4KKworICAgICAgICBIb3dldmVyLCB0aGlzIG1lYW5zIHRoYXQgdGhlIGhp
Z2hsaWdodCBnZXN0dXJlIHJlY29nbml6ZXIgaXMgYWJzZW50IGZyb20gdGhlIGNvbnRlbnQgdmll
dyBpbiBhcHBzIGxpbmtlZCBhZ2FpbnN0CisgICAgICAgIGlPUyAxMyB0aGF0IGRpc2FibGUgbGlu
ayBwcmV2aWV3cywgZXZlbiB0aG91Z2ggaXRzIGFic2VuY2UgaXMgbm90IHJlcXVpcmVkLiBUaGlz
IG1lYW5zIHRoYXQgbG9uZyBwcmVzc2luZyBhCisgICAgICAgIGNsaWNrYWJsZSBlbGVtZW50IGlu
IGEgd2ViIHZpZXcgdGhhdCBkaXNhYmxlcyBsaW5rIHByZXZpZXdzIGRvZXMgbm90IHNob3cgYSB0
YXAgaGlnaGxpZ2h0IG9uIGlPUyAxMywgd2hlcmVhcyBpdAorICAgICAgICB3b3VsZCBvbiBpT1Mg
MTI7IHRoaXMgaXMgYSByZWdyZXNzaW9uLCBhbGJlaXQgYSB2ZXJ5IHN1YnRsZSBvbmUuIFRvIGZp
eCB0aGlzIHN1YnRsZSBpc3N1ZSBhbmQgbWFrZSBpdCBwb3NzaWJsZQorICAgICAgICB0byB3cml0
ZSBhIHRlc3QgZm9yIHRoaXMgYnVnLCB3ZSByZWZhY3RvciBzb21lIGxvZ2ljIGZvciBjcmVhdGlu
ZyBhbmQgY29uZmlndXJpbmcgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNzCisgICAgICAgIGdlc3R1
cmUsIHN1Y2ggdGhhdCB3ZSBub3cgdW5jb25kaXRpb25hbGx5IGFkZCB0aGUgaGlnaGxpZ2h0IGdl
c3R1cmUsIGJ1dCBvbmx5IGVuYWJsZSBpdCBpbiBhcHBzIGxpbmtlZCBvbiBvcgorICAgICAgICBh
ZnRlciBpT1MgMTMgaWYgbGluayBwcmV2aWV3cyAoaS5lLiBjb250ZXh0IG1lbnUgaW50ZXJhY3Rp
b24pIGFyZSBub3QgYWxsb3dlZC4KKworICAgICAgICBUZXN0OiBmYXN0L3Njcm9sbGluZy9pb3Mv
Y2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1v
dmVyZmxvdy5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0
QWxsb3dzTGlua1ByZXZpZXc6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZXR1cEludGVyYWN0aW9u
XSk6CisKKyAgICAgICAgUmVmYWN0b3Igb3VyIGdlc3R1cmUgc2V0dXAgbG9naWMgdG8gYWx3YXlz
IGNyZWF0ZSBhbmQgYWRkIHRoZSBsb25nIHByZXNzIGFuZCBoaWdobGlnaHQgbG9uZyBwcmVzcyBn
ZXN0dXJlcywgYnV0CisgICAgICAgIGNvbmRpdGlvbmFsbHkgZGlzYWJsZSB0aGVtIGJhc2VkIG9u
IHdoZXRoZXIgb3Igbm90ICgxKSB0aGUgY29udGV4dCBtZW51IGlzIGF2YWlsYWJsZSwgYW5kICgy
KSBXS1dlYlZpZXcncworICAgICAgICBhbGxvd3NMaW5rUHJldmlldyBwcm9wZXJ0eS4KKworICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlc10pOgorCisgICAgICAgIEFkZCBhIG5ldyBoZWxwZXIgdG8gdXBkYXRl
IHRoZSBlbmFibGVkIHN0YXRlIG9mIHRoZSBsb25nIHByZXNzIGFuZCBoaWdobGlnaHQgbG9uZyBw
cmVzcyBnZXN0dXJlcywgYnkgY29uc3VsdGluZworICAgICAgICAtX3Nob3VsZFVzZUNvbnRleHRN
ZW51IGFuZCAtYWxsb3dzTGlua1ByZXZpZXcuIFRoaXMgaXMgY2FsbGVkIHdoZW4gc2V0dGluZyB1
cCB0aGUgZ2VzdHVyZXMsIGFzIHdlbGwgYXMgd2hlbmV2ZXIKKyAgICAgICAgLWFsbG93c0xpbmtQ
cmV2aWV3IGNoYW5nZXMuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBnZXN0dXJlUmVjb2du
aXplclNob3VsZEJlZ2luOl0pOgorCisgICAgICAgIEZhY3RvciBvdXQgbG9naWMgdG8gYXNjZW5k
IHRoZSB2aWV3IGhpZXJhcmNoeSBpbiBzZWFyY2ggb2YgYSBVSVNjcm9sbFZpZXcgdGhhdCB3YXMg
aW50ZXJydXB0ZWQgd2hpbGUKKyAgICAgICAgZGVjZWxlcmF0aW5nIGludG8gYSBsb2NhbCBsYW1i
ZGEgZnVuY3Rpb247IHVzZSB0aGlzIGZvciBib3RoIHRoZSBoaWdobGlnaHQgZ2VzdHVyZSBhbmQg
dGhlIHNpbmdsZSB0YXAgZ2VzdHVyZSwKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhl
eSBzaG91bGQgYmVnaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0TG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLm1tOiBBZGRlZC4KKworICAg
ICAgICBJbiBvcmRlciB0byByZW1lbWJlciB0aGUgVUlTY3JvbGxWaWV3IChpZiBhbnkpIHRyYWNr
ZWQgYnkgdGhlIGhpZ2hsaWdodCBsb25nIHByZXNzIGdlc3R1cmUsIHdlIHN1YmNsYXNzCisgICAg
ICAgIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLiBXaGlsZSBVSUxv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIGRvZXMgaGF2ZSBTUEkgdG8gYXNrIGZvciBhIGxpc3Qg
b2YKKyAgICAgICAgVUlUb3VjaGVzLCBieSB0aGUgdGltZSB0aGUgZ2VzdHVyZSBoYXMgYmVlbiBy
ZWNvZ25pemVkIGFuZCB0aGUgZ2VzdHVyZSBkZWxlZ2F0ZXMgYXJlIGludm9rZWQsIHRoZXNlIFVJ
VG91Y2hlcworICAgICAgICBubyBsb25nZXIgY29ycmVzcG9uZCB0byBVSVZpZXdzLiBBcyBzdWNo
LCB0aGUgb25seSB0aW1lIHdlIGhhdmUgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIFVJVG91Y2hlcyB3
aXRoIHRoZWlyCisgICAgICAgIFVJVmlld3MgaXMgZHVyaW5nIHRoZSB0b3VjaGVzKiBzdWJjbGFz
cyBob29rcy4KKworICAgICAgICAoLVtXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyIHJlc2V0XSk6CisKKyAgICAgICAgQ2xlYXIgb3V0IHRoZSB0cmFja2VkIFVJU2Nyb2xsVmll
dyBoZXJlLCB3aGVuIHRoZSBnZXN0dXJlIGlzIHJlc2V0IChpLmUuIGFmdGVyIGVuZGluZywgb3Ig
YmVpbmcgY2FuY2VsZWQpLgorCisgICAgICAgICgtW1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVy
ZVJlY29nbml6ZXIgdG91Y2hlc0JlZ2FuOndpdGhFdmVudDpdKToKKworICAgICAgICBSZW1lbWJl
ciB0aGUgbGFzdCB0b3VjaGVkIFVJU2Nyb2xsVmlldyBoZXJlLgorCisgICAgICAgICgtW1dLSGln
aGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSk6
CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDgt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQYWdlOjpm
cm9tQ29yZVBhZ2UoKSB0byB0YWtlIGFuZCByZXR1cm4gYSBDKysgcmVmZXJlbmNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJj
ZXNDb2NvYS50eHQKaW5kZXggYzY5OGI5NTNlNTAwMTMyMDMxNWZhODAzNTY2OWY0NTE4YjBjYjA2
Yi4uYTdkOTA4M2MwZTI5ZTc4Mjg0OGI0OTZkMjVkY2IxMDZhMDBjNzQ3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dApAQCAtNDIyLDYgKzQyMiw3IEBAIFVJUHJvY2Vzcy9pb3MvV0tEcmF3aW5nQ29v
cmRpbmF0b3IubW0KIFVJUHJvY2Vzcy9pb3MvV0tEcmF3aW5nVmlldy5tbQogVUlQcm9jZXNzL2lv
cy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1MubW0KIFVJUHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlv
blByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tCitVSVByb2Nlc3MvaW9zL1dLSGlnaGxp
Z2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tJbnNwZWN0
b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tLZXlib2Fy
ZFNjcm9sbGluZ0FuaW1hdG9yLm1tCiBVSVByb2Nlc3MvaW9zL1dLUGFzc3dvcmRWaWV3Lm1tCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA3
NDNmZjJjNmNmZDc4NWY1MmFhZTY4YzgyZTljNzQ3ZTY0ZTBlYzE1Li40NDVlNDM5NTNkNTI3ZTgw
MWNjNjMxYzRjNzViMTMzMDcwYzIwMTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTEyNjcsNiArMTI2Nyw3IEBAIC0gKHZvaWQpc2V0
QWxsb3dzTGlua1ByZXZpZXc6KEJPT0wpYWxsb3dzTGlua1ByZXZpZXcKICAgICAgICAgW19jb250
ZW50VmlldyBfcmVnaXN0ZXJQcmV2aWV3XTsKICAgICBlbHNlCiAgICAgICAgIFtfY29udGVudFZp
ZXcgX3VucmVnaXN0ZXJQcmV2aWV3XTsKKyAgICBbX2NvbnRlbnRWaWV3IF9kaWRDaGFuZ2VMaW5r
UHJldmlld0F2YWlsYWJpbGl0eV07CiAjZW5kaWYgLy8gSEFWRShMSU5LX1BSRVZJRVcpCiAjZW5k
aWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBkYThiYmZkOGE3
NGZkZDE2YzBmZTVhMGQ4NjU4YWViMzAxOTI4M2QzLi45NDY2MTg2OTFiNGNkZDlmOGU3NTZhYzhi
NzM5ODlkNzFhM2FkOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC05OSw3ICs5OSw2IEBAIHN0cnVjdCBX
ZWJBdXRvY29ycmVjdGlvbkNvbnRleHQ7CiAKIEBjbGFzcyBfVUlMb29rdXBHZXN0dXJlUmVjb2du
aXplcjsKIEBjbGFzcyBfVUlIaWdobGlnaHRWaWV3OwotQGNsYXNzIF9VSVdlYkhpZ2hsaWdodExv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyOwogQGNsYXNzIFVJSG92ZXJHZXN0dXJlUmVjb2duaXpl
cjsKIEBjbGFzcyBVSVRhcmdldGVkUHJldmlldzsKIEBjbGFzcyBXZWJFdmVudDsKQEAgLTEwOSw2
ICsxMDgsNyBAQCBzdHJ1Y3QgV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0OwogQGNsYXNzIFdLRm9j
dXNlZEZvcm1Db250cm9sVmlldzsKIEBjbGFzcyBXS0Zvcm1JbnB1dENvbnRyb2w7CiBAY2xhc3Mg
V0tGb3JtSW5wdXRTZXNzaW9uOworQGNsYXNzIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXI7CiBAY2xhc3MgV0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXI7
CiAKIHR5cGVkZWYgdm9pZCAoXlVJV0tBdXRvY29ycmVjdGlvbkNvbXBsZXRpb25IYW5kbGVyKShV
SVdLQXV0b2NvcnJlY3Rpb25SZWN0cyAqcmVjdHNGb3JJbnB1dCk7CkBAIC0yMTMsNyArMjEzLDcg
QEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICNlbmRpZgogCiAgICAgUmV0YWluUHRy
PFdLU3ludGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXI+IF9zaW5nbGVUYXBHZXN0dXJlUmVjb2du
aXplcjsKLSAgICBSZXRhaW5QdHI8X1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXI+IF9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcjsKKyAgICBSZXRhaW5Q
dHI8V0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcj4gX2hpZ2hsaWdodExvbmdQ
cmVzc0dlc3R1cmVSZWNvZ25pemVyOwogICAgIFJldGFpblB0cjxVSUxvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyPiBfbG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI7CiAgICAgUmV0YWluUHRyPFdL
U3ludGhldGljVGFwR2VzdHVyZVJlY29nbml6ZXI+IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXpl
cjsKICAgICBSZXRhaW5QdHI8VUlUYXBHZXN0dXJlUmVjb2duaXplcj4gX25vbkJsb2NraW5nRG91
YmxlVGFwR2VzdHVyZVJlY29nbml6ZXI7CkBAIC01NDgsNiArNTQ4LDggQEAgRk9SX0VBQ0hfUFJJ
VkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZP
Ul9XRUJfVklFVykKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfc2hvdWxk
QXZvaWRSZXNpemluZ1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2U7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIEJPT0wgX3Nob3VsZEF2b2lkU2Nyb2xsaW5nV2hlbkZvY3VzZWRDb250
ZW50SXNWaXNpYmxlOwogCistICh2b2lkKV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0
eTsKKwogQGVuZAogCiBAaW50ZXJmYWNlIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IDcxMWJkMTU4NDIwOWVlMjk0ZjQxYWZhZDM5NDYwNzFjYjYzYTIyZDYuLjhi
ZDkzODIyN2E3Njk4YzY4YWFlN2QwODRhZjA4NWVjNzVjMGQxYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtNTIsNiArNTIsNyBAQAogI2ltcG9ydCAiV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3LmgiCiAj
aW1wb3J0ICJXS0Zvcm1JbnB1dENvbnRyb2wuaCIKICNpbXBvcnQgIldLRm9ybVNlbGVjdENvbnRy
b2wuaCIKKyNpbXBvcnQgIldLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCIK
ICNpbXBvcnQgIldLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgIldLSW5z
cGVjdG9yTm9kZVNlYXJjaEdlc3R1cmVSZWNvZ25pemVyLmgiCiAjaW1wb3J0ICJXS05TVVJMRXh0
cmFzLmgiCkBAIC03NTUsMTUgKzc1NiwxNSBAQCAtICh2b2lkKXNldHVwSW50ZXJhY3Rpb24KICAg
ICBbX3R3b0ZpbmdlckRvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOnNlbGZd
OwogICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVyOl90d29GaW5nZXJEb3VibGVUYXBHZXN0
dXJlUmVjb2duaXplci5nZXQoKV07CiAKLSAgICBfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXIgPSBhZG9wdE5TKFtbX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIgYWxsb2NdIGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihfaGlnaGxp
Z2h0TG9uZ1ByZXNzUmVjb2duaXplZDopXSk7CisgICAgX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyID0gYWRvcHROUyhbW1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIgYWxsb2NdIGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihfaGlnaGxp
Z2h0TG9uZ1ByZXNzUmVjb2duaXplZDopXSk7CiAgICAgW19oaWdobGlnaHRMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciBzZXREZWxheTpoaWdobGlnaHREZWxheV07CiAgICAgW19oaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplciBzZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbc2VsZiBh
ZGRHZXN0dXJlUmVjb2duaXplcjpfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIu
Z2V0KCldOworCisgICAgW3NlbGYgX2NyZWF0ZUFuZENvbmZpZ3VyZUxvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyXTsKIAogI2lmIEhBVkUoTElOS19QUkVWSUVXKQotICAgIGlmICghc2VsZi5fc2hv
dWxkVXNlQ29udGV4dE1lbnVzKSB7Ci0gICAgICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVy
Ol9oaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5nZXQoKV07Ci0gICAgICAgIFtz
ZWxmIF9jcmVhdGVBbmRDb25maWd1cmVMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcl07Ci0gICAg
fQorICAgIFtzZWxmIF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
c107CiAjZW5kaWYKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQpAQCAtMTAwNiw2ICsx
MDA3LDIzIEBAIC0gKHZvaWQpX2FkZERlZmF1bHRHZXN0dXJlUmVjb2duaXplcnMKICNlbmRpZgog
fQogCistICh2b2lkKV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWlsYWJpbGl0eQoreworICAgIFtz
ZWxmIF91cGRhdGVMb25nUHJlc3NBbmRIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlc107Cit9CisK
Ky0gKHZvaWQpX3VwZGF0ZUxvbmdQcmVzc0FuZEhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVzCit7
CisgICAgLy8gV2Ugb25seSBkaXNhYmxlIHRoZSBoaWdobGlnaHQgbG9uZyBwcmVzcyBnZXN0dXJl
IGluIHRoZSBjYXNlIHdoZXJlIFVJQ29udGV4dE1lbnUgaXMgYXZhaWxhYmxlIGFuZCB3ZQorICAg
IC8vIGFsc28gYWxsb3cgbGluayBwcmV2aWV3cywgc2luY2UgdGhlIGNvbnRleHQgbWVudSBpbnRl
cmFjdGlvbidzIGdlc3R1cmVzIG5lZWQgdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIKKyAgICAvLyBo
aWdobGlnaHQgbG9uZyBwcmVzcyBnZXN0dXJlcy4KKyAgICBbX2hpZ2hsaWdodExvbmdQcmVzc0dl
c3R1cmVSZWNvZ25pemVyIHNldEVuYWJsZWQ6IXNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51cyB8
fCAhX3dlYlZpZXcuYWxsb3dzTGlua1ByZXZpZXddOworCisgICAgLy8gV2Ugb25seSBlbmFibGUg
dGhlIGxvbmcgcHJlc3MgZ2VzdHVyZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgYXBwIGlzIGxpbmtl
ZCBvbiBpT1MgMTIgb3IgZWFybGllciAoYW5kCisgICAgLy8gdGhlcmVmb3JlIHByZWZlcnMgdGhl
IGxlZ2FjeSBhY3Rpb24gc2hlZXQgb3ZlciBjb250ZXh0IG1lbnVzKSwgYW5kIGxpbmsgcHJldmll
d3MgYXJlIGFsc28gZW5hYmxlZC4KKyAgICBbX2xvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIHNl
dEVuYWJsZWQ6IXNlbGYuX3Nob3VsZFVzZUNvbnRleHRNZW51cyAmJiBfd2ViVmlldy5hbGxvd3NM
aW5rUHJldmlld107Cit9CisKIC0gKFVJVmlldyAqKXVuc2NhbGVkVmlldwogewogICAgIHJldHVy
biBfaW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC0yMDkxLDIwICsyMTA5
LDIzIEBAIC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVj
b2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiAgICAgaWYgKGdlc3R1cmVSZWNvZ25pemVyID09
IF9zdHlsdXNTaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplcikKICAgICAgICAgcmV0dXJuIF93ZWJW
aWV3Ll9zdHlsdXNUYXBHZXN0dXJlU2hvdWxkQ3JlYXRlRWRpdGFibGVJbWFnZTsKIAotICAgIGlm
IChnZXN0dXJlUmVjb2duaXplciA9PSBfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIpIHsKKyAg
ICBhdXRvIGlzSW50ZXJydXB0aW5nRGVjZWxlcmF0aW9uRm9yU2Nyb2xsVmlld09yQW5jZXN0b3Ig
PSBbJl0gKFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldykgewogICAgICAgICBVSVNjcm9sbFZpZXcg
Km1haW5TY3JvbGxlciA9IF93ZWJWaWV3LnNjcm9sbFZpZXc7Ci0gICAgICAgIFVJVmlldyAqdmll
dyA9IFtfc2luZ2xlVGFwR2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSA/
OiBtYWluU2Nyb2xsZXI7CisgICAgICAgIFVJVmlldyAqdmlldyA9IHNjcm9sbFZpZXcgPzogbWFp
blNjcm9sbGVyOwogICAgICAgICB3aGlsZSAodmlldykgewogICAgICAgICAgICAgaWYgKFt2aWV3
IGlzS2luZE9mQ2xhc3M6VUlTY3JvbGxWaWV3LmNsYXNzXSAmJiBbKFVJU2Nyb2xsVmlldyAqKXZp
ZXcgX2lzSW50ZXJydXB0aW5nRGVjZWxlcmF0aW9uXSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
Tk87CisgICAgICAgICAgICAgICAgcmV0dXJuIFlFUzsKIAogICAgICAgICAgICAgaWYgKG1haW5T
Y3JvbGxlciA9PSB2aWV3KQogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICB2
aWV3ID0gdmlldy5zdXBlcnZpZXc7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFlFUzsKLSAg
ICB9CisgICAgICAgIHJldHVybiBOTzsKKyAgICB9OworCisgICAgaWYgKGdlc3R1cmVSZWNvZ25p
emVyID09IF9zaW5nbGVUYXBHZXN0dXJlUmVjb2duaXplcikKKyAgICAgICAgcmV0dXJuICFpc0lu
dGVycnVwdGluZ0RlY2VsZXJhdGlvbkZvclNjcm9sbFZpZXdPckFuY2VzdG9yKFtfc2luZ2xlVGFw
R2VzdHVyZVJlY29nbml6ZXIgbGFzdFRvdWNoZWRTY3JvbGxWaWV3XSk7CiAKICAgICBpZiAoZ2Vz
dHVyZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyCiAg
ICAgICAgIHx8IGdlc3R1cmVSZWNvZ25pemVyID09IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXpl
cgpAQCAtMjEyMyw2ICsyMTQ0LDkgQEAgLSAoQk9PTClnZXN0dXJlUmVjb2duaXplclNob3VsZEJl
Z2luOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKICAgICB9CiAKICAg
ICBpZiAoZ2VzdHVyZVJlY29nbml6ZXIgPT0gX2hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNv
Z25pemVyKSB7CisgICAgICAgIGlmIChpc0ludGVycnVwdGluZ0RlY2VsZXJhdGlvbkZvclNjcm9s
bFZpZXdPckFuY2VzdG9yKFtfaGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgbGFz
dFRvdWNoZWRTY3JvbGxWaWV3XSkpCisgICAgICAgICAgICByZXR1cm4gTk87CisKICAgICAgICAg
aWYgKGhhc0ZvY3VzZWRFbGVtZW50KF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKSkgewogICAg
ICAgICAgICAgLy8gVGhpcyBpcyBhIGRpZmZlcmVudCBlbGVtZW50IHRoYW4gdGhlIGZvY3VzZWQg
b25lLgogICAgICAgICAgICAgLy8gUHJldmVudCB0aGUgZ2VzdHVyZSBpZiB0aGVyZSBpcyBubyBu
b2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0
TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVi
OTYzMWY1ZWQ4Mzk3NTU5YjZkMDI4NWZjYTc2MjExOWUwMDMyZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2ltcG9ydCAiVUlLaXRTUEkuaCIKKworQGlu
dGVyZmFjZSBXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIDogX1VJV2ViSGln
aGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIKKworQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5LCB3ZWFrKSBVSVNjcm9sbFZpZXcgKmxhc3RUb3VjaGVkU2Nyb2xsVmlldzsKKwor
QGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGIwMzQ0NzRlMDBhMWZhYzJiMzczZjk1MzZkOWJjMDAyYWMzMGRmNAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQ
cmVzc0dlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJl
Y29nbml6ZXIuaCIKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQgPHd0Zi9X
ZWFrT2JqQ1B0ci5oPgorCitAaW1wbGVtZW50YXRpb24gV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciB7CisgICAgV2Vha09iakNQdHI8VUlTY3JvbGxWaWV3PiBfbGFzdFRvdWNo
ZWRTY3JvbGxWaWV3OworfQorCistICh2b2lkKXJlc2V0Cit7CisgICAgW3N1cGVyIHJlc2V0XTsK
KworICAgIF9sYXN0VG91Y2hlZFNjcm9sbFZpZXcgPSBuaWw7Cit9CisKKy0gKHZvaWQpdG91Y2hl
c0JlZ2FuOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKill
dmVudAoreworICAgIFtzdXBlciB0b3VjaGVzQmVnYW46dG91Y2hlcyB3aXRoRXZlbnQ6ZXZlbnRd
OworCisgICAgZm9yIChVSVRvdWNoICp0b3VjaCBpbiB0b3VjaGVzKSB7CisgICAgICAgIGlmIChb
dG91Y2gudmlldyBpc0tpbmRPZkNsYXNzOlVJU2Nyb2xsVmlldy5jbGFzc10pIHsKKyAgICAgICAg
ICAgIF9sYXN0VG91Y2hlZFNjcm9sbFZpZXcgPSAoVUlTY3JvbGxWaWV3ICopdG91Y2gudmlldzsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCistIChVSVNjcm9sbFZp
ZXcgKilsYXN0VG91Y2hlZFNjcm9sbFZpZXcKK3sKKyAgICByZXR1cm4gX2xhc3RUb3VjaGVkU2Ny
b2xsVmlldy5nZXQoKS5nZXQoKTsKK30KKworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9T
X0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDIzZDRmMDhjMmRkYzllYzEzMWNiZjJlNDZiY2VjNzAwYWJhOWZlYTguLmE3Mzc4
NTAyYWFhNDc2MjU1NTczZWYwMDk2M2UxOTkwODUzYWY0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTcwNyw2ICsxNzA3LDcgQEAK
IAkJRjRDQjA5RTUyMjVENUEwOTAwODkxNDg3IC8qIFdlYnNpdGVNZWRpYVNvdXJjZVBvbGljeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRDQjA5RTQy
MjVENUEwMzAwODkxNDg3IC8qIFdlYnNpdGVNZWRpYVNvdXJjZVBvbGljeS5oICovOyB9OwogCQlG
NEQ1RjUxRDIwNjA4N0ExMDAzOEJCQTggLyogV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RDVGNTE5
MjA2MDg3QTAwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5oICovOyB9
OwogCQlGNEQ1RjUxRjIwNjA4N0ExMDAzOEJCQTggLyogV0tRdWlja2JvYXJkTGlzdFZpZXdDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NEQ1RjUxQjIwNjA4N0ExMDAzOEJCQTggLyogV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVy
LmggKi87IH07CisJCUY0REI1NEU2MjMxOUU3MzMwMDlFMzE1NSAvKiBXS0hpZ2hsaWdodExvbmdQ
cmVzc0dlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNERCNTRFNDIzMTlFNzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25n
UHJlc3NHZXN0dXJlUmVjb2duaXplci5oICovOyB9OwogCQlGNjExM0UyNTEyNkNFMTgyMDA1N0Qw
QTcgLyogQVBJVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogQVBJVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggKi87IH07CiAJCUY2MTEzRTI5MTI2Q0UxOUIwMDU3RDBBNyAv
KiBXS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjYxMTNFMjcxMjZDRTE5QjAwNTdEMEE3IC8qIFdLVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRjYzNDQ0NTYxMkE4ODVDODAwMDYxMkQ4IC8qIEFQSVNlY3VyaXR5T3JpZ2luLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjM0NDQ1NTEy
QTg4NUM4MDAwNjEyRDggLyogQVBJU2VjdXJpdHlPcmlnaW4uaCAqLzsgfTsKQEAgLTQ3NjQsNiAr
NDc2NSw4IEBACiAJCUY0RDVGNTFBMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RW
aWV3Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLVGV4
dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNEQ1RjUxQjIwNjA4N0ExMDAzOEJCQTggLyogV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLUXVpY2tib2FyZExpc3RW
aWV3Q29udHJvbGxlci5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29u
dHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEQ1RjUxQzIwNjA4N0Ex
MDAzOEJCQTggLyogV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9s
bGVyLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjREQjU0RTQyMzE5RTczMzAwOUUzMTU1
IC8qIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
ci5oOyBwYXRoID0gaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjREQjU0RTUyMzE5RTczMzAwOUUzMTU1IC8q
IFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNv
Z25pemVyLm1tOyBwYXRoID0gaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjU5QUQzMjA2NUE1QzkwMDZD
QUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIu
bW07IHBhdGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY1OUFENDIwNjVBNUNBMDA2Q0FBNDYgLyog
V0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oOyBwYXRoID0gaW9zL2Zv
cm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNjExM0UyNDEyNkNFMTgyMDA1N0QwQTcgLyogQVBJVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVVzZXJDb250ZW50
VVJMUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjEwMSw2ICs2MTA0
LDggQEAKIAkJCQkwRkNCNEUzRjE4QkJFMDQ0MDAwRkNGQzkgLyogV0tHZW9sb2NhdGlvblByb3Zp
ZGVySU9TLmggKi8sCiAJCQkJMEZDQjRFNDAxOEJCRTA0NDAwMEZDRkM5IC8qIFdLR2VvbG9jYXRp
b25Qcm92aWRlcklPUy5tbSAqLywKIAkJCQkwRkNCNEU0MTE4QkJFMDQ0MDAwRkNGQzkgLyogV0tH
ZW9sb2NhdGlvblByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tICovLAorCQkJCUY0REI1
NEU0MjMxOUU3MzMwMDlFMzE1NSAvKiBXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyLmggKi8sCisJCQkJRjREQjU0RTUyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGlnaGxpZ2h0TG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0gKi8sCiAJCQkJOTMzREY4MkQxQjNCQzA5MDAwQUVB
OUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIuaCAqLywKIAkJCQk5MzNERjgyRjFC
M0JDMEI0MDBBRUE5RTMgLyogV0tJbWFnZVByZXZpZXdWaWV3Q29udHJvbGxlci5tbSAqLywKIAkJ
CQkwRjNDNzI1OTE5NkY1RjY4MDBBRUREMEMgLyogV0tJbnNwZWN0b3JIaWdobGlnaHRWaWV3Lmgg
Ki8sCkBAIC05OTM4LDYgKzk5NDMsNyBAQAogCQkJCUE1NDNFMzA3MjE1QUQxMzcwMDI3OUNEOSAv
KiBXZWJQYWdlSW5zcGVjdG9yVGFyZ2V0RnJvbnRlbmRDaGFubmVsLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDMENFNzJBMTEyNDdFNzFEMDBCQzBFQzQgLyogV2ViUGFnZU1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRDVDOUQwNjE5QzgxRDhGMDBCM0M1QzEgLyogV2ViUGFnZU92ZXJsYXku
aCBpbiBIZWFkZXJzICovLAorCQkJCTQ2QzM5MjI5MjMxNkVDNEQwMDhFRUQ5QiAvKiBXZWJQYWdl
UHJveHlJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JEMzkxNTEyNUJCMUE4MDBE
MkMyOUYgLyogV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMjEy
N0M0MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3QzQ2OTREMTFBNTFFMzY4MDBBRDU4NDUgLyogV2ViUGFzdGVib2FyZFByb3h5
LmggaW4gSGVhZGVycyAqLywKQEAgLTEwMDI4LDcgKzEwMDM0LDYgQEAKIAkJCQlDNUZBMUVEMzE4
RTEwNjIyMDBCM0Y0MDIgLyogV0tBaXJQbGF5Um91dGVQaWNrZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTJEMTJEQUI1MjA2NjJDNzMwMDZGMDBGQiAvKiBXS0FuaW1hdGlvbkRlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0REQjMyRDEyNEVDMkUxMDA0OEQxM0MgLyogV0tBUElDYXN0Lmgg
aW4gSGVhZGVycyAqLywKLQkJCQk0NkMzOTIyOTIzMTZFQzREMDA4RUVEOUIgLyogV2ViUGFnZVBy
b3h5SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRTM0RTUxMzBCNEQwNTAwQUJE
MTlBIC8qIFdLQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
M0RDNjgyMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3NUY0MTI0RkYwMjcwMDY4RjIwQSAvKiBXS0FycmF5
LmggaW4gSGVhZGVycyAqLywKQEAgLTEwMTc4LDYgKzEwMTgzLDcgQEAKIAkJCQlCQzBFNjE5ODEy
RDZDRDEyMDAxMkE3MkEgLyogV0tHZW9sb2NhdGlvblBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRkNCNEU0RjE4QkJFMDQ0MDAwRkNGQzkgLyogV0tHZW9sb2NhdGlvblByb3ZpZGVySU9T
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0M4QjM3NDEyNUZCNjkwMDBERTQ2QTQgLyogV0tHZW9t
ZXRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjREQjU0RTYyMzE5RTczMzAwOUUzMTU1IC8qIFdL
SGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBNDIyRjhCMThCMjlCNTQwMEQ4Q0Q5NiAvKiBXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUI2MkU3MzEyMTQzMDQ3QjAwMDY5RUMzNSAvKiBXS0hpdFRlc3RS
ZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDEyNDk5MUU3NjNDMDEwMDJCMjgyMCAvKiBX
S0hUVFBDb29raWVTdG9yZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2RkOWViNWYyN2E3MTE0YzhhNGMxYWMxNjZk
ZmViNmNlMzI3YTZhNy4uYjU1NjNiYzUxN2U0NmViNzFiMGM5NTBkNDRmNDlhMTJmZDNlMzc1NSAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIzIEBACisyMDE5LTA4LTMwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgorCisgICAgICAgIExvbmcgcHJlc3NlcyB0aGF0IGludGVycnVwdCBhY2NlbGVyYXRlZCBz
Y3JvbGxpbmcgZGlzcGF0Y2ggY2xpY2tzIG9uIGFwcHMgbGlua2VkIGFnYWluc3QgaU9TIDEyIG9y
IGVhcmxpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMTM0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTQ4ODU3ODQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IHRlc3Qgb3B0aW9u
IHRvIGFsbG93IHRlc3RzIHRvIGRpc2FibGUgbGluayBwcmV2aWV3cy4KKworICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjp1cGRhdGVU
ZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rl
c3RPcHRpb25zLmg6CisKKyAgICAgICAgRHJpdmUtYnkgZml4OiBhbHNvIGNoZWNrIGVuYWJsZUxh
enlJbWFnZUxvYWRpbmcgd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyIHR3byBUZXN0T3B0aW9ucyBh
cmUgdGhlIHNhbWUuCisKKyAgICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6Omhhc1NhbWVJbml0aWFs
aXphdGlvbk9wdGlvbnMgY29uc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvY29jb2Ev
VGVzdENvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBs
YXRmb3JtQ3JlYXRlV2ViVmlldyk6CisKIDIwMTktMDgtMzAgIEFha2FzaCBKYWluICA8YWFrYXNo
X2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtld3MtYnVpbGRdICdyZS1ydW4tbGF5b3V0LXRl
c3RzJyBzdGVwIG9uIG1hY09TLUhpZ2gtU2llcnJhLURlYnVnLVdLMS1UZXN0cy1FV1MgcnVucyBX
SzIgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
NzI2MmY5NTBlYjBlNjQ5YTMyODc1ZTRhYzY2NzMxNGQwZjY2ZDc2YS4uZmI0YmQ0NzgzYzBiMjlj
NTU0NWUwOWE1ODE1Y2U3ZjdmNzliMWViNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKQEAgLTE0MDIsNiArMTQwMiw4IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVRl
c3RPcHRpb25zRnJvbVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMmIHRlc3RPcHRpb25zLCBjb25zdCBz
dGQ6CiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVQYWdlQ2FjaGUgPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJs
ZUxhenlJbWFnZUxvYWRpbmciKQogICAgICAgICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlTGF6eUlt
YWdlTG9hZGluZyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAgICAg
IGVsc2UgaWYgKGtleSA9PSAiYWxsb3dzTGlua1ByZXZpZXciKQorICAgICAgICAgICAgdGVzdE9w
dGlvbnMuYWxsb3dzTGlua1ByZXZpZXcgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFs
dWUpOwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmggYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKaW5kZXggYWE4N2NiZGIyYzYzY2Q4ODc0MWU2MWU2MmNl
YjYwYzEzMWQyNTk5My4uMzUyYTYyNjRlZTdlNGM3MzczOGVmNTY1ZTYzMGM0ZjgyZDI1Yjg2OSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApAQCAtOTUsNiArOTUsNyBAQCBzdHJ1
Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgZW5hYmxlQXBwTmFwIHsgZmFsc2UgfTsKICAgICBi
b29sIGVuYWJsZVBhZ2VDYWNoZSB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVMYXp5SW1hZ2VM
b2FkaW5nIHsgZmFsc2UgfTsKKyAgICBib29sIGFsbG93c0xpbmtQcmV2aWV3IHsgdHJ1ZSB9Owog
CiAgICAgZG91YmxlIGNvbnRlbnRJbnNldFRvcCB7IDAgfTsKIApAQCAtMTUxLDcgKzE1Miw5IEBA
IHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgICAgICAgICB8fCBjb250ZW50SW5zZXRUb3AgIT0g
b3B0aW9ucy5jb250ZW50SW5zZXRUb3AKICAgICAgICAgICAgIHx8IGNvbnRlbnRNb2RlICE9IG9w
dGlvbnMuY29udGVudE1vZGUKICAgICAgICAgICAgIHx8IGVuYWJsZUFwcE5hcCAhPSBvcHRpb25z
LmVuYWJsZUFwcE5hcAotICAgICAgICAgICAgfHwgZW5hYmxlUGFnZUNhY2hlICE9IG9wdGlvbnMu
ZW5hYmxlUGFnZUNhY2hlKQorICAgICAgICAgICAgfHwgZW5hYmxlUGFnZUNhY2hlICE9IG9wdGlv
bnMuZW5hYmxlUGFnZUNhY2hlCisgICAgICAgICAgICB8fCBlbmFibGVMYXp5SW1hZ2VMb2FkaW5n
ICE9IG9wdGlvbnMuZW5hYmxlTGF6eUltYWdlTG9hZGluZworICAgICAgICAgICAgfHwgYWxsb3dz
TGlua1ByZXZpZXcgIT0gb3B0aW9ucy5hbGxvd3NMaW5rUHJldmlldykKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgICAgICBpZiAoIWNvbnRleHRPcHRpb25zLmhhc1NhbWVJbml0aWFs
aXphdGlvbk9wdGlvbnMob3B0aW9ucy5jb250ZXh0T3B0aW9ucykpCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggMDQ1OTY4
NWI3Y2Y2NzYwOTFkNDgxY2EzYmNmY2I1Yjk0MGM2MTJiMC4uOWE1NTgyNDE5YTZhNjU1OGIyNmI3
MTdhNDg5ODkyZWUyYzkzMDNmNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9j
b2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Y29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMTc3LDYgKzE3Nyw4IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0aW9uUmVm
LCBjb25zdCBUZXN0T3B0CiAKICAgICBpZiAob3B0aW9ucy5lZGl0YWJsZSkKICAgICAgICAgbV9t
YWluV2ViVmlldy0+c2V0RWRpdGFibGUodHJ1ZSk7CisKKyAgICBtX21haW5XZWJWaWV3LT5wbGF0
Zm9ybVZpZXcoKS5hbGxvd3NMaW5rUHJldmlldyA9IG9wdGlvbnMuYWxsb3dzTGlua1ByZXZpZXc7
CiB9CiAKIFBsYXRmb3JtV2ViVmlldyogVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlT3Ro
ZXJQYWdlKFBsYXRmb3JtV2ViVmlldyogcGFyZW50VmlldywgV0tQYWdlQ29uZmlndXJhdGlvblJl
ZiwgY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWMwODNiMTZhYzNiMmUxMzY2
ZDg1MzM1Y2Q2MzJmODVhMWI2MzQzOC4uZDE4OTNjNWQ5YjA0NjExMTMzZGFmODllYjg3NjgwNWQy
ODE4MWRjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTA4LTMwICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIExvbmcgcHJlc3NlcyB0aGF0IGlu
dGVycnVwdCBhY2NlbGVyYXRlZCBzY3JvbGxpbmcgZGlzcGF0Y2ggY2xpY2tzIG9uIGFwcHMgbGlu
a2VkIGFnYWluc3QgaU9TIDEyIG9yIGVhcmxpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTM0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTQ4
ODU3ODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgY291cGxlIG9mIG5ldyBsYXlvdXQgdGVzdHMgdG8gdmVyaWZ5IHRoYXQgdXNpbmcgYSBs
b25nIHByZXNzIGdlc3R1cmUgdG8gaW50ZXJydXB0IG1vbWVudHVtIHNjcm9sbGluZyBpbiBhCisg
ICAgICAgIHdlYiB2aWV3IHRoYXQgdXNlcyBBUEkgdG8gZGlzYWJsZSBsaW5rIHByZXZpZXdzIGRv
ZXMgbm90IHJlc3VsdCBpbiBhIGNsaWNrLgorCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9z
L2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4t
bWFpbi1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xs
LWluLW1haW4tZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9z
L2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4t
b3ZlcmZsb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9p
b3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1p
bi1vdmVyZmxvdy5odG1sOiBBZGRlZC4KKwogMjAxOS0wOC0zMCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBwb3N0TWVzc2FnZSBidWZm
ZXJpbmcgYmV0d2VlbiB0aGUgc2VydmljZSB3b3JrZXIgYW5kIHdpbmRvdwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNrLWV2ZW50cy1hZnRlci1sb25nLXBy
ZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tbWFpbi1mcmFtZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJl
c3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1pbi1tYWluLWZyYW1lLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NGE0MTY1MDU3OThhYTVkNzY0ODFjZDFlOGU1ZjQwODZiM2I1ZWM0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNrLWV2ZW50cy1h
ZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tbWFpbi1mcmFtZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVmVyaWZpZXMgdGhhdCBsb25nIHByZXNzaW5nIHRo
ZSBwYWdlIGR1cmluZyBtb21lbnR1bSBzY3JvbGxpbmcgZG9lcyBub3QgZGlzcGF0Y2ggY2xpY2sg
ZXZlbnRzIHRvIHRoZSBwYWdlLiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQuc2Nyb2xsaW5n
RWxlbWVudC5zY3JvbGxUb3AgcGFzc2VkIDEwMDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVt
LXNjcm9sbC1pbi1tYWluLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9p
b3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9sbC1p
bi1tYWluLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhlOGJhYjI1OTkxYjFkOTIzMjAzM2Y3YzFj
NTljYzY2MzVkZWU3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL2lvcy9jbGljay1ldmVudHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Ny
b2xsLWluLW1haW4tZnJhbWUuaHRtbApAQCAtMCwwICsxLDY0IEBACis8IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgYWxsb3dz
TGlua1ByZXZpZXc9ZmFsc2UgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXIt
c2NhbGFibGU9bm8iPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVy
ZXMuanMiPjwvc2NyaXB0PgorPHN0eWxlPgoraHRtbCwgYm9keSB7CisgICAgd2lkdGg6IDEwMCU7
CisgICAgbWFyZ2luOiAwcHg7CisgICAgcGFkZGluZzogMHB4OworfQorCisjY29udGVudCB7Cisg
ICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogNTAwMHB4OworICAgIGJveC1zaXppbmc6IGJv
cmRlci1ib3g7CisgICAgcGFkZGluZzogMjBweDsKKyAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3Jh
ZGllbnQodG8gYm90dG9tLCByZWQgMCUsIGdyZWVuIDUwJSwgYmx1ZSAxMDAlKTsKK30KKzwvc3R5
bGU+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8ZGl2IGlkPSJjb250ZW50Ij48L2Rpdj4K
KzwvYm9keT4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2NvbnN0IG1pbmltdW1F
eHBlY3RlZFNjcm9sbFRvcCA9IDEwMDA7CitsZXQgcmVhY2hlZE1pbmltdW1TY3JvbGxQb3NpdGlv
biA9IGZhbHNlOworCithZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBvYnNlcnZlU2Nyb2xsRXZl
bnQpOworZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHRlc3RG
YWlsZWQoIk9ic2VydmVkIHVuZXhwZWN0ZWQgY2xpY2sgZXZlbnQuIiksIHsgb25jZTogdHJ1ZSB9
KTsKKworZnVuY3Rpb24gbm90ZVRlc3RQcm9ncmVzcygpIHsKKyAgICBpZiAoIXdpbmRvdy5wcm9n
cmVzcykKKyAgICAgICAgcHJvZ3Jlc3MgPSAwOworICAgIGlmICgrK3Byb2dyZXNzID09IDIpCisg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCithc3luYyBmdW5jdGlvbiBvYnNlcnZlU2Nyb2xs
RXZlbnQoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCBkb2N1bWVudC5zY3JvbGxp
bmdFbGVtZW50LnNjcm9sbFRvcCA8IG1pbmltdW1FeHBlY3RlZFNjcm9sbFRvcCB8fCByZWFjaGVk
TWluaW11bVNjcm9sbFBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICByZWFjaGVkTWlu
aW11bVNjcm9sbFBvc2l0aW9uID0gdHJ1ZTsKKyAgICB0ZXN0UGFzc2VkKGBkb2N1bWVudC5zY3Jv
bGxpbmdFbGVtZW50LnNjcm9sbFRvcCBwYXNzZWQgJHttaW5pbXVtRXhwZWN0ZWRTY3JvbGxUb3B9
YCk7CisgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgb2JzZXJ2ZVNjcm9sbEV2ZW50
KTsKKyAgICBhd2FpdCBsb25nUHJlc3NBdFBvaW50KDE2MCwgZG9jdW1lbnQuc2Nyb2xsaW5nRWxl
bWVudC5zY3JvbGxUb3AgKyAzNTAsIDEpOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3Vi
bGVUYXBEZWxheSgpOworICAgIG5vdGVUZXN0UHJvZ3Jlc3MoKTsKK30KKworYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpCit7CisgICAgZGVzY3JpcHRpb24oIlZlcmlmaWVzIHRoYXQgbG9uZyBwcmVz
c2luZyB0aGUgcGFnZSBkdXJpbmcgbW9tZW50dW0gc2Nyb2xsaW5nIGRvZXMgbm90IGRpc3BhdGNo
IGNsaWNrIGV2ZW50cyB0byB0aGUgcGFnZS4gVGhpcyB0ZXN0IHJlcXVpcmVzIFdlYktpdFRlc3RS
dW5uZXIuIik7CisKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBhd2FpdCBVSUhlbHBlci5kcmFnRnJvbVBvaW50VG9Qb2ludCgxNjAsIDQ1MCwgMTYw
LCA1MCwgMC4xKTsKKyAgICBub3RlVGVzdFByb2dyZXNzKCk7Cit9Cis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVu
dHMtYWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xsLWluLW92ZXJmbG93LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9jbGljay1ldmVudHMt
YWZ0ZXItbG9uZy1wcmVzcy1kdXJpbmctbW9tZW50dW0tc2Nyb2xsLWluLW92ZXJmbG93LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MDBiYWYzMzZmYzhjYWRkMjczODM0NjJhOTQxMWMyMzUxMTRm
NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2Ns
aWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tb3Zl
cmZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1ZlcmlmaWVzIHRoYXQgbG9uZyBw
cmVzc2luZyBhIHN1YnNjcm9sbGFibGUgcmVnaW9uIGR1cmluZyBtb21lbnR1bSBzY3JvbGxpbmcg
ZG9lcyBub3QgZGlzcGF0Y2ggY2xpY2sgZXZlbnRzLiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0
VGVzdFJ1bm5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc2Nyb2xs
ZXIuc2Nyb2xsVG9wIHBhc3NlZCA1MDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3MvY2xpY2stZXZlbnRzLWFmdGVyLWxvbmctcHJlc3MtZHVyaW5nLW1vbWVudHVtLXNjcm9s
bC1pbi1vdmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2NsaWNr
LWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tb3ZlcmZs
b3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41YTFjYmYyNGM0OTA1MGZlOTM5YWE3ZGY2N2Q1ZTM0M2FhY2Zm
ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2Ns
aWNrLWV2ZW50cy1hZnRlci1sb25nLXByZXNzLWR1cmluZy1tb21lbnR1bS1zY3JvbGwtaW4tb3Zl
cmZsb3cuaHRtbApAQCAtMCwwICsxLDc5IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgaW50ZXJuYWw6QXN5bmNPdmVy
Zmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBhbGxvd3NMaW5rUHJldmlldz1mYWxzZSBdIC0tPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CitodG1sLCBib2R5IHsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAg
bWFyZ2luOiAwcHg7CisgICAgcGFkZGluZzogMHB4OworfQorCisjc2Nyb2xsZXIgeworICAgIHdp
ZHRoOiAxMDAlOworICAgIGhlaWdodDogNzUlOworICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAg
Ym9yZGVyOiA0cHggc29saWQgYmxhY2s7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKK30K
KworI2NvbnRlbnQgeworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDUwMDBweDsKKyAg
ICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHBhZGRpbmc6IDIwcHg7CisgICAgYmFja2dy
b3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmVkIDAlLCBncmVlbiA1MCUsIGJsdWUg
MTAwJSk7Cit9Cis8L3N0eWxlPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxkaXYg
aWQ9InNjcm9sbGVyIj4KKyAgICAgICAgPGRpdiBpZD0iY29udGVudCI+PC9kaXY+CisgICAgPC9k
aXY+CisgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisgICAgPHAgaWQ9ImNvbnNvbGUiPjwv
cD4KKzwvYm9keT4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHJlYWNo
ZWRNaW5pbXVtU2Nyb2xsUG9zaXRpb24gPSBmYWxzZTsKK2NvbnN0IG1pbmltdW1FeHBlY3RlZFNj
cm9sbFRvcCA9IDUwMDsKK2NvbnN0IHNjcm9sbGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InNjcm9sbGVyIik7CisKK3Njcm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIG9ic2Vy
dmVTY3JvbGxFdmVudCk7CitzY3JvbGxlci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+
IHRlc3RGYWlsZWQoIk9ic2VydmVkIHVuZXhwZWN0ZWQgY2xpY2sgZXZlbnQuIiksIHsgb25jZTog
dHJ1ZSB9KTsKKworZnVuY3Rpb24gbm90ZVRlc3RQcm9ncmVzcygpIHsKKyAgICBpZiAoIXdpbmRv
dy5wcm9ncmVzcykKKyAgICAgICAgcHJvZ3Jlc3MgPSAwOworICAgIGlmICgrK3Byb2dyZXNzID09
IDIpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCithc3luYyBmdW5jdGlvbiBvYnNlcnZl
U2Nyb2xsRXZlbnQoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCBzY3JvbGxlci5z
Y3JvbGxUb3AgPCBtaW5pbXVtRXhwZWN0ZWRTY3JvbGxUb3AgfHwgcmVhY2hlZE1pbmltdW1TY3Jv
bGxQb3NpdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgcmVhY2hlZE1pbmltdW1TY3JvbGxQ
b3NpdGlvbiA9IHRydWU7CisgICAgdGVzdFBhc3NlZChgc2Nyb2xsZXIuc2Nyb2xsVG9wIHBhc3Nl
ZCAke21pbmltdW1FeHBlY3RlZFNjcm9sbFRvcH1gKTsKKyAgICByZW1vdmVFdmVudExpc3RlbmVy
KCJzY3JvbGwiLCBvYnNlcnZlU2Nyb2xsRXZlbnQpOworICAgIGF3YWl0IGxvbmdQcmVzc0F0UG9p
bnQoMTYwLCAyNTAsIDEpOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3VibGVUYXBEZWxh
eSgpOworICAgIG5vdGVUZXN0UHJvZ3Jlc3MoKTsKK30KKworYXN5bmMgZnVuY3Rpb24gcnVuVGVz
dCgpCit7CisgICAgZGVzY3JpcHRpb24oIlZlcmlmaWVzIHRoYXQgbG9uZyBwcmVzc2luZyBhIHN1
YnNjcm9sbGFibGUgcmVnaW9uIGR1cmluZyBtb21lbnR1bSBzY3JvbGxpbmcgZG9lcyBub3QgZGlz
cGF0Y2ggY2xpY2sgZXZlbnRzLiBUaGlzIHRlc3QgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4i
KTsKKworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGF3YWl0IFVJSGVscGVyLmRyYWdGcm9tUG9pbnRUb1BvaW50KDE2MCwgMjUwLCAxNjAsIDUwLCAw
LjEpOworICAgIG5vdGVUZXN0UHJvZ3Jlc3MoKTsKK30KKzwvc2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>