<?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>189946</bug_id>
          
          <creation_ts>2018-09-25 08:01:44 -0700</creation_ts>
          <short_desc>Move Symbol API to SPI</short_desc>
          <delta_ts>2018-09-26 13:05:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mitz</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1463139</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-09-25 08:01:44 -0700</bug_when>
    <thetext>Move Symbol API to SPI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463140</commentid>
    <comment_count>1</comment_count>
      <attachid>350751</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-09-25 08:03:10 -0700</bug_when>
    <thetext>Created attachment 350751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463141</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-25 08:04:52 -0700</bug_when>
    <thetext>Attachment 350751 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:94:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:106:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;attributes&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:131:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463242</commentid>
    <comment_count>3</comment_count>
      <attachid>350771</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-09-25 11:36:47 -0700</bug_when>
    <thetext>Created attachment 350771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463257</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-25 11:48:03 -0700</bug_when>
    <thetext>Attachment 350771 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:94:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:106:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;attributes&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:131:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:140:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 7 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463274</commentid>
    <comment_count>5</comment_count>
      <attachid>350776</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-09-25 12:05:58 -0700</bug_when>
    <thetext>Created attachment 350776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463277</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-25 12:08:56 -0700</bug_when>
    <thetext>Attachment 350776 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:94:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:106:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:119:  The parameter name &quot;attributes&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:131:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSObjectRefPrivate.h:140:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 7 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463699</commentid>
    <comment_count>7</comment_count>
      <attachid>350776</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-26 12:55:28 -0700</bug_when>
    <thetext>Comment on attachment 350776
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463708</commentid>
    <comment_count>8</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-09-26 13:04:33 -0700</bug_when>
    <thetext>Committed r236520: &lt;https://trac.webkit.org/changeset/236520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463709</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-26 13:05:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/44805073&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350751</attachid>
            <date>2018-09-25 08:03:10 -0700</date>
            <delta_ts>2018-09-25 11:36:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189946-20180925110309.patch</filename>
            <type>text/plain</type>
            <size>19993</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ODc1NjhmNzgxMmVlODQwNWQzZmRjOGYzZDdlYjRkODJjZjE1YjIxLi4zZGQ1NDU3NGNkZWI0ZTA3
