<?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>165992</bug_id>
          
          <creation_ts>2016-12-16 23:46:54 -0800</creation_ts>
          <short_desc>[Cocoa] REGRESSION (r209558): Calling decisionHandler multiple times in webView:decidePolicyForNavigationAction:decisionHandler: leads to a crash</short_desc>
          <delta_ts>2016-12-20 13:19:15 -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>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=165517</see_also>
          <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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1260899</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-16 23:46:54 -0800</bug_when>
    <thetext>[Cocoa] REGRESSION (r209558): Calling decisionHandler multiple times in webView:decidePolicyForNavigationAction:decisionHandler: leads to a crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260900</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-16 23:47:44 -0800</bug_when>
    <thetext>rdar://problem/29693817</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260904</commentid>
    <comment_count>2</comment_count>
      <attachid>297397</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-17 00:13:53 -0800</bug_when>
    <thetext>Created attachment 297397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260905</commentid>
    <comment_count>3</comment_count>
      <attachid>297398</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-12-17 00:18:55 -0800</bug_when>
    <thetext>Created attachment 297398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260906</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-17 00:21:44 -0800</bug_when>
    <thetext>Attachment 297398 did not pass style-queue:


ERROR: Source/WebKit2/Shared/Cocoa/CompletionHandlerCallChecker.mm:34:  Bad include order. Mixing system and custom headers.  [build/include_order] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261707</commentid>
    <comment_count>5</comment_count>
      <attachid>297398</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-20 13:19:11 -0800</bug_when>
    <thetext>Comment on attachment 297398
Patch

Clearing flags on attachment: 297398

Committed r210031: &lt;http://trac.webkit.org/changeset/210031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261708</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-20 13:19:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297397</attachid>
            <date>2016-12-17 00:13:53 -0800</date>
            <delta_ts>2016-12-17 00:18:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165992-20161217001258.patch</filename>
            <type>text/plain</type>
            <size>29624</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGI3ZDJkODAyMjQ1N2Ni
