<?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>204100</bug_id>
          
          <creation_ts>2019-11-11 21:55:01 -0800</creation_ts>
          <short_desc>[iOS] WKWebView does not respect system spellchecking preference</short_desc>
          <delta_ts>2019-11-12 16:07:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1589448</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-11-11 21:55:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/56653808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589449</commentid>
    <comment_count>1</comment_count>
      <attachid>383334</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-11-11 21:58:51 -0800</bug_when>
    <thetext>Created attachment 383334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589609</commentid>
    <comment_count>2</comment_count>
      <attachid>383372</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-11-12 13:26:56 -0800</bug_when>
    <thetext>Created attachment 383372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589673</commentid>
    <comment_count>3</comment_count>
      <attachid>383372</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-12 16:07:07 -0800</bug_when>
    <thetext>Comment on attachment 383372
Patch

Clearing flags on attachment: 383372

Committed r252377: &lt;https://trac.webkit.org/changeset/252377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589674</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-12 16:07:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383334</attachid>
            <date>2019-11-11 21:58:51 -0800</date>
            <delta_ts>2019-11-12 12:24:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204100-20191111215850.patch</filename>
            <type>text/plain</type>
            <size>4658</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFkZmE2ODlhOTZlZTFlNzMx
NWIxMGUyNmJiZDhjZDUxZjYyYTczZjYuLjgyZWMzNzVmYTMzMjJiY2M4MDg3YzNiZTU0ZmQ2Nzgw
NzkwYjk3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMTEtMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV0tXZWJWaWV3
IGRvZXMgbm90IHJlc3BlY3Qgc3lzdGVtIHNwZWxsY2hlY2tpbmcgcHJlZmVyZW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MTAwCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81NjY1MzgwOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXSVAgcGF0Y2g7IG5vdCBmb3IgcmV2aWV3LiBBbW9uZyBvdGhl
ciB0aGluZ3MsIGl0IHN0aWxsIG5lZWRzIGEgdGVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9U
ZXh0Q2hlY2tlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvVGV4dENoZWNrZXJJT1MubW06
CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHNldENvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1t
OgorICAgICAgICAoV2ViS2l0OjpUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkKToKKwogMjAxOS0xMS0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTUEkgdG8gYWNjZXNzIGEgV2Vic2l0ZURhdGFT
dG9yZSB3aXRob3V0IGluc3RhbnRpYXRpbmcgaXQsIGFuZCBpdHMgY29uZmlndXJhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVGV4dENoZWNrZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1RleHRDaGVja2VyLmgKaW5kZXggZTRmMDVlNTNjZmQ5MDhmNGFjMGZk
YTZiOGY0NzYxNzk1MjAwYTljNC4uNThjM2FmZTM3MzkzZDgwNTUwMWVhNDYwMTZhNWQwYzI5Mzc3
MDNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVGV4dENoZWNrZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9UZXh0Q2hlY2tlci5oCkBAIC00MSw3ICs0MSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgVGV4dENoZWNrZXJTdGF0ZSYgc3RhdGUoKTsK
ICAgICBzdGF0aWMgYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nQWxsb3dlZCgpOwogCi0g
ICAgc3RhdGljIHZvaWQgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wpOwor
ICAgIHN0YXRpYyBib29sIHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKTsK
ICAgICBzdGF0aWMgdm9pZCBzZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKGJvb2wpOwogICAgIAog
ICAgIHN0YXRpYyB2b2lkIHNldFRlc3RpbmdNb2RlKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1RleHRDaGVja2VySU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1RleHRDaGVja2VySU9TLm1tCmluZGV4IGQzMTAyMzIwNTdhMDA5ODA0OWY5
NTEwNWI4OGVlOTEwZWFiYWUxMjIuLjkyMDBlYjYwOGIzYTE1MWY3NmMwODY4ZGM0ODgzMGFmZmRj
NDcxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9UZXh0Q2hlY2tl
cklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvVGV4dENoZWNrZXJJT1Mu
bW0KQEAgLTY0LDkgKzY0LDEzIEBAIGJvb2wgVGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxs
Q2hlY2tpbmdBbGxvd2VkKCkKICNlbmRpZgogfQogCi12b2lkIFRleHRDaGVja2VyOjpzZXRDb250
aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQorYm9vbCBUZXh0Q2hlY2tl
cjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKKyAg
ICBpZiAoc3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9PSBlbmFibGVk
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBtdXRhYmxlU3RhdGUoKS5pc0NvbnRpbnVv
dXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IHZvaWQgVGV4dENoZWNrZXI6OnNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQoYm9vbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IDFhMDQyNGY1MWJlZDM0ODJiN2M2MTdjNzczZTZmNzFmODkyODIyM2UuLmFk
MGE0ZDQ3MjNiNTkxOTE5MjI5NmM3MDI4YmNkNDM2ODllZDAzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtNDAsNiArNDAsNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVmlld3MuaCIKICNpbXBvcnQgIlNtYXJ0TWFn
bmlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIlRleHRDaGVja2VyLmgiCiAjaW1wb3J0
ICJUZXh0SW5wdXRTUEkuaCIKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0ICJWZXJzaW9u
Q2hlY2tzLmgiCkBAIC03ODE4LDYgKzc4MTksMTIgQEAgLSAoV0tEcmF3aW5nQ29vcmRpbmF0b3Ig
KilfZHJhd2luZ0Nvb3JkaW5hdG9yCiB9CiAjZW5kaWYgLy8gSEFWRShQRU5DSUxLSVQpCiAKKy0g
KHZvaWQpc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOihCT09MKWVuYWJsZWQKK3sK
KyAgICBpZiAoV2ViS2l0OjpUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkKGVuYWJsZWQpKQorICAgICAgICBfcGFnZS0+cHJvY2VzcygpLnVwZGF0ZVRleHRDaGVj
a2VyU3RhdGUoKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tDb250ZW50VmlldyAo
V0tUZXN0aW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRD
aGVja2VyTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFj
Lm1tCmluZGV4IGQwMDNlYTllNTc3YzhjNDJjZTEyZjdmZGZjY2E0YjA3MzgzNmI2YjEuLjBjYTEz
M2EyYWRjZTQxYTdjZmNmM2EwZDQxNGFiNGZmYjg0ZWU2MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJNYWMubW0KQEAgLTE0MywxNiArMTQzLDE3IEBAIGJv
b2wgVGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKCkKICAgICBy
ZXR1cm4gYWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZzsKIH0KIAotdm9pZCBUZXh0Q2hlY2tl
cjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgaXNDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWQpCitib29sIFRleHRDaGVja2VyOjpzZXRDb250aW51b3VzU3BlbGxD
aGVja2luZ0VuYWJsZWQoYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCkKIHsK
ICAgICBpZiAoc3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9PSBpc0Nv
bnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgIG11dGFibGVT
dGF0ZSgpLmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkID0gaXNDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWQ7CiAgICAgaWYgKCF0ZXN0aW5nTW9kZUVuYWJsZWQpCiAgICAgICAg
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6aXNDb250aW51
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgZm9yS2V5OldlYkNvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZF07CiAKICAgICAvLyBGSVhNRTogcHJlZmxpZ2h0IHRoZSBzcGVsbCBjaGVja2VyLgor
ICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFRleHRDaGVja2VyOjpzZXRHcmFtbWFyQ2hlY2tp
bmdFbmFibGVkKGJvb2wgaXNHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383372</attachid>
            <date>2019-11-12 13:26:56 -0800</date>
            <delta_ts>2019-11-12 16:07:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204100-20191112132655.patch</filename>
            <type>text/plain</type>
            <size>35322</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFkZmE2ODlhOTZlZTFlNzMx
