<?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>196543</bug_id>
          
          <creation_ts>2019-04-03 09:32:07 -0700</creation_ts>
          <short_desc>Pass storage quota parameters from UIProcess to NetworkProcess as part of WebsiteDataStore parameters</short_desc>
          <delta_ts>2019-04-04 15:08:21 -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>Service Workers</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1523739</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-03 09:32:07 -0700</bug_when>
    <thetext>Pass storage quota parameters from UIProcess to NetworkProcess as part of WebsiteDataStore parameters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523747</commentid>
    <comment_count>1</comment_count>
      <attachid>366616</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-03 09:47:11 -0700</bug_when>
    <thetext>Created attachment 366616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523830</commentid>
    <comment_count>2</comment_count>
      <attachid>366629</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-03 12:11:03 -0700</bug_when>
    <thetext>Created attachment 366629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524428</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-04 14:00:02 -0700</bug_when>
    <thetext>ping review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524447</commentid>
    <comment_count>4</comment_count>
      <attachid>366629</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-04 14:29:31 -0700</bug_when>
    <thetext>Comment on attachment 366629
Patch

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

r=me

&gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:466
&gt; +    auto&amp; managers =  m_storageQuotaManagers.ensure(parameters.networkSessionParameters.sessionID, [] {

It seems like it would be even better to have the NetworkSession own its own storage quota.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524448</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-04 14:39:00 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 366629 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=366629&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:466
&gt; &gt; +    auto&amp; managers =  m_storageQuotaManagers.ensure(parameters.networkSessionParameters.sessionID, [] {
&gt; 
&gt; It seems like it would be even better to have the NetworkSession own its own
&gt; storage quota.

It is true that NetworkProcess has 9 HashMap keyed by SessionID...
NetworkSession might indeed be a better place to put all these various values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524471</commentid>
    <comment_count>6</comment_count>
      <attachid>366629</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-04 15:07:15 -0700</bug_when>
    <thetext>Comment on attachment 366629
Patch

Clearing flags on attachment: 366629

Committed r243911: &lt;https://trac.webkit.org/changeset/243911&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524472</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-04 15:07:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524473</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-04 15:08:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/49624690&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366616</attachid>
            <date>2019-04-03 09:47:11 -0700</date>
            <delta_ts>2019-04-03 10:59:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196543-20190403094710.patch</filename>
            <type>text/plain</type>
            <size>25482</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ0YzY0ZDFmY2M4ODE2
ODE3MjhhNDU2ZTQ5M2YwMWNmNGNhMWE5Yi4uMmI5ZDZkN2VlOTRhMzNmYWU2NjkyOTBiMGY2NTI4
Mjg1ZTdiM2JjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA0LTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzIHN0b3JhZ2UgcXVv
dGEgcGFyYW1ldGVycyBmcm9tIFVJUHJvY2VzcyB0byBOZXR3b3JrUHJvY2VzcyBhcyBwYXJ0IG9m
IFdlYnNpdGVEYXRhU3RvcmUgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZGVmYXVsdCByb3V0aW5lIHRvIGNvbXB1dGUgYSB0
aGlyZCBwYXJ0eSBxdW90YSBmcm9tIGEgcGVyIG9yaWdpbiBxdW90YS4KKyAgICAgICAgTm8gY2hh
bmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2Vy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyOjpkZWZhdWx0VGhpcmRQ
YXJ0eVF1b3RhRnJvbVBlck9yaWdpblF1b3RhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VR
dW90YU1hbmFnZXI6OmRlZmF1bHRUaGlyZFBhcnR5UXVvdGEpOgorCiAyMDE5LTA0LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWxheSBpbml0aWFsaXph
dGlvbiBvZiBxdW90YSB1c2VycyB1bnRpbCB0aGUgZmlyc3QgcXVvdGEgcmVxdWVzdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCAxN2JiZDEyNGE4ZDUyZmE4ZWY1M2MzZTM4MTY3MmE0NjYzZDhiOGQ4Li4wYjBiODRhY2Vk
MDRhNWI0OTQ3NzM3YjE3YzQ5YzcxNWE0NjJlODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBA
CisyMDE5LTA0LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBQYXNzIHN0b3JhZ2UgcXVvdGEgcGFyYW1ldGVycyBmcm9tIFVJUHJvY2VzcyB0byBOZXR3b3Jr
UHJvY2VzcyBhcyBwYXJ0IG9mIFdlYnNpdGVEYXRhU3RvcmUgcGFyYW1ldGVycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lZCBtZXRob2RzIHVz
ZWQgdG8gc2V0IGNhY2hlIHN0b3JhZ2UgcXVvdGEgdG8gYmUgc3RvcmFnZSBnZW5lcmljCisgICAg
ICAgIHNpbmNlIHRoZXkgd2lsbCBhcHBseSB0byBhbGwgc3RvcmFnZS4KKworICAgICAgICBQYXNz
IHF1b3RhIHBhcmFtZXRlcnMgYXMgcGFydCBvZiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBm
cm9tIFVJUHJvY2VzcworICAgICAgICB0byBOZXR3b3JrUHJvY2VzcyAoc3RhcnQtdXAgdGltZSBh
bmQgbmV3IFdlYnNpdGVEYXRhU3RvcmUgdGltZSkuCisKKyAgICAgICAgQ29tcHV0ZSBvbiBVSVBy
b2Nlc3MgdGhlIHF1b3RhIGZvciB0aGlyZCBwYXJ0eSBvcmlnaW5zIHVzaW5nIHRoZSBkZWZhdWx0
IHJ1bGUgb2YgZGl2aWRpbmcgYnkgMTAuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFs
aXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6YWRk
V2Vic2l0ZURhdGFTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0
aWFsaXplU3RvcmFnZVF1b3RhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNl
dENhY2hlU3RvcmFnZVBhcmFtZXRlcnMpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwOgorICAgICAg
ICAoV0tXZWJzaXRlRGF0YVN0b3JlU2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKToKKyAgICAgICAg
KFdLV2Vic2l0ZURhdGFTdG9yZVNldENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06CisgICAg
ICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfcGVyT3JpZ2luU3RvcmFnZVF1b3RhXSk6CisgICAg
ICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhOl0pOgor
ICAgICAgICAoLVtXS1dlYnNpdGVEYXRhU3RvcmUgX2NhY2hlU3RvcmFnZVBlck9yaWdpblF1b3Rh
XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0Q2FjaGVTdG9y
YWdlUGVyT3JpZ2luUXVvdGE6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzUHJveHk6OnJldHJpZXZlQ2FjaGVTdG9yYWdlUGFyYW1ldGVycyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRl
RGF0YVN0b3JlOjpwZXJPcmlnaW5TdG9yYWdlUXVvdGEgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJzaXRlRGF0YVN0b3JlOjpzZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEpOgorICAgICAgICAo
V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpjYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldENhY2hl
U3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpwZXJPcmlnaW5TdG9y
YWdlUXVvdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
bjo6c2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb246OmNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OnNldENh
Y2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRlZC4KKwogMjAxOS0wNC0wMyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzZXR0aW5nIHF1b3RhIHNo
b3VsZCB0YWtlIGludG8gYWNjb3VudCB0aGlyZCBwYXJ0eSBvcmlnaW5zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oCmluZGV4IDk3NDEzYzFjMzQwMDI0MzAy
YjM4MjJkYzI0MmJmZjFkOTI4MDVkMDUuLjQ4NjJhYzE2YzJhMTQwZGI1MTI5ZTkwODY5MjFjOTRm
MDg2NDYyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3Rh
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdl
ci5oCkBAIC00Niw4ICs0NiwxMCBAQCBwdWJsaWM6CiAgICAgfQogICAgIFdFQkNPUkVfRVhQT1JU
IH5TdG9yYWdlUXVvdGFNYW5hZ2VyKCk7CiAKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ2NF90
IGRlZmF1bHRUaGlyZFBhcnR5UXVvdGFGcm9tUGVyT3JpZ2luUXVvdGEodWludDY0X3QgcXVvdGEp
IHsgcmV0dXJuIHF1b3RhIC8gMTA7IH0KKwogICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3Qg
ZGVmYXVsdFF1b3RhKCkgeyByZXR1cm4gMTAwMCAqIE1COyB9Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciB1aW50NjRfdCBkZWZhdWx0VGhpcmRQYXJ0eVF1b3RhKCkgeyByZXR1cm4gMTAwICogTUI7IH0K
KyAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ2NF90IGRlZmF1bHRUaGlyZFBhcnR5UXVvdGEoKSB7
IHJldHVybiBkZWZhdWx0VGhpcmRQYXJ0eVF1b3RhRnJvbVBlck9yaWdpblF1b3RhKGRlZmF1bHRR
dW90YSgpKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRVc2VyKFN0b3JhZ2VRdW90
YVVzZXImKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZVVzZXIoU3RvcmFnZVF1b3Rh
VXNlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAppbmRleCAzOTNhZGFhMDNiNWZlMTQ4M2ExYjcxZmM5ZmVjMzQxNWRmYjZmNmQ1Li4xY2I0
YjY3NGJhZjNjMDJhM2NmMmVjMmI2YzkyNzVlMmQ5NDljZGZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzIyLDYgKzMyMiw3IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmCiAgICAgICAgIG1fc2hvdWxkRGlzYWJsZVNlcnZpY2VX
b3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSA9IHBhcmFtZXRlcnMuc2hvdWxkRGlzYWJsZVNl
cnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheTsKICAgICB9CiAjZW5kaWYKKyAgICBp
bml0aWFsaXplU3RvcmFnZVF1b3RhKHBhcmFtZXRlcnMuZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRl
cnMpOwogCiAgICAgYXV0byogZGVmYXVsdFNlc3Npb24gPSBuZXR3b3JrU2Vzc2lvbihQQUw6OlNl
c3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNvb2tp
ZSA6IHBhcmFtZXRlcnMuZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRlcnMucGVuZGluZ0Nvb2tpZXMp
CkBAIC00NTUsOSArNDU2LDE5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmFkZFdlYnNpdGVEYXRh
U3RvcmUoV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzCiAgICAgICAgIGFk
ZFNlcnZpY2VXb3JrZXJTZXNzaW9uKHBhcmFtZXRlcnMubmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJz
LnNlc3Npb25JRCwgcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5
LCBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGUpOwogI2VuZGlmCiAKKyAgICBpbml0aWFsaXplU3RvcmFnZVF1b3RhKHBhcmFtZXRlcnMp
OworCiAgICAgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVdlYnNpdGVEYXRhU3RvcmVT
ZXNzaW9uKCp0aGlzLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKIH0KIAordm9pZCBOZXR3b3JrUHJv
Y2Vzczo6aW5pdGlhbGl6ZVN0b3JhZ2VRdW90YShjb25zdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKK3sKKyAgICBhdXRvJiBtYW5hZ2VycyA9ICBtX3N0b3JhZ2VRdW90
YU1hbmFnZXJzLmVuc3VyZShwYXJhbWV0ZXJzLm5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5zZXNz
aW9uSUQsIFtdIHsKKyAgICAgICAgcmV0dXJuIFN0b3JhZ2VRdW90YU1hbmFnZXJzIHsgfTsKKyAg
ICB9KS5pdGVyYXRvci0+dmFsdWU7CisgICAgbWFuYWdlcnMuc2V0RGVmYXVsdFF1b3RhcyhwYXJh
bWV0ZXJzLnBlck9yaWdpblN0b3JhZ2VRdW90YSwgcGFyYW1ldGVycy5wZXJUaGlyZFBhcnR5T3Jp
Z2luU3RvcmFnZVF1b3RhKTsKK30KKwogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0yMDI5LDEzICsyMDQw
LDggQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2FjaGVTdG9yYWdlUm9vdFBhdGgoUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBDYWNoZVN0b3JhZ2UKICAgICB9KS5pdGVyYXRvci0+dmFsdWUuYXBw
ZW5kKFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2Fj
aGVTdG9yYWdlUGFyYW1ldGVycyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHF1
b3RhLCBTdHJpbmcmJiBjYWNoZVN0b3JhZ2VEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYmIGhhbmRsZSkKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENhY2hlU3RvcmFnZVBhcmFt
ZXRlcnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTdHJpbmcmJiBjYWNoZVN0b3JhZ2VEaXJl
Y3RvcnksIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmIGhhbmRsZSkKIHsKLSAgICBhdXRvJiBt
YW5hZ2VycyA9ICBtX3N0b3JhZ2VRdW90YU1hbmFnZXJzLmVuc3VyZShzZXNzaW9uSUQsIFtdIHsK
LSAgICAgICAgcmV0dXJuIFN0b3JhZ2VRdW90YU1hbmFnZXJzIHsgfTsKLSAgICB9KS5pdGVyYXRv
ci0+dmFsdWU7Ci0gICAgbWFuYWdlcnMuc2V0RGVmYXVsdFF1b3RhcyhxdW90YSwgcXVvdGEgLyAx
MCk7Ci0KICAgICBhdXRvIGl0ZXJhdG9yID0gbV9jYWNoZVN0b3JhZ2VQYXJhbWV0ZXJzQ2FsbGJh
Y2tzLmZpbmQoc2Vzc2lvbklEKTsKICAgICBpZiAoaXRlcmF0b3IgPT0gbV9jYWNoZVN0b3JhZ2VQ
YXJhbWV0ZXJzQ2FsbGJhY2tzLmVuZCgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggZTdkODBhYTE5N2M2NGE2
ZDZjYTNlYjc5YjRlNWY2MzAxZDhjNmRkYy4uNjM0N2MxOGM3ZGRmZGIzZDhmMmUxZjYzZmNlZDg0
ODczNDE3OGY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtMzgwLDcgKzM4MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNsZWFyQ2Fj
aGVkQ3JlZGVudGlhbHMoKTsKIAotICAgIHZvaWQgc2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyhQ
QUw6OlNlc3Npb25JRCwgdWludDY0X3QgcXVvdGEsIFN0cmluZyYmIGNhY2hlU3RvcmFnZURpcmVj
dG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpOworICAgIHZvaWQgc2V0Q2FjaGVTdG9y
YWdlUGFyYW1ldGVycyhQQUw6OlNlc3Npb25JRCwgU3RyaW5nJiYgY2FjaGVTdG9yYWdlRGlyZWN0
b3J5LCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJik7CiAgICAgdm9pZCBpbml0aWFsaXplUXVv
dGFVc2VycyhXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJiwgUEFMOjpTZXNzaW9uSUQsIGNv
bnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IHRha2UgYSBzZXNzaW9uIElEIHNvIHdlIGNhbiBpZGVudGlmeSB3aGljaCBkaXNrIGNhY2hlIHRv
IGRlbGV0ZS4KQEAgLTQ2MCw2ICs0NjAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlUGF0
aEV4aXN0cyhjb25zdCBTdHJpbmcmIHBhdGgpOwogCiAgICAgdm9pZCBjbGVhclN0b3JhZ2VRdW90
YShQQUw6OlNlc3Npb25JRCk7CisgICAgdm9pZCBpbml0aWFsaXplU3RvcmFnZVF1b3RhKGNvbnN0
IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzJik7CiAKICAgICAvLyBDb25uZWN0aW9ucyB0byBX
ZWJQcm9jZXNzZXMuCiAgICAgVmVjdG9yPFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cz4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggN2Q5ZDJlMDYw
YjE3MDNmNjk4MmFlMjAxZGE2ZjRjN2MwMjY2NTAzZS4uZGJmM2NhN2FlMmU1YjA4ZjA4ZDY1YTg4
ZGM1NjAwZmNhZTUzZDZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xNTEsNyArMTUxLDcgQEAgbWVz
c2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFJlZ2lzdGVyVVJM
U2NoZW1lQXNDT1JTRW5hYmxlZChTdHJpbmcgc2NoZW1lKQogICAgIFJlZ2lzdGVyVVJMU2NoZW1l
QXNDYW5EaXNwbGF5T25seUlmQ2FuUmVxdWVzdChTdHJpbmcgc2NoZW1lKQogCi0gICAgU2V0Q2Fj
aGVTdG9yYWdlUGFyYW1ldGVycyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHF1
b3RhLCBTdHJpbmcgY2FjaGVTdG9yYWdlRGlyZWN0b3J5LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNp
b246OkhhbmRsZSBoYW5kbGUpOworICAgIFNldENhY2hlU3RvcmFnZVBhcmFtZXRlcnMoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBTdHJpbmcgY2FjaGVTdG9yYWdlRGlyZWN0b3J5LCBXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGUpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHN0cnVjdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIs
IHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNzYWdlLCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBTdHJpbmcgc291cmNl
T3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZURhdGFTdG9y
ZVBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZURhdGFTdG9yZVBh
cmFtZXRlcnMuY3BwCmluZGV4IGU1ZGJmY2NhNzQ5MDFkMWI0ZDNmNmVkMTdiNDczMjczYmQ0OTIy
ZTIuLmQ5MWEzNGY2YTkyNzI1YzE0MTc3M2YwOGFiNDI5ZTdlOGU1ODYzYzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5jcHAKQEAg
LTUyLDYgKzUyLDkgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5IDw8IHNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKwor
ICAgIGVuY29kZXIgPDwgcGVyT3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGVuY29kZXIgPDwgcGVy
VGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YTsKIH0KIAogT3B0aW9uYWw8V2Vic2l0ZURhdGFT
dG9yZVBhcmFtZXRlcnM+IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyKQpAQCAtMTE3LDYgKzEyMCwxOCBAQCBPcHRpb25hbDxXZWJzaXRlRGF0
YVN0b3JlUGFyYW1ldGVycz4gV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM6OmRlY29kZShJUEM6
OkRlYwogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIHBhcmFtZXRlcnMuc2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKnNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlm
CisKKyAgICBPcHRpb25hbDx1aW50NjRfdD4gcGVyT3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGRl
Y29kZXIgPj4gcGVyT3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGlmICghcGVyT3JpZ2luU3RvcmFn
ZVF1b3RhKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHBhcmFtZXRlcnMucGVy
T3JpZ2luU3RvcmFnZVF1b3RhID0gKnBlck9yaWdpblN0b3JhZ2VRdW90YTsKKworICAgIE9wdGlv
bmFsPHVpbnQ2NF90PiBwZXJUaGlyZFBhcnR5T3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGRlY29k
ZXIgPj4gcGVyVGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YTsKKyAgICBpZiAoIXBlclRoaXJk
UGFydHlPcmlnaW5TdG9yYWdlUXVvdGEpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cisg
ICAgcGFyYW1ldGVycy5wZXJUaGlyZFBhcnR5T3JpZ2luU3RvcmFnZVF1b3RhID0gKnBlclRoaXJk
UGFydHlPcmlnaW5TdG9yYWdlUXVvdGE7CiAgICAgCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMu
aAppbmRleCBmNGE1Y2UyOTg0Y2FkYjY2M2RiYjNmMGFlMjU3ZDVmM2YwNWZjOWExLi45OTJmZWU5
N2QwOTk3NGM5ZjM0N2Y2YzcwZGFhMWNlYmYzZTJmMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbmNsdWRlICJOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUg
IlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZS5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvU3RvcmFnZVF1b3RhTWFuYWdlci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9u
SUQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CkBAIC02OCw2ICs2OSw5IEBAIHN0cnVjdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyB7CiAgICAgU3RyaW5nIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk7CiAgICAg
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKworICAgIHVpbnQ2NF90IHBlck9yaWdpblN0b3Jh
Z2VRdW90YSB7IFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1hbmFnZXI6OmRlZmF1bHRRdW90YSgpIH07
CisgICAgdWludDY0X3QgcGVyVGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YSB7IFdlYkNvcmU6
OlN0b3JhZ2VRdW90YU1hbmFnZXI6OmRlZmF1bHRUaGlyZFBhcnR5UXVvdGEoKSB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCBiNWQ4ZTJhOTMxOWNjYTAw
MDhiOGU5NmNlZmE1NjY0YTE4NWQ4Mzg4Li4xYjc2YmVkMjZkY2M2MDhjOWIzMmI4NDg5ZWFkMmQw
OWU4NDNlMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTU3Myw5ICs1NzMsOSBAQCB2b2lkIFdLV2Vi
c2l0ZURhdGFTdG9yZVNldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoV0tXZWJz
aXRlRGF0YVN0b3JlUgogICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVE
YXRhU3RvcmUoKS5zZXRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KFdlYktpdDo6
dG9JbXBsKHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpLT5zdHJpbmcoKSk7CiB9
CiAKLXZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0Q2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdWludDY0X3QgcXVvdGEpCit2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZVNldFBlck9yaWdpblN0b3JhZ2VRdW90YShXS1dlYnNpdGVEYXRh
U3RvcmVSZWYgZGF0YVN0b3JlUmVmLCB1aW50NjRfdCBxdW90YSkKIHsKLSAgICBXZWJLaXQ6OnRv
SW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkuc2V0Q2FjaGVTdG9yYWdlUGVy
T3JpZ2luUXVvdGEocXVvdGEpOyAKKyAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53
ZWJzaXRlRGF0YVN0b3JlKCkuc2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKHF1b3RhKTsKIH0KIAog
dm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0
aW9uKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLRGljdGlvbmFyeVJlZiBj
b25maWd1cmF0aW9uUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAppbmRleCA0NzljYWQ0NjMxZmNlOWI0M2E0ZWU4Mzgx
MWFmY2UxZTEyMjY0Yjg1Li5iZTEyNTkyNjk0ZmM3MWM5MzRiZjNjODI3YzFjNzBlZjA0NzE2MmY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuaApAQCAtMTI1LDcgKzEyNSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0
ZURhdGFTdG9yZUdldEZldGNoQ2FjaGVTaXplRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJl
CiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tXZWJzaXRlRGF0YVN0b3JlQ29weVNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
Zik7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5KFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdL
U3RyaW5nUmVmIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpOwogCi1XS19FWFBP
UlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRDYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YShX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCB1aW50NjRfdCBxdW90YSk7CitXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdWludDY0X3QgcXVvdGEpOwogCiBXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25m
aWd1cmF0aW9uKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLRGljdGlvbmFy
eVJlZiBjb25maWd1cmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KaW5kZXggMmZhM2IyMzU4YWIzNTU0
YTQwY2U1M2IzNzkzOWNjYzM5YTBjYTJkMi4uNzg2YjJkYzNmNGQ0MTEzNzE0YzRmNTViZjYxYmJl
MWVkMGRiM2YwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC0zMDYsMTQgKzMwNiwxNCBAQCBzdGF0aWMg
VmVjdG9yPFdlYktpdDo6V2Vic2l0ZURhdGFSZWNvcmQ+IHRvV2Vic2l0ZURhdGFSZWNvcmRzKE5T
QXJyYXkgKmRhdGFSZWNvcgogI2VuZGlmCiB9CiAKLS0gKE5TVUludGVnZXIpX2NhY2hlU3RvcmFn
ZVBlck9yaWdpblF1b3RhCistIChOU1VJbnRlZ2VyKV9wZXJPcmlnaW5TdG9yYWdlUXVvdGEKIHsK
LSAgICByZXR1cm4gX3dlYnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKS5jYWNoZVN0
b3JhZ2VQZXJPcmlnaW5RdW90YSgpOworICAgIHJldHVybiBfd2Vic2l0ZURhdGFTdG9yZS0+d2Vi
c2l0ZURhdGFTdG9yZSgpLnBlck9yaWdpblN0b3JhZ2VRdW90YSgpOwogfQogCi0tICh2b2lkKV9z
ZXRDYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YTooTlNVSW50ZWdlcilzaXplCistICh2b2lkKV9z
ZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGE6KE5TVUludGVnZXIpc2l6ZQogewotICAgIF93ZWJzaXRl
RGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkuc2V0Q2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVv
dGEoc2l6ZSk7CisgICAgX3dlYnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRQ
ZXJPcmlnaW5TdG9yYWdlUXVvdGEoc2l6ZSk7CiB9CiAKIC0gKE5TU3RyaW5nICopX2NhY2hlU3Rv
cmFnZURpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKaW5kZXggMDhhZWQzYWI5YjA1
NDQwNWMzNGYxMjAyYTk0ODc4OWVlOWEzY2Q0Yy4uMGExOWEwZDAyNmQxMGQ1YjgyNjczMDI3NGZh
ZDdhMWY3YmJmNmRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCkBAIC00OCw3ICs0OCw3
IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0
Y2hPcHRpb25zKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkOikgQk9PTCBfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlOikg
Qk9PTCBfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjE0KSwgaW9zKDEyLjApKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhOikgTlNVSW50ZWdlciBfY2FjaGVTdG9yYWdlUGVy
T3JpZ2luUXVvdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBlck9yaWdpblN0b3JhZ2VRdW90YTop
IE5TVUludGVnZXIgX3Blck9yaWdpblN0b3JhZ2VRdW90YSBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
Q2FjaGVTdG9yYWdlRGlyZWN0b3J5OikgTlNTdHJpbmcqIF9jYWNoZVN0b3JhZ2VEaXJlY3Rvcnkg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk6
KSBOU1N0cmluZyogX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXgg
YzE2MzFmOTcxMTU5ZDMwMjhkZTlmMjkxOTM5ZjkyNzI3NTFkYjRiYS4uMmQ4ZGJjNTRkZGIxNzg1
OWViNmM2NTViNDI2YTQ1MTVkNTk2MzM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xMTM4LDggKzEx
MzgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnJldHJpZXZlQ2FjaGVTdG9yYWdlUGFy
YW1ldGVycyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSQogCiAgICAgaWYgKCFzdG9yZSkgewogICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihDYWNoZVN0b3JhZ2UsICIlcCAtIE5ldHdvcmtQcm9jZXNz
UHJveHkgaXMgdW5hYmxlIHRvIHJldHJpZXZlIENhY2hlU3RvcmFnZSBwYXJhbWV0ZXJzIGZyb20g
dGhlIGdpdmVuIHNlc3Npb24gSUQgJSIgUFJJdTY0LCB0aGlzLCBzZXNzaW9uSUQuc2Vzc2lvbklE
KCkpOwotICAgICAgICBhdXRvIHF1b3RhID0gbV9wcm9jZXNzUG9vbC53ZWJzaXRlRGF0YVN0b3Jl
KCkgPyBtX3Byb2Nlc3NQb29sLndlYnNpdGVEYXRhU3RvcmUoKS0+d2Vic2l0ZURhdGFTdG9yZSgp
LmNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKCkgOiBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbjo6ZGVmYXVsdENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhOwotICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyB7IHNlc3Np
b25JRCwgcXVvdGEsIHsgfSwgeyB9IH0sIDApOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6U2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyB7IHNlc3Npb25JRCwgeyB9LCB7
IH0gfSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExNDgsNyArMTE0Nyw3IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmV0cmlldmVDYWNoZVN0b3JhZ2VQYXJhbWV0ZXJz
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JCiAgICAgaWYgKCFjYWNoZVN0b3JhZ2VEaXJlY3Rvcnku
aXNFbXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFk
V3JpdGVEaXJlY3RvcnkoY2FjaGVTdG9yYWdlRGlyZWN0b3J5LCBjYWNoZVN0b3JhZ2VEaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGUpOwogCi0gICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6
OlNldENhY2hlU3RvcmFnZVBhcmFtZXRlcnMgeyBzZXNzaW9uSUQsIHN0b3JlLT5jYWNoZVN0b3Jh
Z2VQZXJPcmlnaW5RdW90YSgpLCBjYWNoZVN0b3JhZ2VEaXJlY3RvcnksIGNhY2hlU3RvcmFnZURp
cmVjdG9yeUV4dGVuc2lvbkhhbmRsZSB9LCAwKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
UHJvY2Vzczo6U2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyB7IHNlc3Npb25JRCwgY2FjaGVTdG9y
YWdlRGlyZWN0b3J5LCBjYWNoZVN0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUgfSwgMCk7
CiB9CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRl
eCA4MDMxMzA0ZDM0OWI1NjM5NWVkN2EyMzkyMTRkNDIxZmQxYWI1NDBmLi45OWY3ZDA2MzNjYTRl
Y2NkNDkyODZjZjY1Y2RhMmI1YjVhYTY3NzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtNTAsNiAr
NTAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21haW4uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9y
aWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaD4KICNp
bmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRp
b25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CkBAIC0yMTIy
LDYgKzIxMjMsMTAgQEAgV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9y
ZTo6cGFyYW1ldGVycygpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZv
clJlYWRXcml0ZURpcmVjdG9yeShwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
aXJlY3RvcnksIHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4
dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKIAorICAgIHBhcmFtZXRlcnMucGVyT3JpZ2luU3RvcmFn
ZVF1b3RhID0gcGVyT3JpZ2luU3RvcmFnZVF1b3RhKCk7CisgICAgLy8gRklYTUU6IENvbnNpZGVy
IHdoZXRoZXIgYWxsb3dpbmcgdG8gc2V0IGEgcGVyVGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90
YSBmcm9tIGEgV2Vic2l0ZURhdGFTdG9yZS4KKyAgICBwYXJhbWV0ZXJzLnBlclRoaXJkUGFydHlP
cmlnaW5TdG9yYWdlUXVvdGEgPSBTdG9yYWdlUXVvdGFNYW5hZ2VyOjpkZWZhdWx0VGhpcmRQYXJ0
eVF1b3RhRnJvbVBlck9yaWdpblF1b3RhKHBhcmFtZXRlcnMucGVyT3JpZ2luU3RvcmFnZVF1b3Rh
KTsKKwogICAgIHBsYXRmb3JtU2V0TmV0d29ya1BhcmFtZXRlcnMocGFyYW1ldGVycyk7CiAKICAg
ICByZXR1cm4gcGFyYW1ldGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCAwYzZmMzk2YzhhZDAxNDhjYzRm
ZmUzMTk3Y2MwOTQ3OWQ2NjM1ZDI3Li44MmVlMTIxNGNlZGNkMDZjOGNlZTYxM2YyYTFkNDRhNGEw
ZmY3N2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xMDcsOCArMTA3LDggQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZShib29sKTsKICAgICB2b2lkIHNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKIAotICAgIHVpbnQ2NF90IGNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKCkg
Y29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmNhY2hlU3RvcmFnZVBlck9y
aWdpblF1b3RhKCk7IH0KLSAgICB2b2lkIHNldENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKHVp
bnQ2NF90IHF1b3RhKSB7IG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRDYWNoZVN0b3JhZ2VQ
ZXJPcmlnaW5RdW90YShxdW90YSk7IH0KKyAgICB1aW50NjRfdCBwZXJPcmlnaW5TdG9yYWdlUXVv
dGEoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+cGVyT3JpZ2luU3Rv
cmFnZVF1b3RhKCk7IH0KKyAgICB2b2lkIHNldFBlck9yaWdpblN0b3JhZ2VRdW90YSh1aW50NjRf
dCBxdW90YSkgeyBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+c2V0UGVyT3JpZ2luU3RvcmFnZVF1
b3RhKHF1b3RhKTsgfQogICAgIGNvbnN0IFN0cmluZyYgY2FjaGVTdG9yYWdlRGlyZWN0b3J5KCkg
Y29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPmNhY2hlU3RvcmFnZURpcmVj
dG9yeSgpOyB9CiAgICAgdm9pZCBzZXRDYWNoZVN0b3JhZ2VEaXJlY3RvcnkoU3RyaW5nJiYgZGly
ZWN0b3J5KSB7IG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRDYWNoZVN0b3JhZ2VEaXJlY3Rv
cnkoV1RGTW92ZShkaXJlY3RvcnkpKTsgfQogICAgIGNvbnN0IFN0cmluZyYgc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1
cmF0aW9uLT5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAppbmRleCBkODc2NzMzMTFmMmY0ZjIwYzYw
ZTBmNDhlN2ExZWZkNzU2YWQ3NmVmLi45OWY1N2U0YWUzYTRlMTQzN2I1NGIyNTI1MGY3MjE3YTMx
MjBhMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC00
MCw3ICs0MCw3IEBAIFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb246OmNvcHkoKQogICAgIGF1dG8gY29weSA9IFdlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUoKTsKIAogICAgIGNvcHktPm1fY2FjaGVTdG9yYWdl
RGlyZWN0b3J5ID0gdGhpcy0+bV9jYWNoZVN0b3JhZ2VEaXJlY3Rvcnk7Ci0gICAgY29weS0+bV9j
YWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSA9IHRoaXMtPm1fY2FjaGVTdG9yYWdlUGVyT3JpZ2lu
UXVvdGE7CisgICAgY29weS0+bV9wZXJPcmlnaW5TdG9yYWdlUXVvdGEgPSB0aGlzLT5tX3Blck9y
aWdpblN0b3JhZ2VRdW90YTsKICAgICBjb3B5LT5tX25ldHdvcmtDYWNoZURpcmVjdG9yeSA9IHRo
aXMtPm1fbmV0d29ya0NhY2hlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fYXBwbGljYXRpb25DYWNo
ZURpcmVjdG9yeSA9IHRoaXMtPm1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKICAgICBjb3B5
LT5tX2FwcGxpY2F0aW9uQ2FjaGVGbGF0RmlsZVN1YmRpcmVjdG9yeU5hbWUgPSB0aGlzLT5tX2Fw
cGxpY2F0aW9uQ2FjaGVGbGF0RmlsZVN1YmRpcmVjdG9yeU5hbWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uaAppbmRleCAxMDEyY2IzYTRhOGQ5MzE3ZjBmMjJhNDA1NWU0MTZi
ZTY3NjIwZDIxLi45Y2M4YTUwNzliYzBhZmVhNDI5MTk3MDZiMDYyMTI4YjU3ZmNiMjBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKQEAgLTM3LDggKzM3LDggQEAgcHVi
bGljOgogCiAgICAgUmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiBjb3B5KCk7CiAK
LSAgICB1aW50NjRfdCBjYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSgpIHsgcmV0dXJuIG1fY2Fj
aGVTdG9yYWdlUGVyT3JpZ2luUXVvdGE7IH0KLSAgICB2b2lkIHNldENhY2hlU3RvcmFnZVBlck9y
aWdpblF1b3RhKHVpbnQ2NF90IHF1b3RhKSB7IG1fY2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEg
PSBxdW90YTsgfQorICAgIHVpbnQ2NF90IHBlck9yaWdpblN0b3JhZ2VRdW90YSgpIHsgcmV0dXJu
IG1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhOyB9CisgICAgdm9pZCBzZXRQZXJPcmlnaW5TdG9yYWdl
UXVvdGEodWludDY0X3QgcXVvdGEpIHsgbV9wZXJPcmlnaW5TdG9yYWdlUXVvdGEgPSBxdW90YTsg
fQogCiAgICAgY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3Qg
eyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5OyB9CiAgICAgdm9pZCBzZXRBcHBs
aWNhdGlvbkNhY2hlRGlyZWN0b3J5KFN0cmluZyYmIGRpcmVjdG9yeSkgeyBtX2FwcGxpY2F0aW9u
Q2FjaGVEaXJlY3RvcnkgPSBXVEZNb3ZlKGRpcmVjdG9yeSk7IH0KQEAgLTk3LDEzICs5NywxMyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgVVJMJiBodHRwc1Byb3h5KCkgY29uc3QgeyByZXR1cm4gbV9o
dHRwc1Byb3h5OyB9CiAgICAgdm9pZCBzZXRIVFRQU1Byb3h5KFVSTCYmIHByb3h5KSB7IG1faHR0
cHNQcm94eSA9IFdURk1vdmUocHJveHkpOyB9CiAKLSAgICBjb25zdGV4cHIgc3RhdGljIHVpbnQ2
NF90IGRlZmF1bHRDYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSA9IDUwICogMTAyNCAqIDEwMjQ7
CisgICAgY29uc3RleHByIHN0YXRpYyB1aW50NjRfdCBkZWZhdWx0UGVyT3JpZ2luU3RvcmFnZVF1
b3RhID0gNTAgKiAxMDI0ICogMTAyNDsKIAogcHJpdmF0ZToKICAgICBXZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbigpOwogCiAgICAgU3RyaW5nIG1fY2FjaGVTdG9yYWdlRGlyZWN0b3J5Owot
ICAgIHVpbnQ2NF90IG1fY2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEgeyBkZWZhdWx0Q2FjaGVT
dG9yYWdlUGVyT3JpZ2luUXVvdGEgfTsKKyAgICB1aW50NjRfdCBtX3Blck9yaWdpblN0b3JhZ2VR
dW90YSB7IGRlZmF1bHRQZXJPcmlnaW5TdG9yYWdlUXVvdGEgfTsKICAgICBTdHJpbmcgbV9uZXR3
b3JrQ2FjaGVEaXJlY3Rvcnk7CiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9y
eTsKICAgICBTdHJpbmcgbV9hcHBsaWNhdGlvbkNhY2hlRmxhdEZpbGVTdWJkaXJlY3RvcnlOYW1l
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUw
N2I3MjY3N2QzYTI2OThhOTA3MDNkMzIxNGFiZGJiNmYwMDNkMTguLjExN2RhZWFmZDI0NGFjMDcx
OWRjNGExZTZiZGU5OTI0NTc5ZjEzNjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wNC0wMyAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUGFzcyBzdG9yYWdlIHF1b3RhIHBh
cmFtZXRlcnMgZnJvbSBVSVByb2Nlc3MgdG8gTmV0d29ya1Byb2Nlc3MgYXMgcGFydCBvZiBXZWJz
aXRlRGF0YVN0b3JlIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NjU0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpnZW5lcmF0ZVBhZ2VDb25maWd1cmF0aW9uKToK
KwogMjAxOS0wNC0wMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1dQRV0gRXZlbnRTZW5kZXJQcm94eSBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYmVmb3Jl
IGEgUGxhdGZvcm1XaW5kb3cgaXMgdXNhYmxlCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCmluZGV4IGM2MWM5N2E0N2Q3NTFiZmI5ZDhkYjdlNmQ4ODAzYzU4ODBlYWQz
YWYuLjUzZDEzNDcxNDMzYzBmMTMyZmE4NWIxNWM0N2U3Zjg1OGI1ZGE1NGEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC01MTcsNyArNTE3LDcgQEAgV0tS
ZXRhaW5QdHI8V0tQYWdlQ29uZmlndXJhdGlvblJlZj4gVGVzdENvbnRyb2xsZXI6OmdlbmVyYXRl
UGFnZUNvbmZpZ3VyYXRpb24oY28KICAgICAgICAgV0tDb250ZXh0U2V0Q2FjaGVNb2RlbChtX2Nv
bnRleHQuZ2V0KCksIGtXS0NhY2hlTW9kZWxEb2N1bWVudEJyb3dzZXIpOwogCiAgICAgICAgIGF1
dG8qIHdlYnNpdGVEYXRhU3RvcmUgPSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKG1fY29u
dGV4dC5nZXQoKSk7Ci0gICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldENhY2hlU3RvcmFnZVBl
ck9yaWdpblF1b3RhKHdlYnNpdGVEYXRhU3RvcmUsIDQwMCAqIDEwMjQpOworICAgICAgICBXS1dl
YnNpdGVEYXRhU3RvcmVTZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEod2Vic2l0ZURhdGFTdG9yZSwg
NDAwICogMTAyNCk7CiAKICAgICAgICAgcGxhdGZvcm1Jbml0aWFsaXplQ29udGV4dCgpOwogICAg
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366629</attachid>
            <date>2019-04-03 12:11:03 -0700</date>
            <delta_ts>2019-04-04 15:07:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196543-20190403121100.patch</filename>
            <type>text/plain</type>
            <size>28517</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ0YzY0ZDFmY2M4ODE2
ODE3MjhhNDU2ZTQ5M2YwMWNmNGNhMWE5Yi4uMmI5ZDZkN2VlOTRhMzNmYWU2NjkyOTBiMGY2NTI4
Mjg1ZTdiM2JjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA0LTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzIHN0b3JhZ2UgcXVv
dGEgcGFyYW1ldGVycyBmcm9tIFVJUHJvY2VzcyB0byBOZXR3b3JrUHJvY2VzcyBhcyBwYXJ0IG9m
IFdlYnNpdGVEYXRhU3RvcmUgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZGVmYXVsdCByb3V0aW5lIHRvIGNvbXB1dGUgYSB0
aGlyZCBwYXJ0eSBxdW90YSBmcm9tIGEgcGVyIG9yaWdpbiBxdW90YS4KKyAgICAgICAgTm8gY2hh
bmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2Vy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyOjpkZWZhdWx0VGhpcmRQ
YXJ0eVF1b3RhRnJvbVBlck9yaWdpblF1b3RhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VR
dW90YU1hbmFnZXI6OmRlZmF1bHRUaGlyZFBhcnR5UXVvdGEpOgorCiAyMDE5LTA0LTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWxheSBpbml0aWFsaXph
dGlvbiBvZiBxdW90YSB1c2VycyB1bnRpbCB0aGUgZmlyc3QgcXVvdGEgcmVxdWVzdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCAxN2JiZDEyNGE4ZDUyZmE4ZWY1M2MzZTM4MTY3MmE0NjYzZDhiOGQ4Li4wYjBiODRhY2Vk
MDRhNWI0OTQ3NzM3YjE3YzQ5YzcxNWE0NjJlODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBA
CisyMDE5LTA0LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBQYXNzIHN0b3JhZ2UgcXVvdGEgcGFyYW1ldGVycyBmcm9tIFVJUHJvY2VzcyB0byBOZXR3b3Jr
UHJvY2VzcyBhcyBwYXJ0IG9mIFdlYnNpdGVEYXRhU3RvcmUgcGFyYW1ldGVycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lZCBtZXRob2RzIHVz
ZWQgdG8gc2V0IGNhY2hlIHN0b3JhZ2UgcXVvdGEgdG8gYmUgc3RvcmFnZSBnZW5lcmljCisgICAg
ICAgIHNpbmNlIHRoZXkgd2lsbCBhcHBseSB0byBhbGwgc3RvcmFnZS4KKworICAgICAgICBQYXNz
IHF1b3RhIHBhcmFtZXRlcnMgYXMgcGFydCBvZiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBm
cm9tIFVJUHJvY2VzcworICAgICAgICB0byBOZXR3b3JrUHJvY2VzcyAoc3RhcnQtdXAgdGltZSBh
bmQgbmV3IFdlYnNpdGVEYXRhU3RvcmUgdGltZSkuCisKKyAgICAgICAgQ29tcHV0ZSBvbiBVSVBy
b2Nlc3MgdGhlIHF1b3RhIGZvciB0aGlyZCBwYXJ0eSBvcmlnaW5zIHVzaW5nIHRoZSBkZWZhdWx0
IHJ1bGUgb2YgZGl2aWRpbmcgYnkgMTAuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0aWFs
aXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6YWRk
V2Vic2l0ZURhdGFTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjppbml0
aWFsaXplU3RvcmFnZVF1b3RhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNl
dENhY2hlU3RvcmFnZVBhcmFtZXRlcnMpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwOgorICAgICAg
ICAoV0tXZWJzaXRlRGF0YVN0b3JlU2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKToKKyAgICAgICAg
KFdLV2Vic2l0ZURhdGFTdG9yZVNldENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06CisgICAg
ICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfcGVyT3JpZ2luU3RvcmFnZVF1b3RhXSk6CisgICAg
ICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhOl0pOgor
ICAgICAgICAoLVtXS1dlYnNpdGVEYXRhU3RvcmUgX2NhY2hlU3RvcmFnZVBlck9yaWdpblF1b3Rh
XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0Q2FjaGVTdG9y
YWdlUGVyT3JpZ2luUXVvdGE6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzUHJveHk6OnJldHJpZXZlQ2FjaGVTdG9yYWdlUGFyYW1ldGVycyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRl
RGF0YVN0b3JlOjpwZXJPcmlnaW5TdG9yYWdlUXVvdGEgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJzaXRlRGF0YVN0b3JlOjpzZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEpOgorICAgICAgICAo
V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpjYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldENhY2hl
U3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpwZXJPcmlnaW5TdG9y
YWdlUXVvdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
bjo6c2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb246OmNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OnNldENh
Y2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKTogRGVsZXRlZC4KKwogMjAxOS0wNC0wMyAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzZXR0aW5nIHF1b3RhIHNo
b3VsZCB0YWtlIGludG8gYWNjb3VudCB0aGlyZCBwYXJ0eSBvcmlnaW5zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oCmluZGV4IDk3NDEzYzFjMzQwMDI0MzAy
YjM4MjJkYzI0MmJmZjFkOTI4MDVkMDUuLjQ4NjJhYzE2YzJhMTQwZGI1MTI5ZTkwODY5MjFjOTRm
MDg2NDYyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3Rh
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdl
ci5oCkBAIC00Niw4ICs0NiwxMCBAQCBwdWJsaWM6CiAgICAgfQogICAgIFdFQkNPUkVfRVhQT1JU
IH5TdG9yYWdlUXVvdGFNYW5hZ2VyKCk7CiAKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ2NF90
IGRlZmF1bHRUaGlyZFBhcnR5UXVvdGFGcm9tUGVyT3JpZ2luUXVvdGEodWludDY0X3QgcXVvdGEp
IHsgcmV0dXJuIHF1b3RhIC8gMTA7IH0KKwogICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3Qg
ZGVmYXVsdFF1b3RhKCkgeyByZXR1cm4gMTAwMCAqIE1COyB9Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciB1aW50NjRfdCBkZWZhdWx0VGhpcmRQYXJ0eVF1b3RhKCkgeyByZXR1cm4gMTAwICogTUI7IH0K
KyAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ2NF90IGRlZmF1bHRUaGlyZFBhcnR5UXVvdGEoKSB7
IHJldHVybiBkZWZhdWx0VGhpcmRQYXJ0eVF1b3RhRnJvbVBlck9yaWdpblF1b3RhKGRlZmF1bHRR
dW90YSgpKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRVc2VyKFN0b3JhZ2VRdW90
YVVzZXImKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZVVzZXIoU3RvcmFnZVF1b3Rh
VXNlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAppbmRleCAzOTNhZGFhMDNiNWZlMTQ4M2ExYjcxZmM5ZmVjMzQxNWRmYjZmNmQ1Li4xY2I0
YjY3NGJhZjNjMDJhM2NmMmVjMmI2YzkyNzVlMmQ5NDljZGZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzIyLDYgKzMyMiw3IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmCiAgICAgICAgIG1fc2hvdWxkRGlzYWJsZVNlcnZpY2VX
b3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheSA9IHBhcmFtZXRlcnMuc2hvdWxkRGlzYWJsZVNl
cnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25EZWxheTsKICAgICB9CiAjZW5kaWYKKyAgICBp
bml0aWFsaXplU3RvcmFnZVF1b3RhKHBhcmFtZXRlcnMuZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRl
cnMpOwogCiAgICAgYXV0byogZGVmYXVsdFNlc3Npb24gPSBuZXR3b3JrU2Vzc2lvbihQQUw6OlNl
c3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNvb2tp
ZSA6IHBhcmFtZXRlcnMuZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRlcnMucGVuZGluZ0Nvb2tpZXMp
CkBAIC00NTUsOSArNDU2LDE5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmFkZFdlYnNpdGVEYXRh
U3RvcmUoV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzCiAgICAgICAgIGFk
ZFNlcnZpY2VXb3JrZXJTZXNzaW9uKHBhcmFtZXRlcnMubmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJz
LnNlc3Npb25JRCwgcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5
LCBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGUpOwogI2VuZGlmCiAKKyAgICBpbml0aWFsaXplU3RvcmFnZVF1b3RhKHBhcmFtZXRlcnMp
OworCiAgICAgUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVdlYnNpdGVEYXRhU3RvcmVT
ZXNzaW9uKCp0aGlzLCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKIH0KIAordm9pZCBOZXR3b3JrUHJv
Y2Vzczo6aW5pdGlhbGl6ZVN0b3JhZ2VRdW90YShjb25zdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKK3sKKyAgICBhdXRvJiBtYW5hZ2VycyA9ICBtX3N0b3JhZ2VRdW90
YU1hbmFnZXJzLmVuc3VyZShwYXJhbWV0ZXJzLm5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5zZXNz
aW9uSUQsIFtdIHsKKyAgICAgICAgcmV0dXJuIFN0b3JhZ2VRdW90YU1hbmFnZXJzIHsgfTsKKyAg
ICB9KS5pdGVyYXRvci0+dmFsdWU7CisgICAgbWFuYWdlcnMuc2V0RGVmYXVsdFF1b3RhcyhwYXJh
bWV0ZXJzLnBlck9yaWdpblN0b3JhZ2VRdW90YSwgcGFyYW1ldGVycy5wZXJUaGlyZFBhcnR5T3Jp
Z2luU3RvcmFnZVF1b3RhKTsKK30KKwogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0yMDI5LDEzICsyMDQw
LDggQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2FjaGVTdG9yYWdlUm9vdFBhdGgoUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBDYWNoZVN0b3JhZ2UKICAgICB9KS5pdGVyYXRvci0+dmFsdWUuYXBw
ZW5kKFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2Fj
aGVTdG9yYWdlUGFyYW1ldGVycyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHF1
b3RhLCBTdHJpbmcmJiBjYWNoZVN0b3JhZ2VEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYmIGhhbmRsZSkKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENhY2hlU3RvcmFnZVBhcmFt
ZXRlcnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTdHJpbmcmJiBjYWNoZVN0b3JhZ2VEaXJl
Y3RvcnksIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmIGhhbmRsZSkKIHsKLSAgICBhdXRvJiBt
YW5hZ2VycyA9ICBtX3N0b3JhZ2VRdW90YU1hbmFnZXJzLmVuc3VyZShzZXNzaW9uSUQsIFtdIHsK
LSAgICAgICAgcmV0dXJuIFN0b3JhZ2VRdW90YU1hbmFnZXJzIHsgfTsKLSAgICB9KS5pdGVyYXRv
ci0+dmFsdWU7Ci0gICAgbWFuYWdlcnMuc2V0RGVmYXVsdFF1b3RhcyhxdW90YSwgcXVvdGEgLyAx
MCk7Ci0KICAgICBhdXRvIGl0ZXJhdG9yID0gbV9jYWNoZVN0b3JhZ2VQYXJhbWV0ZXJzQ2FsbGJh
Y2tzLmZpbmQoc2Vzc2lvbklEKTsKICAgICBpZiAoaXRlcmF0b3IgPT0gbV9jYWNoZVN0b3JhZ2VQ
YXJhbWV0ZXJzQ2FsbGJhY2tzLmVuZCgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggZTdkODBhYTE5N2M2NGE2
ZDZjYTNlYjc5YjRlNWY2MzAxZDhjNmRkYy4uNjM0N2MxOGM3ZGRmZGIzZDhmMmUxZjYzZmNlZDg0
ODczNDE3OGY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtMzgwLDcgKzM4MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNsZWFyQ2Fj
aGVkQ3JlZGVudGlhbHMoKTsKIAotICAgIHZvaWQgc2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyhQ
QUw6OlNlc3Npb25JRCwgdWludDY0X3QgcXVvdGEsIFN0cmluZyYmIGNhY2hlU3RvcmFnZURpcmVj
dG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpOworICAgIHZvaWQgc2V0Q2FjaGVTdG9y
YWdlUGFyYW1ldGVycyhQQUw6OlNlc3Npb25JRCwgU3RyaW5nJiYgY2FjaGVTdG9yYWdlRGlyZWN0
b3J5LCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJik7CiAgICAgdm9pZCBpbml0aWFsaXplUXVv
dGFVc2VycyhXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJiwgUEFMOjpTZXNzaW9uSUQsIGNv
bnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IHRha2UgYSBzZXNzaW9uIElEIHNvIHdlIGNhbiBpZGVudGlmeSB3aGljaCBkaXNrIGNhY2hlIHRv
IGRlbGV0ZS4KQEAgLTQ2MCw2ICs0NjAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlUGF0
aEV4aXN0cyhjb25zdCBTdHJpbmcmIHBhdGgpOwogCiAgICAgdm9pZCBjbGVhclN0b3JhZ2VRdW90
YShQQUw6OlNlc3Npb25JRCk7CisgICAgdm9pZCBpbml0aWFsaXplU3RvcmFnZVF1b3RhKGNvbnN0
IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzJik7CiAKICAgICAvLyBDb25uZWN0aW9ucyB0byBX
ZWJQcm9jZXNzZXMuCiAgICAgVmVjdG9yPFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cz4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggN2Q5ZDJlMDYw
YjE3MDNmNjk4MmFlMjAxZGE2ZjRjN2MwMjY2NTAzZS4uZGJmM2NhN2FlMmU1YjA4ZjA4ZDY1YTg4
ZGM1NjAwZmNhZTUzZDZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xNTEsNyArMTUxLDcgQEAgbWVz
c2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFJlZ2lzdGVyVVJM
U2NoZW1lQXNDT1JTRW5hYmxlZChTdHJpbmcgc2NoZW1lKQogICAgIFJlZ2lzdGVyVVJMU2NoZW1l
QXNDYW5EaXNwbGF5T25seUlmQ2FuUmVxdWVzdChTdHJpbmcgc2NoZW1lKQogCi0gICAgU2V0Q2Fj
aGVTdG9yYWdlUGFyYW1ldGVycyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IHF1
b3RhLCBTdHJpbmcgY2FjaGVTdG9yYWdlRGlyZWN0b3J5LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNp
b246OkhhbmRsZSBoYW5kbGUpOworICAgIFNldENhY2hlU3RvcmFnZVBhcmFtZXRlcnMoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBTdHJpbmcgY2FjaGVTdG9yYWdlRGlyZWN0b3J5LCBXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGUpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHN0cnVjdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIs
IHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNzYWdlLCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBTdHJpbmcgc291cmNl
T3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZURhdGFTdG9y
ZVBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZURhdGFTdG9yZVBh
cmFtZXRlcnMuY3BwCmluZGV4IGU1ZGJmY2NhNzQ5MDFkMWI0ZDNmNmVkMTdiNDczMjczYmQ0OTIy
ZTIuLmQ5MWEzNGY2YTkyNzI1YzE0MTc3M2YwOGFiNDI5ZTdlOGU1ODYzYzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5jcHAKQEAg
LTUyLDYgKzUyLDkgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5IDw8IHNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKwor
ICAgIGVuY29kZXIgPDwgcGVyT3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGVuY29kZXIgPDwgcGVy
VGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YTsKIH0KIAogT3B0aW9uYWw8V2Vic2l0ZURhdGFT
dG9yZVBhcmFtZXRlcnM+IFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyKQpAQCAtMTE3LDYgKzEyMCwxOCBAQCBPcHRpb25hbDxXZWJzaXRlRGF0
YVN0b3JlUGFyYW1ldGVycz4gV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM6OmRlY29kZShJUEM6
OkRlYwogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIHBhcmFtZXRlcnMuc2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKnNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlm
CisKKyAgICBPcHRpb25hbDx1aW50NjRfdD4gcGVyT3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGRl
Y29kZXIgPj4gcGVyT3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGlmICghcGVyT3JpZ2luU3RvcmFn
ZVF1b3RhKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHBhcmFtZXRlcnMucGVy
T3JpZ2luU3RvcmFnZVF1b3RhID0gKnBlck9yaWdpblN0b3JhZ2VRdW90YTsKKworICAgIE9wdGlv
bmFsPHVpbnQ2NF90PiBwZXJUaGlyZFBhcnR5T3JpZ2luU3RvcmFnZVF1b3RhOworICAgIGRlY29k
ZXIgPj4gcGVyVGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YTsKKyAgICBpZiAoIXBlclRoaXJk
UGFydHlPcmlnaW5TdG9yYWdlUXVvdGEpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cisg
ICAgcGFyYW1ldGVycy5wZXJUaGlyZFBhcnR5T3JpZ2luU3RvcmFnZVF1b3RhID0gKnBlclRoaXJk
UGFydHlPcmlnaW5TdG9yYWdlUXVvdGE7CiAgICAgCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMu
aAppbmRleCBmNGE1Y2UyOTg0Y2FkYjY2M2RiYjNmMGFlMjU3ZDVmM2YwNWZjOWExLi45OTJmZWU5
N2QwOTk3NGM5ZjM0N2Y2YzcwZGFhMWNlYmYzZTJmMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpbmNsdWRlICJOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUg
IlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZS5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvU3RvcmFnZVF1b3RhTWFuYWdlci5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9u
SUQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CkBAIC02OCw2ICs2OSw5IEBAIHN0cnVjdCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyB7CiAgICAgU3RyaW5nIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk7CiAgICAg
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKworICAgIHVpbnQ2NF90IHBlck9yaWdpblN0b3Jh
Z2VRdW90YSB7IFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1hbmFnZXI6OmRlZmF1bHRRdW90YSgpIH07
CisgICAgdWludDY0X3QgcGVyVGhpcmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YSB7IFdlYkNvcmU6
OlN0b3JhZ2VRdW90YU1hbmFnZXI6OmRlZmF1bHRUaGlyZFBhcnR5UXVvdGEoKSB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCBiNWQ4ZTJhOTMxOWNjYTAw
MDhiOGU5NmNlZmE1NjY0YTE4NWQ4Mzg4Li4xYjc2YmVkMjZkY2M2MDhjOWIzMmI4NDg5ZWFkMmQw
OWU4NDNlMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTU3Myw5ICs1NzMsOSBAQCB2b2lkIFdLV2Vi
c2l0ZURhdGFTdG9yZVNldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoV0tXZWJz
aXRlRGF0YVN0b3JlUgogICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVE
YXRhU3RvcmUoKS5zZXRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KFdlYktpdDo6
dG9JbXBsKHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpLT5zdHJpbmcoKSk7CiB9
CiAKLXZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0Q2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdWludDY0X3QgcXVvdGEpCit2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZVNldFBlck9yaWdpblN0b3JhZ2VRdW90YShXS1dlYnNpdGVEYXRh
U3RvcmVSZWYgZGF0YVN0b3JlUmVmLCB1aW50NjRfdCBxdW90YSkKIHsKLSAgICBXZWJLaXQ6OnRv
SW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkuc2V0Q2FjaGVTdG9yYWdlUGVy
T3JpZ2luUXVvdGEocXVvdGEpOyAKKyAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53
ZWJzaXRlRGF0YVN0b3JlKCkuc2V0UGVyT3JpZ2luU3RvcmFnZVF1b3RhKHF1b3RhKTsKIH0KIAog
dm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0
aW9uKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLRGljdGlvbmFyeVJlZiBj
b25maWd1cmF0aW9uUmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAppbmRleCA0NzljYWQ0NjMxZmNlOWI0M2E0ZWU4Mzgx
MWFmY2UxZTEyMjY0Yjg1Li5iZTEyNTkyNjk0ZmM3MWM5MzRiZjNjODI3YzFjNzBlZjA0NzE2MmY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuaApAQCAtMTI1LDcgKzEyNSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0
ZURhdGFTdG9yZUdldEZldGNoQ2FjaGVTaXplRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJl
CiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tXZWJzaXRlRGF0YVN0b3JlQ29weVNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
Zik7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5KFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdL
U3RyaW5nUmVmIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpOwogCi1XS19FWFBP
UlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRDYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YShX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCB1aW50NjRfdCBxdW90YSk7CitXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGEoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdWludDY0X3QgcXVvdGEpOwogCiBXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25m
aWd1cmF0aW9uKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLRGljdGlvbmFy
eVJlZiBjb25maWd1cmF0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KaW5kZXggMmZhM2IyMzU4YWIzNTU0
YTQwY2U1M2IzNzkzOWNjYzM5YTBjYTJkMi4uNzg2YjJkYzNmNGQ0MTEzNzE0YzRmNTViZjYxYmJl
MWVkMGRiM2YwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC0zMDYsMTQgKzMwNiwxNCBAQCBzdGF0aWMg
VmVjdG9yPFdlYktpdDo6V2Vic2l0ZURhdGFSZWNvcmQ+IHRvV2Vic2l0ZURhdGFSZWNvcmRzKE5T
QXJyYXkgKmRhdGFSZWNvcgogI2VuZGlmCiB9CiAKLS0gKE5TVUludGVnZXIpX2NhY2hlU3RvcmFn
ZVBlck9yaWdpblF1b3RhCistIChOU1VJbnRlZ2VyKV9wZXJPcmlnaW5TdG9yYWdlUXVvdGEKIHsK
LSAgICByZXR1cm4gX3dlYnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKS5jYWNoZVN0
b3JhZ2VQZXJPcmlnaW5RdW90YSgpOworICAgIHJldHVybiBfd2Vic2l0ZURhdGFTdG9yZS0+d2Vi
c2l0ZURhdGFTdG9yZSgpLnBlck9yaWdpblN0b3JhZ2VRdW90YSgpOwogfQogCi0tICh2b2lkKV9z
ZXRDYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YTooTlNVSW50ZWdlcilzaXplCistICh2b2lkKV9z
ZXRQZXJPcmlnaW5TdG9yYWdlUXVvdGE6KE5TVUludGVnZXIpc2l6ZQogewotICAgIF93ZWJzaXRl
RGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkuc2V0Q2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVv
dGEoc2l6ZSk7CisgICAgX3dlYnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRQ
ZXJPcmlnaW5TdG9yYWdlUXVvdGEoc2l6ZSk7CiB9CiAKIC0gKE5TU3RyaW5nICopX2NhY2hlU3Rv
cmFnZURpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKaW5kZXggMDhhZWQzYWI5YjA1
NDQwNWMzNGYxMjAyYTk0ODc4OWVlOWEzY2Q0Yy4uMGExOWEwZDAyNmQxMGQ1YjgyNjczMDI3NGZh
ZDdhMWY3YmJmNmRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCkBAIC00OCw3ICs0OCw3
IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0
Y2hPcHRpb25zKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkOikgQk9PTCBfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlOikg
Qk9PTCBfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjE0KSwgaW9zKDEyLjApKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhOikgTlNVSW50ZWdlciBfY2FjaGVTdG9yYWdlUGVy
T3JpZ2luUXVvdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBlck9yaWdpblN0b3JhZ2VRdW90YTop
IE5TVUludGVnZXIgX3Blck9yaWdpblN0b3JhZ2VRdW90YSBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
Q2FjaGVTdG9yYWdlRGlyZWN0b3J5OikgTlNTdHJpbmcqIF9jYWNoZVN0b3JhZ2VEaXJlY3Rvcnkg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk6
KSBOU1N0cmluZyogX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXgg
YzE2MzFmOTcxMTU5ZDMwMjhkZTlmMjkxOTM5ZjkyNzI3NTFkYjRiYS4uMmQ4ZGJjNTRkZGIxNzg1
OWViNmM2NTViNDI2YTQ1MTVkNTk2MzM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xMTM4LDggKzEx
MzgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnJldHJpZXZlQ2FjaGVTdG9yYWdlUGFy
YW1ldGVycyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSQogCiAgICAgaWYgKCFzdG9yZSkgewogICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUihDYWNoZVN0b3JhZ2UsICIlcCAtIE5ldHdvcmtQcm9jZXNz
UHJveHkgaXMgdW5hYmxlIHRvIHJldHJpZXZlIENhY2hlU3RvcmFnZSBwYXJhbWV0ZXJzIGZyb20g
dGhlIGdpdmVuIHNlc3Npb24gSUQgJSIgUFJJdTY0LCB0aGlzLCBzZXNzaW9uSUQuc2Vzc2lvbklE
KCkpOwotICAgICAgICBhdXRvIHF1b3RhID0gbV9wcm9jZXNzUG9vbC53ZWJzaXRlRGF0YVN0b3Jl
KCkgPyBtX3Byb2Nlc3NQb29sLndlYnNpdGVEYXRhU3RvcmUoKS0+d2Vic2l0ZURhdGFTdG9yZSgp
LmNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKCkgOiBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbjo6ZGVmYXVsdENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhOwotICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyB7IHNlc3Np
b25JRCwgcXVvdGEsIHsgfSwgeyB9IH0sIDApOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6U2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyB7IHNlc3Npb25JRCwgeyB9LCB7
IH0gfSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExNDgsNyArMTE0Nyw3IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmV0cmlldmVDYWNoZVN0b3JhZ2VQYXJhbWV0ZXJz
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JCiAgICAgaWYgKCFjYWNoZVN0b3JhZ2VEaXJlY3Rvcnku
aXNFbXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFk
V3JpdGVEaXJlY3RvcnkoY2FjaGVTdG9yYWdlRGlyZWN0b3J5LCBjYWNoZVN0b3JhZ2VEaXJlY3Rv
cnlFeHRlbnNpb25IYW5kbGUpOwogCi0gICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6
OlNldENhY2hlU3RvcmFnZVBhcmFtZXRlcnMgeyBzZXNzaW9uSUQsIHN0b3JlLT5jYWNoZVN0b3Jh
Z2VQZXJPcmlnaW5RdW90YSgpLCBjYWNoZVN0b3JhZ2VEaXJlY3RvcnksIGNhY2hlU3RvcmFnZURp
cmVjdG9yeUV4dGVuc2lvbkhhbmRsZSB9LCAwKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
UHJvY2Vzczo6U2V0Q2FjaGVTdG9yYWdlUGFyYW1ldGVycyB7IHNlc3Npb25JRCwgY2FjaGVTdG9y
YWdlRGlyZWN0b3J5LCBjYWNoZVN0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUgfSwgMCk7
CiB9CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDRjM2YxZTc0YWFjZTM0YTVhNzRmZTViODcy
ZGY1MGM1MjQ3YTlhYzMuLmZkMDMyY2M1M2ZiOTM2OTc1ZGU3MWYzODI2ZTQxY2FkZTJiN2E5YjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTU4OCw2
ICs1ODgsOSBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0
d29ya1Byb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2l0aAogICAgICAgICAgICAgZW5hYmxlUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZSA9IG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5l
bmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlOwogICAgICAgICAgICAgbWFudWFs
UHJldmFsZW50UmVzb3VyY2UgPSBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMucmVzb3VyY2VMb2Fk
U3RhdGlzdGljc01hbnVhbFByZXZhbGVudFJlc291cmNlOwogICAgICAgICB9CisKKyAgICAgICAg
cGFyYW1ldGVycy5kZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVycy5wZXJPcmlnaW5TdG9yYWdlUXVv
dGEgPSB3aXRoV2Vic2l0ZURhdGFTdG9yZS0+cGVyT3JpZ2luU3RvcmFnZVF1b3RhKCk7CisgICAg
ICAgIHBhcmFtZXRlcnMuZGVmYXVsdERhdGFTdG9yZVBhcmFtZXRlcnMucGVyVGhpcmRQYXJ0eU9y
aWdpblN0b3JhZ2VRdW90YSA9IHdpdGhXZWJzaXRlRGF0YVN0b3JlLT5wZXJUaGlyZFBhcnR5T3Jp
Z2luU3RvcmFnZVF1b3RhKCk7CiAgICAgfSBlbHNlIGlmIChtX3dlYnNpdGVEYXRhU3RvcmUpIHsK
ICAgICAgICAgZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljcyA9IG1fd2Vic2l0ZURhdGFTdG9y
ZS0+cmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoKTsKICAgICAgICAgaWYgKGVuYWJsZVJl
c291cmNlTG9hZFN0YXRpc3RpY3MpIHsKQEAgLTU5Niw2ICs1OTksOSBAQCBOZXR3b3JrUHJvY2Vz
c1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3MoV2Vic2l0ZURhdGFT
dG9yZSogd2l0aAogICAgICAgICAgICAgZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVn
TW9kZSA9IG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5lbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGVidWdNb2RlOwogICAgICAgICAgICAgbWFudWFsUHJldmFsZW50UmVzb3VyY2UgPSBuZXR3
b3JrU2Vzc2lvblBhcmFtZXRlcnMucmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbnVhbFByZXZhbGVu
dFJlc291cmNlOwogICAgICAgICB9CisKKyAgICAgICAgcGFyYW1ldGVycy5kZWZhdWx0RGF0YVN0
b3JlUGFyYW1ldGVycy5wZXJPcmlnaW5TdG9yYWdlUXVvdGEgPSBtX3dlYnNpdGVEYXRhU3RvcmUt
PndlYnNpdGVEYXRhU3RvcmUoKS5wZXJPcmlnaW5TdG9yYWdlUXVvdGEoKTsKKyAgICAgICAgcGFy
YW1ldGVycy5kZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVycy5wZXJUaGlyZFBhcnR5T3JpZ2luU3Rv
cmFnZVF1b3RhID0gbV93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkucGVyVGhp
cmRQYXJ0eU9yaWdpblN0b3JhZ2VRdW90YSgpOwogICAgIH0KIAogICAgIHBhcmFtZXRlcnMuZGVm
YXVsdERhdGFTdG9yZVBhcmFtZXRlcnMubmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJzLmVuYWJsZVJl
c291cmNlTG9hZFN0YXRpc3RpY3MgPSBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0
ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
Q29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IGEzNGQ1N2M3YzllYTQ1MTdiMzA0
NThhNjVjYWZjNDNkODk1MDdlOWEuLmM0NWM2OWMxZWUxNjJkNWRkNWY0MTgxNTQ1ODYzM2Y3ZGM5
NDZkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0Nv
Y29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTE1OSw2ICsx
NTksOSBAQCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0b3JlOjpwYXJh
bWV0ZXJzKCkKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZFdy
aXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eSwgcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlKTsKICNlbmRpZgogCisgICAgcGFyYW1ldGVycy5wZXJPcmlnaW5TdG9yYWdlUXVvdGEg
PSBwZXJPcmlnaW5TdG9yYWdlUXVvdGEoKTsKKyAgICBwYXJhbWV0ZXJzLnBlclRoaXJkUGFydHlP
cmlnaW5TdG9yYWdlUXVvdGEgPSBwZXJUaGlyZFBhcnR5T3JpZ2luU3RvcmFnZVF1b3RhKCk7CisK
ICAgICByZXR1cm4gcGFyYW1ldGVyczsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCA4MDMxMzA0
ZDM0OWI1NjM5NWVkN2EyMzkyMTRkNDIxZmQxYWI1NDBmLi44NmQ3YmYwOTY4NmQ5N2ZkZTc5MzBk
OGFkNDM3MzE5Mzk4YzljNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtNTAsNiArNTAsNyBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21haW4uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaD4KICNpbmNsdWRlIDx3
dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CkBAIC0yMTAyLDYgKzIxMDMs
MTIgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpjbGVhclBlbmRpbmdDb29raWVzKCkKICAgICBt
X3BlbmRpbmdDb29raWVzLmNsZWFyKCk7CiB9CiAKK3VpbnQ2NF90IFdlYnNpdGVEYXRhU3RvcmU6
OnBlclRoaXJkUGFydHlPcmlnaW5TdG9yYWdlUXVvdGEoKSBjb25zdAoreworICAgIC8vIEZJWE1F
OiBDb25zaWRlciB3aGV0aGVyIGFsbG93aW5nIHRvIHNldCBhIHBlclRoaXJkUGFydHlPcmlnaW5T
dG9yYWdlUXVvdGEgZnJvbSBhIFdlYnNpdGVEYXRhU3RvcmUuCisgICAgcmV0dXJuIFdlYkNvcmU6
OlN0b3JhZ2VRdW90YU1hbmFnZXI6OmRlZmF1bHRUaGlyZFBhcnR5UXVvdGFGcm9tUGVyT3JpZ2lu
UXVvdGEocGVyT3JpZ2luU3RvcmFnZVF1b3RhKCkpOworfQorCiAjaWYgIVBMQVRGT1JNKENPQ09B
KQogV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6cGFyYW1ldGVy
cygpCiB7CkBAIC0yMTIyLDYgKzIxMjksOSBAQCBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBX
ZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKCkKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlRm9yUmVhZFdyaXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMuc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeSwgcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgogCisgICAgcGFyYW1ldGVycy5w
ZXJPcmlnaW5TdG9yYWdlUXVvdGEgPSBwZXJPcmlnaW5TdG9yYWdlUXVvdGEoKTsKKyAgICBwYXJh
bWV0ZXJzLnBlclRoaXJkUGFydHlPcmlnaW5TdG9yYWdlUXVvdGEgPSBwZXJUaGlyZFBhcnR5T3Jp
Z2luU3RvcmFnZVF1b3RhKCk7CisKICAgICBwbGF0Zm9ybVNldE5ldHdvcmtQYXJhbWV0ZXJzKHBh
cmFtZXRlcnMpOwogCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKaW5kZXggMGM2
ZjM5NmM4YWQwMTQ4Y2M0ZmZlMzE5N2NjMDk0NzlkNjYzNWQyNy4uZmMwYmNlMWZjYjU1OTdlNDM3
YTU1MTI4MjY0ZGY4OWZlNGNhZDEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtMTA3LDggKzEwNyw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUoYm9v
bCk7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlKGJvb2wsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKLSAgICB1aW50NjRfdCBjYWNoZVN0b3JhZ2VQ
ZXJPcmlnaW5RdW90YSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5j
YWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSgpOyB9Ci0gICAgdm9pZCBzZXRDYWNoZVN0b3JhZ2VQ
ZXJPcmlnaW5RdW90YSh1aW50NjRfdCBxdW90YSkgeyBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+
c2V0Q2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEocXVvdGEpOyB9CisgICAgdWludDY0X3QgcGVy
T3JpZ2luU3RvcmFnZVF1b3RhKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRp
b24tPnBlck9yaWdpblN0b3JhZ2VRdW90YSgpOyB9CisgICAgdWludDY0X3QgcGVyVGhpcmRQYXJ0
eU9yaWdpblN0b3JhZ2VRdW90YSgpIGNvbnN0OworICAgIHZvaWQgc2V0UGVyT3JpZ2luU3RvcmFn
ZVF1b3RhKHVpbnQ2NF90IHF1b3RhKSB7IG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRQZXJP
cmlnaW5TdG9yYWdlUXVvdGEocXVvdGEpOyB9CiAgICAgY29uc3QgU3RyaW5nJiBjYWNoZVN0b3Jh
Z2VEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+Y2Fj
aGVTdG9yYWdlRGlyZWN0b3J5KCk7IH0KICAgICB2b2lkIHNldENhY2hlU3RvcmFnZURpcmVjdG9y
eShTdHJpbmcmJiBkaXJlY3RvcnkpIHsgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnNldENhY2hl
U3RvcmFnZURpcmVjdG9yeShXVEZNb3ZlKGRpcmVjdG9yeSkpOyB9CiAgICAgY29uc3QgU3RyaW5n
JiBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNvbHZlZENvbmZpZ3VyYXRpb24tPnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnko
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IGQ4NzY3
MzMxMWYyZjRmMjBjNjBlMGY0OGU3YTFlZmQ3NTZhZDc2ZWYuLjk5ZjU3ZTRhZTNhNGUxNDM3YjU0
YjI1MjUwZjcyMTdhMzEyMGEyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbi5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgUmVmPFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uPiBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y29weSgpCiAgICAgYXV0byBjb3B5
ID0gV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNyZWF0ZSgpOwogCiAgICAgY29weS0+
bV9jYWNoZVN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX2NhY2hlU3RvcmFnZURpcmVjdG9yeTsK
LSAgICBjb3B5LT5tX2NhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhID0gdGhpcy0+bV9jYWNoZVN0
b3JhZ2VQZXJPcmlnaW5RdW90YTsKKyAgICBjb3B5LT5tX3Blck9yaWdpblN0b3JhZ2VRdW90YSA9
IHRoaXMtPm1fcGVyT3JpZ2luU3RvcmFnZVF1b3RhOwogICAgIGNvcHktPm1fbmV0d29ya0NhY2hl
RGlyZWN0b3J5ID0gdGhpcy0+bV9uZXR3b3JrQ2FjaGVEaXJlY3Rvcnk7CiAgICAgY29weS0+bV9h
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5ID0gdGhpcy0+bV9hcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5OwogICAgIGNvcHktPm1fYXBwbGljYXRpb25DYWNoZUZsYXRGaWxlU3ViZGlyZWN0b3J5TmFt
ZSA9IHRoaXMtPm1fYXBwbGljYXRpb25DYWNoZUZsYXRGaWxlU3ViZGlyZWN0b3J5TmFtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCmluZGV4IDEwMTJjYjNhNGE4ZDkzMTdm
MGYyMmE0MDU1ZTQxNmJlNjc2MjBkMjEuLjljYzhhNTA3OWJjMGFmZWE0MjkxOTcwNmIwNjIxMjhi
NTdmY2IyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaApAQCAtMzcs
OCArMzcsOCBAQCBwdWJsaWM6CiAKICAgICBSZWY8V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24+IGNvcHkoKTsKIAotICAgIHVpbnQ2NF90IGNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhKCkg
eyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YTsgfQotICAgIHZvaWQgc2V0Q2Fj
aGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEodWludDY0X3QgcXVvdGEpIHsgbV9jYWNoZVN0b3JhZ2VQ
ZXJPcmlnaW5RdW90YSA9IHF1b3RhOyB9CisgICAgdWludDY0X3QgcGVyT3JpZ2luU3RvcmFnZVF1
b3RhKCkgeyByZXR1cm4gbV9wZXJPcmlnaW5TdG9yYWdlUXVvdGE7IH0KKyAgICB2b2lkIHNldFBl
ck9yaWdpblN0b3JhZ2VRdW90YSh1aW50NjRfdCBxdW90YSkgeyBtX3Blck9yaWdpblN0b3JhZ2VR
dW90YSA9IHF1b3RhOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uQ2FjaGVEaXJl
Y3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnk7IH0KICAg
ICB2b2lkIHNldEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoU3RyaW5nJiYgZGlyZWN0b3J5KSB7
IG1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSA9IFdURk1vdmUoZGlyZWN0b3J5KTsgfQpAQCAt
OTcsMTMgKzk3LDEzIEBAIHB1YmxpYzoKICAgICBjb25zdCBVUkwmIGh0dHBzUHJveHkoKSBjb25z
dCB7IHJldHVybiBtX2h0dHBzUHJveHk7IH0KICAgICB2b2lkIHNldEhUVFBTUHJveHkoVVJMJiYg
cHJveHkpIHsgbV9odHRwc1Byb3h5ID0gV1RGTW92ZShwcm94eSk7IH0KIAotICAgIGNvbnN0ZXhw
ciBzdGF0aWMgdWludDY0X3QgZGVmYXVsdENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhID0gNTAg
KiAxMDI0ICogMTAyNDsKKyAgICBjb25zdGV4cHIgc3RhdGljIHVpbnQ2NF90IGRlZmF1bHRQZXJP
cmlnaW5TdG9yYWdlUXVvdGEgPSA1MCAqIDEwMjQgKiAxMDI0OwogCiBwcml2YXRlOgogICAgIFdl
YnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uKCk7CiAKICAgICBTdHJpbmcgbV9jYWNoZVN0b3Jh
Z2VEaXJlY3Rvcnk7Ci0gICAgdWludDY0X3QgbV9jYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSB7
IGRlZmF1bHRDYWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSB9OworICAgIHVpbnQ2NF90IG1fcGVy
T3JpZ2luU3RvcmFnZVF1b3RhIHsgZGVmYXVsdFBlck9yaWdpblN0b3JhZ2VRdW90YSB9OwogICAg
IFN0cmluZyBtX25ldHdvcmtDYWNoZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9hcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5OwogICAgIFN0cmluZyBtX2FwcGxpY2F0aW9uQ2FjaGVGbGF0RmlsZVN1
YmRpcmVjdG9yeU5hbWU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggNTA3YjcyNjc3ZDNhMjY5OGE5MDcwM2QzMjE0YWJkYmI2ZjAwM2QxOC4uMTE3
ZGFlYWZkMjQ0YWMwNzE5ZGM0YTFlNmJkZTk5MjQ1NzlmMTM2NiAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTA0
LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzIHN0
b3JhZ2UgcXVvdGEgcGFyYW1ldGVycyBmcm9tIFVJUHJvY2VzcyB0byBOZXR3b3JrUHJvY2VzcyBh
cyBwYXJ0IG9mIFdlYnNpdGVEYXRhU3RvcmUgcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NTQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmdlbmVyYXRlUGFnZUNv
bmZpZ3VyYXRpb24pOgorCiAyMDE5LTA0LTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBFdmVudFNlbmRlclByb3h5IGNvbnN0cnVjdG9yIGlz
IGNhbGxlZCBiZWZvcmUgYSBQbGF0Zm9ybVdpbmRvdyBpcyB1c2FibGUKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYzYxYzk3YTQ3ZDc1MWJmYjlkOGRiN2U2
ZDg4MDNjNTg4MGVhZDNhZi4uNTNkMTM0NzE0MzNjMGYxMzJmYTg1YjE1YzQ3ZTdmODU4YjVkYTU0
YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTUxNyw3
ICs1MTcsNyBAQCBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9uUmVmPiBUZXN0Q29udHJv
bGxlcjo6Z2VuZXJhdGVQYWdlQ29uZmlndXJhdGlvbihjbwogICAgICAgICBXS0NvbnRleHRTZXRD
YWNoZU1vZGVsKG1fY29udGV4dC5nZXQoKSwga1dLQ2FjaGVNb2RlbERvY3VtZW50QnJvd3Nlcik7
CiAKICAgICAgICAgYXV0byogd2Vic2l0ZURhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVE
YXRhU3RvcmUobV9jb250ZXh0LmdldCgpKTsKLSAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0
Q2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEod2Vic2l0ZURhdGFTdG9yZSwgNDAwICogMTAyNCk7
CisgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFBlck9yaWdpblN0b3JhZ2VRdW90YSh3ZWJz
aXRlRGF0YVN0b3JlLCA0MDAgKiAxMDI0KTsKIAogICAgICAgICBwbGF0Zm9ybUluaXRpYWxpemVD
b250ZXh0KCk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>