YWM1NjQ5NDU4MDFkYTQ3ZDM0YzYwMDA4ZS4uNmIzYmNjZWYzYjdkNjJlMTM5YjdmNTcwODA4Y2Q3
YzA2OTUyOWY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDE2LTEyLTE2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2FdIFJFR1JFU1NJT04g
KHIyMDk1NTgpOiBDYWxsaW5nIGRlY2lzaW9uSGFuZGxlciBtdWx0aXBsZSB0aW1lcyBpbiB3ZWJW
aWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOiBsZWFk
cyB0byBhIGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjU5OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5NjkzODE3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIyMDk1NTggYWRkZWQgYWRk
aXRpb25hbCBtb3ZlIHNlbWFudGljcyB0byB0aGUgZGVjaXNpb25IYW5kbGVyIGJsb2NrIHBhc3Nl
ZCB0bworICAgICAgICAtd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOmRl
Y2lzaW9uSGFuZGxlcjosIHJlc3VsdGluZyBpbiBhIG51bGwgcG9pbnRlcgorICAgICAgICBkZXJl
ZmVyZW5jZSBpbiBjbGllbnRzIHRoYXQgY2FsbCB0aGUgZGVjaXNpb25IYW5kbGVyIGJsb2NrIG1v
cmUgdGhhbiBvbmNlLgorCisgICAgICAgIE5vbmUgb2YgdGhlIGNvbXBsZXRpb24gaGFuZGxlcnMg
d2UgZXhwb3NlIGluIHRoZSBXZWJLaXQgQVBJIGFyZSBpbnRlbmRlZCB0byBiZSBjYWxsZWQgbW9y
ZQorICAgICAgICB0aGFuIG9uY2UsIGFuZCB3ZSBBU1NFUlQgaW4gQ29tcGxldGlvbkhhbmRsZXJD
YWxsQ2hlY2tlcjo6ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCkgdGhhdAorICAgICAgICB0aGlz
IGRvZXNuJ3QgaGFwcGVuLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHN0cmVuZ2h0ZW5zIHRoYXQg
cHJvdGVjdGlvbiBieSByZXR1cm5pbmcgaW1tZWRpYXRlbHkgaW4gY29tcGxldGlvbiBoYW5kbGVy
cworICAgICAgICBjYWxsZWQgbW9yZSB0aGFuIG9uY2UuIEFuZCBpbiBwcm9ncmFtcyBsaW5rZWQg
b24gb3IgYWZ0ZXIgV2ViS2l0IDYwMy4xLjE3LCBhbiBOU0V4Y2VwdGlvbiBpcworICAgICAgICB0
aHJvd24gaWYgYSBjb21wbGV0aW9uIGhhbmRsZXIgaXMgY2FsbGVkIGEgc2Vjb25kIHRpbWUsIGxp
a2Ugd2UgZG8gZm9yIGNvbXBsZXRpb24gaGFuZGxlcnMKKyAgICAgICAgdGhhdCBhcmUgbmV2ZXIg
Y2FsbGVkLgorCisgICAgICAgIE5ldyBBUEkgdGVzdDogV2ViS2l0Mi5EdXBsaWNhdGVDb21wbGV0
aW9uSGFuZGxlckNhbGxzCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRs
ZXJDYWxsQ2hlY2tlci5oOiBEZWNsYXJlZCBjb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQo
KS4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5t
bToKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkVGhyb3dFeGNlcHRpb25Gb3JEdXBsaWNhdGVDb21w
bGV0aW9uSGFuZGxlckNhbGwpOiBBZGRlZC4gUmV0dXJucyB0cnVlIGlmIHRoZQorICAgICAgICBw
cm9ncmFtIGlzIGxpbmtlZCBvbiBvciBhZnRlcgorICAgICAgICBMaWJyYXJ5VmVyc2lvbjo6Rmly
c3RXaXRoRXhjZXB0aW9uc0ZvckR1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMuCisgICAg
ICAgIChXZWJLaXQ6OkNvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNvbXBsZXRpb25IYW5k
bGVySGFzQmVlbkNhbGxlZCk6IEFkZGVkLiBSZXR1cm5zCisgICAgICAgIHdoZXRoZXIgb3Igbm90
IHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaGFzIGJlZW4gY2FsbGVkLiBJZiBpdCBoYXMsIGFuZAor
ICAgICAgICBzaG91bGRUaHJvd0V4Y2VwdGlvbkZvckR1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVy
Q2FsbCgpIHJldHVybnMgdHJ1ZSwgdGhyb3dzIGFuCisgICAgICAgIE5TSW50ZXJuYWxJbmNvbnNp
c3RlbmN5RXhjZXB0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldElucHV0RGVsZWdhdGU6XSk6IEFkZGVkIGFu
IGVhcmx5IHJldHVybiBpZiB0aGUgY29tcGxldGlvbiBoYW5kbGVyIGhhcworICAgICAgICBhbHJl
YWR5IGJlZW4gY2FsbGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVu
dDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6IERpdHRvLgorICAgICAgICAoV2Vi
S2l0OjpOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25SZXNwb25zZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3Rh
dGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6
IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAg
ICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6cnVuSmF2YVNjcmlwdEFsZXJ0KTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5KYXZhU2NyaXB0
Q29uZmlybSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6
cnVuSmF2YVNjcmlwdFByb21wdCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRl
OjpVSUNsaWVudDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKTogRGl0dG8uCisgICAgICAgIChXZWJL
aXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwpOiBEaXR0by4KKyAgICAgICAg
KFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3Jp
Z2luUXVvdGEpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNr
cy5oOiBBZGRlZAorICAgICAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVwbGljYXRlQ29tcGxl
dGlvbkhhbmRsZXJDYWxscyB3aXRoIHRoZSB2ZXJzaW9uIG51bWJlciBmb3IgNjAzLjEuMTcuCisK
KzIwMTYtMTItMTYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIEFk
ZCBhIHNldHRpbmcgdG8gc3VwcHJlc3Mga2V5Ym9hcmQgaW5wdXQgZHVyaW5nIHByb3Zpc2lvbmFs
IG5hdmlnYXRpb24KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NTgzMAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQ29t
cGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29h
L0NvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaAppbmRleCA4NjA3NTk5ZDQwZDIyZDRiNWY1
MDEwZGQ4OGYxY2MzN2VkMWIyYjgzLi4wNTIyMzM0NGVlYjBjMmQzZGEzN2E0YjgxMDczNjU1NTE3
ZDJmNTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQ29tcGxldGlv
bkhhbmRsZXJDYWxsQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9D
b21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmgKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgog
ICAgIH5Db21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyKCk7CiAKICAgICB2b2lkIGRpZENhbGxD
b21wbGV0aW9uSGFuZGxlcigpOworICAgIGJvb2wgY29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2Fs
bGVkKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tl
cihDbGFzcyBkZWxlZ2F0ZUNsYXNzLCBTRUwgZGVsZWdhdGVNZXRob2RTZWxlY3Rvcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRsZXJDYWxs
Q2hlY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9Db21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyLm1tCmluZGV4IDQ0ZjgyOTUzZWYyOTlmZWI4ODg4NDhhZmRhYmI4YmUwODVj
NDA3OTEuLjFjY2MxMmYyMjM0ZWY3YTk1YjU5Mzk5Mjk4NzY5OGZhNTQyY2E3NDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9Db21wbGV0aW9uSGFuZGxlckNhbGxDaGVj
a2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9Db21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQt
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI4LDggKzI4LDEwIEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCisj
aW1wb3J0IDxtdXRleD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8d3RmL1Jl
Zi5oPgorI2ltcG9ydCAiVmVyc2lvbkNoZWNrcy5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApA
QCAtNjAsNiArNjIsMjkgQEAgdm9pZCBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpkaWRD
YWxsQ29tcGxldGlvbkhhbmRsZXIoKQogICAgIG1fZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyID0g
dHJ1ZTsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkVGhyb3dFeGNlcHRpb25Gb3JEdXBsaWNhdGVD
b21wbGV0aW9uSGFuZGxlckNhbGwoKQoreworICAgIHN0YXRpYyBib29sIHNob3VsZFRocm93RXhj
ZXB0aW9uOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOworICAgIHN0ZDo6Y2FsbF9v
bmNlKG9uY2UsIFtdIHsKKyAgICAgICAgc2hvdWxkVGhyb3dFeGNlcHRpb24gPSBsaW5rZWRPbk9y
QWZ0ZXIoTGlicmFyeVZlcnNpb246OkZpcnN0V2l0aEV4Y2VwdGlvbnNGb3JEdXBsaWNhdGVDb21w
bGV0aW9uSGFuZGxlckNhbGxzKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc2hvdWxkVGhyb3dFeGNl
cHRpb247Cit9CisKK2Jvb2wgQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y29tcGxldGlv
bkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZGlkQ2FsbENvbXBs
ZXRpb25IYW5kbGVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoc2hvdWxkVGhy
b3dFeGNlcHRpb25Gb3JEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGwoKSkgeworICAgICAg
ICBDbGFzcyBkZWxlZ2F0ZUNsYXNzID0gY2xhc3NJbXBsZW1lbnRpbmdEZWxlZ2F0ZU1ldGhvZCgp
OworICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnRlcm5hbEluY29uc2lzdGVuY3lFeGNl
cHRpb24gZm9ybWF0OkAiQ29tcGxldGlvbiBoYW5kbGVyIHBhc3NlZCB0byAlY1slQCAlQF0gd2Fz
IGNhbGxlZCBtb3JlIHRoYW4gb25jZSIsIGNsYXNzX2lzTWV0YUNsYXNzKGRlbGVnYXRlQ2xhc3Mp
ID8gJysnIDogJy0nLCBOU1N0cmluZ0Zyb21DbGFzcyhkZWxlZ2F0ZUNsYXNzKSwgTlNTdHJpbmdG
cm9tU2VsZWN0b3IobV9kZWxlZ2F0ZU1ldGhvZFNlbGVjdG9yKV07CisgICAgfQorCisgICAgcmV0
dXJuIHRydWU7Cit9CisKIENsYXNzIENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNsYXNz
SW1wbGVtZW50aW5nRGVsZWdhdGVNZXRob2QoKSBjb25zdAogewogICAgIENsYXNzIGRlbGVnYXRl
Q2xhc3MgPSBtX2RlbGVnYXRlQ2xhc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGMxMWFiYjM5NmExNWZiMjIxYzQwYmUxZWRjNGZm
YTRiMWVkOTZjMDMuLmMxNmY5NjA0YzU3ZDY3NDJmN2Y5NjQ5NzZmOGQ1N2JmOWUwYmU2MDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBA
IC0zODg1LDYgKzM4ODUsOCBAQCAtICh2b2lkKV9zZXRJbnB1dERlbGVnYXRlOihpZCA8X1dLSW5w
dXREZWxlZ2F0ZT4paW5wdXREZWxlZ2F0ZQogICAgICAgICAgICAgUmVmUHRyPFdlYktpdDo6V2Vi
Rm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5PiBsb2NhbExpc3RlbmVyID0gV1RGTW92ZShsaXN0
ZW5lcik7CiAgICAgICAgICAgICBSZWZQdHI8V2ViS2l0OjpDb21wbGV0aW9uSGFuZGxlckNhbGxD
aGVja2VyPiBjaGVja2VyID0gV2ViS2l0OjpDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpj
cmVhdGUoaW5wdXREZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJWaWV3OndpbGxTdWJtaXRG
b3JtVmFsdWVzOnVzZXJPYmplY3Q6c3VibWlzc2lvbkhhbmRsZXI6KSk7CiAgICAgICAgICAgICBb
aW5wdXREZWxlZ2F0ZSBfd2ViVmlldzptX3dlYlZpZXcgd2lsbFN1Ym1pdEZvcm1WYWx1ZXM6dmFs
dWVNYXAuZ2V0KCkgdXNlck9iamVjdDp1c2VyT2JqZWN0IHN1Ym1pc3Npb25IYW5kbGVyOltsb2Nh
bExpc3RlbmVyLCBjaGVja2VyXSB7CisgICAgICAgICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBs
ZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CiAg
ICAgICAgICAgICAgICAgbG9jYWxMaXN0ZW5lci0+Y29udGludWVTdWJtaXNzaW9uKCk7CiAgICAg
ICAgICAgICB9XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdh
dGlvblN0YXRlLm1tCmluZGV4IDFjN2IwYjJjYzE5MWVkMzZhMTMxMWIxNDFmYmFjOTBmNTYwMTFh
MmMuLjk3MjZiNjQ0OGUxOGYwOTk5Yjc2YjQzOTdlNmRmMThmNTljOTk4MmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpAQCAtMzM3
LDYgKzMzNyw4IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50OjpkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYlBhZ2VQCiAgICAgUmVmUHRyPENvbXBsZXRp
b25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVj
a2VyOjpjcmVhdGUobmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBkZWxlZ2F0ZUhhc1dlYnNpdGVQ
b2xpY2llcyA/IEBzZWxlY3Rvcihfd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uOmRlY2lzaW9uSGFuZGxlcjopIDogQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRsZXI6KSk7CiAgICAgCiAgICAgYXV0byBkZWNp
c2lvbkhhbmRsZXJXaXRoUG9saWNpZXMgPSBbbG9jYWxMaXN0ZW5lciA9IFJlZlB0cjxXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk+KFdURk1vdmUobGlzdGVuZXIpKSwgbG9jYWxOYXZpZ2F0aW9u
QWN0aW9uID0gUmVmUHRyPEFQSTo6TmF2aWdhdGlvbkFjdGlvbj4oJm5hdmlnYXRpb25BY3Rpb24p
LCBjaGVja2VyID0gV1RGTW92ZShjaGVja2VyKSwgbWFpbkZyYW1lVVJMU3RyaW5nXShXS05hdmln
YXRpb25BY3Rpb25Qb2xpY3kgYWN0aW9uUG9saWN5LCBfV0tXZWJzaXRlUG9saWNpZXMgKndlYnNp
dGVQb2xpY2llcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFu
ZGxlckhhc0JlZW5DYWxsZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2hlY2tl
ci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CiAKICAgICAgICAgV2Vic2l0ZVBvbGljaWVz
IHBvbGljaWVzOwpAQCAtNDEyLDYgKzQxNCw4IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpOYXZp
Z2F0aW9uQ2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UoV2ViUGFnCiAg
ICAgUmVmUHRyPFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eT4gbG9jYWxMaXN0ZW5lciA9IFdU
Rk1vdmUobGlzdGVuZXIpOwogICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2Vy
PiBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKG5hdmlnYXRp
b25EZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvblJlc3BvbnNlOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBbbmF2aWdhdGlvbkRlbGVnYXRl
IHdlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25SZXNwb25zZTp3cmFwcGVyKG5hdmlnYXRpb25SZXNwb25zZSkgZGVjaXNpb25IYW5kbGVy
Oltsb2NhbExpc3RlbmVyLCBjaGVja2VyXShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSByZXNw
b25zZVBvbGljeSkgeworICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNC
ZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNoZWNrZXItPmRpZENh
bGxDb21wbGV0aW9uSGFuZGxlcigpOwogCiAgICAgICAgIHN3aXRjaCAocmVzcG9uc2VQb2xpY3kp
IHsKQEAgLTY0Nyw2ICs2NTEsOCBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNs
aWVudDo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdlYlBhZwogICAgICAgICBS
ZWZQdHI8Q29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcj4gY2hlY2tlciA9IENvbXBsZXRpb25I
YW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCksIEBzZWxl
Y3Rvcih3ZWJWaWV3OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpjb21wbGV0aW9u
SGFuZGxlcjopKTsKICAgICAgICAgW3N0YXRpY19jYXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0
ZVByaXZhdGU+PihuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkpIHdlYlZpZXc6bV9uYXZpZ2F0aW9u
U3RhdGUubV93ZWJWaWV3IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTp3cmFwcGVy
KCphdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
OltjaGFsbGVuZ2UsIGNoZWNrZXJdKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VEaXNwb3NpdGlv
biBkaXNwb3NpdGlvbiwgTlNVUkxDcmVkZW50aWFsICpjcmVkZW50aWFsKSB7CisgICAgICAgICAg
ICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgY2hlY2tlci0+ZGlkQ2Fs
bENvbXBsZXRpb25IYW5kbGVyKCk7CiAKICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRpc3Bvc2l0
aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmlu
ZGV4IGEwOGU5OTFkZWE2ODNhNDA1NWYwNTRmZmUzZDIzNTlhZjJhYzYzMWMuLjIyYTYzOWI1ODZl
ZDYzZTE0MjgwYWNjOTdjMDg5MDBjOWM0Y2RlZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIxNiw2ICsyMTYsOCBAQCB2b2lkIFVJRGVsZWdhdGU6
OlVJQ2xpZW50OjpydW5KYXZhU2NyaXB0QWxlcnQoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25z
dCBXVEY6OgogCiAgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNr
ZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCks
IEBzZWxlY3Rvcih3ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5p
dGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjopKTsKICAgICBbZGVsZWdhdGUgd2ViVmll
dzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3Nh
Z2U6bWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOndyYXBwZXIoQVBJOjpGcmFtZUluZm86OmNyZWF0
ZSgqd2ViRnJhbWVQcm94eSwgc2VjdXJpdHlPcmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2luKCkpKSBj
b21wbGV0aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lkICgpPjo6ZnJvbUNhbGxhYmxlKFtjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBjaGVja2VyID0gV1RGTW92
ZShjaGVja2VyKV0geworICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNC
ZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKCk7CiAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogICAg
IH0pLmdldCgpXTsKQEAgLTIzNiw2ICsyMzgsOCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50
OjpydW5KYXZhU2NyaXB0Q29uZmlybShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURgog
CiAgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBDb21w
bGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rv
cih3ZWJWaWV3OnJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2FnZTppbml0aWF0ZWRC
eUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOikpOwogICAgIFtkZWxlZ2F0ZSB3ZWJWaWV3Om1fdWlE
ZWxlZ2F0ZS5tX3dlYlZpZXcgcnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOm1l
c3NhZ2UgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUoKndl
YkZyYW1lUHJveHksIHNlY3VyaXR5T3JpZ2luRGF0YS5zZWN1cml0eU9yaWdpbigpKSkgY29tcGxl
dGlvbkhhbmRsZXI6QmxvY2tQdHI8dm9pZCAoQk9PTCk+Ojpmcm9tQ2FsbGFibGUoW2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3Zl
KGNoZWNrZXIpXShCT09MIHJlc3VsdCkgeworICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlv
bkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CiAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0
aW9uSGFuZGxlcigpOwogICAgIH0pLmdldCgpXTsKQEAgLTI1Niw2ICsyNjAsOCBAQCB2b2lkIFVJ
RGVsZWdhdGU6OlVJQ2xpZW50OjpydW5KYXZhU2NyaXB0UHJvbXB0KFdlYktpdDo6V2ViUGFnZVBy
b3h5KiwgY29uc3QgV1RGOgogCiAgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNr
ZXI+IGNoZWNrZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdh
dGUuZ2V0KCksIEBzZWxlY3Rvcih3ZWJWaWV3OnJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdp
dGhQcm9tcHQ6ZGVmYXVsdFRleHQ6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjop
KTsKICAgICBbZGVsZWdhdGUgd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHJ1bkphdmFT
Y3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9tcHQ6bWVzc2FnZSBkZWZhdWx0VGV4dDpkZWZhdWx0
VmFsdWUgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUoKndl
YkZyYW1lUHJveHksIHNlY3VyaXR5T3JpZ2luRGF0YS5zZWN1cml0eU9yaWdpbigpKSkgY29tcGxl
dGlvbkhhbmRsZXI6QmxvY2tQdHI8dm9pZCAoTlNTdHJpbmcgKik+Ojpmcm9tQ2FsbGFibGUoW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBX
VEZNb3ZlKGNoZWNrZXIpXShOU1N0cmluZyAqcmVzdWx0KSB7CisgICAgICAgIGlmIChjaGVja2Vy
LT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKICAgICAgICAgY2hlY2tlci0+ZGlk
Q2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSkuZ2V0KCldOwpAQCAtMjgxLDYgKzI4Nyw4
IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJQ
YWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwKICAgICBBU1NFUlQoc2VjdXJpdHlPcmlnaW4pOwog
ICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyPiBjaGVja2VyID0gQ29tcGxl
dGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3Io
X3dlYlZpZXc6ZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOmN1cnJlbnRRdW90
YTpjdXJyZW50T3JpZ2luVXNhZ2U6Y3VycmVudERhdGFiYXNlVXNhZ2U6ZXhwZWN0ZWRVc2FnZTpk
ZWNpc2lvbkhhbmRsZXI6KSk7CiAgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdh
dGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBkZWNpZGVEYXRhYmFzZVF1b3RhRm9y
U2VjdXJpdHlPcmlnaW46d3JhcHBlcigqc2VjdXJpdHlPcmlnaW4pIGN1cnJlbnRRdW90YTpjdXJy
ZW50UXVvdGEgY3VycmVudE9yaWdpblVzYWdlOmN1cnJlbnRPcmlnaW5Vc2FnZSBjdXJyZW50RGF0
YWJhc2VVc2FnZTpjdXJyZW50VXNhZ2UgZXhwZWN0ZWRVc2FnZTpleHBlY3RlZFVzYWdlIGRlY2lz
aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lkICh1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGEpPjo6
ZnJvbUNhbGxhYmxlKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpLCBjaGVja2VyID0gV1RGTW92ZShjaGVja2VyKV0odW5zaWduZWQgbG9uZyBsb25nIG5ld1F1
b3RhKSB7CisgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxs
ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBs
ZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG5ld1F1b3RhKTsKICAg
ICB9KS5nZXQoKV07CkBAIC0zMDIsNiArMzEwLDggQEAgYm9vbCBVSURlbGVnYXRlOjpVSUNsaWVu
dDo6cnVuT3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqIHdlYkZyYW1lUHIK
ICAgICBSZWZQdHI8Q29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcj4gY2hlY2tlciA9IENvbXBs
ZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9y
KHdlYlZpZXc6cnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnM6aW5pdGlhdGVkQnlGcmFtZTpjb21w
bGV0aW9uSGFuZGxlcjopKTsKIAogICAgIFtkZWxlZ2F0ZSB3ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5t
X3dlYlZpZXcgcnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnM6d3JhcHBlcigqb3BlblBhbmVsUGFy
YW1ldGVycykgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKGZyYW1lKSBjb21wbGV0aW9uSGFuZGxl
cjpbY2hlY2tlciwgcmVzdWx0TGlzdGVuZXJdKE5TQXJyYXkgKlVSTHMpIHsKKyAgICAgICAgaWYg
KGNoZWNrZXItPmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKIAog
ICAgICAgICBpZiAoIVVSTHMpIHsKQEAgLTQ2MCw2ICs0NzAsOCBAQCB2b2lkIFVJRGVsZWdhdGU6
OlVJQ2xpZW50OjpyZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYlBhZ2VQcm94
eSosIGNvbgogICAgIFJlZlB0cjxBUEk6OlNlY3VyaXR5T3JpZ2luPiBhcGlPcmlnaW4gPSBBUEk6
OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoc2VjdXJpdHlPcmlnaW4pOwogICAgIAogICAgIFsoaWQg
PFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dl
YlZpZXcgZGVjaWRlV2ViQXBwbGljYXRpb25DYWNoZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW46d3Jh
cHBlcigqYXBpT3JpZ2luKSBjdXJyZW50UXVvdGE6Y3VycmVudFF1b3RhIHRvdGFsQnl0ZXNOZWVk
ZWQ6dG90YWxCeXRlc05lZWRlZCBkZWNpc2lvbkhhbmRsZXI6QmxvY2tQdHI8dm9pZCAodW5zaWdu
ZWQgbG9uZyBsb25nKT46OmZyb21DYWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildKHVuc2lnbmVk
IGxvbmcgbG9uZyBuZXdRdW90YSkgeworICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhh
bmRsZXJIYXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNoZWNr
ZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihuZXdRdW90YSk7CiAgICAgfSkuZ2V0KCldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1ZlcnNpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WZXJzaW9uQ2hlY2tzLmgKaW5kZXggZmE1MDQ0MjBkN2U0MmFjODY4MmFlYmMxYTUy
MTY4MDk2NGRlZDFhMC4uMDg1OTNiZjc0Yjc1NGU1ZTA1MDM3OWY4ZmVhZmU2ODhlNWYwNDYyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZlcnNpb25DaGVja3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oCkBA
IC0yMyw4ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI2lmbmRlZiBWZXJzaW9uQ2hlY2tzX2gKLSNkZWZpbmUgVmVyc2lvbkNoZWNrc19oCisjcHJh
Z21hIG9uY2UKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQwLDEwICszOSw5IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogZW51bSBjbGFzcyBMaWJyYXJ5VmVyc2lvbiB7CiAgICAgRmlyc3RXaXRo
TmV0d29ya0NhY2hlID0gMHgwMjU5MDExNiwgLy8gNjAxLjEuMjIKICAgICBGaXJzdFdpdGhNZWRp
YVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gMHgwMjVBMDEyMSwgLy8gNjAy
LjEuMzMKKyAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVwbGljYXRlQ29tcGxldGlvbkhhbmRs
ZXJDYWxscyA9IDB4MDI1QjAxMTEsIC8vIDYwMy4xLjE3CiB9OwogCiBib29sIGxpbmtlZE9uT3JB
ZnRlcihMaWJyYXJ5VmVyc2lvbik7CiAKIH0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTBhMzRhZWUyNjJhZmRjZjIzOWU3YjAy
ZWIyNjY5ZTAzYmZiZTg0Yy4uZGM2NjBlZjk3Y2QwMjU4YzNiYmVjODRhMTBkODM4Mzk5OTRiMGQ1
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE2LTEyLTE2ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFJFR1JFU1NJT04gKHIyMDk1NTgpOiBDYWxsaW5nIGRlY2lzaW9u
SGFuZGxlciBtdWx0aXBsZSB0aW1lcyBpbiB3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOiBsZWFkcyB0byBhIGNyYXNoCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU5OTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW06
IEFkZGVkLgorICAgICAgICAoZXhwZWN0RXhjZXB0aW9uKToKKyAgICAgICAgKC1bRHVwbGljYXRl
Q29tcGxldGlvbkhhbmRsZXJDYWxsc0RlbGVnYXRlIHdlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW0R1cGxpY2F0ZUNv
bXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0ZSB3ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25SZXNwb25zZTpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW0R1cGxpY2F0ZUNv
bXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBh
bmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsc0RlbGVnYXRlIHdlYlZpZXc6
cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29t
cGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVy
Q2FsbHNEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9t
cHQ6ZGVmYXVsdFRleHQ6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsc0RlbGVnYXRlIF93ZWJWaWV3
OmRlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjpjdXJyZW50UXVvdGE6Y3VycmVu
dE9yaWdpblVzYWdlOmN1cnJlbnREYXRhYmFzZVVzYWdlOmV4cGVjdGVkVXNhZ2U6ZGVjaXNpb25I
YW5kbGVyOl0pOgorICAgICAgICAoLVtEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzRGVs
ZWdhdGUgX3dlYlZpZXc6d2lsbFN1Ym1pdEZvcm1WYWx1ZXM6dXNlck9iamVjdDpzdWJtaXNzaW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0MkNvY29hL2R1cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRsZXItY2FsbHMuaHRtbDog
QWRkZWQuCisKIDIwMTYtMTItMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgVmlzdWFsIHZpZXdwb3J0czogY2FyZXRzIGFuZCBzZWxlY3Rpb24gVUkg
YXJlIGluY29ycmVjdGx5IHBvc2l0aW9uZWQgd2hlbiBlZGl0aW5nIGZpeGVkIGVsZW1lbnRzCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAxNmFhNjk0Zjk0OWEyMzgxMDI4MjBlNTI3NGJhMGQz
MTIzYzQyZDIuLmFjOGM2MDJmNGQ1NWFjNDVhOGRiNmNlZjY5NjQ2ZTUxZGQxNGYzMmUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NjAsNiArNDYwLDggQEAKIAkJQTE0RkM1ODgxQjg5OTFC
RjAwRDEwN0VCIC8qIENvbnRlbnRGaWx0ZXJpbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTRGQzU4NjFCODk5MUI2MDBEMTA3RUIgLyogQ29udGVu
dEZpbHRlcmluZy5tbSAqLzsgfTsKIAkJQTE0RkM1OEIxQjg5OTI3MTAwRDEwN0VCIC8qIENvbnRl
bnRGaWx0ZXJpbmdQbHVnSW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTRGQzU4OTFCODk5MjcxMDBEMTA3RUIgLyogQ29udGVudEZpbHRlcmluZ1Bs
dWdJbi5tbSAqLzsgfTsKIAkJQTE0RkM1OTAxQjhBRTM2RjAwRDEwN0VCIC8qIFRlc3RQcm90b2Nv
bC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNEZD
NThFMUI4QUUzNjUwMEQxMDdFQiAvKiBUZXN0UHJvdG9jb2wubW0gKi87IH07CisJCUExNTUwMjJB
MUUwNTAyMEIwMEEyNEM1NyAvKiBEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE1NTAyMjgxRTA1
MDIwQjAwQTI0QzU3IC8qIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0gKi87IH07
CisJCUExNTUwMjJDMUUwNTBEMDMwMEEyNEM1NyAvKiBkdXBsaWNhdGUtY29tcGxldGlvbi1oYW5k
bGVyLWNhbGxzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTE1NTAyMkIxRTA1MEJDNTAwQTI0QzU3IC8qIGR1cGxpY2F0ZS1jb21wbGV0
aW9uLWhhbmRsZXItY2FsbHMuaHRtbCAqLzsgfTsKIAkJQTE2RjY2QkExQzQwRUI0RjAwQkQ0RDI0
IC8qIENvbnRlbnRGaWx0ZXJpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTZGNjZCOTFDNDBFQTIwMDBCRDREMjQgLyogQ29udGVu
dEZpbHRlcmluZy5odG1sICovOyB9OwogCQlBMUM0RkI3MzFCQUNEMUNBMDAzNzQyRDAgLyogcGFn
ZXMucGFnZXMgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFDNEZCNzIxQkFDRDFCNzAwMzc0MkQwIC8qIHBhZ2VzLnBhZ2VzICovOyB9OwogCQlB
MURGNzQzMjFDNDFCNjU4MDBBMkY0RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFERjc0MzAx
QzQxQjY1ODAwQTJGNEQwIC8qIEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbSAqLzsgfTsK
QEAgLTU5Miw2ICs1OTQsNyBAQAogCQkJZHN0UGF0aCA9IFRlc3RXZWJLaXRBUEkucmVzb3VyY2Vz
OwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlmaWxlcyA9ICgKKwkJCQlBMTU1MDIyQzFF
MDUwRDAzMDBBMjRDNTcgLyogZHVwbGljYXRlLWNvbXBsZXRpb24taGFuZGxlci1jYWxscy5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxMTBGQ0Y5MUUwMUNEOEEwMDZGOEQwQiAvKiBJ
bmRleFVwZ3JhZGUuYmxvYiBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTEwRkNGNjFFMDFD
RDgzMDA2RjhEMEIgLyogSW5kZXhVcGdyYWRlLnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJNTExMEZDRjExRTAxQ0Q2NDAwNkY4RDBCIC8qIElEQkluZGV4VXBncmFkZVRvVjIuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTExMzEsNiArMTEzNCw4IEBACiAJCUExNEZDNTg5
MUI4OTkyNzEwMEQxMDdFQiAvKiBDb250ZW50RmlsdGVyaW5nUGx1Z0luLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ29udGVudEZpbHRlcmluZ1BsdWdJbi5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE0RkM1OEQxQjhBRTM2NTAwRDEwN0VCIC8q
IFRlc3RQcm90b2NvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUZXN0UHJv
dG9jb2wuaDsgcGF0aCA9IGNvY29hL1Rlc3RQcm90b2NvbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTRGQzU4RTFCOEFFMzY1MDBEMTA3RUIgLyogVGVzdFByb3RvY29sLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gVGVzdFByb3RvY29sLm1tOyBw
YXRoID0gY29jb2EvVGVzdFByb3RvY29sLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBMTU1MDIyODFFMDUwMjBCMDBBMjRDNTcgLyogRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJD
YWxscy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IER1cGxpY2F0
ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUExNTUwMjJCMUUwNTBCQzUwMEEyNEM1NyAvKiBkdXBsaWNhdGUtY29tcGxldGlvbi1oYW5kbGVy
LWNhbGxzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiZHVwbGljYXRlLWNvbXBs
ZXRpb24taGFuZGxlci1jYWxscy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTE2RjY2QjkxQzQwRUEyMDAwQkQ0RDI0IC8qIENvbnRlbnRGaWx0ZXJpbmcuaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9IENvbnRlbnRGaWx0ZXJpbmcuaHRtbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTE4QUE4Q0MxQzNGQTIxODAwOUIyQjk3IC8qIENvbnRlbnRGaWx0
ZXJpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudEZpbHRlcmlu
Zy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUE0RkU1RDE4REQzREI3MDBCNUVB
OEEgLyogRG93bmxvYWQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBEb3dubG9hZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTYsNiArMTQ2
MSw3IEBACiAJCQkJNUMyOTM2OTExRDVCRjYzRTAwREVBQjFFIC8qIENvb2tpZUFjY2VwdFBvbGlj
eS5tbSAqLywKIAkJCQkyREM0Q0Y3NjFEMkQ5REQ4MDBFQ0NDOTQgLyogRGF0YURldGVjdGlvbi5t
bSAqLywKIAkJCQlBMUE0RkU1RDE4REQzREI3MDBCNUVBOEEgLyogRG93bmxvYWQubW0gKi8sCisJ
CQkJQTE1NTAyMjgxRTA1MDIwQjAwQTI0QzU3IC8qIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVy
Q2FsbHMubW0gKi8sCiAJCQkJMkQ4MTA0Q0IxQkVDMTNFNzAwMjBEQTQ2IC8qIEZpbmRJblBhZ2Uu
bW0gKi8sCiAJCQkJMkQxRkUwQUYxQUQ0NjVDMTAwNkNEOUU2IC8qIEZpeGVkTGF5b3V0U2l6ZS5t
bSAqLywKIAkJCQlDRDc4RTExQTFEQjdFQTM2MDAxNEEyREUgLyogRnVsbHNjcmVlbkRlbGVnYXRl
Lm1tICovLApAQCAtMTYyMCw2ICsxNjI2LDcgQEAKIAkJCQk1NzE0RUNCODFDQThCNTg4MDAwNTFB
QzggLyogRG93bmxvYWRSZXF1ZXN0T3JpZ2luYWxVUkwuaHRtbCAqLywKIAkJCQk1NzE0RUNCQzFD
QThDMjE4MDAwNTFBQzggLyogRG93bmxvYWRSZXF1ZXN0T3JpZ2luYWxVUkwyLmh0bWwgKi8sCiAJ
CQkJNTcxNEVDQkExQ0E4QkZEMTAwMDUxQUM4IC8qIERvd25sb2FkUmVxdWVzdE9yaWdpbmFsVVJM
RnJhbWUuaHRtbCAqLywKKwkJCQlBMTU1MDIyQjFFMDUwQkM1MDBBMjRDNTcgLyogZHVwbGljYXRl
LWNvbXBsZXRpb24taGFuZGxlci1jYWxscy5odG1sICovLAogCQkJCTk5ODRGQUNEMUNGRkIwMzgw
MDhEMTk4QyAvKiBlZGl0YWJsZS1ib2R5Lmh0bWwgKi8sCiAJCQkJOTM1NzVDNTUxRDMwMzY2RTAw
MEQ2MDREIC8qIGZvY3VzLWlucHV0cy5odG1sICovLAogCQkJCUY0RjQwNUJBMUQ0QzBDRjgwMDdB
OTcwNyAvKiBmdWxsLXNpemUtYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5odG1sICovLApA
QCAtMjQ3Miw2ICsyNDc5LDcgQEAKIAkJCQk3Q0NFN0VFQTFBNDExQUU2MDA0NDdDNEMgLyogRGlk
Tm90SGFuZGxlS2V5RG93bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VFQjFBNDExQUU2
MDA0NDdDNEMgLyogRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTM3QTIyQUE3MURDQUEyNzIwMEFGQkZDNCAvKiBPYnNlcnZlZFJlbmRlcmlu
Z1Byb2dyZXNzRXZlbnRzQWZ0ZXJDcmFzaC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUExNTUwMjJB
MUUwNTAyMEIwMEEyNEM1NyAvKiBEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkIxQTQxMUE3RTAwNDQ3QzRDIC8qIERPTUhUTUxUYWJs
ZUNlbGxDZWxsQWJvdmUubW0gaW4gU291cmNlcyAqLywKIAkJCQk1QzlFNTY4NTFERjkxNDU0MDBD
OUVFMzMgLyogV2Vic2l0ZVBvbGljaWVzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ1MUEwQzcx
QzhCRjAwQzAwNzY1QzQ1IC8qIERPTUhUTUxWaWRlb0VsZW1lbnRXcmFwcGVyLm1tIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9EdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxscy5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZWIyYzg2YTM5NjBiNjkyMDdjMzBjZDQ3N2FhZDRkOTVhMmVjMmVjCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRHVw
bGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxscy5tbQpAQCAtMCwwICsxLDEzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorCisj
aWYgV0tfQVBJX0VOQUJMRUQKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBv
cnQgIlV0aWxpdGllcy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLVUlEZWxlZ2F0ZVByaXZhdGUuaD4K
KyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dL
SW5wdXREZWxlZ2F0ZS5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCit1c2luZyBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSTsKKworc3RhdGljIGJvb2wgdGVzdEZpbmlzaGVkOworCitAaW50
ZXJmYWNlIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0ZSA6IE5TT2JqZWN0
IDxXS05hdmlnYXRpb25EZWxlZ2F0ZSwgV0tVSURlbGVnYXRlLCBfV0tJbnB1dERlbGVnYXRlPgor
QGVuZAorCitAaW1wbGVtZW50YXRpb24gRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsc0Rl
bGVnYXRlCisKK3N0YXRpYyB2b2lkIGV4cGVjdEV4Y2VwdGlvbih2b2lkICheY29tcGxldGlvbkhh
bmRsZXIpKCkpCit7CisgICAgYm9vbCBleGNlcHRpb25UaHJvd24gPSBmYWxzZTsKKyAgICBAdHJ5
IHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9IEBjYXRjaCAoTlNFeGNlcHRp
b24gKmV4Y2VwdGlvbikgeworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoTlNJbnRlcm5hbEluY29u
c2lzdGVuY3lFeGNlcHRpb24sIGV4Y2VwdGlvbi5uYW1lKTsKKyAgICAgICAgZXhjZXB0aW9uVGhy
b3duID0gdHJ1ZTsKKyAgICB9CisgICAgRVhQRUNUX1RSVUUoZXhjZXB0aW9uVGhyb3duKTsKK30K
KworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gZGVj
aXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpKWRlY2lzaW9u
SGFuZGxlcgoreworICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lB
bGxvdyk7CisKKyAgICBleHBlY3RFeGNlcHRpb24oXiB7CisgICAgICAgIGRlY2lzaW9uSGFuZGxl
cihXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBbGxvdyk7CisgICAgfSk7Cit9CisKKy0gKHZvaWQp
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVz
cG9uc2U6KFdLTmF2aWdhdGlvblJlc3BvbnNlICopbmF2aWdhdGlvblJlc3BvbnNlIGRlY2lzaW9u
SGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kpKWRlY2lzaW9uSGFu
ZGxlcgoreworICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeUFs
bG93KTsKKworICAgIGV4cGVjdEV4Y2VwdGlvbiheIHsKKyAgICAgICAgZGVjaXNpb25IYW5kbGVy
KFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5QWxsb3cpOworICAgIH0pOworfQorCistICh2b2lk
KXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRo
TWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZv
ICopZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKCkpY29tcGxldGlvbkhhbmRsZXIK
K3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworCisgICAgZXhwZWN0RXhjZXB0aW9uKF4gewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0pOworfQorCistICh2b2lkKXdlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNz
YWdlOihOU1N0cmluZyAqKW1lc3NhZ2UgaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilm
cmFtZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIK
K3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcihZRVMpOworCisgICAgZXhwZWN0RXhjZXB0aW9uKF4g
eworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihZRVMpOworICAgIH0pOworfQorCistICh2b2lk
KXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVs
V2l0aFByb21wdDooTlNTdHJpbmcgKilwcm9tcHQgZGVmYXVsdFRleHQ6KE5TU3RyaW5nICopZGVm
YXVsdFRleHQgaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoTlNTdHJpbmcgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25IYW5kbGVy
Cit7CisgICAgY29tcGxldGlvbkhhbmRsZXIobmlsKTsKKworICAgIGV4cGVjdEV4Y2VwdGlvbihe
IHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobmlsKTsKKyAgICB9KTsKK30KKworLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkZWNpZGVEYXRhYmFzZVF1b3RhRm9yU2Vj
dXJpdHlPcmlnaW46KFdLU2VjdXJpdHlPcmlnaW4gKilzZWN1cml0eU9yaWdpbiBjdXJyZW50UXVv
dGE6KHVuc2lnbmVkIGxvbmcgbG9uZyljdXJyZW50UXVvdGEgY3VycmVudE9yaWdpblVzYWdlOih1
bnNpZ25lZCBsb25nIGxvbmcpY3VycmVudE9yaWdpblVzYWdlIGN1cnJlbnREYXRhYmFzZVVzYWdl
Oih1bnNpZ25lZCBsb25nIGxvbmcpY3VycmVudFVzYWdlIGV4cGVjdGVkVXNhZ2U6KHVuc2lnbmVk
IGxvbmcgbG9uZylleHBlY3RlZFVzYWdlIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikodW5zaWdu
ZWQgbG9uZyBsb25nIG5ld1F1b3RhKSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgICBkZWNpc2lvbkhh
bmRsZXIoZXhwZWN0ZWRVc2FnZSk7CisKKyAgICBleHBlY3RFeGNlcHRpb24oXiB7CisgICAgICAg
IGRlY2lzaW9uSGFuZGxlcihleHBlY3RlZFVzYWdlKTsKKyAgICB9KTsKK30KKworLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB3aWxsU3VibWl0Rm9ybVZhbHVlczooTlNEaWN0
aW9uYXJ5ICopdmFsdWVzIHVzZXJPYmplY3Q6KE5TT2JqZWN0PE5TU2VjdXJlQ29kaW5nPiAqKXVz
ZXJPYmplY3Qgc3VibWlzc2lvbkhhbmRsZXI6KHZvaWQgKF4pKCkpc3VibWlzc2lvbkhhbmRsZXIK
K3sKKyAgICBzdWJtaXNzaW9uSGFuZGxlcigpOworCisgICAgZXhwZWN0RXhjZXB0aW9uKF4gewor
ICAgICAgICBzdWJtaXNzaW9uSGFuZGxlcigpOworICAgIH0pOworCisgICAgdGVzdEZpbmlzaGVk
ID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdlYktpdDIsIER1cGxpY2F0ZUNvbXBsZXRpb25I
YW5kbGVyQ2FsbHMpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKV0pOworICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsc0Rl
bGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRl
OmRlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdl
dCgpXTsKKyAgICBbd2ViVmlldyBfc2V0SW5wdXREZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07Cisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiZHVwbGljYXRlLWNvbXBsZXRpb24t
aGFuZGxlci1jYWxscyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RX
ZWJLaXRBUEkucmVzb3VyY2VzIl1dXTsKKworICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsK
K30KKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9kdXBsaWNhdGUtY29tcGxldGlvbi1oYW5kbGVyLWNh
bGxzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9kdXBsaWNh
dGUtY29tcGxldGlvbi1oYW5kbGVyLWNhbGxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU3NDkyYmVkMzYy
NDM2ZjBmZjAyYjFiYTdjNmRiMmIzYTYyZmM1NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2R1cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRs
ZXItY2FsbHMuaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGZvcm0gYWN0
aW9uPSJhYm91dDpibGFuayI+PC9mb3JtPgorPHNjcmlwdD4KKyAgICBhbGVydCgiYWxlcnQiKTsK
KyAgICBjb25maXJtKCJjb25maXJtIik7CisgICAgcHJvbXB0KCJwcm9tcHQiKTsKKyAgICBvcGVu
RGF0YWJhc2UoInRlc3REYXRhYmFzZSIsICIxIiwgInRlc3QgZGF0YWJhc2UiLCAxMDI0KTsKKyAg
ICBkb2N1bWVudC5mb3Jtc1swXS5zdWJtaXQoKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297398</attachid>
            <date>2016-12-17 00:18:55 -0800</date>
            <delta_ts>2016-12-20 13:19:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165992-20161217001800.patch</filename>
            <type>text/plain</type>
            <size>29604</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDY2MTcwMGUzNDUyNmI4
