<?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>176753</bug_id>
          
          <creation_ts>2017-09-11 16:38:07 -0700</creation_ts>
          <short_desc>Make NotificationPermissionRequest work with completion handlers</short_desc>
          <delta_ts>2017-09-27 12:20: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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>aestes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1347725</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-11 16:38:07 -0700</bug_when>
    <thetext>Make NotificationPermissionRequest work with completion handlers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347728</commentid>
    <comment_count>1</comment_count>
      <attachid>320502</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-11 16:41:11 -0700</bug_when>
    <thetext>Created attachment 320502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347733</commentid>
    <comment_count>2</comment_count>
      <attachid>320504</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-11 16:50:43 -0700</bug_when>
    <thetext>Created attachment 320504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347735</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-11 16:54:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221894</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347757</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-11 17:40:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221896</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320502</attachid>
            <date>2017-09-11 16:41:11 -0700</date>
            <delta_ts>2017-09-11 16:50:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176753-20170911164110.patch</filename>
            <type>text/plain</type>
            <size>21517</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjE4OTMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE3LTA5LTExICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdCB3b3JrIHdpdGggY29tcGxldGlvbiBoYW5kbGVycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzUzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVBJOjpVSUNsaWVu
dDo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qgc2hvdWxkIHRh
a2UgYSBjb21wbGV0aW9uIGhhbmRsZXIKKyAgICAgICAgd2hpY2ggaXQgd2lsbCBldmVudHVhbGx5
IGNhbGwgd2l0aCBhIGJvb2wgcmVwcmVzZW50aW5nIHdoZXRoZXIgbm90aWZpY2F0aW9ucyBhcmUg
YWxsb3dlZC4KKyAgICAgICAgVG8gZG8gdGhpcywgSSBtYWtlIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0IGp1c3QgYSB3cmFwcGVyIGZvciBhIGxhbWJkYS4KKyAgICAgICAgT25lIHN1YnRs
ZSBjaGFuZ2UgaW4gYmVoYXZpb3IgaXMgd2hlbiBpbnZhbGlkYXRpbmcgYWxsIG91dHN0YW5kaW5n
IHJlcXVlc3RzLCB3ZSBkZW55IHRoZW0gaW5zdGVhZAorICAgICAgICBvZiBqdXN0IGRyb3BwaW5n
IHRoZW0uICBUaGlzIHJlc3VsdHMgaW4gYSBkZW55IG1lc3NhZ2Ugc2VudCB3aGVyZSB0aGVyZSB3
YXNuJ3Qgb25lIGJlZm9yZSwKKyAgICAgICAgcmVzdWx0aW5nIGluIGJldHRlciBjbGVhbnVwIGlu
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZU5vdGlmaWNh
dGlvblBlcm1pc3Npb25EZWNpc2lvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlD
bGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VVSUNsaWVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdDo6YWxsb3cpOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdDo6ZGVueSk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eTo6aW52YWxpZGF0ZVJlcXVlc3RzKToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmNyZWF0ZVJlcXVlc3QpOgorICAg
ICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6
ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbik6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0Tm90aWZpY2F0aW9uUGVybWlz
c2lvbik6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MTctMDktMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBNb2Rlcm5pemUgYW5kIG1ha2UgQVBJOjpVSUNsaWVudCBtb3JlIGFzeW5jaHJvbm91
cwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lv
biAyMjE4ODcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01OTAzLDggKzU5MDMsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJl
cXVlc3ROb3RpZmljYXRpb25QZQogICAgIGF1dG8gb3JpZ2luID0gQVBJOjpTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlRnJvbVN0cmluZyhvcmlnaW5TdHJpbmcpOwogICAgIGF1dG8gcmVxdWVzdCA9IG1f
bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNyZWF0ZVJlcXVlc3QocmVxdWVz
dElEKTsKICAgICAKLSAgICBpZiAoIW1fdWlDbGllbnQtPmRlY2lkZVBvbGljeUZvck5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0KHRoaXMsIG9yaWdpbi5wdHIoKSwgcmVxdWVzdC5wdHIoKSkp
Ci0gICAgICAgIHJlcXVlc3QtPmRlbnkoKTsKKyAgICBtX3VpQ2xpZW50LT5kZWNpZGVQb2xpY3lG
b3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCgqdGhpcywgb3JpZ2luLmdldCgpLCBbcmVx
dWVzdCA9IFdURk1vdmUocmVxdWVzdCldKGJvb2wgYWxsb3dlZCkgeworICAgICAgICBpZiAoYWxs
b3dlZCkKKyAgICAgICAgICAgIHJlcXVlc3QtPmFsbG93KCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHJlcXVlc3QtPmRlbnkoKTsKKyAgICB9KTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6
OnNob3dOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5
LCBjb25zdCBTdHJpbmcmIGljb25VUkwsIGNvbnN0IFN0cmluZyYgdGFnLCBjb25zdCBTdHJpbmcm
IGxhbmcsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXIsIGNvbnN0IFN0cmluZyYg
b3JpZ2luU3RyaW5nLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCShyZXZpc2lvbiAyMjE4ODcpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTI5LDcgKzEyOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5Rm9y
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktp
dDo6V2ViRnJhbWVQcm94eSYsIFNlY3VyaXR5T3JpZ2luJiwgRnVuY3Rpb248dm9pZChib29sKT4m
KSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3QoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBT
ZWN1cml0eU9yaWdpbiYsIFNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgY2hl
Y2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yT3JpZ2luKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2Vi
S2l0OjpXZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYsIFdl
YktpdDo6VXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQot
ICAgIHZpcnR1YWwgYm9vbCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFNlY3VyaXR5T3JpZ2luKiwgV2ViS2l0OjpOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCopIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCB2b2lkIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBGdW5jdGlvbjx2b2lkKGJvb2wpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfQogCiAgICAg
Ly8gUHJpbnRpbmcuCiAgICAgdmlydHVhbCBmbG9hdCBoZWFkZXJIZWlnaHQoV2ViS2l0OjpXZWJQ
YWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmKSB7IHJldHVybiAwOyB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHJldmlzaW9uIDIyMTg4NykK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE5NzksMTMgKzE5NzksMTIgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQ
YWdlUmVmIHBhZwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICAgICAg
Ci0gICAgICAgIGJvb2wgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QoV2ViUGFnZVByb3h5KiBwYWdlLCBBUEk6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KiBwZXJtaXNzaW9uUmVxdWVzdCkgZmluYWwKKyAgICAg
ICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJQ
YWdlUHJveHkmIHBhZ2UsIEFQSTo6U2VjdXJpdHlPcmlnaW4mIG9yaWdpbiwgRnVuY3Rpb248dm9p
ZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwKICAgICAgICAgewogICAgICAgICAg
ICAgaWYgKCFtX2NsaWVudC5kZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIAotICAgICAgICAgICAgbV9jbGllbnQuZGVj
aWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QodG9BUEkocGFnZSksIHRv
QVBJKG9yaWdpbiksIHRvQVBJKHBlcm1pc3Npb25SZXF1ZXN0KSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgbV9jbGllbnQu
ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QodG9BUEkoJnBhZ2Up
LCB0b0FQSSgmb3JpZ2luKSwgdG9BUEkoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q6OmNy
ZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkucHRyKCkpLCBtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgLy8gUHJpbnRpbmcuCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcAkocmV2aXNpb24gMjIxODcy
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw2NyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LmgiCi0KLSNpbmNsdWRlICJOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLSAgICAKLVJlZjxOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdD4gTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q6OmNy
ZWF0ZShXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5ICpt
YW5hZ2VyLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChtYW5hZ2VyLCBub3RpZmljYXRpb25J
RCkpOwotfQotCi1Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDo6Tm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QoTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkq
IG1hbmFnZXIsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQotICAgIDogbV9tYW5hZ2VyKG1hbmFn
ZXIpCi0gICAgLCBtX25vdGlmaWNhdGlvbklEKG5vdGlmaWNhdGlvbklEKQotewotfQotCi12b2lk
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OjphbGxvdygpCi17Ci0gICAgaWYgKCFtX21h
bmFnZXIpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBtX21hbmFnZXItPmRpZFJlY2VpdmVO
b3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24obV9ub3RpZmljYXRpb25JRCwgdHJ1ZSk7Ci0g
ICAgbV9tYW5hZ2VyID0gMDsKLX0KLQotdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dDo6ZGVueSgpCi17Ci0gICAgaWYgKCFtX21hbmFnZXIpCi0gICAgICAgIHJldHVybjsKLSAgICAK
LSAgICBtX21hbmFnZXItPmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24o
bV9ub3RpZmljYXRpb25JRCwgZmFsc2UpOwotICAgIG1fbWFuYWdlciA9IDA7Ci19Ci0KLXZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q6OmludmFsaWRhdGUoKQotewotICAgIG1fbWFu
YWdlciA9IDA7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaAkocmV2aXNpb24gMjIxODcyKQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMCArMjMsMTAgQEAKICAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0X2gKLSNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RfaAorI3By
YWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rp
b24uaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTM0LDIwICszNCwyOSBAQCBjbGFzcyBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnCiAKIGNsYXNzIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0IDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlw
ZTo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0PiBjcmVhdGUoTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkqLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCk7Ci0K
LSAgICB2b2lkIGFsbG93KCk7Ci0gICAgdm9pZCBkZW55KCk7Ci0KLSAgICB2b2lkIGludmFsaWRh
dGUoKTsKKyAgICBzdGF0aWMgUmVmPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0PiBjcmVh
dGUoRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7CisgICAgfQorICAgIAorICAgIHZvaWQgYWxsb3co
KQorICAgIHsKKyAgICAgICAgaWYgKGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBzdGQ6OmV4Y2hh
bmdlKG1fY29tcGxldGlvbkhhbmRsZXIsIG51bGxwdHIpKQorICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIodHJ1ZSk7CisgICAgfQorCisgICAgdm9pZCBkZW55KCkKKyAgICB7CisgICAgICAg
IGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gc3RkOjpleGNoYW5nZShtX2NvbXBsZXRpb25I
YW5kbGVyLCBudWxscHRyKSkKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsK
KyAgICB9CiAKIHByaXZhdGU6Ci0gICAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkqLCB1aW50NjRfdCBub3RpZmlj
YXRpb25JRCk7Ci0KLSAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eSogbV9tYW5hZ2VyOwotICAgIHVpbnQ2NF90IG1fbm90aWZpY2F0aW9uSUQ7ICAgIAorICAgIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KEZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCisgICAgICAgIDogbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSkKKyAgICB7IH0KKyAgICAKKyAgICBGdW5jdGlvbjx2b2lkKGJvb2wpPiBt
X2NvbXBsZXRpb25IYW5kbGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRp
ZiAvLyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5X2gKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHku
Y3BwCShyZXZpc2lvbiAyMjE4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDEsMjggKzQxLDE4IEBAIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3gKIHZvaWQgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHk6OmludmFsaWRhdGVSZXF1ZXN0cygpCiB7CiAgICAgZm9yIChhdXRvJiByZXF1ZXN0IDog
bV9wZW5kaW5nUmVxdWVzdHMudmFsdWVzKCkpCi0gICAgICAgIHJlcXVlc3QtPmludmFsaWRhdGUo
KTsKKyAgICAgICAgcmVxdWVzdC0+ZGVueSgpOwogCiAgICAgbV9wZW5kaW5nUmVxdWVzdHMuY2xl
YXIoKTsKIH0KIAogUmVmPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0PiBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6Y3JlYXRlUmVxdWVzdCh1aW50NjRfdCBu
b3RpZmljYXRpb25JRCkKIHsKLSAgICBhdXRvIHJlcXVlc3QgPSBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdDo6Y3JlYXRlKHRoaXMsIG5vdGlmaWNhdGlvbklEKTsKKyAgICBhdXRvIHJlcXVl
c3QgPSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDo6Y3JlYXRlKFtub3RpZmljYXRpb25J
RCwgcGFnZSA9IG1ha2VSZWYobV9wYWdlKV0oYm9vbCBhbGxvd2VkKSB7CisgICAgICAgIHBhZ2Ut
PnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlTm90aWZpY2F0aW9u
UGVybWlzc2lvbkRlY2lzaW9uKG5vdGlmaWNhdGlvbklELCBhbGxvd2VkKSwgcGFnZS0+cGFnZUlE
KCkpOworICAgIH0pOwogICAgIG1fcGVuZGluZ1JlcXVlc3RzLmFkZChub3RpZmljYXRpb25JRCwg
cmVxdWVzdC5wdHIoKSk7CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uRGVjaXNpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQsIGJvb2wgYWxsb3cpCi17
Ci0gICAgaWYgKCFtX3BhZ2UuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAg
UmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0PiByZXF1ZXN0ID0gbV9wZW5kaW5n
UmVxdWVzdHMudGFrZShub3RpZmljYXRpb25JRCk7Ci0gICAgaWYgKCFyZXF1ZXN0KQotICAgICAg
ICByZXR1cm47Ci0gICAgCi0gICAgbV9wYWdlLnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKG5vdGlmaWNhdGlv
bklELCBhbGxvdyksIG1fcGFnZS5wYWdlSUQoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuaAkocmV2aXNpb24gMjIxODcyKQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBOb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eV9oCi0jZGVmaW5lIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5X2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMzcsMjAg
KzM2LDE1IEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKIGNsYXNzIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5IHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eShXZWJQYWdlUHJveHkmKTsKLSAgICAKKwog
ICAgIHZvaWQgaW52YWxpZGF0ZVJlcXVlc3RzKCk7Ci0gICAgCisKICAgICAvLyBDcmVhdGUgYSBy
ZXF1ZXN0IHRvIGJlIHByZXNlbnRlZCB0byB0aGUgdXNlci4KICAgICBSZWY8Tm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3Q+IGNyZWF0ZVJlcXVlc3QodWludDY0X3Qgbm90aWZpY2F0aW9uSUQp
OwotICAgIAotICAgIC8vIENhbGxlZCBieSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCB3
aGVuIGEgZGVjaXNpb24gaXMgbWFkZSBieSB0aGUgdXNlci4KLSAgICB2b2lkIGRpZFJlY2VpdmVO
b3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQsIGJv
b2wgYWxsb3cpOwotICAgIAorCiBwcml2YXRlOgogICAgIEhhc2hNYXA8dWludDY0X3QsIFJlZlB0
cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdD4+IG1fcGVuZGluZ1JlcXVlc3RzOwogICAg
IFdlYlBhZ2VQcm94eSYgbV9wYWdlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNl
bmRpZiAvLyBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eV9oCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDIyMTg3MikKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTg5LDggKzg5LDggQEAKIAkJMEY4NTBGRTYxRUQ3
QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjg1MEZFNDFFRDdDMzlGMDBG
Qjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcCAqLzsgfTsKIAkJMEY4NTBG
RTcxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4NTBGRTUxRUQ3QzM5
RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oICovOyB9OwogCQkwRjkz
MUMxQzE4QzU3MTE5MDBEQkE3QzMgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5
MzFDMUExOEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGVJT1MuaCAqLzsgfTsKLQkJMEY5MzFDMUQxOEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjkzMUMxQjE4QzU3MTE5MDBEQkE3QzMgLyogU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbSAqLzsgfTsKIAkJMEY5MzFDMUMxOEM1NzEx
OTAwREJCOEQ0IC8qIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTMxQzFBMThDNTcx
MTkwMERCQjhENCAvKiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLmggKi87
IH07CisJCTBGOTMxQzFEMThDNTcxMTkwMERCQTdDMyAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEY5MzFDMUIxOEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVJT1MubW0gKi87IH07CiAJCTBGOTMxQzFEMThDNTcxMTkwMERCQjhENCAv
KiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5MzFDMUIxOEM1NzExOTAwREJCOEQ0
IC8qIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0gKi87IH07CiAJCTBG
QjY1OTIzMTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2
QyAvKiBEcmF3aW5nQXJlYUluZm8uaCAqLzsgfTsKIAkJMEZDQjRFNDYxOEJCRTA0NDAwMEZDRkM5
IC8qIFBhZ2VDbGllbnRJbXBsSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkNCNEUzNjE4QkJFMDQ0MDAwRkNGQzkgLyogUGFnZUNsaWVudEltcGxJ
T1MuaCAqLzsgfTsKQEAgLTc0OCw3ICs3NDgsNiBAQAogCQkzMUEyRUM0RTE0ODk5N0MyMDA4MTBE
NzEgLyogV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzQ3MTQ4OTk3QzEwMDgxMEQ3MSAvKiBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5oICovOyB9OwogCQkzMUEyRUM1MDE0ODk5ODA1MDA4MTBENzEgLyog
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNEYxNDg5OTgwNTAwODEw
RDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCAqLzsg
fTsKIAkJMzFBMkVDNTIxNDg5OTgxOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMUEyRUM1MTE0ODk5ODE1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCAqLzsgfTsKLQkJMzFBMkVDNTUxNDg5OTgyRTAwODEw
RDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzU0MTQ4OTk4MkUwMDgxMEQ3MSAv
KiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi87IH07CiAJCTMxQTJFQzU2MTQ4
OTlDMDkwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNTMxNDg5OTgyNTAw
ODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmggKi87IH07CiAJCTMxQTJF
Qzc0MTQ4RDU5Q0EwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM3MjE0
OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxQTJFQzc3MTQ4
RDY2MkUwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzc1MTQ4RDY1
QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLzsgfTsK
QEAgLTIyOTksOCArMjI5OCw4IEBACiAJCTBGODUwRkU0MUVEN0MzOUYwMEZCNzdBNyAvKiBXZWJQ
ZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY4NTBGRTUxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZvcm1hbmNl
TG9nZ2luZ0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQZXJm
b3JtYW5jZUxvZ2dpbmdDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY5
MzFDMUExOEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGVJT1MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkw
RjkzMUMxQjE4QzU3MTE5MDBEQkE3QzMgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGOTMxQzFBMThDNTcxMTkwMERCQjhENCAvKiBTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlSU9TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEY5MzFDMUIxOEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjkzMUMxQjE4QzU3MTE5MDBEQkI4RDQgLyogU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2
QyAvKiBEcmF3aW5nQXJlYUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RHJhd2luZ0FyZWFJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQzA4NTZF
MTg3Q0UwQTkwMDc4MEQ4NiAvKiBfX2luaXRfXy5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgbmFtZSA9IF9faW5p
dF9fLnB5OyBwYXRoID0gd2Via2l0L19faW5pdF9fLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzAyNyw3ICszMDI2LDYgQEAKIAkJMzFBMkVDNEYxNDg5OTgwNTAwODEwRDcxIC8q
IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFBMkVDNTEx
NDg5OTgxNTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzUzMTQ4OTk4MjUw
MDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQkzMUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMUEyRUM3MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVx
dWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzc1MTQ4RDY1QkIwMDgxMEQ3MSAv
KiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE1MDVGNzE2ODAwMjU1MDBBOTMwRUIgLyog
V2ViQ29udGV4dENsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJDb250ZXh0Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU2
MTEsNyArNTYwOSw2IEBACiAJCTMxQTJFQzQwMTQ4OTk3MzcwMDgxMEQ3MSAvKiBOb3RpZmljYXRp
b25zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQkzMUEy
RUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3Bw
ICovLAogCQkJCTMxQTJFQzUzMTQ4OTk4MjUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdC5oICovLAogCQkJCTMxQTJFQzRGMTQ4OTk4MDUwMDgxMEQ3MSAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgKi8sCiAJCQkJMzFBMkVDNTEx
NDg5OTgxNTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmggKi8sCkBAIC0xMDIwNCw3ICsxMDIwMSw2IEBACiAJCQkJNUMyMENCOUQxQkIwRENGQTAw
ODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk1QzBC
MTc4MTFFN0M4QzI2MDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1QzBCMTc3ODFFN0M4ODBFMDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVh
bU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzMUEyRUM1NTE0ODk5ODJF
MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzEzMTI2MUUxNDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUEyRUM1MDE0ODk5ODA1
MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyRDg0OEMxMjdGNkE0OTAwMUVCOTYyIC8qIE5QSWRlbnRp
ZmllckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320504</attachid>
            <date>2017-09-11 16:50:43 -0700</date>
            <delta_ts>2017-09-11 16:53:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176753-20170911165042.patch</filename>
            <type>text/plain</type>
            <size>19585</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjE4OTMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE3LTA5LTExICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdCB3b3JrIHdpdGggY29tcGxldGlvbiBoYW5kbGVycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NzUzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5keSBFc3Rlcy4KKworICAgICAgICBBUEk6OlVJQ2xpZW50Ojpk
ZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCBzaG91bGQgdGFrZSBh
IGNvbXBsZXRpb24gaGFuZGxlcgorICAgICAgICB3aGljaCBpdCB3aWxsIGV2ZW50dWFsbHkgY2Fs
bCB3aXRoIGEgYm9vbCByZXByZXNlbnRpbmcgd2hldGhlciBub3RpZmljYXRpb25zIGFyZSBhbGxv
d2VkLgorICAgICAgICBUbyBkbyB0aGlzLCBJIG1ha2UgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QganVzdCBhIHdyYXBwZXIgZm9yIGEgbGFtYmRhLgorICAgICAgICBPbmUgc3VidGxlIGNo
YW5nZSBpbiBiZWhhdmlvciBpcyB3aGVuIGludmFsaWRhdGluZyBhbGwgb3V0c3RhbmRpbmcgcmVx
dWVzdHMsIHdlIGRlbnkgdGhlbSBpbnN0ZWFkCisgICAgICAgIG9mIGp1c3QgZHJvcHBpbmcgdGhl
bS4gIFRoaXMgcmVzdWx0cyBpbiBhIGRlbnkgbWVzc2FnZSBzZW50IHdoZXJlIHRoZXJlIHdhc24n
dCBvbmUgYmVmb3JlLAorICAgICAgICByZXN1bHRpbmcgaW4gYmV0dGVyIGNsZWFudXAgaW4gTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9u
UGVybWlzc2lvbkRlY2lzaW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVu
dC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
OgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QuaDoKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0OjphbGxvdyk6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0OjpkZW55KToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Q6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5OjppbnZhbGlkYXRlUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAg
IChXZWJLaXQ6Ok5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9u
KToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNy0w
OS0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIE1vZGVybml6ZSBhbmQgbWFrZSBBUEk6OlVJQ2xpZW50IG1vcmUgYXN5bmNocm9ub3VzCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMTg3MikKKysrIFNvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQyMiw3ICs0MjIsNiBAQCBzZXQoV2Vi
S2l0Ml9TT1VSQ0VTCiAKICAgICBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcAogCi0gICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QuY3BwCiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uLmNwcAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjIxODg3KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkwMyw4ICs1OTAzLDEy
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Tm90aWZpY2F0aW9uUGUKICAgICBhdXRvIG9y
aWdpbiA9IEFQSTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3JpZ2luU3RyaW5n
KTsKICAgICBhdXRvIHJlcXVlc3QgPSBtX25vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5jcmVhdGVSZXF1ZXN0KHJlcXVlc3RJRCk7CiAgICAgCi0gICAgaWYgKCFtX3VpQ2xpZW50
LT5kZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCh0aGlzLCBvcmln
aW4ucHRyKCksIHJlcXVlc3QucHRyKCkpKQotICAgICAgICByZXF1ZXN0LT5kZW55KCk7CisgICAg
bV91aUNsaWVudC0+ZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qo
KnRoaXMsIG9yaWdpbi5nZXQoKSwgW3JlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpXShib29sIGFs
bG93ZWQpIHsKKyAgICAgICAgaWYgKGFsbG93ZWQpCisgICAgICAgICAgICByZXF1ZXN0LT5hbGxv
dygpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXF1ZXN0LT5kZW55KCk7CisgICAgfSk7
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYg
dGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJMLCBjb25zdCBT
dHJpbmcmIHRhZywgY29uc3QgU3RyaW5nJiBsYW5nLCBXZWJDb3JlOjpOb3RpZmljYXRpb25EaXJl
Y3Rpb24gZGlyLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZywgdWludDY0X3Qgbm90aWZpY2F0
aW9uSUQpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAko
cmV2aXNpb24gMjIxODg3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xp
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBTZWN1cml0eU9yaWdp
biYsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+JikgeyB9CiAgICAgdmlydHVhbCBib29sIGRlY2lkZVBv
bGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVByb3h5Jiwg
V2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYs
IFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYpIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCBib29sIGNoZWNrVXNlck1lZGlhUGVybWlzc2lvbkZvck9yaWdpbihX
ZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFNlY3VyaXR5T3Jp
Z2luJiwgU2VjdXJpdHlPcmlnaW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25DaGVja1By
b3h5JikgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgZGVjaWRlUG9saWN5Rm9y
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBTZWN1
cml0eU9yaWdpbiosIFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QqKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFNlY3VyaXR5T3JpZ2lu
JiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9u
SGFuZGxlcihmYWxzZSk7IH0KIAogICAgIC8vIFByaW50aW5nLgogICAgIHZpcnR1YWwgZmxvYXQg
aGVhZGVySGVpZ2h0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5
JikgeyByZXR1cm4gMDsgfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCShyZXZpc2lvbiAyMjE4ODcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc5LDEzICsxOTc5LDEyIEBAIHZvaWQg
V0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWcKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBib29sIGRlY2lkZVBvbGljeUZvck5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYlBhZ2VQcm94eSogcGFnZSwgQVBJOjpTZWN1
cml0eU9yaWdpbiogb3JpZ2luLCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCogcGVybWlz
c2lvblJlcXVlc3QpIGZpbmFsCisgICAgICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3QoV2ViUGFnZVByb3h5JiBwYWdlLCBBUEk6OlNlY3VyaXR5T3Jp
Z2luJiBvcmlnaW4sIEZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZp
bmFsCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGVjaWRlUG9saWN5Rm9y
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAK
LSAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0KHRvQVBJKHBhZ2UpLCB0b0FQSShvcmlnaW4pLCB0b0FQSShwZXJtaXNzaW9uUmVx
dWVzdCksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0KHRvQVBJKCZwYWdlKSwgdG9BUEkoJm9yaWdpbiksIHRvQVBJKE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0OjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
LnB0cigpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQogCiAgICAgICAg
IC8vIFByaW50aW5nLgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0VUlDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFVJQ2xpZW50LmNwcAkocmV2aXNpb24gMjIxODg3KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VUlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTUsMTEgKzE5NSwxMCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKLSAgICBib29sIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0KFdlYlBhZ2VQcm94eSosIEFQSTo6U2VjdXJpdHlPcmlnaW4qLCBOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdCogcGVybWlzc2lvblJlcXVlc3QpIGZpbmFsCisgICAgdm9pZCBkZWNpZGVQ
b2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJQYWdlUHJveHkmLCBBUEk6
OlNlY3VyaXR5T3JpZ2luJiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgZmluYWwKICAgICB7Ci0gICAgICAgIEdSZWZQdHI8V2ViS2l0Tm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3Q+IG5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0ID0gYWRvcHRHUmVmKHdl
YmtpdE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q3JlYXRlKHBlcm1pc3Npb25SZXF1ZXN0
KSk7CisgICAgICAgIEdSZWZQdHI8V2ViS2l0Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q+
IG5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0ID0gYWRvcHRHUmVmKHdlYmtpdE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0Q3JlYXRlKE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
OjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpLnB0cigpKSk7CiAgICAgICAgIHdl
YmtpdFdlYlZpZXdNYWtlUGVybWlzc2lvblJlcXVlc3QobV93ZWJWaWV3LCBXRUJLSVRfUEVSTUlT
U0lPTl9SRVFVRVNUKG5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmdldCgpKSk7Ci0gICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogI2lmIFBMQVRGT1JNKEdUSykKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwCShyZXZpc2lvbiAyMjE4NzIp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0LmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QuaCIKLQotI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotICAgIAotUmVmPE5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0PiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDo6Y3Jl
YXRlKFdlYktpdDo6Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkgKm1h
bmFnZXIsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQotewotICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KG1hbmFnZXIsIG5vdGlmaWNhdGlvbklE
KSk7Ci19Ci0KLU5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OjpOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdChOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSog
bWFuYWdlciwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCi0gICAgOiBtX21hbmFnZXIobWFuYWdl
cikKLSAgICAsIG1fbm90aWZpY2F0aW9uSUQobm90aWZpY2F0aW9uSUQpCi17Ci19Ci0KLXZvaWQg
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q6OmFsbG93KCkKLXsKLSAgICBpZiAoIW1fbWFu
YWdlcikKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIG1fbWFuYWdlci0+ZGlkUmVjZWl2ZU5v
dGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbihtX25vdGlmaWNhdGlvbklELCB0cnVlKTsKLSAg
ICBtX21hbmFnZXIgPSAwOwotfQotCi12b2lkIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
OjpkZW55KCkKLXsKLSAgICBpZiAoIW1fbWFuYWdlcikKLSAgICAgICAgcmV0dXJuOwotICAgIAot
ICAgIG1fbWFuYWdlci0+ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbiht
X25vdGlmaWNhdGlvbklELCBmYWxzZSk7Ci0gICAgbV9tYW5hZ2VyID0gMDsKLX0KLQotdm9pZCBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDo6aW52YWxpZGF0ZSgpCi17Ci0gICAgbV9tYW5h
Z2VyID0gMDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oCShyZXZpc2lvbiAyMjE4NzIpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEwICsyMywxMCBAQAogICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RfaAotI2RlZmluZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdF9oCisjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlv
bi5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzQsMjAgKzM0LDI5IEBAIGNsYXNzIE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWcKIAogY2xhc3MgTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBl
OjpOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdD4gewogcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q+IGNyZWF0ZShOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSosIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKLQot
ICAgIHZvaWQgYWxsb3coKTsKLSAgICB2b2lkIGRlbnkoKTsKLQotICAgIHZvaWQgaW52YWxpZGF0
ZSgpOworICAgIHN0YXRpYyBSZWY8Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q+IGNyZWF0
ZShGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBhbGxvdygp
CisgICAgeworICAgICAgICBpZiAoYXV0byBjb21wbGV0aW9uSGFuZGxlciA9IHN0ZDo6ZXhjaGFu
Z2UobV9jb21wbGV0aW9uSGFuZGxlciwgbnVsbHB0cikpCisgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcih0cnVlKTsKKyAgICB9CisKKyAgICB2b2lkIGRlbnkoKQorICAgIHsKKyAgICAgICAg
aWYgKGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBzdGQ6OmV4Y2hhbmdlKG1fY29tcGxldGlvbkhh
bmRsZXIsIG51bGxwdHIpKQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwor
ICAgIH0KIAogcHJpdmF0ZToKLSAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSosIHVpbnQ2NF90IG5vdGlmaWNh
dGlvbklEKTsKLQotICAgIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
KiBtX21hbmFnZXI7Ci0gICAgdWludDY0X3QgbV9ub3RpZmljYXRpb25JRDsgICAgCisgICAgTm90
aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QoRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKKyAgICAgICAgOiBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKQorICAgIHsgfQorICAgIAorICAgIEZ1bmN0aW9uPHZvaWQoYm9vbCk+IG1f
Y29tcGxldGlvbkhhbmRsZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlm
IC8vIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHlfaApJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHAJKHJldmlzaW9uIDIyMTg3MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSwyOCArNDEsMTggQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveAogdm9pZCBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eTo6aW52YWxpZGF0ZVJlcXVlc3RzKCkKIHsKICAgICBmb3IgKGF1dG8mIHJlcXVlc3QgOiBt
X3BlbmRpbmdSZXF1ZXN0cy52YWx1ZXMoKSkKLSAgICAgICAgcmVxdWVzdC0+aW52YWxpZGF0ZSgp
OworICAgICAgICByZXF1ZXN0LT5kZW55KCk7CiAKICAgICBtX3BlbmRpbmdSZXF1ZXN0cy5jbGVh
cigpOwogfQogCiBSZWY8Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q+IE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpjcmVhdGVSZXF1ZXN0KHVpbnQ2NF90IG5v
dGlmaWNhdGlvbklEKQogewotICAgIGF1dG8gcmVxdWVzdCA9IE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0OjpjcmVhdGUodGhpcywgbm90aWZpY2F0aW9uSUQpOworICAgIGF1dG8gcmVxdWVz
dCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OjpjcmVhdGUoW25vdGlmaWNhdGlvbklE
LCBwYWdlID0gbWFrZVJlZihtX3BhZ2UpXShib29sIGFsbG93ZWQpIHsKKyAgICAgICAgcGFnZS0+
cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uRGVjaXNpb24obm90aWZpY2F0aW9uSUQsIGFsbG93ZWQpLCBwYWdlLT5wYWdlSUQo
KSk7CisgICAgfSk7CiAgICAgbV9wZW5kaW5nUmVxdWVzdHMuYWRkKG5vdGlmaWNhdGlvbklELCBy
ZXF1ZXN0LnB0cigpKTsKICAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAotdm9pZCBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZGlkUmVjZWl2ZU5vdGlmaWNhdGlvblBl
cm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCwgYm9vbCBhbGxvdykKLXsK
LSAgICBpZiAoIW1fcGFnZS5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBS
ZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q+IHJlcXVlc3QgPSBtX3BlbmRpbmdS
ZXF1ZXN0cy50YWtlKG5vdGlmaWNhdGlvbklEKTsKLSAgICBpZiAoIXJlcXVlc3QpCi0gICAgICAg
IHJldHVybjsKLSAgICAKLSAgICBtX3BhZ2UucHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OkRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24obm90aWZpY2F0aW9u
SUQsIGFsbG93KSwgbV9wYWdlLnBhZ2VJRCgpKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5oCShyZXZpc2lvbiAyMjE4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5X2gKLSNkZWZpbmUgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHlfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0zNywyMCAr
MzYsMTUgQEAgY2xhc3MgV2ViUGFnZVByb3h5OwogY2xhc3MgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkgewogcHVibGljOgogICAgIGV4cGxpY2l0IE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5KFdlYlBhZ2VQcm94eSYpOwotICAgIAorCiAg
ICAgdm9pZCBpbnZhbGlkYXRlUmVxdWVzdHMoKTsKLSAgICAKKwogICAgIC8vIENyZWF0ZSBhIHJl
cXVlc3QgdG8gYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyLgogICAgIFJlZjxOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdD4gY3JlYXRlUmVxdWVzdCh1aW50NjRfdCBub3RpZmljYXRpb25JRCk7
Ci0gICAgCi0gICAgLy8gQ2FsbGVkIGJ5IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0IHdo
ZW4gYSBkZWNpc2lvbiBpcyBtYWRlIGJ5IHRoZSB1c2VyLgotICAgIHZvaWQgZGlkUmVjZWl2ZU5v
dGlmaWNhdGlvblBlcm1pc3Npb25EZWNpc2lvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCwgYm9v
bCBhbGxvdyk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRy
PE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0Pj4gbV9wZW5kaW5nUmVxdWVzdHM7CiAgICAg
V2ViUGFnZVByb3h5JiBtX3BhZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2Vu
ZGlmIC8vIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5X2gKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjIxODcyKQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNzQ4LDcgKzc0OCw2IEBACiAJCTMxQTJFQzRFMTQ4
OTk3QzIwMDgxMEQ3MSAvKiBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNDcxNDg5OTdDMTAwODEwRDcx
IC8qIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi87IH07CiAJCTMxQTJFQzUwMTQ4OTk4MDUw
MDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM0RjE0
ODk5ODA1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwICovOyB9OwogCQkzMUEyRUM1MjE0ODk5ODE5MDA4MTBENzEgLyogTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQTJFQzUxMTQ4OTk4MTUwMDgxMEQ3MSAvKiBOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oICovOyB9OwotCQkzMUEyRUM1NTE0
ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFBMkVDNTQxNDg5OTgy
RTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLzsgfTsKIAkJ
MzFBMkVDNTYxNDg5OUMwOTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUEyRUM1
MzE0ODk5ODI1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCAqLzsg
fTsKIAkJMzFBMkVDNzQxNDhENTlDQTAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxQTJFQzcyMTQ4RDU5QkIwMDgxMEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MzFBMkVDNzcxNDhENjYyRTAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFB
MkVDNzUxNDhENjVCQjAwODEwRDcxIC8qIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qu
Y3BwICovOyB9OwpAQCAtMzAyNyw3ICszMDI2LDYgQEAKIAkJMzFBMkVDNEYxNDg5OTgwNTAwODEw
RDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFB
MkVDNTExNDg5OTgxNTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzUzMTQ4
OTk4MjUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQkzMUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMUEyRUM3MjE0OEQ1OUJCMDA4MTBENzEgLyogV0tOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQTJFQzc1MTQ4RDY1QkIwMDgx
MEQ3MSAvKiBXS05vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUE1MDVGNzE2ODAwMjU1MDBBOTMw
RUIgLyogV2ViQ29udGV4dENsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJDb250ZXh0Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTU2MTEsNyArNTYwOSw2IEBACiAJCTMxQTJFQzQwMTQ4OTk3MzcwMDgxMEQ3MSAvKiBOb3Rp
ZmljYXRpb25zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJ
CQkzMUEyRUM1NDE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QuY3BwICovLAogCQkJCTMxQTJFQzUzMTQ4OTk4MjUwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdC5oICovLAogCQkJCTMxQTJFQzRGMTQ4OTk4MDUwMDgxMEQ3MSAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgKi8sCiAJCQkJMzFB
MkVDNTExNDg5OTgxNTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5LmggKi8sCkBAIC0xMDIwNCw3ICsxMDIwMSw2IEBACiAJCQkJNUMyMENCOUQxQkIw
RENGQTAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1QzBCMTc4MTFFN0M4QzI2MDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1QzBCMTc3ODFFN0M4ODBFMDBFOTEyM0MgLyogTmV0d29ya1NvY2tl
dFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzMUEyRUM1NTE0
ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzEzMTI2MUUxNDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUEyRUM1MDE0
ODk5ODA1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyRDg0OEMxMjdGNkE0OTAwMUVCOTYyIC8qIE5Q
SWRlbnRpZmllckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>