<?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>157161</bug_id>
          
          <creation_ts>2016-04-28 19:13:25 -0700</creation_ts>
          <short_desc>[Web IDL] Specify default values for optional parameters of wrapper types</short_desc>
          <delta_ts>2016-04-29 09:51:31 -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>Bindings</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>sam</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1188483</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-28 19:13:25 -0700</bug_when>
    <thetext>[Web IDL] Specify default values for optional parameters of wrapper types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188505</commentid>
    <comment_count>1</comment_count>
      <attachid>277672</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-28 21:35:57 -0700</bug_when>
    <thetext>Created attachment 277672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188628</commentid>
    <comment_count>2</comment_count>
      <attachid>277704</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-29 09:11:46 -0700</bug_when>
    <thetext>Created attachment 277704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188658</commentid>
    <comment_count>3</comment_count>
      <attachid>277704</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-29 09:51:26 -0700</bug_when>
    <thetext>Comment on attachment 277704
Patch

Clearing flags on attachment: 277704

Committed r200246: &lt;http://trac.webkit.org/changeset/200246&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188659</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-29 09:51:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277672</attachid>
            <date>2016-04-28 21:35:57 -0700</date>
            <delta_ts>2016-04-29 09:11:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157161-20160428213629.patch</filename>
            <type>text/plain</type>
            <size>38010</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzM3YjZiODNkYWJlNTZk