NWIxMGUyNmJiZDhjZDUxZjYyYTczZjYuLjMyM2ViYTgwZTMxODA5NTEyYWJlOWU3YmQ5MmE0NmUy
OGYzMmVjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTktMTEtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV0tXZWJWaWV3
IGRvZXMgbm90IHJlc3BlY3Qgc3lzdGVtIHNwZWxsY2hlY2tpbmcgcHJlZmVyZW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MTAwCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81NjY1MzgwOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRzIGEgcGxhdGZvcm0gaG9vayBvbiBpT1MgKC1z
ZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ6KSB0byBhbGxvdyBVSUtpdCB0byBpbmZv
cm0gdXMgd2hlbiB0aGUKKyAgICAgICAgc3lzdGVtIHNwZWxsY2hlY2tpbmcgcHJlZmVyZW5jZSBj
aGFuZ2VzLCBhbmQgYWRkcyBsb2dpYyB0byBwcm9wYWdhdGUgdGhlc2UgY2hhbmdlcyB0byB0aGUg
d2ViIHByb2Nlc3MuIFNlZSBiZWxvdworICAgICAgICBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
ICAgIFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvdG9nZ2xlLXNwZWxsY2hlY2tpbmcuaHRtbAorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dL
V2ViVmlldyBfc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkRm9yVGVzdGluZzpdKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKworICAg
ICAgICBBZGQgdGVzdGluZyBTUEkgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGludW91cyBzcGVs
bGNoZWNraW5nLCBmb3IgYm90aCBpT1MgYW5kIG1hY09TLgorCisgICAgICAgICogVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0Q29udGludW91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvVGV4dENoZWNrZXIuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZ3RrL1RleHRDaGVja2VyR3RrLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6VGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCk6CisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9UZXh0Q2hlY2tlcklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6
VGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBzZXR1cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOl0pOgorCisgICAgICAgIEltcGxlbWVu
dCB0aGlzIG1ldGhvZCB0byBoYW5kbGUgY2hhbmdlcyB0byB0aGUgc3lzdGVtIHNwZWxsY2hlY2tp
bmcgcHJlZmVyZW5jZS4gVGhpcyBob29rIGlzIGFsc28gdXNlZCBieSBsZWdhY3kKKyAgICAgICAg
V2ViS2l0IG9uIGlPUyB0byB0dXJuIHNwZWxsY2hlY2tpbmcgb24gb3Igb2ZmLiBJZiB0aGUgdmFs
dWUgb2YgdGhlIHByZWZlcmVuY2UgY2hhbmdlZCwgd2UgYWRkaXRpb25hbGx5IG5vdGlmeQorICAg
ICAgICB0aGUgd2ViIHByb2Nlc3MuIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZCBjb25zaWRlciBy
ZWZhY3RvcmluZyBUZXh0Q2hlY2tlclN0YXRlIHRvIGJlIHBlci13ZWIgdmlldyBhbmQgcGVyLXBh
Z2UsCisgICAgICAgIHNpbmNlIENvY29hIHBsYXRmb3JtIEFQSXMgd291bGQgYWxsb3cgZm9yIGRp
ZmZlcmVudCBXS1dlYlZpZXdzIHRvIGhhdmUgZGlmZmVyZW50IHNwZWxsIGNoZWNraW5nIHByZWZl
cmVuY2VzLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL3dpbi9UZXh0Q2hlY2tlcldpbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy93cGUvVGV4dENoZWNrZXJXUEUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
KToKKworICAgICAgICBBZGp1c3RlZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQg
dG8gcmV0dXJuIHdoZXRoZXIgb3Igbm90IHRoZSBjb250aW51b3VzIHNwZWxsY2hlY2tpbmcgc3Rh
dGUgY2hhbmdlZC4KKwogMjAxOS0xMS0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTUEkgdG8gYWNjZXNzIGEgV2Vic2l0ZURhdGFT
dG9yZSB3aXRob3V0IGluc3RhbnRpYXRpbmcgaXQsIGFuZCBpdHMgY29uZmlndXJhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNTAw
ZGI1YzUyODcxZDUyZGYxZDg4YTA2NTJhMmY5MzVlMmIzYzYyNS4uMTM0ZTVkNWMzNjRlM2Y0ZTI2
NDEzYmJmOTZiNmY1ZmRjN2VlN2Y0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00OSw2ICs0OSw4IEBACiAjaW1wb3J0ICJSZW1vdGVP
YmplY3RSZWdpc3RyeS5oIgogI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5o
IgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgorI2ltcG9ydCAiVGV4dENoZWNrZXIu
aCIKKyNpbXBvcnQgIlRleHRDaGVja2VyU3RhdGUuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIK
ICNpbXBvcnQgIlVzZXJNZWRpYVByb2Nlc3NNYW5hZ2VyLmgiCiAjaW1wb3J0ICJWZXJzaW9uQ2hl
Y2tzLmgiCkBAIC02ODk3LDYgKzY4OTksMTUgQEAgQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tX
ZWJWaWV3IChXS1Rlc3RpbmcpCiAKKy0gKHZvaWQpX3NldENvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZEZvclRlc3Rpbmc6KEJPT0wpZW5hYmxlZAoreworI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgW19jb250ZW50VmlldyBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ6
ZW5hYmxlZF07CisjZWxzZQorICAgIF9pbXBsLT5zZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWQoZW5hYmxlZCk7CisjZW5kaWYKK30KKwogLSAoTlNEaWN0aW9uYXJ5ICopX2NvbnRlbnRz
T2ZVc2VySW50ZXJmYWNlSXRlbTooTlNTdHJpbmcgKil1c2VySW50ZXJmYWNlSXRlbQogewogICAg
IGlmIChbdXNlckludGVyZmFjZUl0ZW0gaXNFcXVhbFRvU3RyaW5nOkAidmFsaWRhdGlvbkJ1YmJs
ZSJdKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaAppbmRleCBmZDkxOTEwNTVlNGM5MGE4MzM2Y2ZmYWE5MDRjMWFmYzgyOTY4
ZmExLi4wOTVhMTZjNTA2OWM4YjgzYWExYTMzMjFjOWIxYWEyNzZlMjU3ZTE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgK
QEAgLTQ1NCw2ICs0NTQsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVj
dEVkZ2UpIHsKIAogQGludGVyZmFjZSBXS1dlYlZpZXcgKFdLVGVzdGluZykKIAorLSAodm9pZClf
c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkRm9yVGVzdGluZzooQk9PTCllbmFibGVk
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAt
IChOU0RpY3Rpb25hcnkgKilfY29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtOihOU1N0cmluZyAq
KXVzZXJJbnRlcmZhY2VJdGVtIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIuMyksIGlvcygx
MC4zKSk7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwuaAppbmRleCAzM2Q3YTlhODE0OTVlZTJkNTgyMmFhNjRmNzdlNTE4
ZDkzMDRmNDE0Li43ZmU0NDc0ZTQ0NDc5ZTI1M2M4YTY0YjQ1NDBhZmVjOGNlNTUwODE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAgLTM1MCw2ICsz
NTAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93R3Vlc3NQYW5lbChpZCk7CiAgICAgdm9pZCBj
aGVja1NwZWxsaW5nKCk7CiAgICAgdm9pZCBjaGFuZ2VTcGVsbGluZyhpZCk7CisKKyAgICB2b2lk
IHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKTsKICAgICB2b2lkIHRvZ2ds
ZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nKCk7CiAKICAgICBib29sIGlzR3JhbW1hckNoZWNraW5n
RW5hYmxlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bQppbmRleCBmNmExM2ViMTM5YTI1ZWRlZWE3MmQ5YTZmN2UxZmZkMTBhNWZmODg4Li42NzNhYjQ1
OTA0NDZiYjdkMmNkMTQzMDRiMjMyNjA2MWQ1OTM2M2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMzExNyw2ICszMTE3LDE1IEBAIHZvaWQg
V2ViVmlld0ltcGw6OmNoYW5nZVNwZWxsaW5nKGlkIHNlbmRlcikKICAgICBtX3BhZ2UtPmNoYW5n
ZVNwZWxsaW5nVG9Xb3JkKHdvcmQpOwogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpzZXRDb250aW51
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIGlmIChUZXh0Q2hl
Y2tlcjo6c3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9PSBlbmFibGVk
KQorICAgICAgICByZXR1cm47CisKKyAgICBUZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkKGVuYWJsZWQpOworICAgIG1fcGFnZS0+cHJvY2VzcygpLnVwZGF0ZVRl
eHRDaGVja2VyU3RhdGUoKTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6dG9nZ2xlQ29udGludW91
c1NwZWxsQ2hlY2tpbmcoKQogewogICAgIGJvb2wgc3BlbGxDaGVja2luZ0VuYWJsZWQgPSAhVGV4
dENoZWNrZXI6OnN0YXRlKCkuaXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9UZXh0Q2hlY2tlci5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVGV4dENoZWNrZXIuaAppbmRleCBlNGYwNWU1M2NmZDkwOGY0YWMwZmRh
NmI4ZjQ3NjE3OTUyMDBhOWM0Li41OGMzYWZlMzczOTNkODA1NTAxZWE0NjAxNmE1ZDBjMjkzNzcw
M2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9UZXh0Q2hlY2tlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1RleHRDaGVja2VyLmgKQEAgLTQxLDcgKzQxLDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBUZXh0Q2hlY2tlclN0YXRlJiBzdGF0ZSgpOwog
ICAgIHN0YXRpYyBib29sIGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKCk7CiAKLSAg
ICBzdGF0aWMgdm9pZCBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCk7Cisg
ICAgc3RhdGljIGJvb2wgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wpOwog
ICAgIHN0YXRpYyB2b2lkIHNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgCiAg
ICAgc3RhdGljIHZvaWQgc2V0VGVzdGluZ01vZGUoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9ndGsvVGV4dENoZWNrZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvZ3RrL1RleHRDaGVja2VyR3RrLmNwcAppbmRleCBjZGYxZDc3YWVjM2I3Y2NiNjcy
MGY1N2U1NmVmYmIwMmMwZWJhYmZhLi40ZDljYTY5NWI3NjI5YTEzNTBjNWUzMGUzNzFlZWU4M2Y1
YjUwZTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvVGV4dENoZWNr
ZXJHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9UZXh0Q2hlY2tlckd0
ay5jcHAKQEAgLTg1LDE2ICs4NSwxNyBAQCBib29sIFRleHRDaGVja2VyOjppc0NvbnRpbnVvdXNT
cGVsbENoZWNraW5nQWxsb3dlZCgpCiAjZW5kaWYKIH0KIAotdm9pZCBUZXh0Q2hlY2tlcjo6c2V0
Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgaXNDb250aW51b3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQpCitib29sIFRleHRDaGVja2VyOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQoYm9vbCBpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCkKIHsKICNpZiBF
TkFCTEUoU1BFTExDSEVDSykKICAgICBpZiAoY2hlY2tlclN0YXRlKCkuaXNDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWQgPT0gaXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpCi0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNoZWNrZXJTdGF0ZSgp
LmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkID0gaXNDb250aW51b3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQ7CiAgICAgdXBkYXRlU3RhdGVGb3JBbGxQcm9jZXNzUG9vbHMoKTsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKTsKICNl
bmRpZgorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFRleHRDaGVja2VyOjpzZXRHcmFtbWFy
Q2hlY2tpbmdFbmFibGVkKGJvb2wgaXNHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1RleHRDaGVja2VySU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1RleHRDaGVja2VySU9TLm1tCmluZGV4IGQzMTAyMzIwNTdh
MDA5ODA0OWY5NTEwNWI4OGVlOTEwZWFiYWUxMjIuLjkyMDBlYjYwOGIzYTE1MWY3NmMwODY4ZGM0
ODgzMGFmZmRjNDcxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9U
ZXh0Q2hlY2tlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvVGV4dENo
ZWNrZXJJT1MubW0KQEAgLTY0LDkgKzY0LDEzIEBAIGJvb2wgVGV4dENoZWNrZXI6OmlzQ29udGlu
dW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKCkKICNlbmRpZgogfQogCi12b2lkIFRleHRDaGVja2Vy
OjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQorYm9vbCBU
ZXh0Q2hlY2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKIHsKKyAgICBpZiAoc3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9
PSBlbmFibGVkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBtdXRhYmxlU3RhdGUoKS5p
c0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgcmV0dXJuIHRy
dWU7CiB9CiAKIHZvaWQgVGV4dENoZWNrZXI6OnNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQoYm9v
bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24uaAppbmRleCAxYTc4NGE2ZWI3N2U5N2U4N2I4MTg0ZTE3NTU2MDM1NzkzMTg1
NGVjLi40Njc4ZDk1MjYzMTRhZGE2MTlhYmU2NDI3YWQyNTI0ZjlkOTI4OWFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5oCkBAIC01NTcsNiArNTU3LDcgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FD
VElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfc2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3Zl
ckRpc21pc3NhbEJlaGF2aW9yOwogCiAtICh2b2lkKV9kaWRDaGFuZ2VMaW5rUHJldmlld0F2YWls
YWJpbGl0eTsKKy0gKHZvaWQpc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOihCT09M
KWVuYWJsZWQ7CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggMWEwNDI0ZjUxYmVkMzQ4MmI3
YzYxN2M3NzNlNmY3MWY4OTI4MjIzZS4uN2YxMDg0ZmZkYzI0YzJkNTgwNmZmMzQ0NjMwOTA0YTNj
NGJmY2M1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00MCw2ICs0MCw3IEBACiAjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVW
aWV3cy5oIgogI2ltcG9ydCAiU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2ltcG9y
dCAiVGV4dENoZWNrZXIuaCIKICNpbXBvcnQgIlRleHRJbnB1dFNQSS5oIgogI2ltcG9ydCAiVUlL
aXRTUEkuaCIKICNpbXBvcnQgIlZlcnNpb25DaGVja3MuaCIKQEAgLTg2MCw2ICs4NjEsOCBAQCAt
ICh2b2lkKXNldHVwSW50ZXJhY3Rpb24KICAgICBfdGV4dENoZWNraW5nQ29udHJvbGxlciA9IG1h
a2VVbmlxdWU8V2ViS2l0OjpUZXh0Q2hlY2tpbmdDb250cm9sbGVyPigqX3BhZ2UpOwogI2VuZGlm
CiAKKyAgICBfcGFnZS0+cHJvY2VzcygpLnVwZGF0ZVRleHRDaGVja2VyU3RhdGUoKTsKKwogICAg
IF9oYXNTZXRVcEludGVyYWN0aW9ucyA9IFlFUzsKIH0KIApAQCAtNzgxOCw2ICs3ODIxLDEyIEBA
IC0gKFdLRHJhd2luZ0Nvb3JkaW5hdG9yICopX2RyYXdpbmdDb29yZGluYXRvcgogfQogI2VuZGlm
IC8vIEhBVkUoUEVOQ0lMS0lUKQogCistICh2b2lkKXNldENvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZDooQk9PTCllbmFibGVkCit7CisgICAgaWYgKFdlYktpdDo6VGV4dENoZWNrZXI6OnNl
dENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChlbmFibGVkKSkKKyAgICAgICAgX3BhZ2Ut
PnByb2Nlc3MoKS51cGRhdGVUZXh0Q2hlY2tlclN0YXRlKCk7Cit9CisKIEBlbmQKIAogQGltcGxl
bWVudGF0aW9uIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbQppbmRleCBkMDAzZWE5ZTU3N2M4YzQyY2UxMmY3
ZmRmY2NhNGIwNzM4MzZiNmIxLi4wY2ExMzNhMmFkY2U0MWE3Y2ZjZjNhMGQ0MTRhYjRmZmI4NGVl
NjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1t
CkBAIC0xNDMsMTYgKzE0MywxNyBAQCBib29sIFRleHRDaGVja2VyOjppc0NvbnRpbnVvdXNTcGVs
bENoZWNraW5nQWxsb3dlZCgpCiAgICAgcmV0dXJuIGFsbG93Q29udGludW91c1NwZWxsQ2hlY2tp
bmc7CiB9CiAKLXZvaWQgVGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZChib29sIGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKQorYm9vbCBUZXh0Q2hl
Y2tlcjo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgaXNDb250aW51b3Vz
U3BlbGxDaGVja2luZ0VuYWJsZWQpCiB7CiAgICAgaWYgKHN0YXRlKCkuaXNDb250aW51b3VzU3Bl
bGxDaGVja2luZ0VuYWJsZWQgPT0gaXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpCi0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICBtdXRhYmxlU3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZCA9IGlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkOwogICAgIGlmICghdGVz
dGluZ01vZGVFbmFibGVkKQogICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRCb29sOmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkIGZvcktleTpX
ZWJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdOwogCiAgICAgLy8gRklYTUU6IHByZWZs
aWdodCB0aGUgc3BlbGwgY2hlY2tlci4KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBUZXh0
Q2hlY2tlcjo6c2V0R3JhbW1hckNoZWNraW5nRW5hYmxlZChib29sIGlzR3JhbW1hckNoZWNraW5n
RW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9UZXh0Q2hl
Y2tlcldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vVGV4dENoZWNrZXJXaW4u
Y3BwCmluZGV4IDU0ZDMzODNiOGQwNTY0NWJkYzU3NWMxOGY0ZWFmY2FhNjRjZDBhMjUuLmM3ZjJm
NzBkODBiYmJmNzVjMzViNzRlNDIxMTk0NjQ3YzM3NjQ1YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL3dpbi9UZXh0Q2hlY2tlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3Mvd2luL1RleHRDaGVja2VyV2luLmNwcApAQCAtNjEsOCArNjEsOSBAQCBib29s
IFRleHRDaGVja2VyOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nQWxsb3dlZCgpCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi12b2lkIFRleHRDaGVja2VyOjpzZXRDb250aW51b3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQoYm9vbCkKK2Jvb2wgVGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVsbENo
ZWNraW5nRW5hYmxlZChib29sKQogeworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdm9pZCBUZXh0
Q2hlY2tlcjo6c2V0R3JhbW1hckNoZWNraW5nRW5hYmxlZChib29sKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1RleHRDaGVja2VyV1BFLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dwZS9UZXh0Q2hlY2tlcldQRS5jcHAKaW5kZXggZjllYWVkZDIzMjJlNTMw
OTBlZTQwOTMxMGVlZmQxNDZiYWZhZGE4My4uMDE5MjEyMTY4NjhhODgwZmY1MGE2ZjVlZGU5NmRl
ZDJiOTg4YTM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1RleHRD
aGVja2VyV1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvVGV4dENoZWNr
ZXJXUEUuY3BwCkBAIC01NSw5ICs1NSwxMCBAQCBib29sIFRleHRDaGVja2VyOjppc0NvbnRpbnVv
dXNTcGVsbENoZWNraW5nQWxsb3dlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFRl
eHRDaGVja2VyOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCkKK2Jvb2wg
VGV4dENoZWNrZXI6OnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKQogewog
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIFRleHRD
aGVja2VyOjpzZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKGJvb2wpCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzlhZGFjOWVkOTJhMTJlMDNjN2Yy
Y2MwNmMwODQzZmQxZWVmNGMwMS4uODQ5MGZkNDYyNWQwZGJlYjFkMjkxMjk0ZWZmMjgwYzJlMTcz
Mzk0MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ0IEBACisyMDE5LTExLTEyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdLV2ViVmlldyBkb2VzIG5vdCByZXNwZWN0IHN5
c3RlbSBzcGVsbGNoZWNraW5nIHByZWZlcmVuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDEwMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY2
NTM4MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2NvY29hL1VJU2NyaXB0Q29udHJvbGxlckNvY29h
Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29j
b2EubW06CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlckNvY29hOjpVSVNjcmlwdENv
bnRyb2xsZXJDb2NvYSk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlckNvY29hOjpz
ZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpOgorCisgICAgICAgIEFkZCBhIG5ldyBV
SVNjcmlwdENvbnRyb2xsZXJDb2NvYSBzdWJjbGFzcyBmb3IgRHVtcFJlbmRlclRyZWUuIEZvciBu
b3csIHRoaXMgd2lsbCBqdXN0IGNvbnRhaW4gdGhlIGNyb3NzLQorICAgICAgICBwbGF0Zm9ybSBp
bXBsZW1lbnRhdGlvbiBvZiBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLmg6CisgICAg
ICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcklPUzo6VUlTY3JpcHRDb250cm9sbGVySU9TKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLmg6Cisg
ICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlck1hYzo6VUlTY3JpcHRDb250cm9sbGVyTWFj
KToKKworICAgICAgICBNYWtlIGJvdGggLUlPUyBhbmQgLU1hYyBzdWJjbGFzc2VzIGluaGVyaXQg
ZnJvbSBVSVNjcmlwdENvbnRyb2xsZXJDb2NvYS4KKworICAgICAgICAqIFRlc3RSdW5uZXJTaGFy
ZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGw6CisgICAg
ICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVy
Lmg6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6c2V0Q29udGludW91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkKToKKworICAgICAgICBBZGQgYSBuZXcgc2NyaXB0IGNvbnRyb2xsZXIg
bWV0aG9kIHRvIGNoYW5nZSB0aGUgcGxhdGZvcm0gc3BlbGwgY2hlY2tpbmcgcHJlZmVyZW5jZSBk
dXJpbmcgYSBsYXlvdXQgdGVzdC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRy
b2xsZXJDb2NvYS5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNvY29hUmVzZXRT
dGF0ZVRvQ29uc2lzdGVudFZhbHVlcyk6CisKKyAgICAgICAgQWRqdXN0IHRoaXMgdG8gZXhwbGlj
aXRseSB0dXJuIGNvbnRpbnVvdXMgc3BlbGxjaGVja2luZyBvbiBvciBvZmYgYmFzZWQgb24gdGhl
IGBzaG91bGRTaG93U3BlbGxDaGVja2luZ0RvdHNgCisgICAgICAgIHRlc3Qgb3B0aW9uIGZsYWcs
IGluc3RlYWQgb2YgdG9nZ2xpbmcgaXQgb24gYW5kIHRoZW4gb2ZmIHdoZW4gcmVzZXR0aW5nIHN0
YXRlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGxheW91dCB0ZXN0LgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9jb2NvYS9VSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW06CisgICAgICAg
IChXVFI6OlVJU2NyaXB0Q29udHJvbGxlckNvY29hOjpzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQpOgorCiAyMDE5LTExLTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFNQSSB0byBhY2Nlc3MgYSBXZWJzaXRlRGF0YVN0
b3JlIHdpdGhvdXQgaW5zdGFudGlhdGluZyBpdCwgYW5kIGl0cyBjb25maWd1cmF0aW9uCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkOTBjNGVmNjViNzk1NTc2ZDg0NzRjMjkzYzZhNDJm
ZjlhNGQzZDY0Li5kZDBlNDQ1ODcyYTVhYTQwN2NjYWJlMzFjNjJkYWJlMTM0MzBkZDI3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1OSw2ICsxNTksNyBAQAogCQlFMUI3ODE2NTEx
QUYzMUI3MDA3RTFCQzIgLyogTW9ja0dlb2xvY2F0aW9uUHJvdmlkZXIubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODA4NzExQUYxNjY5MDA3RTFC
QzIgLyogTW9ja0dlb2xvY2F0aW9uUHJvdmlkZXIubW0gKi87IH07CiAJCUY0NEE1MzFEMjFCODlB
NEQwMERCQjk5QyAvKiBDbGFzc01ldGhvZFN3aXp6bGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0QTUzMUEyMUI4OUE0NDAwREJCOTlDIC8qIENs
YXNzTWV0aG9kU3dpenpsZXIubW0gKi87IH07CiAJCUY0NEE1MzFFMjFCODlBNTAwMERCQjk5QyAv
KiBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQ0QTUzMUMyMUI4OUE0NTAwREJCOTlDIC8qIEluc3RhbmNlTWV0
aG9kU3dpenpsZXIubW0gKi87IH07CisJCUY0ODRDMjIzMjM3QjI3RDYwMEJGNzdEMCAvKiBVSVNj
cmlwdENvbnRyb2xsZXJDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0ODRDMjIyMjM3QjI3RDYwMEJGNzdEMCAvKiBVSVNjcmlwdENvbnRyb2xs
ZXJDb2NvYS5tbSAqLzsgfTsKIAkJRjRDMzU3OEQyMEU4NDQ0RTAwRkEwNzQ4IC8qIExheW91dFRl
c3RTcGVsbENoZWNrZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNEMzNTc4ODIwRTg0NDI3MDBGQTA3NDggLyogTGF5b3V0VGVzdFNwZWxsQ2hlY2tl
ci5tbSAqLzsgfTsKIAkJRjRENDIzNjExREQ1MDQ4MjAwNjc4MjkwIC8qIFRleHRJbnB1dENvbnRy
b2xsZXJJT1MubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0RDQyMzVGMURENTA0NTMwMDY3ODI5MCAvKiBUZXh0SW5wdXRDb250cm9sbGVySU9TLm0gKi87
IH07CiAJCUY0RkVEMzIwMjM1ODIxNTgwMDNDMTM5QyAvKiBOU1Bhc3RlYm9hcmRBZGRpdGlvbnMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEZFRDMx
RjIzNTgyMTU4MDAzQzEzOUMgLyogTlNQYXN0ZWJvYXJkQWRkaXRpb25zLm1tICovOyB9OwpAQCAt
NDMwLDYgKzQzMSw4IEBACiAJCUY0NEE1MzFBMjFCODlBNDQwMERCQjk5QyAvKiBDbGFzc01ldGhv
ZFN3aXp6bGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2xh
c3NNZXRob2RTd2l6emxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0QTUz
MUIyMUI4OUE0NDAwREJCOTlDIC8qIENsYXNzTWV0aG9kU3dpenpsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xhc3NNZXRob2RTd2l6emxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNDRBNTMxQzIxQjg5QTQ1MDBEQkI5OUMgLyogSW5zdGFuY2VNZXRo
b2RTd2l6emxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IElu
c3RhbmNlTWV0aG9kU3dpenpsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0
ODRDMjIxMjM3QjI3RDYwMEJGNzdEMCAvKiBVSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBVSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oOyBwYXRoID0gY29jb2EvVUlTY3Jp
cHRDb250cm9sbGVyQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ4NEMy
MjIyMzdCMjdENjAwQkY3N0QwIC8qIFVJU2NyaXB0Q29udHJvbGxlckNvY29hLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW07IHBhdGggPSBjb2NvYS9V
SVNjcmlwdENvbnRyb2xsZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjRDMzU3ODgyMEU4NDQyNzAwRkEwNzQ4IC8qIExheW91dFRlc3RTcGVsbENoZWNrZXIubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMYXlvdXRUZXN0U3BlbGxDaGVj
a2VyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEMzNTc4OTIwRTg0NDI3MDBG
QTA3NDggLyogTGF5b3V0VGVzdFNwZWxsQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBMYXlvdXRUZXN0U3BlbGxDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUY0RDQyMzVGMURENTA0NTMwMDY3ODI5MCAvKiBUZXh0SW5wdXRDb250cm9sbGVy
SU9TLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgbmFtZSA9IFRleHRJbnB1dENvbnRy
b2xsZXJJT1MubTsgcGF0aCA9IGlvcy9UZXh0SW5wdXRDb250cm9sbGVySU9TLm07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MjMsNiArNTI2LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMEYxOEU2RUUxRDZCOUMwQzAwMjdFNTQ3IC8qIEJpbmRp
bmdzICovLAorCQkJCUY0ODRDMjIwMjM3QjI3QTgwMEJGNzdEMCAvKiBjb2NvYSAqLywKIAkJCQkw
RjE4RTZFRjFENkI5QzEyMDAyN0U1NDcgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTBGNkEw
REZGMUQ2RTBGODYwMEYxQzlBOCAvKiBpb3MgKi8sCiAJCQkJMEY2QTBFMDAxRDZFMEY4QTAwRjFD
OUE4IC8qIG1hYyAqLywKQEAgLTg1MCw2ICs4NTQsMTUgQEAKIAkJCW5hbWUgPSBQaXhlbER1bXA7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlGNDg0QzIyMDIzN0IyN0E4MDBC
Rjc3RDAgLyogY29jb2EgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCUY0ODRDMjIxMjM3QjI3RDYwMEJGNzdEMCAvKiBVSVNjcmlwdENvbnRyb2xsZXJDb2Nv
YS5oICovLAorCQkJCUY0ODRDMjIyMjM3QjI3RDYwMEJGNzdEMCAvKiBVSVNjcmlwdENvbnRyb2xs
ZXJDb2NvYS5tbSAqLywKKwkJCSk7CisJCQluYW1lID0gY29jb2E7CisJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOworCQl9OwogCQlGNEI2QzMxODIwRTg0MzgyMDA4QUMyMjUgLyogY29jb2EgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTIxNiw2ICsxMjI5
LDcgQEAKIAkJCQlCQ0ExOEI2QTBDOUIwOEMyMDAxMTQzNjkgLyogVUlEZWxlZ2F0ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTBGMThFNkVDMUQ2QjlDMDcwMDI3RTU0NyAvKiBVSVNjcmlwdENvbnRl
eHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYxOEU2RUQxRDZCOUMwNzAwMjdFNTQ3IC8qIFVJ
U2NyaXB0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNDg0QzIyMzIzN0IyN0Q2
MDBCRjc3RDAgLyogVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkwRjE4RTcwRDFENkJBQzhDMDAyN0U1NDcgLyogVUlTY3JpcHRDb250cm9sbGVySU9TLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEYxOEU3MEYxRDZCQUNCNjAwMjdFNTQ3IC8qIFVJU2NyaXB0Q29u
dHJvbGxlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDOUQ5MDI0MEM5NzQ3MkUwMDk5QTRB
MyAvKiBXb3JrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jb2NvYS9VSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDk1
OWJmZjZkZTA0MzEwOGQwZGExYzgzMjc0M2FiMTMzMjE0NWM1Ci0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EuaApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBQTEFURk9STShD
T0NPQSkKKworI2ltcG9ydCAiVUlTY3JpcHRDb250cm9sbGVyLmgiCisKK25hbWVzcGFjZSBXVFIg
eworCitjbGFzcyBVSVNjcmlwdENvbnRyb2xsZXJDb2NvYSA6IHB1YmxpYyBVSVNjcmlwdENvbnRy
b2xsZXIgeworcHVibGljOgorICAgIHZvaWQgc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkKGJvb2wpIG92ZXJyaWRlOworCitwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgVUlTY3JpcHRD
b250cm9sbGVyQ29jb2EoVUlTY3JpcHRDb250ZXh0Jik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
VFIKKworI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jb2NvYS9VSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2E3
ODBjYTIyM2E0Y2U2MDA2Mjc0NzA0Nzg0MTUzODkwZDY5NzM4Ci0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW0KQEAg
LTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAi
VUlTY3JpcHRDb250cm9sbGVyQ29jb2EuaCIKKworI2lmIFBMQVRGT1JNKENPQ09BKQorCisjaW1w
b3J0ICJEdW1wUmVuZGVyVHJlZS5oIgorI2ltcG9ydCAiVUlTY3JpcHRDb250ZXh0LmgiCisjaW1w
b3J0IDxXZWJLaXQvV2ViVmlld1ByaXZhdGUuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK1VJU2Ny
aXB0Q29udHJvbGxlckNvY29hOjpVSVNjcmlwdENvbnRyb2xsZXJDb2NvYShVSVNjcmlwdENvbnRl
eHQmIGNvbnRleHQpCisgICAgOiBVSVNjcmlwdENvbnRyb2xsZXIoY29udGV4dCkKK3sKK30KKwor
dm9pZCBVSVNjcmlwdENvbnRyb2xsZXJDb2NvYTo6c2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtYWluRnJhbWUud2ViVmlldy5jb250aW51b3Vz
U3BlbGxDaGVja2luZ0VuYWJsZWQgPSBlbmFibGVkOworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIK
KworI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
aW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5oCmluZGV4IDdhMmEyZTA1YzUxOTU3OTI1NWNkNDhl
NGI3N2E3MTI2YTgwZGQzYTAuLmQ0NDI0YTBlNTgzMzE0YzUxYmNlNGZmNTJjMDUzODE4YmI4YTNj
YzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xs
ZXJJT1MuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLmgKQEAgLTI1LDE2ICsyNSwxNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2ltcG9ydCAiVUlT
Y3JpcHRDb250cm9sbGVyLmgiCisjaW1wb3J0ICJVSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oIgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFVJ
U2NyaXB0Q29udHJvbGxlcklPUyA6IHB1YmxpYyBVSVNjcmlwdENvbnRyb2xsZXIgeworY2xhc3Mg
VUlTY3JpcHRDb250cm9sbGVySU9TIDogcHVibGljIFVJU2NyaXB0Q29udHJvbGxlckNvY29hIHsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBVSVNjcmlwdENvbnRyb2xsZXJJT1MoVUlTY3JpcHRDb250
ZXh0JiBjb250ZXh0KQotICAgICAgICA6IFVJU2NyaXB0Q29udHJvbGxlcihjb250ZXh0KQorICAg
ICAgICA6IFVJU2NyaXB0Q29udHJvbGxlckNvY29hKGNvbnRleHQpCiAgICAgewogICAgIH0KIApk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1h
Yy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1VJU2NyaXB0Q29udHJvbGxlck1hYy5oCmlu
ZGV4IDY3OGJjMjE4ZGYwMjVlOTlhMDVhZjMzMTVlNjc3OTIzMDFiNzJiYTguLjQ3YThkN2FkMThk
MmVhZDI0MTc5ZDRkNmFjZmNiMmY1OGI0NmNjMGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9VSVNjcmlwdENvbnRyb2xsZXJNYWMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvVUlTY3JpcHRDb250cm9sbGVyTWFjLmgKQEAgLTI1LDE2ICsyNSwxNiBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2ltcG9ydCAiVUlTY3JpcHRDb250cm9sbGVyLmgiCisjaW1wb3J0ICJV
SVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oIgogCiAjaWYgUExBVEZPUk0oTUFDKQogCiBuYW1lc3Bh
Y2UgV1RSIHsKIAotY2xhc3MgVUlTY3JpcHRDb250cm9sbGVyTWFjIDogcHVibGljIFVJU2NyaXB0
Q29udHJvbGxlciB7CitjbGFzcyBVSVNjcmlwdENvbnRyb2xsZXJNYWMgOiBwdWJsaWMgVUlTY3Jp
cHRDb250cm9sbGVyQ29jb2EgewogcHVibGljOgogICAgIGV4cGxpY2l0IFVJU2NyaXB0Q29udHJv
bGxlck1hYyhVSVNjcmlwdENvbnRleHQmIGNvbnRleHQpCi0gICAgICAgIDogVUlTY3JpcHRDb250
cm9sbGVyKGNvbnRleHQpCisgICAgICAgIDogVUlTY3JpcHRDb250cm9sbGVyQ29jb2EoY29udGV4
dCkKICAgICB7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJ
U2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsIGIvVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVy
LmlkbAppbmRleCBhOWMwZjU3ZDUyM2Y0ZjI3NzMyODY0NTc4OTJmOGY2MjMyNGI5ZGRiLi43NDgw
YTAyOTBhZTcyNDk5MzNmZDllYWNiNDRjMzJlZDM4MWIyOGFkIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xs
ZXIuaWRsCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRp
bmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKQEAgLTc4LDYgKzc4LDcgQEAgaW50ZXJmYWNlIFVJ
U2NyaXB0Q29udHJvbGxlciB7CiAKICAgICB2b2lkIGtleURvd24oRE9NU3RyaW5nIGNoYXJhY3Rl
ciwgb2JqZWN0IG1vZGlmaWVyQXJyYXkpOwogICAgIHZvaWQgdG9nZ2xlQ2Fwc0xvY2sob2JqZWN0
IGNhbGxiYWNrKTsKKyAgICB2b2lkIHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChi
b29sZWFuIGVuYWJsZWQpOwogCiAgICAgdm9pZCByYXdLZXlEb3duKERPTVN0cmluZyBrZXkpOwog
ICAgIHZvaWQgcmF3S2V5VXAoRE9NU3RyaW5nIGtleSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaCBiL1Rvb2xz
L1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCmlu
ZGV4IDRlMGM3NWUxM2FhNmIxMTU5NWU1OTMwZjM1N2I5ZTE2YTI2OGE5Y2QuLmE5NjNjODMzMjI2
NzE5MDA3M2I0NDkzNDE2YTkyYzBjMjU1ZGZkZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xz
L1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oCkBA
IC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGtleURvd24oSlNT
dHJpbmdSZWYgY2hhcmFjdGVyLCBKU1ZhbHVlUmVmIG1vZGlmaWVyQXJyYXkpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVDYXBzTG9jayhKU1ZhbHVlUmVmIGNh
bGxiYWNrKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGlu
dW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIHJhd0tleURvd24oSlNTdHJpbmdSZWYpIHsgbm90SW1wbGVtZW50ZWQo
KTsgfQogICAgIHZpcnR1YWwgdm9pZCByYXdLZXlVcChKU1N0cmluZ1JlZikgeyBub3RJbXBsZW1l
bnRlZCgpOyB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RD
b250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0KaW5kZXggNjEyNzYwY2ZiZDEyODE0ZGZiYTVkMDIzYTc1ZWU0MTQ3M2Qx
NjUzNC4uZTkyM2I4NTFhM2U5ZGQ2NGMyZDYzYTRlMjYxNDM1NDE2ZGM2YmJkYyAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpA
QCAtMjU4LDExICsyNTgsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpjb2NvYVJlc2V0U3RhdGVU
b0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbgogICAgICAgICBUZXN0
UnVubmVyV0tXZWJWaWV3ICpwbGF0Zm9ybVZpZXcgPSB3ZWJWaWV3LT5wbGF0Zm9ybVZpZXcoKTsK
ICAgICAgICAgcGxhdGZvcm1WaWV3Ll92aWV3U2NhbGUgPSAxOwogICAgICAgICBwbGF0Zm9ybVZp
ZXcuX21pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aCA9IDA7Ci0KLSAgICAgICAgLy8gVG9nZ2xl
IG9uIGJlZm9yZSB0aGUgdGVzdCwgYW5kIHRvZ2dsZSBvZmYgYWZ0ZXIgdGhlIHRlc3QuCi0gICAg
ICAgIGlmIChvcHRpb25zLnNob3VsZFNob3dTcGVsbENoZWNraW5nRG90cykKLSAgICAgICAgICAg
IFtwbGF0Zm9ybVZpZXcgdG9nZ2xlQ29udGludW91c1NwZWxsQ2hlY2tpbmc6bmlsXTsKLQorICAg
ICAgICBbcGxhdGZvcm1WaWV3IF9zZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRGb3JU
ZXN0aW5nOm9wdGlvbnMuc2hvdWxkU2hvd1NwZWxsQ2hlY2tpbmdEb3RzXTsKICAgICAgICAgW3Bs
YXRmb3JtVmlldyByZXNldEludGVyYWN0aW9uQ2FsbGJhY2tzXTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2Eu
aCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2Eu
aAppbmRleCAzZTRiZmQ4OTU1MzJhNzlmNjcwMzBiYjIwOWI4NjY3Y2NhMDY3NjAwLi5mNTY5ODQx
MjVlNWZiNjM5NjYwNDJlZWFiMzBhN2M2YzFiNDFmMTdlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2NvY29hL1VJU2NyaXB0Q29udHJvbGxlckNvY29hLmgKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9VSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5oCkBAIC01NCw2
ICs1NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc21pc3NNZW51KCkgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBpc1Nob3dpbmdNZW51KCkgY29uc3Qgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHNldENvbnRp
bnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKSBvdmVycmlkZTsKKwogcHJvdGVjdGVkOgog
ICAgIGV4cGxpY2l0IFVJU2NyaXB0Q29udHJvbGxlckNvY29hKFVJU2NyaXB0Q29udGV4dCYpOwog
ICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcgKndlYlZpZXcoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW0gYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1VJU2NyaXB0Q29udHJvbGxlckNvY29hLm1tCmlu
ZGV4IDBmNGViMDc5YzU4MGFkYmI2ZGRkNmQyYjE5MGVlMmZlZjUyMTEzNmYuLmJlZTA0OTdiZjU2
ZDIzNjAwNmEzODFiYTExNjFhNzBiOTMwZWZjZjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvY29jb2EvVUlTY3JpcHRDb250cm9sbGVyQ29jb2EubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9jb2NvYS9VSVNjcmlwdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMTk2LDQg
KzE5Niw5IEBAIGJvb2wgVUlTY3JpcHRDb250cm9sbGVyQ29jb2E6OmlzU2hvd2luZ01lbnUoKSBj
b25zdAogICAgIHJldHVybiB3ZWJWaWV3KCkuc2hvd2luZ01lbnU7CiB9CiAKK3ZvaWQgVUlTY3Jp
cHRDb250cm9sbGVyQ29jb2E6OnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29s
IGVuYWJsZWQpCit7CisgICAgW3dlYlZpZXcoKSBfc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkRm9yVGVzdGluZzplbmFibGVkXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzdmMjExOWQ4ZWI1NzdkODMxOTYxNGI5MmQ3NjlmNmUxZjYzY2YzMi4uZjdjNzUyM2QxMDk2
NTA4NzA0MWM2NWQ3YTVmM2RhNjE1OTQyZDZkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5
LTExLTEyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIFdLV2ViVmlldyBkb2VzIG5vdCByZXNwZWN0IHN5c3RlbSBzcGVsbGNoZWNraW5nIHBy
ZWZlcmVuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNDEwMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY2NTM4MDg+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0ZXN0
IHRvIHZlcmlmeSB0aGF0IHRoZSBjaGFuZ2VzIHRvIHBsYXRmb3JtIHNwZWxsY2hlY2tpbmcgcHJl
ZmVyZW5jZXMgYXJlIHJlZmxlY3RlZCBpbiBlZGl0YWJsZQorICAgICAgICBjb250ZW50LiBTZWUg
b3RoZXIgY2hhbmdlbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIGVkaXRp
bmcvc3BlbGxpbmcvdG9nZ2xlLXNwZWxsY2hlY2tpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3RvZ2dsZS1zcGVsbGNoZWNraW5nLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcmVzb3VyY2VzL3Vp
LWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBlci5hc3luYy5zZXRDb250aW51b3Vz
U3BlbGxDaGVja2luZ0VuYWJsZWQpOgorCisgICAgICAgIEFsc28sIGFkZCBhIG5ldyBVSUhlbHBl
ciBtZXRob2QgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGludW91cyBzcGVsbGNoZWNraW5nIGR1
cmluZyBhIGxheW91dCB0ZXN0LgorCisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIpOgorCiAyMDE5
LTExLTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGlPUzog
ZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbFRvLWF0LXBhZ2UtbG9hZC5odG1sIGlzIGZsYWt5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3RvZ2dsZS1zcGVsbGNoZWNr
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdG9nZ2xlLXNw
ZWxsY2hlY2tpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjZjBjMDczY2I2MzE4YTZlMGY1
OWJhM2IyZWVmZDU0MDE4YWQ1ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NwZWxsaW5nL3RvZ2dsZS1zcGVsbGNoZWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE1IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBlbmFibGluZyBvciBkaXNhYmxpbmcgcGxh
dGZvcm0gc3BlbGwgY2hlY2tpbmcgcHJlZmVyZW5jZXMgaW5mbHVlbmNlcyB0aGUgcHJlc2VuY2Ug
b2Ygc3BlbGxpbmcgbWFya2VycyBpbiB0aGUgZG9jdW1lbnQuIFJlcXVpcmVzIFdlYktpdFRlc3RS
dW5uZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFR1cm5lZCBjb250
aW51b3VzIHNwZWxsIGNoZWNraW5nIG9mZi4KK1BBU1MgaW50ZXJuYWxzLmhhc1NwZWxsaW5nTWFy
a2VyKDAsIDMpIGlzIGZhbHNlCitQQVNTIFR1cm5lZCBjb250aW51b3VzIHNwZWxsIGNoZWNraW5n
IG9uLgorUEFTUyBpbnRlcm5hbHMuaGFzU3BlbGxpbmdNYXJrZXIoMCwgMykgaXMgdHJ1ZQorUEFT
UyBUdXJuZWQgY29udGludW91cyBzcGVsbCBjaGVja2luZyBvZmYgYWdhaW4uCitQQVNTIGludGVy
bmFscy5oYXNTcGVsbGluZ01hcmtlcigwLCAzKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdG9nZ2xlLXNwZWxsY2hlY2tpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdG9nZ2xlLXNwZWxsY2hlY2tpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
OTRjYThhY2UxYjBjZGM5ZTNiODlmYjIwYWQ0NDA2MmMxZDUzYzM0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy90b2dnbGUtc3BlbGxjaGVja2luZy5odG1s
CkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vZWRpdGluZy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBlbmFibGluZyBvciBkaXNhYmxpbmcgcGxhdGZvcm0gc3BlbGwgY2hlY2tpbmcg
cHJlZmVyZW5jZXMgaW5mbHVlbmNlcyB0aGUgcHJlc2VuY2Ugb2Ygc3BlbGxpbmcgbWFya2VycyBp
biB0aGUgZG9jdW1lbnQuIFJlcXVpcmVzIFdlYktpdFRlc3RSdW5uZXIuIik7CisKKyAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0b3IiKS5mb2N1cygpOworCisgICAgICAg
ICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuc2V0Q29udGlu
dW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQo
IlR1cm5lZCBjb250aW51b3VzIHNwZWxsIGNoZWNraW5nIG9mZi4iKTsKKworICAgICAgICAgICAg
Wy4uLiJ6enIgIl0ubWFwKHR5cGVDaGFyYWN0ZXJDb21tYW5kKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlRmFsc2UoImludGVybmFscy5oYXNTcGVsbGluZ01hcmtlcigwLCAzKSIpOworCisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5zZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJUdXJuZWQgY29udGludW91cyBzcGVsbCBjaGVj
a2luZyBvbi4iKTsKKworICAgICAgICAgICAgZGVsZXRlQ29tbWFuZCgpOworICAgICAgICAgICAg
dHlwZUNoYXJhY3RlckNvbW1hbmQoIiAiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50
ZXJuYWxzLmhhc1NwZWxsaW5nTWFya2VyKDAsIDMpIik7CisKKyAgICAgICAgICAgIGF3YWl0IFVJ
SGVscGVyLnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChmYWxzZSk7CisgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJUdXJuZWQgY29udGludW91cyBzcGVsbCBjaGVja2luZyBvZmYgYWdh
aW4uIik7CisKKyAgICAgICAgICAgIGRlbGV0ZUNvbW1hbmQoKTsKKyAgICAgICAgICAgIHR5cGVD
aGFyYWN0ZXJDb21tYW5kKCIgIik7CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5h
bHMuaGFzU3BlbGxpbmdNYXJrZXIoMCwgMykiKTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8dGV4dGFy
ZWEgaWQ9ImVkaXRvciI+PC90ZXh0YXJlYT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGE2NWZmZTI2NzZkOTVmMmFmNTIy
ZjhlZmM2ZjdiNmE3NzU5YmU4My4uYmEwNzQ2YTExNDA4ZWRjYWEwMTdmMzNhZGJiZGE3ZTgyMzg3
NzU4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEz
MjIsNiArMTMyMiw3IEBAIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1wYXN0ZS5odG1sIFsg
U2tpcCBdCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stcGFzdGUtZGlzYWJsZWQuaHRtbCBb
IFNraXAgXQogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy11bmlmaWVkLWVtdWxhdGlvbi5odG1s
IFsgU2tpcCBdCiBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXItbWFya2Vycy5odG1sIFsgU2tpcCBd
CitlZGl0aW5nL3NwZWxsaW5nL3RvZ2dsZS1zcGVsbGNoZWNraW5nLmh0bWwgWyBTa2lwIF0KIAog
IyBObyBjb25jZXB0IG9mIHNlY3VyZSB0ZXh0IGlucHV0CiBlZGl0aW5nL3NlY3VyZS1pbnB1dCBb
IFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZTFiN2VlMWI5ZDkwNjQxYzU5MWE0ODAxZjI0OTQzNTQwNmI2ZDZhZi4uNjZkNTFk
ZjIxYTVhZjViZTNjMThlODBiMTdjMzMzNzA2YmMyODRiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC03MzgsNiArNzM4LDkgQEAgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1hdHRyaWJ1dGUtYXQtY2hpbGQuaHRtbCBbIFRpbWVvdXQg
XQogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1hdHRyaWJ1dGUtY2hhbmdlLmh0bWwgWyBUaW1l
b3V0IF0KIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1hdHRyaWJ1dGUuaHRtbCBbIFRpbWVv
dXQgXQogCisjIFVJU2NyaXB0Q29udHJvbGxlci5zZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWQgaXMgbm90IGltcGxlbWVudGVkLgorZWRpdGluZy9zcGVsbGluZy90b2dnbGUtc3BlbGxj
aGVja2luZy5odG1sIFsgU2tpcCBdCisKICMgTGF5b3V0VGVzdC9mYXN0L2xvYWRlciB0ZXN0cyB0
aGF0IGZhaWwgb3IgdGltZSBvdXQuCiBmYXN0L2xvYWRlci9sb2NhbC1DU1MtZnJvbS1sb2NhbC5o
dG1sIFsgRmFpbHVyZSBUaW1lb3V0IF0KIGZhc3QvbG9hZGVyL2xvY2FsLUphdmFTY3JpcHQtZnJv
bS1sb2NhbC5odG1sIFsgRmFpbHVyZSBUaW1lb3V0IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3Jlc291cmNlcy91aS1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVy
LmpzCmluZGV4IDZlOTVhODc4YTg4MmRiNTcwMzNkMzc5MmMxMWRjYzBmZTU5NmMwNDguLjdhMWZj
ZjY1NDMxODgzOGM1NTZkZWRjOGJkZjRjMzIxNzc4MGYyZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Vp
LWhlbHBlci5qcwpAQCAtMTA2MSw0ICsxMDYxLDEwIEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNz
IFVJSGVscGVyIHsKICAgICAgICAgY29uc3QgY29weVRleHRTY3JpcHQgPSBgdWlDb250cm9sbGVy
LmNvcHlUZXh0KFxgJHt0ZXh0LnJlcGxhY2UoL2AvZywgIlxcYCIpfVxgKSgpYDsKICAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChjb3B5
VGV4dFNjcmlwdCwgcmVzb2x2ZSkpOwogICAgIH0KKworICAgIHN0YXRpYyBhc3luYyBzZXRDb250
aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZW5hYmxlZCkgeworICAgICAgICByZXR1cm4gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0
KGB1aUNvbnRyb2xsZXIuc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCR7ZW5hYmxl
ZH0pYCwgcmVzb2x2ZSk7CisgICAgICAgIH0pOworICAgIH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>