<?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>214354</bug_id>
          
          <creation_ts>2020-07-15 08:14:39 -0700</creation_ts>
          <short_desc>Add handling of out of memory handling while adding a worklet module.</short_desc>
          <delta_ts>2020-07-15 17:15:53 -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>WebCore JavaScript</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=214386</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671742</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-07-15 08:14:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/65271931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671745</commentid>
    <comment_count>1</comment_count>
      <attachid>404342</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-07-15 08:27:41 -0700</bug_when>
    <thetext>Created attachment 404342
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671841</commentid>
    <comment_count>2</comment_count>
      <attachid>404342</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-07-15 11:36:08 -0700</bug_when>
    <thetext>Comment on attachment 404342
proposed patch.

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

r=me with comment.

&gt; LayoutTests/fast/css-custom-paint/out-of-memory-while-adding-worklet-module-expected.txt:5
&gt; +    RenderBody {BODY} at (8,8) size 784x584

Please include js-pre.js and js-post.js and disable this layout dump.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671844</commentid>
    <comment_count>3</comment_count>
      <attachid>404342</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-07-15 11:37:56 -0700</bug_when>
    <thetext>Comment on attachment 404342
proposed patch.

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

r=me too with nit.

&gt; Source/JavaScriptCore/runtime/VM.cpp:473
&gt; +            else
&gt; +                RELEASE_ASSERT(bigInt);

Nit: I don&apos;t think this is needed and will probably be removed by the compiler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671857</commentid>
    <comment_count>4</comment_count>
      <attachid>404342</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-07-15 12:11:08 -0700</bug_when>
    <thetext>Comment on attachment 404342
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/runtime/VM.cpp:473
&gt;&gt; +                RELEASE_ASSERT(bigInt);
&gt; 
&gt; Nit: I don&apos;t think this is needed and will probably be removed by the compiler.

It is needed.  If the success pointer is null, we want to RELEASE_ASSERT(the result).  This will be compiled into an unconditional crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671864</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-07-15 12:21:51 -0700</bug_when>
    <thetext>Thanks for the reviews.  I&apos;ve made the requested test changes.

Landed in r264413: &lt;http://trac.webkit.org/r264413&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404342</attachid>
            <date>2020-07-15 08:27:41 -0700</date>
            <delta_ts>2020-07-15 11:38:02 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-214354.patch</filename>
            <type>text/plain</type>
            <size>20735</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0Mzk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTA3LTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgaGFuZGxpbmcgb2Ygb3V0IG9mIG1lbW9yeSBoYW5kbGluZyB3aGlsZSBhZGRpbmcgYSB3b3Jr