MWQ4ZmQ5MzI1NTgwZTI2ZTAyMDQzYzdhNC4uZGRmZTI4NWUzZDVhMWE4YTYzMmQxNDZmZWJlMjkx
MWQzZGQyYjdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE2LTEyLTE2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFJFR1JFU1NJT04g
KHIyMDk1NTgpOiBDYWxsaW5nIGRlY2lzaW9uSGFuZGxlciBtdWx0aXBsZSB0aW1lcyBpbiB3ZWJW
aWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOiBsZWFk
cyB0byBhIGNyYXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjU5OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5NjkzODE3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIyMDk1NTggYWRkZWQgYWRk
aXRpb25hbCBtb3ZlIHNlbWFudGljcyB0byB0aGUgZGVjaXNpb25IYW5kbGVyIGJsb2NrIHBhc3Nl
ZCB0bworICAgICAgICAtd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOmRl
Y2lzaW9uSGFuZGxlcjosIHJlc3VsdGluZyBpbiBhIG51bGwgcG9pbnRlcgorICAgICAgICBkZXJl
ZmVyZW5jZSBpbiBjbGllbnRzIHRoYXQgY2FsbCB0aGUgZGVjaXNpb25IYW5kbGVyIGJsb2NrIG1v
cmUgdGhhbiBvbmNlLgorCisgICAgICAgIE5vbmUgb2YgdGhlIGNvbXBsZXRpb24gaGFuZGxlcnMg
d2UgZXhwb3NlIGluIHRoZSBXZWJLaXQgQVBJIGFyZSBpbnRlbmRlZCB0byBiZSBjYWxsZWQgbW9y
ZQorICAgICAgICB0aGFuIG9uY2UsIGFuZCB3ZSBBU1NFUlQgaW4gQ29tcGxldGlvbkhhbmRsZXJD
YWxsQ2hlY2tlcjo6ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCkgdGhhdAorICAgICAgICB0aGlz
IGRvZXNuJ3QgaGFwcGVuLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHN0cmVuZ2h0ZW5zIHRoYXQg
cHJvdGVjdGlvbiBieSByZXR1cm5pbmcgaW1tZWRpYXRlbHkgaW4gY29tcGxldGlvbiBoYW5kbGVy
cworICAgICAgICBjYWxsZWQgbW9yZSB0aGFuIG9uY2UuIEFuZCBpbiBwcm9ncmFtcyBsaW5rZWQg
b24gb3IgYWZ0ZXIgV2ViS2l0IDYwMy4xLjE3LCBhbiBOU0V4Y2VwdGlvbiBpcworICAgICAgICB0
aHJvd24gaWYgYSBjb21wbGV0aW9uIGhhbmRsZXIgaXMgY2FsbGVkIGEgc2Vjb25kIHRpbWUsIGxp
a2Ugd2UgZG8gZm9yIGNvbXBsZXRpb24gaGFuZGxlcnMKKyAgICAgICAgdGhhdCBhcmUgbmV2ZXIg
Y2FsbGVkLgorCisgICAgICAgIE5ldyBBUEkgdGVzdDogV2ViS2l0Mi5EdXBsaWNhdGVDb21wbGV0
aW9uSGFuZGxlckNhbGxzCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRs
ZXJDYWxsQ2hlY2tlci5oOiBEZWNsYXJlZCBjb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQo
KS4KKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5t
bToKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkVGhyb3dFeGNlcHRpb25Gb3JEdXBsaWNhdGVDb21w
bGV0aW9uSGFuZGxlckNhbGwpOiBBZGRlZC4gUmV0dXJucyB0cnVlIGlmIHRoZQorICAgICAgICBw
cm9ncmFtIGlzIGxpbmtlZCBvbiBvciBhZnRlcgorICAgICAgICBMaWJyYXJ5VmVyc2lvbjo6Rmly
c3RXaXRoRXhjZXB0aW9uc0ZvckR1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMuCisgICAg
ICAgIChXZWJLaXQ6OkNvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNvbXBsZXRpb25IYW5k
bGVySGFzQmVlbkNhbGxlZCk6IEFkZGVkLiBSZXR1cm5zCisgICAgICAgIHdoZXRoZXIgb3Igbm90
IHRoZSBjb21wbGV0aW9uIGhhbmRsZXIgaGFzIGJlZW4gY2FsbGVkLiBJZiBpdCBoYXMsIGFuZAor
ICAgICAgICBzaG91bGRUaHJvd0V4Y2VwdGlvbkZvckR1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVy
Q2FsbCgpIHJldHVybnMgdHJ1ZSwgdGhyb3dzIGFuCisgICAgICAgIE5TSW50ZXJuYWxJbmNvbnNp
c3RlbmN5RXhjZXB0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldElucHV0RGVsZWdhdGU6XSk6IEFkZGVkIGFu
IGVhcmx5IHJldHVybiBpZiB0aGUgY29tcGxldGlvbiBoYW5kbGVyIGhhcworICAgICAgICBhbHJl
YWR5IGJlZW4gY2FsbGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVu
dDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6IERpdHRvLgorICAgICAgICAoV2Vi
S2l0OjpOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25SZXNwb25zZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3Rh
dGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk6
IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAg
ICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6cnVuSmF2YVNjcmlwdEFsZXJ0KTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5KYXZhU2NyaXB0
Q29uZmlybSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6
cnVuSmF2YVNjcmlwdFByb21wdCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRl
OjpVSUNsaWVudDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKTogRGl0dG8uCisgICAgICAgIChXZWJL
aXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwpOiBEaXR0by4KKyAgICAgICAg
KFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3Jp
Z2luUXVvdGEpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNr
cy5oOiBBZGRlZAorICAgICAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVwbGljYXRlQ29tcGxl
dGlvbkhhbmRsZXJDYWxscyB3aXRoIHRoZSB2ZXJzaW9uIG51bWJlciBmb3IgNjAzLjEuMTcuCisK
IDIwMTYtMTItMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
RGVsZXRpbmcgYSBjaGFyYWN0ZXIgY29udmVydGVkIGZyb20gcGlueWluIGFmdGVyIGFuIGltYWdl
IGNhdXNlcyBhIFNhZmFyaSBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0NvY29hL0NvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Db2NvYS9Db21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLmgKaW5kZXggODYwNzU5OWQ0
MGQyMmQ0YjVmNTAxMGRkODhmMWNjMzdlZDFiMmI4My4uMDUyMjMzNDRlZWIwYzJkM2RhMzdhNGI4
MTA3MzY1NTUxN2QyZjU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29h
L0NvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5oCkBAIC0zOSw2ICszOSw3IEBA
IHB1YmxpYzoKICAgICB+Q29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcigpOwogCiAgICAgdm9p
ZCBkaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBib29sIGNvbXBsZXRpb25IYW5kbGVy
SGFzQmVlbkNhbGxlZCgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIENvbXBsZXRpb25IYW5kbGVy
Q2FsbENoZWNrZXIoQ2xhc3MgZGVsZWdhdGVDbGFzcywgU0VMIGRlbGVnYXRlTWV0aG9kU2VsZWN0
b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29hL0NvbXBsZXRpb25I
YW5kbGVyQ2FsbENoZWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQ29tcGxl
dGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5tbQppbmRleCA0NGY4Mjk1M2VmMjk5ZmViODg4ODQ4YWZk
YWJiOGJlMDg1YzQwNzkxLi4xY2NjMTJmMjIzNGVmN2E5NWI1OTM5OTI5ODc2OThmYTU0MmNhNzQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQ29tcGxldGlvbkhhbmRs
ZXJDYWxsQ2hlY2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQ29tcGxl
dGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaWYgV0tfQVBJX0VO
QUJMRUQKIAorI2ltcG9ydCA8bXV0ZXg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBv
cnQgPHd0Zi9SZWYuaD4KKyNpbXBvcnQgIlZlcnNpb25DaGVja3MuaCIKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKQEAgLTYwLDYgKzYyLDI5IEBAIHZvaWQgQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hl
Y2tlcjo6ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCkKICAgICBtX2RpZENhbGxDb21wbGV0aW9u
SGFuZGxlciA9IHRydWU7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZFRocm93RXhjZXB0aW9uRm9y
RHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsKCkKK3sKKyAgICBzdGF0aWMgYm9vbCBzaG91
bGRUaHJvd0V4Y2VwdGlvbjsKKyAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZTsKKyAgICBz
dGQ6OmNhbGxfb25jZShvbmNlLCBbXSB7CisgICAgICAgIHNob3VsZFRocm93RXhjZXB0aW9uID0g
bGlua2VkT25PckFmdGVyKExpYnJhcnlWZXJzaW9uOjpGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVw
bGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxscyk7CisgICAgfSk7CisgICAgcmV0dXJuIHNob3Vs
ZFRocm93RXhjZXB0aW9uOworfQorCitib29sIENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6
OmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Rp
ZENhbGxDb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KHNob3VsZFRocm93RXhjZXB0aW9uRm9yRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsKCkp
IHsKKyAgICAgICAgQ2xhc3MgZGVsZWdhdGVDbGFzcyA9IGNsYXNzSW1wbGVtZW50aW5nRGVsZWdh
dGVNZXRob2QoKTsKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW50ZXJuYWxJbmNvbnNp
c3RlbmN5RXhjZXB0aW9uIGZvcm1hdDpAIkNvbXBsZXRpb24gaGFuZGxlciBwYXNzZWQgdG8gJWNb
JUAgJUBdIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiLCBjbGFzc19pc01ldGFDbGFzcyhkZWxl
Z2F0ZUNsYXNzKSA/ICcrJyA6ICctJywgTlNTdHJpbmdGcm9tQ2xhc3MoZGVsZWdhdGVDbGFzcyks
IE5TU3RyaW5nRnJvbVNlbGVjdG9yKG1fZGVsZWdhdGVNZXRob2RTZWxlY3RvcildOworICAgIH0K
KworICAgIHJldHVybiB0cnVlOworfQorCiBDbGFzcyBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVj
a2VyOjpjbGFzc0ltcGxlbWVudGluZ0RlbGVnYXRlTWV0aG9kKCkgY29uc3QKIHsKICAgICBDbGFz
cyBkZWxlZ2F0ZUNsYXNzID0gbV9kZWxlZ2F0ZUNsYXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjMTFhYmIzOTZhMTVmYjIyMWM0
MGJlMWVkYzRmZmE0YjFlZDk2YzAzLi5jMTZmOTYwNGM1N2Q2NzQyZjdmOTY0OTc2ZjhkNTdiZjll
MGJlNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQpAQCAtMzg4NSw2ICszODg1LDggQEAgLSAodm9pZClfc2V0SW5wdXREZWxlZ2F0ZToo
aWQgPF9XS0lucHV0RGVsZWdhdGU+KWlucHV0RGVsZWdhdGUKICAgICAgICAgICAgIFJlZlB0cjxX
ZWJLaXQ6OldlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eT4gbG9jYWxMaXN0ZW5lciA9IFdU
Rk1vdmUobGlzdGVuZXIpOwogICAgICAgICAgICAgUmVmUHRyPFdlYktpdDo6Q29tcGxldGlvbkhh
bmRsZXJDYWxsQ2hlY2tlcj4gY2hlY2tlciA9IFdlYktpdDo6Q29tcGxldGlvbkhhbmRsZXJDYWxs
Q2hlY2tlcjo6Y3JlYXRlKGlucHV0RGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcihfd2ViVmlldzp3
aWxsU3VibWl0Rm9ybVZhbHVlczp1c2VyT2JqZWN0OnN1Ym1pc3Npb25IYW5kbGVyOikpOwogICAg
ICAgICAgICAgW2lucHV0RGVsZWdhdGUgX3dlYlZpZXc6bV93ZWJWaWV3IHdpbGxTdWJtaXRGb3Jt
VmFsdWVzOnZhbHVlTWFwLmdldCgpIHVzZXJPYmplY3Q6dXNlck9iamVjdCBzdWJtaXNzaW9uSGFu
ZGxlcjpbbG9jYWxMaXN0ZW5lciwgY2hlY2tlcl0geworICAgICAgICAgICAgICAgIGlmIChjaGVj
a2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFu
ZGxlcigpOwogICAgICAgICAgICAgICAgIGxvY2FsTGlzdGVuZXItPmNvbnRpbnVlU3VibWlzc2lv
bigpOwogICAgICAgICAgICAgfV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCAxYzdiMGIyY2MxOTFlZDM2YTEzMTFiMTQxZmJh
YzkwZjU2MDExYTJjLi45NzI2YjY0NDhlMThmMDk5OWI3NmI0Mzk3ZTZkZjE4ZjU5Yzk5ODJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUu
bW0KQEAgLTMzNyw2ICszMzcsOCBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNs
aWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXZWJQYWdlUAogICAgIFJlZlB0
cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyPiBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRs
ZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKSwgZGVsZWdhdGVI
YXNXZWJzaXRlUG9saWNpZXMgPyBAc2VsZWN0b3IoX3dlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRsZXI6KSA6IEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOikpOwogICAgIAogICAg
IGF1dG8gZGVjaXNpb25IYW5kbGVyV2l0aFBvbGljaWVzID0gW2xvY2FsTGlzdGVuZXIgPSBSZWZQ
dHI8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PihXVEZNb3ZlKGxpc3RlbmVyKSksIGxvY2Fs
TmF2aWdhdGlvbkFjdGlvbiA9IFJlZlB0cjxBUEk6Ok5hdmlnYXRpb25BY3Rpb24+KCZuYXZpZ2F0
aW9uQWN0aW9uKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlciksIG1haW5GcmFtZVVSTFN0cmlu
Z10oV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5IGFjdGlvblBvbGljeSwgX1dLV2Vic2l0ZVBvbGlj
aWVzICp3ZWJzaXRlUG9saWNpZXMpIG11dGFibGUgeworICAgICAgICBpZiAoY2hlY2tlci0+Y29t
cGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIGNoZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogCiAgICAgICAgIFdlYnNp
dGVQb2xpY2llcyBwb2xpY2llczsKQEAgLTQxMiw2ICs0MTQsOCBAQCB2b2lkIE5hdmlnYXRpb25T
dGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNl
KFdlYlBhZwogICAgIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IGxvY2FsTGlz
dGVuZXIgPSBXVEZNb3ZlKGxpc3RlbmVyKTsKICAgICBSZWZQdHI8Q29tcGxldGlvbkhhbmRsZXJD
YWxsQ2hlY2tlcj4gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0
ZShuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCksIEBzZWxlY3Rvcih3ZWJWaWV3OmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25SZXNwb25zZTpkZWNpc2lvbkhhbmRsZXI6KSk7CiAgICAgW25hdmlnYXRp
b25EZWxlZ2F0ZSB3ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6d3JhcHBlcihuYXZpZ2F0aW9uUmVzcG9uc2UpIGRlY2lz
aW9uSGFuZGxlcjpbbG9jYWxMaXN0ZW5lciwgY2hlY2tlcl0oV0tOYXZpZ2F0aW9uUmVzcG9uc2VQ
b2xpY3kgcmVzcG9uc2VQb2xpY3kpIHsKKyAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25I
YW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjaGVj
a2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKIAogICAgICAgICBzd2l0Y2ggKHJlc3Bv
bnNlUG9saWN5KSB7CkBAIC02NDcsNiArNjUxLDggQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5h
dmlnYXRpb25DbGllbnQ6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJQYWcK
ICAgICAgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBD
b21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUobmF2aWdhdGlvbkRlbGVnYXRlLmdl
dCgpLCBAc2VsZWN0b3Iod2ViVmlldzpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6
Y29tcGxldGlvbkhhbmRsZXI6KSk7CiAgICAgICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tOYXZpZ2F0
aW9uRGVsZWdhdGVQcml2YXRlPj4obmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpKSB3ZWJWaWV3Om1f
bmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2U6d3JhcHBlcigqYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpCiAgICAgICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcjpbY2hhbGxlbmdlLCBjaGVja2VyXShOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdl
RGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIE5TVVJMQ3JlZGVudGlhbCAqY3JlZGVudGlhbCkgewor
ICAgICAgICAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxs
ZWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGNoZWNr
ZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogCiAgICAgICAgICAgICAgICAgc3dpdGNo
IChkaXNwb3NpdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5tbQppbmRleCBhMDhlOTkxZGVhNjgzYTQwNTVmMDU0ZmZlM2QyMzU5YWYyYWM2MzFjLi4y
MmE2MzliNTg2ZWQ2M2UxNDI4MGFjYzk3YzA4OTAwYzljNGNkZWY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE0LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMTYsNiArMjE2LDggQEAgdm9pZCBV
SURlbGVnYXRlOjpVSUNsaWVudDo6cnVuSmF2YVNjcmlwdEFsZXJ0KFdlYktpdDo6V2ViUGFnZVBy
b3h5KiwgY29uc3QgV1RGOjoKIAogICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVj
a2VyPiBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVn
YXRlLmdldCgpLCBAc2VsZWN0b3Iod2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhN
ZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KSk7CiAgICAgW2RlbGVn
YXRlIHdlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBydW5KYXZhU2NyaXB0QWxlcnRQYW5l
bFdpdGhNZXNzYWdlOm1lc3NhZ2UgaW5pdGlhdGVkQnlGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJ
bmZvOjpjcmVhdGUoKndlYkZyYW1lUHJveHksIHNlY3VyaXR5T3JpZ2luRGF0YS5zZWN1cml0eU9y
aWdpbigpKSkgY29tcGxldGlvbkhhbmRsZXI6QmxvY2tQdHI8dm9pZCAoKT46OmZyb21DYWxsYWJs
ZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgY2hlY2tl
ciA9IFdURk1vdmUoY2hlY2tlcildIHsKKyAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25I
YW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcigpOwogICAgICAgICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRs
ZXIoKTsKICAgICB9KS5nZXQoKV07CkBAIC0yMzYsNiArMjM4LDggQEAgdm9pZCBVSURlbGVnYXRl
OjpVSUNsaWVudDo6cnVuSmF2YVNjcmlwdENvbmZpcm0oV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBj
b25zdCBXVEYKIAogICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyPiBjaGVj
a2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVnYXRlLmdldCgp
LCBAc2VsZWN0b3Iod2ViVmlldzpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6
aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjopKTsKICAgICBbZGVsZWdhdGUgd2Vi
VmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRo
TWVzc2FnZTptZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6d3JhcHBlcihBUEk6OkZyYW1lSW5mbzo6
Y3JlYXRlKCp3ZWJGcmFtZVByb3h5LCBzZWN1cml0eU9yaWdpbkRhdGEuc2VjdXJpdHlPcmlnaW4o
KSkpIGNvbXBsZXRpb25IYW5kbGVyOkJsb2NrUHRyPHZvaWQgKEJPT0wpPjo6ZnJvbUNhbGxhYmxl
KFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBjaGVja2Vy
ID0gV1RGTW92ZShjaGVja2VyKV0oQk9PTCByZXN1bHQpIHsKKyAgICAgICAgaWYgKGNoZWNrZXIt
PmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihyZXN1bHQpOwogICAgICAgICBjaGVja2VyLT5kaWRD
YWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KS5nZXQoKV07CkBAIC0yNTYsNiArMjYwLDgg
QEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cnVuSmF2YVNjcmlwdFByb21wdChXZWJLaXQ6
OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjoKIAogICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyPiBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3Jl
YXRlKGRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3Iod2ViVmlldzpydW5KYXZhU2NyaXB0VGV4dElu
cHV0UGFuZWxXaXRoUHJvbXB0OmRlZmF1bHRUZXh0OmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlv
bkhhbmRsZXI6KSk7CiAgICAgW2RlbGVnYXRlIHdlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmll
dyBydW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0Om1lc3NhZ2UgZGVmYXVsdFRl
eHQ6ZGVmYXVsdFZhbHVlIGluaXRpYXRlZEJ5RnJhbWU6d3JhcHBlcihBUEk6OkZyYW1lSW5mbzo6
Y3JlYXRlKCp3ZWJGcmFtZVByb3h5LCBzZWN1cml0eU9yaWdpbkRhdGEuc2VjdXJpdHlPcmlnaW4o
KSkpIGNvbXBsZXRpb25IYW5kbGVyOkJsb2NrUHRyPHZvaWQgKE5TU3RyaW5nICopPjo6ZnJvbUNh
bGxhYmxlKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBj
aGVja2VyID0gV1RGTW92ZShjaGVja2VyKV0oTlNTdHJpbmcgKnJlc3VsdCkgeworICAgICAgICBp
ZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CiAgICAgICAgIGNo
ZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH0pLmdldCgpXTsKQEAgLTI4
MSw2ICsyODcsOCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpleGNlZWRlZERhdGFiYXNl
UXVvdGEoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosCiAgICAgQVNTRVJUKHNlY3VyaXR5
T3JpZ2luKTsKICAgICBSZWZQdHI8Q29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcj4gY2hlY2tl
ciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwg
QHNlbGVjdG9yKF93ZWJWaWV3OmRlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjpj
dXJyZW50UXVvdGE6Y3VycmVudE9yaWdpblVzYWdlOmN1cnJlbnREYXRhYmFzZVVzYWdlOmV4cGVj
dGVkVXNhZ2U6ZGVjaXNpb25IYW5kbGVyOikpOwogICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZh
dGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgZGVjaWRlRGF0YWJh
c2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOndyYXBwZXIoKnNlY3VyaXR5T3JpZ2luKSBjdXJyZW50
UXVvdGE6Y3VycmVudFF1b3RhIGN1cnJlbnRPcmlnaW5Vc2FnZTpjdXJyZW50T3JpZ2luVXNhZ2Ug
Y3VycmVudERhdGFiYXNlVXNhZ2U6Y3VycmVudFVzYWdlIGV4cGVjdGVkVXNhZ2U6ZXhwZWN0ZWRV
c2FnZSBkZWNpc2lvbkhhbmRsZXI6QmxvY2tQdHI8dm9pZCAodW5zaWduZWQgbG9uZyBsb25nIG5l
d1F1b3RhKT46OmZyb21DYWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildKHVuc2lnbmVkIGxvbmcg
bG9uZyBuZXdRdW90YSkgeworICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJI
YXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNoZWNrZXItPmRp
ZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihuZXdR
dW90YSk7CiAgICAgfSkuZ2V0KCldOwpAQCAtMzAyLDYgKzMxMCw4IEBAIGJvb2wgVUlEZWxlZ2F0
ZTo6VUlDbGllbnQ6OnJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiB3
ZWJGcmFtZVByCiAgICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNr
ZXIgPSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUuZ2V0KCks
IEBzZWxlY3Rvcih3ZWJWaWV3OnJ1bk9wZW5QYW5lbFdpdGhQYXJhbWV0ZXJzOmluaXRpYXRlZEJ5
RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KSk7CiAKICAgICBbZGVsZWdhdGUgd2ViVmlldzptX3Vp
RGVsZWdhdGUubV93ZWJWaWV3IHJ1bk9wZW5QYW5lbFdpdGhQYXJhbWV0ZXJzOndyYXBwZXIoKm9w
ZW5QYW5lbFBhcmFtZXRlcnMpIGluaXRpYXRlZEJ5RnJhbWU6d3JhcHBlcihmcmFtZSkgY29tcGxl
dGlvbkhhbmRsZXI6W2NoZWNrZXIsIHJlc3VsdExpc3RlbmVyXShOU0FycmF5ICpVUkxzKSB7Cisg
ICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5k
bGVyKCk7CiAKICAgICAgICAgaWYgKCFVUkxzKSB7CkBAIC00NjAsNiArNDcwLDggQEAgdm9pZCBV
SURlbGVnYXRlOjpVSUNsaWVudDo6cmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShX
ZWJQYWdlUHJveHkqLCBjb24KICAgICBSZWZQdHI8QVBJOjpTZWN1cml0eU9yaWdpbj4gYXBpT3Jp
Z2luID0gQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5T3JpZ2luKTsKICAgICAK
ICAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVs
ZWdhdGUubV93ZWJWaWV3IGRlY2lkZVdlYkFwcGxpY2F0aW9uQ2FjaGVRdW90YUZvclNlY3VyaXR5
T3JpZ2luOndyYXBwZXIoKmFwaU9yaWdpbikgY3VycmVudFF1b3RhOmN1cnJlbnRRdW90YSB0b3Rh
bEJ5dGVzTmVlZGVkOnRvdGFsQnl0ZXNOZWVkZWQgZGVjaXNpb25IYW5kbGVyOkJsb2NrUHRyPHZv
aWQgKHVuc2lnbmVkIGxvbmcgbG9uZyk+Ojpmcm9tQ2FsbGFibGUoW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIp
XSh1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGEpIHsKKyAgICAgICAgaWYgKGNoZWNrZXItPmNv
bXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIobmV3UXVvdGEpOwogICAgIH0pLmdldCgpXTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WZXJzaW9uQ2hlY2tzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oCmluZGV4IGZhNTA0NDIwZDdlNDJhYzg2
ODJhZWJjMWE1MjE2ODA5NjRkZWQxYTAuLjA4NTkzYmY3NGI3NTRlNWUwNTAzNzlmOGZlYWZlNjg4
ZTVmMDQ2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WZXJz
aW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZlcnNpb25D
aGVja3MuaApAQCAtMjMsOCArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLSNpZm5kZWYgVmVyc2lvbkNoZWNrc19oCi0jZGVmaW5lIFZlcnNpb25DaGVj
a3NfaAorI3ByYWdtYSBvbmNlCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00MCwxMCArMzks
OSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGVudW0gY2xhc3MgTGlicmFyeVZlcnNpb24gewogICAg
IEZpcnN0V2l0aE5ldHdvcmtDYWNoZSA9IDB4MDI1OTAxMTYsIC8vIDYwMS4xLjIyCiAgICAgRmly
c3RXaXRoTWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IDB4MDI1QTAx
MjEsIC8vIDYwMi4xLjMzCisgICAgRmlyc3RXaXRoRXhjZXB0aW9uc0ZvckR1cGxpY2F0ZUNvbXBs
ZXRpb25IYW5kbGVyQ2FsbHMgPSAweDAyNUIwMTExLCAvLyA2MDMuMS4xNwogfTsKIAogYm9vbCBs
aW5rZWRPbk9yQWZ0ZXIoTGlicmFyeVZlcnNpb24pOwogCiB9Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg0YWY1Nzc5MWY5ODRh
OGExYjcyNjk0N2FmYzE0NmVhYTU1MTQzNjkuLmNmZGQyYmI5Y2MzMWZmMGIxMDVmZmFiMDFjN2Nj
YTg0OTNhYzc4MWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNi0xMi0xNiAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBSRUdSRVNTSU9OIChyMjA5NTU4KTogQ2FsbGlu
ZyBkZWNpc2lvbkhhbmRsZXIgbXVsdGlwbGUgdGltZXMgaW4gd2ViVmlldzpkZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uOmRlY2lzaW9uSGFuZGxlcjogbGVhZHMgdG8gYSBjcmFzaAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1OTkyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9EdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxl
ckNhbGxzLm1tOiBBZGRlZC4KKyAgICAgICAgKGV4cGVjdEV4Y2VwdGlvbik6CisgICAgICAgICgt
W0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0ZSB3ZWJWaWV3OmRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtE
dXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzRGVsZWdhdGUgd2ViVmlldzpkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2U6ZGVjaXNpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtE
dXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzRGVsZWdhdGUgd2ViVmlldzpydW5KYXZhU2Ny
aXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgICgtW0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0
ZSB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2FnZTppbml0aWF0ZWRC
eUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtEdXBsaWNhdGVDb21wbGV0
aW9uSGFuZGxlckNhbGxzRGVsZWdhdGUgd2ViVmlldzpydW5KYXZhU2NyaXB0VGV4dElucHV0UGFu
ZWxXaXRoUHJvbXB0OmRlZmF1bHRUZXh0OmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgICgtW0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0
ZSBfd2ViVmlldzpkZWNpZGVEYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW46Y3VycmVudFF1
b3RhOmN1cnJlbnRPcmlnaW5Vc2FnZTpjdXJyZW50RGF0YWJhc2VVc2FnZTpleHBlY3RlZFVzYWdl
OmRlY2lzaW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bRHVwbGljYXRlQ29tcGxldGlvbkhhbmRs
ZXJDYWxsc0RlbGVnYXRlIF93ZWJWaWV3OndpbGxTdWJtaXRGb3JtVmFsdWVzOnVzZXJPYmplY3Q6
c3VibWlzc2lvbkhhbmRsZXI6XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9kdXBsaWNhdGUtY29tcGxldGlvbi1oYW5kbGVyLWNh
bGxzLmh0bWw6IEFkZGVkLgorCiAyMDE2LTEyLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIERlbGV0aW5nIGEgY2hhcmFjdGVyIGNvbnZlcnRlZCBmcm9tIHBp
bnlpbiBhZnRlciBhbiBpbWFnZSBjYXVzZXMgYSBTYWZhcmkgY3Jhc2gKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggMjQ2ZGQyYmVjMmMwNDM5MjEzZDc3YWE2ZjczN2QyMjQxYjVkMDY5MS4uZjYx
ZDBhYjUyZWMzNjY0NWYzYmI4Y2ZkYjVmYmEzODUzOWQxNWZlOCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTQ2Miw2ICs0NjIsOCBAQAogCQlBMTRGQzU4ODFCODk5MUJGMDBEMTA3RUIgLyog
Q29udGVudEZpbHRlcmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExNEZDNTg2MUI4OTkxQjYwMEQxMDdFQiAvKiBDb250ZW50RmlsdGVyaW5nLm1t
ICovOyB9OwogCQlBMTRGQzU4QjFCODk5MjcxMDBEMTA3RUIgLyogQ29udGVudEZpbHRlcmluZ1Bs
dWdJbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
NEZDNTg5MUI4OTkyNzEwMEQxMDdFQiAvKiBDb250ZW50RmlsdGVyaW5nUGx1Z0luLm1tICovOyB9
OwogCQlBMTRGQzU5MDFCOEFFMzZGMDBEMTA3RUIgLyogVGVzdFByb3RvY29sLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0RkM1OEUxQjhBRTM2NTAw
RDEwN0VCIC8qIFRlc3RQcm90b2NvbC5tbSAqLzsgfTsKKwkJQTE1NTAyMkExRTA1MDIwQjAwQTI0
QzU3IC8qIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTU1MDIyODFFMDUwMjBCMDBBMjRDNTcg
LyogRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxscy5tbSAqLzsgfTsKKwkJQTE1NTAyMkMx
RTA1MEQwMzAwQTI0QzU3IC8qIGR1cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRsZXItY2FsbHMuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MTU1MDIyQjFFMDUwQkM1MDBBMjRDNTcgLyogZHVwbGljYXRlLWNvbXBsZXRpb24taGFuZGxlci1j
YWxscy5odG1sICovOyB9OwogCQlBMTZGNjZCQTFDNDBFQjRGMDBCRDREMjQgLyogQ29udGVudEZp
bHRlcmluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExNkY2NkI5MUM0MEVBMjAwMEJENEQyNCAvKiBDb250ZW50RmlsdGVyaW5nLmh0
bWwgKi87IH07CiAJCUExQzRGQjczMUJBQ0QxQ0EwMDM3NDJEMCAvKiBwYWdlcy5wYWdlcyBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUM0RkI3
MjFCQUNEMUI3MDAzNzQyRDAgLyogcGFnZXMucGFnZXMgKi87IH07CiAJCUExREY3NDMyMUM0MUI2
NTgwMEEyRjREMCAvKiBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURGNzQzMDFDNDFCNjU4MDBBMkY0
RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1tICovOyB9OwpAQCAtNTk1LDYgKzU5
Nyw3IEBACiAJCQlkc3RTdWJmb2xkZXJTcGVjID0gNzsKIAkJCWZpbGVzID0gKAogCQkJCTlCRDQy
MzlDMUUwNEMwMUMwMDIwMDM5NSAvKiBjaGluZXNlLWNoYXJhY3Rlci13aXRoLWltYWdlLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQTE1NTAyMkMxRTA1MEQwMzAwQTI0QzU3IC8qIGR1
cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRsZXItY2FsbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQk1MTEwRkNGOTFFMDFDRDhBMDA2RjhEMEIgLyogSW5kZXhVcGdyYWRlLmJsb2IgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTExMEZDRjYxRTAxQ0Q4MzAwNkY4RDBCIC8qIEluZGV4
VXBncmFkZS5zcWxpdGUzIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxMTBGQ0YxMUUwMUNE
NjQwMDZGOEQwQiAvKiBJREJJbmRleFVwZ3JhZGVUb1YyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCkBAIC0xMTM2LDYgKzExMzksOCBAQAogCQlBMTRGQzU4OTFCODk5MjcxMDBEMTA3RUIgLyog
Q29udGVudEZpbHRlcmluZ1BsdWdJbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IENvbnRlbnRGaWx0ZXJpbmdQbHVnSW4ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExNEZDNThEMUI4QUUzNjUwMEQxMDdFQiAvKiBUZXN0UHJvdG9jb2wuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVzdFByb3RvY29sLmg7IHBhdGggPSBjb2Nv
YS9UZXN0UHJvdG9jb2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE0RkM1OEUx
QjhBRTM2NTAwRDEwN0VCIC8qIFRlc3RQcm90b2NvbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgbmFtZSA9IFRlc3RQcm90b2NvbC5tbTsgcGF0aCA9IGNvY29hL1Rlc3RQcm90
b2NvbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE1NTAyMjgxRTA1MDIwQjAw
QTI0QzU3IC8qIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNh
bGxzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTU1MDIyQjFFMDUwQkM1MDBB
MjRDNTcgLyogZHVwbGljYXRlLWNvbXBsZXRpb24taGFuZGxlci1jYWxscy5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gImR1cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRsZXItY2FsbHMu
aHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNkY2NkI5MUM0MEVBMjAwMEJE
NEQyNCAvKiBDb250ZW50RmlsdGVyaW5nLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGgg
PSBDb250ZW50RmlsdGVyaW5nLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEx
OEFBOENDMUMzRkEyMTgwMDlCMkI5NyAvKiBDb250ZW50RmlsdGVyaW5nLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRGaWx0ZXJpbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTFBNEZFNUQxOEREM0RCNzAwQjVFQThBIC8qIERvd25sb2FkLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRG93bmxvYWQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDYxLDYgKzE0NjYsNyBAQAogCQkJCTVDMjkzNjkx
MUQ1QkY2M0UwMERFQUIxRSAvKiBDb29raWVBY2NlcHRQb2xpY3kubW0gKi8sCiAJCQkJMkRDNENG
NzYxRDJEOUREODAwRUNDQzk0IC8qIERhdGFEZXRlY3Rpb24ubW0gKi8sCiAJCQkJQTFBNEZFNUQx
OEREM0RCNzAwQjVFQThBIC8qIERvd25sb2FkLm1tICovLAorCQkJCUExNTUwMjI4MUUwNTAyMEIw
MEEyNEM1NyAvKiBEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzLm1tICovLAogCQkJCTJE
ODEwNENCMUJFQzEzRTcwMDIwREE0NiAvKiBGaW5kSW5QYWdlLm1tICovLAogCQkJCTJEMUZFMEFG
MUFENDY1QzEwMDZDRDlFNiAvKiBGaXhlZExheW91dFNpemUubW0gKi8sCiAJCQkJQ0Q3OEUxMUEx
REI3RUEzNjAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5tbSAqLywKQEAgLTE2MjUsNiAr
MTYzMSw3IEBACiAJCQkJNTcxNEVDQjgxQ0E4QjU4ODAwMDUxQUM4IC8qIERvd25sb2FkUmVxdWVz
dE9yaWdpbmFsVVJMLmh0bWwgKi8sCiAJCQkJNTcxNEVDQkMxQ0E4QzIxODAwMDUxQUM4IC8qIERv
d25sb2FkUmVxdWVzdE9yaWdpbmFsVVJMMi5odG1sICovLAogCQkJCTU3MTRFQ0JBMUNBOEJGRDEw
MDA1MUFDOCAvKiBEb3dubG9hZFJlcXVlc3RPcmlnaW5hbFVSTEZyYW1lLmh0bWwgKi8sCisJCQkJ
QTE1NTAyMkIxRTA1MEJDNTAwQTI0QzU3IC8qIGR1cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRsZXIt
Y2FsbHMuaHRtbCAqLywKIAkJCQk5OTg0RkFDRDFDRkZCMDM4MDA4RDE5OEMgLyogZWRpdGFibGUt
Ym9keS5odG1sICovLAogCQkJCTkzNTc1QzU1MUQzMDM2NkUwMDBENjA0RCAvKiBmb2N1cy1pbnB1
dHMuaHRtbCAqLywKIAkJCQlGNEY0MDVCQTFENEMwQ0Y4MDA3QTk3MDcgLyogZnVsbC1zaXplLWF1
dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywKQEAgLTI0NzksNiArMjQ4Niw3IEBA
CiAJCQkJN0NDRTdFRUExQTQxMUFFNjAwNDQ3QzRDIC8qIERpZE5vdEhhbmRsZUtleURvd24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRUIxQTQxMUFFNjAwNDQ3QzRDIC8qIERvY3VtZW50
U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0EyMkFB
NzFEQ0FBMjcyMDBBRkJGQzQgLyogT2JzZXJ2ZWRSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0FmdGVy
Q3Jhc2gubW0gaW4gU291cmNlcyAqLywKKwkJCQlBMTU1MDIyQTFFMDUwMjBCMDBBMjRDNTcgLyog
RHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxscy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdD
Q0U3RUJCMUE0MTFBN0UwMDQ0N0M0QyAvKiBET01IVE1MVGFibGVDZWxsQ2VsbEFib3ZlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNUM5RTU2ODUxREY5MTQ1NDAwQzlFRTMzIC8qIFdlYnNpdGVQb2xp
Y2llcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENTFBMEM3MUM4QkYwMEMwMDc2NUM0NSAvKiBE
T01IVE1MVmlkZW9FbGVtZW50V3JhcHBlci5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRHVwbGljYXRlQ29tcGxldGlv
bkhhbmRsZXJDYWxscy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmViMmM4NmEz
OTYwYjY5MjA3YzMwY2Q0NzdhYWQ0ZDk1YTJlYzJlYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5k
bGVyQ2FsbHMubW0KQEAgLTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVECisK
KyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJVdGlsaXRpZXMuaCIKKyNp
bXBvcnQgPFdlYktpdC9XS1VJRGVsZWdhdGVQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0lucHV0RGVsZWdhdGUuaD4KKyNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEk7
CisKK3N0YXRpYyBib29sIHRlc3RGaW5pc2hlZDsKKworQGludGVyZmFjZSBEdXBsaWNhdGVDb21w
bGV0aW9uSGFuZGxlckNhbGxzRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdh
dGUsIFdLVUlEZWxlZ2F0ZSwgX1dLSW5wdXREZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0
aW9uIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0ZQorCitzdGF0aWMgdm9p
ZCBleHBlY3RFeGNlcHRpb24odm9pZCAoXmNvbXBsZXRpb25IYW5kbGVyKSgpKQoreworICAgIGJv
b2wgZXhjZXB0aW9uVGhyb3duID0gZmFsc2U7CisgICAgQHRyeSB7CisgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKCk7CisgICAgfSBAY2F0Y2ggKE5TRXhjZXB0aW9uICpleGNlcHRpb24pIHsKKyAg
ICAgICAgRVhQRUNUX1dLX1NUUkVRKE5TSW50ZXJuYWxJbmNvbnNpc3RlbmN5RXhjZXB0aW9uLCBl
eGNlcHRpb24ubmFtZSk7CisgICAgICAgIGV4Y2VwdGlvblRocm93biA9IHRydWU7CisgICAgfQor
ICAgIEVYUEVDVF9UUlVFKGV4Y2VwdGlvblRocm93bik7Cit9CisKKy0gKHZvaWQpd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05h
dmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0aW9uQWN0aW9uIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAo
XikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5KSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgICBkZWNp
c2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3cpOworCisgICAgZXhwZWN0
RXhjZXB0aW9uKF4geworICAgICAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9u
UG9saWN5QWxsb3cpOworICAgIH0pOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlOihXS05hdmlnYXRpb25S
ZXNwb25zZSAqKW5hdmlnYXRpb25SZXNwb25zZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdL
TmF2aWdhdGlvblJlc3BvbnNlUG9saWN5KSlkZWNpc2lvbkhhbmRsZXIKK3sKKyAgICBkZWNpc2lv
bkhhbmRsZXIoV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3lBbGxvdyk7CisKKyAgICBleHBlY3RF
eGNlcHRpb24oXiB7CisgICAgICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25SZXNwb25z
ZVBvbGljeUFsbG93KTsKKyAgICB9KTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IHJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICop
bWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGNvbXBsZXRpb25I
YW5kbGVyOih2b2lkICheKSgpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgY29tcGxldGlvbkhh
bmRsZXIoKTsKKworICAgIGV4cGVjdEV4Y2VwdGlvbiheIHsKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoKTsKKyAgICB9KTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IHJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNz
YWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgY29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgY29tcGxldGlvbkhh
bmRsZXIoWUVTKTsKKworICAgIGV4cGVjdEV4Y2VwdGlvbiheIHsKKyAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoWUVTKTsKKyAgICB9KTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IHJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9tcHQ6KE5TU3RyaW5n
ICopcHJvbXB0IGRlZmF1bHRUZXh0OihOU1N0cmluZyAqKWRlZmF1bHRUZXh0IGluaXRpYXRlZEJ5
RnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5T
U3RyaW5nICogX051bGxhYmxlKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIGNvbXBsZXRpb25I
YW5kbGVyKG5pbCk7CisKKyAgICBleHBlY3RFeGNlcHRpb24oXiB7CisgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKG5pbCk7CisgICAgfSk7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgZGVjaWRlRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOihXS1NlY3Vy
aXR5T3JpZ2luICopc2VjdXJpdHlPcmlnaW4gY3VycmVudFF1b3RhOih1bnNpZ25lZCBsb25nIGxv
bmcpY3VycmVudFF1b3RhIGN1cnJlbnRPcmlnaW5Vc2FnZToodW5zaWduZWQgbG9uZyBsb25nKWN1
cnJlbnRPcmlnaW5Vc2FnZSBjdXJyZW50RGF0YWJhc2VVc2FnZToodW5zaWduZWQgbG9uZyBsb25n
KWN1cnJlbnRVc2FnZSBleHBlY3RlZFVzYWdlOih1bnNpZ25lZCBsb25nIGxvbmcpZXhwZWN0ZWRV
c2FnZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKHVuc2lnbmVkIGxvbmcgbG9uZyBuZXdRdW90
YSkpZGVjaXNpb25IYW5kbGVyCit7CisgICAgZGVjaXNpb25IYW5kbGVyKGV4cGVjdGVkVXNhZ2Up
OworCisgICAgZXhwZWN0RXhjZXB0aW9uKF4geworICAgICAgICBkZWNpc2lvbkhhbmRsZXIoZXhw
ZWN0ZWRVc2FnZSk7CisgICAgfSk7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgd2lsbFN1Ym1pdEZvcm1WYWx1ZXM6KE5TRGljdGlvbmFyeSAqKXZhbHVlcyB1c2Vy
T2JqZWN0OihOU09iamVjdDxOU1NlY3VyZUNvZGluZz4gKil1c2VyT2JqZWN0IHN1Ym1pc3Npb25I
YW5kbGVyOih2b2lkICheKSgpKXN1Ym1pc3Npb25IYW5kbGVyCit7CisgICAgc3VibWlzc2lvbkhh
bmRsZXIoKTsKKworICAgIGV4cGVjdEV4Y2VwdGlvbiheIHsKKyAgICAgICAgc3VibWlzc2lvbkhh
bmRsZXIoKTsKKyAgICB9KTsKKworICAgIHRlc3RGaW5pc2hlZCA9IHRydWU7Cit9CisKK0BlbmQK
KworVEVTVChXZWJLaXQyLCBEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzKQoreworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCldKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbW0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0p
OworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07Cisg
ICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcg
X3NldElucHV0RGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBV
UkxGb3JSZXNvdXJjZTpAImR1cGxpY2F0ZS1jb21wbGV0aW9uLWhhbmRsZXItY2FsbHMiIHdpdGhF
eHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJd
XV07CisKKyAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7Cit9CisKKyNlbmRpZiAvLyBXS19B
UElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvZHVwbGljYXRlLWNvbXBsZXRpb24taGFuZGxlci1jYWxscy5odG1sIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvZHVwbGljYXRlLWNvbXBsZXRpb24taGFuZGxl
ci1jYWxscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNzQ5MmJlZDM2MjQzNmYwZmYwMmIxYmE3YzZkYjJi
M2E2MmZjNTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9kdXBsaWNhdGUtY29tcGxldGlvbi1oYW5kbGVyLWNhbGxzLmh0bWwKQEAgLTAs
MCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxmb3JtIGFjdGlvbj0iYWJvdXQ6YmxhbmsiPjwv
Zm9ybT4KKzxzY3JpcHQ+CisgICAgYWxlcnQoImFsZXJ0Iik7CisgICAgY29uZmlybSgiY29uZmly
bSIpOworICAgIHByb21wdCgicHJvbXB0Iik7CisgICAgb3BlbkRhdGFiYXNlKCJ0ZXN0RGF0YWJh
c2UiLCAiMSIsICJ0ZXN0IGRhdGFiYXNlIiwgMTAyNCk7CisgICAgZG9jdW1lbnQuZm9ybXNbMF0u
c3VibWl0KCk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>