ZjM3OTg4OTA5NWUwNWJkM2Q3YzlkYWJjYy4uZjMxZmVhZTI3ZjhmMmYzM2ZmZjdkNjljNjNjMDQy
N2E5NGU3NDIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDE2LTA0LTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBJRExdIFNwZWNpZnkg
ZGVmYXVsdCB2YWx1ZXMgZm9yIG9wdGlvbmFsIHBhcmFtZXRlcnMgb2Ygd3JhcHBlciB0eXBlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MTYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY2lmeSBk
ZWZhdWx0IHZhbHVlcyBmb3Igb3B0aW9uYWwgcGFyYW1ldGVycyBvZiB3cmFwcGVyIHR5cGVzLgor
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCSW5kZXg6OmNvdW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJJbmRleC5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4Lmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6Y291bnQpOiBEZWxldGVkLgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmg6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5l
Y3Rpb246OmNyZWF0ZURhdGFDaGFubmVsKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKFdpbGxDb252ZXJ0VW5kZWZpbmVkVG9EZWZh
dWx0UGFyYW1ldGVyVmFsdWUpOgorICAgICAgICBPcHRpbWl6YXRpb24gdG8gYXZvaWQgZ2VuZXJh
dGluZyBhIHRlcm5hcnkgaWYgdGhlIGRlZmF1bHQKKyAgICAgICAgdmFsdWUgb2YgYSB3cmFwcGVy
IHR5cGUgcGFyYW1ldGVyIGlzIG51bGwsIHNpbmNlIHVuZGVmaW5lZAorICAgICAgICB3aWxsIGFs
cmVhZHkgY29udmVydCB0byBudWxsIGZvciB0aG9zZS4KKworICAgICAgICAoR2VuZXJhdGVQYXJh
bWV0ZXJzQ2hlY2spOgorICAgICAgICBVc2UgbnVsbCBhcyBpbXBsaWNpdCBkZWZhdWx0IHZhbHVl
IGZvciBudWxsYWJsZSBwYXJhbWV0ZXJzLCBnaXZlbiB0aGF0IFdlYiBJREwKKyAgICAgICAgY29u
dmVydHMgdW5kZWZpbmVkIHRvIG51bGwgZm9yIHN1Y2ggcGFyYW1ldGVyczoKKyAgICAgICAgaHR0
cDovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1udWxsYWJsZS10eXBlCisKKyAgICAgICAg
KENhblVzZVdURk9wdGlvbmFsRm9yUGFyYW1ldGVyKToKKyAgICAgICAgRHJvcCB0aGUgY2hlY2sg
Zm9yIHdyYXBwZXIgdHlwZXMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvKjoK
KyAgICAgICAgSW1wcm92ZSBiaW5kaW5ncyB0ZXN0cyBjb3ZlcmFnZSAvIHJlYmFzZWxpbmUuCisK
KyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3QuaWRsOgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmlkbDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorCisgICAg
ICAgICogaHRtbC9jYW52YXMvRE9NUGF0aC5pZGw6CisgICAgICAgIFRoZSBwcmV2aW91cyBzeW50
YXggd2FzIHdvcmtpbmcgYmVjYXVzZSB0aGUgYmluZGluZ3Mgd2FzIGdlbmVyYXRpbmcgYW4gZWFy
bHkKKyAgICAgICAgcmV0dXJuIGlmIGFkZFBhdGgoKSB3YXMgY2FsbGVkIHdpdGggb25seSBvbmUg
cGFyYW1ldGVyLCBjYWxsaW5nIHRoZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBtZXRob2Qgd2l0
aCBvbmx5IDEgcGFyYW1ldGVyLiBIb3dldmVyLCBzaW5jZSB3ZSBubyBsb25nZXIKKyAgICAgICAg
Z2VuZXJhdGUgZWFybHkgcmV0dXJucyBmb3Igb3B0aW9uYWwgcGFyYW1ldGVycywgd2Ugbm93IGhh
dmUgdG8gdXNlIGEgc2xpZ2h0bHkKKyAgICAgICAgZGlmZmVyZW50IHN5bnRheCB0byBtYWludGFp
biB0aGUgcHJldmlvdXMgYmVoYXZpb3IuIFRoaXMgaXMgb25seSB0ZW1wb3JhcnksCisgICAgICAg
IEkganVzdCBkaWQgbm90IHdhbnQgdG8gZGVhbCB3aXRoIFNWRyB0ZWFyIG9mZiB0eXBlcyBpbiB0
aGlzIHBhdGNoIHNpbmNlIHRoZXkKKyAgICAgICAgYXJlIHZlcnkgc3BlY2lhbCBpbiB0aGUgYmlu
ZGluZ3MgZ2VuZXJhdG9yLgorCisgICAgICAgICogcGFnZS9ET01TZWxlY3Rpb24uaWRsOgorICAg
ICAgICBUaGUgbm9kZSBwYXJhbWV0ZXIgdG8gZXh0ZW5kKCkgd2FzIGNvbmZ1c2luZ2x5IG1hcmtl
ZCBhcyBvcHRpb25hbC4gSG93ZXZlciwKKyAgICAgICAgd2hlbiBvbWl0dGVkLCBpdCB3b3VsZCBn
ZXQgdHJhbnNsYXRlZCBpbnRvIG51bGwsIHdoaWNoIHdvdWxkIHRocm93IGFuCisgICAgICAgIGV4
Y2VwdGlvbiBzaW5jZSB0aGUgdHlwZSBpcyBub3QgbnVsbGFibGUuIFNpbmNlIHRoZSBzcGVjaWZp
Y2F0aW9uIHNheXMgJ25vZGUnCisgICAgICAgIHNob3VsZCBub3QgYmUgb3B0aW9uYWwsIGFuZCBz
aW5jZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UsIEkgZHJvcHBlZAorICAgICAgICB0aGUg
J29wdGlvbmFsJy4gVGhlIG9ubHkgd2ViLWV4cG9zZWQgZGlmZmVyZW5jZSBpcyB0aGUgbWVzc2Fn
ZSBwcm92aWRlZCB3aXRoCisgICAgICAgIHRoZSBUeXBlRXJyb3IgdGhhdCBpcyB0aHJvd24gd2hl
biBjYWxsZWQgd2l0aG91dCBlbm91Z2ggcGFyYW1ldGVycy4gVGhlIG5ldworICAgICAgICBtZXNz
YWdlIGlzIG1vcmUgYWNjdXJhdGUgKHNlZSByZWJhc2VsaW5lZCBsYXlvdXQgdGVzdCkuCisKKyAg
ICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6CisgICAgICAgIFRoZSBwYXJhbWV0ZXIg
Zm9yIHNldE9yaWVudFRvQW5nbGUoKSB3YXMgY29uZnVzaW5nbHkgbWFya2VkIGFzIG9wdGlvbmFs
IGFuZAorICAgICAgICBoYXZpbmcgYSBkZWZhdWx0IHZhbHVlIG9mIG51bGwuIEhvd2V2ZXIsIHRo
ZSBiaW5kaW5ncyB3b3VsZCB0aHJvdyBhIFR5cGVFcnJvcgorICAgICAgICBpZiBjYWxsZWQgd2l0
aCBubyBwYXJhbWV0ZXJzIG9yIHdoZW4gY2FsbGluZyBpdCB3aXRoIG51bGwuIFRoaXMgaXMgYmVj
YXVzZQorICAgICAgICB0aGlzIGlzIGFuIFNWRyBUZWFyIG9mZiB0eXBlIGFuZCB0aGUgYmluZGlu
Z3MgYWx3YXlzIHRocm93IHdoZW4gcGFzc2luZyBudWxsCisgICAgICAgIGZvciBhbiBTVkcgVGVh
ciBvZmYgdHlwZS4gSSB0aGVyZWZvcmUgdXBkYXRlZCB0aGUgSURMIHRvIHJlZmxlY3QgdGhlIGFj
dHVhbAorICAgICAgICBiZWhhdmlvciAobm8gYWN0dWFsIGJlaGF2aW9yIGNoYW5nZSkuIFRoZSBu
ZXcgSURMIGFsc28gbm93IG1hdGNoZXMgdGhlIHNwZWM6CisgICAgICAgIGh0dHA6Ly93d3cudzMu
b3JnL1RSL1NWRzIvcGFpbnRpbmcuaHRtbCNJbnRlcmZhY2VTVkdNYXJrZXJFbGVtZW50CisKKyAg
ICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6CisgICAgICAgIFNhbWUgY29tbWVudHMgYXMg
Zm9yIFNWR01hcmtlckVsZW1lbnQuIFRoZSBuZXcgSURMIG1hdGNoZXMgdGhlIGFjdHVhbAorICAg
ICAgICBiZWhhdmlvciBhbmQgaXMgY2xvc2VyIHRvIHRoZSBzcGVjaWZpY2F0aW9uLiBJIGFkZGVk
IEZJWE1FIGNvbW1lbnRzIGZvciB3aGVuCisgICAgICAgIGl0IGRvZXMgbm90IG1hdGNoIHRoZSBz
cGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcyL3N0cnVjdC5o
dG1sI0ludGVyZmFjZVNWR1NWR0VsZW1lbnQKKyAgICAgICAgSSBkaWQgbm90IGNoYW5nZSB3ZWIt
ZXhwb3NlZCBiZWhhdmlvciBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgICogc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5pZGw6CisgICAgICAgIFNhbWUgYXMgYWJvdmUuIE5vIGFjdHVhbCBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
CisgICAgICAgICogeG1sL1hQYXRoRXZhbHVhdG9yLmlkbDoKKwogMjAxNi0wNC0yOCAgSm9hbm1h
cmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IFtBVEtdIEV4cG9z
ZSBzdWJzY3JpcHQgYW5kIHN1cGVyc2NyaXB0IGZvcm1hdCBzdHlsZSBncm91cHMgdXNpbmcgQVRL
X1JPTEVfU1VCU0NSSVBUIGFuZCBBVEtfUk9MRV9TVVBFUlNDUklQVApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwCmluZGV4IDQzYzJlM2RlODc3MDhiMjVl
ODAyOWE0Y2Y0NjUzNjAxNDJmYzcyOTcuLjQ4OTUxMjA4NDEwOTM2M2RlNDk2NDZiYTJiZTY0MmEx
OTVkNzZiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkluZGV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRl
eC5jcHAKQEAgLTEzNywxMyArMTM3LDYgQEAgUmVmUHRyPElEQlJlcXVlc3Q+IElEQkluZGV4Ojpv
cGVuQ3Vyc29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEpTVmFsdWUKICAgICBy
ZXR1cm4gb3BlbkN1cnNvcihjb250ZXh0LCBrZXlSYW5nZS5nZXQoKSwgZGlyZWN0aW9uLCBlYyk7
CiB9CiAKLVJlZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRleDo6Y291bnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJiBlYykKLXsKLSAgICBM
T0coSW5kZXhlZERCLCAiSURCSW5kZXg6OmNvdW50Iik7Ci0KLSAgICByZXR1cm4gZG9Db3VudChj
b250ZXh0LCBJREJLZXlSYW5nZURhdGE6OmFsbEtleXMoKSwgZWMpOwotfQotCiBSZWZQdHI8SURC
UmVxdWVzdD4gSURCSW5kZXg6OmNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IElEQktleVJhbmdlKiByYW5nZSwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJiBlYykKIHsKICAg
ICBMT0coSW5kZXhlZERCLCAiSURCSW5kZXg6OmNvdW50Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguaAppbmRleCBmMjhmMzIzZTk1NTNhMjQ1MzNjMTFjMjFh
MGZmOGZiMjVhZDAzM2RkLi5kN2YzOGJiNzg1ZjlhMGVkM2Q1ZGEzNjdkNWQ1M2JlMTk3ZWYxMzk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmgKQEAgLTUy
LDcgKzUyLDYgQEAgcHVibGljOgogICAgIFJlZlB0cjxJREJSZXF1ZXN0PiBvcGVuQ3Vyc29yKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJREJLZXlSYW5nZSosIGNvbnN0IFN0cmluZyYgZGlyZWN0
aW9uLCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKTsKICAgICBSZWZQdHI8SURCUmVxdWVzdD4g
b3BlbkN1cnNvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpKU1ZhbHVlIGtleSwgY29u
c3QgU3RyaW5nJiBkaXJlY3Rpb24sIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpOwogCi0gICAg
UmVmUHRyPElEQlJlcXVlc3Q+IGNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBFeGNlcHRp
b25Db2RlV2l0aE1lc3NhZ2UmKTsKICAgICBSZWZQdHI8SURCUmVxdWVzdD4gY291bnQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIElEQktleVJhbmdlKiwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdl
Jik7CiAgICAgUmVmUHRyPElEQlJlcXVlc3Q+IGNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBKU0M6OkpTVmFsdWUga2V5LCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsCmluZGV4IDNmZGExZTk2
OGQ1MDU4Zjc5MTRkYzJhZDZhNmRkYmI3YWUxZTkxOWEuLjM1NTMxZjY3MTQ1NGE1ZWY5ZmEzMGU5
NmQ1MGI0ODJkNGVjZjQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkluZGV4LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJJbmRleC5pZGwKQEAgLTQ2LDcgKzQ2LDcgQEAKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIElEQlJlcXVlc3QgZ2V0
KGFueSBrZXkpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNF
eGNlcHRpb25XaXRoTWVzc2FnZV0gSURCUmVxdWVzdCBnZXRLZXkoSURCS2V5UmFuZ2U/IGtleSk7
CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbldp
dGhNZXNzYWdlXSBJREJSZXF1ZXN0IGdldEtleShhbnkga2V5KTsKLSAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIElEQlJlcXVl
c3QgY291bnQob3B0aW9uYWwgSURCS2V5UmFuZ2U/IHJhbmdlKTsKKyAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIElEQlJlcXVl
c3QgY291bnQob3B0aW9uYWwgSURCS2V5UmFuZ2U/IHJhbmdlID0gbnVsbCk7CiAgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlXSBJ
REJSZXF1ZXN0IGNvdW50KGFueSBrZXkpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCmluZGV4IDg5YzkzYjk4MTM1NWJi
ZDAzYmQxZThmNTk1YmVmZjFjZDdlNmZkYjcuLjYwMDUwODg5YjRjZjk4MzA1NDg3YmI5Y2Y4OWNj
MmM2ZWNmNGVlNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQk9iamVjdFN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPYmplY3RTdG9yZS5jcHAKQEAgLTU3MiwxMyArNTcyLDYgQEAgdm9pZCBJREJPYmplY3RT
dG9yZTo6ZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlV2l0aE1l
c3NhZ2UmIGUKICAgICBtX3RyYW5zYWN0aW9uLT5kZWxldGVJbmRleChtX2luZm8uaWRlbnRpZmll
cigpLCBuYW1lKTsKIH0KIAotUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpjb3Vu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBFeGNlcHRpb25Db2RlV2l0aE1lc3Nh
Z2UmIGVjKQotewotICAgIExPRyhJbmRleGVkREIsICJJREJPYmplY3RTdG9yZTo6Y291bnQiKTsK
LQotICAgIHJldHVybiBkb0NvdW50KGNvbnRleHQsIElEQktleVJhbmdlRGF0YTo6YWxsS2V5cygp
LCBlYyk7Ci19Ci0KIFJlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6Y291bnQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNWYWx1ZSBrZXksIEV4Y2VwdGlvbkNvZGVX
aXRoTWVzc2FnZSYgZWMpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQk9iamVjdFN0b3JlOjpj
b3VudCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmgKaW5kZXggZGU5NzYxNTQ4MjVjMzAzMmUwZjY0Mjg1ZDk1MGNhMDk2OGMwNjgyYy4u
NzRkOTg1ZjEzMDgzM2I4NTQ0MjkwMWViZTgwZmQ2Yzg4OGE2YzhhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oCkBAIC03Niw3ICs3
Niw2IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8SURCSW5kZXg+IGNyZWF0ZUluZGV4KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IElEQktleVBhdGgmLCBi
b29sIHVuaXF1ZSwgYm9vbCBtdWx0aUVudHJ5LCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKTsK
ICAgICBSZWZQdHI8SURCSW5kZXg+IGluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9u
Q29kZVdpdGhNZXNzYWdlJik7CiAgICAgdm9pZCBkZWxldGVJbmRleChjb25zdCBTdHJpbmcmIG5h
bWUsIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpOwotICAgIFJlZlB0cjxJREJSZXF1ZXN0PiBj
b3VudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJik7
CiAgICAgUmVmUHRyPElEQlJlcXVlc3Q+IGNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBJ
REJLZXlSYW5nZSosIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpOwogICAgIFJlZlB0cjxJREJS
ZXF1ZXN0PiBjb3VudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpKU1ZhbHVlIGtleSwg
RXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbAppbmRleCAyNTFkNTE5NDFmNWRhM2Rj
NzUzYjY3ZDc0ZTVjZjA2NGM4MmY2YzViLi4xNzU5NzQ3YWZlYzJjNTMwNDkyYjhmMjc4NWQ5OWNh
NGE0MTRiOGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuaWRsCkBAIC00OSw2ICs0OSw2IEBACiAgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIElE
QkluZGV4IGNyZWF0ZUluZGV4KERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcga2V5UGF0aCwgb3B0
aW9uYWwgRGljdGlvbmFyeSBvcHRpb25zKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3Nh
Z2VdIElEQkluZGV4IGluZGV4KERPTVN0cmluZyBuYW1lKTsKICAgICBbUmFpc2VzRXhjZXB0aW9u
V2l0aE1lc3NhZ2VdIHZvaWQgZGVsZXRlSW5kZXgoRE9NU3RyaW5nIG5hbWUpOwotICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZV0g
SURCUmVxdWVzdCBjb3VudChvcHRpb25hbCBJREJLZXlSYW5nZT8gcmFuZ2UpOworICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZV0g
SURCUmVxdWVzdCBjb3VudChvcHRpb25hbCBJREJLZXlSYW5nZT8gcmFuZ2UgPSBudWxsKTsKICAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uV2l0aE1l
c3NhZ2VdIElEQlJlcXVlc3QgY291bnQoYW55IGtleSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAppbmRl
eCAyNmI1NDM3MDk4YzU4ODFkZGE4M2EyNDFjNzk5MTQ3NzdjZGEwZTI5Li45YmJlMjdkNjM1NjU0
NDc5ZDZiNjNiOWZiMGI4MjIwNDQ0ODdjMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcApAQCAtMzQ2LDEx
ICszNDYsNiBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpwcml2YXRlR2V0U3RhdHMoTWVkaWFT
dHJlYW1UcmFjayogc2VsZWN0b3IsIFBlZXJDb25uZWN0aQogICAgIG1fYmFja2VuZC0+Z2V0U3Rh
dHMoc2VsZWN0b3IsIFdURk1vdmUocHJvbWlzZSkpOwogfQogCi12b2lkIFJUQ1BlZXJDb25uZWN0
aW9uOjpwcml2YXRlR2V0U3RhdHMoUGVlckNvbm5lY3Rpb246OlN0YXRzUHJvbWlzZSYmIHByb21p
c2UpCi17Ci0gICAgcHJpdmF0ZUdldFN0YXRzKG51bGxwdHIsIFdURk1vdmUocHJvbWlzZSkpOwot
fQotCiBSZWZQdHI8UlRDRGF0YUNoYW5uZWw+IFJUQ1BlZXJDb25uZWN0aW9uOjpjcmVhdGVEYXRh
Q2hhbm5lbChTdHJpbmcsIGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBpZiAobV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZTo6Q2xvc2VkKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmgKaW5kZXggZDJmZDA4OGM3ODNhNGI4NGMwZjE0NWNhYmJkNDdkMDdlMzI1NjA2My4u
ZDZlNTJjMmEyZGE4ZWI3ODI2Y2E3ZjY4OTYyODY4ZWMxMDM2ZGM4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApA
QCAtOTQsNyArOTQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb25maWd1cmF0aW9uKGNvbnN0
IERpY3Rpb25hcnkmIGNvbmZpZ3VyYXRpb24sIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQg
cHJpdmF0ZUdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2sqLCBQZWVyQ29ubmVjdGlvbjo6U3RhdHNQ
cm9taXNlJiYpOwotICAgIHZvaWQgcHJpdmF0ZUdldFN0YXRzKFBlZXJDb25uZWN0aW9uOjpTdGF0
c1Byb21pc2UmJik7CiAKICAgICBSZWZQdHI8UlRDRGF0YUNoYW5uZWw+IGNyZWF0ZURhdGFDaGFu
bmVsKFN0cmluZyBsYWJlbCwgY29uc3QgRGljdGlvbmFyeSYgZGF0YUNoYW5uZWxEaWN0LCBFeGNl
cHRpb25Db2RlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKaW5kZXggOWEwYzNlZTU2Y2ZhMmFiMTk4NTkz
NzY1YzM4M2Q0Nzk1MmM1ZjNiMi4uZjFlNTA3NzE3YzhlOGEyY2QyMzQ1ZDliN2I0YzU2OWNmZWZi
OTJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICBbUHJpdmF0ZV0g
UHJvbWlzZSBxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24g
ZGVzY3JpcHRpb24pOwogICAgIFtQcml2YXRlXSBQcm9taXNlIHF1ZXVlZEFkZEljZUNhbmRpZGF0
ZShSVENJY2VDYW5kaWRhdGUgY2FuZGlkYXRlKTsKIAotICAgIFtQcml2YXRlXSBQcm9taXNlIHBy
aXZhdGVHZXRTdGF0cyhvcHRpb25hbCBNZWRpYVN0cmVhbVRyYWNrIHNlbGVjdG9yKTsKKyAgICBb
UHJpdmF0ZV0gUHJvbWlzZSBwcml2YXRlR2V0U3RhdHMob3B0aW9uYWwgTWVkaWFTdHJlYW1UcmFj
az8gc2VsZWN0b3IgPSBudWxsKTsKIAogICAgIFtKU0J1aWx0aW5dIFByb21pc2UgY3JlYXRlT2Zm
ZXIob3B0aW9uYWwgRGljdGlvbmFyeSBvZmZlck9wdGlvbnMpOwogICAgIC8vIExlZ2FjeSBzaWdu
YXR1cmU6IHZvaWQgY3JlYXRlT2ZmZXIoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCmluZGV4IDEwNmU2NWQ3YjkxNjg4ODA3NzY2ODc3NjkzMmM1MGM2NjE3
MmEwNmQuLmIyYjNhNDNkMjI2ZGVmMjlhZmYyNzUzZmE0MThmZmY2NTdjYzJhNDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC0zMzgwLDcgKzMzODAsNiBAQCBzdWIgQ2FuVXNlV1RGT3B0aW9uYWxGb3JQYXJhbWV0ZXIKICAg
ICByZXR1cm4gMCBpZiAkcGFyYW1ldGVyLT5pc1ZhcmlhZGljOwogICAgIHJldHVybiAwIGlmICRj
b2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCR0eXBlKTsKICAgICByZXR1cm4gMCBp
ZiAkY29kZUdlbmVyYXRvci0+SXNFbnVtVHlwZSgkdHlwZSk7Ci0gICAgcmV0dXJuIDAgaWYgJGNv
ZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5cGUoJHR5cGUpOwogICAgIHJldHVybiAwIGlmICR0eXBl
IGVxICJhbnkiOwogCiAgICAgcmV0dXJuIDE7CkBAIC0zNDE5LDYgKzM0MTgsOCBAQCBzdWIgV2ls
bENvbnZlcnRVbmRlZmluZWRUb0RlZmF1bHRQYXJhbWV0ZXJWYWx1ZQogICAgICAgICByZXR1cm4g
MSBpZiAkcGFyYW1ldGVyVHlwZSBlcSAiZmxvYXQiIG9yICRwYXJhbWV0ZXJUeXBlIGVxICJ1bnJl
c3RyaWN0ZWQgZmxvYXQiOwogICAgIH0KIAorICAgIHJldHVybiAxIGlmICRjb2RlR2VuZXJhdG9y
LT5Jc1dyYXBwZXJUeXBlKCRwYXJhbWV0ZXJUeXBlKSBhbmQgJGRlZmF1bHRWYWx1ZSBlcSAibnVs
bCI7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMzQ2OCwxMSArMzQ2OSwxOSBAQCBzdWIgR2Vu
ZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgbXkgJGFyZ1R5cGUgPSAkcGFyYW1ldGVyLT50
eXBlOwogICAgICAgICBteSAkb3B0aW9uYWwgPSAkcGFyYW1ldGVyLT5pc09wdGlvbmFsOwogCi0g
ICAgICAgICMgQXMgcGVyIFdlYiBJREwsIG9wdGlvbmFsIGRpY3Rpb25hcnkgcGFyYW1ldGVycyBh
cmUgYWx3YXlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBhIGRlZmF1bHQgdmFsdWUgb2YgYW4gZW1wdHkg
ZGljdGlvbmFyeSwgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuCi0gICAgICAgICRwYXJhbWV0
ZXItPmRlZmF1bHQoIltdIikgaWYgKCRvcHRpb25hbCAmJiAhZGVmaW5lZCgkcGFyYW1ldGVyLT5k
ZWZhdWx0KSAmJiAkYXJnVHlwZSBlcSAiRGljdGlvbmFyeSIpOworICAgICAgICBkaWUgIk9wdGlv
bmFsIHBhcmFtZXRlcnMgb2Ygbm9uLW51bGxhYmxlIHdyYXBwZXIgdHlwZXMgYXJlIG5vdCBzdXBw
b3J0ZWQiIGlmICRvcHRpb25hbCAmJiAhJHBhcmFtZXRlci0+aXNOdWxsYWJsZSAmJiAkY29kZUdl
bmVyYXRvci0+SXNXcmFwcGVyVHlwZSgkYXJnVHlwZSkgJiYgISRjb2RlR2VuZXJhdG9yLT5Jc0Nh
bGxiYWNrSW50ZXJmYWNlKCRhcmdUeXBlKTsKKworICAgICAgICBpZiAoJG9wdGlvbmFsICYmICFk
ZWZpbmVkKCRwYXJhbWV0ZXItPmRlZmF1bHQpKSB7CisgICAgICAgICAgICAjIEFzIHBlciBXZWIg
SURMLCBvcHRpb25hbCBkaWN0aW9uYXJ5IHBhcmFtZXRlcnMgYXJlIGFsd2F5cyBjb25zaWRlcmVk
IHRvIGhhdmUgYSBkZWZhdWx0IHZhbHVlIG9mIGFuIGVtcHR5IGRpY3Rpb25hcnksIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkLgorICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVsdCgiW10i
KSBpZiAkYXJnVHlwZSBlcSAiRGljdGlvbmFyeSI7CiAKLSAgICAgICAgIyBXZSB1c2UgdGhlIG51
bGwgc3RyaW5nIGFzIGRlZmF1bHQgdmFsdWUgZm9yIG5vbi1udWxsYWJsZSBwYXJhbWV0ZXJzIG9m
IHR5cGUgRE9NU3RyaW5nIHVubGVzcyBzcGVjaWZpZWQgb3RoZXJ3aXNlLgotICAgICAgICAkcGFy
YW1ldGVyLT5kZWZhdWx0KCJudWxsIikgaWYgKCRvcHRpb25hbCAmJiAhZGVmaW5lZCgkcGFyYW1l
dGVyLT5kZWZhdWx0KSAmJiAkYXJnVHlwZSBlcSAiRE9NU3RyaW5nIiAmJiAhJHBhcmFtZXRlci0+
aXNOdWxsYWJsZSk7CisgICAgICAgICAgICAjIFdlIHVzZSB0aGUgbnVsbCBzdHJpbmcgYXMgZGVm
YXVsdCB2YWx1ZSBmb3IgcGFyYW1ldGVycyBvZiB0eXBlIERPTVN0cmluZyB1bmxlc3Mgc3BlY2lm
aWVkIG90aGVyd2lzZS4KKyAgICAgICAgICAgICRwYXJhbWV0ZXItPmRlZmF1bHQoIm51bGwiKSBp
ZiAkYXJnVHlwZSBlcSAiRE9NU3RyaW5nIjsKKworICAgICAgICAgICAgIyBBcyBwZXIgV2ViIElE
TCwgcGFzc2luZyB1bmRlZmluZWQgZm9yIGEgbnVsbGFibGUgcGFyYW1ldGVyIGlzIHRyZWF0ZWQg
YXMgbnVsbC4gVGhlcmVmb3JlLCB1c2UgbnVsbCBhcworICAgICAgICAgICAgIyBkZWZhdWx0IHZh
bHVlIGZvciBudWxsYWJsZSBwYXJhbWV0ZXJzIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgor
ICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVsdCgibnVsbCIpIGlmICRwYXJhbWV0ZXItPmlz
TnVsbGFibGU7CisgICAgICAgIH0KIAogICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgZXZlbnR1
YWxseSBzdG9wIGdlbmVyYXRpbmcgYW55IGVhcmx5IGNhbGxzLCBhbmQgaW5zdGVhZCB1c2UgZWl0
aGVyIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlcyBvciBXVEY6Ok9wdGlvbmFsPD4uCiAgICAgICAg
IGlmICgkb3B0aW9uYWwgJiYgIWRlZmluZWQoJHBhcmFtZXRlci0+ZGVmYXVsdCkgJiYgIUNhblVz
ZVdURk9wdGlvbmFsRm9yUGFyYW1ldGVyKCRwYXJhbWV0ZXIpICYmICEkY29kZUdlbmVyYXRvci0+
SXNDYWxsYmFja0ludGVyZmFjZSgkYXJnVHlwZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVz
dE9iai5jcHAKaW5kZXggZTY2MTM0ZGIwY2Q5Y2JmNTZiY2E3MDVjZTUwMDM3Mzk1ODQyMjYxZS4u
YWEzZmUwYmM2MDQzMDZmODA4ZjE2MTI0YzFkNWY0MDgxYTliMzRlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9i
ai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTE3NTAsNiArMTc1MCwyNiBAQCB2b2lkIHdlYmtpdF9k
b21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfYm9vbGVhbl9pc19mYWxzZShXZWJLaXRE
T01UZXN0T2JqKgogICAgIGl0ZW0tPm1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW5Jc0ZhbHNlKGIp
OwogfQogCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfbnVs
bGFibGVfd3JhcHBlcihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0T2JqKiBv
YmopCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIGdf
cmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CisgICAgZ19yZXR1
cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKG9iaikpOworICAgIFdlYkNvcmU6OlRl
c3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CisgICAgV2ViQ29yZTo6VGVzdE9iaiog
Y29udmVydGVkT2JqID0gV2ViS2l0Ojpjb3JlKG9iaik7CisgICAgaXRlbS0+bWV0aG9kV2l0aE9w
dGlvbmFsTnVsbGFibGVXcmFwcGVyKGNvbnZlcnRlZE9iaik7Cit9CisKK3ZvaWQgd2Via2l0X2Rv
bV90ZXN0X29ial9tZXRob2Rfd2l0aF9vcHRpb25hbF9udWxsYWJsZV93cmFwcGVyX2lzX251bGwo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogb2JqKQoreworICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBnX3JldHVybl9pZl9mYWls
KFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VC
S0lUX0RPTV9JU19URVNUX09CSihvYmopKTsKKyAgICBXZWJDb3JlOjpUZXN0T2JqKiBpdGVtID0g
V2ViS2l0Ojpjb3JlKHNlbGYpOworICAgIFdlYkNvcmU6OlRlc3RPYmoqIGNvbnZlcnRlZE9iaiA9
IFdlYktpdDo6Y29yZShvYmopOworICAgIGl0ZW0tPm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxl
V3JhcHBlcklzTnVsbChjb252ZXJ0ZWRPYmopOworfQorCiBnY2hhciogd2Via2l0X2RvbV90ZXN0
X29ial9jb25kaXRpb25hbF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAjaWYg
RU5BQkxFKENvbmRpdGlvbjEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKaW5kZXggNmQ4
Y2UyZmNiMDZiYzE4M2Q5OTQxYjQ5ZDIyZTQ3NzNkOGY3NjU0YS4uYzg1NTUwMjRkM2I1MzYzZGIw
N2YxNTM0OTY0ZjY5OWYyMmQzMjUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaApA
QCAtNjg5LDYgKzY4OSwyNiBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpf
bWV0aG9kX3dpdGhfb3B0aW9uYWxfYm9vbGVhbl9pc19mYWxzZShXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBnYm9vbGVhbiBiKTsKIAogLyoqCisgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93
aXRoX29wdGlvbmFsX251bGxhYmxlX3dyYXBwZXI6CisgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVz
dE9iagorICogQG9iajogQSAjV2ViS2l0RE9NVGVzdE9iagorICoKKyAqIFN0YWJpbGl0eTogVW5z
dGFibGUKKyoqLworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93
aXRoX29wdGlvbmFsX251bGxhYmxlX3dyYXBwZXIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2Vi
S2l0RE9NVGVzdE9iaiogb2JqKTsKKworLyoqCisgKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhv
ZF93aXRoX29wdGlvbmFsX251bGxhYmxlX3dyYXBwZXJfaXNfbnVsbDoKKyAqIEBzZWxmOiBBICNX
ZWJLaXRET01UZXN0T2JqCisgKiBAb2JqOiBBICNXZWJLaXRET01UZXN0T2JqCisgKgorICogU3Rh
YmlsaXR5OiBVbnN0YWJsZQorKiovCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9kb21fdGVzdF9v
YmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfbnVsbGFibGVfd3JhcHBlcl9pc19udWxsKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RPYmoqIG9iaik7CisKKy8qKgogICogd2Via2l0
X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QxOgogICogQHNlbGY6IEEgI1dlYktpdERP
TVRlc3RPYmoKICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGQ5OGQ2NmQ4ZGUzMWYyZDEyZWU0OWEyMjI2NWVj
MTE5NzFjOGJhMDQuLmQ5YjU2NWE0MGE0OGNiZjczMjVmMDgyNDdjNmM4NjFhN2JiMGZkNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCkBAIC0xNTYsNiArMTU2LDggQEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsQXIKIEpT
Qzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk1ldGhvZFdpdGhPcHRpb25hbEFycmF5SXNFbXB0eShKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0
aG9kV2l0aE9wdGlvbmFsQm9vbGVhbihKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9w
dGlvbmFsQm9vbGVhbklzRmFsc2UoSlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhPcHRp
b25hbE51bGxhYmxlV3JhcHBlcihKU0M6OkV4ZWNTdGF0ZSopOworSlNDOjpFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlv
bmFsTnVsbGFibGVXcmFwcGVySXNOdWxsKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRo
Q2FsbGJhY2tBcmcoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhOb25DYWxsYmFja0Fy
Z0FuZENhbGxiYWNrQXJnKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoQ2FsbGJhY2tB
bmRPcHRpb25hbEFyZyhKU0M6OkV4ZWNTdGF0ZSopOwpAQCAtNzMwLDYgKzczMiw4IEBAIHN0YXRp
YyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0K
ICAgICB7ICJtZXRob2RXaXRoT3B0aW9uYWxBcnJheUlzRW1wdHkiLCBKU0M6OkZ1bmN0aW9uLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsQXJyYXlJc0VtcHR5KSwgKGlu
dHB0cl90KSAoMCkgfSB9LAogICAgIHsgIm1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW4iLCBKU0M6
OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVu
Y3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsQm9vbGVh
biksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJtZXRob2RXaXRoT3B0aW9uYWxCb29sZWFu
SXNGYWxzZSIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRo
T3B0aW9uYWxCb29sZWFuSXNGYWxzZSksIChpbnRwdHJfdCkgKDApIH0gfSwKKyAgICB7ICJtZXRo
b2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdyYXBwZXIiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVyKSwgKGludHB0cl90
KSAoMCkgfSB9LAorICAgIHsgIm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcklzTnVs
bCIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxO
YXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9u
YWxOdWxsYWJsZVdyYXBwZXJJc051bGwpLCAoaW50cHRyX3QpICgwKSB9IH0sCiAgICAgeyAibWV0
aG9kV2l0aENhbGxiYWNrQXJnIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk1ldGhvZFdpdGhDYWxsYmFja0FyZyksIChpbnRwdHJfdCkgKDEpIH0gfSwKICAgICB7ICJtZXRo
b2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyIsIEpTQzo6RnVuY3Rpb24sIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyks
IChpbnRwdHJfdCkgKDIpIH0gfSwKICAgICB7ICJtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25h
bEFyZyIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoQ2Fs
bGJhY2tBbmRPcHRpb25hbEFyZyksIChpbnRwdHJfdCkgKDApIH0gfSwKQEAgLTQ0MDksNiArNDQx
MywzNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsQm9vbGVhbgogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdyYXBwZXIo
RXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IHN0YXRlLT50aGlz
VmFsdWUoKTsKKyAgICBhdXRvIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+
KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkKKyAgICAgICAgcmV0
dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgIm1ldGhvZFdpdGhPcHRp
b25hbE51bGxhYmxlV3JhcHBlciIpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2Fz
dGVkVGhpcywgSlNUZXN0T2JqOjppbmZvKCkpOworICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlz
LT53cmFwcGVkKCk7CisgICAgVGVzdE9iaiogb2JqID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQoc3Rh
dGUtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigp
KSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICBp
bXBsLm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcihvYmopOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxOdWxs
YWJsZVdyYXBwZXJJc051bGwoRXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNW
YWx1ZSA9IHN0YXRlLT50aGlzVmFsdWUoKTsKKyAgICBhdXRvIGNhc3RlZFRoaXMgPSBqc0R5bmFt
aWNDYXN0PEpTVGVzdE9iaio+KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRU
aGlzKSkKKyAgICAgICAgcmV0dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0T2Jq
IiwgIm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcklzTnVsbCIpOworICAgIEFTU0VS
VF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNUZXN0T2JqOjppbmZvKCkpOworICAg
IGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7CisgICAgVGVzdE9iaiogb2JqID0g
SlNUZXN0T2JqOjp0b1dyYXBwZWQoc3RhdGUtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoVU5MSUtF
TFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigpKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICBpbXBsLm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3Jh
cHBlcklzTnVsbChvYmopOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25NZXRob2RXaXRoQ2FsbGJhY2tBcmcoRXhlY1N0YXRlKiBzdGF0ZSkKIHsKICAgICBK
U1ZhbHVlIHRoaXNWYWx1ZSA9IHN0YXRlLT50aGlzVmFsdWUoKTsKQEAgLTQ4NDcsMTMgKzQ4ODEs
NiBAQCBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uT3ZlcmxvYWRlZE1ldGhvZFdpdGhPcHRpbwogICAgIFRlc3RPYmoqIG9iakFyZzEgPSBKU1Rl
c3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMCkpOwogICAgIGlmIChVTkxJS0VMWShz
dGF0ZS0+aGFkRXhjZXB0aW9uKCkpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOwotCi0gICAgc2l6ZV90IGFyZ3NDb3VudCA9IHN0YXRlLT5hcmd1bWVudENv
dW50KCk7Ci0gICAgaWYgKGFyZ3NDb3VudCA8PSAxKSB7Ci0gICAgICAgIGltcGwub3ZlcmxvYWRl
ZE1ldGhvZFdpdGhPcHRpb25hbFBhcmFtZXRlcihvYmpBcmcxKTsKLSAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICB9Ci0KICAgICBUZXN0T2JqKiBvYmpB
cmcyID0gSlNUZXN0T2JqOjp0b1dyYXBwZWQoc3RhdGUtPmFyZ3VtZW50KDEpKTsKICAgICBpZiAo
VU5MSUtFTFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigpKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAppbmRleCA5MjA1MjMwM2QzZTQzYzk4
OGJhODM3ZmZhZTAxOTJhNDBhMDVhY2Y4Li44YWRmYjUxMmE1YmRkZTE0YzZiMDIzN2E0ZTg3MmY4
NjljNGYzZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCkBAIC0xOTIsNiArMTkyLDggQEAgV0VCQ09SRV9FWFBP
UlQgQGludGVyZmFjZSBET01UZXN0T2JqIDogRE9NT2JqZWN0CiAtICh2b2lkKW1ldGhvZFdpdGhP
cHRpb25hbFVuc2lnbmVkTG9uZ0xvbmdJc1plcm86KHVuc2lnbmVkIGxvbmcgbG9uZyludW1iZXI7
CiAtICh2b2lkKW1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW46KEJPT0wpYjsKIC0gKHZvaWQpbWV0
aG9kV2l0aE9wdGlvbmFsQm9vbGVhbklzRmFsc2U6KEJPT0wpYjsKKy0gKHZvaWQpbWV0aG9kV2l0
aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVyOihET01UZXN0T2JqICopb2JqOworLSAodm9pZCltZXRo
b2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdyYXBwZXJJc051bGw6KERPTVRlc3RPYmogKilvYmo7CiAt
ICh2b2lkKWNsYXNzTWV0aG9kOwogLSAoaW50KWNsYXNzTWV0aG9kV2l0aE9wdGlvbmFsOihpbnQp
YXJnOwogLSAodm9pZCljbGFzc01ldGhvZDI6KGludClhcmc7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRleCBi
YTU5YzE3ZTY0YzFhNzQ2YmEyMmI3Y2EwNGY4NGNiMDUyZWJlMDViLi5hMTc0ZDMwZDVkZjYzZmVi
NjdiYzY1YzAzYmNlNjRjNTEyZDU0MjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTEzNzYsNiArMTM3
NiwxOCBAQCAtICh2b2lkKW1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW5Jc0ZhbHNlOihCT09MKWIK
ICAgICBJTVBMLT5tZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZShiKTsKIH0KIAorLSAo
dm9pZCltZXRob2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdyYXBwZXI6KERPTVRlc3RPYmogKilvYmoK
K3sKKyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgSU1QTC0+
bWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVyKGNvcmUob2JqKSk7Cit9CisKKy0gKHZv
aWQpbWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVySXNOdWxsOihET01UZXN0T2JqICop
b2JqCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIElN
UEwtPm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcklzTnVsbChjb3JlKG9iaikpOwor
fQorCiAKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKIC0gKE5TU3RyaW5nICopY29uZGl0aW9uYWxN
ZXRob2QxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE9iai5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9i
ai5pZGwKaW5kZXggMWNjNDQwMTBiNWM4NjUyYTYzNGMzMmU5OTkzN2NiZjEwN2Q0NmIyYS4uMzRm
ZGMzZTM4ZTdjMjJjYmY5Yjc4ODJmYWU5MDg5ODZhNjU4YjI3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTk5LDYgKzE5OSw4
IEBAIGVudW0gX29wdGlvbmFsIHsgIiIsICJPcHRpb25hbFZhbHVlMSIsICJPcHRpb25hbFZhbHVl
MiIsICJPcHRpb25hbFZhbHVlMyIgfTsKICAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbEFy
cmF5SXNFbXB0eShvcHRpb25hbCBET01TdHJpbmdbXSBhcnJheSA9IFtdKTsKICAgICB2b2lkICAg
IG1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW4ob3B0aW9uYWwgYm9vbGVhbiBiKTsKICAgICB2b2lk
ICAgIG1ldGhvZFdpdGhPcHRpb25hbEJvb2xlYW5Jc0ZhbHNlKG9wdGlvbmFsIGJvb2xlYW4gYiA9
IGZhbHNlKTsKKyAgICB2b2lkICAgIG1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcihv
cHRpb25hbCBUZXN0T2JqPyBvYmopOworICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTnVs
bGFibGVXcmFwcGVySXNOdWxsKG9wdGlvbmFsIFRlc3RPYmo/IG9iaiA9IG51bGwpOwogCiAjaWYg
ZGVmaW5lZChURVNUSU5HX0pTKQogICAgIC8vIENhbGxiYWNrIGludGVyZmFjZSBwYXJhbWV0ZXJz
LgpAQCAtMjU2LDcgKzI1OCw3IEBAIGVudW0gX29wdGlvbmFsIHsgIiIsICJPcHRpb25hbFZhbHVl
MSIsICJPcHRpb25hbFZhbHVlMiIsICJPcHRpb25hbFZhbHVlMyIgfTsKICAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHN1cHBvcnQgZm9yIG92ZXJsb2FkZWQgZnVuY3Rpb25zIHdpdGggdmFyaWFkaWMg
YXJndW1lbnRzLgogICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChCbG9iLi4uIGJsb2JBcmdz
KTsKIAotICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhPcHRpb25hbFBhcmFtZXRlcihUZXN0
T2JqPyBvYmpBcmcxLCBvcHRpb25hbCBUZXN0T2JqPyBvYmpBcmcyKTsKKyAgICB2b2lkIG92ZXJs
b2FkZWRNZXRob2RXaXRoT3B0aW9uYWxQYXJhbWV0ZXIoVGVzdE9iaj8gb2JqQXJnMSwgb3B0aW9u
YWwgVGVzdE9iaj8gb2JqQXJnMiA9IG51bGwpOwogICAgIHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdp
dGhPcHRpb25hbFBhcmFtZXRlcihUZXN0T2JqPyBvYmpBcmcsIG9wdGlvbmFsIGxvbmcgbG9uZ0Fy
Zyk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlM
aXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKaW5kZXggOWI2
MmQxOTIyMjg5NmNlOTk2NWRlZjJlNTIwODNkMjAxODgyNDE4Yy4uM2RmZmRjZjVjODBkNjNhNjlm
YjJjYTM5NDU3YzdkYzliZWJkNTQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3Qu
aWRsCkBAIC0yMiw2ICsyMiw4IEBACiBdIGludGVyZmFjZSBNZWRpYVF1ZXJ5TGlzdCB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiBtYXRjaGVzOwotICAgIHZvaWQgYWRkTGlzdGVuZXIob3B0aW9uYWwgTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciBsaXN0ZW5lcik7Ci0gICAgdm9pZCByZW1vdmVMaXN0ZW5lcihvcHRp
b25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGxpc3RlbmVyKTsKKworICAgIC8vIEZJWE1FOiBU
aGUgbGlzdGVuZXIgcGFyYW1ldGVyIHNob3VsZCBub3QgYmUgb3B0aW9uYWwuCisgICAgdm9pZCBh
ZGRMaXN0ZW5lcihvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPyBsaXN0ZW5lciA9IG51
bGwpOworICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIob3B0aW9uYWwgTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj8gbGlzdGVuZXIgPSBudWxsKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5pZGwKaW5kZXggYmQyZDEzZmEwMDgzZjNjMGIwNzlkNmUxMTBmODUw
ODlhMTBlNTgwNy4uM2U2YjBmZDY1ZjUyYjFkYjk1N2YyYThjMjk3NDExMzA5OWNhYjllYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbApAQCAtMjEs
NSArMjEsNSBAQAogICAgIENhbGxiYWNrTmVlZHNPcGVyYXRvckVxdWFsLAogICAgIENhbGxiYWNr
PUZ1bmN0aW9uT25seSwKIF0gY2FsbGJhY2sgaW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIgewotICAgIGJvb2xlYW4gcXVlcnlDaGFuZ2VkKG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0IGxp
c3QgPSBudWxsKTsKKyAgICBib29sZWFuIHF1ZXJ5Q2hhbmdlZChvcHRpb25hbCBNZWRpYVF1ZXJ5
TGlzdD8gbGlzdCA9IG51bGwpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDk0ZWJj
MTIyYWE5YzhhZmYzMDgwNWViODVkNjU5NTdiMWM0ODQ2YjQuLjE4NmE3ZWUyMjU5ZWVlM2FhYzJl
YmYwMzkyMzY1MzI5YzBhNzZkYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMTE4LDEw
ICsxMTgsMTAgQEAKICNlbHNlCiAgICAgW05ld09iamVjdF0gTm9kZUl0ZXJhdG9yIGNyZWF0ZU5v
ZGVJdGVyYXRvcihOb2RlIHJvb3QsCiAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hh
dFRvU2hvdyA9IDB4RkZGRkZGRkYsCi0gICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRl
cik7CisgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRlciA9IG51bGwpOwogICAgIFtO
ZXdPYmplY3RdIFRyZWVXYWxrZXIgY3JlYXRlVHJlZVdhbGtlcihOb2RlIHJvb3QsCiAgICAgICAg
IG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdyA9IDB4RkZGRkZGRkYsCi0gICAgICAg
IG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRlcik7CisgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0
ZXI/IGZpbHRlciA9IG51bGwpOwogI2VuZGlmCiAKICAgICAvLyBET00gTGV2ZWwgMiBBYnN0cmFj
dCBWaWV3cyAoRG9jdW1lbnRWaWV3IGludGVyZmFjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
RE9NUGF0aC5pZGwKaW5kZXggMzljOGNiNGZhN2U2MWEyODIyOGRlYmY1ODliNTU2MmRlMTBiZTE5
OC4uZTNjNTE2YTE5ZTZiM2I4OThlMDZiMTEzMWZjZjQ0MTNjN2ZkMzJiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwKQEAgLTMzLDggKzMzLDEwIEBACiAgICAgRXhwb3J0
TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgSW50ZXJmYWNlTmFtZT1QYXRoMkQsCiBdIGludGVy
ZmFjZSBET01QYXRoIHsKLSAgICAvLyBGSVhNRTogVGhlIHBhcmFtZXRlcnMgc2hvdWxkIG5vdCBi
ZSBudWxsYWJsZS4KLSAgICBbQ29uZGl0aW9uYWw9Q0FOVkFTX1BBVEhdIHZvaWQgYWRkUGF0aChE
T01QYXRoPyBwYXRoLCBvcHRpb25hbCBTVkdNYXRyaXg/IHRyYW5zZm9ybSk7CisgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGJlOgorICAgIC8vIFtDb25kaXRpb25hbD1DQU5WQVNfUEFUSF0gdm9p
ZCBhZGRQYXRoKERPTVBhdGggcGF0aCwgb3B0aW9uYWwgU1ZHTWF0cml4IHRyYW5zZm9ybSk7Cisg
ICAgW0NvbmRpdGlvbmFsPUNBTlZBU19QQVRIXSB2b2lkIGFkZFBhdGgoRE9NUGF0aD8gcGF0aCk7
CisgICAgW0NvbmRpdGlvbmFsPUNBTlZBU19QQVRIXSB2b2lkIGFkZFBhdGgoRE9NUGF0aD8gcGF0
aCwgU1ZHTWF0cml4IHRyYW5zZm9ybSk7CiAKICAgICAvLyBGSVhNRTogVGhlc2UgbWV0aG9kcyBz
aG91bGQgYmUgc2hhcmVkIHdpdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluIHRoZSBDYW52
YXNQYXRoTWV0aG9kcyBpbnRlcmZhY2UuCiAgICAgdm9pZCBjbG9zZVBhdGgoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NU2VsZWN0aW9uLmlkbAppbmRleCAzMzZhZTg1NDYyNGYwYjI4NzU3ZWZjNDNlZGM2
MWY5ZjU1YzM3NTMxLi5hYzIyMDUwZTBiZWU5ZjI0OTE0NzFhMDg0MmQ0M2YwODAzZDg0MTQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsCkBAIC00OSw3ICs0OSw3IEBACiAgICAg
Ym9vbGVhbiBjb250YWluc05vZGUob3B0aW9uYWwgTm9kZT8gbm9kZSA9IG51bGwsIG9wdGlvbmFs
IGJvb2xlYW4gYWxsb3dQYXJ0aWFsID0gZmFsc2UpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZv
aWQgc2VsZWN0QWxsQ2hpbGRyZW4ob3B0aW9uYWwgTm9kZT8gbm9kZSA9IG51bGwpOwogCi0gICAg
W1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBleHRlbmQob3B0aW9uYWwgTm9kZSBub2RlID0gbnVsbCwg
b3B0aW9uYWwgbG9uZyBvZmZzZXQgPSAwKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGV4
dGVuZChOb2RlIG5vZGUsIG9wdGlvbmFsIGxvbmcgb2Zmc2V0ID0gMCk7CiAKICAgICBbUmFpc2Vz
RXhjZXB0aW9uXSBSYW5nZSBnZXRSYW5nZUF0KG9wdGlvbmFsIGxvbmcgaW5kZXggPSAwKTsKICAg
ICB2b2lkIHJlbW92ZUFsbFJhbmdlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR01hcmtlckVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1l
bnQuaWRsCmluZGV4IGZmN2VjMTczZjU2YTE3OWNiMjI3MDliNDlhY2RkN2Q3NGM1ZGE5OWEuLmVk
ZDhkZTU0ZGZmNDc2MGU0ZDA5NGEwYzk5ODQ3ZWZjZmM4NGQxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTWFya2VyRWxlbWVudC5pZGwKQEAgLTQzLDcgKzQzLDcgQEAgaW50ZXJmYWNlIFNWR01h
cmtlckVsZW1lbnQgOiBTVkdFbGVtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHQW5p
bWF0ZWRBbmdsZSAgICAgICBvcmllbnRBbmdsZTsKIAogICAgIHZvaWQgc2V0T3JpZW50VG9BdXRv
KCk7Ci0gICAgdm9pZCBzZXRPcmllbnRUb0FuZ2xlKG9wdGlvbmFsIFNWR0FuZ2xlIGFuZ2xlID0g
bnVsbCk7CisgICAgdm9pZCBzZXRPcmllbnRUb0FuZ2xlKFNWR0FuZ2xlIGFuZ2xlKTsKIH07CiAK
IFNWR01hcmtlckVsZW1lbnQgaW1wbGVtZW50cyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRsCmluZGV4IDYxM2M0MDJkY2JhNDg2NzQx
OGYxNjhiZGJhMjZlMTU2OWU1ZGY2NDkuLjE0MTI2MGY4YTk1Mjg1ZTE2ZjE4ZDFiOGZlMmNhNDRi
YmQwNmM5OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwKQEAgLTUwLDEwICs1
MCwxNiBAQCBpbnRlcmZhY2UgU1ZHU1ZHRWxlbWVudCA6IFNWR0dyYXBoaWNzRWxlbWVudCB7CiAg
ICAgYm9vbGVhbiBhbmltYXRpb25zUGF1c2VkKCk7CiAgICAgdW5yZXN0cmljdGVkIGZsb2F0IGdl
dEN1cnJlbnRUaW1lKCk7CiAgICAgdm9pZCBzZXRDdXJyZW50VGltZShvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZmxvYXQgc2Vjb25kcyA9IE5hTik7Ci0gICAgTm9kZUxpc3QgZ2V0SW50ZXJzZWN0aW9u
TGlzdChvcHRpb25hbCBTVkdSZWN0IHJlY3QgPSBudWxsLCBvcHRpb25hbCBTVkdFbGVtZW50PyBy
ZWZlcmVuY2VFbGVtZW50ID0gbnVsbCk7Ci0gICAgTm9kZUxpc3QgZ2V0RW5jbG9zdXJlTGlzdChv
cHRpb25hbCBTVkdSZWN0IHJlY3QgPSBudWxsLCBvcHRpb25hbCBTVkdFbGVtZW50PyByZWZlcmVu
Y2VFbGVtZW50ID0gbnVsbCk7Ci0gICAgYm9vbGVhbiBjaGVja0ludGVyc2VjdGlvbihvcHRpb25h
bCBTVkdFbGVtZW50PyBlbGVtZW50ID0gbnVsbCwgb3B0aW9uYWwgU1ZHUmVjdCByZWN0ID0gbnVs
bCk7Ci0gICAgYm9vbGVhbiBjaGVja0VuY2xvc3VyZShvcHRpb25hbCBTVkdFbGVtZW50PyBlbGVt
ZW50ID0gbnVsbCwgb3B0aW9uYWwgU1ZHUmVjdCByZWN0ID0gbnVsbCk7CisKKyAgICAvLyBGSVhN
RTogcmVmZXJlbmNlRWxlbWVudCBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgorICAgIE5vZGVMaXN0
IGdldEludGVyc2VjdGlvbkxpc3QoU1ZHUmVjdCByZWN0LCBvcHRpb25hbCBTVkdFbGVtZW50PyBy
ZWZlcmVuY2VFbGVtZW50ID0gbnVsbCk7CisKKyAgICAvLyBGSVhNRTogcmVmZXJlbmNlRWxlbWVu
dCBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgorICAgIE5vZGVMaXN0IGdldEVuY2xvc3VyZUxpc3Qo
U1ZHUmVjdCByZWN0LCBvcHRpb25hbCBTVkdFbGVtZW50PyByZWZlcmVuY2VFbGVtZW50ID0gbnVs
bCk7CisKKyAgICBib29sZWFuIGNoZWNrSW50ZXJzZWN0aW9uKFNWR0VsZW1lbnQ/IGVsZW1lbnQs
IFNWR1JlY3QgcmVjdCk7IC8vIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KKyAgICBi
b29sZWFuIGNoZWNrRW5jbG9zdXJlKFNWR0VsZW1lbnQ/IGVsZW1lbnQsIFNWR1JlY3QgcmVjdCk7
IC8vIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KKwogICAgIHZvaWQgZGVzZWxlY3RB
bGwoKTsKIAogICAgIFNWR051bWJlciBjcmVhdGVTVkdOdW1iZXIoKTsKQEAgLTYzLDcgKzY5LDcg
QEAgaW50ZXJmYWNlIFNWR1NWR0VsZW1lbnQgOiBTVkdHcmFwaGljc0VsZW1lbnQgewogICAgIFNW
R01hdHJpeCBjcmVhdGVTVkdNYXRyaXgoKTsKICAgICBTVkdSZWN0IGNyZWF0ZVNWR1JlY3QoKTsK
ICAgICBTVkdUcmFuc2Zvcm0gY3JlYXRlU1ZHVHJhbnNmb3JtKCk7Ci0gICAgU1ZHVHJhbnNmb3Jt
IGNyZWF0ZVNWR1RyYW5zZm9ybUZyb21NYXRyaXgob3B0aW9uYWwgU1ZHTWF0cml4IG1hdHJpeCA9
IG51bGwpOworICAgIFNWR1RyYW5zZm9ybSBjcmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4KFNW
R01hdHJpeCBtYXRyaXgpOwogCiAgICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRl
ZmF1bHQgcGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgogICAgIEVsZW1lbnQgZ2V0RWxlbWVudEJ5
SWQoW1JlcXVpcmVzRXhpc3RpbmdBdG9taWNTdHJpbmddIG9wdGlvbmFsIERPTVN0cmluZyBlbGVt
ZW50SWQgPSAidW5kZWZpbmVkIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VGV4dENvbnRlbnRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuaWRsCmluZGV4IDE1MWQ3OTdmNzEwZmYxOTI1MmFmMDBmMjk5Nzc1YTdjZmVkY2Zh
MTQuLmI4NWU2NTExOGE4MTI3MmZkNTFmZmVkYzE1ZDAzMDBiN2VlM2ZiYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsCkBAIC00MCw3ICs0MCw3IEBA
IGludGVyZmFjZSBTVkdUZXh0Q29udGVudEVsZW1lbnQgOiBTVkdHcmFwaGljc0VsZW1lbnQgewog
ICAgIFtSYWlzZXNFeGNlcHRpb25dIFNWR1BvaW50IGdldEVuZFBvc2l0aW9uT2ZDaGFyKG9wdGlv
bmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZH
UmVjdCBnZXRFeHRlbnRPZkNoYXIob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsK
ICAgICBbUmFpc2VzRXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0Um90YXRpb25PZkNo
YXIob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKLSAgICBsb25nIGdldENoYXJO
dW1BdFBvc2l0aW9uKG9wdGlvbmFsIFNWR1BvaW50IHBvaW50ID0gbnVsbCk7CisgICAgbG9uZyBn
ZXRDaGFyTnVtQXRQb3NpdGlvbihTVkdQb2ludCBwb2ludCk7CiAgICAgW1JhaXNlc0V4Y2VwdGlv
bl0gdm9pZCBzZWxlY3RTdWJTdHJpbmcob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAw
LCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxlbmd0aCA9IDApOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDIxZDhiNzY5ZGNmMjZhNDEyYmE2ZDA1YzFjNWY3YWU5
YmJmYTFkZjcuLjRlZWI5NDhlMzA0ZWExOGQ4MzUyYTExNGMxYjcwNjFkMTY5YjQxZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTIzODQsMTEgKzIzODQsNiBAQCB1bnNp
Z25lZCBJbnRlcm5hbHM6OmNvbXBvc2l0aW5nVXBkYXRlQ291bnQoRXhjZXB0aW9uQ29kZSYgZWMp
CiAgICAgcmV0dXJuIGRvY3VtZW50LT5yZW5kZXJWaWV3KCktPmNvbXBvc2l0b3IoKS5jb21wb3Np
dGluZ1VwZGF0ZUNvdW50KCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxzOjp1cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoRXhjZXB0aW9uQ29kZSYg
ZWMpCi17Ci0gICAgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9z
dExheW91dFRhc2tzKG51bGxwdHIsIGVjKTsKLX0KLQogdm9pZCBJbnRlcm5hbHM6OnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhOb2RlKiBu
b2RlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA1ODgyZTc2ZjA2NWQxMDFlZmZhYTgwNDE2ZDNh
YjEwZmMzZDRjOWUyLi45ZDNhYjJhNGUzZjRkNDFhZDUyZWQ0NDIzNWYxZjA2YTVmYTQzYmQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTMyNiw3ICszMjYsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzdGFydFRyYWNraW5nQ29tcG9zaXRpbmdVcGRhdGVzKEV4Y2VwdGlvbkNvZGUm
KTsKICAgICB1bnNpZ25lZCBjb21wb3NpdGluZ1VwZGF0ZUNvdW50KEV4Y2VwdGlvbkNvZGUmKTsK
IAotICAgIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9z
dExheW91dFRhc2tzKEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhOb2RlKiwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHVuc2lnbmVkIGxheW91dENvdW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCAzZTAyNjZmNWY3YzFkZDRhN2I0ZmFlYmRhZDAyNWZj
ODUyMzViM2UxLi44MWRhNDcxNTc1YTA4MWJmNmFjYzU0ZmY3Mjg0Y2Q2NDY1OTM1MTNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0zMzIsNyArMzMyLDcgQEAgZW51bSBB
dXRvRmlsbEJ1dHRvblR5cGUgewogICAgIC8vIHxub2RlfCBzaG91bGQgYmUgRG9jdW1lbnQsIEhU
TUxJRnJhbWVFbGVtZW50LCBvciB1bnNwZWNpZmllZC4KICAgICAvLyBJZiB8bm9kZXwgaXMgYW4g
SFRNTElGcmFtZUVsZW1lbnQsIGl0IGFzc3VtZXMgbm9kZS5jb250ZW50RG9jdW1lbnQgaXMKICAg
ICAvLyBzcGVjaWZpZWQgd2l0aG91dCBzZWN1cml0eSBjaGVja3MuIFVuc3BlY2lmaWVkIG9yIG51
bGwgbWVhbnMgdGhpcyBkb2N1bWVudC4KLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhvcHRp
b25hbCBOb2RlPyBub2RlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHVwZGF0ZUxheW91
dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhvcHRpb25hbCBO
b2RlPyBub2RlID0gbnVsbCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsYXlvdXRDb3VudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXZh
bHVhdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV2YWx1YXRvci5pZGwKaW5kZXgg
ZTFlNjY1OGU1MTBkMTk0YjBkYWQ3NDU0YTk4N2EzZDIwNTgzM2ZjMS4uNzRkOTUwZTc1NWZkMDll
N2VjODRmYmY5NGRmYTE2ZWY1NmE4OWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoRXZhbHVhdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0
b3IuaWRsCkBAIC0yMyw3ICsyMyw3IEBACiBdIGludGVyZmFjZSBYUGF0aEV2YWx1YXRvciB7CiAg
ICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVl
IGlzIHdyb25nLgogICAgIFtSYWlzZXNFeGNlcHRpb25dIFhQYXRoRXhwcmVzc2lvbiBjcmVhdGVF
eHByZXNzaW9uKG9wdGlvbmFsIERPTVN0cmluZyBleHByZXNzaW9uID0gInVuZGVmaW5lZCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgWFBhdGhOU1Jlc29s
dmVyIHJlc29sdmVyID0gbnVsbCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgWFBhdGhOU1Jlc29sdmVyPyByZXNvbHZlciA9IG51bGwpOwogCiAgICAgWFBh
dGhOU1Jlc29sdmVyIGNyZWF0ZU5TUmVzb2x2ZXIob3B0aW9uYWwgTm9kZT8gbm9kZVJlc29sdmVy
ID0gbnVsbCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA2MzhkNzNiODRhY2M5YzAxNDJiOWZhY2Q2NTMwYzM5NDg0N2Nj
M2NhLi4xZTVhNThjZjYxM2FhNzgyNTU3MGZhZmY1NjY5MTA5YzMzMDc4YTdhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTYtMDQtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViIElETF0gU3BlY2lmeSBkZWZhdWx0IHZhbHVlcyBmb3Igb3B0aW9uYWwg
cGFyYW1ldGVycyBvZiB3cmFwcGVyIHR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTcxNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lIGFzIGEgZGlmZmVyZW50IGV4Y2VwdGlvbiBt
ZXNzYWdlIGlzIG5vdyBnaXZlbiB3aGVuIGNhbGxpbmcKKyAgICAgICAgU2VsZWN0aW9uLmV4dGVu
ZCgpIHdpdGhvdXQgZW5vdWdoIHBhcmFtZXRlcnMuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9leHRlbmQtZXhwZWN0ZWQudHh0OgorCiAyMDE2LTA0LTI4ICBKb2FubWFyaWUgRGlnZ3Mg
IDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBBWDogW0FUS10gRXhwb3NlIHN1YnNjcmlw
dCBhbmQgc3VwZXJzY3JpcHQgZm9ybWF0IHN0eWxlIGdyb3VwcyB1c2luZyBBVEtfUk9MRV9TVUJT
Q1JJUFQgYW5kIEFUS19ST0xFX1NVUEVSU0NSSVBUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZXh0ZW5kLWV4cGVjdGVkLnR4dAppbmRleCAzMmY1MzhkOGU1NGQ3ZTU5MGU1
MzliOWQwNmVmMmMyMDM4ZWQyNmE1Li4wMWVjNzRiYjRhY2VhZTJkYjQyZjJjMjRlMDE4NjE0OTdh
ZDkyNjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1l
eHBlY3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIFN1Y2Nlc3M6IHMuZXh0ZW5kKHNwYW4yLmZpcnN0
Q2hpbGQsIDQpIHJhaXNlZCBFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpCiBTdWNj
ZXNzOiBzLmV4dGVuZChzcGFuMi5maXJzdENoaWxkLCAtMSkgcmFpc2VkIEVycm9yOiBJbmRleFNp
emVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxLgogU3VjY2Vzczogd2luZG93LmdldFNlbGVjdGlvbigp
IGlzIGIuCiBTdWNjZXNzOiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkgaXMgYXJiYXouCi1TdWNjZXNz
OiBzLmV4dGVuZCgpIHJhaXNlZCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitTdWNjZXNzOiBzLmV4
dGVuZCgpIHJhaXNlZCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogU3VjY2Vzczog
cy5leHRlbmQobnVsbCwgMCkgcmFpc2VkIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277704</attachid>
            <date>2016-04-29 09:11:46 -0700</date>
            <delta_ts>2016-04-29 09:51:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157161-20160429091219.patch</filename>
            <type>text/plain</type>
            <size>38634</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE4ODY2ZmRhOTVjMzQ0