bGV0IG1vZHVsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDM1NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjUyNzE5MzE+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFZNOjp0cnlDcmVhdGUo
KSB0aGF0IGNhbiBmYWlsIGlmIHdlIGVuY291bnRlciBhbiBvdXQgb2YgbWVtb3J5IGlzc3VlLgor
ICAgICAgICBBcyBhbHdheXMsIHdlJ3JlIHRha2luZyBhIGJlc3QgZWZmb3J0IGFwcHJvYWNoIHRv
IGhhbmRsaW5nIG91dCBvZiBtZW1vcnkgZXJyb3JzLgorICAgICAgICBIZW5jZSwgd2Ugd2lsbCBu
b3QgYXR0ZW1wdCB0byBleGhhdXN0aXZlbHkgaGFuZGxlIGV2ZXJ5IE9PTUUgc2NlbmFyaW8uICBU
aGlzIHBhdGNoCisgICAgICAgIG9ubHkgY2hlY2tzIGZvciBmYWlsdXJlIHRvIGFsbG9jYXRlIGEg
QmlnSW50IGR1ZSB0byBHaWdhY2FnZSBleGhhdXN0aW9uLiAgV2hpbGUgaXQKKyAgICAgICAgZG9l
c24ndCBoYW5kbGUgb3RoZXIgYWxsb2NhdGlvbiBlcnJvcnMsIGl0IGRvZXMgZW5hYmxlIHVzIHRv
IGFkZCBoYW5kbGluZyBvZiBvdGhlcgorICAgICAgICBjYXNlcyBpbiB0aGUgZnV0dXJlIGFzIG5l
ZWRlZC4KKworICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0p
OgorICAgICAgICAoSlNDOjpWTTo6dHJ5Q3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6
CisKIDIwMjAtMDctMTUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgog
CiAgICAgICAgIEVtaXQgSGFzT3duUHJvcGVydHlGdW5jdGlvbkNhbGxEb3ROb2RlIGZvciAiUmVm
bGVjdCIgaWRlbnRpZmllcnMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJ
KHJldmlzaW9uIDI2NDM5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjYyLDcgKzI2Miw3IEBAIGlubGluZSB1bnNpZ25lZCBWTTo6
bmV4dElEKCkKIAogc3RhdGljIGJvb2wgdm1DcmVhdGlvblNob3VsZENyYXNoID0gZmFsc2U7CiAK
LVZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSwgV1RGOjpSdW5Mb29wKiBy
dW5Mb29wKQorVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlLCBXVEY6OlJ1
bkxvb3AqIHJ1bkxvb3AsIGJvb2wqIHN1Y2Nlc3MpCiAgICAgOiBtX2lkKG5leHRJRCgpKQogICAg
ICwgbV9hcGlMb2NrKGFkb3B0UmVmKG5ldyBKU0xvY2sodGhpcykpKQogICAgICwgbV9ydW5Mb29w
KHJ1bkxvb3AgPyAqcnVuTG9vcCA6IFdURjo6UnVuTG9vcDo6Y3VycmVudCgpKQpAQCAtNDY0LDgg
KzQ2NCwxNCBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUsCiAgICAg
fQogICAgIHsKICAgICAgICAgYXV0byogYmlnSW50ID0gSlNCaWdJbnQ6OnRyeUNyZWF0ZUZyb20o
KnRoaXMsIDEpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVChiaWdJbnQpOwotICAgICAgICBoZWFw
QmlnSW50Q29uc3RhbnRPbmUuc2V0KCp0aGlzLCBiaWdJbnQpOworICAgICAgICBpZiAoYmlnSW50
KQorICAgICAgICAgICAgaGVhcEJpZ0ludENvbnN0YW50T25lLnNldCgqdGhpcywgYmlnSW50KTsK
KyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoc3VjY2VzcykKKyAgICAgICAgICAgICAg
ICAqc3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGJpZ0ludCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBUaHJlYWQ6OmN1
cnJlbnQoKS5zZXRDdXJyZW50QXRvbVN0cmluZ1RhYmxlKGV4aXN0aW5nRW50cnlBdG9tU3RyaW5n
VGFibGUpOwpAQCAtNjc0LDYgKzY4MCwyOCBAQCBSZWY8Vk0+IFZNOjpjcmVhdGUoSGVhcFR5cGUg
aGVhcFR5cGUsIFdUCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVk0oRGVmYXVsdCwgaGVhcFR5
cGUsIHJ1bkxvb3ApKTsKIH0KIAorUmVmUHRyPFZNPiBWTTo6dHJ5Q3JlYXRlKEhlYXBUeXBlIGhl
YXBUeXBlLCBXVEY6OlJ1bkxvb3AqIHJ1bkxvb3ApCit7CisgICAgYm9vbCBzdWNjZXNzID0gdHJ1
ZTsKKyAgICBSZWZQdHI8Vk0+IHZtID0gYWRvcHRSZWYobmV3IFZNKERlZmF1bHQsIGhlYXBUeXBl
LCBydW5Mb29wLCAmc3VjY2VzcykpOworICAgIGlmICghc3VjY2VzcykgeworICAgICAgICAvLyBI
ZXJlLCB3ZSdyZSBkZXN0cnVjdGluZyBhIHBhcnRpYWxseSBjb25zdHJ1Y3RlZCBWTSBhbmQgd2Ug
a25vdyB0aGF0CisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBiZSB1c2luZyBpdCBhdCB0aGUg
c2FtZSB0aW1lLiBTbywgYWNxdWlyaW5nIHRoZSBsb2NrCisgICAgICAgIC8vIGlzIHN1cGVyZmxv
dXMuIEhvd2V2ZXIsIHdlIGRvbid0IHdhbnQgdG8gY2hhbmdlIGhvdyBWTXMgYXJlIGRlc3RydWN0
ZWQuCisgICAgICAgIC8vIEp1c3QgZ29pbmcgdGhyb3VnaCB0aGUgbW90aW9uIG9mIGFjcXVpcmlu
ZyB0aGUgbG9jayBoZXJlIGFsbG93cyB1cyB0bworICAgICAgICAvLyB1c2UgdGhlIHN0YW5kYXJk
IGRlc3RydWN0aW9uIHByb2Nlc3MuCisKKyAgICAgICAgLy8gVk0gZXhwZWN0cyB1cyB0byBiZSBo
b2xkaW5nIHRoZSBWTSBsb2NrIHdoZW4gZGVzdHJ1Y3RpbmcgaXQuIEFjcXVpcmluZworICAgICAg
ICAvLyB0aGUgbG9jayBhbHNvIHB1dHMgdGhlIFZNIGluIGEgc3RhdGUgKGUuZy4gYWNxdWlyaW5n
IGhlYXAgYWNjZXNzKSB0aGF0CisgICAgICAgIC8vIGlzIG5lZWRlZCBmb3IgZGVzdHJ1Y3Rpb24u
IFRoZSBsb2NrIHdpbGwgaG9sZCB0aGUgbGFzdCByZWZlcmVuY2UgdG8KKyAgICAgICAgLy8gdGhl
IFZNIGFmdGVyIHdlIG51bGxpZnkgdGhlIHJlZlB0ciBiZWxvdy4gVGhlIFZNIHdpbGwgYWN0dWFs
bHkgYmUKKyAgICAgICAgLy8gZGVzdHJ1Y3RlZCBpbiBKU0xvY2tIb2xkZXIncyBkZXN0cnVjdG9y
LgorICAgICAgICBKU0xvY2tIb2xkZXIgbG9jayh2bS5nZXQoKSk7CisgICAgICAgIHZtID0gbnVs
bHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHZtOworfQorCiBib29sIFZNOjpzaGFyZWRJbnN0YW5j
ZUV4aXN0cygpCiB7CiAgICAgcmV0dXJuIHNoYXJlZEluc3RhbmNlSW50ZXJuYWwoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMjY0Mzk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMzE0LDYgKzMx
NCw3IEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgVk0mIHNoYXJlZElu
c3RhbmNlKCk7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgUmVmPFZNPiBjcmVhdGUo
SGVhcFR5cGUgPSBTbWFsbEhlYXAsIFdURjo6UnVuTG9vcCogPSBudWxscHRyKTsKKyAgICBKU19F
WFBPUlRfUFJJVkFURSBzdGF0aWMgUmVmUHRyPFZNPiB0cnlDcmVhdGUoSGVhcFR5cGUgPSBTbWFs
bEhlYXAsIFdURjo6UnVuTG9vcCogPSBudWxscHRyKTsKICAgICBzdGF0aWMgUmVmPFZNPiBjcmVh
dGVDb250ZXh0R3JvdXAoSGVhcFR5cGUgPSBTbWFsbEhlYXApOwogICAgIEpTX0VYUE9SVF9QUklW
QVRFIH5WTSgpOwogCkBAIC0xMTAxLDcgKzExMDIsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAKLSAgICBWTShWTVR5cGUsIEhl
YXBUeXBlLCBXVEY6OlJ1bkxvb3AqID0gbnVsbHB0cik7CisgICAgVk0oVk1UeXBlLCBIZWFwVHlw
ZSwgV1RGOjpSdW5Mb29wKiA9IG51bGxwdHIsIGJvb2wqIHN1Y2Nlc3MgPSBudWxscHRyKTsKICAg
ICBzdGF0aWMgVk0qJiBzaGFyZWRJbnN0YW5jZUludGVybmFsKCk7CiAgICAgdm9pZCBjcmVhdGVO
YXRpdmVUaHVuaygpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjQzOTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAy
MC0wNy0xNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGhh
bmRsaW5nIG9mIG91dCBvZiBtZW1vcnkgaGFuZGxpbmcgd2hpbGUgYWRkaW5nIGEgd29ya2xldCBt
b2R1bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQzNTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1MjcxOTMxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzLWN1c3RvbS1w
YWludC9vdXQtb2YtbWVtb3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS5odG1sCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNyZWF0ZURPTUV4Y2VwdGlvbik6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkNv
ZGUuaDoKKyAgICAgICAgKiB3b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6dHJ5Q3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBhaW50V29ya2xldEdsb2JhbFNjb3BlOjpQYWludFdvcmtsZXRHbG9i
YWxTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6Y3Jl
YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2xldDo6YWRkTW9kdWxlKToKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0Lmg6CisgICAg
ICAgICogd29ya2xldHMvV29ya2xldC5pZGw6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEds
b2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6V29y
a2xldEdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0U2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrbGV0U2NyaXB0Q29udHJvbGxlcjo6V29ya2xldFNjcmlwdENvbnRy
b2xsZXIpOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRTY3JpcHRDb250cm9sbGVyLmg6CisK
IDIwMjAtMDctMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtJRkNdIFJlbW92ZSBEaXNwbGF5OjpMaW5lQm94Ojppc0NvbnNpZGVyZWRFbXB0eQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5jcHAJKHJldmlzaW9uIDI2NDM5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMSBIYXJyaSBQb3J0ZW4gKHBvcnRl
bkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAwNC0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IFNhbXVlbCBXZWluaWcg
PHNhbUB3ZWJraXQub3JnPgogICogIENvcHlyaWdodCAoQykgMjAxMyBNaWNoYWVsIFBydWV0dCA8
bWljaGFlbEA2OGsub3JnPgogICoKQEAgLTEzOSw2ICsxMzksOCBAQCBKU1ZhbHVlIGNyZWF0ZURP
TUV4Y2VwdGlvbihKU0dsb2JhbE9iamVjCiAKICAgICBpZiAoZWMgPT0gU3RhY2tPdmVyZmxvd0Vy
cm9yKQogICAgICAgICByZXR1cm4gY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGxleGljYWxHbG9i
YWxPYmplY3QpOworICAgIGlmIChlYyA9PSBPdXRPZk1lbW9yeUVycm9yKQorICAgICAgICByZXR1
cm4gY3JlYXRlT3V0T2ZNZW1vcnlFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KTsKIAogICAgIC8v
IEZJWE1FOiBBbGwgY2FsbGVycyB0byBjcmVhdGVET01FeGNlcHRpb24gbmVlZCB0byBwYXNzIGlu
IHRoZSBjb3JyZWN0IGdsb2JhbCBvYmplY3QuCiAgICAgLy8gRm9yIG5vdywgd2UncmUgZ29pbmcg
dG8gYXNzdW1lIHRoZSBsZXhpY2FsR2xvYmFsT2JqZWN0LiBXaGljaCBpcyB3cm9uZyBpbiBjYXNl
cyBsaWtlIHRoaXM6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgJKHJldmlzaW9u
IDI2NDM5OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogIENvcHlyaWdodCAoQykgMjAwNi0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBA
IC02NCw2ICs2NCw3IEBAIGVudW0gRXhjZXB0aW9uQ29kZSB7CiAKICAgICAvLyBOb24tc3RhbmRh
cmQgZXJyb3IuCiAgICAgU3RhY2tPdmVyZmxvd0Vycm9yLAorICAgIE91dE9mTWVtb3J5RXJyb3Is
CiAKICAgICAvLyBVc2VkIHRvIGluZGljYXRlIHRvIHRoZSBiaW5kaW5ncyB0aGF0IGEgSlMgZXhj
ZXB0aW9uIHdhcyB0aHJvd24gYmVsb3cgYW5kIGl0IHNob3VsZCBiZSBwcm9wYWdhdGVkLgogICAg
IEV4aXN0aW5nRXhjZXB0aW9uRXJyb3IsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Q
YWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
d29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCShyZXZpc2lvbiAyNjQzOTgpCisr
KyBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC00MSwxMyArNDEsMTYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFBhaW50V29ya2xldEdsb2JhbFNjb3BlKTsKIAot
UmVmPFBhaW50V29ya2xldEdsb2JhbFNjb3BlPiBQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6Y3Jl
YXRlKERvY3VtZW50JiBkb2N1bWVudCwgU2NyaXB0U291cmNlQ29kZSYmIGNvZGUpCitSZWZQdHI8
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU+IFBhaW50V29ya2xldEdsb2JhbFNjb3BlOjp0cnlDcmVh
dGUoRG9jdW1lbnQmIGRvY3VtZW50LCBTY3JpcHRTb3VyY2VDb2RlJiYgY29kZSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQYWludFdvcmtsZXRHbG9iYWxTY29wZShkb2N1bWVudCwgV1RG
TW92ZShjb2RlKSkpOworICAgIFJlZlB0cjxWTT4gdm0gPSBWTTo6dHJ5Q3JlYXRlKCk7CisgICAg
aWYgKCF2bSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoZG9jdW1lbnQsIHZtLnJlbGVhc2VOb25OdWxsKCks
IFdURk1vdmUoY29kZSkpKTsKIH0KIAotUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OlBhaW50V29y
a2xldEdsb2JhbFNjb3BlKERvY3VtZW50JiBkb2N1bWVudCwgU2NyaXB0U291cmNlQ29kZSYmIGNv
ZGUpCi0gICAgOiBXb3JrbGV0R2xvYmFsU2NvcGUoZG9jdW1lbnQsIFdURk1vdmUoY29kZSkpCitQ
YWludFdvcmtsZXRHbG9iYWxTY29wZTo6UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoRG9jdW1lbnQm
IGRvY3VtZW50LCBSZWY8Vk0+JiYgdm0sIFNjcmlwdFNvdXJjZUNvZGUmJiBjb2RlKQorICAgIDog
V29ya2xldEdsb2JhbFNjb3BlKGRvY3VtZW50LCBXVEZNb3ZlKHZtKSwgV1RGTW92ZShjb2RlKSkK
IHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmts
ZXRHbG9iYWxTY29wZS5oCShyZXZpc2lvbiAyNjQzOTgpCisrKyBTb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDYgKzM0LDcg
QEAKIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBKU09iamVjdDsKK2NsYXNzIFZNOwogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQzLDcgQEAgY2xh
c3MgSlNET01HbG9iYWxPYmplY3Q7CiBjbGFzcyBQYWludFdvcmtsZXRHbG9iYWxTY29wZSA6IHB1
YmxpYyBXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGFp
bnRXb3JrbGV0R2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8UGFpbnRXb3Jr
bGV0R2xvYmFsU2NvcGU+IGNyZWF0ZShEb2N1bWVudCYsIFNjcmlwdFNvdXJjZUNvZGUmJik7Cisg
ICAgc3RhdGljIFJlZlB0cjxQYWludFdvcmtsZXRHbG9iYWxTY29wZT4gdHJ5Q3JlYXRlKERvY3Vt
ZW50JiwgU2NyaXB0U291cmNlQ29kZSYmKTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlZ2lz
dGVyUGFpbnQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgSlNDOjpT
dHJvbmc8SlNDOjpKU09iamVjdD4gcGFpbnRDb25zdHJ1Y3Rvcik7CiAgICAgZG91YmxlIGRldmlj
ZVBpeGVsUmF0aW8oKSBjb25zdDsKQEAgLTcyLDcgKzczLDcgQEAgcHVibGljOgogICAgIH0KIAog
cHJpdmF0ZToKLSAgICBQYWludFdvcmtsZXRHbG9iYWxTY29wZShEb2N1bWVudCYsIFNjcmlwdFNv
dXJjZUNvZGUmJik7CisgICAgUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUoRG9jdW1lbnQmLCBSZWY8
SlNDOjpWTT4mJiwgU2NyaXB0U291cmNlQ29kZSYmKTsKIAogICAgIH5QYWludFdvcmtsZXRHbG9i
YWxTY29wZSgpCiAgICAgewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldC5jcHAJKHJl
dmlzaW9uIDI2NDM5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NiwxNiArNDYsMjEgQEAgV29ya2xldDo6V29ya2xldCgpCiB7CiB9
CiAKLXZvaWQgV29ya2xldDo6YWRkTW9kdWxlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3Ry
aW5nJiBtb2R1bGVVUkwpCitFeGNlcHRpb25Pcjx2b2lkPiBXb3JrbGV0OjphZGRNb2R1bGUoRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIG1vZHVsZVVSTCkKIHsKICAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIGRvd25sb2FkIHRoZSBzb3VyY2UgZnJvbSB0aGUgVVJMCiAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTEzNgotICAgIGF1dG8gY29u
dGV4dCA9IFBhaW50V29ya2xldEdsb2JhbFNjb3BlOjpjcmVhdGUoZG9jdW1lbnQsIFNjcmlwdFNv
dXJjZUNvZGUobW9kdWxlVVJMKSk7CisgICAgYXV0byBtYXliZUNvbnRleHQgPSBQYWludFdvcmts
ZXRHbG9iYWxTY29wZTo6dHJ5Q3JlYXRlKGRvY3VtZW50LCBTY3JpcHRTb3VyY2VDb2RlKG1vZHVs
ZVVSTCkpOworICAgIGlmIChVTkxJS0VMWSghbWF5YmVDb250ZXh0KSkKKyAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IE91dE9mTWVtb3J5RXJyb3IgfTsKKyAgICBhdXRvIGNvbnRleHQgPSBtYXli
ZUNvbnRleHQucmVsZWFzZU5vbk51bGwoKTsKICAgICBjb250ZXh0LT5ldmFsdWF0ZSgpOwogCiAg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhjb250ZXh0LT5wYWludERlZmluaXRpb25Mb2NrKCkp
OwogICAgIGZvciAoYXV0byYgbmFtZSA6IGNvbnRleHQtPnBhaW50RGVmaW5pdGlvbk1hcCgpLmtl
eXMoKSkKICAgICAgICAgZG9jdW1lbnQuc2V0UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGVGb3JOYW1l
KG5hbWUsIG1ha2VSZWYoY29udGV4dC5nZXQoKSkpOworCisgICAgcmV0dXJuIHsgfTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29y
a2xldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXQuaAko
cmV2aXNpb24gMjY0Mzk4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0zOCw3ICszOSw3IEBAIGNsYXNzIFdvcmtsZXQgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDwKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdvcmtsZXQ+
IGNyZWF0ZSgpOwogICAgIAotICAgIHZvaWQgYWRkTW9kdWxlKERvY3VtZW50JiwgY29uc3QgU3Ry
aW5nJiBtb2R1bGVVUkwpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGFkZE1vZHVsZShEb2N1bWVu
dCYsIGNvbnN0IFN0cmluZyYgbW9kdWxlVVJMKTsKIAogcHJpdmF0ZToKICAgICBXb3JrbGV0KCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0LmlkbAkocmV2aXNpb24gMjY0Mzk4KQor
KysgU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDUgKzI5
LDUgQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEdsb2JhbD1Xb3JrbGV0
LAogXSBpbnRlcmZhY2UgV29ya2xldCB7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50XSB2b2lkIGFk
ZE1vZHVsZShVU1ZTdHJpbmcgbW9kdWxlVVJMLyosIG9wdGlvbmFsIFdvcmtsZXRPcHRpb25zIG9w
dGlvbnMqLyk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBhZGRNb2R1bGUoVVNWU3RyaW5nIG1vZHVsZVVSTC8qLCBvcHRpb25hbCBXb3JrbGV0T3B0aW9u
cyBvcHRpb25zKi8pOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRH
bG9iYWxTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29y
a2xldEdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMjY0Mzk4KQorKysgU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjAgQXBwbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Nyw5ICs0Nyw5
IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChXb3JrbGV0R2xvYmFsU2NvcGUpOwogCi1Xb3JrbGV0R2xvYmFsU2NvcGU6OldvcmtsZXRH
bG9iYWxTY29wZShEb2N1bWVudCYgZG9jdW1lbnQsIFNjcmlwdFNvdXJjZUNvZGUmJiBjb2RlKQor
V29ya2xldEdsb2JhbFNjb3BlOjpXb3JrbGV0R2xvYmFsU2NvcGUoRG9jdW1lbnQmIGRvY3VtZW50
LCBSZWY8SlNDOjpWTT4mJiB2bSwgU2NyaXB0U291cmNlQ29kZSYmIGNvZGUpCiAgICAgOiBtX2Rv
Y3VtZW50KG1ha2VXZWFrUHRyKGRvY3VtZW50KSkKLSAgICAsIG1fc2NyaXB0KG1ha2VVbmlxdWU8
V29ya2xldFNjcmlwdENvbnRyb2xsZXI+KHRoaXMpKQorICAgICwgbV9zY3JpcHQobWFrZVVuaXF1
ZTxXb3JrbGV0U2NyaXB0Q29udHJvbGxlcj4oV1RGTW92ZSh2bSksIHRoaXMpKQogICAgICwgbV90
b3BPcmlnaW4oU2VjdXJpdHlPcmlnaW46OmNyZWF0ZVVuaXF1ZSgpKQogICAgICwgbV9jb2RlKFdU
Rk1vdmUoY29kZSkpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xv
YmFsU2NvcGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0
R2xvYmFsU2NvcGUuaAkocmV2aXNpb24gMjY0Mzk4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvV29ya2xldEdsb2JhbFNjb3BlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtODcsNyArODcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHByZXBhcmVGb3JEZXN0cnVjdGlvbigpOwogCiBwcm90ZWN0
ZWQ6Ci0gICAgV29ya2xldEdsb2JhbFNjb3BlKERvY3VtZW50JiwgU2NyaXB0U291cmNlQ29kZSYm
KTsKKyAgICBXb3JrbGV0R2xvYmFsU2NvcGUoRG9jdW1lbnQmLCBSZWY8SlNDOjpWTT4mJiwgU2Ny
aXB0U291cmNlQ29kZSYmKTsKICAgICBXb3JrbGV0R2xvYmFsU2NvcGUoY29uc3QgV29ya2xldEds
b2JhbFNjb3BlJikgPSBkZWxldGU7CiAgICAgV29ya2xldEdsb2JhbFNjb3BlKFdvcmtsZXRHbG9i
YWxTY29wZSYmKSA9IGRlbGV0ZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29y
a2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dv
cmtsZXRzL1dvcmtsZXRTY3JpcHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjY0Mzk4KQorKysg
U291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldFNjcmlwdENvbnRyb2xsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAyMCBB
cHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTQ3LDggKzQ3LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVz
cGFjZSBKU0M7CiAKLVdvcmtsZXRTY3JpcHRDb250cm9sbGVyOjpXb3JrbGV0U2NyaXB0Q29udHJv
bGxlcihXb3JrbGV0R2xvYmFsU2NvcGUqIHdvcmtsZXRHbG9iYWxTY29wZSkKLSAgICA6IG1fdm0o
Vk06OmNyZWF0ZSgpKQorV29ya2xldFNjcmlwdENvbnRyb2xsZXI6OldvcmtsZXRTY3JpcHRDb250
cm9sbGVyKFJlZjxWTT4mJiB2bSwgV29ya2xldEdsb2JhbFNjb3BlKiB3b3JrbGV0R2xvYmFsU2Nv
cGUpCisgICAgOiBtX3ZtKFdURk1vdmUodm0pKQogICAgICwgbV93b3JrbGV0R2xvYmFsU2NvcGUo
d29ya2xldEdsb2JhbFNjb3BlKQogICAgICwgbV93b3JrbGV0R2xvYmFsU2NvcGVXcmFwcGVyKCpt
X3ZtKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldFNjcmlwdENvbnRy
b2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0U2Ny
aXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiAyNjQzOTgpCisrKyBTb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0
OSw3IEBAIGNsYXNzIFdvcmtsZXRDb25zb2xlQ2xpZW50OwogY2xhc3MgV29ya2xldFNjcmlwdENv
bnRyb2xsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtsZXRTY3JpcHRDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV29ya2xldFNjcmlw
dENvbnRyb2xsZXIoV29ya2xldEdsb2JhbFNjb3BlKik7CisgICAgV29ya2xldFNjcmlwdENvbnRy
b2xsZXIoUmVmPFZNPiYmLCBXb3JrbGV0R2xvYmFsU2NvcGUqKTsKICAgICB+V29ya2xldFNjcmlw
dENvbnRyb2xsZXIoKTsKIAogICAgIEpTV29ya2xldEdsb2JhbFNjb3BlKiB3b3JrbGV0R2xvYmFs
U2NvcGVXcmFwcGVyKCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NDM5OCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA3LTE1ICBN
YXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaGFuZGxpbmcgb2Yg
b3V0IG9mIG1lbW9yeSBoYW5kbGluZyB3aGlsZSBhZGRpbmcgYSB3b3JrbGV0IG1vZHVsZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDM1NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjUyNzE5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2UncmUgc2tpcHBpbmcgdGhlIG5ldyB0ZXN0IG9uIERl
YnVnIGJ1aWxkcyBiZWNhdXNlIGl0IHdpbGwgYWx3YXlzIHJ1biB0b28gc2xvdy4KKyAgICAgICAg
VGhlIFJlbGVhc2UgYnVpbGQgaXMgc3VmZmljaWVudCB0byB0ZXN0IHRoaXMgT09NRSBoYW5kbGlu
Zy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9jc3MtY3Vz
dG9tLXBhaW50L291dC1vZi1tZW1vcnktd2hpbGUtYWRkaW5nLXdvcmtsZXQtbW9kdWxlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtY3VzdG9tLXBhaW50L291dC1vZi1t
ZW1vcnktd2hpbGUtYWRkaW5nLXdvcmtsZXQtbW9kdWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzLWN1c3RvbS1wYWludC9vdXQtb2YtbWVtb3J5LXdoaWxlLWFkZGluZy13b3JrbGV0
LW1vZHVsZS5qczogQWRkZWQuCisgICAgICAgICh1c2VBbGxNZW1vcnkuZ2V0IE9iamVjdCk6Cisg
ICAgICAgICh1c2VBbGxNZW1vcnkuZm9vKToKKyAgICAgICAgKHVzZUFsbE1lbW9yeSk6CisgICAg
ICAgIChjYXRjaCk6CisKIDIwMjAtMDctMTUgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW1NPVVBdIEFydGlmaWNpYWwgZGVsYXkgdG8gV2ViU29ja2V0IGNvbm5l
Y3Rpb24gdG8gbWl0aWdhdGUgcG9ydCBzY2FubmluZyBhdHRhY2tzCkluZGV4OiBMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMJKHJldmlzaW9uIDI2NDM5OCkKKysrIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMJ
KHdvcmtpbmcgY29weSkKQEAgLTExMDgsNiArMTEwOCw5IEBAIHdlYmtpdC5vcmcvYi8xMzYwNzgg
ZmFzdC9ib3JkZXJzL2JvcmRlci0KIHdlYmtpdC5vcmcvYi8xMzYwNzggZmFzdC9ib3JkZXJzL2Jv
cmRlci1wYWludGluZy1kb3R0ZWQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzEzNjA3OCBmYXN0L2JvcmRlcnMvYm9yZGVyLXBhaW50aW5nLWRvdWJsZS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAKKyMgU2tpcCB0aGlzIGJlY2F1c2UgaXQgaXMgdG9vIHNsb3cgb24g
ZGVidWcgYnVpbGRzLgorWyBEZWJ1ZyBdIGZhc3QvY3NzLWN1c3RvbS1wYWludC9vdXQtb2YtbWVt
b3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS5odG1sIFsgU2tpcCBdCisKICMgb2ZmaWNp
YWwgZmxleGJveCB0ZXN0cwogd2Via2l0Lm9yZy9iLzE0MzI5NCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9jc3MtZmxleGJveC1oZWlnaHQtYW5pbWF0aW9u
LXN0cmV0Y2guaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTM2
NzU0IGNzczMvZmxleGJveC9jc3N3Zy9mbGV4LWFsaWduLWl0ZW1zLWNlbnRlci5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQv
b3V0LW9mLW1lbW9yeS13aGlsZS1hZGRpbmctd29ya2xldC1tb2R1bGUtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9vdXQtb2YtbWVt
b3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MtY3VzdG9tLXBhaW50L291dC1vZi1tZW1vcnktd2hp
bGUtYWRkaW5nLXdvcmtsZXQtbW9kdWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3Rv
bS1wYWludC9vdXQtb2YtbWVtb3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9vdXQtb2YtbWVt
b3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9vdXQtb2YtbWVtb3J5LXdoaWxlLWFkZGlu
Zy13b3JrbGV0LW1vZHVsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzxzY3Jp
cHQgc3JjPSJvdXQtb2YtbWVtb3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS5qcyI+PC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQvb3V0LW9mLW1l
bW9yeS13aGlsZS1hZGRpbmctd29ya2xldC1tb2R1bGUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3MtY3VzdG9tLXBhaW50L291dC1vZi1tZW1vcnktd2hpbGUtYWRkaW5nLXdv
cmtsZXQtbW9kdWxlLmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzLWN1
c3RvbS1wYWludC9vdXQtb2YtbWVtb3J5LXdoaWxlLWFkZGluZy13b3JrbGV0LW1vZHVsZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACitmdW5jdGlvbiB1c2VBbGxNZW1vcnkoKSB7
CisgICAgY29uc3QgYSA9IFtdOworICAgIGEuX19wcm90b19fID0ge307CisgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KGEsIDAsIHsgZ2V0OiBmb28gfSk7CisgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGEsIDgwMDAwMDAwLCB7fSk7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBuZXcg
VWludDhBcnJheShhKTsKKyAgICB9CisgICAgbmV3IFByb21pc2UoZm9vKTsKKyAgICB0cnkgewor
ICAgICAgICB3aGlsZSgxKSB7CisgICAgICAgICAgICBuZXcgQXJyYXlCdWZmZXIoMTAwMCk7Cisg
ICAgICAgIH0KKyAgICB9IGNhdGNoIHsgfQorfQorCit2YXIgZXhjZXB0aW9uOwordXNlQWxsTWVt
b3J5KCk7Cit0cnkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7CisgICAg
ICAgIENTUy5wYWludFdvcmtsZXQuYWRkTW9kdWxlKCcnKTsKKyAgICB9Cit9IGNhdGNoIChlKSB7
CisgICAgZXhjZXB0aW9uID0gZTsKK30KKworaWYgKGV4Y2VwdGlvbiAhPSAiUmFuZ2VFcnJvcjog
T3V0IG9mIG1lbW9yeSIpCisgICAgdGhyb3cgIkZBSUw6IGV4cGVjdDogJ1JhbmdlRXJyb3I6IE91
dCBvZiBtZW1vcnknLCBhY3R1YWw6ICciICsgZXhjZXB0aW9uICsgIiciOwo=
</data>
<flag name="review"
          id="419731"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>