<?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>188797</bug_id>
          
          <creation_ts>2018-08-21 10:14:36 -0700</creation_ts>
          <short_desc>Transition more API tests from WKPageLoaderClient to WKPageNavigationClient</short_desc>
          <delta_ts>2018-08-21 10:34:05 -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>New Bugs</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1452140</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-21 10:14:36 -0700</bug_when>
    <thetext>Transition more API tests from WKPageLoaderClient to WKPageNavigationClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452141</commentid>
    <comment_count>1</comment_count>
      <attachid>347653</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-21 10:15:56 -0700</bug_when>
    <thetext>Created attachment 347653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452146</commentid>
    <comment_count>2</comment_count>
      <attachid>347653</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-08-21 10:26:28 -0700</bug_when>
    <thetext>Comment on attachment 347653
Patch

rs=me if tests pass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452149</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-21 10:32:02 -0700</bug_when>
    <thetext>http://trac.webkit.org/r235123</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452151</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-21 10:34:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/43566917&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347653</attachid>
            <date>2018-08-21 10:15:56 -0700</date>
            <delta_ts>2018-08-21 10:26:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188797-20180821101555.patch</filename>
            <type>text/plain</type>
            <size>35985</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzNTEyMSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDgyIEBACisyMDE4LTA4LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgVHJhbnNpdGlvbiBtb3JlIEFQSSB0ZXN0cyBmcm9tIFdLUGFn