YjM3MDA4YzE2Mjc0N2Y1NjIxNjMyZWQ1YS4uYWI3MzQyZTNkZGI4Y2ExYjZhNTcyNjRlNzExNWU5
NzE0YzY5Mjg3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDE2LTA0LTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBJRExdIFNwZWNpZnkg
ZGVmYXVsdCB2YWx1ZXMgZm9yIG9wdGlvbmFsIHBhcmFtZXRlcnMgb2Ygd3JhcHBlciB0eXBlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MTYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3BlY2lmeSBkZWZh
dWx0IHZhbHVlcyBmb3Igb3B0aW9uYWwgcGFyYW1ldGVycyBvZiB3cmFwcGVyIHR5cGVzLgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCSW5kZXg6OmNvdW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJJbmRleC5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6Y291bnQpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rp
b246OmNyZWF0ZURhdGFDaGFubmVsKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKFdpbGxDb252ZXJ0VW5kZWZpbmVkVG9EZWZhdWx0
UGFyYW1ldGVyVmFsdWUpOgorICAgICAgICBPcHRpbWl6YXRpb24gdG8gYXZvaWQgZ2VuZXJhdGlu
ZyBhIHRlcm5hcnkgaWYgdGhlIGRlZmF1bHQKKyAgICAgICAgdmFsdWUgb2YgYSB3cmFwcGVyIHR5
cGUgcGFyYW1ldGVyIGlzIG51bGwsIHNpbmNlIHVuZGVmaW5lZAorICAgICAgICB3aWxsIGFscmVh
ZHkgY29udmVydCB0byBudWxsIGZvciB0aG9zZS4KKworICAgICAgICAoR2VuZXJhdGVQYXJhbWV0
ZXJzQ2hlY2spOgorICAgICAgICBVc2UgbnVsbCBhcyBpbXBsaWNpdCBkZWZhdWx0IHZhbHVlIGZv
ciBudWxsYWJsZSBwYXJhbWV0ZXJzLCBnaXZlbiB0aGF0IFdlYiBJREwKKyAgICAgICAgY29udmVy
dHMgdW5kZWZpbmVkIHRvIG51bGwgZm9yIHN1Y2ggcGFyYW1ldGVyczoKKyAgICAgICAgaHR0cDov
L2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy1udWxsYWJsZS10eXBlCisKKyAgICAgICAgKENh
blVzZVdURk9wdGlvbmFsRm9yUGFyYW1ldGVyKToKKyAgICAgICAgRHJvcCB0aGUgY2hlY2sgZm9y
IHdyYXBwZXIgdHlwZXMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvKjoKKyAg
ICAgICAgSW1wcm92ZSBiaW5kaW5ncyB0ZXN0cyBjb3ZlcmFnZSAvIHJlYmFzZWxpbmUuCisKKyAg
ICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3QuaWRsOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmlkbDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorCisgICAgICAg
ICogaHRtbC9jYW52YXMvRE9NUGF0aC5pZGw6CisgICAgICAgIFRoZSBwcmV2aW91cyBzeW50YXgg
d2FzIHdvcmtpbmcgYmVjYXVzZSB0aGUgYmluZGluZ3Mgd2FzIGdlbmVyYXRpbmcgYW4gZWFybHkK
KyAgICAgICAgcmV0dXJuIGlmIGFkZFBhdGgoKSB3YXMgY2FsbGVkIHdpdGggb25seSBvbmUgcGFy
YW1ldGVyLCBjYWxsaW5nIHRoZQorICAgICAgICBpbXBsZW1lbnRhdGlvbiBtZXRob2Qgd2l0aCBv
bmx5IDEgcGFyYW1ldGVyLiBIb3dldmVyLCBzaW5jZSB3ZSBubyBsb25nZXIKKyAgICAgICAgZ2Vu
ZXJhdGUgZWFybHkgcmV0dXJucyBmb3Igb3B0aW9uYWwgcGFyYW1ldGVycywgd2Ugbm93IGhhdmUg
dG8gdXNlIGEgc2xpZ2h0bHkKKyAgICAgICAgZGlmZmVyZW50IHN5bnRheCB0byBtYWludGFpbiB0
aGUgcHJldmlvdXMgYmVoYXZpb3IuIFRoaXMgaXMgb25seSB0ZW1wb3JhcnksCisgICAgICAgIEkg
anVzdCBkaWQgbm90IHdhbnQgdG8gZGVhbCB3aXRoIFNWRyB0ZWFyIG9mZiB0eXBlcyBpbiB0aGlz
IHBhdGNoIHNpbmNlIHRoZXkKKyAgICAgICAgYXJlIHZlcnkgc3BlY2lhbCBpbiB0aGUgYmluZGlu
Z3MgZ2VuZXJhdG9yLgorCisgICAgICAgICogcGFnZS9ET01TZWxlY3Rpb24uaWRsOgorICAgICAg
ICBUaGUgbm9kZSBwYXJhbWV0ZXIgdG8gZXh0ZW5kKCkgd2FzIGNvbmZ1c2luZ2x5IG1hcmtlZCBh
cyBvcHRpb25hbC4gSG93ZXZlciwKKyAgICAgICAgd2hlbiBvbWl0dGVkLCBpdCB3b3VsZCBnZXQg
dHJhbnNsYXRlZCBpbnRvIG51bGwsIHdoaWNoIHdvdWxkIHRocm93IGFuCisgICAgICAgIGV4Y2Vw
dGlvbiBzaW5jZSB0aGUgdHlwZSBpcyBub3QgbnVsbGFibGUuIFNpbmNlIHRoZSBzcGVjaWZpY2F0
aW9uIHNheXMgJ25vZGUnCisgICAgICAgIHNob3VsZCBub3QgYmUgb3B0aW9uYWwsIGFuZCBzaW5j
ZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UsIEkgZHJvcHBlZAorICAgICAgICB0aGUgJ29w
dGlvbmFsJy4gVGhlIG9ubHkgd2ViLWV4cG9zZWQgZGlmZmVyZW5jZSBpcyB0aGUgbWVzc2FnZSBw
cm92aWRlZCB3aXRoCisgICAgICAgIHRoZSBUeXBlRXJyb3IgdGhhdCBpcyB0aHJvd24gd2hlbiBj
YWxsZWQgd2l0aG91dCBlbm91Z2ggcGFyYW1ldGVycy4gVGhlIG5ldworICAgICAgICBtZXNzYWdl
IGlzIG1vcmUgYWNjdXJhdGUgKHNlZSByZWJhc2VsaW5lZCBsYXlvdXQgdGVzdCkuCisKKyAgICAg
ICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5pZGw6CisgICAgICAgIFRoZSBwYXJhbWV0ZXIgZm9y
IHNldE9yaWVudFRvQW5nbGUoKSB3YXMgY29uZnVzaW5nbHkgbWFya2VkIGFzIG9wdGlvbmFsIGFu
ZAorICAgICAgICBoYXZpbmcgYSBkZWZhdWx0IHZhbHVlIG9mIG51bGwuIEhvd2V2ZXIsIHRoZSBi
aW5kaW5ncyB3b3VsZCB0aHJvdyBhIFR5cGVFcnJvcgorICAgICAgICBpZiBjYWxsZWQgd2l0aCBu
byBwYXJhbWV0ZXJzIG9yIHdoZW4gY2FsbGluZyBpdCB3aXRoIG51bGwuIFRoaXMgaXMgYmVjYXVz
ZQorICAgICAgICB0aGlzIGlzIGFuIFNWRyBUZWFyIG9mZiB0eXBlIGFuZCB0aGUgYmluZGluZ3Mg
YWx3YXlzIHRocm93IHdoZW4gcGFzc2luZyBudWxsCisgICAgICAgIGZvciBhbiBTVkcgVGVhciBv
ZmYgdHlwZS4gSSB0aGVyZWZvcmUgdXBkYXRlZCB0aGUgSURMIHRvIHJlZmxlY3QgdGhlIGFjdHVh
bAorICAgICAgICBiZWhhdmlvciAobm8gYWN0dWFsIGJlaGF2aW9yIGNoYW5nZSkuIFRoZSBuZXcg
SURMIGFsc28gbm93IG1hdGNoZXMgdGhlIHNwZWM6CisgICAgICAgIGh0dHA6Ly93d3cudzMub3Jn
L1RSL1NWRzIvcGFpbnRpbmcuaHRtbCNJbnRlcmZhY2VTVkdNYXJrZXJFbGVtZW50CisKKyAgICAg
ICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6CisgICAgICAgIFNhbWUgY29tbWVudHMgYXMgZm9y
IFNWR01hcmtlckVsZW1lbnQuIFRoZSBuZXcgSURMIG1hdGNoZXMgdGhlIGFjdHVhbAorICAgICAg
ICBiZWhhdmlvciBhbmQgaXMgY2xvc2VyIHRvIHRoZSBzcGVjaWZpY2F0aW9uLiBJIGFkZGVkIEZJ
WE1FIGNvbW1lbnRzIGZvciB3aGVuCisgICAgICAgIGl0IGRvZXMgbm90IG1hdGNoIHRoZSBzcGVj
aWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcyL3N0cnVjdC5odG1s
I0ludGVyZmFjZVNWR1NWR0VsZW1lbnQKKyAgICAgICAgSSBkaWQgbm90IGNoYW5nZSB3ZWItZXhw
b3NlZCBiZWhhdmlvciBpbiB0aGlzIHBhdGNoLgorCisgICAgICAgICogc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5pZGw6CisgICAgICAgIFNhbWUgYXMgYWJvdmUuIE5vIGFjdHVhbCBiZWhhdmlv
ciBjaGFuZ2UuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6Cisg
ICAgICAgICogeG1sL1hQYXRoRXZhbHVhdG9yLmlkbDoKKwogMjAxNi0wNC0yOSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgSURMXSBEcm9wICdhbnknIHR5
cGUgaGFuZGxpbmcgZnJvbSBDYW5Vc2VXVEZPcHRpb25hbEZvclBhcmFtZXRlcigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKaW5kZXggNDNjMmUzZGU4
NzcwOGIyNWU4MDI5YTRjZjQ2NTM2MDE0MmZjNzI5Ny4uNDg5NTEyMDg0MTA5MzYzZGU0OTY0NmJh
MmJlNjQyYTE5NWQ3NmI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCSW5kZXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkluZGV4LmNwcApAQCAtMTM3LDEzICsxMzcsNiBAQCBSZWZQdHI8SURCUmVxdWVzdD4gSURC
SW5kZXg6Om9wZW5DdXJzb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNWYWx1
ZQogICAgIHJldHVybiBvcGVuQ3Vyc29yKGNvbnRleHQsIGtleVJhbmdlLmdldCgpLCBkaXJlY3Rp
b24sIGVjKTsKIH0KIAotUmVmUHRyPElEQlJlcXVlc3Q+IElEQkluZGV4Ojpjb3VudChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmIGVjKQot
ewotICAgIExPRyhJbmRleGVkREIsICJJREJJbmRleDo6Y291bnQiKTsKLQotICAgIHJldHVybiBk
b0NvdW50KGNvbnRleHQsIElEQktleVJhbmdlRGF0YTo6YWxsS2V5cygpLCBlYyk7Ci19Ci0KIFJl
ZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRleDo6Y291bnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgSURCS2V5UmFuZ2UqIHJhbmdlLCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmIGVj
KQogewogICAgIExPRyhJbmRleGVkREIsICJJREJJbmRleDo6Y291bnQiKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oCmluZGV4IGYyOGYzMjNlOTU1M2EyNDUz
M2MxMWMyMWEwZmY4ZmIyNWFkMDMzZGQuLmQ3ZjM4YmI3ODVmOWEwZWQzZDVkYTM2N2Q1ZDUzYmUx
OTdlZjEzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkluZGV4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXgu
aApAQCAtNTIsNyArNTIsNiBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPElEQlJlcXVlc3Q+IG9wZW5D
dXJzb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIElEQktleVJhbmdlKiwgY29uc3QgU3RyaW5n
JiBkaXJlY3Rpb24sIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpOwogICAgIFJlZlB0cjxJREJS
ZXF1ZXN0PiBvcGVuQ3Vyc29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OkpTVmFsdWUg
a2V5LCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvbiwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJik7
CiAKLSAgICBSZWZQdHI8SURCUmVxdWVzdD4gY291bnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpOwogICAgIFJlZlB0cjxJREJSZXF1ZXN0PiBjb3Vu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSURCS2V5UmFuZ2UqLCBFeGNlcHRpb25Db2RlV2l0
aE1lc3NhZ2UmKTsKICAgICBSZWZQdHI8SURCUmVxdWVzdD4gY291bnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIEpTQzo6SlNWYWx1ZSBrZXksIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5pZGwKaW5kZXgg
M2ZkYTFlOTY4ZDUwNThmNzkxNGRjMmFkNmE2ZGRiYjdhZTFlOTE5YS4uMzU1MzFmNjcxNDU0YTVl
ZjlmYTMwZTk2ZDUwYjQ4MmQ0ZWNmNDczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkluZGV4LmlkbApAQCAtNDYsNyArNDYsNyBAQAogICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZV0gSURCUmVx
dWVzdCBnZXQoYW55IGtleSk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IFJhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdlXSBJREJSZXF1ZXN0IGdldEtleShJREJLZXlSYW5n
ZT8ga2V5KTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhj
ZXB0aW9uV2l0aE1lc3NhZ2VdIElEQlJlcXVlc3QgZ2V0S2V5KGFueSBrZXkpOwotICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZV0g
SURCUmVxdWVzdCBjb3VudChvcHRpb25hbCBJREJLZXlSYW5nZT8gcmFuZ2UpOworICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZV0g
SURCUmVxdWVzdCBjb3VudChvcHRpb25hbCBJREJLZXlSYW5nZT8gcmFuZ2UgPSBudWxsKTsKICAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uV2l0aE1l
c3NhZ2VdIElEQlJlcXVlc3QgY291bnQoYW55IGtleSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggYWE4MDVm
ZjExYmNhOWNmZGZkNzE5YmI1ZThiZWIyOTVlZjE4MzgwNS4uYmNkMzI1N2QwZTQ4ZjBjZDFkODc3
NmY1M2Y4ZDU4YmFmYWZiYmZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcApAQCAtNTYyLDEzICs1NjIsNiBAQCB2b2lkIElE
Qk9iamVjdFN0b3JlOjpkZWxldGVJbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNv
ZGVXaXRoTWVzc2FnZSYgZQogICAgIG1fdHJhbnNhY3Rpb24tPmRlbGV0ZUluZGV4KG1faW5mby5p
ZGVudGlmaWVyKCksIG5hbWUpOwogfQogCi1SZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3Rv
cmU6OmNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGVX
aXRoTWVzc2FnZSYgZWMpCi17Ci0gICAgTE9HKEluZGV4ZWREQiwgIklEQk9iamVjdFN0b3JlOjpj
b3VudCIpOwotCi0gICAgcmV0dXJuIGRvQ291bnQoY29udGV4dCwgSURCS2V5UmFuZ2VEYXRhOjph
bGxLZXlzKCksIGVjKTsKLX0KLQogUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpj
b3VudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBKU1ZhbHVlIGtleSwgRXhjZXB0
aW9uQ29kZVdpdGhNZXNzYWdlJiBlYykKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCT2JqZWN0
U3RvcmU6OmNvdW50Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuaAppbmRleCBmNjljOGNhMjA0M2QyNzY2MTE3OWQxYzA0NzE0NWFhMDk4
NmY0NzU5Li41YzMxNWQxNDlhN2Q4ZDM5YzUzYmRkN2FkMDBjMWVkOGE5MmU3MTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKQEAg
LTc0LDcgKzc0LDYgQEAgcHVibGljOgogICAgIFJlZlB0cjxJREJJbmRleD4gY3JlYXRlSW5kZXgo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgSURCS2V5
UGF0aCYsIGJvb2wgdW5pcXVlLCBib29sIG11bHRpRW50cnksIEV4Y2VwdGlvbkNvZGVXaXRoTWVz
c2FnZSYpOwogICAgIFJlZlB0cjxJREJJbmRleD4gaW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBF
eGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKTsKICAgICB2b2lkIGRlbGV0ZUluZGV4KGNvbnN0IFN0
cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJik7Ci0gICAgUmVmUHRyPElEQlJl
cXVlc3Q+IGNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBFeGNlcHRpb25Db2RlV2l0aE1l
c3NhZ2UmKTsKICAgICBSZWZQdHI8SURCUmVxdWVzdD4gY291bnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIElEQktleVJhbmdlKiwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJik7CiAgICAgUmVm
UHRyPElEQlJlcXVlc3Q+IGNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OkpTVmFs
dWUga2V5LCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsCmluZGV4IDI1MWQ1MTk0
MWY1ZGEzZGM3NTNiNjdkNzRlNWNmMDY0YzgyZjZjNWIuLjE3NTk3NDdhZmVjMmM1MzA0OTJiOGYy
Nzg1ZDk5Y2E0YTQxNGI4ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKQEAgLTQ5LDYgKzQ5LDYgQEAKICAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25XaXRoTWVz
c2FnZV0gSURCSW5kZXggY3JlYXRlSW5kZXgoRE9NU3RyaW5nIG5hbWUsIERPTVN0cmluZyBrZXlQ
YXRoLCBvcHRpb25hbCBEaWN0aW9uYXJ5IG9wdGlvbnMpOwogICAgIFtSYWlzZXNFeGNlcHRpb25X
aXRoTWVzc2FnZV0gSURCSW5kZXggaW5kZXgoRE9NU3RyaW5nIG5hbWUpOwogICAgIFtSYWlzZXNF
eGNlcHRpb25XaXRoTWVzc2FnZV0gdm9pZCBkZWxldGVJbmRleChET01TdHJpbmcgbmFtZSk7Ci0g
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbldpdGhN
ZXNzYWdlXSBJREJSZXF1ZXN0IGNvdW50KG9wdGlvbmFsIElEQktleVJhbmdlPyByYW5nZSk7Cisg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbldpdGhN
ZXNzYWdlXSBJREJSZXF1ZXN0IGNvdW50KG9wdGlvbmFsIElEQktleVJhbmdlPyByYW5nZSA9IG51
bGwpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRp
b25XaXRoTWVzc2FnZV0gSURCUmVxdWVzdCBjb3VudChhbnkga2V5KTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
Y3BwCmluZGV4IDY3N2VlZjJhMDdiYTQyMWVhYTZhYTFjODE4MGNhZTc1MTNlNzRmOGUuLjE4ZWIz
N2IzM2UwOTViZWVjMzY1NjQzM2RlNTQ1YTVhZjBlNmRkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBA
IC0zMjgsMTQgKzMyOCw5IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OnNldENvbmZpZ3VyYXRp
b24oY29uc3QgRGljdGlvbmFyeSYgY29uZmlndXJhdGlvbiwgRXhjZXB0CiAgICAgbV9iYWNrZW5k
LT5zZXRDb25maWd1cmF0aW9uKCptX2NvbmZpZ3VyYXRpb24pOwogfQogCi12b2lkIFJUQ1BlZXJD
b25uZWN0aW9uOjpwcml2YXRlR2V0U3RhdHMoTWVkaWFTdHJlYW1UcmFjayYgc2VsZWN0b3IsIFBl
ZXJDb25uZWN0aW9uOjpTdGF0c1Byb21pc2UmJiBwcm9taXNlKQordm9pZCBSVENQZWVyQ29ubmVj
dGlvbjo6cHJpdmF0ZUdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2sqIHNlbGVjdG9yLCBQZWVyQ29u
bmVjdGlvbjo6U3RhdHNQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBtX2JhY2tlbmQtPmdldFN0
YXRzKCZzZWxlY3RvciwgV1RGTW92ZShwcm9taXNlKSk7Ci19Ci0KLXZvaWQgUlRDUGVlckNvbm5l
Y3Rpb246OnByaXZhdGVHZXRTdGF0cyhQZWVyQ29ubmVjdGlvbjo6U3RhdHNQcm9taXNlJiYgcHJv
bWlzZSkKLXsKLSAgICBtX2JhY2tlbmQtPmdldFN0YXRzKG51bGxwdHIsIFdURk1vdmUocHJvbWlz
ZSkpOworICAgIG1fYmFja2VuZC0+Z2V0U3RhdHMoc2VsZWN0b3IsIFdURk1vdmUocHJvbWlzZSkp
OwogfQogCiBSZWZQdHI8UlRDRGF0YUNoYW5uZWw+IFJUQ1BlZXJDb25uZWN0aW9uOjpjcmVhdGVE
YXRhQ2hhbm5lbChTdHJpbmcsIGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJiBlYykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaAppbmRleCA1ZTI1NWVlNjkxMGMzNjFjMjMyYmIzYThiOTFiNzAzMmFhMjJmYmM0
Li4wYzU2NWVkYzA5MDZiYmY3MGM5ZDkzYjEzOGI5ZTBmYTNmYTdmNWM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5o
CkBAIC05Myw4ICs5Myw3IEBAIHB1YmxpYzoKICAgICBSVENDb25maWd1cmF0aW9uKiBnZXRDb25m
aWd1cmF0aW9uKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDb25maWd1cmF0aW9uKGNvbnN0IERpY3Rp
b25hcnkmIGNvbmZpZ3VyYXRpb24sIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIHZvaWQgcHJpdmF0
ZUdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2smLCBQZWVyQ29ubmVjdGlvbjo6U3RhdHNQcm9taXNl
JiYpOwotICAgIHZvaWQgcHJpdmF0ZUdldFN0YXRzKFBlZXJDb25uZWN0aW9uOjpTdGF0c1Byb21p
c2UmJik7CisgICAgdm9pZCBwcml2YXRlR2V0U3RhdHMoTWVkaWFTdHJlYW1UcmFjayosIFBlZXJD
b25uZWN0aW9uOjpTdGF0c1Byb21pc2UmJik7CiAKICAgICBSZWZQdHI8UlRDRGF0YUNoYW5uZWw+
IGNyZWF0ZURhdGFDaGFubmVsKFN0cmluZyBsYWJlbCwgY29uc3QgRGljdGlvbmFyeSYgZGF0YUNo
YW5uZWxEaWN0LCBFeGNlcHRpb25Db2RlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKaW5kZXggNzgyNjYz
YzRlNzg1NDQwOTFlNGRhNWJmNjA0NTFkOTRjYjkyMmVjNC4uOGI2ZmIzMDU3ZGQ1MTMzZmM0NGQx
NDY5NmJiZWM3MjQzOTdlMDkwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKQEAgLTQ2LDcgKzQ2LDcgQEAK
ICAgICBbUHJpdmF0ZV0gUHJvbWlzZSBxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNz
aW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwogICAgIFtQcml2YXRlXSBQcm9taXNlIHF1ZXVl
ZEFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUgY2FuZGlkYXRlKTsKIAotICAgIFtQcml2
YXRlXSBQcm9taXNlIHByaXZhdGVHZXRTdGF0cyhvcHRpb25hbCBNZWRpYVN0cmVhbVRyYWNrIHNl
bGVjdG9yKTsKKyAgICBbUHJpdmF0ZV0gUHJvbWlzZSBwcml2YXRlR2V0U3RhdHMob3B0aW9uYWwg
TWVkaWFTdHJlYW1UcmFjaz8gc2VsZWN0b3IgPSBudWxsKTsKIAogICAgIFtKU0J1aWx0aW5dIFBy
b21pc2UgY3JlYXRlT2ZmZXIob3B0aW9uYWwgRGljdGlvbmFyeSBvZmZlck9wdGlvbnMpOwogICAg
IC8vIExlZ2FjeSBzaWduYXR1cmU6IHZvaWQgY3JlYXRlT2ZmZXIoUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDk0ZTVlN2VkNWI5ZTFhZmZiZTQ5
YzE4ODM1NDVhMTdjNGVkNzVkY2MuLjc0MGJiZGQ2Mjk5MzM5YTUwNWVmZTE2MjgyZGY5ZDcwMTY0
ZGVhMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtCkBAIC0zMzgwLDcgKzMzODAsNiBAQCBzdWIgQ2FuVXNlV1RGT3B0aW9uYWxG
b3JQYXJhbWV0ZXIKICAgICByZXR1cm4gMCBpZiAkcGFyYW1ldGVyLT5pc1ZhcmlhZGljOwogICAg
IHJldHVybiAwIGlmICRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNlKCR0eXBlKTsK
ICAgICByZXR1cm4gMCBpZiAkY29kZUdlbmVyYXRvci0+SXNFbnVtVHlwZSgkdHlwZSk7Ci0gICAg
cmV0dXJuIDAgaWYgJGNvZGVHZW5lcmF0b3ItPklzV3JhcHBlclR5cGUoJHR5cGUpOwogCiAgICAg
cmV0dXJuIDE7CiB9CkBAIC0zNDIwLDYgKzM0MTksOCBAQCBzdWIgV2lsbENvbnZlcnRVbmRlZmlu
ZWRUb0RlZmF1bHRQYXJhbWV0ZXJWYWx1ZQogICAgICAgICByZXR1cm4gMSBpZiAkcGFyYW1ldGVy
VHlwZSBlcSAiZmxvYXQiIG9yICRwYXJhbWV0ZXJUeXBlIGVxICJ1bnJlc3RyaWN0ZWQgZmxvYXQi
OwogICAgIH0KIAorICAgIHJldHVybiAxIGlmICRjb2RlR2VuZXJhdG9yLT5Jc1dyYXBwZXJUeXBl
KCRwYXJhbWV0ZXJUeXBlKSBhbmQgJGRlZmF1bHRWYWx1ZSBlcSAibnVsbCI7CisKICAgICByZXR1
cm4gMDsKIH0KIApAQCAtMzQ2OSwxNCArMzQ3MCwyMiBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJz
Q2hlY2sKICAgICAgICAgbXkgJGFyZ1R5cGUgPSAkcGFyYW1ldGVyLT50eXBlOwogICAgICAgICBt
eSAkb3B0aW9uYWwgPSAkcGFyYW1ldGVyLT5pc09wdGlvbmFsOwogCi0gICAgICAgICMgQXMgcGVy
IFdlYiBJREwsIG9wdGlvbmFsIGRpY3Rpb25hcnkgcGFyYW1ldGVycyBhcmUgYWx3YXlzIGNvbnNp
ZGVyZWQgdG8gaGF2ZSBhIGRlZmF1bHQgdmFsdWUgb2YgYW4gZW1wdHkgZGljdGlvbmFyeSwgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuCi0gICAgICAgICRwYXJhbWV0ZXItPmRlZmF1bHQoIltd
IikgaWYgKCRvcHRpb25hbCAmJiAhZGVmaW5lZCgkcGFyYW1ldGVyLT5kZWZhdWx0KSAmJiAkYXJn
VHlwZSBlcSAiRGljdGlvbmFyeSIpOworICAgICAgICBkaWUgIk9wdGlvbmFsIHBhcmFtZXRlcnMg
b2Ygbm9uLW51bGxhYmxlIHdyYXBwZXIgdHlwZXMgYXJlIG5vdCBzdXBwb3J0ZWQiIGlmICRvcHRp
b25hbCAmJiAhJHBhcmFtZXRlci0+aXNOdWxsYWJsZSAmJiAkY29kZUdlbmVyYXRvci0+SXNXcmFw
cGVyVHlwZSgkYXJnVHlwZSkgJiYgISRjb2RlR2VuZXJhdG9yLT5Jc0NhbGxiYWNrSW50ZXJmYWNl
KCRhcmdUeXBlKTsKKworICAgICAgICBpZiAoJG9wdGlvbmFsICYmICFkZWZpbmVkKCRwYXJhbWV0
ZXItPmRlZmF1bHQpKSB7CisgICAgICAgICAgICAjIEFzIHBlciBXZWIgSURMLCBvcHRpb25hbCBk
aWN0aW9uYXJ5IHBhcmFtZXRlcnMgYXJlIGFsd2F5cyBjb25zaWRlcmVkIHRvIGhhdmUgYSBkZWZh
dWx0IHZhbHVlIG9mIGFuIGVtcHR5IGRpY3Rpb25hcnksIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkLgorICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVsdCgiW10iKSBpZiAkYXJnVHlwZSBl
cSAiRGljdGlvbmFyeSI7CisgICAgICAgICAgICAKKyAgICAgICAgICAgICMgV2UgdXNlIHVuZGVm
aW5lZCBhcyBkZWZhdWx0IHZhbHVlIGZvciBvcHRpb25hbCBwYXJhbWV0ZXJzIG9mIHR5cGUgJ2Fu
eScgdW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UuCisgICAgICAgICAgICAkcGFyYW1ldGVyLT5k
ZWZhdWx0KCJ1bmRlZmluZWQiKSBpZiAkYXJnVHlwZSBlcSAiYW55IjsKIAotICAgICAgICAjIFdl
IHVzZSB0aGUgbnVsbCBzdHJpbmcgYXMgZGVmYXVsdCB2YWx1ZSBmb3Igbm9uLW51bGxhYmxlIHBh
cmFtZXRlcnMgb2YgdHlwZSBET01TdHJpbmcgdW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UuCi0g
ICAgICAgICRwYXJhbWV0ZXItPmRlZmF1bHQoIm51bGwiKSBpZiAoJG9wdGlvbmFsICYmICFkZWZp
bmVkKCRwYXJhbWV0ZXItPmRlZmF1bHQpICYmICRhcmdUeXBlIGVxICJET01TdHJpbmciICYmICEk
cGFyYW1ldGVyLT5pc051bGxhYmxlKTsKKyAgICAgICAgICAgICMgV2UgdXNlIHRoZSBudWxsIHN0
cmluZyBhcyBkZWZhdWx0IHZhbHVlIGZvciBwYXJhbWV0ZXJzIG9mIHR5cGUgRE9NU3RyaW5nIHVu
bGVzcyBzcGVjaWZpZWQgb3RoZXJ3aXNlLgorICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVs
dCgibnVsbCIpIGlmICRhcmdUeXBlIGVxICJET01TdHJpbmciOwogCi0gICAgICAgICMgV2UgdXNl
IHVuZGVmaW5lZCBhcyBkZWZhdWx0IHZhbHVlIGZvciBvcHRpb25hbCBwYXJhbWV0ZXJzIG9mIHR5
cGUgJ2FueScgdW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UuCi0gICAgICAgICRwYXJhbWV0ZXIt
PmRlZmF1bHQoInVuZGVmaW5lZCIpIGlmICgkb3B0aW9uYWwgJiYgIWRlZmluZWQoJHBhcmFtZXRl
ci0+ZGVmYXVsdCkgJiYgJGFyZ1R5cGUgZXEgImFueSIpOworICAgICAgICAgICAgIyBBcyBwZXIg
V2ViIElETCwgcGFzc2luZyB1bmRlZmluZWQgZm9yIGEgbnVsbGFibGUgcGFyYW1ldGVyIGlzIHRy
ZWF0ZWQgYXMgbnVsbC4gVGhlcmVmb3JlLCB1c2UgbnVsbCBhcworICAgICAgICAgICAgIyBkZWZh
dWx0IHZhbHVlIGZvciBudWxsYWJsZSBwYXJhbWV0ZXJzIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkLgorICAgICAgICAgICAgJHBhcmFtZXRlci0+ZGVmYXVsdCgibnVsbCIpIGlmICRwYXJhbWV0
ZXItPmlzTnVsbGFibGU7CisgICAgICAgIH0KIAogICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQg
ZXZlbnR1YWxseSBzdG9wIGdlbmVyYXRpbmcgYW55IGVhcmx5IGNhbGxzLCBhbmQgaW5zdGVhZCB1
c2UgZWl0aGVyIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlcyBvciBXVEY6Ok9wdGlvbmFsPD4uCiAg
ICAgICAgIGlmICgkb3B0aW9uYWwgJiYgIWRlZmluZWQoJHBhcmFtZXRlci0+ZGVmYXVsdCkgJiYg
IUNhblVzZVdURk9wdGlvbmFsRm9yUGFyYW1ldGVyKCRwYXJhbWV0ZXIpICYmICEkY29kZUdlbmVy
YXRvci0+SXNDYWxsYmFja0ludGVyZmFjZSgkYXJnVHlwZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmou
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE9iai5jcHAKaW5kZXggYTVhOTNjYWU0ZTNkOGZiODAwOTE1ZGE3MDEzOTM3MTQ2OTEw
MmE3Ni4uN2Y0ZDMzNmZkMjVjYzNhM2FiZDlmNzExN2MzMzY4MDZjZmE5ODM4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTE3NzAsNiArMTc3MCwyNiBAQCB2b2lkIHdl
YmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfYW55KFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIFdlYktpdAogICAgIGl0ZW0tPm1ldGhvZFdpdGhPcHRpb25hbEFueShjb252ZXJ0
ZWRBKTsKIH0KIAordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX29wdGlvbmFs
X251bGxhYmxlX3dyYXBwZXIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE9i
aiogb2JqKQoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAg
ICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOworICAgIGdf
cmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihvYmopKTsKKyAgICBXZWJDb3Jl
OjpUZXN0T2JqKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOworICAgIFdlYkNvcmU6OlRlc3RP
YmoqIGNvbnZlcnRlZE9iaiA9IFdlYktpdDo6Y29yZShvYmopOworICAgIGl0ZW0tPm1ldGhvZFdp
dGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcihjb252ZXJ0ZWRPYmopOworfQorCit2b2lkIHdlYmtp
dF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfbnVsbGFibGVfd3JhcHBlcl9pc19u
dWxsKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RPYmoqIG9iaikKK3sKKyAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKKyAgICBnX3JldHVybl9pZl9mYWls
KFdFQktJVF9ET01fSVNfVEVTVF9PQkoob2JqKSk7CisgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRl
bSA9IFdlYktpdDo6Y29yZShzZWxmKTsKKyAgICBXZWJDb3JlOjpUZXN0T2JqKiBjb252ZXJ0ZWRP
YmogPSBXZWJLaXQ6OmNvcmUob2JqKTsKKyAgICBpdGVtLT5tZXRob2RXaXRoT3B0aW9uYWxOdWxs
YWJsZVdyYXBwZXJJc051bGwoY29udmVydGVkT2JqKTsKK30KKwogZ2NoYXIqIHdlYmtpdF9kb21f
dGVzdF9vYmpfY29uZGl0aW9uYWxfbWV0aG9kMShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewog
I2lmIEVOQUJMRShDb25kaXRpb24xKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCmluZGV4
IGYyMjk1MmFkYzU4YTZjY2U1YmZiYTI0YzEwNjA5Y2I2YWI2NzU1YmMuLjBjMzFiMjRlZTU1ZTA5
YWM5YWQ5ZGMxNGE2ZDQyOTE3OGU2ZmU0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2Jq
LmgKQEAgLTcwOSw2ICs3MDksMjYgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX21ldGhvZF93aXRoX29wdGlvbmFsX2FueShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJL
aXRET01hbnkqIGEpOwogCiAvKioKKyAqIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
b3B0aW9uYWxfbnVsbGFibGVfd3JhcHBlcjoKKyAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2Jq
CisgKiBAb2JqOiBBICNXZWJLaXRET01UZXN0T2JqCisgKgorICogU3RhYmlsaXR5OiBVbnN0YWJs
ZQorKiovCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
b3B0aW9uYWxfbnVsbGFibGVfd3JhcHBlcihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRE
T01UZXN0T2JqKiBvYmopOworCisvKioKKyAqIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dp
dGhfb3B0aW9uYWxfbnVsbGFibGVfd3JhcHBlcl9pc19udWxsOgorICogQHNlbGY6IEEgI1dlYktp
dERPTVRlc3RPYmoKKyAqIEBvYmo6IEEgI1dlYktpdERPTVRlc3RPYmoKKyAqCisgKiBTdGFiaWxp
dHk6IFVuc3RhYmxlCisqKi8KK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2RvbV90ZXN0X29ial9t
ZXRob2Rfd2l0aF9vcHRpb25hbF9udWxsYWJsZV93cmFwcGVyX2lzX251bGwoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogb2JqKTsKKworLyoqCiAgKiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2NvbmRpdGlvbmFsX21ldGhvZDE6CiAgKiBAc2VsZjogQSAjV2ViS2l0RE9NVGVz
dE9iagogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggMTgwYTk3ZWE4YmRkNTUwMzI1Y2EyNDQ2YWRkMDhjOWVm
MzFhYmJkNi4uOWY4NGZjNjhhMWEwYzQzMmMwM2UzNzQ5NmVjNzcwM2FjNGNmYWZkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKQEAgLTE1OCw2ICsxNTgsOCBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxBcgogSlNDOjpF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0
aG9kV2l0aE9wdGlvbmFsQm9vbGVhbihKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9w
dGlvbmFsQm9vbGVhbklzRmFsc2UoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhPcHRp
b25hbEFueShKU0M6OkV4ZWNTdGF0ZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVX
cmFwcGVyKEpTQzo6RXhlY1N0YXRlKik7CitKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxOdWxsYWJsZVdy
YXBwZXJJc051bGwoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDYWxsYmFja0FyZyhK
U0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tB
cmcoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJn
KEpTQzo6RXhlY1N0YXRlKik7CkBAIC03MzQsNiArNzM2LDggQEAgc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgIm1ldGhv
ZFdpdGhPcHRpb25hbEJvb2xlYW4iLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uTWV0aG9kV2l0aE9wdGlvbmFsQm9vbGVhbiksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7
ICJtZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZSIsIEpTQzo6RnVuY3Rpb24sIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZSksIChpbnRw
dHJfdCkgKDApIH0gfSwKICAgICB7ICJtZXRob2RXaXRoT3B0aW9uYWxBbnkiLCBKU0M6OkZ1bmN0
aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+
KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE9wdGlvbmFsQW55KSwgKGludHB0
cl90KSAoMCkgfSB9LAorICAgIHsgIm1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlciIs
IEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRp
dmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxO
dWxsYWJsZVdyYXBwZXIpLCAoaW50cHRyX3QpICgwKSB9IH0sCisgICAgeyAibWV0aG9kV2l0aE9w
dGlvbmFsTnVsbGFibGVXcmFwcGVySXNOdWxsIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcklzTnVsbCksIChpbnRw
dHJfdCkgKDApIH0gfSwKICAgICB7ICJtZXRob2RXaXRoQ2FsbGJhY2tBcmciLCBKU0M6OkZ1bmN0
aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+
KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aENhbGxiYWNrQXJnKSwgKGludHB0
cl90KSAoMSkgfSB9LAogICAgIHsgIm1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNr
QXJnIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhOb25D
YWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnKSwgKGludHB0cl90KSAoMikgfSB9LAogICAgIHsgIm1l
dGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJnKSwgKGludHB0cl90
KSAoMCkgfSB9LApAQCAtNDQ0Myw2ICs0NDQ3LDM2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoT3B0aW9uYWxBbnkoRXhl
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAorRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdp
dGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcihFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIEpTVmFs
dWUgdGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNWYWx1ZSgpOworICAgIGF1dG8gY2FzdGVkVGhpcyA9
IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAoVU5MSUtFTFko
IWNhc3RlZFRoaXMpKQorICAgICAgICByZXR1cm4gdGhyb3dUaGlzVHlwZUVycm9yKCpzdGF0ZSwg
IlRlc3RPYmoiLCAibWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVyIik7CisgICAgQVNT
RVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU1Rlc3RPYmo6OmluZm8oKSk7Cisg
ICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKKyAgICBUZXN0T2JqKiBvYmog
PSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+YXJndW1lbnQoMCkpOworICAgIGlmIChVTkxJ
S0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGltcGwubWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVX
cmFwcGVyKG9iaik7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
K30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbk1ldGhvZFdpdGhPcHRpb25hbE51bGxhYmxlV3JhcHBlcklzTnVsbChFeGVjU3RhdGUqIHN0
YXRlKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNWYWx1ZSgpOworICAg
IGF1dG8gY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4odGhpc1ZhbHVlKTsK
KyAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKQorICAgICAgICByZXR1cm4gdGhyb3dUaGlz
VHlwZUVycm9yKCpzdGF0ZSwgIlRlc3RPYmoiLCAibWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVX
cmFwcGVySXNOdWxsIik7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlz
LCBKU1Rlc3RPYmo6OmluZm8oKSk7CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBw
ZWQoKTsKKyAgICBUZXN0T2JqKiBvYmogPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0ZS0+YXJn
dW1lbnQoMCkpOworICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkpKQorICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGltcGwubWV0
aG9kV2l0aE9wdGlvbmFsTnVsbGFibGVXcmFwcGVySXNOdWxsKG9iaik7CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDYWxsYmFja0FyZyhF
eGVjU3RhdGUqIHN0YXRlKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNW
YWx1ZSgpOwpAQCAtNDg4MSwxMyArNDkxNSw2IEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFs
dWUganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kV2l0aE9wdGlvCiAg
ICAgVGVzdE9iaiogb2JqQXJnMSA9IEpTVGVzdE9iajo6dG9XcmFwcGVkKHN0YXRlLT5hcmd1bWVu
dCgwKSk7CiAgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNlcHRpb24oKSkpCiAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0KLSAgICBzaXplX3QgYXJn
c0NvdW50ID0gc3RhdGUtPmFyZ3VtZW50Q291bnQoKTsKLSAgICBpZiAoYXJnc0NvdW50IDw9IDEp
IHsKLSAgICAgICAgaW1wbC5vdmVybG9hZGVkTWV0aG9kV2l0aE9wdGlvbmFsUGFyYW1ldGVyKG9i
akFyZzEpOwotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwot
ICAgIH0KLQogICAgIFRlc3RPYmoqIG9iakFyZzIgPSBKU1Rlc3RPYmo6OnRvV3JhcHBlZChzdGF0
ZS0+YXJndW1lbnQoMSkpOwogICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+aGFkRXhjZXB0aW9uKCkp
KQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9i
ai5oCmluZGV4IDc4MTFhZTVlNjFjOGI2Zjk0OGNlZDVlZDAzNGEyZGI3NzJlMmFlMzEuLmRlYTNk
MjZhNGQxNWE1OGFiOTA5NWZjOTBhZjA5ZGNjNTEwZTMyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAgLTE5
NCw2ICsxOTQsOCBAQCBXRUJDT1JFX0VYUE9SVCBAaW50ZXJmYWNlIERPTVRlc3RPYmogOiBET01P
YmplY3QKIC0gKHZvaWQpbWV0aG9kV2l0aE9wdGlvbmFsQm9vbGVhbjooQk9PTCliOwogLSAodm9p
ZCltZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZTooQk9PTCliOwogLSAodm9pZCltZXRo
b2RXaXRoT3B0aW9uYWxBbnk6KERPTWFueSAqKWE7CistICh2b2lkKW1ldGhvZFdpdGhPcHRpb25h
bE51bGxhYmxlV3JhcHBlcjooRE9NVGVzdE9iaiAqKW9iajsKKy0gKHZvaWQpbWV0aG9kV2l0aE9w
dGlvbmFsTnVsbGFibGVXcmFwcGVySXNOdWxsOihET01UZXN0T2JqICopb2JqOwogLSAodm9pZClj
bGFzc01ldGhvZDsKIC0gKGludCljbGFzc01ldGhvZFdpdGhPcHRpb25hbDooaW50KWFyZzsKIC0g
KHZvaWQpY2xhc3NNZXRob2QyOihpbnQpYXJnOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KaW5kZXggZDRhYzQ1MzA1
NzgxYmI1OTUwZmZmMDNmZjc0MzIzNDVjY2ZiMWM5MC4uMzk3YzNmZTc0MjRiMzc5OTMxMzQzNTdm
NTIwNmM5ZmY4M2Y3YTg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCkBAIC0xMzg4LDYgKzEzODgsMTggQEAg
LSAodm9pZCltZXRob2RXaXRoT3B0aW9uYWxBbnk6KERPTWFueSAqKWEKICAgICBJTVBMLT5tZXRo
b2RXaXRoT3B0aW9uYWxBbnkoY29yZShhKSk7CiB9CiAKKy0gKHZvaWQpbWV0aG9kV2l0aE9wdGlv
bmFsTnVsbGFibGVXcmFwcGVyOihET01UZXN0T2JqICopb2JqCit7CisgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIElNUEwtPm1ldGhvZFdpdGhPcHRpb25hbE51
bGxhYmxlV3JhcHBlcihjb3JlKG9iaikpOworfQorCistICh2b2lkKW1ldGhvZFdpdGhPcHRpb25h
bE51bGxhYmxlV3JhcHBlcklzTnVsbDooRE9NVGVzdE9iaiAqKW9iagoreworICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBJTVBMLT5tZXRob2RXaXRoT3B0aW9u
YWxOdWxsYWJsZVdyYXBwZXJJc051bGwoY29yZShvYmopKTsKK30KKwogCiAjaWYgRU5BQkxFKENv
bmRpdGlvbjEpCiAtIChOU1N0cmluZyAqKWNvbmRpdGlvbmFsTWV0aG9kMQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDJiNGEzN2Ex
NTliZGRhMjkwYzc3NzliZWNlNDYyMDI5NjNiMTA2OGUuLmNkYzBkMTRjMzZjYTY1M2M1Y2M5Njg0
N2ZkNGNhMzFlZWFlMzRlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTIwMSw2ICsyMDEsOCBAQCBlbnVtIF9vcHRpb25hbCB7
ICIiLCAiT3B0aW9uYWxWYWx1ZTEiLCAiT3B0aW9uYWxWYWx1ZTIiLCAiT3B0aW9uYWxWYWx1ZTMi
IH07CiAgICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuKG9wdGlvbmFsIGJvb2xl
YW4gYik7CiAgICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxCb29sZWFuSXNGYWxzZShvcHRp
b25hbCBib29sZWFuIGIgPSBmYWxzZSk7CiAgICAgdm9pZCAgICBtZXRob2RXaXRoT3B0aW9uYWxB
bnkob3B0aW9uYWwgYW55IGEpOworICAgIHZvaWQgICAgbWV0aG9kV2l0aE9wdGlvbmFsTnVsbGFi
bGVXcmFwcGVyKG9wdGlvbmFsIFRlc3RPYmo/IG9iaik7CisgICAgdm9pZCAgICBtZXRob2RXaXRo
T3B0aW9uYWxOdWxsYWJsZVdyYXBwZXJJc051bGwob3B0aW9uYWwgVGVzdE9iaj8gb2JqID0gbnVs
bCk7CiAKICNpZiBkZWZpbmVkKFRFU1RJTkdfSlMpCiAgICAgLy8gQ2FsbGJhY2sgaW50ZXJmYWNl
IHBhcmFtZXRlcnMuCkBAIC0yNTgsNyArMjYwLDcgQEAgZW51bSBfb3B0aW9uYWwgeyAiIiwgIk9w
dGlvbmFsVmFsdWUxIiwgIk9wdGlvbmFsVmFsdWUyIiwgIk9wdGlvbmFsVmFsdWUzIiB9OwogICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3Igb3ZlcmxvYWRlZCBmdW5jdGlvbnMgd2l0
aCB2YXJpYWRpYyBhcmd1bWVudHMuCiAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKEJsb2Iu
Li4gYmxvYkFyZ3MpOwogCi0gICAgdm9pZCBvdmVybG9hZGVkTWV0aG9kV2l0aE9wdGlvbmFsUGFy
YW1ldGVyKFRlc3RPYmo/IG9iakFyZzEsIG9wdGlvbmFsIFRlc3RPYmo/IG9iakFyZzIpOworICAg
IHZvaWQgb3ZlcmxvYWRlZE1ldGhvZFdpdGhPcHRpb25hbFBhcmFtZXRlcihUZXN0T2JqPyBvYmpB
cmcxLCBvcHRpb25hbCBUZXN0T2JqPyBvYmpBcmcyID0gbnVsbCk7CiAgICAgdm9pZCBvdmVybG9h
ZGVkTWV0aG9kV2l0aE9wdGlvbmFsUGFyYW1ldGVyKFRlc3RPYmo/IG9iakFyZywgb3B0aW9uYWwg
bG9uZyBsb25nQXJnKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0Lmlk
bAppbmRleCA5YjYyZDE5MjIyODk2Y2U5OTY1ZGVmMmU1MjA4M2QyMDE4ODI0MThjLi4zZGZmZGNm
NWM4MGQ2M2E2OWZiMmNhMzk0NTdjN2RjOWJlYmQ1NDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TGlzdC5pZGwKQEAgLTIyLDYgKzIyLDggQEAKIF0gaW50ZXJmYWNlIE1lZGlhUXVlcnlM
aXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1lZGlhOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIG1hdGNoZXM7Ci0gICAgdm9pZCBhZGRMaXN0ZW5lcihvcHRp
b25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGxpc3RlbmVyKTsKLSAgICB2b2lkIHJlbW92ZUxp
c3RlbmVyKG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgbGlzdGVuZXIpOworCisgICAg
Ly8gRklYTUU6IFRoZSBsaXN0ZW5lciBwYXJhbWV0ZXIgc2hvdWxkIG5vdCBiZSBvcHRpb25hbC4K
KyAgICB2b2lkIGFkZExpc3RlbmVyKG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI/IGxp
c3RlbmVyID0gbnVsbCk7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihvcHRpb25hbCBNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyPyBsaXN0ZW5lciA9IG51bGwpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbAppbmRleCBiZDJkMTNmYTAwODNmM2MwYjA3
OWQ2ZTExMGY4NTA4OWExMGU1ODA3Li4zZTZiMGZkNjVmNTJiMWRiOTU3ZjJhOGMyOTc0MTEzMDk5
Y2FiOWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aWRsCkBAIC0yMSw1ICsyMSw1IEBACiAgICAgQ2FsbGJhY2tOZWVkc09wZXJhdG9yRXF1YWwsCiAg
ICAgQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5LAogXSBjYWxsYmFjayBpbnRlcmZhY2UgTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lciB7Ci0gICAgYm9vbGVhbiBxdWVyeUNoYW5nZWQob3B0aW9uYWwgTWVkaWFR
dWVyeUxpc3QgbGlzdCA9IG51bGwpOworICAgIGJvb2xlYW4gcXVlcnlDaGFuZ2VkKG9wdGlvbmFs
IE1lZGlhUXVlcnlMaXN0PyBsaXN0ID0gbnVsbCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwK
aW5kZXggOTRlYmMxMjJhYTljOGFmZjMwODA1ZWI4NWQ2NTk1N2IxYzQ4NDZiNC4uMTg2YTdlZTIy
NTllZWUzYWFjMmViZjAzOTIzNjUzMjljMGE3NmRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRs
CkBAIC0xMTgsMTAgKzExOCwxMCBAQAogI2Vsc2UKICAgICBbTmV3T2JqZWN0XSBOb2RlSXRlcmF0
b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKICAgICAgICAgb3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyB3aGF0VG9TaG93ID0gMHhGRkZGRkZGRiwKLSAgICAgICAgb3B0aW9uYWwgTm9kZUZp
bHRlcj8gZmlsdGVyKTsKKyAgICAgICAgb3B0aW9uYWwgTm9kZUZpbHRlcj8gZmlsdGVyID0gbnVs
bCk7CiAgICAgW05ld09iamVjdF0gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9v
dCwKICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93ID0gMHhGRkZGRkZG
RiwKLSAgICAgICAgb3B0aW9uYWwgTm9kZUZpbHRlcj8gZmlsdGVyKTsKKyAgICAgICAgb3B0aW9u
YWwgTm9kZUZpbHRlcj8gZmlsdGVyID0gbnVsbCk7CiAjZW5kaWYKIAogICAgIC8vIERPTSBMZXZl
bCAyIEFic3RyYWN0IFZpZXdzIChEb2N1bWVudFZpZXcgaW50ZXJmYWNlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9ET01QYXRoLmlkbAppbmRleCAzOWM4Y2I0ZmE3ZTYxYTI4MjI4ZGViZjU4OWI1
NTYyZGUxMGJlMTk4Li5lM2M1MTZhMTllNmIzYjg5OGUwNmIxMTMxZmNmNDQxM2M3ZmQzMmI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbApAQCAtMzMsOCArMzMsMTAgQEAK
ICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBJbnRlcmZhY2VOYW1lPVBhdGgy
RCwKIF0gaW50ZXJmYWNlIERPTVBhdGggewotICAgIC8vIEZJWE1FOiBUaGUgcGFyYW1ldGVycyBz
aG91bGQgbm90IGJlIG51bGxhYmxlLgotICAgIFtDb25kaXRpb25hbD1DQU5WQVNfUEFUSF0gdm9p
ZCBhZGRQYXRoKERPTVBhdGg/IHBhdGgsIG9wdGlvbmFsIFNWR01hdHJpeD8gdHJhbnNmb3JtKTsK
KyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmU6CisgICAgLy8gW0NvbmRpdGlvbmFsPUNBTlZB
U19QQVRIXSB2b2lkIGFkZFBhdGgoRE9NUGF0aCBwYXRoLCBvcHRpb25hbCBTVkdNYXRyaXggdHJh
bnNmb3JtKTsKKyAgICBbQ29uZGl0aW9uYWw9Q0FOVkFTX1BBVEhdIHZvaWQgYWRkUGF0aChET01Q
YXRoPyBwYXRoKTsKKyAgICBbQ29uZGl0aW9uYWw9Q0FOVkFTX1BBVEhdIHZvaWQgYWRkUGF0aChE
T01QYXRoPyBwYXRoLCBTVkdNYXRyaXggdHJhbnNmb3JtKTsKIAogICAgIC8vIEZJWE1FOiBUaGVz
ZSBtZXRob2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW4gdGhlIENhbnZhc1BhdGhNZXRob2RzIGludGVyZmFjZS4KICAgICB2b2lkIGNsb3NlUGF0aCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsCmluZGV4IDMzNmFlODU0NjI0ZjBiMjg3
NTdlZmM0M2VkYzYxZjlmNTVjMzc1MzEuLmFjMjIwNTBlMGJlZTlmMjQ5MTQ3MWEwODQyZDQzZjA4
MDNkODQxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwKQEAgLTQ5LDcgKzQ5
LDcgQEAKICAgICBib29sZWFuIGNvbnRhaW5zTm9kZShvcHRpb25hbCBOb2RlPyBub2RlID0gbnVs
bCwgb3B0aW9uYWwgYm9vbGVhbiBhbGxvd1BhcnRpYWwgPSBmYWxzZSk7CiAgICAgW1JhaXNlc0V4
Y2VwdGlvbl0gdm9pZCBzZWxlY3RBbGxDaGlsZHJlbihvcHRpb25hbCBOb2RlPyBub2RlID0gbnVs
bCk7CiAKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGV4dGVuZChvcHRpb25hbCBOb2RlIG5v
ZGUgPSBudWxsLCBvcHRpb25hbCBsb25nIG9mZnNldCA9IDApOworICAgIFtSYWlzZXNFeGNlcHRp
b25dIHZvaWQgZXh0ZW5kKE5vZGUgbm9kZSwgb3B0aW9uYWwgbG9uZyBvZmZzZXQgPSAwKTsKIAog
ICAgIFtSYWlzZXNFeGNlcHRpb25dIFJhbmdlIGdldFJhbmdlQXQob3B0aW9uYWwgbG9uZyBpbmRl
eCA9IDApOwogICAgIHZvaWQgcmVtb3ZlQWxsUmFuZ2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TWFya2VyRWxlbWVudC5pZGwKaW5kZXggZmY3ZWMxNzNmNTZhMTc5Y2IyMjcwOWI0OWFjZGQ3ZDc0
YzVkYTk5YS4uZWRkOGRlNTRkZmY0NzYwZTRkMDk0YTBjOTk4NDdlZmNmYzg0ZDFmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmlkbApAQCAtNDMsNyArNDMsNyBAQCBpbnRl
cmZhY2UgU1ZHTWFya2VyRWxlbWVudCA6IFNWR0VsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTVkdBbmltYXRlZEFuZ2xlICAgICAgIG9yaWVudEFuZ2xlOwogCiAgICAgdm9pZCBzZXRP
cmllbnRUb0F1dG8oKTsKLSAgICB2b2lkIHNldE9yaWVudFRvQW5nbGUob3B0aW9uYWwgU1ZHQW5n
bGUgYW5nbGUgPSBudWxsKTsKKyAgICB2b2lkIHNldE9yaWVudFRvQW5nbGUoU1ZHQW5nbGUgYW5n
bGUpOwogfTsKIAogU1ZHTWFya2VyRWxlbWVudCBpbXBsZW1lbnRzIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwKaW5kZXggNjEzYzQw
MmRjYmE0ODY3NDE4ZjE2OGJkYmEyNmUxNTY5ZTVkZjY0OS4uMTQxMjYwZjhhOTUyODVlMTZmMThk
MWI4ZmUyY2E0NGJiZDA2Yzk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NW
R0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbApA
QCAtNTAsMTAgKzUwLDE2IEBAIGludGVyZmFjZSBTVkdTVkdFbGVtZW50IDogU1ZHR3JhcGhpY3NF
bGVtZW50IHsKICAgICBib29sZWFuIGFuaW1hdGlvbnNQYXVzZWQoKTsKICAgICB1bnJlc3RyaWN0
ZWQgZmxvYXQgZ2V0Q3VycmVudFRpbWUoKTsKICAgICB2b2lkIHNldEN1cnJlbnRUaW1lKG9wdGlv
bmFsIHVucmVzdHJpY3RlZCBmbG9hdCBzZWNvbmRzID0gTmFOKTsKLSAgICBOb2RlTGlzdCBnZXRJ
bnRlcnNlY3Rpb25MaXN0KG9wdGlvbmFsIFNWR1JlY3QgcmVjdCA9IG51bGwsIG9wdGlvbmFsIFNW
R0VsZW1lbnQ/IHJlZmVyZW5jZUVsZW1lbnQgPSBudWxsKTsKLSAgICBOb2RlTGlzdCBnZXRFbmNs
b3N1cmVMaXN0KG9wdGlvbmFsIFNWR1JlY3QgcmVjdCA9IG51bGwsIG9wdGlvbmFsIFNWR0VsZW1l
bnQ/IHJlZmVyZW5jZUVsZW1lbnQgPSBudWxsKTsKLSAgICBib29sZWFuIGNoZWNrSW50ZXJzZWN0
aW9uKG9wdGlvbmFsIFNWR0VsZW1lbnQ/IGVsZW1lbnQgPSBudWxsLCBvcHRpb25hbCBTVkdSZWN0
IHJlY3QgPSBudWxsKTsKLSAgICBib29sZWFuIGNoZWNrRW5jbG9zdXJlKG9wdGlvbmFsIFNWR0Vs
ZW1lbnQ/IGVsZW1lbnQgPSBudWxsLCBvcHRpb25hbCBTVkdSZWN0IHJlY3QgPSBudWxsKTsKKwor
ICAgIC8vIEZJWE1FOiByZWZlcmVuY2VFbGVtZW50IHNob3VsZCBub3QgYmUgb3B0aW9uYWwuCisg
ICAgTm9kZUxpc3QgZ2V0SW50ZXJzZWN0aW9uTGlzdChTVkdSZWN0IHJlY3QsIG9wdGlvbmFsIFNW
R0VsZW1lbnQ/IHJlZmVyZW5jZUVsZW1lbnQgPSBudWxsKTsKKworICAgIC8vIEZJWE1FOiByZWZl
cmVuY2VFbGVtZW50IHNob3VsZCBub3QgYmUgb3B0aW9uYWwuCisgICAgTm9kZUxpc3QgZ2V0RW5j
bG9zdXJlTGlzdChTVkdSZWN0IHJlY3QsIG9wdGlvbmFsIFNWR0VsZW1lbnQ/IHJlZmVyZW5jZUVs
ZW1lbnQgPSBudWxsKTsKKworICAgIGJvb2xlYW4gY2hlY2tJbnRlcnNlY3Rpb24oU1ZHRWxlbWVu
dD8gZWxlbWVudCwgU1ZHUmVjdCByZWN0KTsgLy8gZWxlbWVudCBzaG91bGQgbm90IGJlIG51bGxh
YmxlLgorICAgIGJvb2xlYW4gY2hlY2tFbmNsb3N1cmUoU1ZHRWxlbWVudD8gZWxlbWVudCwgU1ZH
UmVjdCByZWN0KTsgLy8gZWxlbWVudCBzaG91bGQgbm90IGJlIG51bGxhYmxlLgorCiAgICAgdm9p
ZCBkZXNlbGVjdEFsbCgpOwogCiAgICAgU1ZHTnVtYmVyIGNyZWF0ZVNWR051bWJlcigpOwpAQCAt
NjMsNyArNjksNyBAQCBpbnRlcmZhY2UgU1ZHU1ZHRWxlbWVudCA6IFNWR0dyYXBoaWNzRWxlbWVu
dCB7CiAgICAgU1ZHTWF0cml4IGNyZWF0ZVNWR01hdHJpeCgpOwogICAgIFNWR1JlY3QgY3JlYXRl
U1ZHUmVjdCgpOwogICAgIFNWR1RyYW5zZm9ybSBjcmVhdGVTVkdUcmFuc2Zvcm0oKTsKLSAgICBT
VkdUcmFuc2Zvcm0gY3JlYXRlU1ZHVHJhbnNmb3JtRnJvbU1hdHJpeChvcHRpb25hbCBTVkdNYXRy
aXggbWF0cml4ID0gbnVsbCk7CisgICAgU1ZHVHJhbnNmb3JtIGNyZWF0ZVNWR1RyYW5zZm9ybUZy
b21NYXRyaXgoU1ZHTWF0cml4IG1hdHJpeCk7CiAKICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVm
aW5lZCIgYXMgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWUgaXMgd3JvbmcuCiAgICAgRWxlbWVudCBn
ZXRFbGVtZW50QnlJZChbUmVxdWlyZXNFeGlzdGluZ0F0b21pY1N0cmluZ10gb3B0aW9uYWwgRE9N
U3RyaW5nIGVsZW1lbnRJZCA9ICJ1bmRlZmluZWQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5pZGwKaW5kZXggMTUxZDc5N2Y3MTBmZjE5MjUyYWYwMGYyOTk3
NzVhN2NmZWRjZmExNC4uYjg1ZTY1MTE4YTgxMjcyZmQ1MWZmZWRjMTVkMDMwMGI3ZWUzZmJjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwKQEAgLTQw
LDcgKzQwLDcgQEAgaW50ZXJmYWNlIFNWR1RleHRDb250ZW50RWxlbWVudCA6IFNWR0dyYXBoaWNz
RWxlbWVudCB7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZHUG9pbnQgZ2V0RW5kUG9zaXRpb25P
ZkNoYXIob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKICAgICBbUmFpc2VzRXhj
ZXB0aW9uXSBTVkdSZWN0IGdldEV4dGVudE9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9m
ZnNldCA9IDApOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRS
b3RhdGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwotICAgIGxv
bmcgZ2V0Q2hhck51bUF0UG9zaXRpb24ob3B0aW9uYWwgU1ZHUG9pbnQgcG9pbnQgPSBudWxsKTsK
KyAgICBsb25nIGdldENoYXJOdW1BdFBvc2l0aW9uKFNWR1BvaW50IHBvaW50KTsKICAgICBbUmFp
c2VzRXhjZXB0aW9uXSB2b2lkIHNlbGVjdFN1YlN0cmluZyhvcHRpb25hbCB1bnNpZ25lZCBsb25n
IG9mZnNldCA9IDAsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoID0gMCk7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYWU5Y2M5ODAwYjhiNmJlMGY4MTcx
NDMyYWRiM2ZhNzNkMzAyYmNkYi4uZjk2NTBhNTNlZDQ2Y2RkMjA0ZDdlYzBhODBmNTQzY2ZjYjk4
NTJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjM4NCwxMSArMjM4
NCw2IEBAIHVuc2lnbmVkIEludGVybmFsczo6Y29tcG9zaXRpbmdVcGRhdGVDb3VudChFeGNlcHRp
b25Db2RlJiBlYykKICAgICByZXR1cm4gZG9jdW1lbnQtPnJlbmRlclZpZXcoKS0+Y29tcG9zaXRv
cigpLmNvbXBvc2l0aW5nVXBkYXRlQ291bnQoKTsKIH0KIAotdm9pZCBJbnRlcm5hbHM6OnVwZGF0
ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhFeGNl
cHRpb25Db2RlJiBlYykKLXsKLSAgICB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MobnVsbHB0ciwgZWMpOwotfQotCiB2b2lkIEludGVybmFs
czo6dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRh
c2tzKE5vZGUqIG5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIERvY3VtZW50KiBkb2N1
bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDEwOTlmZjlhYWQyMzllNzdi
ZTJmNjIxYTJlZTk4NWEyNjYwMDU4YTcuLmEzYjA1YjhjZWRhYjk5NjI1ODI0OTgxMWRhZjViNzdm
YzYyODA3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMzI2LDcgKzMyNiw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdDb21wb3NpdGluZ1VwZGF0ZXMoRXhj
ZXB0aW9uQ29kZSYpOwogICAgIHVuc2lnbmVkIGNvbXBvc2l0aW5nVXBkYXRlQ291bnQoRXhjZXB0
aW9uQ29kZSYpOwogCi0gICAgdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVl
dHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgdXBkYXRl
TGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKE5vZGUq
LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdW5zaWduZWQgbGF5b3V0Q291bnQoKSBjb25zdDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDRkNGRmMTk4Y2RlMzhiZGY1YTdk
NDlhOWM2N2RlOWM2NmZkMzI5NzEuLmEzYWVmMTIyZmRhZjUzNWJiYmI3NzEwYmM3YWY0MjA5NGU2
ZGNhNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTMzMiw3ICszMzIs
NyBAQCBlbnVtIEF1dG9GaWxsQnV0dG9uVHlwZSB7CiAgICAgLy8gfG5vZGV8IHNob3VsZCBiZSBE
b2N1bWVudCwgSFRNTElGcmFtZUVsZW1lbnQsIG9yIHVuc3BlY2lmaWVkLgogICAgIC8vIElmIHxu
b2RlfCBpcyBhbiBIVE1MSUZyYW1lRWxlbWVudCwgaXQgYXNzdW1lcyBub2RlLmNvbnRlbnREb2N1
bWVudCBpcwogICAgIC8vIHNwZWNpZmllZCB3aXRob3V0IHNlY3VyaXR5IGNoZWNrcy4gVW5zcGVj
aWZpZWQgb3IgbnVsbCBtZWFucyB0aGlzIGRvY3VtZW50LgotICAgIFtSYWlzZXNFeGNlcHRpb25d
IHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91
dFRhc2tzKG9wdGlvbmFsIE5vZGU/IG5vZGUpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQg
dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tz
KG9wdGlvbmFsIE5vZGU/IG5vZGUgPSBudWxsKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxheW91dENvdW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhFdmFsdWF0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXZhbHVhdG9y
LmlkbAppbmRleCBlMWU2NjU4ZTUxMGQxOTRiMGRhZDc0NTRhOTg3YTNkMjA1ODMzZmMxLi43NGQ5
NTBlNzU1ZmQwOWU3ZWM4NGZiZjk0ZGZhMTZlZjU2YTg5YjdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhFdmFsdWF0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aEV2YWx1YXRvci5pZGwKQEAgLTIzLDcgKzIzLDcgQEAKIF0gaW50ZXJmYWNlIFhQYXRoRXZh
bHVhdG9yIHsKICAgICAvLyBGSVhNRTogVXNpbmcgInVuZGVmaW5lZCIgYXMgZGVmYXVsdCBwYXJh
bWV0ZXIgdmFsdWUgaXMgd3JvbmcuCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gWFBhdGhFeHByZXNz
aW9uIGNyZWF0ZUV4cHJlc3Npb24ob3B0aW9uYWwgRE9NU3RyaW5nIGV4cHJlc3Npb24gPSAidW5k
ZWZpbmVkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBY
UGF0aE5TUmVzb2x2ZXIgcmVzb2x2ZXIgPSBudWxsKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBYUGF0aE5TUmVzb2x2ZXI/IHJlc29sdmVyID0gbnVsbCk7
CiAKICAgICBYUGF0aE5TUmVzb2x2ZXIgY3JlYXRlTlNSZXNvbHZlcihvcHRpb25hbCBOb2RlPyBu
b2RlUmVzb2x2ZXIgPSBudWxsKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ3N2M0MWNhNDI0NGQ1YTdlNDIzYzM3M2Yx
YjFjZjFmOTI5YWIxNjYuLjhhZGZjMDMxM2MyNmE1MjFiYzZjNDk5Y2NhOWI2NTRmZDE1ZmJmNGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNi0wNC0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgSURMXSBTcGVjaWZ5IGRlZmF1bHQgdmFsdWVzIGZv
ciBvcHRpb25hbCBwYXJhbWV0ZXJzIG9mIHdyYXBwZXIgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzE2MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlYmFzZWxpbmUgYXMgYSBkaWZmZXJlbnQgZXhj
ZXB0aW9uIG1lc3NhZ2UgaXMgbm93IGdpdmVuIHdoZW4gY2FsbGluZworICAgICAgICBTZWxlY3Rp
b24uZXh0ZW5kKCkgd2l0aG91dCBlbm91Z2ggcGFyYW1ldGVycy4KKworICAgICAgICAqIGVkaXRp
bmcvc2VsZWN0aW9uL2V4dGVuZC1leHBlY3RlZC50eHQ6CisKIDIwMTYtMDQtMjkgIEpvYW5tYXJp
ZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtBVEtdIGFjY2Vzc2liaWxp
dHkvZG91YmxlLW5lc3RlZC1pbmxpbmUtZWxlbWVudC1taXNzaW5nLWZyb20tdHJlZS5odG1sIGhh
cyBiZWVuIGZhaWxlZCBzaW5jZSByMTk4MjE5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLWV4cGVjdGVkLnR4dAppbmRleCAzMmY1MzhkOGU1NGQ3ZTU5MGU1Mzli
OWQwNmVmMmMyMDM4ZWQyNmE1Li4wMWVjNzRiYjRhY2VhZTJkYjQyZjJjMjRlMDE4NjE0OTdhZDky
NjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1leHBl
Y3RlZC50eHQKQEAgLTQsNSArNCw1IEBAIFN1Y2Nlc3M6IHMuZXh0ZW5kKHNwYW4yLmZpcnN0Q2hp
bGQsIDQpIHJhaXNlZCBFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpCiBTdWNjZXNz
OiBzLmV4dGVuZChzcGFuMi5maXJzdENoaWxkLCAtMSkgcmFpc2VkIEVycm9yOiBJbmRleFNpemVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxLgogU3VjY2Vzczogd2luZG93LmdldFNlbGVjdGlvbigpIGlz
IGIuCiBTdWNjZXNzOiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkgaXMgYXJiYXouCi1TdWNjZXNzOiBz
LmV4dGVuZCgpIHJhaXNlZCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitTdWNjZXNzOiBzLmV4dGVu
ZCgpIHJhaXNlZCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogU3VjY2Vzczogcy5l
eHRlbmQobnVsbCwgMCkgcmFpc2VkIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
</data>

          </attachment>
      

    </bug>

</bugzilla>