MzQzODIwNDQ5YTRjNjMyNDdiY2Y0ZDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wOS0yNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBNb3ZlIFN5bWJvbCBBUEkgdG8gU1BJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk5NDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5oOgorICAg
ICAgICAqIEFQSS9KU09iamVjdFJlZlByaXZhdGUuaDoKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5o
OgorICAgICAgICAqIEFQSS9KU1ZhbHVlUHJpdmF0ZS5oOgorCiAyMDE4LTA5LTIxICBLZWl0aCBN
aWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBQcm9taXNlIFNQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5oCmluZGV4IDk3M2FiYzNjNGQ4
MTk2NDFmYWM5MDk2Y2ViNmI4MTM4NDhkODc4NTIuLjBlMmU3ZDQ2OWRiZmUzZjI2Y2VlZWU1NTVl
ZTg4MjMwN2FkNzRmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNP
YmplY3RSZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmgK
QEAgLTU1Myw1NCArNTUzLDYgQEAgSlNfRVhQT1JUIHZvaWQgSlNPYmplY3RTZXRQcm9wZXJ0eShK
U0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW4KICovCiBKU19FWFBP
UlQgYm9vbCBKU09iamVjdERlbGV0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0
UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pOwogCi0vKiEKLUBmdW5jdGlvbgotQGFic3RyYWN0IFRlc3RzIHdoZXRoZXIgYW4gb2JqZWN0
IGhhcyBhIGdpdmVuIHByb3BlcnR5IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkg
a2V5LgotQHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3QgdG8gdGVzdC4KLUBwYXJhbSBwcm9wZXJ0
eUtleSBBIEpTVmFsdWVSZWYgY29udGFpbmluZyB0aGUgcHJvcGVydHkga2V5IHRvIHVzZSB3aGVu
IGxvb2tpbmcgdXAgdGhlIHByb3BlcnR5LgotQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8g
YSBKU1ZhbHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNz
IE5VTEwgaWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KLUByZXN1bHQg
dHJ1ZSBpZiB0aGUgb2JqZWN0IGhhcyBhIHByb3BlcnR5IHdob3NlIG5hbWUgbWF0Y2hlcyBwcm9w
ZXJ0eUtleSwgb3RoZXJ3aXNlIGZhbHNlLgotQGRpc2N1c3Npb24gVGhpcyBmdW5jdGlvbiBpcyB0
aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJwcm9wZXJ0eUtleSBpbiBvYmplY3QiIGZyb20gSmF2YVNj
cmlwdC4KLSovCi1KU19FWFBPUlQgYm9vbCBKU09iamVjdEhhc1Byb3BlcnR5Rm9yS2V5KEpTQ29u
dGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1ZVJlZiBwcm9wZXJ0eUtleSwg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19U
QkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQotLyohCi1AZnVuY3Rpb24KLUBhYnN0cmFjdCBHZXRz
IGEgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QgdXNpbmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9w
ZXJ0eSBrZXkuCi1AcGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4dCB0byB1c2UuCi1AcGFy
YW0gb2JqZWN0IFRoZSBKU09iamVjdCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBnZXQuCi1A
cGFyYW0gcHJvcGVydHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IGtl
eSB0byB1c2Ugd2hlbiBsb29raW5nIHVwIHRoZSBwcm9wZXJ0eS4KLUBwYXJhbSBleGNlcHRpb24g
QSBwb2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24s
IGlmIGFueS4gUGFzcyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBleGNlcHRp
b24uCi1AcmVzdWx0IFRoZSBwcm9wZXJ0eSdzIHZhbHVlIGlmIG9iamVjdCBoYXMgdGhlIHByb3Bl
cnR5IGtleSwgb3RoZXJ3aXNlIHRoZSB1bmRlZmluZWQgdmFsdWUuCi1AZGlzY3Vzc2lvbiBUaGlz
IGZ1bmN0aW9uIGlzIHRoZSBzYW1lIGFzIHBlcmZvcm1pbmcgIm9iamVjdFtwcm9wZXJ0eUtleV0i
IGZyb20gSmF2YVNjcmlwdC4KLSovCi1KU19FWFBPUlQgSlNWYWx1ZVJlZiBKU09iamVjdEdldFBy
b3BlcnR5Rm9yS2V5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1
ZVJlZiBwcm9wZXJ0eUtleSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJM
RShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQotLyohCi1AZnVuY3Rp
b24KLUBhYnN0cmFjdCBTZXRzIGEgcHJvcGVydHkgb24gYW4gb2JqZWN0IHVzaW5nIGEgSlNWYWx1
ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5LgotQHBhcmFtIGN0eCBUaGUgZXhlY3V0aW9uIGNvbnRl
eHQgdG8gdXNlLgotQHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hvc2UgcHJvcGVydHkgeW91
IHdhbnQgdG8gc2V0LgotQHBhcmFtIHByb3BlcnR5S2V5IEEgSlNWYWx1ZVJlZiBjb250YWluaW5n
IHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNlIHdoZW4gbG9va2luZyB1cCB0aGUgcHJvcGVydHkuCi1A
cGFyYW0gdmFsdWUgQSBKU1ZhbHVlUmVmIHRvIHVzZSBhcyB0aGUgcHJvcGVydHkncyB2YWx1ZS4K
LUBwYXJhbSBhdHRyaWJ1dGVzIEEgbG9naWNhbGx5IE9SZWQgc2V0IG9mIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIHRvIGdpdmUgdG8gdGhlIHByb3BlcnR5LgotQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50
ZXIgdG8gYSBKU1ZhbHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55
LiBQYXNzIE5VTEwgaWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KLUBk
aXNjdXNzaW9uIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgcGVyZm9ybWluZyAib2JqZWN0
W3Byb3BlcnR5S2V5XSA9IHZhbHVlIiBmcm9tIEphdmFTY3JpcHQuCi0qLwotSlNfRVhQT1JUIHZv
aWQgSlNPYmplY3RTZXRQcm9wZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiBvYmplY3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYgdmFsdWUsIEpTUHJv
cGVydHlBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7Ci0KLS8q
IQotQGZ1bmN0aW9uCi1AYWJzdHJhY3QgRGVsZXRlcyBhIHByb3BlcnR5IGZyb20gYW4gb2JqZWN0
IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5LgotQHBhcmFtIGN0eCBUaGUg
ZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgotQHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hv
c2UgcHJvcGVydHkgeW91IHdhbnQgdG8gZGVsZXRlLgotQHBhcmFtIHByb3BlcnR5S2V5IEEgSlNW
YWx1ZVJlZiBjb250YWluaW5nIHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNlIHdoZW4gbG9va2luZyB1
cCB0aGUgcHJvcGVydHkuCi1AcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVS
ZWYgaW4gd2hpY2ggdG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5
b3UgZG8gbm90IGNhcmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgotQHJlc3VsdCB0cnVlIGlmIHRo
ZSBkZWxldGUgb3BlcmF0aW9uIHN1Y2NlZWRzLCBvdGhlcndpc2UgZmFsc2UgKGZvciBleGFtcGxl
LCBpZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
YXR0cmlidXRlIHNldCkuCi1AZGlzY3Vzc2lvbiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBzYW1lIGFz
IHBlcmZvcm1pbmcgImRlbGV0ZSBvYmplY3RbcHJvcGVydHlLZXldIiBmcm9tIEphdmFTY3JpcHQu
Ci0qLwotSlNfRVhQT1JUIGJvb2wgSlNPYmplY3REZWxldGVQcm9wZXJ0eUZvcktleShKU0NvbnRl
eHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXksIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJB
KSwgaW9zKEpTQ19JT1NfVEJBKSk7Ci0KIC8qIQogQGZ1bmN0aW9uCiBAYWJzdHJhY3QgR2V0cyBh
IHByb3BlcnR5IGZyb20gYW4gb2JqZWN0IGJ5IG51bWVyaWMgaW5kZXguCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmUHJpdmF0ZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZlByaXZhdGUuaAppbmRleCAwYTk1YzhmYjhhZGM5
M2MxZDQxZjE5MjM4OWQ2NWIzODRmM2RmZmNkLi5mNDYzOWZhYTJlZGJjZmY5ODJjNmU2YzJkOWQx
YzFmMjY1NzFlNTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2Jq
ZWN0UmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWZQcml2YXRlLmgKQEAgLTgxLDcgKzgxLDU1IEBAIEpTX0VYUE9SVCBKU0dsb2JhbENvbnRleHRS
ZWYgSlNPYmplY3RHZXRHbG9iYWxDb250ZXh0KEpTT2JqZWN0UmVmIG9iamVjdCk7CiAgQHJlc3Vs
dCBBIEpTT2JqZWN0IHRoYXQgaXMgYSBwcm9taXNlIG9yIE5VTEwgaWYgYW4gZXhjZXB0aW9uIG9j
Y3VycmVkLgogICovCiBKU19FWFBPUlQgSlNPYmplY3RSZWYgSlNPYmplY3RNYWtlRGVmZXJyZWRQ
cm9taXNlKEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmKiByZXNvbHZlLCBKU09iamVjdFJl
ZiogcmVqZWN0LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pIEpTQ19BUElfQVZBSUxBQkxFKG1hY29z
eChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOwotICAgIAorCisvKiEKKyBAZnVuY3Rp
b24KKyBAYWJzdHJhY3QgVGVzdHMgd2hldGhlciBhbiBvYmplY3QgaGFzIGEgZ2l2ZW4gcHJvcGVy
dHkgdXNpbmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCisgQHBhcmFtIG9iamVj
dCBUaGUgSlNPYmplY3QgdG8gdGVzdC4KKyBAcGFyYW0gcHJvcGVydHlLZXkgQSBKU1ZhbHVlUmVm
IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hlbiBsb29raW5nIHVwIHRoZSBw
cm9wZXJ0eS4KKyBAcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4g
d2hpY2ggdG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8g
bm90IGNhcmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1bHQgdHJ1ZSBpZiB0aGUgb2Jq
ZWN0IGhhcyBhIHByb3BlcnR5IHdob3NlIG5hbWUgbWF0Y2hlcyBwcm9wZXJ0eUtleSwgb3RoZXJ3
aXNlIGZhbHNlLgorIEBkaXNjdXNzaW9uIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgcGVy
Zm9ybWluZyAicHJvcGVydHlLZXkgaW4gb2JqZWN0IiBmcm9tIEphdmFTY3JpcHQuCisgKi8KK0pT
X0VYUE9SVCBib29sIEpTT2JqZWN0SGFzUHJvcGVydHlGb3JLZXkoSlNDb250ZXh0UmVmIGN0eCwg
SlNPYmplY3RSZWYgb2JqZWN0LCBKU1ZhbHVlUmVmIHByb3BlcnR5S2V5LCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0Nf
SU9TX1RCQSkpOworCisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3QgR2V0cyBhIHByb3BlcnR5
IGZyb20gYW4gb2JqZWN0IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5Lgor
IEBwYXJhbSBjdHggVGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KKyBAcGFyYW0gb2JqZWN0
IFRoZSBKU09iamVjdCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBnZXQuCisgQHBhcmFtIHBy
b3BlcnR5S2V5IEEgSlNWYWx1ZVJlZiBjb250YWluaW5nIHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNl
IHdoZW4gbG9va2luZyB1cCB0aGUgcHJvcGVydHkuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50
ZXIgdG8gYSBKU1ZhbHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55
LiBQYXNzIE5VTEwgaWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KKyBA
cmVzdWx0IFRoZSBwcm9wZXJ0eSdzIHZhbHVlIGlmIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5IGtl
eSwgb3RoZXJ3aXNlIHRoZSB1bmRlZmluZWQgdmFsdWUuCisgQGRpc2N1c3Npb24gVGhpcyBmdW5j
dGlvbiBpcyB0aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJvYmplY3RbcHJvcGVydHlLZXldIiBmcm9t
IEphdmFTY3JpcHQuCisgKi8KK0pTX0VYUE9SVCBKU1ZhbHVlUmVmIEpTT2JqZWN0R2V0UHJvcGVy
dHlGb3JLZXkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1ZhbHVlUmVm
IHByb3BlcnR5S2V5LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pIEpTQ19BUElfQVZBSUxBQkxFKG1h
Y29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOworCisvKiEKKyBAZnVuY3Rpb24K
KyBAYWJzdHJhY3QgU2V0cyBhIHByb3BlcnR5IG9uIGFuIG9iamVjdCB1c2luZyBhIEpTVmFsdWVS
ZWYgYXMgdGhlIHByb3BlcnR5IGtleS4KKyBAcGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4
dCB0byB1c2UuCisgQHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hvc2UgcHJvcGVydHkgeW91
IHdhbnQgdG8gc2V0LgorIEBwYXJhbSBwcm9wZXJ0eUtleSBBIEpTVmFsdWVSZWYgY29udGFpbmlu
ZyB0aGUgcHJvcGVydHkga2V5IHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIHByb3BlcnR5Lgor
IEBwYXJhbSB2YWx1ZSBBIEpTVmFsdWVSZWYgdG8gdXNlIGFzIHRoZSBwcm9wZXJ0eSdzIHZhbHVl
LgorIEBwYXJhbSBhdHRyaWJ1dGVzIEEgbG9naWNhbGx5IE9SZWQgc2V0IG9mIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIHRvIGdpdmUgdG8gdGhlIHByb3BlcnR5LgorIEBwYXJhbSBleGNlcHRpb24gQSBw
b2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24sIGlm
IGFueS4gUGFzcyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBleGNlcHRpb24u
CisgQGRpc2N1c3Npb24gVGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJv
YmplY3RbcHJvcGVydHlLZXldID0gdmFsdWUiIGZyb20gSmF2YVNjcmlwdC4KKyAqLworSlNfRVhQ
T1JUIHZvaWQgSlNPYmplY3RTZXRQcm9wZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBKU09i
amVjdFJlZiBvYmplY3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYgdmFsdWUs
IEpTUHJvcGVydHlBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikg
SlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7
CisKKy8qIQorIEBmdW5jdGlvbgorIEBhYnN0cmFjdCBEZWxldGVzIGEgcHJvcGVydHkgZnJvbSBh
biBvYmplY3QgdXNpbmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCisgQHBhcmFt
IGN0eCBUaGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSBvYmplY3QgVGhlIEpT
T2JqZWN0IHdob3NlIHByb3BlcnR5IHlvdSB3YW50IHRvIGRlbGV0ZS4KKyBAcGFyYW0gcHJvcGVy
dHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hl
biBsb29raW5nIHVwIHRoZSBwcm9wZXJ0eS4KKyBAcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0
byBhIEpTVmFsdWVSZWYgaW4gd2hpY2ggdG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBh
c3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1
bHQgdHJ1ZSBpZiB0aGUgZGVsZXRlIG9wZXJhdGlvbiBzdWNjZWVkcywgb3RoZXJ3aXNlIGZhbHNl
IChmb3IgZXhhbXBsZSwgaWYgdGhlIHByb3BlcnR5IGhhcyB0aGUga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIGF0dHJpYnV0ZSBzZXQpLgorIEBkaXNjdXNzaW9uIFRoaXMgZnVuY3Rpb24g
aXMgdGhlIHNhbWUgYXMgcGVyZm9ybWluZyAiZGVsZXRlIG9iamVjdFtwcm9wZXJ0eUtleV0iIGZy
b20gSmF2YVNjcmlwdC4KKyAqLworSlNfRVhQT1JUIGJvb2wgSlNPYmplY3REZWxldGVQcm9wZXJ0
eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTVmFsdWVSZWYg
cHJvcGVydHlLZXksIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUobWFj
b3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7CisKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFs
dWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCmluZGV4IDU1MmQ0NzBj
YWU3MTEzZjk4ODZhZDgxYzU0MDFiZTU5OTFlMTZjZTAuLjljYmRjNTE5OWVlMWMyMGYxOGVmZDQw
MWIxYmFjZjc0Mzk0MDI0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCkBAIC00
NywxMiArNDcsNiBAQAogTlNfQ0xBU1NfQVZBSUxBQkxFKDEwXzksIDdfMCkKIEBpbnRlcmZhY2Ug
SlNWYWx1ZSA6IE5TT2JqZWN0CiAKLSNpZiAoZGVmaW5lZChfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgSlNDX01BQ19W
RVJTSU9OX1RCQSkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgSlNDX0lPU19WRVJTSU9OX1RC
QSkKLXR5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQcm9wZXJ0eTsKLSNlbHNlCi10eXBlZGVmIGlk
IEpTVmFsdWVQcm9wZXJ0eTsKLSNlbmRpZgotCiAvKiEKIEBwcm9wZXJ0eQogQGFic3RyYWN0IFRo
ZSBKU0NvbnRleHQgdGhhdCB0aGlzIHZhbHVlIG9yaWdpbmF0ZXMgZnJvbS4KQEAgLTE1NCwxNSAr
MTQ4LDYgQEAgdHlwZWRlZiBpZCBKU1ZhbHVlUHJvcGVydHk7CiAqLwogKyAoSlNWYWx1ZSAqKXZh
bHVlV2l0aFVuZGVmaW5lZEluQ29udGV4dDooSlNDb250ZXh0ICopY29udGV4dDsKIAotLyohCi0g
QG1ldGhvZAotIEBhYnN0cmFjdCBDcmVhdGUgYSBuZXcsIHVuaXF1ZSwgc3ltYm9sIG9iamVjdC4K
LSBAcGFyYW0gZGVzY3JpcHRpb24gVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzeW1ib2wgb2JqZWN0
IGJlaW5nIGNyZWF0ZWQuCi0gQHBhcmFtIGNvbnRleHQgVGhlIEpTQ29udGV4dCB0byB3aGljaCB0
aGUgcmVzdWx0aW5nIEpTVmFsdWUgYmVsb25ncy4KLSBAcmVzdWx0IFRoZSBKU1ZhbHVlIHJlcHJl
c2VudGluZyBhIHVuaXF1ZSBKYXZhU2NyaXB0IHZhbHVlIHdpdGggdHlwZSBzeW1ib2wuCi0gKi8K
LSsgKEpTVmFsdWUgKil2YWx1ZVdpdGhOZXdTeW1ib2xGcm9tRGVzY3JpcHRpb246KE5TU3RyaW5n
ICopZGVzY3JpcHRpb24gaW5Db250ZXh0OihKU0NvbnRleHQgKiljb250ZXh0IEpTQ19BUElfQVZB
SUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOwotCiAvKiEKIEBt
ZXRob2Rncm91cCBDb252ZXJ0aW5nIHRvIE9iamVjdGl2ZS1DIFR5cGVzCiBAZGlzY3Vzc2lvbiBX
aGVuIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHZhbHVlcyBhbmQgT2JqZWN0aXZlLUMg
b2JqZWN0cyBhIGNvcHkgaXMKQEAgLTMyNiw0MSArMzExLDM4IEBAIHR5cGVkZWYgaWQgSlNWYWx1
ZVByb3BlcnR5OwogQGFic3RyYWN0IEFjY2VzcyBhIHByb3BlcnR5IG9mIGEgSlNWYWx1ZS4KIEBy
ZXN1bHQgVGhlIEpTVmFsdWUgZm9yIHRoZSByZXF1ZXN0ZWQgcHJvcGVydHkgb3IgdGhlIEpTVmFs
dWUgPGNvZGU+dW5kZWZpbmVkPC9jb2RlPiAKICBpZiB0aGUgcHJvcGVydHkgZG9lcyBub3QgZXhp
c3QuCi1AZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUgSmF2YVNjcmlwdCBvcGVyYXRpb24g
PGNvZGU+b2JqZWN0W3Byb3BlcnR5XTwvY29kZT4uIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRC
QSwgJ3Byb3BlcnR5JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEg
SlNWYWx1ZSB1c2luZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmpl
Y3Q6aW5Db250ZXh0OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3By
b3BlcnR5JyB3YXMgZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KICovCi0tIChKU1ZhbHVl
ICopdmFsdWVGb3JQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5KXByb3BlcnR5OworLSAoSlNWYWx1
ZSAqKXZhbHVlRm9yUHJvcGVydHk6KE5TU3RyaW5nICopcHJvcGVydHk7CiAKIC8qIQogQG1ldGhv
ZAogQGFic3RyYWN0IFNldCBhIHByb3BlcnR5IG9uIGEgSlNWYWx1ZS4KLUBkaXNjdXNzaW9uIENv
cnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29kZT5vYmplY3RbcHJvcGVy
dHldID0gdmFsdWU8L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0
eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpTVmFsdWUgdXNp
bmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0OmluQ29udGV4
dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgd2Fz
IGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCiAqLwotLSAodm9pZClzZXRWYWx1ZTooaWQp
dmFsdWUgZm9yUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eTsKKy0gKHZvaWQpc2V0
VmFsdWU6KGlkKXZhbHVlIGZvclByb3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5OwogCiAvKiEK
IEBtZXRob2QKIEBhYnN0cmFjdCBEZWxldGUgYSBwcm9wZXJ0eSBmcm9tIGEgSlNWYWx1ZS4KIEBy
ZXN1bHQgWUVTIGlmIGRlbGV0aW9uIGlzIHN1Y2Nlc3NmdWwsIE5PIG90aGVyd2lzZS4KLUBkaXNj
dXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29kZT5kZWxl
dGUgb2JqZWN0W3Byb3BlcnR5XTwvY29kZT4uIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwg
J3Byb3BlcnR5JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNW
YWx1ZSB1c2luZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6
aW5Db250ZXh0OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3Bl
cnR5JyB3YXMgZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KICovCi0tIChCT09MKWRlbGV0
ZVByb3BlcnR5OihKU1ZhbHVlUHJvcGVydHkpcHJvcGVydHk7CistIChCT09MKWRlbGV0ZVByb3Bl
cnR5OihOU1N0cmluZyAqKXByb3BlcnR5OwogCiAvKiEKIEBtZXRob2QKIEBhYnN0cmFjdCBDaGVj
ayBpZiBhIEpTVmFsdWUgaGFzIGEgcHJvcGVydHkuCiBAZGlzY3Vzc2lvbiBUaGlzIG1ldGhvZCBo
YXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMgdGhlIEphdmFTY3JpcHQgb3BlcmF0b3IgPGNvZGU+aW48
L2NvZGU+LgogQHJlc3VsdCBSZXR1cm5zIFlFUyBpZiBwcm9wZXJ0eSBpcyBwcmVzZW50IG9uIHRo
ZSB2YWx1ZS4KLUBkaXNjdXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJh
dGlvbiA8Y29kZT5wcm9wZXJ0eSBpbiBvYmplY3Q8L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5k
IGlPUyBUQkEsICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRl
ZCB0byBhIEpTVmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVX
aXRoT2JqZWN0OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBU
QkEsICdwcm9wZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCiAqLwotLSAo
Qk9PTCloYXNQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5KXByb3BlcnR5OworLSAoQk9PTCloYXNQ
cm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0eTsKIAogLyohCiBAbWV0aG9kCiBAYWJzdHJhY3Qg
RGVmaW5lIHByb3BlcnRpZXMgd2l0aCBjdXN0b20gZGVzY3JpcHRvcnMgb24gSlNWYWx1ZXMuCiBA
ZGlzY3Vzc2lvbiBUaGlzIG1ldGhvZCBtYXkgYmUgdXNlZCB0byBjcmVhdGUgYSBkYXRhIG9yIGFj
Y2Vzc29yIHByb3BlcnR5IG9uIGFuIG9iamVjdC4KLSBUaGlzIG1ldGhvZCBvcGVyYXRlcyBpbiBh
Y2NvcmRhbmNlIHdpdGggdGhlIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtZXRob2QgaW4gdGhlIEph
dmFTY3JpcHQgbGFuZ3VhZ2UuIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5
JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1ZSB1c2lu
ZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0
OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyB3YXMg
ZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KKyBUaGlzIG1ldGhvZCBvcGVyYXRlcyBpbiBh
Y2NvcmRhbmNlIHdpdGggdGhlIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtZXRob2QgaW4gdGhlIAor
IEphdmFTY3JpcHQgbGFuZ3VhZ2UuCiAqLwotLSAodm9pZClkZWZpbmVQcm9wZXJ0eTooSlNWYWx1
ZVByb3BlcnR5KXByb3BlcnR5IGRlc2NyaXB0b3I6KGlkKWRlc2NyaXB0b3I7CistICh2b2lkKWRl
ZmluZVByb3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5IGRlc2NyaXB0b3I6KGlkKWRlc2NyaXB0
b3I7CiAKIC8qIQogQG1ldGhvZApAQCAtNDIxLDEyICs0MDMsNiBAQCB0eXBlZGVmIGlkIEpTVmFs
dWVQcm9wZXJ0eTsKICovCiBAcHJvcGVydHkgKHJlYWRvbmx5KSBCT09MIGlzT2JqZWN0OwogCi0v
KiEKLUBwcm9wZXJ0eQotQGFic3RyYWN0IENoZWNrIGlmIGEgSlNWYWx1ZSBpcyBhIHN5bWJvbC4K
LSovCi1AcHJvcGVydHkgKHJlYWRvbmx5KSBCT09MIGlzU3ltYm9sIEpTQ19BUElfQVZBSUxBQkxF
KG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOwotCiAvKiEKIEBwcm9wZXJ0
eQogQGFic3RyYWN0IENoZWNrIGlmIGEgSlNWYWx1ZSBpcyBhbiBhcnJheS4KQEAgLTU5NCwxNiAr
NTcwLDEzIEBAIENyZWF0ZSBhIEpTVmFsdWUgZnJvbSBhIENHUmVjdC4KIEAvdGV4dGJsb2NrCiAK
ICBBbiBvYmplY3Qga2V5IHBhc3NlZCBhcyBhIHN1YnNjcmlwdCB3aWxsIGJlIGNvbnZlcnRlZCB0
byBhIEphdmFTY3JpcHQgdmFsdWUsCi0gYW5kIHRoZW4gdGhlIHZhbHVlIHVzaW5nIHRoZSBzYW1l
IHJ1bGVzIGFzIDxjb2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gSW4gbWFj
T1MKLSBUQkEgYW5kIGlPUyBUQkEgYW5kIGJlbG93LCB0aGUgPGNvZGU+a2V5PC9jb2RlPiBhcmd1
bWVudCBvZgotIDxjb2RlPnNldE9iamVjdDpvYmplY3QgZm9yS2V5ZWRTdWJzY3JpcHQ6a2V5PC9j
b2RlPiB3YXMgcmVzdHJpY3RlZCB0byBhbgotIDxjb2RlPk5TU3RyaW5nIDxOU0NvcHlpbmc+ICo8
L2NvZGU+IGJ1dCB0aGF0IHJlc3RyaWN0aW9uIHdhcyBuZXZlciB1c2VkLgorIGFuZCB0aGVuIHRo
ZSB2YWx1ZSBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcgdXNlZCBhcyBhIHByb3BlcnR5IG5hbWUuCiAq
LwogQGludGVyZmFjZSBKU1ZhbHVlIChTdWJzY3JpcHRTdXBwb3J0KQogCi0tIChKU1ZhbHVlICop
b2JqZWN0Rm9yS2V5ZWRTdWJzY3JpcHQ6KEpTVmFsdWVQcm9wZXJ0eSlrZXk7CistIChKU1ZhbHVl
ICopb2JqZWN0Rm9yS2V5ZWRTdWJzY3JpcHQ6KGlkKWtleTsKIC0gKEpTVmFsdWUgKilvYmplY3RB
dEluZGV4ZWRTdWJzY3JpcHQ6KE5TVUludGVnZXIpaW5kZXg7Ci0tICh2b2lkKXNldE9iamVjdDoo
aWQpb2JqZWN0IGZvcktleWVkU3Vic2NyaXB0OihKU1ZhbHVlUHJvcGVydHkpa2V5OworLSAodm9p
ZClzZXRPYmplY3Q6KGlkKW9iamVjdCBmb3JLZXllZFN1YnNjcmlwdDooTlNPYmplY3QgPE5TQ29w
eWluZz4gKilrZXk7CiAtICh2b2lkKXNldE9iamVjdDooaWQpb2JqZWN0IGF0SW5kZXhlZFN1YnNj
cmlwdDooTlNVSW50ZWdlcilpbmRleDsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1ZhbHVlUHJpdmF0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1ZhbHVlUHJpdmF0ZS5oCmluZGV4IGIyNmYwMDc5YjQwMzI2MDJlZWFhZThjYTQ4ZDM5MTMx
NzFmM2UwYWYuLjYxYjkxODNjNDAwNDA2OGIxNTcwYTU0MDU2NDk4ZjMxMzE0NGE1MTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVQcml2YXRlLmgKQEAgLTI5LDYgKzI5LDcw
IEBACiAKIEBpbnRlcmZhY2UgSlNWYWx1ZShKU1ByaXZhdGUpCiAKKyNpZiAoZGVmaW5lZChfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEIDwgSlNDX01BQ19WRVJTSU9OX1RCQSkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
SlNDX0lPU19WRVJTSU9OX1RCQSkKK3R5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQcm9wZXJ0eTsK
KyNlbHNlCit0eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKKyNlbmRpZgorCisvKiEKKyBAbWV0
aG9kCisgQGFic3RyYWN0IENyZWF0ZSBhIG5ldywgdW5pcXVlLCBzeW1ib2wgb2JqZWN0LgorIEBw
YXJhbSBkZXNjcmlwdGlvbiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHN5bWJvbCBvYmplY3QgYmVp
bmcgY3JlYXRlZC4KKyBAcGFyYW0gY29udGV4dCBUaGUgSlNDb250ZXh0IHRvIHdoaWNoIHRoZSBy
ZXN1bHRpbmcgSlNWYWx1ZSBiZWxvbmdzLgorIEByZXN1bHQgVGhlIEpTVmFsdWUgcmVwcmVzZW50
aW5nIGEgdW5pcXVlIEphdmFTY3JpcHQgdmFsdWUgd2l0aCB0eXBlIHN5bWJvbC4KKyAqLworKyAo
SlNWYWx1ZSAqKXZhbHVlV2l0aE5ld1N5bWJvbEZyb21EZXNjcmlwdGlvbjooTlNTdHJpbmcgKilk
ZXNjcmlwdGlvbiBpbkNvbnRleHQ6KEpTQ29udGV4dCAqKWNvbnRleHQgSlNDX0FQSV9BVkFJTEFC
TEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7CisKKy8qIQorIEBtZXRo
b2QKKyBAYWJzdHJhY3QgQWNjZXNzIGEgcHJvcGVydHkgb2YgYSBKU1ZhbHVlLgorIEByZXN1bHQg
VGhlIEpTVmFsdWUgZm9yIHRoZSByZXF1ZXN0ZWQgcHJvcGVydHkgb3IgdGhlIEpTVmFsdWUgPGNv
ZGU+dW5kZWZpbmVkPC9jb2RlPgorIGlmIHRoZSBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdC4KKyBA
ZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUgSmF2YVNjcmlwdCBvcGVyYXRpb24gPGNvZGU+
b2JqZWN0W3Byb3BlcnR5XTwvY29kZT4uIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3By
b3BlcnR5JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1
ZSB1c2luZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5D
b250ZXh0OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5
JyB3YXMgZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KKyAqLworLSAoSlNWYWx1ZSAqKXZh
bHVlRm9yUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eTsKKworLyohCisgQG1ldGhv
ZAorIEBhYnN0cmFjdCBTZXQgYSBwcm9wZXJ0eSBvbiBhIEpTVmFsdWUuCisgQGRpc2N1c3Npb24g
Q29ycmVzcG9uZHMgdG8gdGhlIEphdmFTY3JpcHQgb3BlcmF0aW9uIDxjb2RlPm9iamVjdFtwcm9w
ZXJ0eV0gPSB2YWx1ZTwvY29kZT4uIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3Bl
cnR5JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1ZSB1
c2luZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250
ZXh0OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyB3
YXMgZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KKyAqLworLSAodm9pZClzZXRWYWx1ZToo
aWQpdmFsdWUgZm9yUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eTsKKworLyohCisg
QG1ldGhvZAorIEBhYnN0cmFjdCBEZWxldGUgYSBwcm9wZXJ0eSBmcm9tIGEgSlNWYWx1ZS4KKyBA
cmVzdWx0IFlFUyBpZiBkZWxldGlvbiBpcyBzdWNjZXNzZnVsLCBOTyBvdGhlcndpc2UuCisgQGRp
c2N1c3Npb24gQ29ycmVzcG9uZHMgdG8gdGhlIEphdmFTY3JpcHQgb3BlcmF0aW9uIDxjb2RlPmRl
bGV0ZSBvYmplY3RbcHJvcGVydHldPC9jb2RlPi4gQWZ0ZXIgbWFjT1MgVEJBIGFuZCBpT1MgVEJB
LCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBK
U1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxjb2RlPnZhbHVlV2l0aE9iamVj
dDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJv
cGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAqLgorICovCistIChCT09MKWRl
bGV0ZVByb3BlcnR5OihKU1ZhbHVlUHJvcGVydHkpcHJvcGVydHk7CisKKy8qIQorIEBtZXRob2QK
KyBAYWJzdHJhY3QgQ2hlY2sgaWYgYSBKU1ZhbHVlIGhhcyBhIHByb3BlcnR5LgorIEBkaXNjdXNz
aW9uIFRoaXMgbWV0aG9kIGhhcyB0aGUgc2FtZSBmdW5jdGlvbiBhcyB0aGUgSmF2YVNjcmlwdCBv
cGVyYXRvciA8Y29kZT5pbjwvY29kZT4uCisgQHJlc3VsdCBSZXR1cm5zIFlFUyBpZiBwcm9wZXJ0
eSBpcyBwcmVzZW50IG9uIHRoZSB2YWx1ZS4KKyBAZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0
aGUgSmF2YVNjcmlwdCBvcGVyYXRpb24gPGNvZGU+cHJvcGVydHkgaW4gb2JqZWN0PC9jb2RlPi4g
QWZ0ZXIgbWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBh
bmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1
bGVzIG9mIDxjb2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8g
bWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBO
U1N0cmluZyAqLgorICovCistIChCT09MKWhhc1Byb3BlcnR5OihKU1ZhbHVlUHJvcGVydHkpcHJv
cGVydHk7CisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJhY3QgRGVmaW5lIHByb3BlcnRpZXMgd2l0
aCBjdXN0b20gZGVzY3JpcHRvcnMgb24gSlNWYWx1ZXMuCisgQGRpc2N1c3Npb24gVGhpcyBtZXRo
b2QgbWF5IGJlIHVzZWQgdG8gY3JlYXRlIGEgZGF0YSBvciBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBh
biBvYmplY3QuCisgVGhpcyBtZXRob2Qgb3BlcmF0ZXMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBP
YmplY3QuZGVmaW5lUHJvcGVydHkgbWV0aG9kIGluIHRoZSBKYXZhU2NyaXB0IGxhbmd1YWdlLiBB
ZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFu
ZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpTVmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVs
ZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBt
YWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5T
U3RyaW5nICouCisgKi8KKy0gKHZvaWQpZGVmaW5lUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlw
cm9wZXJ0eSBkZXNjcmlwdG9yOihpZClkZXNjcmlwdG9yOworCisvKiEKKyBAcHJvcGVydHkKKyBA
YWJzdHJhY3QgQ2hlY2sgaWYgYSBKU1ZhbHVlIGlzIGEgc3ltYm9sLgorICovCitAcHJvcGVydHkg
KHJlYWRvbmx5KSBCT09MIGlzU3ltYm9sIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFD
X1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOworCisKKwogLyohCiAgQG1ldGhvZAogIEBhYnN0cmFj
dCBDcmVhdGUgYSBuZXcgcHJvbWlzZSBvYmplY3QgdXNpbmcgdGhlIHByb3ZpZGVkIGV4ZWN1dG9y
IGNhbGxiYWNrLgpAQCAtNjgsNCArMTMyLDMzIEBACiAKIEBlbmQKIAorLyohCisgQGNhdGVnb3J5
CisgQGRpc2N1c3Npb24gSW5zdGFuY2VzIG9mIEpTVmFsdWUgaW1wbGVtZW50IHRoZSBmb2xsb3dp
bmcgbWV0aG9kcyBpbiBvcmRlciB0byBlbmFibGUKKyBzdXBwb3J0IGZvciBzdWJzY3JpcHQgYWNj
ZXNzIGJ5IGtleSBhbmQgaW5kZXgsIGZvciBleGFtcGxlOgorCisgQHRleHRibG9jaworIEpTVmFs
dWUgKm9iamVjdEEsICpvYmplY3RCOworIEpTVmFsdWUgKnYxID0gb2JqZWN0W0AiWCJdOyAvLyBH
ZXQgdmFsdWUgZm9yIHByb3BlcnR5ICJYIiBmcm9tICdvYmplY3QnLgorIEpTVmFsdWUgKnYyID0g
b2JqZWN0WzQyXTsgICAvLyBHZXQgdmFsdWUgZm9yIGluZGV4IDQyIGZyb20gJ29iamVjdCcuCisg
b2JqZWN0W0AiWSJdID0gdjE7ICAgICAgICAgIC8vIEFzc2lnbiAndjEnIHRvIHByb3BlcnR5ICJZ
IiBvZiAnb2JqZWN0Jy4KKyBvYmplY3RbMTAxXSA9IHYyOyAgICAgICAgICAgLy8gQXNzaWduICd2
MicgdG8gaW5kZXggMTAxIG9mICdvYmplY3QnLgorIEAvdGV4dGJsb2NrCisKKyBBbiBvYmplY3Qg
a2V5IHBhc3NlZCBhcyBhIHN1YnNjcmlwdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEphdmFTY3Jp
cHQgdmFsdWUsCisgYW5kIHRoZW4gdGhlIHZhbHVlIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzIDxj
b2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gSW4gbWFjT1MKKyBUQkEgYW5k
IGlPUyBUQkEgYW5kIGJlbG93LCB0aGUgPGNvZGU+a2V5PC9jb2RlPiBhcmd1bWVudCBvZgorIDxj
b2RlPnNldE9iamVjdDpvYmplY3QgZm9yS2V5ZWRTdWJzY3JpcHQ6a2V5PC9jb2RlPiB3YXMgcmVz
dHJpY3RlZCB0byBhbgorIDxjb2RlPk5TU3RyaW5nIDxOU0NvcHlpbmc+ICo8L2NvZGU+IGJ1dCB0
aGF0IHJlc3RyaWN0aW9uIHdhcyBuZXZlciB1c2VkLgorICovCitAaW50ZXJmYWNlIEpTVmFsdWUg
KFN1YnNjcmlwdFN1cHBvcnRQcml2YXRlKQorCistIChKU1ZhbHVlICopb2JqZWN0Rm9yS2V5ZWRT
dWJzY3JpcHQ6KEpTVmFsdWVQcm9wZXJ0eSlrZXk7CistIChKU1ZhbHVlICopb2JqZWN0QXRJbmRl
eGVkU3Vic2NyaXB0OihOU1VJbnRlZ2VyKWluZGV4OworLSAodm9pZClzZXRPYmplY3Q6KGlkKW9i
amVjdCBmb3JLZXllZFN1YnNjcmlwdDooSlNWYWx1ZVByb3BlcnR5KWtleTsKKy0gKHZvaWQpc2V0
T2JqZWN0OihpZClvYmplY3QgYXRJbmRleGVkU3Vic2NyaXB0OihOU1VJbnRlZ2VyKWluZGV4Owor
CitAZW5kCisKKwogI2VuZGlmIC8vIEpTQ19PQkpDX0FQSV9FTkFCTEVECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350771</attachid>
            <date>2018-09-25 11:36:47 -0700</date>
            <delta_ts>2018-09-25 12:05:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189946-20180925143646.patch</filename>
            <type>text/plain</type>
            <size>23573</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ODc1NjhmNzgxMmVlODQwNWQzZmRjOGYzZDdlYjRkODJjZjE1YjIxLi5jOTU1ODE5Y2E5ZGMzM2Rm