ZUxvYWRlckNsaWVudCB0byBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg3OTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0Fib3V0QmxhbmtMb2FkLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlz
aE5hdmlnYXRpb24pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VwaGVtZXJhbFNlc3Npb25QdXNoU3RhdGVOb0hp
c3RvcnlDYWxsYmFjay5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GYWlsZWRMb2FkLmNwcDoK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24pOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpk
aWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZyYW1lTUlNRVR5cGVIVE1MLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uKToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZENvbW1pdE5hdmlnYXRpb24pOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6ZGlkRmluaXNoTmF2aWdhdGlvbik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGlkQ29tbWl0TG9h
ZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaExv
YWRGb3JGcmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRnJhbWVNSU1FVHlwZVBORy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRTdGFy
dFByb3Zpc2lvbmFsTmF2aWdhdGlvbik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRDb21t
aXROYXZpZ2F0aW9uKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaE5hdmlnYXRp
b24pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSk6IERlbGV0ZWQuCisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xheW91dE1pbGVzdG9uZXNXaXRoQWxsQ29u
dGVudEluRnJhbWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6cmVuZGVyaW5nUHJvZ3Jl
c3NEaWRDaGFuZ2UpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpkaWRMYXlvdXQpOiBEZWxldGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZyYW1lcy5jcHA6
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRGaW5pc2hOYXZpZ2F0aW9uKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OnNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OmRpZExheW91dCk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvUGFnZUxvYWRCYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpTdGF0ZTo6
U3RhdGUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGlkU3RhcnRQcm92aXNpb25hbE5hdmln
YXRpb24pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGlkQ29tbWl0TmF2aWdhdGlvbik6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRGaW5pc2hOYXZpZ2F0aW9uKToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZENv
bW1pdExvYWRGb3JGcmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRG
aW5pc2hMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGVj
aWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9QYWdlTG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZv
ckZyYW1lLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZFNhbWVEb2N1bWVudE5hdmln
YXRpb24pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUpOiBEZWxldGVkLgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Qcml2YXRlQnJvd3NpbmdQdXNoU3Rh
dGVOb0hpc3RvcnlDYWxsYmFjay5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFt
ZSk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVsb2Fk
UGFnZUFmdGVyQ3Jhc2guY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGlkRmluaXNoTG9h
ZCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9XS0J1bmRsZUZpbGVIYW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6ZGlkRmluaXNoTmF2aWdhdGlvbik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6IERl
bGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL1Jlc3RvcmVT
dGF0ZUFmdGVyVGVybWluYXRpb24ubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRGaW5p
c2hMb2FkKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29tbWFuZEJhY2tGb3J3YXJkLm1tOgorICAgICAg
ICAoV2ViS2l0Ml9Db21tYW5kQmFja0ZvcndhcmRUZXN0V0tWaWV3OjpTZXRVcCk6CisgICAgICAg
IChXZWJLaXQyX0NvbW1hbmRCYWNrRm9yd2FyZFRlc3RXS1ZpZXc6OmRpZEZpbmlzaExvYWRGb3JG
cmFtZSk6IERlbGV0ZWQuCisKIDIwMTgtMDgtMjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXBsYWNlIFdLUGFnZUxvYWRlckNsaWVudCB3
aXRoIFdLUGFnZU5hdmlnYXRpb25DbGllbnQgaW4gbWFueSBBUEkgdGVzdHMKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Fib3V0QmxhbmtMb2FkLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BYm91dEJsYW5rTG9hZC5jcHAJ
KHJldmlzaW9uIDIzNTA5MCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Fi
b3V0QmxhbmtMb2FkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOSBAQCBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSSB7CiAgICAgCiBzdGF0aWMgYm9vbCBkb25lOwogCi1zdGF0aWMgdm9p
ZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUs
IFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lk
IGRpZEZpbmlzaE5hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJlZiwgV0tU
eXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiBtaW1lVHlwZSA9IGFkb3B0V0soV0tGcmFtZUNvcHlNSU1FVHlwZShm
cmFtZSkpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtaW1lVHlwZSA9IGFkb3B0V0so
V0tGcmFtZUNvcHlNSU1FVHlwZShXS1BhZ2VHZXRNYWluRnJhbWUocGFnZSkpKTsKICAgICBFWFBF
Q1RfV0tfU1RSRVEoInRleHQvaHRtbCIsIG1pbWVUeXBlKTsKICAgICBkb25lID0gdHJ1ZTsKIH0K
QEAgLTQ2LDEzICs0NiwxMyBAQCBURVNUKFdlYktpdCwgQWJvdXRCbGFua0xvYWQpCiAgICAgV0tS
ZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUo
KSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CiAKLSAgICBX
S1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTmF2aWdhdGlvbkNs
aWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9m
KGxvYWRlckNsaWVudCkpOwogCiAgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7Ci0g
ICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRGb3JG
cmFtZTsKKyAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTmF2aWdhdGlvbiA9IGRpZEZpbmlzaE5h
dmlnYXRpb247CiAKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgp
LCAmbG9hZGVyQ2xpZW50LmJhc2UpOworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50
KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tQYWdlTG9hZFVS
TCh3ZWJWaWV3LnBhZ2UoKSwgYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYWJv
dXQ6YmxhbmsiKSkuZ2V0KCkpOwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9FcGhlbWVyYWxTZXNzaW9uUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VwaGVtZXJhbFNlc3Np
b25QdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAJKHJldmlzaW9uIDIzNTA5MCkKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VwaGVtZXJhbFNlc3Npb25QdXNoU3RhdGVO
b0hpc3RvcnlDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgc3Rh
dGljIHZvaWQgZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdAogICAgIEZBSUwoKTsKIH0KIAot
c3RhdGljIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKFdLUGFnZVJlZiBw
YWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlIHR5cGUs
IFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3N0YXRpYyB2b2lk
IGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJl
ZiwgV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVSZWYgdXNlckRhdGEs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCiB7CiAgICAgdGVzdERvbmUgPSB0cnVlOwogfQpAQCAt
NjksMTMgKzY5LDEzIEBAIFRFU1QoV2ViS2l0LCBFcGhlbWVyYWxTZXNzaW9uUHVzaFN0YXRlTm8K
IAogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbmZpZ3VyYXRpb24uZ2V0KCkpOwogCi0g
ICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgcGFnZUxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VOYXZp
Z2F0aW9uQ2xpZW50VjAgcGFnZUxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJnBhZ2VMb2FkZXJD
bGllbnQsIDAsIHNpemVvZihwYWdlTG9hZGVyQ2xpZW50KSk7CiAKICAgICBwYWdlTG9hZGVyQ2xp
ZW50LmJhc2UudmVyc2lvbiA9IDA7Ci0gICAgcGFnZUxvYWRlckNsaWVudC5kaWRTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uRm9yRnJhbWUgPSBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU7
CisgICAgcGFnZUxvYWRlckNsaWVudC5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uID0gZGlkU2Ft
ZURvY3VtZW50TmF2aWdhdGlvbjsKIAotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2Vi
Vmlldy5wYWdlKCksICZwYWdlTG9hZGVyQ2xpZW50LmJhc2UpOworICAgIFdLUGFnZVNldFBhZ2VO
YXZpZ2F0aW9uQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmcGFnZUxvYWRlckNsaWVudC5iYXNlKTsK
IAogICAgIFdLUmV0YWluUHRyPFdLUHJlZmVyZW5jZXNSZWY+IHByZWZlcmVuY2VzKEFkb3B0V0ss
IFdLUHJlZmVyZW5jZXNDcmVhdGUoKSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVuaXZlcnNhbEFj
Y2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQocHJlZmVyZW5jZXMuZ2V0KCksIHRydWUpOwpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmFpbGVkTG9hZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmFpbGVkTG9hZC5jcHAJKHJl
dmlzaW9uIDIzNTA5MCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZhaWxl
ZExvYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw4ICszOCw5IEBAIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJIHsKIAogc3RhdGljIGJvb2wgdGVzdERvbmU7CiAKLXN0YXRpYyB2b2lkIGRpZEZh
aWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFt
ZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlv
bihXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS0Vycm9yUmVmIGVycm9yLCBXS1R5
cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CisgICAgYXV0byBmcmFt
ZSA9IFdLUGFnZUdldE1haW5GcmFtZShwYWdlKTsKICAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KGtXS0ZyYW1lTG9hZFN0YXRlRmluaXNoZWQpLCBXS0ZyYW1lR2V0RnJhbWVMb2Fk
U3RhdGUoZnJhbWUpKTsKIAogICAgIFdLVVJMUmVmIHVybCA9IFdLRnJhbWVDb3B5UHJvdmlzaW9u
YWxVUkwoZnJhbWUpOwpAQCAtNTMsMTMgKzU0LDEzIEBAIFRFU1QoV2ViS2l0LCBGYWlsZWRMb2Fk
KQogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRl
eHRDcmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7
CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7CisgICAgV0tQYWdlTmF2
aWdhdGlvbkNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwg
MCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogCiAgICAgbG9hZGVyQ2xpZW50LmJhc2UudmVyc2lv
biA9IDA7Ci0gICAgbG9hZGVyQ2xpZW50LmRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JG
b3JGcmFtZSA9IGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZTsKKyAgICBs
b2FkZXJDbGllbnQuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IGRpZEZhaWxQcm92aXNp
b25hbE5hdmlnYXRpb247CiAKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcu
cGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9u
Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRh
aW5QdHI8V0tVUkxSZWY+IHVybChBZG9wdFdLLCBVdGlsOjpVUkxGb3JOb25FeGlzdGVudFJlc291
cmNlKCkpOwogICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GcmFtZU1JTUVUeXBlSFRNTC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVN
SU1FVHlwZUhUTUwuY3BwCShyZXZpc2lvbiAyMzUwOTApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9GcmFtZU1JTUVUeXBlSFRNTC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDIxICszNiwyMSBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIHN0YXRpYyBib29sIHRl
c3REb25lOwogCi1zdGF0aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKFdL
UGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdh
dGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IHdrTUlNRSA9IGFkb3B0V0soV0tGcmFtZUNvcHlNSU1FVHlwZShmcmFtZSkpOworICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiB3a01JTUUgPSBhZG9wdFdLKFdLRnJhbWVDb3B5TUlNRVR5cGUo
V0tQYWdlR2V0TWFpbkZyYW1lKHBhZ2UpKSk7CiAgICAgRVhQRUNUX1RSVUUoV0tTdHJpbmdJc0Vt
cHR5KHdrTUlNRS5nZXQoKSkpOwogfQogCi1zdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJh
bWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIGRpZENvbW1pdE5hdmlnYXRpb24o
V0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQogewotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB3a01J
TUUgPSBhZG9wdFdLKFdLRnJhbWVDb3B5TUlNRVR5cGUoZnJhbWUpKTsKKyAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4gd2tNSU1FID0gYWRvcHRXSyhXS0ZyYW1lQ29weU1JTUVUeXBlKFdLUGFn
ZUdldE1haW5GcmFtZShwYWdlKSkpOwogICAgIEVYUEVDVF9XS19TVFJFUSgidGV4dC9odG1sIiwg
d2tNSU1FKTsKIH0KIAotc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJl
ZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pCitzdGF0aWMgdm9pZCBkaWRGaW5pc2hOYXZpZ2F0aW9uKFdLUGFnZVJlZiBw
YWdlLCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbykKIHsKLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gd2tNSU1FID0gYWRvcHRX
SyhXS0ZyYW1lQ29weU1JTUVUeXBlKGZyYW1lKSk7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+IHdrTUlNRSA9IGFkb3B0V0soV0tGcmFtZUNvcHlNSU1FVHlwZShXS1BhZ2VHZXRNYWluRnJh
bWUocGFnZSkpKTsKICAgICBFWFBFQ1RfV0tfU1RSRVEoInRleHQvaHRtbCIsIHdrTUlNRSk7CiAK
ICAgICB0ZXN0RG9uZSA9IHRydWU7CkBAIC02MSwxNSArNjEsMTUgQEAgVEVTVChXZWJLaXQsIEZy
YW1lTUlNRVR5cGVIVE1MKQogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChB
ZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXco
Y29udGV4dC5nZXQoKSk7CiAKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7
CisgICAgV0tQYWdlTmF2aWdhdGlvbkNsaWVudFYwIGxvYWRlckNsaWVudDsKICAgICBtZW1zZXQo
JmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogCiAgICAgbG9hZGVyQ2xp
ZW50LmJhc2UudmVyc2lvbiA9IDA7Ci0gICAgbG9hZGVyQ2xpZW50LmRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUgPSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lOwotICAgIGxv
YWRlckNsaWVudC5kaWRDb21taXRMb2FkRm9yRnJhbWUgPSBkaWRDb21taXRMb2FkRm9yRnJhbWU7
Ci0gICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaExvYWRGb3JGcmFtZSA9IGRpZEZpbmlzaExvYWRG
b3JGcmFtZTsKKyAgICBsb2FkZXJDbGllbnQuZGlkU3RhcnRQcm92aXNpb25hbE5hdmlnYXRpb24g
PSBkaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbjsKKyAgICBsb2FkZXJDbGllbnQuZGlkQ29t
bWl0TmF2aWdhdGlvbiA9IGRpZENvbW1pdE5hdmlnYXRpb247CisgICAgbG9hZGVyQ2xpZW50LmRp
ZEZpbmlzaE5hdmlnYXRpb24gPSBkaWRGaW5pc2hOYXZpZ2F0aW9uOwogCi0gICAgV0tQYWdlU2V0
UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKKyAg
ICBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNs
aWVudC5iYXNlKTsKIAogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiB1cmwoQWRvcHRXSywgVXRp
bDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNpbXBsZSIsICJodG1sIikpOwogICAgIFdLUGFnZUxv
YWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9GcmFtZU1JTUVUeXBlUE5HLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GcmFtZU1JTUVUeXBlUE5HLmNwcAkocmV2aXNp
b24gMjM1MDkwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVNSU1F
VHlwZVBORy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDIxICszNSwyMSBAQCBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSSB7CiAKIHN0YXRpYyBib29sIHRlc3REb25lOwogCi1zdGF0aWMgdm9pZCBk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVm
IGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0
aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tO
YXZpZ2F0aW9uUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHdrTUlNRSA9IGFkb3B0V0soV0tGcmFt
ZUNvcHlNSU1FVHlwZShmcmFtZSkpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB3a01J
TUUgPSBhZG9wdFdLKFdLRnJhbWVDb3B5TUlNRVR5cGUoV0tQYWdlR2V0TWFpbkZyYW1lKHBhZ2Up
KSk7CiAgICAgRVhQRUNUX1RSVUUoV0tTdHJpbmdJc0VtcHR5KHdrTUlNRS5nZXQoKSkpOwogfQog
Ci1zdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
K3N0YXRpYyB2b2lkIGRpZENvbW1pdE5hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdh
dGlvblJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewot
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB3a01JTUUgPSBhZG9wdFdLKFdLRnJhbWVDb3B5
TUlNRVR5cGUoZnJhbWUpKTsKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gd2tNSU1FID0g
YWRvcHRXSyhXS0ZyYW1lQ29weU1JTUVUeXBlKFdLUGFnZUdldE1haW5GcmFtZShwYWdlKSkpOwog
ICAgIEVYUEVDVF9XS19TVFJFUSgiaW1hZ2UvcG5nIiwgd2tNSU1FKTsKIH0KIAotc3RhdGljIHZv
aWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1l
LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgdm9p
ZCBkaWRGaW5pc2hOYXZpZ2F0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS05hdmlnYXRpb25SZWYsIFdL
VHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gd2tNSU1FID0gYWRvcHRXSyhXS0ZyYW1lQ29weU1JTUVUeXBlKGZy
YW1lKSk7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHdrTUlNRSA9IGFkb3B0V0soV0tG
cmFtZUNvcHlNSU1FVHlwZShXS1BhZ2VHZXRNYWluRnJhbWUocGFnZSkpKTsKICAgICBFWFBFQ1Rf
V0tfU1RSRVEoImltYWdlL3BuZyIsIHdrTUlNRSk7CiAKICAgICB0ZXN0RG9uZSA9IHRydWU7CkBA
IC02MCwxNSArNjAsMTUgQEAgVEVTVChXZWJLaXQsIEZyYW1lTUlNRVR5cGVQTkcpCiAgICAgV0tS
ZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgp
KTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdL
UGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xp
ZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2Yo
bG9hZGVyQ2xpZW50KSk7CiAKICAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKLSAg
ICBsb2FkZXJDbGllbnQuZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSA9IGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWU7Ci0gICAgbG9hZGVyQ2xpZW50LmRpZENvbW1pdExvYWRG
b3JGcmFtZSA9IGRpZENvbW1pdExvYWRGb3JGcmFtZTsKLSAgICBsb2FkZXJDbGllbnQuZGlkRmlu
aXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgIGxvYWRlckNsaWVu
dC5kaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZp
Z2F0aW9uOworICAgIGxvYWRlckNsaWVudC5kaWRDb21taXROYXZpZ2F0aW9uID0gZGlkQ29tbWl0
TmF2aWdhdGlvbjsKKyAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTmF2aWdhdGlvbiA9IGRpZEZp
bmlzaE5hdmlnYXRpb247CiAKLSAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcu
cGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9u
Q2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRh
aW5QdHI8V0tVUkxSZWY+IHVybChBZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgi
aWNvbiIsICJwbmciKSk7CiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdl
dCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xheW91dE1pbGVz
dG9uZXNXaXRoQWxsQ29udGVudEluRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xheW91dE1pbGVzdG9uZXNXaXRoQWxsQ29udGVudEluRnJh
bWUuY3BwCShyZXZpc2lvbiAyMzUwOTApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9MYXlvdXRNaWxlc3RvbmVzV2l0aEFsbENvbnRlbnRJbkZyYW1lLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzcsMTEgKzM3LDExIEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogc3Rh
dGljIGJvb2wgdGVzdERvbmU7CiAKLXN0YXRpYyB2b2lkIGRpZExheW91dChXS1BhZ2VSZWYgcGFn
ZSwgV0tMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdLUGFn
ZVJlZiBwYWdlLCBXS1BhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50cyBtaWxlc3RvbmVzLCBXS1R5
cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgLy8gVGhpcyB0ZXN0IGVuc3Vy
ZXMgdGhhdCB0aGUgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0IHdpbGwgYmUgcmVhY2hl
ZCBmb3IgdGhlIG1haW4gZnJhbWUKICAgICAvLyBldmVuIHdoZW4gYWxsIG9mIHRoZSBjb250ZW50
IGlzIGluIGEgc3ViZnJhbWUuCi0gICAgaWYgKG1pbGVzdG9uZXMgJiBrV0tEaWRGaXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXQpCisgICAgaWYgKG1pbGVzdG9uZXMgJiBXS1BhZ2VSZW5kZXJpbmdQ
cm9ncmVzc0V2ZW50Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KQogICAgICAgICB0ZXN0RG9u
ZSA9IHRydWU7CiB9CiAKQEAgLTUwLDE2ICs1MCwxNiBAQCBURVNUKFdlYktpdCwgTGF5b3V0TWls
ZXN0b25lc1dpdGhBbGxDb250CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0
KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmll
dyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudFYzIGxvYWRlckNsaWVu
dDsKKyAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjMgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNl
dCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKICAgICBsb2FkZXJD
bGllbnQuYmFzZS52ZXJzaW9uID0gMzsKICAgICBsb2FkZXJDbGllbnQuYmFzZS5jbGllbnRJbmZv
ID0gJndlYlZpZXc7Ci0gICAgbG9hZGVyQ2xpZW50LmRpZExheW91dCA9IGRpZExheW91dDsKKyAg
ICBsb2FkZXJDbGllbnQucmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UgPSByZW5kZXJpbmdQcm9n
cmVzc0RpZENoYW5nZTsKIAotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5w
YWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CisgICAgV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25D
bGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CiAKLSAgICBXS1BhZ2VM
aXN0ZW5Gb3JMYXlvdXRNaWxlc3RvbmVzKHdlYlZpZXcucGFnZSgpLCBrV0tEaWRGaXJzdFZpc3Vh
bGx5Tm9uRW1wdHlMYXlvdXQpOworICAgIFdLUGFnZUxpc3RlbkZvckxheW91dE1pbGVzdG9uZXMo
d2ViVmlldy5wYWdlKCksIFdLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXQpOwogICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIGFkb3B0
V0soVXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoImFsbC1jb250ZW50LWluLW9uZS1pZnJhbWUi
LCAiaHRtbCIpKS5nZXQoKSk7CiAKICAgICBVdGlsOjpydW4oJnRlc3REb25lKTsKSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxh
eW91dEZyYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJhbWVzLmNwcAkocmV2aXNpb24g
MjM1MDkwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RWaXN1
YWxseU5vbkVtcHR5TGF5b3V0RnJhbWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTUgKzQ2
LDE1IEBAIHN0YXRpYyB2b2lkIGRpZEZvcmNlUmVwYWludChXS0Vycm9yUmVmIGUKICAgICB0ZXN0
MkRvbmUgPSB0cnVlOwogfQogCi1zdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQ
YWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIGRpZEZpbmlzaE5hdmlnYXRpb24oV0tQYWdl
UmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKQogewogICAgIHRlc3QxRG9uZSA9IHRydWU7CiAgICAgV0tQYWdlRm9yY2VS
ZXBhaW50KHBhZ2UsIDAsIGRpZEZvcmNlUmVwYWludCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRpZExh
eW91dChXS1BhZ2VSZWYsIFdLTGF5b3V0TWlsZXN0b25lcyB0eXBlLCBXS1R5cGVSZWYsIGNvbnN0
IHZvaWQgKikKK3N0YXRpYyB2b2lkIHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlKFdLUGFnZVJl
ZiwgV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMgdHlwZSwgV0tUeXBlUmVmLCBjb25zdCB2
b2lkICopCiB7Ci0gICAgaWYgKHR5cGUgIT0ga1dLRGlkSGl0UmVsZXZhbnRSZXBhaW50ZWRPYmpl
Y3RzQXJlYVRocmVzaG9sZCkKKyAgICBpZiAodHlwZSAhPSBXS1BhZ2VSZW5kZXJpbmdQcm9ncmVz
c0V2ZW50Rmlyc3RQYWludFdpdGhTaWduaWZpY2FudEFyZWEpCiAgICAgICAgIHJldHVybjsKIAog
ICAgICsrZGlkSGl0UmVsZXZhbnRSZXBhaW50ZWRPYmplY3RzQXJlYVRocmVzaG9sZENvdW50ZXI7
CkBAIC02NCwxNCArNjQsMTQgQEAgc3RhdGljIHZvaWQgZGlkTGF5b3V0KFdLUGFnZVJlZiwgV0tM
YXlvdQogCiBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlKQog
ewotICAgIFdLUGFnZUxvYWRlckNsaWVudFYzIGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VOYXZp
Z2F0aW9uQ2xpZW50VjMgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAw
LCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKICAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9u
ID0gMzsKLSAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNo
TG9hZEZvckZyYW1lOwotICAgIGxvYWRlckNsaWVudC5kaWRMYXlvdXQgPSBkaWRMYXlvdXQ7Cisg
ICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaE5hdmlnYXRpb24gPSBkaWRGaW5pc2hOYXZpZ2F0aW9u
OworICAgIGxvYWRlckNsaWVudC5yZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZSA9IHJlbmRlcmlu
Z1Byb2dyZXNzRGlkQ2hhbmdlOwogCi0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdl
LCAmbG9hZGVyQ2xpZW50LmJhc2UpOworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50
KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7CiB9CiAKIFRFU1QoV2ViS2l0LCBOZXdGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMpCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9QYWdlTG9hZEJhc2ljLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9QYWdlTG9hZEJhc2ljLmNwcAkocmV2aXNpb24gMjM1MTE3KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUGFnZUxvYWRCYXNpYy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDc0ICszOSw2NyBAQCBzdGF0aWMgYm9vbCB0ZXN0MURvbmU7CiBz
dHJ1Y3QgU3RhdGUgewogICAgIFN0YXRlKCkKICAgICAgICAgOiBkaWREZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKGZhbHNlKQotICAgICAgICAsIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2Fk
Rm9yRnJhbWUoZmFsc2UpCi0gICAgICAgICwgZGlkQ29tbWl0TG9hZEZvckZyYW1lKGZhbHNlKQor
ICAgICAgICAsIGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uKGZhbHNlKQorICAgICAgICAs
IGRpZENvbW1pdE5hdmlnYXRpb24oZmFsc2UpCiAgICAgewogICAgIH0KIAogICAgIGJvb2wgZGlk
RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjsKLSAgICBib29sIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWU7Ci0gICAgYm9vbCBkaWRDb21taXRMb2FkRm9yRnJhbWU7CisgICAg
Ym9vbCBkaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbjsKKyAgICBib29sIGRpZENvbW1pdE5h
dmlnYXRpb247CiB9OwogCi1zdGF0aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFs
TmF2aWdhdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS1R5cGVSZWYgdXNl
ckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgU3RhdGUqIHN0YXRlID0gcmVp
bnRlcnByZXRfY2FzdDxTdGF0ZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKICAg
ICBFWFBFQ1RfVFJVRShzdGF0ZS0+ZGlkRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik7
Ci0gICAgRVhQRUNUX0ZBTFNFKHN0YXRlLT5kaWRDb21taXRMb2FkRm9yRnJhbWUpOworICAgIEVY
UEVDVF9GQUxTRShzdGF0ZS0+ZGlkQ29tbWl0TmF2aWdhdGlvbik7CiAKICAgICAvLyBUaGUgY29t
bWl0ZWQgVVJMIHNob3VsZCBiZSBudWxsLgotICAgIEVYUEVDVF9OVUxMKFdLRnJhbWVDb3B5VVJM
KGZyYW1lKSk7CisgICAgRVhQRUNUX05VTEwoV0tGcmFtZUNvcHlVUkwoV0tQYWdlR2V0TWFpbkZy
YW1lKHBhZ2UpKSk7CiAKLSAgICBFWFBFQ1RfRkFMU0Uoc3RhdGUtPmRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUpOworICAgIEVYUEVDVF9GQUxTRShzdGF0ZS0+ZGlkU3RhcnRQcm92aXNp
b25hbE5hdmlnYXRpb24pOwogCi0gICAgc3RhdGUtPmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9y
RnJhbWUgPSB0cnVlOworICAgIHN0YXRlLT5kaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9
IHRydWU7CiB9CiAKLXN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZShXS1BhZ2VSZWYg
cGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQorc3RhdGljIHZvaWQgZGlkQ29tbWl0TmF2aWdhdGlvbihXS1BhZ2VSZWYgcGFn
ZSwgV0tOYXZpZ2F0aW9uUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCiB7CiAgICAgU3RhdGUqIHN0YXRlID0gcmVpbnRlcnByZXRfY2FzdDxTdGF0ZSo+KGNv
bnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKICAgICBFWFBFQ1RfVFJVRShzdGF0ZS0+ZGlk
RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik7Ci0gICAgRVhQRUNUX1RSVUUoc3RhdGUt
PmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUpOworICAgIEVYUEVDVF9UUlVFKHN0YXRl
LT5kaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdhdGlvbik7CiAKICAgICAvLyBUaGUgcHJvdmlzaW9u
YWwgVVJMIHNob3VsZCBiZSBudWxsLgotICAgIEVYUEVDVF9OVUxMKFdLRnJhbWVDb3B5UHJvdmlz
aW9uYWxVUkwoZnJhbWUpKTsKKyAgICBFWFBFQ1RfTlVMTChXS0ZyYW1lQ29weVByb3Zpc2lvbmFs
VVJMKFdLUGFnZUdldE1haW5GcmFtZShwYWdlKSkpOwogCi0gICAgc3RhdGUtPmRpZENvbW1pdExv
YWRGb3JGcmFtZSA9IHRydWU7CisgICAgc3RhdGUtPmRpZENvbW1pdE5hdmlnYXRpb24gPSB0cnVl
OwogfQogCi1zdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2Us
IFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKK3N0YXRpYyB2b2lkIGRpZEZpbmlzaE5hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdL
TmF2aWdhdGlvblJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQogewogICAgIFN0YXRlKiBzdGF0ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8U3RhdGUqPihjb25zdF9j
YXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CiAgICAgRVhQRUNUX1RSVUUoc3RhdGUtPmRpZERlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOwotICAgIEVYUEVDVF9UUlVFKHN0YXRlLT5kaWRT
dGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTsKLSAgICBFWFBFQ1RfVFJVRShzdGF0ZS0+ZGlk
Q29tbWl0TG9hZEZvckZyYW1lKTsKKyAgICBFWFBFQ1RfVFJVRShzdGF0ZS0+ZGlkU3RhcnRQcm92
aXNpb25hbE5hdmlnYXRpb24pOworICAgIEVYUEVDVF9UUlVFKHN0YXRlLT5kaWRDb21taXROYXZp
Z2F0aW9uKTsKIAogICAgIC8vIFRoZSBwcm92aXNpb25hbCBVUkwgc2hvdWxkIGJlIG51bGwuCi0g
ICAgRVhQRUNUX05VTEwoV0tGcmFtZUNvcHlQcm92aXNpb25hbFVSTChmcmFtZSkpOworICAgIEVY
UEVDVF9OVUxMKFdLRnJhbWVDb3B5UHJvdmlzaW9uYWxVUkwoV0tQYWdlR2V0TWFpbkZyYW1lKHBh
Z2UpKSk7CiAKICAgICB0ZXN0MURvbmUgPSB0cnVlOwogfQogCi1zdGF0aWMgdm9pZCBkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1l
LCBXS0ZyYW1lTmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMg
bW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLRnJhbWVSZWYgb3Jp
Z2luYXRpbmdGcmFtZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0
ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKQorc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VS
ZWYgcGFnZSwgV0tOYXZpZ2F0aW9uQWN0aW9uUmVmIG5hdmlnYXRpb25BY3Rpb24sIFdLRnJhbWVQ
b2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKQogewogICAgIFN0YXRlKiBzdGF0ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8U3Rh
dGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKHN0
YXRlLT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTsKLSAgICBFWFBFQ1RfRkFMU0Uo
c3RhdGUtPmRpZENvbW1pdExvYWRGb3JGcmFtZSk7Ci0gICAgRVhQRUNUX1RSVUUobW91c2VCdXR0
b24gPT0ga1dLRXZlbnRNb3VzZUJ1dHRvbk5vQnV0dG9uKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc3Rh
dGUtPmRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uKTsKKyAgICBFWFBFQ1RfRkFMU0Uoc3Rh
dGUtPmRpZENvbW1pdE5hdmlnYXRpb24pOwogCiAgICAgc3RhdGUtPmRpZERlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24gPSB0cnVlOwogCiAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVyVXNl
KGxpc3RlbmVyKTsKIH0KIAotc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0
aW9uKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1lTmF2aWdhdGlvblR5
cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91
c2VCdXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS1N0cmluZ1Jl
ZiBmcmFtZU5hbWUsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVm
IHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIEVYUEVDVF9UUlVFKG1v
dXNlQnV0dG9uID09IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbik7Ci0gICAgV0tGcmFtZVBv
bGljeUxpc3RlbmVyVXNlKGxpc3RlbmVyKTsKLX0KLQotc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5
Rm9yUmVzcG9uc2UoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9u
c2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBib29sIGNhblNob3dNSU1F
VHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYgdXNlckRh
dGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZShXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVzcG9uc2VSZWYgbmF2aWdhdGlv
blJlc3BvbnNlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBXS0ZyYW1lUG9saWN5TGlz
dGVuZXJVc2UobGlzdGVuZXIpOwogfQpAQCAtMTE4LDI3ICsxMTEsMTggQEAgVEVTVChXZWJLaXQs
IFBhZ2VMb2FkQmFzaWMpCiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFk
b3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhj
b250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsK
KyAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgm
bG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKICAgICBsb2FkZXJDbGll
bnQuYmFzZS52ZXJzaW9uID0gMDsKICAgICBsb2FkZXJDbGllbnQuYmFzZS5jbGllbnRJbmZvID0g
JnN0YXRlOwotICAgIGxvYWRlckNsaWVudC5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
ID0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTsKLSAgICBsb2FkZXJDbGllbnQuZGlk
Q29tbWl0TG9hZEZvckZyYW1lID0gZGlkQ29tbWl0TG9hZEZvckZyYW1lOwotICAgIGxvYWRlckNs
aWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7Ci0KLSAg
ICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50
LmJhc2UpOwotCi0gICAgV0tQYWdlUG9saWN5Q2xpZW50VjEgcG9saWN5Q2xpZW50OwotICAgIG1l
bXNldCgmcG9saWN5Q2xpZW50LCAwLCBzaXplb2YocG9saWN5Q2xpZW50KSk7Ci0KLSAgICBwb2xp
Y3lDbGllbnQuYmFzZS52ZXJzaW9uID0gMTsKLSAgICBwb2xpY3lDbGllbnQuYmFzZS5jbGllbnRJ
bmZvID0gJnN0YXRlOwotICAgIHBvbGljeUNsaWVudC5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uID0gZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjsKLSAgICBwb2xpY3lDbGll
bnQuZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uID0gZGVjaWRlUG9saWN5Rm9yTmV3V2lu
ZG93QWN0aW9uOwotICAgIHBvbGljeUNsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSA9IGRl
Y2lkZVBvbGljeUZvclJlc3BvbnNlOworICAgIGxvYWRlckNsaWVudC5kaWRTdGFydFByb3Zpc2lv
bmFsTmF2aWdhdGlvbiA9IGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uOworICAgIGxvYWRl
ckNsaWVudC5kaWRDb21taXROYXZpZ2F0aW9uID0gZGlkQ29tbWl0TmF2aWdhdGlvbjsKKyAgICBs
b2FkZXJDbGllbnQuZGlkRmluaXNoTmF2aWdhdGlvbiA9IGRpZEZpbmlzaE5hdmlnYXRpb247Cisg
ICAgbG9hZGVyQ2xpZW50LmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24gPSBkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOworICAgIGxvYWRlckNsaWVudC5kZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uUmVzcG9uc2UgPSBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZTsKIAotICAgIFdL
UGFnZVNldFBhZ2VQb2xpY3lDbGllbnQod2ViVmlldy5wYWdlKCksICZwb2xpY3lDbGllbnQuYmFz
ZSk7CisgICAgV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQod2ViVmlldy5wYWdlKCksICZs
b2FkZXJDbGllbnQuYmFzZSk7CiAKICAgICAvLyBCZWZvcmUgbG9hZGluZyBhbnl0aGluZywgdGhl
IGFjdGl2ZSB1cmwgc2hvdWxkIGJlIG51bGwKICAgICBFWFBFQ1RfTlVMTChXS1BhZ2VDb3B5QWN0
aXZlVVJMKHdlYlZpZXcucGFnZSgpKSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9QYWdlTG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZvckZyYW1lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QYWdlTG9hZERp
ZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZvckZyYW1lLmNwcAkocmV2aXNpb24gMjM1MDkwKQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUGFnZUxvYWREaWRDaGFuZ2VMb2Nh
dGlvbldpdGhpblBhZ2VGb3JGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDE0ICszOCwx
MCBAQCBzdGF0aWMgdm9pZCBudWxsSmF2YVNjcmlwdENhbGxiYWNrKFdLU2VyCiB9CiAKIHN0YXRp
YyBib29sIGRpZEZpbmlzaExvYWQ7Ci1zdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUo
V0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKQotewotICAgIGRp
ZEZpbmlzaExvYWQgPSB0cnVlOwotfQotCiBzdGF0aWMgYm9vbCBkaWRQb3BTdGF0ZVdpdGhpblBh
Z2U7CiBzdGF0aWMgYm9vbCBkaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2U7Ci1zdGF0aWMgdm9p
ZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVm
LCBXS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlIHR5cGUsIFdLVHlwZVJlZiwgY29uc3Qgdm9p
ZCopCisKK3N0YXRpYyB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb24oV0tQYWdlUmVmLCBX
S05hdmlnYXRpb25SZWYsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUgdHlwZSwgV0tUeXBl
UmVmLCBjb25zdCB2b2lkKikKIHsKICAgICBpZiAoIWRpZFBvcFN0YXRlV2l0aGluUGFnZSkgewog
ICAgICAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGtXS1NhbWVEb2N1bWVudE5h
dmlnYXRpb25TZXNzaW9uU3RhdGVQb3ApLCB0eXBlKTsKQEAgLTU4LDE5ICs1NCwyMSBAQCBzdGF0
aWMgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yCiAgICAgZGlkQ2hhbmdlTG9jYXRp
b25XaXRoaW5QYWdlID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQsIFBhZ2VMb2FkRGlkQ2hhbmdl
TG9jYXRpb25XaXRoaW5QYWdlRm9yRnJhbWUpCitURVNUKFdlYktpdCwgUGFnZUxvYWREaWRDaGFu
Z2VMb2NhdGlvbldpdGhpblBhZ2UpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBj
b250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcg
d2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRl
ckNsaWVudDsKKyAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAg
IG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CiAKICAgICBs
b2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKLSAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNo
TG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOwotICAgIGxvYWRlckNsaWVudC5k
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUgPSBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uRm9yRnJhbWU7CisgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaE5hdmlnYXRpb24gPSBbXSAo
V0tQYWdlUmVmLCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopIHsKKyAg
ICAgICAgZGlkRmluaXNoTG9hZCA9IHRydWU7CisgICAgfTsKKyAgICBsb2FkZXJDbGllbnQuZGlk
U2FtZURvY3VtZW50TmF2aWdhdGlvbiA9IGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb247CiAKLSAg
ICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50
LmJhc2UpOworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50KHdlYlZpZXcucGFnZSgp
LCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IHVybChB
ZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgiZmlsZS13aXRoLWFuY2hvciIsICJo
dG1sIikpOwogICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIHVybC5nZXQoKSk7Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Qcml2YXRlQnJvd3NpbmdQdXNo
U3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJh
Y2suY3BwCShyZXZpc2lvbiAyMzUwOTApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9Qcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDExICs0OSw2IEBAIHN0YXRpYyB2b2lkIGRpZE5hdmlnYXRlV2l0aE5h
dmlnYXRpb25EYXQKICAgICBkaWROYXZpZ2F0ZSA9IHRydWU7CiB9CiAKLXN0YXRpYyB2b2lkIGRp
ZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJl
ZiBmcmFtZSwgV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSB0eXBlLCBXS1R5cGVSZWYgdXNl
ckRhdGEsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCi17Ci0gICAgZGlkU2FtZURvY3VtZW50TmF2
aWdhdGlvbiA9IHRydWU7Ci19Ci0KIFRFU1QoV2ViS2l0LCBQcml2YXRlQnJvd3NpbmdQdXNoU3Rh
dGVOb0hpc3RvcnlDYWxsYmFjaykKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNv
bnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwpAQCAtNjgsMTMgKzYzLDE1IEBAIFRF
U1QoV2ViS2l0LCBQcml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0gKIAogICAgIFBsYXRmb3JtV2Vi
VmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAg
cGFnZUxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAgcGFnZUxvYWRl
ckNsaWVudDsKICAgICBtZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQsIDAsIHNpemVvZihwYWdlTG9h
ZGVyQ2xpZW50KSk7CiAKICAgICBwYWdlTG9hZGVyQ2xpZW50LmJhc2UudmVyc2lvbiA9IDA7Ci0g
ICAgcGFnZUxvYWRlckNsaWVudC5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUgPSBk
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU7CisgICAgcGFnZUxvYWRlckNsaWVudC5k
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uID0gW10gKFdLUGFnZVJlZiwgV0tOYXZpZ2F0aW9uUmVm
LCBXS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQgKikg
eworICAgICAgICBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uID0gdHJ1ZTsKKyAgICB9OwogCi0g
ICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJnBhZ2VMb2FkZXJD
bGllbnQuYmFzZSk7CisgICAgV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQod2ViVmlldy5w
YWdlKCksICZwYWdlTG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tQcmVm
ZXJlbmNlc1JlZj4gcHJlZmVyZW5jZXMoQWRvcHRXSywgV0tQcmVmZXJlbmNlc0NyZWF0ZSgpKTsK
ICAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcmVmZXJlbmNlcy5n
ZXQoKSwgdHJ1ZSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZWxv
YWRQYWdlQWZ0ZXJDcmFzaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvUmVsb2FkUGFnZUFmdGVyQ3Jhc2guY3BwCShyZXZpc2lvbiAyMzUwOTApCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZWxvYWRQYWdlQWZ0ZXJDcmFzaC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkgewogc3RhdGljIGJvb2wgbG9hZEJlZm9yZUNyYXNoID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBs
b2FkQWZ0ZXJDcmFzaCA9IGZhbHNlOwogCi1zdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkKFdLUGFn
ZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCitzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkKFdLUGFnZVJlZiBwYWdl
LCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbykKIHsKICAgICAvLyBGaXJzdCBsb2FkIGJlZm9yZSBXZWJQcm9jZXNzIHdhcyB0ZXJtaW5h
dGVkLgogICAgIGlmICghbG9hZEJlZm9yZUNyYXNoKSB7CkBAIC00Nyw3ICs0Nyw3IEBAIHN0YXRp
YyB2b2lkIGRpZEZpbmlzaExvYWQoV0tQYWdlUmVmIHBhZ2UKIAogICAgIC8vIE5leHQgbG9hZCBh
ZnRlciBXZWJQcm9jZXNzIHdhcyB0ZXJtaW5hdGVkIChob3BlZnVsbHkKICAgICAvLyBpdCB3aWxs
IGJlIGNvcnJlY3RseSByZS1zcGF3bmVkKS4KLSAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KGtXS0ZyYW1lTG9hZFN0YXRlRmluaXNoZWQpLCBXS0ZyYW1lR2V0RnJhbWVMb2FkU3Rh
dGUoZnJhbWUpKTsKKyAgICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGtXS0ZyYW1l
TG9hZFN0YXRlRmluaXNoZWQpLCBXS0ZyYW1lR2V0RnJhbWVMb2FkU3RhdGUoV0tQYWdlR2V0TWFp
bkZyYW1lKHBhZ2UpKSk7CiAgICAgRVhQRUNUX0ZBTFNFKGxvYWRBZnRlckNyYXNoKTsKIAogICAg
IC8vIFNldCBpdCwgb3RoZXJ3aXNlIHRoZSBsb29wIHdpbGwgbm90IGVuZC4KQEAgLTY4LDE0ICs2
OCwxNCBAQCBURVNUKFdlYktpdCwgUmVsb2FkUGFnZUFmdGVyQ3Jhc2gpCiAgICAgV0tSZXRhaW5Q
dHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAg
ICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKIAotICAgIFdLUGFnZUxv
YWRlckNsaWVudFYwIGxvYWRlckNsaWVudDsKKyAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAg
bG9hZGVyQ2xpZW50OwogICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVy
Q2xpZW50KSk7CiAKICAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKLSAgICBsb2Fk
ZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZDsKLSAgICBsb2Fk
ZXJDbGllbnQucHJvY2Vzc0RpZENyYXNoID0gZGlkQ3Jhc2g7CisgICAgbG9hZGVyQ2xpZW50LmRp
ZEZpbmlzaE5hdmlnYXRpb24gPSBkaWRGaW5pc2hMb2FkOworICAgIGxvYWRlckNsaWVudC53ZWJQ
cm9jZXNzRGlkQ3Jhc2ggPSBkaWRDcmFzaDsKIAotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGll
bnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CisgICAgV0tQYWdlU2V0UGFn
ZU5hdmlnYXRpb25DbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7CiAK
ICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gdXJsID0gYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiYWJvdXQ6YmxhbmsiKSk7CiAgICAgLy8gTG9hZCBhIGJsYW5rIHBhZ2UgYW5k
IG5leHQga2lsbHMgV2ViUHJvY2Vzcy4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1dLQnVuZGxlRmlsZUhhbmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCdW5kbGVGaWxlSGFuZGxlLmNwcAkocmV2aXNpb24gMjM1
MDkwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCdW5kbGVGaWxlSGFu
ZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlCiAgICAgZG9uZSA9IHRydWU7CiB9CiAKLXN0YXRpYyB2
b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFt
ZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKikKK3N0YXRpYyB2b2lkIGRpZEZpbmlz
aE5hdmlnYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvblJlZiwgV0tUeXBlUmVmIHVz
ZXJEYXRhLCBjb25zdCB2b2lkKikKIHsKICAgICBsb2FkRG9uZSA9IHRydWU7CiB9CkBAIC02Mywx
MSArNjMsMTEgQEAgVEVTVChXZWJLaXQsIFdLQnVuZGxlRmlsZUhhbmRsZSkKIAogICAgIFBsYXRm
b3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwogCi0gICAgV0tQYWdlTG9hZGVyQ2xp
ZW50VjAgbG9hZGVyQ2xpZW50OworICAgIFdLUGFnZU5hdmlnYXRpb25DbGllbnRWMCBsb2FkZXJD
bGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJDbGllbnQp
KTsKICAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKLSAgICBsb2FkZXJDbGllbnQu
ZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOwotICAgIFdLUGFn
ZVNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCksICZsb2FkZXJDbGllbnQuYmFzZSk7
CisgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaE5hdmlnYXRpb24gPSBkaWRGaW5pc2hOYXZpZ2F0
aW9uOworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAm
bG9hZGVyQ2xpZW50LmJhc2UpOwogCiAgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwg
YWRvcHRXSyhVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgiYnVuZGxlLWZpbGUiLCAiaHRtbCIp
KS5nZXQoKSk7CiAgICAgVXRpbDo6cnVuKCZsb2FkRG9uZSk7CkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9tYWMvUmVzdG9yZVN0YXRlQWZ0ZXJUZXJtaW5hdGlvbi5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9tYWMvUmVzdG9y
ZVN0YXRlQWZ0ZXJUZXJtaW5hdGlvbi5tbQkocmV2aXNpb24gMjM1MDkwKQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL1Jlc3RvcmVTdGF0ZUFmdGVyVGVybWluYXRpb24u
bW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIHZvaWQgcnVuSmF2YVNj
cmlwdEFsZXJ0KFdLUGFnZVJlZgogICAgIGRpZEdldFBhZ2VTaWduYWxUb0NvbnRpbnVlID0gdHJ1
ZTsKIH0KIAotc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZChXS1BhZ2VSZWYgcGFnZSwgV0tGcmFt
ZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQor
c3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZChXS1BhZ2VSZWYgcGFnZSwgV0tOYXZpZ2F0aW9uUmVm
LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgLy8g
Rmlyc3QgbG9hZCBiZWZvcmUgV2ViUHJvY2VzcyB3YXMgdGVybWluYXRlZC4KICAgICBpZiAoIWxv
YWRCZWZvcmVDcmFzaCkgewpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hM
b2FkKFdLUGFnZVJlZiBwYWdlCiAKICAgICAvLyBOZXh0IGxvYWQgYWZ0ZXIgV2ViUHJvY2VzcyB3
YXMgdGVybWluYXRlZCAoaG9wZWZ1bGx5CiAgICAgLy8gaXQgd2lsbCBiZSBjb3JyZWN0bHkgcmUt
c3Bhd25lZCkuCi0gICAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMl90PihrV0tGcmFtZUxv
YWRTdGF0ZUZpbmlzaGVkKSwgV0tGcmFtZUdldEZyYW1lTG9hZFN0YXRlKGZyYW1lKSk7CisgICAg
RVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMl90PihrV0tGcmFtZUxvYWRTdGF0ZUZpbmlzaGVk
KSwgV0tGcmFtZUdldEZyYW1lTG9hZFN0YXRlKFdLUGFnZUdldE1haW5GcmFtZShwYWdlKSkpOwog
ICAgIEVYUEVDVF9GQUxTRShsb2FkQWZ0ZXJDcmFzaCk7CiAKICAgICAvLyBTZXQgaXQsIG90aGVy
d2lzZSB0aGUgbG9vcCB3aWxsIG5vdCBlbmQuCkBAIC03OCwxMiArNzgsMTIgQEAgVEVTVChXZWJL
aXQsIFJlc3RvcmVTdGF0ZUFmdGVyVGVybWluYXRpbwogICAgIFJldGFpblB0cjxOU1dpbmRvdz4g
d2luZG93ID0gYWRvcHROUyhbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Ondl
YlZpZXcucGxhdGZvcm1WaWV3KCkuZnJhbWUgc3R5bGVNYXNrOk5TQm9yZGVybGVzc1dpbmRvd01h
c2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOk5PXSk7CiAgICAgW3dpbmRv
dy5nZXQoKS5jb250ZW50VmlldyBhZGRTdWJ2aWV3OndlYlZpZXcucGxhdGZvcm1WaWV3KCldOwog
Ci0gICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9hZGVyQ2xpZW50OworICAgIFdLUGFnZU5hdmln
YXRpb25DbGllbnRWMCBsb2FkZXJDbGllbnQ7CiAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAs
IHNpemVvZihsb2FkZXJDbGllbnQpKTsKICAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0g
MDsKLSAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9h
ZDsKLSAgICBsb2FkZXJDbGllbnQucHJvY2Vzc0RpZENyYXNoID0gZGlkQ3Jhc2g7Ci0gICAgV0tQ
YWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNl
KTsKKyAgICBsb2FkZXJDbGllbnQuZGlkRmluaXNoTmF2aWdhdGlvbiA9IGRpZEZpbmlzaExvYWQ7
CisgICAgbG9hZGVyQ2xpZW50LndlYlByb2Nlc3NEaWRDcmFzaCA9IGRpZENyYXNoOworICAgIFdL
UGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50KHdlYlZpZXcucGFnZSgpLCAmbG9hZGVyQ2xpZW50
LmJhc2UpOwogCiAgICAgV0tQYWdlVUlDbGllbnRWMCB1aUNsaWVudDsKICAgICBtZW1zZXQoJnVp
Q2xpZW50LCAwLCBzaXplb2YodWlDbGllbnQpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvQ29tbWFuZEJhY2tGb3J3YXJkLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29tbWFuZEJhY2tGb3J3YXJkLm1t
CShyZXZpc2lvbiAyMzUwOTApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0NvbW1hbmRCYWNrRm9yd2FyZC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTEyLDExICsxMTIs
NiBAQCBwdWJsaWM6CiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IGZpbGUxOwogICAgIFdLUmV0
YWluUHRyPFdLVVJMUmVmPiBmaWxlMjsKIAotICAgIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRG
b3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbykKLSAgICB7Ci0gICAgICAgIGRpZEZpbmlzaE5hdmlnYXRpb24gPSB0cnVlOwotICAg
IH0KLQogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewogICAgICAgICBXZWJLaXQyX0Nv
bW1hbmRCYWNrRm9yd2FyZFRlc3Q6OlNldFVwKCk7CkBAIC0xMjcsMTMgKzEyMiwxNSBAQCBwdWJs
aWM6CiAKICAgICAgICAgd2ViVmlldyA9IFtbV0tWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5T
TWFrZVJlY3QoMCwgMCwgMTAwLCAxMDApIGNvbmZpZ3VyYXRpb25SZWY6Y29uZmlndXJhdGlvbi5n
ZXQoKV07CiAKLSAgICAgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjYgbG9hZGVyQ2xpZW50OworICAg
ICAgICBXS1BhZ2VOYXZpZ2F0aW9uQ2xpZW50VjAgbG9hZGVyQ2xpZW50OwogICAgICAgICBtZW1z
ZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwogCi0gICAgICAgIGxv
YWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSA2OwotICAgICAgICBsb2FkZXJDbGllbnQuZGlkRmlu
aXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworICAgICAgICBsb2FkZXJD
bGllbnQuYmFzZS52ZXJzaW9uID0gMDsKKyAgICAgICAgbG9hZGVyQ2xpZW50LmRpZEZpbmlzaE5h
dmlnYXRpb24gPSBbXSAoV0tQYWdlUmVmLCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbykgeworICAgICAgICAgICAgZGlkRmluaXNoTmF2aWdhdGlvbiA9
IHRydWU7CisgICAgICAgIH07CiAKLSAgICAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChb
d2ViVmlldyBwYWdlUmVmXSwgJmxvYWRlckNsaWVudC5iYXNlKTsKKyAgICAgICAgV0tQYWdlU2V0
UGFnZU5hdmlnYXRpb25DbGllbnQoW3dlYlZpZXcgcGFnZVJlZl0sICZsb2FkZXJDbGllbnQuYmFz
ZSk7CiAgICAgICAgIAogICAgICAgICBmaWxlMSA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRp
bDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNpbXBsZSIsICJodG1sIikpOwogICAgICAgICBmaWxl
MiA9IGFkb3B0V0soVGVzdFdlYktpdEFQSTo6VXRpbDo6Y3JlYXRlVVJMRm9yUmVzb3VyY2UoInNp
bXBsZTIiLCAiaHRtbCIpKTsK
</data>
<flag name="review"
          id="365391"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>