MDJmYzZiNzc0ODhjZTRhMTcwYTVhZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wOS0yNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBNb3ZlIFN5bWJvbCBBUEkgdG8gU1BJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk5NDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5oOgorICAg
ICAgICAqIEFQSS9KU09iamVjdFJlZlByaXZhdGUuaDoKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5o
OgorICAgICAgICAqIEFQSS9KU1ZhbHVlUHJpdmF0ZS5oOgorICAgICAgICAqIEFQSS9KU1ZhbHVl
UmVmLmg6CisKIDIwMTgtMDktMjEgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIFByb21pc2UgU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
T2JqZWN0UmVmLmgKaW5kZXggOTczYWJjM2M0ZDgxOTY0MWZhYzkwOTZjZWI2YjgxMzg0OGQ4Nzg1
Mi4uMGUyZTdkNDY5ZGJmZTNmMjZjZWVlZTU1NWVlODgyMzA3YWQ3NGZmYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuaApAQCAtNTUzLDU0ICs1NTMsNiBAQCBKU19FWFBP
UlQgdm9pZCBKU09iamVjdFNldFByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVm
IG9iamVjdCwgSlNTdHJpbgogKi8KIEpTX0VYUE9SVCBib29sIEpTT2JqZWN0RGVsZXRlUHJvcGVy
dHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9w
ZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7CiAKLS8qIQotQGZ1bmN0aW9uCi1AYWJz
dHJhY3QgVGVzdHMgd2hldGhlciBhbiBvYmplY3QgaGFzIGEgZ2l2ZW4gcHJvcGVydHkgdXNpbmcg
YSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCi1AcGFyYW0gb2JqZWN0IFRoZSBKU09i
amVjdCB0byB0ZXN0LgotQHBhcmFtIHByb3BlcnR5S2V5IEEgSlNWYWx1ZVJlZiBjb250YWluaW5n
IHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNlIHdoZW4gbG9va2luZyB1cCB0aGUgcHJvcGVydHkuCi1A
cGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4gd2hpY2ggdG8gc3Rv
cmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8g
c3RvcmUgYW4gZXhjZXB0aW9uLgotQHJlc3VsdCB0cnVlIGlmIHRoZSBvYmplY3QgaGFzIGEgcHJv
cGVydHkgd2hvc2UgbmFtZSBtYXRjaGVzIHByb3BlcnR5S2V5LCBvdGhlcndpc2UgZmFsc2UuCi1A
ZGlzY3Vzc2lvbiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBzYW1lIGFzIHBlcmZvcm1pbmcgInByb3Bl
cnR5S2V5IGluIG9iamVjdCIgZnJvbSBKYXZhU2NyaXB0LgotKi8KLUpTX0VYUE9SVCBib29sIEpT
T2JqZWN0SGFzUHJvcGVydHlGb3JLZXkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2Jq
ZWN0LCBKU1ZhbHVlUmVmIHByb3BlcnR5S2V5LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pIEpTQ19B
UElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOwotCi0v
KiEKLUBmdW5jdGlvbgotQGFic3RyYWN0IEdldHMgYSBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdCB1
c2luZyBhIEpTVmFsdWVSZWYgYXMgdGhlIHByb3BlcnR5IGtleS4KLUBwYXJhbSBjdHggVGhlIGV4
ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KLUBwYXJhbSBvYmplY3QgVGhlIEpTT2JqZWN0IHdob3Nl
IHByb3BlcnR5IHlvdSB3YW50IHRvIGdldC4KLUBwYXJhbSBwcm9wZXJ0eUtleSBBIEpTVmFsdWVS
ZWYgY29udGFpbmluZyB0aGUgcHJvcGVydHkga2V5IHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhl
IHByb3BlcnR5LgotQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1ZhbHVlUmVmIGlu
IHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNzIE5VTEwgaWYgeW91IGRv
IG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KLUByZXN1bHQgVGhlIHByb3BlcnR5J3Mg
dmFsdWUgaWYgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkga2V5LCBvdGhlcndpc2UgdGhlIHVuZGVm
aW5lZCB2YWx1ZS4KLUBkaXNjdXNzaW9uIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgcGVy
Zm9ybWluZyAib2JqZWN0W3Byb3BlcnR5S2V5XSIgZnJvbSBKYXZhU2NyaXB0LgotKi8KLUpTX0VY
UE9SVCBKU1ZhbHVlUmVmIEpTT2JqZWN0R2V0UHJvcGVydHlGb3JLZXkoSlNDb250ZXh0UmVmIGN0
eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1ZhbHVlUmVmIHByb3BlcnR5S2V5LCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhK
U0NfSU9TX1RCQSkpOwotCi0vKiEKLUBmdW5jdGlvbgotQGFic3RyYWN0IFNldHMgYSBwcm9wZXJ0
eSBvbiBhbiBvYmplY3QgdXNpbmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCi1A
cGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4dCB0byB1c2UuCi1AcGFyYW0gb2JqZWN0IFRo
ZSBKU09iamVjdCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBzZXQuCi1AcGFyYW0gcHJvcGVy
dHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hl
biBsb29raW5nIHVwIHRoZSBwcm9wZXJ0eS4KLUBwYXJhbSB2YWx1ZSBBIEpTVmFsdWVSZWYgdG8g
dXNlIGFzIHRoZSBwcm9wZXJ0eSdzIHZhbHVlLgotQHBhcmFtIGF0dHJpYnV0ZXMgQSBsb2dpY2Fs
bHkgT1JlZCBzZXQgb2YgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgdG8gZ2l2ZSB0byB0aGUgcHJvcGVy
dHkuCi1AcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4gd2hpY2gg
dG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNh
cmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgotQGRpc2N1c3Npb24gVGhpcyBmdW5jdGlvbiBpcyB0
aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJvYmplY3RbcHJvcGVydHlLZXldID0gdmFsdWUiIGZyb20g
SmF2YVNjcmlwdC4KLSovCi1KU19FWFBPUlQgdm9pZCBKU09iamVjdFNldFByb3BlcnR5Rm9yS2V5
KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1ZVJlZiBwcm9wZXJ0
eUtleSwgSlNWYWx1ZVJlZiB2YWx1ZSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgYXR0cmlidXRlcywg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19U
QkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQotLyohCi1AZnVuY3Rpb24KLUBhYnN0cmFjdCBEZWxl
dGVzIGEgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QgdXNpbmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBw
cm9wZXJ0eSBrZXkuCi1AcGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4dCB0byB1c2UuCi1A
cGFyYW0gb2JqZWN0IFRoZSBKU09iamVjdCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBkZWxl
dGUuCi1AcGFyYW0gcHJvcGVydHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRhaW5pbmcgdGhlIHByb3Bl
cnR5IGtleSB0byB1c2Ugd2hlbiBsb29raW5nIHVwIHRoZSBwcm9wZXJ0eS4KLUBwYXJhbSBleGNl
cHRpb24gQSBwb2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNl
cHRpb24sIGlmIGFueS4gUGFzcyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBl
eGNlcHRpb24uCi1AcmVzdWx0IHRydWUgaWYgdGhlIGRlbGV0ZSBvcGVyYXRpb24gc3VjY2VlZHMs
IG90aGVyd2lzZSBmYWxzZSAoZm9yIGV4YW1wbGUsIGlmIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSBhdHRyaWJ1dGUgc2V0KS4KLUBkaXNjdXNzaW9u
IFRoaXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgcGVyZm9ybWluZyAiZGVsZXRlIG9iamVjdFtw
cm9wZXJ0eUtleV0iIGZyb20gSmF2YVNjcmlwdC4KLSovCi1KU19FWFBPUlQgYm9vbCBKU09iamVj
dERlbGV0ZVByb3BlcnR5Rm9yS2V5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVj
dCwgSlNWYWx1ZVJlZiBwcm9wZXJ0eUtleSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKSBKU0NfQVBJ
X0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQogLyoh
CiBAZnVuY3Rpb24KIEBhYnN0cmFjdCBHZXRzIGEgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QgYnkg
bnVtZXJpYyBpbmRleC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNP
YmplY3RSZWZQcml2YXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVm
UHJpdmF0ZS5oCmluZGV4IDBhOTVjOGZiOGFkYzkzYzFkNDFmMTkyMzg5ZDY1YjM4NGYzZGZmY2Qu
LjZjZTk3NDM0ZjQyYzlmMjE1Mjg3MzA1Y2M0MjkyMTU5NWFjNmM1MjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWZQcml2YXRlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZlByaXZhdGUuaApAQCAtODEsNyArODEsNjQg
QEAgSlNfRVhQT1JUIEpTR2xvYmFsQ29udGV4dFJlZiBKU09iamVjdEdldEdsb2JhbENvbnRleHQo
SlNPYmplY3RSZWYgb2JqZWN0KTsKICBAcmVzdWx0IEEgSlNPYmplY3QgdGhhdCBpcyBhIHByb21p
c2Ugb3IgTlVMTCBpZiBhbiBleGNlcHRpb24gb2NjdXJyZWQuCiAgKi8KIEpTX0VYUE9SVCBKU09i
amVjdFJlZiBKU09iamVjdE1ha2VEZWZlcnJlZFByb21pc2UoSlNDb250ZXh0UmVmIGN0eCwgSlNP
YmplY3RSZWYqIHJlc29sdmUsIEpTT2JqZWN0UmVmKiByZWplY3QsIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1Nf
VEJBKSk7Ci0gICAgCisKKy8qIQorIEBmdW5jdGlvbgorIEBhYnN0cmFjdCBUZXN0cyB3aGV0aGVy
IGFuIG9iamVjdCBoYXMgYSBnaXZlbiBwcm9wZXJ0eSB1c2luZyBhIEpTVmFsdWVSZWYgYXMgdGhl
IHByb3BlcnR5IGtleS4KKyBAcGFyYW0gb2JqZWN0IFRoZSBKU09iamVjdCB0byB0ZXN0LgorIEBw
YXJhbSBwcm9wZXJ0eUtleSBBIEpTVmFsdWVSZWYgY29udGFpbmluZyB0aGUgcHJvcGVydHkga2V5
IHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIHByb3BlcnR5LgorIEBwYXJhbSBleGNlcHRpb24g
QSBwb2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24s
IGlmIGFueS4gUGFzcyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBleGNlcHRp
b24uCisgQHJlc3VsdCB0cnVlIGlmIHRoZSBvYmplY3QgaGFzIGEgcHJvcGVydHkgd2hvc2UgbmFt
ZSBtYXRjaGVzIHByb3BlcnR5S2V5LCBvdGhlcndpc2UgZmFsc2UuCisgQGRpc2N1c3Npb24gVGhp
cyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJwcm9wZXJ0eUtleSBpbiBvYmpl
Y3QiIGZyb20gSmF2YVNjcmlwdC4KKyAqLworSlNfRVhQT1JUIGJvb2wgSlNPYmplY3RIYXNQcm9w
ZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTVmFsdWVS
ZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7CisKKy8qIQorIEBmdW5jdGlv
bgorIEBhYnN0cmFjdCBHZXRzIGEgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QgdXNpbmcgYSBKU1Zh
bHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCisgQHBhcmFtIGN0eCBUaGUgZXhlY3V0aW9uIGNv
bnRleHQgdG8gdXNlLgorIEBwYXJhbSBvYmplY3QgVGhlIEpTT2JqZWN0IHdob3NlIHByb3BlcnR5
IHlvdSB3YW50IHRvIGdldC4KKyBAcGFyYW0gcHJvcGVydHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRh
aW5pbmcgdGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hlbiBsb29raW5nIHVwIHRoZSBwcm9wZXJ0
eS4KKyBAcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4gd2hpY2gg
dG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNh
cmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1bHQgVGhlIHByb3BlcnR5J3MgdmFsdWUg
aWYgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkga2V5LCBvdGhlcndpc2UgdGhlIHVuZGVmaW5lZCB2
YWx1ZS4KKyBAZGlzY3Vzc2lvbiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBzYW1lIGFzIHBlcmZvcm1p
bmcgIm9iamVjdFtwcm9wZXJ0eUtleV0iIGZyb20gSmF2YVNjcmlwdC4KKyAqLworSlNfRVhQT1JU
IEpTVmFsdWVSZWYgSlNPYmplY3RHZXRQcm9wZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBK
U09iamVjdFJlZiBvYmplY3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19J
T1NfVEJBKSk7CisKKy8qIQorIEBmdW5jdGlvbgorIEBhYnN0cmFjdCBTZXRzIGEgcHJvcGVydHkg
b24gYW4gb2JqZWN0IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5LgorIEBw
YXJhbSBjdHggVGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KKyBAcGFyYW0gb2JqZWN0IFRo
ZSBKU09iamVjdCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBzZXQuCisgQHBhcmFtIHByb3Bl
cnR5S2V5IEEgSlNWYWx1ZVJlZiBjb250YWluaW5nIHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNlIHdo
ZW4gbG9va2luZyB1cCB0aGUgcHJvcGVydHkuCisgQHBhcmFtIHZhbHVlIEEgSlNWYWx1ZVJlZiB0
byB1c2UgYXMgdGhlIHByb3BlcnR5J3MgdmFsdWUuCisgQHBhcmFtIGF0dHJpYnV0ZXMgQSBsb2dp
Y2FsbHkgT1JlZCBzZXQgb2YgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgdG8gZ2l2ZSB0byB0aGUgcHJv
cGVydHkuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1ZhbHVlUmVmIGluIHdo
aWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNzIE5VTEwgaWYgeW91IGRvIG5v
dCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KKyBAZGlzY3Vzc2lvbiBUaGlzIGZ1bmN0aW9u
IGlzIHRoZSBzYW1lIGFzIHBlcmZvcm1pbmcgIm9iamVjdFtwcm9wZXJ0eUtleV0gPSB2YWx1ZSIg
ZnJvbSBKYXZhU2NyaXB0LgorICovCitKU19FWFBPUlQgdm9pZCBKU09iamVjdFNldFByb3BlcnR5
Rm9yS2V5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1ZVJlZiBw
cm9wZXJ0eUtleSwgSlNWYWx1ZVJlZiB2YWx1ZSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgYXR0cmli
dXRlcywgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlND
X01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKKworLyohCisgQGZ1bmN0aW9uCisgQGFic3Ry
YWN0IERlbGV0ZXMgYSBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdCB1c2luZyBhIEpTVmFsdWVSZWYg
YXMgdGhlIHByb3BlcnR5IGtleS4KKyBAcGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4dCB0
byB1c2UuCisgQHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hvc2UgcHJvcGVydHkgeW91IHdh
bnQgdG8gZGVsZXRlLgorIEBwYXJhbSBwcm9wZXJ0eUtleSBBIEpTVmFsdWVSZWYgY29udGFpbmlu
ZyB0aGUgcHJvcGVydHkga2V5IHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIHByb3BlcnR5Lgor
IEBwYXJhbSBleGNlcHRpb24gQSBwb2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBz
dG9yZSBhbiBleGNlcHRpb24sIGlmIGFueS4gUGFzcyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0
byBzdG9yZSBhbiBleGNlcHRpb24uCisgQHJlc3VsdCB0cnVlIGlmIHRoZSBkZWxldGUgb3BlcmF0
aW9uIHN1Y2NlZWRzLCBvdGhlcndpc2UgZmFsc2UgKGZvciBleGFtcGxlLCBpZiB0aGUgcHJvcGVy
dHkgaGFzIHRoZSBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgYXR0cmlidXRlIHNldCku
CisgQGRpc2N1c3Npb24gVGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJk
ZWxldGUgb2JqZWN0W3Byb3BlcnR5S2V5XSIgZnJvbSBKYXZhU2NyaXB0LgorICovCitKU19FWFBP
UlQgYm9vbCBKU09iamVjdERlbGV0ZVByb3BlcnR5Rm9yS2V5KEpTQ29udGV4dFJlZiBjdHgsIEpT
T2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1ZVJlZiBwcm9wZXJ0eUtleSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlNDX0lP
U19UQkEpKTsKKworLyohCisgQGZ1bmN0aW9uCisgQGFic3RyYWN0ICAgICAgIFRlc3RzIHdoZXRo
ZXIgYSBKYXZhU2NyaXB0IHZhbHVlJ3MgdHlwZSBpcyB0aGUgc3ltYm9sIHR5cGUuCisgQHBhcmFt
IGN0eCAgICAgIFRoZSBleGVjdXRpb24gY29udGV4dCB0byB1c2UuCisgQHBhcmFtIHZhbHVlICAg
IFRoZSBKU1ZhbHVlIHRvIHRlc3QuCisgQHJlc3VsdCAgICAgICAgIHRydWUgaWYgdmFsdWUncyB0
eXBlIGlzIHRoZSBzeW1ib2wgdHlwZSwgb3RoZXJ3aXNlIGZhbHNlLgorICovCitKU19FWFBPUlQg
Ym9vbCBKU1ZhbHVlSXNTeW1ib2woSlNDb250ZXh0UmVmIGN0eCwgSlNWYWx1ZVJlZiB2YWx1ZSkg
SlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7
CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNW
YWx1ZS5oCmluZGV4IDU1MmQ0NzBjYWU3MTEzZjk4ODZhZDgxYzU0MDFiZTU5OTFlMTZjZTAuLjIy
OTI1MTFjNTFkYjAxNzBjNjJkOGFlZjg2ZTc0ZDczNGM3Yjc3N2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNWYWx1ZS5oCkBAIC00NywxMiArNDcsNiBAQAogTlNfQ0xBU1NfQVZBSUxBQkxFKDEw
XzksIDdfMCkKIEBpbnRlcmZhY2UgSlNWYWx1ZSA6IE5TT2JqZWN0CiAKLSNpZiAoZGVmaW5lZChf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgSlNDX01BQ19WRVJTSU9OX1RCQSkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgSlNDX0lPU19WRVJTSU9OX1RCQSkKLXR5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQcm9wZXJ0
eTsKLSNlbHNlCi10eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKLSNlbmRpZgotCiAvKiEKIEBw
cm9wZXJ0eQogQGFic3RyYWN0IFRoZSBKU0NvbnRleHQgdGhhdCB0aGlzIHZhbHVlIG9yaWdpbmF0
ZXMgZnJvbS4KQEAgLTE1NCwxNSArMTQ4LDYgQEAgdHlwZWRlZiBpZCBKU1ZhbHVlUHJvcGVydHk7
CiAqLwogKyAoSlNWYWx1ZSAqKXZhbHVlV2l0aFVuZGVmaW5lZEluQ29udGV4dDooSlNDb250ZXh0
ICopY29udGV4dDsKIAotLyohCi0gQG1ldGhvZAotIEBhYnN0cmFjdCBDcmVhdGUgYSBuZXcsIHVu
aXF1ZSwgc3ltYm9sIG9iamVjdC4KLSBAcGFyYW0gZGVzY3JpcHRpb24gVGhlIGRlc2NyaXB0aW9u
IG9mIHRoZSBzeW1ib2wgb2JqZWN0IGJlaW5nIGNyZWF0ZWQuCi0gQHBhcmFtIGNvbnRleHQgVGhl
IEpTQ29udGV4dCB0byB3aGljaCB0aGUgcmVzdWx0aW5nIEpTVmFsdWUgYmVsb25ncy4KLSBAcmVz
dWx0IFRoZSBKU1ZhbHVlIHJlcHJlc2VudGluZyBhIHVuaXF1ZSBKYXZhU2NyaXB0IHZhbHVlIHdp
dGggdHlwZSBzeW1ib2wuCi0gKi8KLSsgKEpTVmFsdWUgKil2YWx1ZVdpdGhOZXdTeW1ib2xGcm9t
RGVzY3JpcHRpb246KE5TU3RyaW5nICopZGVzY3JpcHRpb24gaW5Db250ZXh0OihKU0NvbnRleHQg
Kiljb250ZXh0IEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0Nf
SU9TX1RCQSkpOwotCiAvKiEKIEBtZXRob2Rncm91cCBDb252ZXJ0aW5nIHRvIE9iamVjdGl2ZS1D
IFR5cGVzCiBAZGlzY3Vzc2lvbiBXaGVuIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHZh
bHVlcyBhbmQgT2JqZWN0aXZlLUMgb2JqZWN0cyBhIGNvcHkgaXMKQEAgLTMxNyw2NyArMzAyLDYg
QEAgdHlwZWRlZiBpZCBKU1ZhbHVlUHJvcGVydHk7CiAqLwogLSAoTlNEaWN0aW9uYXJ5ICopdG9E
aWN0aW9uYXJ5OwogCi0vKiEKLUBtZXRob2Rncm91cCBBY2Nlc3NpbmcgUHJvcGVydGllcwotKi8K
LQotLyohCi1AbWV0aG9kCi1AYWJzdHJhY3QgQWNjZXNzIGEgcHJvcGVydHkgb2YgYSBKU1ZhbHVl
LgotQHJlc3VsdCBUaGUgSlNWYWx1ZSBmb3IgdGhlIHJlcXVlc3RlZCBwcm9wZXJ0eSBvciB0aGUg
SlNWYWx1ZSA8Y29kZT51bmRlZmluZWQ8L2NvZGU+IAotIGlmIHRoZSBwcm9wZXJ0eSBkb2VzIG5v
dCBleGlzdC4KLUBkaXNjdXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJh
dGlvbiA8Y29kZT5vYmplY3RbcHJvcGVydHldPC9jb2RlPi4gQWZ0ZXIgbWFjT1MgVEJBIGFuZCBp
T1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQg
dG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxjb2RlPnZhbHVlV2l0
aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJBIGFuZCBpT1MgVEJB
LCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAqLgotKi8KLS0gKEpT
VmFsdWUgKil2YWx1ZUZvclByb3BlcnR5OihKU1ZhbHVlUHJvcGVydHkpcHJvcGVydHk7Ci0KLS8q
IQotQG1ldGhvZAotQGFic3RyYWN0IFNldCBhIHByb3BlcnR5IG9uIGEgSlNWYWx1ZS4KLUBkaXNj
dXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29kZT5vYmpl
Y3RbcHJvcGVydHldID0gdmFsdWU8L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEs
ICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpT
VmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0
OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9w
ZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCi0qLwotLSAodm9pZClzZXRW
YWx1ZTooaWQpdmFsdWUgZm9yUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eTsKLQot
LyohCi1AbWV0aG9kCi1AYWJzdHJhY3QgRGVsZXRlIGEgcHJvcGVydHkgZnJvbSBhIEpTVmFsdWUu
Ci1AcmVzdWx0IFlFUyBpZiBkZWxldGlvbiBpcyBzdWNjZXNzZnVsLCBOTyBvdGhlcndpc2UuCi1A
ZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUgSmF2YVNjcmlwdCBvcGVyYXRpb24gPGNvZGU+
ZGVsZXRlIG9iamVjdFtwcm9wZXJ0eV08L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBU
QkEsICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBh
IEpTVmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2Jq
ZWN0OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdw
cm9wZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCi0qLwotLSAoQk9PTClk
ZWxldGVQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5KXByb3BlcnR5OwotCi0vKiEKLUBtZXRob2QK
LUBhYnN0cmFjdCBDaGVjayBpZiBhIEpTVmFsdWUgaGFzIGEgcHJvcGVydHkuCi1AZGlzY3Vzc2lv
biBUaGlzIG1ldGhvZCBoYXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMgdGhlIEphdmFTY3JpcHQgb3Bl
cmF0b3IgPGNvZGU+aW48L2NvZGU+LgotQHJlc3VsdCBSZXR1cm5zIFlFUyBpZiBwcm9wZXJ0eSBp
cyBwcmVzZW50IG9uIHRoZSB2YWx1ZS4KLUBkaXNjdXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBK
YXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29kZT5wcm9wZXJ0eSBpbiBvYmplY3Q8L2NvZGU+LiBBZnRl
ciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3
aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpTVmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMg
b2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNP
UyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3Ry
aW5nICouCi0qLwotLSAoQk9PTCloYXNQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5KXByb3BlcnR5
OwotCi0vKiEKLUBtZXRob2QKLUBhYnN0cmFjdCBEZWZpbmUgcHJvcGVydGllcyB3aXRoIGN1c3Rv
bSBkZXNjcmlwdG9ycyBvbiBKU1ZhbHVlcy4KLUBkaXNjdXNzaW9uIFRoaXMgbWV0aG9kIG1heSBi
ZSB1c2VkIHRvIGNyZWF0ZSBhIGRhdGEgb3IgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gb2JqZWN0
LgotIFRoaXMgbWV0aG9kIG9wZXJhdGVzIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgT2JqZWN0LmRl
ZmluZVByb3BlcnR5IG1ldGhvZCBpbiB0aGUgSmF2YVNjcmlwdCBsYW5ndWFnZS4gQWZ0ZXIgbWFj
T1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBi
ZSBjb252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxj
b2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJB
IGFuZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAq
LgotKi8KLS0gKHZvaWQpZGVmaW5lUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eSBk
ZXNjcmlwdG9yOihpZClkZXNjcmlwdG9yOwotCi0vKiEKLUBtZXRob2QKLUBhYnN0cmFjdCBBY2Nl
c3MgYW4gaW5kZXhlZCAobnVtZXJpY2FsKSBwcm9wZXJ0eSBvbiBhIEpTVmFsdWUuCi1AcmVzdWx0
IFRoZSBKU1ZhbHVlIGZvciB0aGUgcHJvcGVydHkgYXQgdGhlIHNwZWNpZmllZCBpbmRleC4gCi0g
UmV0dXJucyB0aGUgSmF2YVNjcmlwdCB2YWx1ZSA8Y29kZT51bmRlZmluZWQ8L2NvZGU+IGlmIG5v
IHByb3BlcnR5IGV4aXN0cyBhdCB0aGF0IGluZGV4LiAKLSovCi0tIChKU1ZhbHVlICopdmFsdWVB
dEluZGV4OihOU1VJbnRlZ2VyKWluZGV4OwotCi0vKiEKLUBtZXRob2QKLUBhYnN0cmFjdCBTZXQg
YW4gaW5kZXhlZCAobnVtZXJpY2FsKSBwcm9wZXJ0eSBvbiBhIEpTVmFsdWUuCi1AZGlzY3Vzc2lv
biBGb3IgSlNWYWx1ZXMgdGhhdCBhcmUgSmF2YVNjcmlwdCBhcnJheXMsIGluZGljZXMgZ3JlYXRl
ciB0aGFuIAotIFVJTlRfTUFYIC0gMSB3aWxsIG5vdCBhZmZlY3QgdGhlIGxlbmd0aCBvZiB0aGUg
YXJyYXkuCi0qLwotLSAodm9pZClzZXRWYWx1ZTooaWQpdmFsdWUgYXRJbmRleDooTlNVSW50ZWdl
cilpbmRleDsKLQogLyohCiBAZnVuY3Rpb25ncm91cCBDaGVja2luZyBKYXZhU2NyaXB0IFR5cGVz
CiAqLwpAQCAtNDIxLDEyICszNDUsNiBAQCB0eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKICov
CiBAcHJvcGVydHkgKHJlYWRvbmx5KSBCT09MIGlzT2JqZWN0OwogCi0vKiEKLUBwcm9wZXJ0eQot
QGFic3RyYWN0IENoZWNrIGlmIGEgSlNWYWx1ZSBpcyBhIHN5bWJvbC4KLSovCi1AcHJvcGVydHkg
KHJlYWRvbmx5KSBCT09MIGlzU3ltYm9sIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFD
X1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOwotCiAvKiEKIEBwcm9wZXJ0eQogQGFic3RyYWN0IENo
ZWNrIGlmIGEgSlNWYWx1ZSBpcyBhbiBhcnJheS4KQEAgLTU4MCw2ICs0OTgsNjggQEAgQ3JlYXRl
IGEgSlNWYWx1ZSBmcm9tIGEgQ0dSZWN0LgogCiBAZW5kCiAKKy8qIQorIEBjYXRlZ29yeQorIEBk
aXNjdXNzaW9uIFRoZXNlIG1ldGhvZHMgZW5hYmxlIHF1ZXJ5aW5nIHByb3BlcnRpZXMgb24gYSBK
U1ZhbHVlLgorICovCitAaW50ZXJmYWNlIEpTVmFsdWUgKFByb3BlcnR5QWNjc2VzcykKKworLyoh
CisgQG1ldGhvZAorIEBhYnN0cmFjdCBBY2Nlc3MgYSBwcm9wZXJ0eSBvZiBhIEpTVmFsdWUuCisg
QHJlc3VsdCBUaGUgSlNWYWx1ZSBmb3IgdGhlIHJlcXVlc3RlZCBwcm9wZXJ0eSBvciB0aGUgSlNW
YWx1ZSA8Y29kZT51bmRlZmluZWQ8L2NvZGU+CisgaWYgdGhlIHByb3BlcnR5IGRvZXMgbm90IGV4
aXN0LgorICovCistIChKU1ZhbHVlICopdmFsdWVGb3JQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9w
ZXJ0eTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBTZXQgYSBwcm9wZXJ0eSBvbiBhIEpT
VmFsdWUuCisgKi8KKy0gKHZvaWQpc2V0VmFsdWU6KGlkKXZhbHVlIGZvclByb3BlcnR5OihOU1N0
cmluZyAqKXByb3BlcnR5OworCisvKiEKKyBAbWV0aG9kCisgQGFic3RyYWN0IERlbGV0ZSBhIHBy
b3BlcnR5IGZyb20gYSBKU1ZhbHVlLgorIEByZXN1bHQgWUVTIGlmIGRlbGV0aW9uIGlzIHN1Y2Nl
c3NmdWwsIE5PIG90aGVyd2lzZS4KKyAqLworLSAoQk9PTClkZWxldGVQcm9wZXJ0eTooTlNTdHJp
bmcgKilwcm9wZXJ0eTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBDaGVjayBpZiBhIEpT
VmFsdWUgaGFzIGEgcHJvcGVydHkuCisgQGRpc2N1c3Npb24gVGhpcyBtZXRob2QgaGFzIHRoZSBz
YW1lIGZ1bmN0aW9uIGFzIHRoZSBKYXZhU2NyaXB0IG9wZXJhdG9yIDxjb2RlPmluPC9jb2RlPi4K
KyBAcmVzdWx0IFJldHVybnMgWUVTIGlmIHByb3BlcnR5IGlzIHByZXNlbnQgb24gdGhlIHZhbHVl
LgorICovCistIChCT09MKWhhc1Byb3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5OworCisvKiEK
KyBAbWV0aG9kCisgQGFic3RyYWN0IERlZmluZSBwcm9wZXJ0aWVzIHdpdGggY3VzdG9tIGRlc2Ny
aXB0b3JzIG9uIEpTVmFsdWVzLgorIEBkaXNjdXNzaW9uIFRoaXMgbWV0aG9kIG1heSBiZSB1c2Vk
IHRvIGNyZWF0ZSBhIGRhdGEgb3IgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gb2JqZWN0LgorIFRo
aXMgbWV0aG9kIG9wZXJhdGVzIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgT2JqZWN0LmRlZmluZVBy
b3BlcnR5IG1ldGhvZCBpbiB0aGUKKyBKYXZhU2NyaXB0IGxhbmd1YWdlLgorICovCistICh2b2lk
KWRlZmluZVByb3BlcnR5OihOU1N0cmluZyAqKXByb3BlcnR5IGRlc2NyaXB0b3I6KGlkKWRlc2Ny
aXB0b3I7CisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJhY3QgQWNjZXNzIGFuIGluZGV4ZWQgKG51
bWVyaWNhbCkgcHJvcGVydHkgb24gYSBKU1ZhbHVlLgorIEByZXN1bHQgVGhlIEpTVmFsdWUgZm9y
IHRoZSBwcm9wZXJ0eSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LgorIFJldHVybnMgdGhlIEphdmFT
Y3JpcHQgdmFsdWUgPGNvZGU+dW5kZWZpbmVkPC9jb2RlPiBpZiBubyBwcm9wZXJ0eSBleGlzdHMg
YXQgdGhhdCBpbmRleC4KKyAqLworLSAoSlNWYWx1ZSAqKXZhbHVlQXRJbmRleDooTlNVSW50ZWdl
cilpbmRleDsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBTZXQgYW4gaW5kZXhlZCAobnVt
ZXJpY2FsKSBwcm9wZXJ0eSBvbiBhIEpTVmFsdWUuCisgQGRpc2N1c3Npb24gRm9yIEpTVmFsdWVz
IHRoYXQgYXJlIEphdmFTY3JpcHQgYXJyYXlzLCBpbmRpY2VzIGdyZWF0ZXIgdGhhbgorIFVJTlRf
TUFYIC0gMSB3aWxsIG5vdCBhZmZlY3QgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkuCisgKi8KKy0g
KHZvaWQpc2V0VmFsdWU6KGlkKXZhbHVlIGF0SW5kZXg6KE5TVUludGVnZXIpaW5kZXg7CisKK0Bl
bmQKKwogLyohCiBAY2F0ZWdvcnkKIEBkaXNjdXNzaW9uIEluc3RhbmNlcyBvZiBKU1ZhbHVlIGlt
cGxlbWVudCB0aGUgZm9sbG93aW5nIG1ldGhvZHMgaW4gb3JkZXIgdG8gZW5hYmxlCkBAIC01OTQs
MTYgKzU3NCwxMyBAQCBDcmVhdGUgYSBKU1ZhbHVlIGZyb20gYSBDR1JlY3QuCiBAL3RleHRibG9j
awogCiAgQW4gb2JqZWN0IGtleSBwYXNzZWQgYXMgYSBzdWJzY3JpcHQgd2lsbCBiZSBjb252ZXJ0
ZWQgdG8gYSBKYXZhU2NyaXB0IHZhbHVlLAotIGFuZCB0aGVuIHRoZSB2YWx1ZSB1c2luZyB0aGUg
c2FtZSBydWxlcyBhcyA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0OjwvY29kZT4uIElu
IG1hY09TCi0gVEJBIGFuZCBpT1MgVEJBIGFuZCBiZWxvdywgdGhlIDxjb2RlPmtleTwvY29kZT4g
YXJndW1lbnQgb2YKLSA8Y29kZT5zZXRPYmplY3Q6b2JqZWN0IGZvcktleWVkU3Vic2NyaXB0Omtl
eTwvY29kZT4gd2FzIHJlc3RyaWN0ZWQgdG8gYW4KLSA8Y29kZT5OU1N0cmluZyA8TlNDb3B5aW5n
PiAqPC9jb2RlPiBidXQgdGhhdCByZXN0cmljdGlvbiB3YXMgbmV2ZXIgdXNlZC4KKyBhbmQgdGhl
biB0aGUgdmFsdWUgY29udmVydGVkIHRvIGEgc3RyaW5nIHVzZWQgYXMgYSBwcm9wZXJ0eSBuYW1l
LgogKi8KIEBpbnRlcmZhY2UgSlNWYWx1ZSAoU3Vic2NyaXB0U3VwcG9ydCkKIAotLSAoSlNWYWx1
ZSAqKW9iamVjdEZvcktleWVkU3Vic2NyaXB0OihKU1ZhbHVlUHJvcGVydHkpa2V5OworLSAoSlNW
YWx1ZSAqKW9iamVjdEZvcktleWVkU3Vic2NyaXB0OihpZClrZXk7CiAtIChKU1ZhbHVlICopb2Jq
ZWN0QXRJbmRleGVkU3Vic2NyaXB0OihOU1VJbnRlZ2VyKWluZGV4OwotLSAodm9pZClzZXRPYmpl
Y3Q6KGlkKW9iamVjdCBmb3JLZXllZFN1YnNjcmlwdDooSlNWYWx1ZVByb3BlcnR5KWtleTsKKy0g
KHZvaWQpc2V0T2JqZWN0OihpZClvYmplY3QgZm9yS2V5ZWRTdWJzY3JpcHQ6KE5TT2JqZWN0IDxO
U0NvcHlpbmc+ICopa2V5OwogLSAodm9pZClzZXRPYmplY3Q6KGlkKW9iamVjdCBhdEluZGV4ZWRT
dWJzY3JpcHQ6KE5TVUludGVnZXIpaW5kZXg7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVByaXZhdGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNWYWx1ZVByaXZhdGUuaAppbmRleCBiMjZmMDA3OWI0MDMyNjAyZWVhYWU4Y2E0OGQz
OTEzMTcxZjNlMGFmLi44YWYyOWRhNzgxYWQ5OTI4ODUxMTQ4NzczOGM0YTJiMzAzYmNiM2E4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVQcml2YXRlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUHJpdmF0ZS5oCkBAIC0yOSw2ICsy
OSw2OCBAQAogCiBAaW50ZXJmYWNlIEpTVmFsdWUoSlNQcml2YXRlKQogCisjaWYgKGRlZmluZWQo
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IEpTQ19NQUNfVkVSU0lPTl9UQkEpIHx8IChkZWZpbmVkKF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IEpTQ19JT1NfVkVSU0lPTl9UQkEpCit0eXBlZGVmIE5TU3RyaW5nICpKU1ZhbHVlUHJvcGVy
dHk7CisjZWxzZQordHlwZWRlZiBpZCBKU1ZhbHVlUHJvcGVydHk7CisjZW5kaWYKKworLyohCisg
QG1ldGhvZAorIEBhYnN0cmFjdCBDcmVhdGUgYSBuZXcsIHVuaXF1ZSwgc3ltYm9sIG9iamVjdC4K
KyBAcGFyYW0gZGVzY3JpcHRpb24gVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzeW1ib2wgb2JqZWN0
IGJlaW5nIGNyZWF0ZWQuCisgQHBhcmFtIGNvbnRleHQgVGhlIEpTQ29udGV4dCB0byB3aGljaCB0
aGUgcmVzdWx0aW5nIEpTVmFsdWUgYmVsb25ncy4KKyBAcmVzdWx0IFRoZSBKU1ZhbHVlIHJlcHJl
c2VudGluZyBhIHVuaXF1ZSBKYXZhU2NyaXB0IHZhbHVlIHdpdGggdHlwZSBzeW1ib2wuCisgKi8K
KysgKEpTVmFsdWUgKil2YWx1ZVdpdGhOZXdTeW1ib2xGcm9tRGVzY3JpcHRpb246KE5TU3RyaW5n
ICopZGVzY3JpcHRpb24gaW5Db250ZXh0OihKU0NvbnRleHQgKiljb250ZXh0IEpTQ19BUElfQVZB
SUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOworCisvKiEKKyBA
bWV0aG9kCisgQGFic3RyYWN0IEFjY2VzcyBhIHByb3BlcnR5IG9mIGEgSlNWYWx1ZS4KKyBAcmVz
dWx0IFRoZSBKU1ZhbHVlIGZvciB0aGUgcmVxdWVzdGVkIHByb3BlcnR5IG9yIHRoZSBKU1ZhbHVl
IDxjb2RlPnVuZGVmaW5lZDwvY29kZT4KKyBpZiB0aGUgcHJvcGVydHkgZG9lcyBub3QgZXhpc3Qu
CisgQGRpc2N1c3Npb24gQ29ycmVzcG9uZHMgdG8gdGhlIEphdmFTY3JpcHQgb3BlcmF0aW9uIDxj
b2RlPm9iamVjdFtwcm9wZXJ0eV08L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEs
ICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpT
VmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0
OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9w
ZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCisgKi8KKy0gKEpTVmFsdWUg
Kil2YWx1ZUZvclByb3BlcnR5OihKU1ZhbHVlUHJvcGVydHkpcHJvcGVydHk7CisKKy8qIQorIEBt
ZXRob2QKKyBAYWJzdHJhY3QgU2V0IGEgcHJvcGVydHkgb24gYSBKU1ZhbHVlLgorIEBkaXNjdXNz
aW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29kZT5vYmplY3Rb
cHJvcGVydHldID0gdmFsdWU8L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdw
cm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpTVmFs
dWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0Omlu
Q29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0
eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCisgKi8KKy0gKHZvaWQpc2V0VmFs
dWU6KGlkKXZhbHVlIGZvclByb3BlcnR5OihKU1ZhbHVlUHJvcGVydHkpcHJvcGVydHk7CisKKy8q
IQorIEBtZXRob2QKKyBAYWJzdHJhY3QgRGVsZXRlIGEgcHJvcGVydHkgZnJvbSBhIEpTVmFsdWUu
CisgQHJlc3VsdCBZRVMgaWYgZGVsZXRpb24gaXMgc3VjY2Vzc2Z1bCwgTk8gb3RoZXJ3aXNlLgor
IEBkaXNjdXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29k
ZT5kZWxldGUgb2JqZWN0W3Byb3BlcnR5XTwvY29kZT4uIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9T
IFRCQSwgJ3Byb3BlcnR5JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRv
IGEgSlNWYWx1ZSB1c2luZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhP
YmplY3Q6aW5Db250ZXh0OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwg
J3Byb3BlcnR5JyB3YXMgZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KKyAqLworLSAoQk9P
TClkZWxldGVQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5KXByb3BlcnR5OworCisvKiEKKyBAbWV0
aG9kCisgQGFic3RyYWN0IENoZWNrIGlmIGEgSlNWYWx1ZSBoYXMgYSBwcm9wZXJ0eS4KKyBAZGlz
Y3Vzc2lvbiBUaGlzIG1ldGhvZCBoYXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMgdGhlIEphdmFTY3Jp
cHQgb3BlcmF0b3IgPGNvZGU+aW48L2NvZGU+LgorIEByZXN1bHQgUmV0dXJucyBZRVMgaWYgcHJv
cGVydHkgaXMgcHJlc2VudCBvbiB0aGUgdmFsdWUuCisgQGRpc2N1c3Npb24gQ29ycmVzcG9uZHMg
dG8gdGhlIEphdmFTY3JpcHQgb3BlcmF0aW9uIDxjb2RlPnByb3BlcnR5IGluIG9iamVjdDwvY29k
ZT4uIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyBjYW4gYmUgYW55ICdp
ZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1ZSB1c2luZyB0aGUgY29udmVyc2lv
biBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0OjwvY29kZT4uIFByaW9y
IHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyB3YXMgZXhwZWN0ZWQgdG8gYmUg
YW4gTlNTdHJpbmcgKi4KKyAqLworLSAoQk9PTCloYXNQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5
KXByb3BlcnR5OworCisvKiEKKyBAbWV0aG9kCisgQGFic3RyYWN0IERlZmluZSBwcm9wZXJ0aWVz
IHdpdGggY3VzdG9tIGRlc2NyaXB0b3JzIG9uIEpTVmFsdWVzLgorIEBkaXNjdXNzaW9uIFRoaXMg
bWV0aG9kIG1heSBiZSB1c2VkIHRvIGNyZWF0ZSBhIGRhdGEgb3IgYWNjZXNzb3IgcHJvcGVydHkg
b24gYW4gb2JqZWN0LgorIFRoaXMgbWV0aG9kIG9wZXJhdGVzIGluIGFjY29yZGFuY2Ugd2l0aCB0
aGUgT2JqZWN0LmRlZmluZVByb3BlcnR5IG1ldGhvZCBpbiB0aGUgSmF2YVNjcmlwdCBsYW5ndWFn
ZS4gQWZ0ZXIgbWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lk
JyBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9u
IHJ1bGVzIG9mIDxjb2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3Ig
dG8gbWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBh
biBOU1N0cmluZyAqLgorICovCistICh2b2lkKWRlZmluZVByb3BlcnR5OihKU1ZhbHVlUHJvcGVy
dHkpcHJvcGVydHkgZGVzY3JpcHRvcjooaWQpZGVzY3JpcHRvcjsKKworLyohCisgQHByb3BlcnR5
CisgQGFic3RyYWN0IENoZWNrIGlmIGEgSlNWYWx1ZSBpcyBhIHN5bWJvbC4KKyAqLworQHByb3Bl
cnR5IChyZWFkb25seSkgQk9PTCBpc1N5bWJvbCBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlND
X01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKKwogLyohCiAgQG1ldGhvZAogIEBhYnN0cmFj
dCBDcmVhdGUgYSBuZXcgcHJvbWlzZSBvYmplY3QgdXNpbmcgdGhlIHByb3ZpZGVkIGV4ZWN1dG9y
IGNhbGxiYWNrLgpAQCAtNjgsNCArMTMwLDMyIEBACiAKIEBlbmQKIAorLyohCisgQGNhdGVnb3J5
CisgQGRpc2N1c3Npb24gSW5zdGFuY2VzIG9mIEpTVmFsdWUgaW1wbGVtZW50IHRoZSBmb2xsb3dp
bmcgbWV0aG9kcyBpbiBvcmRlciB0byBlbmFibGUKKyBzdXBwb3J0IGZvciBzdWJzY3JpcHQgYWNj
ZXNzIGJ5IGtleSBhbmQgaW5kZXgsIGZvciBleGFtcGxlOgorCisgQHRleHRibG9jaworIEpTVmFs
dWUgKm9iamVjdEEsICpvYmplY3RCOworIEpTVmFsdWUgKnYxID0gb2JqZWN0W0AiWCJdOyAvLyBH
ZXQgdmFsdWUgZm9yIHByb3BlcnR5ICJYIiBmcm9tICdvYmplY3QnLgorIEpTVmFsdWUgKnYyID0g
b2JqZWN0WzQyXTsgICAvLyBHZXQgdmFsdWUgZm9yIGluZGV4IDQyIGZyb20gJ29iamVjdCcuCisg
b2JqZWN0W0AiWSJdID0gdjE7ICAgICAgICAgIC8vIEFzc2lnbiAndjEnIHRvIHByb3BlcnR5ICJZ
IiBvZiAnb2JqZWN0Jy4KKyBvYmplY3RbMTAxXSA9IHYyOyAgICAgICAgICAgLy8gQXNzaWduICd2
MicgdG8gaW5kZXggMTAxIG9mICdvYmplY3QnLgorIEAvdGV4dGJsb2NrCisKKyBBbiBvYmplY3Qg
a2V5IHBhc3NlZCBhcyBhIHN1YnNjcmlwdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEphdmFTY3Jp
cHQgdmFsdWUsCisgYW5kIHRoZW4gdGhlIHZhbHVlIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzIDxj
b2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gSW4gbWFjT1MKKyBUQkEgYW5k
IGlPUyBUQkEgYW5kIGJlbG93LCB0aGUgPGNvZGU+a2V5PC9jb2RlPiBhcmd1bWVudCBvZgorIDxj
b2RlPnNldE9iamVjdDpvYmplY3QgZm9yS2V5ZWRTdWJzY3JpcHQ6a2V5PC9jb2RlPiB3YXMgcmVz
dHJpY3RlZCB0byBhbgorIDxjb2RlPk5TU3RyaW5nIDxOU0NvcHlpbmc+ICo8L2NvZGU+IGJ1dCB0
aGF0IHJlc3RyaWN0aW9uIHdhcyBuZXZlciB1c2VkLgorICovCitAaW50ZXJmYWNlIEpTVmFsdWUg
KFN1YnNjcmlwdFN1cHBvcnRQcml2YXRlKQorCistIChKU1ZhbHVlICopb2JqZWN0Rm9yS2V5ZWRT
dWJzY3JpcHQ6KEpTVmFsdWVQcm9wZXJ0eSlrZXk7CistIChKU1ZhbHVlICopb2JqZWN0QXRJbmRl
eGVkU3Vic2NyaXB0OihOU1VJbnRlZ2VyKWluZGV4OworLSAodm9pZClzZXRPYmplY3Q6KGlkKW9i
amVjdCBmb3JLZXllZFN1YnNjcmlwdDooSlNWYWx1ZVByb3BlcnR5KWtleTsKKy0gKHZvaWQpc2V0
T2JqZWN0OihpZClvYmplY3QgYXRJbmRleGVkU3Vic2NyaXB0OihOU1VJbnRlZ2VyKWluZGV4Owor
CitAZW5kCisKICNlbmRpZiAvLyBKU0NfT0JKQ19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTVmFsdWVSZWYuaAppbmRleCBhNDI3ZDk4YjU1OGZlYzk0YzNkYmVkZWNhM2U3YjAx
NmE5NGYyMWIxLi41NzY2YmEyMDA5ODMyYzkxZWIzNWE5NGI2ZGI1NGU5ODYxMjJiYjhmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaApAQCAtMTUxLDE1ICsxNTEsNiBAQCBK
U19FWFBPUlQgYm9vbCBKU1ZhbHVlSXNTdHJpbmcoSlNDb250ZXh0UmVmIGN0eCwgSlNWYWx1ZVJl
ZiB2YWx1ZSk7CiAqLwogSlNfRVhQT1JUIGJvb2wgSlNWYWx1ZUlzT2JqZWN0KEpTQ29udGV4dFJl
ZiBjdHgsIEpTVmFsdWVSZWYgdmFsdWUpOwogCi0vKiEKLUBmdW5jdGlvbgotQGFic3RyYWN0ICAg
ICAgIFRlc3RzIHdoZXRoZXIgYSBKYXZhU2NyaXB0IHZhbHVlJ3MgdHlwZSBpcyB0aGUgc3ltYm9s
IHR5cGUuCi1AcGFyYW0gY3R4ICAgICAgVGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KLUBw
YXJhbSB2YWx1ZSAgICBUaGUgSlNWYWx1ZSB0byB0ZXN0LgotQHJlc3VsdCAgICAgICAgIHRydWUg
aWYgdmFsdWUncyB0eXBlIGlzIHRoZSBzeW1ib2wgdHlwZSwgb3RoZXJ3aXNlIGZhbHNlLgotKi8K
LUpTX0VYUE9SVCBib29sIEpTVmFsdWVJc1N5bWJvbChKU0NvbnRleHRSZWYgY3R4LCBKU1ZhbHVl
UmVmIHZhbHVlKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlND
X0lPU19UQkEpKTsKLQogCiAvKiEKIEBmdW5jdGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350776</attachid>
            <date>2018-09-25 12:05:58 -0700</date>
            <delta_ts>2018-09-26 12:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189946-20180925150556.patch</filename>
            <type>text/plain</type>
            <size>23874</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ODc1NjhmNzgxMmVlODQwNWQzZmRjOGYzZDdlYjRkODJjZjE1YjIxLi41ZDNkODM4NzQwMjM0MWNi
NTJlZWY1YjBhODc0MTU0MmUwZTNkYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxOC0wOS0yNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBNb3ZlIFN5bWJvbCBBUEkgdG8gU1BJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk5NDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIG9mIHRoZSBwcm9wZXJ0eSBhY2Nl
c3MgbWV0aG9kcyBvbiBKU1ZhbHVlIG5lZWRlZCB0byBiZSBtb3ZlZAorICAgICAgICB0byBhIGNh
dGVnb3J5IHNvIHRoYXQgU1BJIG92ZXJsb2FkcyBkb24ndCByZXN1bHQgaW4gYSBjb21waWxlcgor
ICAgICAgICBlcnJvciBmb3IgaW50ZXJuYWwgdXNlcnMuCisKKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0aGlzIHBhdGNoIGRvZXMgbm90IG1vdmUgdGhlIG5ldyBlbnVtIGVudHJ5IGZvcgorICAgICAg
ICBTeW1ib2xzIGluIHRoZSBKU1R5cGUgZW51bWVyYXRpb24uCisKKyAgICAgICAgKiBBUEkvSlNP
YmplY3RSZWYuaDoKKyAgICAgICAgKiBBUEkvSlNPYmplY3RSZWZQcml2YXRlLmg6CisgICAgICAg
ICogQVBJL0pTVmFsdWUuaDoKKyAgICAgICAgKiBBUEkvSlNWYWx1ZVByaXZhdGUuaDoKKyAgICAg
ICAgKiBBUEkvSlNWYWx1ZVJlZi5oOgorCiAyMDE4LTA5LTIxICBLZWl0aCBNaWxsZXIgIDxrZWl0
aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBQcm9taXNlIFNQSQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5oCmluZGV4IDk3M2FiYzNjNGQ4MTk2NDFmYWM5MDk2
Y2ViNmI4MTM4NDhkODc4NTIuLjBlMmU3ZDQ2OWRiZmUzZjI2Y2VlZWU1NTVlZTg4MjMwN2FkNzRm
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmgKQEAgLTU1Myw1NCAr
NTUzLDYgQEAgSlNfRVhQT1JUIHZvaWQgSlNPYmplY3RTZXRQcm9wZXJ0eShKU0NvbnRleHRSZWYg
Y3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW4KICovCiBKU19FWFBPUlQgYm9vbCBKU09i
amVjdERlbGV0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwg
SlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwogCi0vKiEK
LUBmdW5jdGlvbgotQGFic3RyYWN0IFRlc3RzIHdoZXRoZXIgYW4gb2JqZWN0IGhhcyBhIGdpdmVu
IHByb3BlcnR5IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5LgotQHBhcmFt
IG9iamVjdCBUaGUgSlNPYmplY3QgdG8gdGVzdC4KLUBwYXJhbSBwcm9wZXJ0eUtleSBBIEpTVmFs
dWVSZWYgY29udGFpbmluZyB0aGUgcHJvcGVydHkga2V5IHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAg
dGhlIHByb3BlcnR5LgotQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1ZhbHVlUmVm
IGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNzIE5VTEwgaWYgeW91
IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KLUByZXN1bHQgdHJ1ZSBpZiB0aGUg
b2JqZWN0IGhhcyBhIHByb3BlcnR5IHdob3NlIG5hbWUgbWF0Y2hlcyBwcm9wZXJ0eUtleSwgb3Ro
ZXJ3aXNlIGZhbHNlLgotQGRpc2N1c3Npb24gVGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBw
ZXJmb3JtaW5nICJwcm9wZXJ0eUtleSBpbiBvYmplY3QiIGZyb20gSmF2YVNjcmlwdC4KLSovCi1K
U19FWFBPUlQgYm9vbCBKU09iamVjdEhhc1Byb3BlcnR5Rm9yS2V5KEpTQ29udGV4dFJlZiBjdHgs
IEpTT2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1ZVJlZiBwcm9wZXJ0eUtleSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlND
X0lPU19UQkEpKTsKLQotLyohCi1AZnVuY3Rpb24KLUBhYnN0cmFjdCBHZXRzIGEgcHJvcGVydHkg
ZnJvbSBhbiBvYmplY3QgdXNpbmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCi1A
cGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4dCB0byB1c2UuCi1AcGFyYW0gb2JqZWN0IFRo
ZSBKU09iamVjdCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBnZXQuCi1AcGFyYW0gcHJvcGVy
dHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hl
biBsb29raW5nIHVwIHRoZSBwcm9wZXJ0eS4KLUBwYXJhbSBleGNlcHRpb24gQSBwb2ludGVyIHRv
IGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24sIGlmIGFueS4gUGFz
cyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBleGNlcHRpb24uCi1AcmVzdWx0
IFRoZSBwcm9wZXJ0eSdzIHZhbHVlIGlmIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5IGtleSwgb3Ro
ZXJ3aXNlIHRoZSB1bmRlZmluZWQgdmFsdWUuCi1AZGlzY3Vzc2lvbiBUaGlzIGZ1bmN0aW9uIGlz
IHRoZSBzYW1lIGFzIHBlcmZvcm1pbmcgIm9iamVjdFtwcm9wZXJ0eUtleV0iIGZyb20gSmF2YVNj
cmlwdC4KLSovCi1KU19FWFBPUlQgSlNWYWx1ZVJlZiBKU09iamVjdEdldFByb3BlcnR5Rm9yS2V5
KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNWYWx1ZVJlZiBwcm9wZXJ0
eUtleSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlND
X01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQotLyohCi1AZnVuY3Rpb24KLUBhYnN0cmFj
dCBTZXRzIGEgcHJvcGVydHkgb24gYW4gb2JqZWN0IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUg
cHJvcGVydHkga2V5LgotQHBhcmFtIGN0eCBUaGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgot
QHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hvc2UgcHJvcGVydHkgeW91IHdhbnQgdG8gc2V0
LgotQHBhcmFtIHByb3BlcnR5S2V5IEEgSlNWYWx1ZVJlZiBjb250YWluaW5nIHRoZSBwcm9wZXJ0
eSBrZXkgdG8gdXNlIHdoZW4gbG9va2luZyB1cCB0aGUgcHJvcGVydHkuCi1AcGFyYW0gdmFsdWUg
QSBKU1ZhbHVlUmVmIHRvIHVzZSBhcyB0aGUgcHJvcGVydHkncyB2YWx1ZS4KLUBwYXJhbSBhdHRy
aWJ1dGVzIEEgbG9naWNhbGx5IE9SZWQgc2V0IG9mIEpTUHJvcGVydHlBdHRyaWJ1dGVzIHRvIGdp
dmUgdG8gdGhlIHByb3BlcnR5LgotQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1Zh
bHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNzIE5VTEwg
aWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KLUBkaXNjdXNzaW9uIFRo
aXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgcGVyZm9ybWluZyAib2JqZWN0W3Byb3BlcnR5S2V5
XSA9IHZhbHVlIiBmcm9tIEphdmFTY3JpcHQuCi0qLwotSlNfRVhQT1JUIHZvaWQgSlNPYmplY3RT
ZXRQcm9wZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpT
VmFsdWVSZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYgdmFsdWUsIEpTUHJvcGVydHlBdHRyaWJ1
dGVzIGF0dHJpYnV0ZXMsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7Ci0KLS8qIQotQGZ1bmN0aW9u
Ci1AYWJzdHJhY3QgRGVsZXRlcyBhIHByb3BlcnR5IGZyb20gYW4gb2JqZWN0IHVzaW5nIGEgSlNW
YWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5LgotQHBhcmFtIGN0eCBUaGUgZXhlY3V0aW9uIGNv
bnRleHQgdG8gdXNlLgotQHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hvc2UgcHJvcGVydHkg
eW91IHdhbnQgdG8gZGVsZXRlLgotQHBhcmFtIHByb3BlcnR5S2V5IEEgSlNWYWx1ZVJlZiBjb250
YWluaW5nIHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNlIHdoZW4gbG9va2luZyB1cCB0aGUgcHJvcGVy
dHkuCi1AcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4gd2hpY2gg
dG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNh
cmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgotQHJlc3VsdCB0cnVlIGlmIHRoZSBkZWxldGUgb3Bl
cmF0aW9uIHN1Y2NlZWRzLCBvdGhlcndpc2UgZmFsc2UgKGZvciBleGFtcGxlLCBpZiB0aGUgcHJv
cGVydHkgaGFzIHRoZSBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgYXR0cmlidXRlIHNl
dCkuCi1AZGlzY3Vzc2lvbiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBzYW1lIGFzIHBlcmZvcm1pbmcg
ImRlbGV0ZSBvYmplY3RbcHJvcGVydHlLZXldIiBmcm9tIEphdmFTY3JpcHQuCi0qLwotSlNfRVhQ
T1JUIGJvb2wgSlNPYmplY3REZWxldGVQcm9wZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBK
U09iamVjdFJlZiBvYmplY3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19J
T1NfVEJBKSk7Ci0KIC8qIQogQGZ1bmN0aW9uCiBAYWJzdHJhY3QgR2V0cyBhIHByb3BlcnR5IGZy
b20gYW4gb2JqZWN0IGJ5IG51bWVyaWMgaW5kZXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmUHJpdmF0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU09iamVjdFJlZlByaXZhdGUuaAppbmRleCAwYTk1YzhmYjhhZGM5M2MxZDQxZjE5MjM4
OWQ2NWIzODRmM2RmZmNkLi42Y2U5NzQzNGY0MmM5ZjIxNTI4NzMwNWNjNDI5MjE1OTVhYzZjNTIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWZQcml2YXRlLmgK
QEAgLTgxLDcgKzgxLDY0IEBAIEpTX0VYUE9SVCBKU0dsb2JhbENvbnRleHRSZWYgSlNPYmplY3RH
ZXRHbG9iYWxDb250ZXh0KEpTT2JqZWN0UmVmIG9iamVjdCk7CiAgQHJlc3VsdCBBIEpTT2JqZWN0
IHRoYXQgaXMgYSBwcm9taXNlIG9yIE5VTEwgaWYgYW4gZXhjZXB0aW9uIG9jY3VycmVkLgogICov
CiBKU19FWFBPUlQgSlNPYmplY3RSZWYgSlNPYmplY3RNYWtlRGVmZXJyZWRQcm9taXNlKEpTQ29u
dGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmKiByZXNvbHZlLCBKU09iamVjdFJlZiogcmVqZWN0LCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RC
QSksIGlvcyhKU0NfSU9TX1RCQSkpOwotICAgIAorCisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJh
Y3QgVGVzdHMgd2hldGhlciBhbiBvYmplY3QgaGFzIGEgZ2l2ZW4gcHJvcGVydHkgdXNpbmcgYSBK
U1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCisgQHBhcmFtIG9iamVjdCBUaGUgSlNPYmpl
Y3QgdG8gdGVzdC4KKyBAcGFyYW0gcHJvcGVydHlLZXkgQSBKU1ZhbHVlUmVmIGNvbnRhaW5pbmcg
dGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hlbiBsb29raW5nIHVwIHRoZSBwcm9wZXJ0eS4KKyBA
cGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4gd2hpY2ggdG8gc3Rv
cmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8g
c3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1bHQgdHJ1ZSBpZiB0aGUgb2JqZWN0IGhhcyBhIHBy
b3BlcnR5IHdob3NlIG5hbWUgbWF0Y2hlcyBwcm9wZXJ0eUtleSwgb3RoZXJ3aXNlIGZhbHNlLgor
IEBkaXNjdXNzaW9uIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgcGVyZm9ybWluZyAicHJv
cGVydHlLZXkgaW4gb2JqZWN0IiBmcm9tIEphdmFTY3JpcHQuCisgKi8KK0pTX0VYUE9SVCBib29s
IEpTT2JqZWN0SGFzUHJvcGVydHlGb3JLZXkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYg
b2JqZWN0LCBKU1ZhbHVlUmVmIHByb3BlcnR5S2V5LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pIEpT
Q19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOwor
CisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3QgR2V0cyBhIHByb3BlcnR5IGZyb20gYW4gb2Jq
ZWN0IHVzaW5nIGEgSlNWYWx1ZVJlZiBhcyB0aGUgcHJvcGVydHkga2V5LgorIEBwYXJhbSBjdHgg
VGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KKyBAcGFyYW0gb2JqZWN0IFRoZSBKU09iamVj
dCB3aG9zZSBwcm9wZXJ0eSB5b3Ugd2FudCB0byBnZXQuCisgQHBhcmFtIHByb3BlcnR5S2V5IEEg
SlNWYWx1ZVJlZiBjb250YWluaW5nIHRoZSBwcm9wZXJ0eSBrZXkgdG8gdXNlIHdoZW4gbG9va2lu
ZyB1cCB0aGUgcHJvcGVydHkuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1Zh
bHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNzIE5VTEwg
aWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KKyBAcmVzdWx0IFRoZSBw
cm9wZXJ0eSdzIHZhbHVlIGlmIG9iamVjdCBoYXMgdGhlIHByb3BlcnR5IGtleSwgb3RoZXJ3aXNl
IHRoZSB1bmRlZmluZWQgdmFsdWUuCisgQGRpc2N1c3Npb24gVGhpcyBmdW5jdGlvbiBpcyB0aGUg
c2FtZSBhcyBwZXJmb3JtaW5nICJvYmplY3RbcHJvcGVydHlLZXldIiBmcm9tIEphdmFTY3JpcHQu
CisgKi8KK0pTX0VYUE9SVCBKU1ZhbHVlUmVmIEpTT2JqZWN0R2V0UHJvcGVydHlGb3JLZXkoSlND
b250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1ZhbHVlUmVmIHByb3BlcnR5S2V5
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFD
X1RCQSksIGlvcyhKU0NfSU9TX1RCQSkpOworCisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3Qg
U2V0cyBhIHByb3BlcnR5IG9uIGFuIG9iamVjdCB1c2luZyBhIEpTVmFsdWVSZWYgYXMgdGhlIHBy
b3BlcnR5IGtleS4KKyBAcGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29udGV4dCB0byB1c2UuCisg
QHBhcmFtIG9iamVjdCBUaGUgSlNPYmplY3Qgd2hvc2UgcHJvcGVydHkgeW91IHdhbnQgdG8gc2V0
LgorIEBwYXJhbSBwcm9wZXJ0eUtleSBBIEpTVmFsdWVSZWYgY29udGFpbmluZyB0aGUgcHJvcGVy
dHkga2V5IHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIHByb3BlcnR5LgorIEBwYXJhbSB2YWx1
ZSBBIEpTVmFsdWVSZWYgdG8gdXNlIGFzIHRoZSBwcm9wZXJ0eSdzIHZhbHVlLgorIEBwYXJhbSBh
dHRyaWJ1dGVzIEEgbG9naWNhbGx5IE9SZWQgc2V0IG9mIEpTUHJvcGVydHlBdHRyaWJ1dGVzIHRv
IGdpdmUgdG8gdGhlIHByb3BlcnR5LgorIEBwYXJhbSBleGNlcHRpb24gQSBwb2ludGVyIHRvIGEg
SlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24sIGlmIGFueS4gUGFzcyBO
VUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBleGNlcHRpb24uCisgQGRpc2N1c3Np
b24gVGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBwZXJmb3JtaW5nICJvYmplY3RbcHJvcGVy
dHlLZXldID0gdmFsdWUiIGZyb20gSmF2YVNjcmlwdC4KKyAqLworSlNfRVhQT1JUIHZvaWQgSlNP
YmplY3RTZXRQcm9wZXJ0eUZvcktleShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmpl
Y3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXksIEpTVmFsdWVSZWYgdmFsdWUsIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7CisKKy8qIQorIEBm
dW5jdGlvbgorIEBhYnN0cmFjdCBEZWxldGVzIGEgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QgdXNp
bmcgYSBKU1ZhbHVlUmVmIGFzIHRoZSBwcm9wZXJ0eSBrZXkuCisgQHBhcmFtIGN0eCBUaGUgZXhl
Y3V0aW9uIGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSBvYmplY3QgVGhlIEpTT2JqZWN0IHdob3Nl
IHByb3BlcnR5IHlvdSB3YW50IHRvIGRlbGV0ZS4KKyBAcGFyYW0gcHJvcGVydHlLZXkgQSBKU1Zh
bHVlUmVmIGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IGtleSB0byB1c2Ugd2hlbiBsb29raW5nIHVw
IHRoZSBwcm9wZXJ0eS4KKyBAcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVS
ZWYgaW4gd2hpY2ggdG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5
b3UgZG8gbm90IGNhcmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1bHQgdHJ1ZSBpZiB0
aGUgZGVsZXRlIG9wZXJhdGlvbiBzdWNjZWVkcywgb3RoZXJ3aXNlIGZhbHNlIChmb3IgZXhhbXBs
ZSwgaWYgdGhlIHByb3BlcnR5IGhhcyB0aGUga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IGF0dHJpYnV0ZSBzZXQpLgorIEBkaXNjdXNzaW9uIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHNhbWUg
YXMgcGVyZm9ybWluZyAiZGVsZXRlIG9iamVjdFtwcm9wZXJ0eUtleV0iIGZyb20gSmF2YVNjcmlw
dC4KKyAqLworSlNfRVhQT1JUIGJvb2wgSlNPYmplY3REZWxldGVQcm9wZXJ0eUZvcktleShKU0Nv
bnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTVmFsdWVSZWYgcHJvcGVydHlLZXks
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19NQUNf
VEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7CisKKy8qIQorIEBmdW5jdGlvbgorIEBhYnN0cmFjdCAg
ICAgICBUZXN0cyB3aGV0aGVyIGEgSmF2YVNjcmlwdCB2YWx1ZSdzIHR5cGUgaXMgdGhlIHN5bWJv
bCB0eXBlLgorIEBwYXJhbSBjdHggICAgICBUaGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgor
IEBwYXJhbSB2YWx1ZSAgICBUaGUgSlNWYWx1ZSB0byB0ZXN0LgorIEByZXN1bHQgICAgICAgICB0
cnVlIGlmIHZhbHVlJ3MgdHlwZSBpcyB0aGUgc3ltYm9sIHR5cGUsIG90aGVyd2lzZSBmYWxzZS4K
KyAqLworSlNfRVhQT1JUIGJvb2wgSlNWYWx1ZUlzU3ltYm9sKEpTQ29udGV4dFJlZiBjdHgsIEpT
VmFsdWVSZWYgdmFsdWUpIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zeChKU0NfTUFDX1RCQSksIGlv
cyhKU0NfSU9TX1RCQSkpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTVmFsdWUuaAppbmRleCA1NTJkNDcwY2FlNzExM2Y5ODg2YWQ4MWM1NDAx
YmU1OTkxZTE2Y2UwLi4yMjkyNTExYzUxZGIwMTcwYzYyZDhhZWY4NmU3NGQ3MzRjN2I3NzdmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaApAQCAtNDcsMTIgKzQ3LDYgQEAKIE5TX0NM
QVNTX0FWQUlMQUJMRSgxMF85LCA3XzApCiBAaW50ZXJmYWNlIEpTVmFsdWUgOiBOU09iamVjdAog
Ci0jaWYgKGRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IEpTQ19NQUNfVkVSU0lPTl9UQkEpIHx8IChkZWZp
bmVkKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IEpTQ19JT1NfVkVSU0lPTl9UQkEpCi10eXBlZGVmIE5TU3RyaW5n
ICpKU1ZhbHVlUHJvcGVydHk7Ci0jZWxzZQotdHlwZWRlZiBpZCBKU1ZhbHVlUHJvcGVydHk7Ci0j
ZW5kaWYKLQogLyohCiBAcHJvcGVydHkKIEBhYnN0cmFjdCBUaGUgSlNDb250ZXh0IHRoYXQgdGhp
cyB2YWx1ZSBvcmlnaW5hdGVzIGZyb20uCkBAIC0xNTQsMTUgKzE0OCw2IEBAIHR5cGVkZWYgaWQg
SlNWYWx1ZVByb3BlcnR5OwogKi8KICsgKEpTVmFsdWUgKil2YWx1ZVdpdGhVbmRlZmluZWRJbkNv
bnRleHQ6KEpTQ29udGV4dCAqKWNvbnRleHQ7CiAKLS8qIQotIEBtZXRob2QKLSBAYWJzdHJhY3Qg
Q3JlYXRlIGEgbmV3LCB1bmlxdWUsIHN5bWJvbCBvYmplY3QuCi0gQHBhcmFtIGRlc2NyaXB0aW9u
IFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc3ltYm9sIG9iamVjdCBiZWluZyBjcmVhdGVkLgotIEBw
YXJhbSBjb250ZXh0IFRoZSBKU0NvbnRleHQgdG8gd2hpY2ggdGhlIHJlc3VsdGluZyBKU1ZhbHVl
IGJlbG9uZ3MuCi0gQHJlc3VsdCBUaGUgSlNWYWx1ZSByZXByZXNlbnRpbmcgYSB1bmlxdWUgSmF2
YVNjcmlwdCB2YWx1ZSB3aXRoIHR5cGUgc3ltYm9sLgotICovCi0rIChKU1ZhbHVlICopdmFsdWVX
aXRoTmV3U3ltYm9sRnJvbURlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIGluQ29u
dGV4dDooSlNDb250ZXh0ICopY29udGV4dCBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01B
Q19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQogLyohCiBAbWV0aG9kZ3JvdXAgQ29udmVydGlu
ZyB0byBPYmplY3RpdmUtQyBUeXBlcwogQGRpc2N1c3Npb24gV2hlbiBjb252ZXJ0aW5nIGJldHdl
ZW4gSmF2YVNjcmlwdCB2YWx1ZXMgYW5kIE9iamVjdGl2ZS1DIG9iamVjdHMgYSBjb3B5IGlzCkBA
IC0zMTcsNjcgKzMwMiw2IEBAIHR5cGVkZWYgaWQgSlNWYWx1ZVByb3BlcnR5OwogKi8KIC0gKE5T
RGljdGlvbmFyeSAqKXRvRGljdGlvbmFyeTsKIAotLyohCi1AbWV0aG9kZ3JvdXAgQWNjZXNzaW5n
IFByb3BlcnRpZXMKLSovCi0KLS8qIQotQG1ldGhvZAotQGFic3RyYWN0IEFjY2VzcyBhIHByb3Bl
cnR5IG9mIGEgSlNWYWx1ZS4KLUByZXN1bHQgVGhlIEpTVmFsdWUgZm9yIHRoZSByZXF1ZXN0ZWQg
cHJvcGVydHkgb3IgdGhlIEpTVmFsdWUgPGNvZGU+dW5kZWZpbmVkPC9jb2RlPiAKLSBpZiB0aGUg
cHJvcGVydHkgZG9lcyBub3QgZXhpc3QuCi1AZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUg
SmF2YVNjcmlwdCBvcGVyYXRpb24gPGNvZGU+b2JqZWN0W3Byb3BlcnR5XTwvY29kZT4uIEFmdGVy
IG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdp
bGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1ZSB1c2luZyB0aGUgY29udmVyc2lvbiBydWxlcyBv
ZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0OjwvY29kZT4uIFByaW9yIHRvIG1hY09T
IFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyB3YXMgZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJp
bmcgKi4KLSovCi0tIChKU1ZhbHVlICopdmFsdWVGb3JQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5
KXByb3BlcnR5OwotCi0vKiEKLUBtZXRob2QKLUBhYnN0cmFjdCBTZXQgYSBwcm9wZXJ0eSBvbiBh
IEpTVmFsdWUuCi1AZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUgSmF2YVNjcmlwdCBvcGVy
YXRpb24gPGNvZGU+b2JqZWN0W3Byb3BlcnR5XSA9IHZhbHVlPC9jb2RlPi4gQWZ0ZXIgbWFjT1Mg
VEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBiZSBj
b252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxjb2Rl
PnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJBIGFu
ZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAqLgot
Ki8KLS0gKHZvaWQpc2V0VmFsdWU6KGlkKXZhbHVlIGZvclByb3BlcnR5OihKU1ZhbHVlUHJvcGVy
dHkpcHJvcGVydHk7Ci0KLS8qIQotQG1ldGhvZAotQGFic3RyYWN0IERlbGV0ZSBhIHByb3BlcnR5
IGZyb20gYSBKU1ZhbHVlLgotQHJlc3VsdCBZRVMgaWYgZGVsZXRpb24gaXMgc3VjY2Vzc2Z1bCwg
Tk8gb3RoZXJ3aXNlLgotQGRpc2N1c3Npb24gQ29ycmVzcG9uZHMgdG8gdGhlIEphdmFTY3JpcHQg
b3BlcmF0aW9uIDxjb2RlPmRlbGV0ZSBvYmplY3RbcHJvcGVydHldPC9jb2RlPi4gQWZ0ZXIgbWFj
T1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBi
ZSBjb252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxj
b2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJB
IGFuZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAq
LgotKi8KLS0gKEJPT0wpZGVsZXRlUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eTsK
LQotLyohCi1AbWV0aG9kCi1AYWJzdHJhY3QgQ2hlY2sgaWYgYSBKU1ZhbHVlIGhhcyBhIHByb3Bl
cnR5LgotQGRpc2N1c3Npb24gVGhpcyBtZXRob2QgaGFzIHRoZSBzYW1lIGZ1bmN0aW9uIGFzIHRo
ZSBKYXZhU2NyaXB0IG9wZXJhdG9yIDxjb2RlPmluPC9jb2RlPi4KLUByZXN1bHQgUmV0dXJucyBZ
RVMgaWYgcHJvcGVydHkgaXMgcHJlc2VudCBvbiB0aGUgdmFsdWUuCi1AZGlzY3Vzc2lvbiBDb3Jy
ZXNwb25kcyB0byB0aGUgSmF2YVNjcmlwdCBvcGVyYXRpb24gPGNvZGU+cHJvcGVydHkgaW4gb2Jq
ZWN0PC9jb2RlPi4gQWZ0ZXIgbWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBi
ZSBhbnkgJ2lkJyBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBj
b252ZXJzaW9uIHJ1bGVzIG9mIDxjb2RlPnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2Rl
Pi4gUHJpb3IgdG8gbWFjT1MgVEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3Rl
ZCB0byBiZSBhbiBOU1N0cmluZyAqLgotKi8KLS0gKEJPT0wpaGFzUHJvcGVydHk6KEpTVmFsdWVQ
cm9wZXJ0eSlwcm9wZXJ0eTsKLQotLyohCi1AbWV0aG9kCi1AYWJzdHJhY3QgRGVmaW5lIHByb3Bl
cnRpZXMgd2l0aCBjdXN0b20gZGVzY3JpcHRvcnMgb24gSlNWYWx1ZXMuCi1AZGlzY3Vzc2lvbiBU
aGlzIG1ldGhvZCBtYXkgYmUgdXNlZCB0byBjcmVhdGUgYSBkYXRhIG9yIGFjY2Vzc29yIHByb3Bl
cnR5IG9uIGFuIG9iamVjdC4KLSBUaGlzIG1ldGhvZCBvcGVyYXRlcyBpbiBhY2NvcmRhbmNlIHdp
dGggdGhlIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtZXRob2QgaW4gdGhlIEphdmFTY3JpcHQgbGFu
Z3VhZ2UuIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyBjYW4gYmUgYW55
ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1ZSB1c2luZyB0aGUgY29udmVy
c2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0OjwvY29kZT4uIFBy
aW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyB3YXMgZXhwZWN0ZWQgdG8g
YmUgYW4gTlNTdHJpbmcgKi4KLSovCi0tICh2b2lkKWRlZmluZVByb3BlcnR5OihKU1ZhbHVlUHJv
cGVydHkpcHJvcGVydHkgZGVzY3JpcHRvcjooaWQpZGVzY3JpcHRvcjsKLQotLyohCi1AbWV0aG9k
Ci1AYWJzdHJhY3QgQWNjZXNzIGFuIGluZGV4ZWQgKG51bWVyaWNhbCkgcHJvcGVydHkgb24gYSBK
U1ZhbHVlLgotQHJlc3VsdCBUaGUgSlNWYWx1ZSBmb3IgdGhlIHByb3BlcnR5IGF0IHRoZSBzcGVj
aWZpZWQgaW5kZXguIAotIFJldHVybnMgdGhlIEphdmFTY3JpcHQgdmFsdWUgPGNvZGU+dW5kZWZp
bmVkPC9jb2RlPiBpZiBubyBwcm9wZXJ0eSBleGlzdHMgYXQgdGhhdCBpbmRleC4gCi0qLwotLSAo
SlNWYWx1ZSAqKXZhbHVlQXRJbmRleDooTlNVSW50ZWdlcilpbmRleDsKLQotLyohCi1AbWV0aG9k
Ci1AYWJzdHJhY3QgU2V0IGFuIGluZGV4ZWQgKG51bWVyaWNhbCkgcHJvcGVydHkgb24gYSBKU1Zh
bHVlLgotQGRpc2N1c3Npb24gRm9yIEpTVmFsdWVzIHRoYXQgYXJlIEphdmFTY3JpcHQgYXJyYXlz
LCBpbmRpY2VzIGdyZWF0ZXIgdGhhbiAKLSBVSU5UX01BWCAtIDEgd2lsbCBub3QgYWZmZWN0IHRo
ZSBsZW5ndGggb2YgdGhlIGFycmF5LgotKi8KLS0gKHZvaWQpc2V0VmFsdWU6KGlkKXZhbHVlIGF0
SW5kZXg6KE5TVUludGVnZXIpaW5kZXg7Ci0KIC8qIQogQGZ1bmN0aW9uZ3JvdXAgQ2hlY2tpbmcg
SmF2YVNjcmlwdCBUeXBlcwogKi8KQEAgLTQyMSwxMiArMzQ1LDYgQEAgdHlwZWRlZiBpZCBKU1Zh
bHVlUHJvcGVydHk7CiAqLwogQHByb3BlcnR5IChyZWFkb25seSkgQk9PTCBpc09iamVjdDsKIAot
LyohCi1AcHJvcGVydHkKLUBhYnN0cmFjdCBDaGVjayBpZiBhIEpTVmFsdWUgaXMgYSBzeW1ib2wu
Ci0qLwotQHByb3BlcnR5IChyZWFkb25seSkgQk9PTCBpc1N5bWJvbCBKU0NfQVBJX0FWQUlMQUJM
RShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQogLyohCiBAcHJvcGVy
dHkKIEBhYnN0cmFjdCBDaGVjayBpZiBhIEpTVmFsdWUgaXMgYW4gYXJyYXkuCkBAIC01ODAsNiAr
NDk4LDY4IEBAIENyZWF0ZSBhIEpTVmFsdWUgZnJvbSBhIENHUmVjdC4KIAogQGVuZAogCisvKiEK
KyBAY2F0ZWdvcnkKKyBAZGlzY3Vzc2lvbiBUaGVzZSBtZXRob2RzIGVuYWJsZSBxdWVyeWluZyBw
cm9wZXJ0aWVzIG9uIGEgSlNWYWx1ZS4KKyAqLworQGludGVyZmFjZSBKU1ZhbHVlIChQcm9wZXJ0
eUFjY3Nlc3MpCisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJhY3QgQWNjZXNzIGEgcHJvcGVydHkg
b2YgYSBKU1ZhbHVlLgorIEByZXN1bHQgVGhlIEpTVmFsdWUgZm9yIHRoZSByZXF1ZXN0ZWQgcHJv
cGVydHkgb3IgdGhlIEpTVmFsdWUgPGNvZGU+dW5kZWZpbmVkPC9jb2RlPgorIGlmIHRoZSBwcm9w
ZXJ0eSBkb2VzIG5vdCBleGlzdC4KKyAqLworLSAoSlNWYWx1ZSAqKXZhbHVlRm9yUHJvcGVydHk6
KE5TU3RyaW5nICopcHJvcGVydHk7CisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJhY3QgU2V0IGEg
cHJvcGVydHkgb24gYSBKU1ZhbHVlLgorICovCistICh2b2lkKXNldFZhbHVlOihpZCl2YWx1ZSBm
b3JQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0eTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0
cmFjdCBEZWxldGUgYSBwcm9wZXJ0eSBmcm9tIGEgSlNWYWx1ZS4KKyBAcmVzdWx0IFlFUyBpZiBk
ZWxldGlvbiBpcyBzdWNjZXNzZnVsLCBOTyBvdGhlcndpc2UuCisgKi8KKy0gKEJPT0wpZGVsZXRl
UHJvcGVydHk6KE5TU3RyaW5nICopcHJvcGVydHk7CisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJh
Y3QgQ2hlY2sgaWYgYSBKU1ZhbHVlIGhhcyBhIHByb3BlcnR5LgorIEBkaXNjdXNzaW9uIFRoaXMg
bWV0aG9kIGhhcyB0aGUgc2FtZSBmdW5jdGlvbiBhcyB0aGUgSmF2YVNjcmlwdCBvcGVyYXRvciA8
Y29kZT5pbjwvY29kZT4uCisgQHJlc3VsdCBSZXR1cm5zIFlFUyBpZiBwcm9wZXJ0eSBpcyBwcmVz
ZW50IG9uIHRoZSB2YWx1ZS4KKyAqLworLSAoQk9PTCloYXNQcm9wZXJ0eTooTlNTdHJpbmcgKilw
cm9wZXJ0eTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBEZWZpbmUgcHJvcGVydGllcyB3
aXRoIGN1c3RvbSBkZXNjcmlwdG9ycyBvbiBKU1ZhbHVlcy4KKyBAZGlzY3Vzc2lvbiBUaGlzIG1l
dGhvZCBtYXkgYmUgdXNlZCB0byBjcmVhdGUgYSBkYXRhIG9yIGFjY2Vzc29yIHByb3BlcnR5IG9u
IGFuIG9iamVjdC4KKyBUaGlzIG1ldGhvZCBvcGVyYXRlcyBpbiBhY2NvcmRhbmNlIHdpdGggdGhl
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtZXRob2QgaW4gdGhlCisgSmF2YVNjcmlwdCBsYW5ndWFn
ZS4KKyAqLworLSAodm9pZClkZWZpbmVQcm9wZXJ0eTooTlNTdHJpbmcgKilwcm9wZXJ0eSBkZXNj
cmlwdG9yOihpZClkZXNjcmlwdG9yOworCisvKiEKKyBAbWV0aG9kCisgQGFic3RyYWN0IEFjY2Vz
cyBhbiBpbmRleGVkIChudW1lcmljYWwpIHByb3BlcnR5IG9uIGEgSlNWYWx1ZS4KKyBAcmVzdWx0
IFRoZSBKU1ZhbHVlIGZvciB0aGUgcHJvcGVydHkgYXQgdGhlIHNwZWNpZmllZCBpbmRleC4KKyBS
ZXR1cm5zIHRoZSBKYXZhU2NyaXB0IHZhbHVlIDxjb2RlPnVuZGVmaW5lZDwvY29kZT4gaWYgbm8g
cHJvcGVydHkgZXhpc3RzIGF0IHRoYXQgaW5kZXguCisgKi8KKy0gKEpTVmFsdWUgKil2YWx1ZUF0
SW5kZXg6KE5TVUludGVnZXIpaW5kZXg7CisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJhY3QgU2V0
IGFuIGluZGV4ZWQgKG51bWVyaWNhbCkgcHJvcGVydHkgb24gYSBKU1ZhbHVlLgorIEBkaXNjdXNz
aW9uIEZvciBKU1ZhbHVlcyB0aGF0IGFyZSBKYXZhU2NyaXB0IGFycmF5cywgaW5kaWNlcyBncmVh
dGVyIHRoYW4KKyBVSU5UX01BWCAtIDEgd2lsbCBub3QgYWZmZWN0IHRoZSBsZW5ndGggb2YgdGhl
IGFycmF5LgorICovCistICh2b2lkKXNldFZhbHVlOihpZCl2YWx1ZSBhdEluZGV4OihOU1VJbnRl
Z2VyKWluZGV4OworCitAZW5kCisKIC8qIQogQGNhdGVnb3J5CiBAZGlzY3Vzc2lvbiBJbnN0YW5j
ZXMgb2YgSlNWYWx1ZSBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBtZXRob2RzIGluIG9yZGVyIHRv
IGVuYWJsZQpAQCAtNTk0LDE2ICs1NzQsMTMgQEAgQ3JlYXRlIGEgSlNWYWx1ZSBmcm9tIGEgQ0dS
ZWN0LgogQC90ZXh0YmxvY2sKIAogIEFuIG9iamVjdCBrZXkgcGFzc2VkIGFzIGEgc3Vic2NyaXB0
IHdpbGwgYmUgY29udmVydGVkIHRvIGEgSmF2YVNjcmlwdCB2YWx1ZSwKLSBhbmQgdGhlbiB0aGUg
dmFsdWUgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgPGNvZGU+dmFsdWVXaXRoT2JqZWN0OmluQ29u
dGV4dDo8L2NvZGU+LiBJbiBtYWNPUwotIFRCQSBhbmQgaU9TIFRCQSBhbmQgYmVsb3csIHRoZSA8
Y29kZT5rZXk8L2NvZGU+IGFyZ3VtZW50IG9mCi0gPGNvZGU+c2V0T2JqZWN0Om9iamVjdCBmb3JL
ZXllZFN1YnNjcmlwdDprZXk8L2NvZGU+IHdhcyByZXN0cmljdGVkIHRvIGFuCi0gPGNvZGU+TlNT
dHJpbmcgPE5TQ29weWluZz4gKjwvY29kZT4gYnV0IHRoYXQgcmVzdHJpY3Rpb24gd2FzIG5ldmVy
IHVzZWQuCisgYW5kIHRoZW4gdGhlIHZhbHVlIGNvbnZlcnRlZCB0byBhIHN0cmluZyB1c2VkIGFz
IGEgcHJvcGVydHkgbmFtZS4KICovCiBAaW50ZXJmYWNlIEpTVmFsdWUgKFN1YnNjcmlwdFN1cHBv
cnQpCiAKLS0gKEpTVmFsdWUgKilvYmplY3RGb3JLZXllZFN1YnNjcmlwdDooSlNWYWx1ZVByb3Bl
cnR5KWtleTsKKy0gKEpTVmFsdWUgKilvYmplY3RGb3JLZXllZFN1YnNjcmlwdDooaWQpa2V5Owog
LSAoSlNWYWx1ZSAqKW9iamVjdEF0SW5kZXhlZFN1YnNjcmlwdDooTlNVSW50ZWdlcilpbmRleDsK
LS0gKHZvaWQpc2V0T2JqZWN0OihpZClvYmplY3QgZm9yS2V5ZWRTdWJzY3JpcHQ6KEpTVmFsdWVQ
cm9wZXJ0eSlrZXk7CistICh2b2lkKXNldE9iamVjdDooaWQpb2JqZWN0IGZvcktleWVkU3Vic2Ny
aXB0OihOU09iamVjdCA8TlNDb3B5aW5nPiAqKWtleTsKIC0gKHZvaWQpc2V0T2JqZWN0OihpZClv
YmplY3QgYXRJbmRleGVkU3Vic2NyaXB0OihOU1VJbnRlZ2VyKWluZGV4OwogCiBAZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVQcml2YXRlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVQcml2YXRlLmgKaW5kZXggYjI2ZjAwNzliNDAz
MjYwMmVlYWFlOGNhNDhkMzkxMzE3MWYzZTBhZi4uOGFmMjlkYTc4MWFkOTkyODg1MTE0ODc3Mzhj
NGEyYjMwM2JjYjNhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1Zh
bHVlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVByaXZh
dGUuaApAQCAtMjksNiArMjksNjggQEAKIAogQGludGVyZmFjZSBKU1ZhbHVlKEpTUHJpdmF0ZSkK
IAorI2lmIChkZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCBKU0NfTUFDX1ZFUlNJT05fVEJBKSB8fCAoZGVm
aW5lZChfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCBKU0NfSU9TX1ZFUlNJT05fVEJBKQordHlwZWRlZiBOU1N0cmlu
ZyAqSlNWYWx1ZVByb3BlcnR5OworI2Vsc2UKK3R5cGVkZWYgaWQgSlNWYWx1ZVByb3BlcnR5Owor
I2VuZGlmCisKKy8qIQorIEBtZXRob2QKKyBAYWJzdHJhY3QgQ3JlYXRlIGEgbmV3LCB1bmlxdWUs
IHN5bWJvbCBvYmplY3QuCisgQHBhcmFtIGRlc2NyaXB0aW9uIFRoZSBkZXNjcmlwdGlvbiBvZiB0
aGUgc3ltYm9sIG9iamVjdCBiZWluZyBjcmVhdGVkLgorIEBwYXJhbSBjb250ZXh0IFRoZSBKU0Nv
bnRleHQgdG8gd2hpY2ggdGhlIHJlc3VsdGluZyBKU1ZhbHVlIGJlbG9uZ3MuCisgQHJlc3VsdCBU
aGUgSlNWYWx1ZSByZXByZXNlbnRpbmcgYSB1bmlxdWUgSmF2YVNjcmlwdCB2YWx1ZSB3aXRoIHR5
cGUgc3ltYm9sLgorICovCisrIChKU1ZhbHVlICopdmFsdWVXaXRoTmV3U3ltYm9sRnJvbURlc2Ny
aXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIGluQ29udGV4dDooSlNDb250ZXh0ICopY29u
dGV4dCBKU0NfQVBJX0FWQUlMQUJMRShtYWNvc3goSlNDX01BQ19UQkEpLCBpb3MoSlNDX0lPU19U
QkEpKTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBBY2Nlc3MgYSBwcm9wZXJ0eSBvZiBh
IEpTVmFsdWUuCisgQHJlc3VsdCBUaGUgSlNWYWx1ZSBmb3IgdGhlIHJlcXVlc3RlZCBwcm9wZXJ0
eSBvciB0aGUgSlNWYWx1ZSA8Y29kZT51bmRlZmluZWQ8L2NvZGU+CisgaWYgdGhlIHByb3BlcnR5
IGRvZXMgbm90IGV4aXN0LgorIEBkaXNjdXNzaW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2Ny
aXB0IG9wZXJhdGlvbiA8Y29kZT5vYmplY3RbcHJvcGVydHldPC9jb2RlPi4gQWZ0ZXIgbWFjT1Mg
VEJBIGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBiZSBj
b252ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxjb2Rl
PnZhbHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJBIGFu
ZCBpT1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAqLgor
ICovCistIChKU1ZhbHVlICopdmFsdWVGb3JQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5KXByb3Bl
cnR5OworCisvKiEKKyBAbWV0aG9kCisgQGFic3RyYWN0IFNldCBhIHByb3BlcnR5IG9uIGEgSlNW
YWx1ZS4KKyBAZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUgSmF2YVNjcmlwdCBvcGVyYXRp
b24gPGNvZGU+b2JqZWN0W3Byb3BlcnR5XSA9IHZhbHVlPC9jb2RlPi4gQWZ0ZXIgbWFjT1MgVEJB
IGFuZCBpT1MgVEJBLCAncHJvcGVydHknIGNhbiBiZSBhbnkgJ2lkJyBhbmQgd2lsbCBiZSBjb252
ZXJ0ZWQgdG8gYSBKU1ZhbHVlIHVzaW5nIHRoZSBjb252ZXJzaW9uIHJ1bGVzIG9mIDxjb2RlPnZh
bHVlV2l0aE9iamVjdDppbkNvbnRleHQ6PC9jb2RlPi4gUHJpb3IgdG8gbWFjT1MgVEJBIGFuZCBp
T1MgVEJBLCAncHJvcGVydHknIHdhcyBleHBlY3RlZCB0byBiZSBhbiBOU1N0cmluZyAqLgorICov
CistICh2b2lkKXNldFZhbHVlOihpZCl2YWx1ZSBmb3JQcm9wZXJ0eTooSlNWYWx1ZVByb3BlcnR5
KXByb3BlcnR5OworCisvKiEKKyBAbWV0aG9kCisgQGFic3RyYWN0IERlbGV0ZSBhIHByb3BlcnR5
IGZyb20gYSBKU1ZhbHVlLgorIEByZXN1bHQgWUVTIGlmIGRlbGV0aW9uIGlzIHN1Y2Nlc3NmdWws
IE5PIG90aGVyd2lzZS4KKyBAZGlzY3Vzc2lvbiBDb3JyZXNwb25kcyB0byB0aGUgSmF2YVNjcmlw
dCBvcGVyYXRpb24gPGNvZGU+ZGVsZXRlIG9iamVjdFtwcm9wZXJ0eV08L2NvZGU+LiBBZnRlciBt
YWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxs
IGJlIGNvbnZlcnRlZCB0byBhIEpTVmFsdWUgdXNpbmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2Yg
PGNvZGU+dmFsdWVXaXRoT2JqZWN0OmluQ29udGV4dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBU
QkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgd2FzIGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5n
ICouCisgKi8KKy0gKEJPT0wpZGVsZXRlUHJvcGVydHk6KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0
eTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBDaGVjayBpZiBhIEpTVmFsdWUgaGFzIGEg
cHJvcGVydHkuCisgQGRpc2N1c3Npb24gVGhpcyBtZXRob2QgaGFzIHRoZSBzYW1lIGZ1bmN0aW9u
IGFzIHRoZSBKYXZhU2NyaXB0IG9wZXJhdG9yIDxjb2RlPmluPC9jb2RlPi4KKyBAcmVzdWx0IFJl
dHVybnMgWUVTIGlmIHByb3BlcnR5IGlzIHByZXNlbnQgb24gdGhlIHZhbHVlLgorIEBkaXNjdXNz
aW9uIENvcnJlc3BvbmRzIHRvIHRoZSBKYXZhU2NyaXB0IG9wZXJhdGlvbiA8Y29kZT5wcm9wZXJ0
eSBpbiBvYmplY3Q8L2NvZGU+LiBBZnRlciBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0
eScgY2FuIGJlIGFueSAnaWQnIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIEpTVmFsdWUgdXNp
bmcgdGhlIGNvbnZlcnNpb24gcnVsZXMgb2YgPGNvZGU+dmFsdWVXaXRoT2JqZWN0OmluQ29udGV4
dDo8L2NvZGU+LiBQcmlvciB0byBtYWNPUyBUQkEgYW5kIGlPUyBUQkEsICdwcm9wZXJ0eScgd2Fz
IGV4cGVjdGVkIHRvIGJlIGFuIE5TU3RyaW5nICouCisgKi8KKy0gKEJPT0wpaGFzUHJvcGVydHk6
KEpTVmFsdWVQcm9wZXJ0eSlwcm9wZXJ0eTsKKworLyohCisgQG1ldGhvZAorIEBhYnN0cmFjdCBE
ZWZpbmUgcHJvcGVydGllcyB3aXRoIGN1c3RvbSBkZXNjcmlwdG9ycyBvbiBKU1ZhbHVlcy4KKyBA
ZGlzY3Vzc2lvbiBUaGlzIG1ldGhvZCBtYXkgYmUgdXNlZCB0byBjcmVhdGUgYSBkYXRhIG9yIGFj
Y2Vzc29yIHByb3BlcnR5IG9uIGFuIG9iamVjdC4KKyBUaGlzIG1ldGhvZCBvcGVyYXRlcyBpbiBh
Y2NvcmRhbmNlIHdpdGggdGhlIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBtZXRob2QgaW4gdGhlIEph
dmFTY3JpcHQgbGFuZ3VhZ2UuIEFmdGVyIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5
JyBjYW4gYmUgYW55ICdpZCcgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGEgSlNWYWx1ZSB1c2lu
ZyB0aGUgY29udmVyc2lvbiBydWxlcyBvZiA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0
OjwvY29kZT4uIFByaW9yIHRvIG1hY09TIFRCQSBhbmQgaU9TIFRCQSwgJ3Byb3BlcnR5JyB3YXMg
ZXhwZWN0ZWQgdG8gYmUgYW4gTlNTdHJpbmcgKi4KKyAqLworLSAodm9pZClkZWZpbmVQcm9wZXJ0
eTooSlNWYWx1ZVByb3BlcnR5KXByb3BlcnR5IGRlc2NyaXB0b3I6KGlkKWRlc2NyaXB0b3I7CisK
Ky8qIQorIEBwcm9wZXJ0eQorIEBhYnN0cmFjdCBDaGVjayBpZiBhIEpTVmFsdWUgaXMgYSBzeW1i
b2wuCisgKi8KK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIEJPT0wgaXNTeW1ib2wgSlNDX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KEpTQ19NQUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7CisKIC8qIQogIEBt
ZXRob2QKICBAYWJzdHJhY3QgQ3JlYXRlIGEgbmV3IHByb21pc2Ugb2JqZWN0IHVzaW5nIHRoZSBw
cm92aWRlZCBleGVjdXRvciBjYWxsYmFjay4KQEAgLTY4LDQgKzEzMCwzMiBAQAogCiBAZW5kCiAK
Ky8qIQorIEBjYXRlZ29yeQorIEBkaXNjdXNzaW9uIEluc3RhbmNlcyBvZiBKU1ZhbHVlIGltcGxl
bWVudCB0aGUgZm9sbG93aW5nIG1ldGhvZHMgaW4gb3JkZXIgdG8gZW5hYmxlCisgc3VwcG9ydCBm
b3Igc3Vic2NyaXB0IGFjY2VzcyBieSBrZXkgYW5kIGluZGV4LCBmb3IgZXhhbXBsZToKKworIEB0
ZXh0YmxvY2sKKyBKU1ZhbHVlICpvYmplY3RBLCAqb2JqZWN0QjsKKyBKU1ZhbHVlICp2MSA9IG9i
amVjdFtAIlgiXTsgLy8gR2V0IHZhbHVlIGZvciBwcm9wZXJ0eSAiWCIgZnJvbSAnb2JqZWN0Jy4K
KyBKU1ZhbHVlICp2MiA9IG9iamVjdFs0Ml07ICAgLy8gR2V0IHZhbHVlIGZvciBpbmRleCA0MiBm
cm9tICdvYmplY3QnLgorIG9iamVjdFtAIlkiXSA9IHYxOyAgICAgICAgICAvLyBBc3NpZ24gJ3Yx
JyB0byBwcm9wZXJ0eSAiWSIgb2YgJ29iamVjdCcuCisgb2JqZWN0WzEwMV0gPSB2MjsgICAgICAg
ICAgIC8vIEFzc2lnbiAndjInIHRvIGluZGV4IDEwMSBvZiAnb2JqZWN0Jy4KKyBAL3RleHRibG9j
aworCisgQW4gb2JqZWN0IGtleSBwYXNzZWQgYXMgYSBzdWJzY3JpcHQgd2lsbCBiZSBjb252ZXJ0
ZWQgdG8gYSBKYXZhU2NyaXB0IHZhbHVlLAorIGFuZCB0aGVuIHRoZSB2YWx1ZSB1c2luZyB0aGUg
c2FtZSBydWxlcyBhcyA8Y29kZT52YWx1ZVdpdGhPYmplY3Q6aW5Db250ZXh0OjwvY29kZT4uIElu
IG1hY09TCisgVEJBIGFuZCBpT1MgVEJBIGFuZCBiZWxvdywgdGhlIDxjb2RlPmtleTwvY29kZT4g
YXJndW1lbnQgb2YKKyA8Y29kZT5zZXRPYmplY3Q6b2JqZWN0IGZvcktleWVkU3Vic2NyaXB0Omtl
eTwvY29kZT4gd2FzIHJlc3RyaWN0ZWQgdG8gYW4KKyA8Y29kZT5OU1N0cmluZyA8TlNDb3B5aW5n
PiAqPC9jb2RlPiBidXQgdGhhdCByZXN0cmljdGlvbiB3YXMgbmV2ZXIgdXNlZC4KKyAqLworQGlu
dGVyZmFjZSBKU1ZhbHVlIChTdWJzY3JpcHRTdXBwb3J0UHJpdmF0ZSkKKworLSAoSlNWYWx1ZSAq
KW9iamVjdEZvcktleWVkU3Vic2NyaXB0OihKU1ZhbHVlUHJvcGVydHkpa2V5OworLSAoSlNWYWx1
ZSAqKW9iamVjdEF0SW5kZXhlZFN1YnNjcmlwdDooTlNVSW50ZWdlcilpbmRleDsKKy0gKHZvaWQp
c2V0T2JqZWN0OihpZClvYmplY3QgZm9yS2V5ZWRTdWJzY3JpcHQ6KEpTVmFsdWVQcm9wZXJ0eSlr
ZXk7CistICh2b2lkKXNldE9iamVjdDooaWQpb2JqZWN0IGF0SW5kZXhlZFN1YnNjcmlwdDooTlNV
SW50ZWdlcilpbmRleDsKKworQGVuZAorCiAjZW5kaWYgLy8gSlNDX09CSkNfQVBJX0VOQUJMRUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmgKaW5kZXggYTQyN2Q5OGI1NThmZWM5
NGMzZGJlZGVjYTNlN2IwMTZhOTRmMjFiMS4uNTc2NmJhMjAwOTgzMmM5MWViMzVhOTRiNmRiNTRl
OTg2MTIyYmI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVl
UmVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmgKQEAgLTE1
MSwxNSArMTUxLDYgQEAgSlNfRVhQT1JUIGJvb2wgSlNWYWx1ZUlzU3RyaW5nKEpTQ29udGV4dFJl
ZiBjdHgsIEpTVmFsdWVSZWYgdmFsdWUpOwogKi8KIEpTX0VYUE9SVCBib29sIEpTVmFsdWVJc09i
amVjdChKU0NvbnRleHRSZWYgY3R4LCBKU1ZhbHVlUmVmIHZhbHVlKTsKIAotLyohCi1AZnVuY3Rp
b24KLUBhYnN0cmFjdCAgICAgICBUZXN0cyB3aGV0aGVyIGEgSmF2YVNjcmlwdCB2YWx1ZSdzIHR5
cGUgaXMgdGhlIHN5bWJvbCB0eXBlLgotQHBhcmFtIGN0eCAgICAgIFRoZSBleGVjdXRpb24gY29u
dGV4dCB0byB1c2UuCi1AcGFyYW0gdmFsdWUgICAgVGhlIEpTVmFsdWUgdG8gdGVzdC4KLUByZXN1
bHQgICAgICAgICB0cnVlIGlmIHZhbHVlJ3MgdHlwZSBpcyB0aGUgc3ltYm9sIHR5cGUsIG90aGVy
d2lzZSBmYWxzZS4KLSovCi1KU19FWFBPUlQgYm9vbCBKU1ZhbHVlSXNTeW1ib2woSlNDb250ZXh0
UmVmIGN0eCwgSlNWYWx1ZVJlZiB2YWx1ZSkgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3N4KEpTQ19N
QUNfVEJBKSwgaW9zKEpTQ19JT1NfVEJBKSk7Ci0KIAogLyohCiBAZnVuY3Rpb24K
</data>
<flag name="review"
          id="368175"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>