<?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>193430</bug_id>
          
          <creation_ts>2019-01-14 20:45:55 -0800</creation_ts>
          <short_desc>[WHLSL] Add the literal type checker</short_desc>
          <delta_ts>2019-01-16 16:32:38 -0800</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jonlee</cc>
    
    <cc>justin_fan</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1494503</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-14 20:45:55 -0800</bug_when>
    <thetext>[WHLSL] Add the literal type checker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494504</commentid>
    <comment_count>1</comment_count>
      <attachid>359126</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-14 20:47:29 -0800</bug_when>
    <thetext>Created attachment 359126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494508</commentid>
    <comment_count>2</comment_count>
      <attachid>359126</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-14 20:53:14 -0800</bug_when>
    <thetext>Comment on attachment 359126
Patch

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

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:104
&gt; +    virtual void visit(AST::FloatLiteralType&amp; floatLiteralType)
&gt; +    {
&gt; +        auto* nativeTypeDeclaration = getNativeTypeDeclaration(floatLiteralType);
&gt; +        if (!nativeTypeDeclaration) {
&gt; +            setError();
&gt; +            return;
&gt; +        }
&gt; +        if (!nativeTypeDeclaration-&gt;canRepresentInteger()(floatLiteralType.value())) {
&gt; +            setError();
&gt; +            return;
&gt; +        }
&gt; +    }
&gt; +
&gt; +    virtual void visit(AST::IntegerLiteralType&amp; integerLiteralType)
&gt; +    {
&gt; +        auto* nativeTypeDeclaration = getNativeTypeDeclaration(integerLiteralType);
&gt; +        if (!nativeTypeDeclaration) {
&gt; +            setError();
&gt; +            return;
&gt; +        }
&gt; +        if (!nativeTypeDeclaration-&gt;canRepresentInteger()(integerLiteralType.value())) {
&gt; +            setError();
&gt; +            return;
&gt; +        }
&gt; +    }
&gt; +
&gt; +    virtual void visit(AST::UnsignedIntegerLiteralType&amp; unsignedIntegerLiteralType)
&gt; +    {
&gt; +        auto* nativeTypeDeclaration = getNativeTypeDeclaration(unsignedIntegerLiteralType);
&gt; +        if (!nativeTypeDeclaration) {
&gt; +            setError();
&gt; +            return;
&gt; +        }
&gt; +        if (!nativeTypeDeclaration-&gt;canRepresentInteger()(unsignedIntegerLiteralType.value())) {
&gt; +            setError();
&gt; +            return;
&gt; +        }
&gt; +    }
&gt; +
&gt; +    virtual void visit(AST::NullLiteralType&amp; nullLiteralType)
&gt; +    {
&gt; +        if (!nullLiteralType.resolvedType())
&gt; +            setError();
&gt; +    }

These can be private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494509</commentid>
    <comment_count>3</comment_count>
      <attachid>359126</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-14 20:55:08 -0800</bug_when>
    <thetext>Comment on attachment 359126
Patch

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

&gt;&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:104
&gt;&gt; +    }
&gt; 
&gt; These can be private.

Also be marked as override instead of virtual.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494875</commentid>
    <comment_count>4</comment_count>
      <attachid>359216</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-15 16:03:35 -0800</bug_when>
    <thetext>Created attachment 359216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494971</commentid>
    <comment_count>5</comment_count>
      <attachid>359245</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-15 19:10:08 -0800</bug_when>
    <thetext>Created attachment 359245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495076</commentid>
    <comment_count>6</comment_count>
      <attachid>359245</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-01-16 08:36:51 -0800</bug_when>
    <thetext>Comment on attachment 359245
Patch

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

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:67
&gt; +        ASSERT(nativeTypeDeclaration-&gt;canRepresentInteger()(floatLiteralType.value()));

This doesn’t look correct to me but I haven’t looked in detail. Shouldn’t this be something like canRepresentFloat?

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:100
&gt; +}

// namespace ..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495163</commentid>
    <comment_count>7</comment_count>
      <attachid>359245</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-16 12:30:10 -0800</bug_when>
    <thetext>Comment on attachment 359245
Patch

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

&gt; Source/WebCore/Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:60
&gt; +    LiteralTypeChecker() = default;
&gt; +
&gt; +    virtual ~LiteralTypeChecker() = default;

Not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495319</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-01-16 16:31:27 -0800</bug_when>
    <thetext>Committed r240095: &lt;https://trac.webkit.org/changeset/240095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495322</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-16 16:32:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/47334356&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359126</attachid>
            <date>2019-01-14 20:47:29 -0800</date>
            <delta_ts>2019-01-15 16:03:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193430-20190114204728.patch</filename>
            <type>text/plain</type>
            <size>12976</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5OTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI3MGFmMzIyMTE4Yzcy
MGJjNDcyNTY0MjVlNzhlMzNmNmYzYWY2Yy4uNDE1NDNiOGYwNzc3YTllNTg4NmNlNTRkMjA2NjY0
NjM4YTM1YjdhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTAxLTE0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBB
ZGQgdGhlIGxpdGVyYWwgdHlwZSBjaGVja2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgaHR0cHM6Ly9naXRo
dWIuY29tL2dwdXdlYi9XSExTTC9ibG9iL21hc3Rlci9Tb3VyY2UvTGl0ZXJhbFR5cGVDaGVja2Vy
Lm1qcyBpbnRvIEMrKy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBpdCBpc24ndCBo
b29rZWQgdXAgeWV0LiBOb3QgZW5vdWdoIG9mIHRoZSBjb21waWxlciBleGlzdHMgdG8gaGF2ZSBh
bnkgbWVhbmluZ2Z1bCBzb3J0CisgICAgICAgIG9mIHRlc3QuIFdoZW4gZW5vdWdoIG9mIHRoZSBj
b21waWxlciBpcyBwcmVzZW50LCBJJ2xsIHBvcnQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlv
bidzIHRlc3Qgc3VpdGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xGbG9hdExpdGVyYWxUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpGbG9h
dExpdGVyYWxUeXBlOjp2YWx1ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMSW50ZWdlckxpdGVyYWxUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExT
TDo6QVNUOjpJbnRlZ2VyTGl0ZXJhbFR5cGU6OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU6
OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVy
YWxUeXBlQ2hlY2tlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OmdldE5h
dGl2ZVR5cGVEZWNsYXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TGl0ZXJhbFR5
cGVDaGVja2VyOjp2aXNpdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tMaXRlcmFs
VHlwZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVD
aGVja2VyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUuaC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDEtMTQg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgT25seSBy
dW4gdGhlIG5vZGUgY29tcGFyaXNvbiBjb2RlIGluIEZyYW1lU2VsZWN0aW9uOjpyZXNwb25kVG9O
b2RlTW9kaWZpY2F0aW9uKCkgZm9yIHJhbmdlIHNlbGVjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0
ZXJhbFR5cGUuaAppbmRleCBiYzlmMDM3MDk5ZGUwZDgxMGJlZDg5YWIxMmE0NTFlNWIzYjA4MzY2
Li42NDc0M2M0YWVmNDQ5ZTkzYWJhMDEwMGU4OWM0YmRkMTZlMjQ1OWU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xGbG9hdExpdGVyYWxU
eXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
RmxvYXRMaXRlcmFsVHlwZS5oCkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNGbG9hdExpdGVyYWxUeXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCisg
ICAgZmxvYXQgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9CisKICAgICBUeXBlUmVm
ZXJlbmNlJiBwcmVmZXJyZWRUeXBlKCkgeyByZXR1cm4gbV9wcmVmZXJyZWRUeXBlOyB9CiAKICAg
ICBib29sIGNhblJlc29sdmUoY29uc3QgVHlwZSYpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdlckxp
dGVyYWxUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaAppbmRleCA1NTYxN2I2YmE5ZWFmYmUxODVjZGZlMWVjZjBl
YjMxNDVkY2FlYmNkLi4zZDA2YjFkZjVmOGQ5ODhmYWQ4N2FjOTI1NjRmOGNmMWYwMDhiYjk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xJ
bnRlZ2VyTGl0ZXJhbFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9BU1QvV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJs
aWM6CiAKICAgICBib29sIGlzSW50ZWdlckxpdGVyYWxUeXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gdHJ1ZTsgfQogCisgICAgaW50IHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsg
fQorCiAgICAgVHlwZVJlZmVyZW5jZSYgcHJlZmVycmVkVHlwZSgpIHsgcmV0dXJuIG1fcHJlZmVy
cmVkVHlwZTsgfQogCiAgICAgYm9vbCBjYW5SZXNvbHZlKGNvbnN0IFR5cGUmKSBjb25zdCBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FT
VC9XSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oCmlu
ZGV4IDk1ZmJmZjZiOTAyOWYwNWFiNTI0ZjczMGY5NTQzZjRkMWU3MDI3MDcuLmViYzMxMDZiY2Fi
ZjI3MGUxMTA4Yjg5ZTRkYTlkNDg3ZTNjZTk5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMVW5z
aWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CiAKKyAgICB1bnNpZ25lZCB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFs
dWU7IH0KKwogICAgIFR5cGVSZWZlcmVuY2UmIHByZWZlcnJlZFR5cGUoKSB7IHJldHVybiBtX3By
ZWZlcnJlZFR5cGU7IH0KIAogICAgIGJvb2wgY2FuUmVzb2x2ZShjb25zdCBUeXBlJikgY29uc3Qg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQxNmVm
Zjk5OWZmODA5ZjA1MWJhZTUzMjVmYzJmYmIxNDU2OGNkOAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2Vy
LmNwcApAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oIgorCisjaWYgRU5BQkxFKFdFQkdQ
VSkKKworI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWxUeXBlLmgiCisjaW5jbHVkZSAiV0hM
U0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFsVHlw
ZS5oIgorI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgorI2luY2x1ZGUgIldITFNMVHlwZVJlZmVy
ZW5jZS5oIgorI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK25hbWVzcGFjZSBXSExTTCB7CisKK3N0YXRpYyBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlv
biogZ2V0TmF0aXZlVHlwZURlY2xhcmF0aW9uKEFTVDo6UmVzb2x2YWJsZVR5cGUmIHJlc29sdmFi
bGVUeXBlKQoreworICAgIGlmICghcmVzb2x2YWJsZVR5cGUucmVzb2x2ZWRUeXBlKCkpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghaXM8QVNUOjpUeXBlUmVmZXJlbmNlPigqcmVz
b2x2YWJsZVR5cGUucmVzb2x2ZWRUeXBlKCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigqcmVz
b2x2YWJsZVR5cGUucmVzb2x2ZWRUeXBlKCkpOworICAgIEFTU0VSVCh0eXBlUmVmZXJlbmNlLnJl
c29sdmVkVHlwZSgpKTsKKyAgICBpZiAoIWlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9uPigq
dHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIHJldHVybiAmZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KCp0eXBlUmVm
ZXJlbmNlLnJlc29sdmVkVHlwZSgpKTsKK30KKworY2xhc3MgTGl0ZXJhbFR5cGVDaGVja2VyIDog
cHVibGljIFZpc2l0b3IgeworcHVibGljOgorICAgIExpdGVyYWxUeXBlQ2hlY2tlcigpID0gZGVm
YXVsdDsKKworICAgIHZpcnR1YWwgfkxpdGVyYWxUeXBlQ2hlY2tlcigpID0gZGVmYXVsdDsKKwor
ICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkZsb2F0TGl0ZXJhbFR5cGUmIGZsb2F0TGl0ZXJh
bFR5cGUpCisgICAgeworICAgICAgICBhdXRvKiBuYXRpdmVUeXBlRGVjbGFyYXRpb24gPSBnZXRO
YXRpdmVUeXBlRGVjbGFyYXRpb24oZmxvYXRMaXRlcmFsVHlwZSk7CisgICAgICAgIGlmICghbmF0
aXZlVHlwZURlY2xhcmF0aW9uKSB7CisgICAgICAgICAgICBzZXRFcnJvcigpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmICghbmF0aXZlVHlwZURlY2xhcmF0aW9u
LT5jYW5SZXByZXNlbnRJbnRlZ2VyKCkoZmxvYXRMaXRlcmFsVHlwZS52YWx1ZSgpKSkgeworICAg
ICAgICAgICAgc2V0RXJyb3IoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlwZSYgaW50
ZWdlckxpdGVyYWxUeXBlKQorICAgIHsKKyAgICAgICAgYXV0byogbmF0aXZlVHlwZURlY2xhcmF0
aW9uID0gZ2V0TmF0aXZlVHlwZURlY2xhcmF0aW9uKGludGVnZXJMaXRlcmFsVHlwZSk7CisgICAg
ICAgIGlmICghbmF0aXZlVHlwZURlY2xhcmF0aW9uKSB7CisgICAgICAgICAgICBzZXRFcnJvcigp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmICghbmF0aXZlVHlw
ZURlY2xhcmF0aW9uLT5jYW5SZXByZXNlbnRJbnRlZ2VyKCkoaW50ZWdlckxpdGVyYWxUeXBlLnZh
bHVlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcigpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHZpc2l0KEFTVDo6VW5zaWduZWRJ
bnRlZ2VyTGl0ZXJhbFR5cGUmIHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlKQorICAgIHsKKyAg
ICAgICAgYXV0byogbmF0aXZlVHlwZURlY2xhcmF0aW9uID0gZ2V0TmF0aXZlVHlwZURlY2xhcmF0
aW9uKHVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlKTsKKyAgICAgICAgaWYgKCFuYXRpdmVUeXBl
RGVjbGFyYXRpb24pIHsKKyAgICAgICAgICAgIHNldEVycm9yKCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFuYXRpdmVUeXBlRGVjbGFyYXRpb24tPmNhblJl
cHJlc2VudEludGVnZXIoKSh1bnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS52YWx1ZSgpKSkgewor
ICAgICAgICAgICAgc2V0RXJyb3IoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCB2aXNpdChBU1Q6Ok51bGxMaXRlcmFsVHlwZSYgbnVs
bExpdGVyYWxUeXBlKQorICAgIHsKKyAgICAgICAgaWYgKCFudWxsTGl0ZXJhbFR5cGUucmVzb2x2
ZWRUeXBlKCkpCisgICAgICAgICAgICBzZXRFcnJvcigpOworICAgIH0KKworcHJpdmF0ZToKK307
CisKK2Jvb2wgY2hlY2tMaXRlcmFsVHlwZXMoUHJvZ3JhbSYgcHJvZ3JhbSkKK3sKKyAgICBMaXRl
cmFsVHlwZUNoZWNrZXIgbGl0ZXJhbFR5cGVDaGVja2VyOworICAgIGxpdGVyYWxUeXBlQ2hlY2tl
ci5WaXNpdG9yOjp2aXNpdChwcm9ncmFtKTsKKyAgICByZXR1cm4gIWxpdGVyYWxUeXBlQ2hlY2tl
ci5lcnJvcigpOworfQorCit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMTA5NWJhYzg0ZDRlNGY0Njc5MDI1NTM3NDhmYWU3OWUzZjY5ZTRiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xMaXRlcmFsVHlwZUNoZWNrZXIuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K25hbWVzcGFjZSBXSExTTCB7CisKK2NsYXNzIFByb2dyYW07CisKK2Jvb2wgY2hlY2tMaXRlcmFs
VHlwZXMoUHJvZ3JhbSYpOworCit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDBk
MjU2MzUzZDc0YWJkNjI2NjMwMjRiZDgwNTRjOTUwZTA3MzgxMDMuLmUxMjBlMjE3ODJhNmI0ZTJl
NDBmNTMzY2IxYjEzODA0YzhiZDkxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMjAsNiArMzIwLDcg
QEAgTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xOYW1lQ29udGV4dC5jcHAKIE1vZHVsZXMvd2Vi
Z3B1L1dITFNML1dITFNMTmFtZVJlc29sdmVyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xSZXNvbHZlT3ZlcmxvYWRJbXBsLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xWaXNp
dG9yLmNwcAorTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3Bw
CiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xUeXBlQXJndW1lbnQuY3BwCiBNb2R1bGVz
L3dlYmdwdS9XSExTTC9BU1QvV0hMU0xCdWlsdEluU2VtYW50aWMuY3BwCiBNb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xSZXNvdXJjZVNlbWFudGljLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYyZjUxNWE0ZTQzZTUx
OWY0ZjM0OTQ3NGU3MTQ5MjUzOWJmODQ4ZmMuLmU1YmIyY2ZmZjc3OTFjZjc2MTg0Y2YxM2RmNjU5
OGJkYzAwMWMwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTY0MTcsNiArNjQxNyw4IEBACiAJCTFDODQwQjdEMjFFQkUwQjgw
MEQwNTAwRCAvKiBXSExTTEVudHJ5UG9pbnRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMRW50
cnlQb2ludFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM4NDBCOTAyMUVD
MzBGOTAwRDA1MDBEIC8qIFdITFNMQWRkcmVzc1NwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNM
QWRkcmVzc1NwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0REY5MEJB
OUQyQzgwMDgxRTlEMCAvKiBWZXJzaW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZp
ZzsgcGF0aCA9IFZlcnNpb24ueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDOUFFNUM0MjFFRDk4QUMwMDY5RDVGMiAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDOUFFNUM1MjFFRDk4QUMwMDY5RDVGMiAvKiBXSExTTExp
dGVyYWxUeXBlQ2hlY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXSExTTExpdGVyYWxUeXBlQ2hlY2tl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ExOUUwMzBEQzI1NTk1MDA2NUE5
OTQgLyogRXZlbnRMb29wTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRXZlbnRMb29wTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0Ex
OUUxNTBEQzI1NUNBMDA2NUE5OTQgLyogRXZlbnRMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEV2ZW50TG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0FGMzQ3RTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNjcmlwdE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjU0MjIsNiArMjU0MjQsOCBAQAogCQkJCUMyMzRBOUI2MjFFOTJDQzAw
MDNDOTg0RCAvKiBXSExTTEludHJpbnNpY3MuaCAqLywKIAkJCQlDMjEwRTkxMTIxQjRCRDEwMDBC
N0Y4M0QgLyogV0hMU0xMZXhlci5jcHAgKi8sCiAJCQkJQzIxMEU5MTIyMUI0QkQxMDAwQjdGODNE
IC8qIFdITFNMTGV4ZXIuaCAqLywKKwkJCQkxQzlBRTVDNDIxRUQ5OEFDMDA2OUQ1RjIgLyogV0hM
U0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovLAorCQkJCTFDOUFFNUM1MjFFRDk4QUMwMDY5RDVG
MiAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oICovLAogCQkJCUMyMzRBOThEMjFFODg4ODQw
MDNDOTg0RCAvKiBXSExTTE5hbWVDb250ZXh0LmNwcCAqLywKIAkJCQlDMjM0QTk4RTIxRTg4ODg1
MDAzQzk4NEQgLyogV0hMU0xOYW1lQ29udGV4dC5oICovLAogCQkJCUMyMzRBOThBMjFFODg4M0Uw
MDNDOTg0RCAvKiBXSExTTE5hbWVSZXNvbHZlci5jcHAgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359216</attachid>
            <date>2019-01-15 16:03:35 -0800</date>
            <delta_ts>2019-01-15 19:10:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193430-20190115160334.patch</filename>
            <type>text/plain</type>
            <size>13526</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM4NjQ3M2QwMTlmMmZl
N2U4NmNhNmMxZTE2YzkwNGU3MjZkYzUxYS4uYWQwYWJlODFiYzQwZjhlMmI4NDRmMjEyZTMyYzg1
NGRiMjYwOTdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTAxLTE1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBB
ZGQgdGhlIGxpdGVyYWwgdHlwZSBjaGVja2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgaHR0cHM6Ly9naXRo
dWIuY29tL2dwdXdlYi9XSExTTC9ibG9iL21hc3Rlci9Tb3VyY2UvTGl0ZXJhbFR5cGVDaGVja2Vy
Lm1qcyBpbnRvIEMrKy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBpdCBpc24ndCBo
b29rZWQgdXAgeWV0LiBOb3QgZW5vdWdoIG9mIHRoZSBjb21waWxlciBleGlzdHMgdG8gaGF2ZSBh
bnkgbWVhbmluZ2Z1bCBzb3J0CisgICAgICAgIG9mIHRlc3QuIFdoZW4gZW5vdWdoIG9mIHRoZSBj
b21waWxlciBpcyBwcmVzZW50LCBJJ2xsIHBvcnQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlv
bidzIHRlc3Qgc3VpdGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xGbG9hdExpdGVyYWxUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpGbG9h
dExpdGVyYWxUeXBlOjp2YWx1ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMSW50ZWdlckxpdGVyYWxUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExT
TDo6QVNUOjpJbnRlZ2VyTGl0ZXJhbFR5cGU6OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU6
OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVy
YWxUeXBlQ2hlY2tlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OmdldE5h
dGl2ZVR5cGVEZWNsYXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TGl0ZXJhbFR5
cGVDaGVja2VyOjp2aXNpdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tMaXRlcmFs
VHlwZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVD
aGVja2VyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUuaC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDEtMTUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMjM5OTkzLCByMjM5OTk1LCByMjM5OTk3LCBhbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0
TGl0ZXJhbFR5cGUuaAppbmRleCBiYzlmMDM3MDk5ZGUwZDgxMGJlZDg5YWIxMmE0NTFlNWIzYjA4
MzY2Li42NDc0M2M0YWVmNDQ5ZTkzYWJhMDEwMGU4OWM0YmRkMTZlMjQ1OWU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xGbG9hdExpdGVy
YWxUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dI
TFNMRmxvYXRMaXRlcmFsVHlwZS5oCkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaXNGbG9hdExpdGVyYWxUeXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQog
CisgICAgZmxvYXQgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9CisKICAgICBUeXBl
UmVmZXJlbmNlJiBwcmVmZXJyZWRUeXBlKCkgeyByZXR1cm4gbV9wcmVmZXJyZWRUeXBlOyB9CiAK
ICAgICBib29sIGNhblJlc29sdmUoY29uc3QgVHlwZSYpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdl
ckxpdGVyYWxUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1Qv
V0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaAppbmRleCA1NTYxN2I2YmE5ZWFmYmUxODVjZGZlMWVj
ZjBlYjMxNDVkY2FlYmNkLi4zZDA2YjFkZjVmOGQ5ODhmYWQ4N2FjOTI1NjRmOGNmMWYwMDhiYjk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xJbnRlZ2VyTGl0ZXJhbFR5cGUuaApAQCAtNTMsNiArNTMsOCBAQCBw
dWJsaWM6CiAKICAgICBib29sIGlzSW50ZWdlckxpdGVyYWxUeXBlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogCisgICAgaW50IHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1
ZTsgfQorCiAgICAgVHlwZVJlZmVyZW5jZSYgcHJlZmVycmVkVHlwZSgpIHsgcmV0dXJuIG1fcHJl
ZmVycmVkVHlwZTsgfQogCiAgICAgYm9vbCBjYW5SZXNvbHZlKGNvbnN0IFR5cGUmKSBjb25zdCBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5o
CmluZGV4IDk1ZmJmZjZiOTAyOWYwNWFiNTI0ZjczMGY5NTQzZjRkMWU3MDI3MDcuLmViYzMxMDZi
Y2FiZjI3MGUxMTA4Yjg5ZTRkYTlkNDg3ZTNjZTk5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFVuc2lnbmVkSW50ZWdlckxpdGVyYWxU
eXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGlzVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiB0cnVlOyB9CiAKKyAgICB1bnNpZ25lZCB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dmFsdWU7IH0KKwogICAgIFR5cGVSZWZlcmVuY2UmIHByZWZlcnJlZFR5cGUoKSB7IHJldHVybiBt
X3ByZWZlcnJlZFR5cGU7IH0KIAogICAgIGJvb2wgY2FuUmVzb2x2ZShjb25zdCBUeXBlJikgY29u
c3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjAy
OTJlMTk5ZDIyNTI1ZWU1ZmFkMDNiZmZmZDE3NTYyZjg4Y2UwNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVj
a2VyLmNwcApAQCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oIgorCisjaWYgRU5BQkxFKFdF
QkdQVSkKKworI2luY2x1ZGUgIldITFNMSW50ZWdlckxpdGVyYWxUeXBlLmgiCisjaW5jbHVkZSAi
V0hMU0xOYXRpdmVUeXBlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJXSExTTE51bGxMaXRlcmFs
VHlwZS5oIgorI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgorI2luY2x1ZGUgIldITFNMVHlwZVJl
ZmVyZW5jZS5oIgorI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK25hbWVzcGFjZSBXSExTTCB7CisKK3N0YXRpYyBBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJh
dGlvbiogZ2V0TmF0aXZlVHlwZURlY2xhcmF0aW9uKEFTVDo6UmVzb2x2YWJsZVR5cGUmIHJlc29s
dmFibGVUeXBlKQoreworICAgIGlmICghcmVzb2x2YWJsZVR5cGUucmVzb2x2ZWRUeXBlKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghaXM8QVNUOjpUeXBlUmVmZXJlbmNlPigq
cmVzb2x2YWJsZVR5cGUucmVzb2x2ZWRUeXBlKCkpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBhdXRvJiB0eXBlUmVmZXJlbmNlID0gZG93bmNhc3Q8QVNUOjpUeXBlUmVmZXJlbmNlPigq
cmVzb2x2YWJsZVR5cGUucmVzb2x2ZWRUeXBlKCkpOworICAgIEFTU0VSVCh0eXBlUmVmZXJlbmNl
LnJlc29sdmVkVHlwZSgpKTsKKyAgICBpZiAoIWlzPEFTVDo6TmF0aXZlVHlwZURlY2xhcmF0aW9u
PigqdHlwZVJlZmVyZW5jZS5yZXNvbHZlZFR5cGUoKSkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIHJldHVybiAmZG93bmNhc3Q8QVNUOjpOYXRpdmVUeXBlRGVjbGFyYXRpb24+KCp0eXBl
UmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKTsKK30KKworY2xhc3MgTGl0ZXJhbFR5cGVDaGVja2Vy
IDogcHVibGljIFZpc2l0b3IgeworcHVibGljOgorICAgIExpdGVyYWxUeXBlQ2hlY2tlcigpID0g
ZGVmYXVsdDsKKworICAgIHZpcnR1YWwgfkxpdGVyYWxUeXBlQ2hlY2tlcigpID0gZGVmYXVsdDsK
KworcHJpdmF0ZToKKyAgICB2b2lkIHZpc2l0KEFTVDo6RmxvYXRMaXRlcmFsVHlwZSYgZmxvYXRM
aXRlcmFsVHlwZSkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGF1dG8qIG5hdGl2ZVR5cGVEZWNs
YXJhdGlvbiA9IGdldE5hdGl2ZVR5cGVEZWNsYXJhdGlvbihmbG9hdExpdGVyYWxUeXBlKTsKKyAg
ICAgICAgaWYgKCFuYXRpdmVUeXBlRGVjbGFyYXRpb24pIHsKKyAgICAgICAgICAgIHNldEVycm9y
KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFuYXRpdmVU
eXBlRGVjbGFyYXRpb24tPmNhblJlcHJlc2VudEludGVnZXIoKShmbG9hdExpdGVyYWxUeXBlLnZh
bHVlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcigpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCB2aXNpdChBU1Q6OkludGVnZXJMaXRlcmFsVHlw
ZSYgaW50ZWdlckxpdGVyYWxUeXBlKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgYXV0byogbmF0
aXZlVHlwZURlY2xhcmF0aW9uID0gZ2V0TmF0aXZlVHlwZURlY2xhcmF0aW9uKGludGVnZXJMaXRl
cmFsVHlwZSk7CisgICAgICAgIGlmICghbmF0aXZlVHlwZURlY2xhcmF0aW9uKSB7CisgICAgICAg
ICAgICBzZXRFcnJvcigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAg
IGlmICghbmF0aXZlVHlwZURlY2xhcmF0aW9uLT5jYW5SZXByZXNlbnRJbnRlZ2VyKCkoaW50ZWdl
ckxpdGVyYWxUeXBlLnZhbHVlKCkpKSB7CisgICAgICAgICAgICBzZXRFcnJvcigpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCB2aXNpdChBU1Q6OlVu
c2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlJiB1bnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSkgb3Zl
cnJpZGUKKyAgICB7CisgICAgICAgIGF1dG8qIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbiA9IGdldE5h
dGl2ZVR5cGVEZWNsYXJhdGlvbih1bnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSk7CisgICAgICAg
IGlmICghbmF0aXZlVHlwZURlY2xhcmF0aW9uKSB7CisgICAgICAgICAgICBzZXRFcnJvcigpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmICghbmF0aXZlVHlwZURl
Y2xhcmF0aW9uLT5jYW5SZXByZXNlbnRJbnRlZ2VyKCkodW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5
cGUudmFsdWUoKSkpIHsKKyAgICAgICAgICAgIHNldEVycm9yKCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHZpc2l0KEFTVDo6TnVsbExpdGVyYWxU
eXBlJiBudWxsTGl0ZXJhbFR5cGUpIG92ZXJyaWRlCisgICAgeworICAgICAgICBpZiAoIW51bGxM
aXRlcmFsVHlwZS5yZXNvbHZlZFR5cGUoKSkKKyAgICAgICAgICAgIHNldEVycm9yKCk7CisgICAg
fQorfTsKKworYm9vbCBjaGVja0xpdGVyYWxUeXBlcyhQcm9ncmFtJiBwcm9ncmFtKQoreworICAg
IExpdGVyYWxUeXBlQ2hlY2tlciBsaXRlcmFsVHlwZUNoZWNrZXI7CisgICAgbGl0ZXJhbFR5cGVD
aGVja2VyLlZpc2l0b3I6OnZpc2l0KHByb2dyYW0pOworICAgIHJldHVybiAhbGl0ZXJhbFR5cGVD
aGVja2VyLmVycm9yKCk7Cit9CisKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hl
Y2tlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIxMDk1YmFjODRkNGU0ZjQ2NzkwMjU1Mzc0OGZhZTc5ZTNmNjll
NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExT
TC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworbmFtZXNwYWNlIFdITFNMIHsKKworY2xhc3MgUHJvZ3JhbTsKKworYm9vbCBjaGVja0xp
dGVyYWxUeXBlcyhQcm9ncmFtJik7CisKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUmVjdXJzaXZlVHlwZUNoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xSZWN1cnNp
dmVUeXBlQ2hlY2tlci5jcHAKaW5kZXggZDgyMmYwNzVhMTNkZjdmMGNhMzI5MDE2OGViYTU5YjQ0
MTgyZmMwNy4uZTMyMDFkMjU5NDllMGJhYmNmZWU1ZDg4YWEyYjJiMTRmODBkNjM0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xSZWN1cnNpdmVU
eXBlQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xSZWN1cnNpdmVUeXBlQ2hlY2tlci5jcHAKQEAgLTI4LDYgKzI4LDkgQEAKIAogI2lmIEVO
QUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJXSExTTFN0cnVjdHVyZURlZmluaXRpb24uaCIKKyNp
bmNsdWRlICJXSExTTFR5cGVEZWZpbml0aW9uLmgiCisjaW5jbHVkZSAiV0hMU0xUeXBlUmVmZXJl
bmNlLmgiCiAjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCAwM2E0NWRlNzkwYWY2NTkzZDQ2NzdiODNlZGY4Njc5MDgx
YWJlMzNjLi4yZGM5M2M1YjY5YmM4ZGZhNzJkMzU4MjcyYTM4MDQ2NTU2YWRjYjQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMzIyLDYgKzMyMiw3IEBAIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTmFt
ZUNvbnRleHQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTE5hbWVSZXNvbHZlci5jcHAK
IE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUmVzb2x2ZU92ZXJsb2FkSW1wbC5jcHAKIE1vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAKK01vZHVsZXMvd2ViZ3B1L1dITFNML1dI
TFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
VHlwZUFyZ3VtZW50LmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMQnVpbHRJblNl
bWFudGljLmNwcAogTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMUmVzb3VyY2VTZW1hbnRp
Yy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBlMTZhYjlkZjQ2YTgxZDY3ZDFmNGI3Y2Y4MTJlMDUxY2RlYzBmOGJiLi4yZDRh
OTM4MTg2OGQwODFjNmVhNzY5YmYxN2FlNWI3OGNlNWI0ZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDI3LDYgKzY0Mjcs
OCBAQAogCQkxQzg0MEI5QTIxRUM0MDA5MDBEMDUwMEQgLyogV0hMU0xHYXRoZXJFbnRyeVBvaW50
SXRlbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0hMU0xHYXRoZXJFbnRyeVBvaW50SXRlbXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM4NDBCOUIyMUVDNDAwOTAwRDA1MDBEIC8qIFdI
TFNMQ2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXSExTTENoZWNrZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNERGOTBCQTlEMkM4MDA4MUU5RDAgLyogVmVy
c2lvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBWZXJzaW9uLnhj
Y29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzlBRTVDNDIxRUQ5OEFDMDA2
OUQ1RjIgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQzlBRTVDNTIxRUQ5OEFDMDA2OUQ1RjIgLyogV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMDMwREMyNTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEV2ZW50TG9vcE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMTUwREMyNTVDQTAwNjVBOTk0
IC8qIEV2ZW50TG9vcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudExv
b3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBRjM0N0UwQTZDNDA1MjAwQUJF
MDZFIC8qIFdlYlNjcmlwdE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJTY3JpcHRPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1NDYw
LDYgKzI1NDYyLDggQEAKIAkJCQlDMjM0QTlCNjIxRTkyQ0MwMDAzQzk4NEQgLyogV0hMU0xJbnRy
aW5zaWNzLmggKi8sCiAJCQkJQzIxMEU5MTEyMUI0QkQxMDAwQjdGODNEIC8qIFdITFNMTGV4ZXIu
Y3BwICovLAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVyLmggKi8s
CisJCQkJMUM5QUU1QzQyMUVEOThBQzAwNjlENUYyIC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2Vy
LmNwcCAqLywKKwkJCQkxQzlBRTVDNTIxRUQ5OEFDMDA2OUQ1RjIgLyogV0hMU0xMaXRlcmFsVHlw
ZUNoZWNrZXIuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hMU0xOYW1l
Q29udGV4dC5jcHAgKi8sCiAJCQkJQzIzNEE5OEUyMUU4ODg4NTAwM0M5ODREIC8qIFdITFNMTmFt
ZUNvbnRleHQuaCAqLywKIAkJCQlDMjM0QTk4QTIxRTg4ODNFMDAzQzk4NEQgLyogV0hMU0xOYW1l
UmVzb2x2ZXIuY3BwICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359245</attachid>
            <date>2019-01-15 19:10:08 -0800</date>
            <delta_ts>2019-01-16 12:30:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193430-20190115191007.patch</filename>
            <type>text/plain</type>
            <size>20308</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2M2OTQ0MmQxODAyYTcz
YWUwMGIyYjJmMWMzMzM3NWZlMDJmZWYzZC4uYzk3MmRhOTZhNmZmNWFhM2ZmNDA4MjExZjEyMzFl
M2I3OWQwNjNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTAxLTE1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dITFNMXSBB
ZGQgdGhlIGxpdGVyYWwgdHlwZSBjaGVja2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgdHJhbnNsYXRpb24gb2YgaHR0cHM6Ly9naXRo
dWIuY29tL2dwdXdlYi9XSExTTC9ibG9iL21hc3Rlci9Tb3VyY2UvTGl0ZXJhbFR5cGVDaGVja2Vy
Lm1qcyBpbnRvIEMrKy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBpdCBpc24ndCBo
b29rZWQgdXAgeWV0LiBOb3QgZW5vdWdoIG9mIHRoZSBjb21waWxlciBleGlzdHMgdG8gaGF2ZSBh
bnkgbWVhbmluZ2Z1bCBzb3J0CisgICAgICAgIG9mIHRlc3QuIFdoZW4gZW5vdWdoIG9mIHRoZSBj
b21waWxlciBpcyBwcmVzZW50LCBJJ2xsIHBvcnQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlv
bidzIHRlc3Qgc3VpdGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hM
U0xGbG9hdExpdGVyYWxUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6QVNUOjpGbG9h
dExpdGVyYWxUeXBlOjp2YWx1ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMSW50ZWdlckxpdGVyYWxUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpXSExT
TDo6QVNUOjpJbnRlZ2VyTGl0ZXJhbFR5cGU6OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OkFTVDo6VW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGU6
OnZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVy
YWxUeXBlQ2hlY2tlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V0hMU0w6OmdldE5h
dGl2ZVR5cGVEZWNsYXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6TGl0ZXJhbFR5
cGVDaGVja2VyOjp2aXNpdCk6CisgICAgICAgIChXZWJDb3JlOjpXSExTTDo6Y2hlY2tMaXRlcmFs
VHlwZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVD
aGVja2VyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNM
L0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5cGUuaC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDEtMTUg
IE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
UmV2ZWFsIHN1cHBvcnQgaW4gaU9TTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xGbG9hdExpdGVyYWxUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xGbG9hdExpdGVyYWxUeXBlLmgKaW5k
ZXggYmM5ZjAzNzA5OWRlMGQ4MTBiZWQ4OWFiMTJhNDUxZTViM2IwODM2Ni4uNjQ3NDNjNGFlZjQ0
OWU5M2FiYTAxMDBlODljNGJkZDE2ZTI0NTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMRmxvYXRMaXRlcmFsVHlwZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEZsb2F0TGl0ZXJhbFR5
cGUuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzRmxvYXRMaXRlcmFs
VHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAorICAgIGZsb2F0IHZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorCiAgICAgVHlwZVJlZmVyZW5jZSYgcHJlZmVy
cmVkVHlwZSgpIHsgcmV0dXJuIG1fcHJlZmVycmVkVHlwZTsgfQogCiAgICAgYm9vbCBjYW5SZXNv
bHZlKGNvbnN0IFR5cGUmKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEludGVnZXJMaXRlcmFsVHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdlckxpdGVy
YWxUeXBlLmgKaW5kZXggNTU2MTdiNmJhOWVhZmJlMTg1Y2RmZTFlY2YwZWIzMTQ1ZGNhZWJjZC4u
M2QwNmIxZGY1ZjhkOTg4ZmFkODdhYzkyNTY0ZjhjZjFmMDA4YmI5NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNMSW50ZWdlckxpdGVyYWxU
eXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvQVNUL1dITFNM
SW50ZWdlckxpdGVyYWxUeXBlLmgKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogCiAgICAgYm9v
bCBpc0ludGVnZXJMaXRlcmFsVHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
IAorICAgIGludCB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KKwogICAgIFR5cGVS
ZWZlcmVuY2UmIHByZWZlcnJlZFR5cGUoKSB7IHJldHVybiBtX3ByZWZlcnJlZFR5cGU7IH0KIAog
ICAgIGJvb2wgY2FuUmVzb2x2ZShjb25zdCBUeXBlJikgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9BU1QvV0hMU0xVbnNpZ25l
ZEludGVnZXJMaXRlcmFsVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvQVNUL1dITFNMVW5zaWduZWRJbnRlZ2VyTGl0ZXJhbFR5cGUuaAppbmRleCA5NWZiZmY2Yjkw
MjlmMDVhYjUyNGY3MzBmOTU0M2Y0ZDFlNzAyNzA3Li5lYmMzMTA2YmNhYmYyNzBlMTEwOGI4OWU0
ZGE5ZDQ4N2UzY2U5OWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XSExTTC9BU1QvV0hMU0xVbnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTFVuc2lnbmVkSW50ZWdlckxp
dGVyYWxUeXBlLmgKQEAgLTUzLDYgKzUzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1Vuc2ln
bmVkSW50ZWdlckxpdGVyYWxUeXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQog
CisgICAgdW5zaWduZWQgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9CisKICAgICBU
eXBlUmVmZXJlbmNlJiBwcmVmZXJyZWRUeXBlKCkgeyByZXR1cm4gbV9wcmVmZXJyZWRUeXBlOyB9
CiAKICAgICBib29sIGNhblJlc29sdmUoY29uc3QgVHlwZSYpIGNvbnN0IG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xMaXRlcmFs
VHlwZUNoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xMaXRlcmFsVHlwZUNoZWNrZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0NzM5NTM0ZGNkZTVmYjNkYzIy
MmJhMzZmNzZkZDBhMDdlNWY0ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAKQEAgLTAsMCAr
MSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0hM
U0xMaXRlcmFsVHlwZUNoZWNrZXIuaCIKKworI2lmIEVOQUJMRShXRUJHUFUpCisKKyNpbmNsdWRl
ICJXSExTTEludGVnZXJMaXRlcmFsVHlwZS5oIgorI2luY2x1ZGUgIldITFNMTmF0aXZlVHlwZURl
Y2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiV0hMU0xOdWxsTGl0ZXJhbFR5cGUuaCIKKyNpbmNsdWRl
ICJXSExTTFByb2dyYW0uaCIKKyNpbmNsdWRlICJXSExTTFR5cGVSZWZlcmVuY2UuaCIKKyNpbmNs
dWRlICJXSExTTFZpc2l0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2Ug
V0hMU0wgeworCisjaWYgIUFTU0VSVF9ESVNBQkxFRAorc3RhdGljIEFTVDo6TmF0aXZlVHlwZURl
Y2xhcmF0aW9uKiBnZXROYXRpdmVUeXBlRGVjbGFyYXRpb24oQVNUOjpSZXNvbHZhYmxlVHlwZSYg
cmVzb2x2YWJsZVR5cGUpCit7CisgICAgaWYgKCFyZXNvbHZhYmxlVHlwZS5yZXNvbHZlZFR5cGUo
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKCFpczxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KCpyZXNvbHZhYmxlVHlwZS5yZXNvbHZlZFR5cGUoKSkpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIGF1dG8mIHR5cGVSZWZlcmVuY2UgPSBkb3duY2FzdDxBU1Q6OlR5cGVSZWZlcmVu
Y2U+KCpyZXNvbHZhYmxlVHlwZS5yZXNvbHZlZFR5cGUoKSk7CisgICAgQVNTRVJUKHR5cGVSZWZl
cmVuY2UucmVzb2x2ZWRUeXBlKCkpOworICAgIGlmICghaXM8QVNUOjpOYXRpdmVUeXBlRGVjbGFy
YXRpb24+KCp0eXBlUmVmZXJlbmNlLnJlc29sdmVkVHlwZSgpKSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgcmV0dXJuICZkb3duY2FzdDxBU1Q6Ok5hdGl2ZVR5cGVEZWNsYXJhdGlvbj4o
KnR5cGVSZWZlcmVuY2UucmVzb2x2ZWRUeXBlKCkpOworfQorCitjbGFzcyBMaXRlcmFsVHlwZUNo
ZWNrZXIgOiBwdWJsaWMgVmlzaXRvciB7CitwdWJsaWM6CisgICAgTGl0ZXJhbFR5cGVDaGVja2Vy
KCkgPSBkZWZhdWx0OworCisgICAgdmlydHVhbCB+TGl0ZXJhbFR5cGVDaGVja2VyKCkgPSBkZWZh
dWx0OworCitwcml2YXRlOgorICAgIHZvaWQgdmlzaXQoQVNUOjpGbG9hdExpdGVyYWxUeXBlJiBm
bG9hdExpdGVyYWxUeXBlKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgYXV0byogbmF0aXZlVHlw
ZURlY2xhcmF0aW9uID0gZ2V0TmF0aXZlVHlwZURlY2xhcmF0aW9uKGZsb2F0TGl0ZXJhbFR5cGUp
OworICAgICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uKTsKKyAgICAgICAgQVNTRVJU
KG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi0+Y2FuUmVwcmVzZW50SW50ZWdlcigpKGZsb2F0TGl0ZXJh
bFR5cGUudmFsdWUoKSkpOworICAgIH0KKworICAgIHZvaWQgdmlzaXQoQVNUOjpJbnRlZ2VyTGl0
ZXJhbFR5cGUmIGludGVnZXJMaXRlcmFsVHlwZSkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGF1
dG8qIG5hdGl2ZVR5cGVEZWNsYXJhdGlvbiA9IGdldE5hdGl2ZVR5cGVEZWNsYXJhdGlvbihpbnRl
Z2VyTGl0ZXJhbFR5cGUpOworICAgICAgICBBU1NFUlQobmF0aXZlVHlwZURlY2xhcmF0aW9uKTsK
KyAgICAgICAgQVNTRVJUKG5hdGl2ZVR5cGVEZWNsYXJhdGlvbi0+Y2FuUmVwcmVzZW50SW50ZWdl
cigpKGludGVnZXJMaXRlcmFsVHlwZS52YWx1ZSgpKSk7CisgICAgfQorCisgICAgdm9pZCB2aXNp
dChBU1Q6OlVuc2lnbmVkSW50ZWdlckxpdGVyYWxUeXBlJiB1bnNpZ25lZEludGVnZXJMaXRlcmFs
VHlwZSkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGF1dG8qIG5hdGl2ZVR5cGVEZWNsYXJhdGlv
biA9IGdldE5hdGl2ZVR5cGVEZWNsYXJhdGlvbih1bnNpZ25lZEludGVnZXJMaXRlcmFsVHlwZSk7
CisgICAgICAgIEFTU0VSVChuYXRpdmVUeXBlRGVjbGFyYXRpb24pOworICAgICAgICBBU1NFUlQo
bmF0aXZlVHlwZURlY2xhcmF0aW9uLT5jYW5SZXByZXNlbnRJbnRlZ2VyKCkodW5zaWduZWRJbnRl
Z2VyTGl0ZXJhbFR5cGUudmFsdWUoKSkpOworICAgIH0KKworICAgIHZvaWQgdmlzaXQoQVNUOjpO
dWxsTGl0ZXJhbFR5cGUmIG51bGxMaXRlcmFsVHlwZSkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAg
IEFTU0VSVChudWxsTGl0ZXJhbFR5cGUucmVzb2x2ZWRUeXBlKCkpOworICAgIH0KK307CisjZW5k
aWYKKwordm9pZCBjaGVja0xpdGVyYWxUeXBlcyhQcm9ncmFtJiBwcm9ncmFtKQoreworI2lmIEFT
U0VSVF9ESVNBQkxFRAorICAgIFVOVVNFRF9QQVJBTShwcm9ncmFtKTsKKyNlbHNlCisgICAgTGl0
ZXJhbFR5cGVDaGVja2VyKCkuVmlzaXRvcjo6dmlzaXQocHJvZ3JhbSk7CisjZW5kaWYKK30KKwor
fQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV0hMU0wvV0hMU0xMaXRlcmFsVHlwZUNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzFh
NDZkZTJjZmM1OWNkMzJjNzFjOTYwOTI4ZmFjY2I1MzI5NzExYwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVj
a2VyLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV0hMU0wg
eworCitjbGFzcyBQcm9ncmFtOworCit2b2lkIGNoZWNrTGl0ZXJhbFR5cGVzKFByb2dyYW0mKTsK
KworfQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0NDZhODA2YTg3OGE1MWFiOTg3
YmI3ZDFjMzczMjhjZDhlZTk3YzE0Li4yZDc5MTcwYWQ4ZjA5MjM2ZGE0MmFjYmNkYzdjMDY0NWU5
MGIwNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzIyLDYgKzMyMiw3IEBAIE1vZHVsZXMvd2ViZ3B1
L1dITFNML1dITFNMTmFtZUNvbnRleHQuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTE5h
bWVSZXNvbHZlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUmVzb2x2ZU92ZXJsb2Fk
SW1wbC5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMVmlzaXRvci5jcHAKK01vZHVsZXMv
d2ViZ3B1L1dITFNML1dITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmNwcAogTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xMb29wQ2hlY2tlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExT
TFR5cGVBcmd1bWVudC5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML0FTVC9XSExTTEJ1aWx0SW5T
ZW1hbnRpYy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBiOTZmYTJkZWM0MWU0OWUzMTQxNDJkMGI2NDUyMmJhM2M3OTI0YzZh
Li44ZTVmNTNkNDU5MTcyNWRhNjExOTc4MTQ4YTlkZWM0ZmExZjY2OTBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNTg1LDkg
KzI1ODUsOSBAQAogCQk5MTI3OEQ1RTIxREVEQUQ2MDBCNTcxODQgLyogUGFnZUF1ZGl0QWdlbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkxMjc4RDVD
MjFERURBRDUwMEI1NzE4NCAvKiBQYWdlQXVkaXRBZ2VudC5oICovOyB9OwogCQk5MTI3OEQ2MjIx
REVEQUYwMDBCNTcxODQgLyogV29ya2VyQXVkaXRBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTEyNzhENjAyMURFREFGMDAwQjU3MTg0IC8qIFdv
cmtlckF1ZGl0QWdlbnQuaCAqLzsgfTsKIAkJOTE3NUNFNUMyMUUyODFFRDAwREYyQzI3IC8qIElu
c3BlY3RvckF1ZGl0RE9NT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MTc1Q0U1ODIxRTI4MUVDMDBERjJDMjcgLyogSW5zcGVjdG9yQXVkaXRE
T01PYmplY3QuaCAqLzsgfTsKLQkJOTE3NUNFNUMyMUUyODFFRDAwREYyQzI4IC8qIEpTSW5zcGVj
dG9yQXVkaXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkxNzVDRTU4MjFFMjgxRUMwMERGMkMyOCAvKiBJbnNwZWN0b3JBdWRpdERPTU9i
amVjdC5oICovOyB9OworCQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjggLyogSW5zcGVjdG9yQXVk
aXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkxNzVDRTU4MjFFMjgxRUMwMERGMkMyOCAvKiBJbnNwZWN0b3JBdWRpdERPTU9iamVjdC5o
ICovOyB9OwogCQk5MTc1Q0U1RTIxRTI4MUVEMDBERjJDMjcgLyogSW5zcGVjdG9yQXVkaXRBY2Nl
c3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MTc1Q0U1QTIxRTI4MUVEMDBERjJDMjcgLyogSW5zcGVjdG9yQXVkaXRBY2Nlc3Np
YmlsaXR5T2JqZWN0LmggKi87IH07Ci0JCTkxNzVDRTVFMjFFMjgxRUQwMERGMkMyOCAvKiBKU0lu
c3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTE3NUNFNUEyMUUyODFFRDAwREYyQzI4IC8qIEluc3Bl
Y3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5oICovOyB9OworCQk5MTc1Q0U1RTIxRTI4MUVE
MDBERjJDMjggLyogSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MTc1Q0U1QTIxRTI4MUVEMDBE
RjJDMjggLyogSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi87IH07CiAJCTkx
QjhGMEI1MjE5NTNENjUwMDBDMkIwMCAvKiBDZXJ0aWZpY2F0ZUluZm9CYXNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MUI4RjBCMzIxOTUzRDY1MDAw
QzJCMDAgLyogQ2VydGlmaWNhdGVJbmZvQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkxQjk1MjI0MUY1OEE1OEYwMDkzMURDMiAvKiBSZWNv
cmRpbmdTd2l6emxlVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkxQjk1MjIyMUY1OEE1ODAwMDkzMURDMiAvKiBSZWNvcmRpbmdTd2l6emxlVHlw
ZXMuaCAqLzsgfTsKIAkJOTFDOUYyRjkxQUUzQkVCMDAwOTVCNjFDIC8qIEFYVGV4dFN0YXRlQ2hh
bmdlSW50ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MUM5RjJGODFBRTNCRTI0MDA5NUI2MUMgLyogQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjQyOSw2
ICs2NDI5LDggQEAKIAkJMUM5MDRERjkwQkE5RDJDODAwODFFOUQwIC8qIFZlcnNpb24ueGNjb25m
aWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM5QUU1Q0YyMUVEQTI3RTAwNjlENUYyIC8qIFdI
TFNMTG9vcENoZWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0hMU0xMb29wQ2hlY2tlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOUFFNUQwMjFFREEyN0UwMDY5RDVG
MiAvKiBXSExTTExvb3BDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMTG9vcENoZWNrZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNBMEMyRUEyMUVFRDZGNTAwQTExODYw
IC8qIFdITFNMTGl0ZXJhbFR5cGVDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdITFNMTGl0ZXJh
bFR5cGVDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFDQTBDMkVDMjFF
RUQ2RjYwMEExMTg2MCAvKiBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXSExTTExpdGVyYWxUeXBlQ2hlY2tlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDQTE5RTAzMERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBFdmVudExvb3BNYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTE5RTE1MERDMjU1Q0EwMDY1QTk5NCAvKiBF
dmVudExvb3AuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRMb29wLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUYzNDdFMEE2QzQwNTIwMEFCRTA2RSAv
KiBXZWJTY3JpcHRPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
U2NyaXB0T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDM5NCwxMyAr
MTAzOTYsMTMgQEAKIAkJOTEyNzhENUYyMURFREFFRjAwQjU3MTg0IC8qIFdvcmtlckF1ZGl0QWdl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya2VyQXVkaXRB
Z2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkxMjc4RDYwMjFERURBRjAw
MEI1NzE4NCAvKiBXb3JrZXJBdWRpdEFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdvcmtlckF1ZGl0QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTE3NUNFNTcyMUUyODFFQjAwREYyQzI3IC8qIEluc3BlY3RvckF1ZGl0RE9NT2JqZWN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckF1ZGl0RE9NT2Jq
ZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTE3NUNFNTcyMUUyODFFQjAw
REYyQzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRET01PYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQXVkaXRET01PYmplY3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5MTc1Q0U1NzIxRTI4MUVCMDBERjJDMjggLyogSW5zcGVj
dG9yQXVkaXRET01PYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW5zcGVjdG9yQXVkaXRET01PYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MTc1Q0U1ODIxRTI4MUVDMDBERjJDMjcgLyogSW5zcGVjdG9yQXVkaXRET01PYmplY3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQXVkaXRET01PYmpl
Y3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTE3NUNFNTgyMUUyODFFQzAwREYy
QzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRET01PYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5zcGVjdG9yQXVkaXRET01PYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTE3NUNFNTgyMUUyODFFQzAwREYyQzI4IC8qIEluc3BlY3RvckF1ZGl0RE9N
T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckF1ZGl0
RE9NT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkxNzVDRTU5MjFFMjgx
RUMwMERGMkMyNyAvKiBJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTE3NUNFNTkyMUUy
ODFFQzAwREYyQzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckF1ZGl0QWNjZXNz
aWJpbGl0eU9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkxNzVDRTU5
MjFFMjgxRUMwMERGMkMyOCAvKiBJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQXVkaXRBY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTE3NUNF
NUEyMUUyODFFRDAwREYyQzI3IC8qIEluc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVjdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JBdWRpdEFjY2Vzc2li
aWxpdHlPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTE3NUNFNUEyMUUy
ODFFRDAwREYyQzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0
eU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MTc1Q0U1QTIxRTI4MUVE
MDBERjJDMjggLyogSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckF1ZGl0QWNjZXNzaWJpbGl0eU9iamVj
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MUI4RjBCMzIxOTUzRDY1MDAwQzJC
MDAgLyogQ2VydGlmaWNhdGVJbmZvQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDZXJ0aWZpY2F0ZUluZm9CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkxQjk1MjIyMUY1OEE1ODAwMDkzMURDMiAvKiBSZWNvcmRpbmdTd2l6emxlVHlwZXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVjb3JkaW5nU3dpenpsZVR5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkxQzlGMkY4MUFFM0JFMjQwMDk1QjYxQyAvKiBBWFRleHRTdGF0ZUNoYW5nZUlu
dGVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBWFRleHRTdGF0ZUNoYW5nZUludGVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY5MzcsMTIgKzE2OTM5LDEyIEBACiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUE1ODRGRTI1MTg2MzdEQUIwMDg0M0IxMCAv
KiBDb21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5oICovLAorCQkJCTkxNzVDRTU5MjFFMjgxRUMw
MERGMkMyOCAvKiBJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlPYmplY3QuY3BwICovLAorCQkJ
CTkxNzVDRTVBMjFFMjgxRUQwMERGMkMyOCAvKiBJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxpdHlP
YmplY3QuaCAqLywKKwkJCQk5MTc1Q0U1NzIxRTI4MUVCMDBERjJDMjggLyogSW5zcGVjdG9yQXVk
aXRET01PYmplY3QuY3BwICovLAorCQkJCTkxNzVDRTU4MjFFMjgxRUMwMERGMkMyOCAvKiBJbnNw
ZWN0b3JBdWRpdERPTU9iamVjdC5oICovLAogCQkJCUE1ODRGRTM5MTg2NEUyRDgwMDg0M0IxMCAv
KiBKU0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAgKi8sCiAJCQkJQTU4NEZFM0ExODY0RTJEODAwODQz
QjEwIC8qIEpTQ29tbWFuZExpbmVBUElIb3N0LmggKi8sCi0JCQkJOTE3NUNFNTkyMUUyODFFQzAw
REYyQzI4IC8qIEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAqLywKLQkJ
CQk5MTc1Q0U1QTIxRTI4MUVEMDBERjJDMjggLyogSlNJbnNwZWN0b3JBdWRpdEFjY2Vzc2liaWxp
dHlPYmplY3QuaCAqLywKLQkJCQk5MTc1Q0U1NzIxRTI4MUVCMDBERjJDMjggLyogSlNJbnNwZWN0
b3JBdWRpdERPTU9iamVjdC5jcHAgKi8sCi0JCQkJOTE3NUNFNTgyMUUyODFFQzAwREYyQzI4IC8q
IEpTSW5zcGVjdG9yQXVkaXRET01PYmplY3QuaCAqLywKIAkJCQk3QTBFNzcxQzEwQzAwREIxMDBB
MDI3NkUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwICovLAogCQkJCTdBMEU3NzFEMTBD
MDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oICovLAogCQkJKTsKQEAg
LTI1NDYyLDYgKzI1NDY0LDggQEAKIAkJCQlDMjM0QTlCNjIxRTkyQ0MwMDAzQzk4NEQgLyogV0hM
U0xJbnRyaW5zaWNzLmggKi8sCiAJCQkJQzIxMEU5MTEyMUI0QkQxMDAwQjdGODNEIC8qIFdITFNM
TGV4ZXIuY3BwICovLAogCQkJCUMyMTBFOTEyMjFCNEJEMTAwMEI3RjgzRCAvKiBXSExTTExleGVy
LmggKi8sCisJCQkJMUNBMEMyRUMyMUVFRDZGNjAwQTExODYwIC8qIFdITFNMTGl0ZXJhbFR5cGVD
aGVja2VyLmNwcCAqLywKKwkJCQkxQ0EwQzJFQTIxRUVENkY1MDBBMTE4NjAgLyogV0hMU0xMaXRl
cmFsVHlwZUNoZWNrZXIuaCAqLywKIAkJCQkxQzlBRTVDRjIxRURBMjdFMDA2OUQ1RjIgLyogV0hM
U0xMb29wQ2hlY2tlci5jcHAgKi8sCiAJCQkJMUM5QUU1RDAyMUVEQTI3RTAwNjlENUYyIC8qIFdI
TFNMTG9vcENoZWNrZXIuaCAqLywKIAkJCQlDMjM0QTk4RDIxRTg4ODg0MDAzQzk4NEQgLyogV0hM
U0xOYW1lQ29udGV4dC5jcHAgKi8sCkBAIC0yOTU1Miw3ICsyOTU1Niw5IEBACiAJCQkJOTMzMDlE
RjIwOTlFNjQ5MjAwNTZFNTgxIC8qIEluc2VydFRleHRDb21tYW5kLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNUI4MUNBNzFGQUE0NDYyMDAzN0QxRTYgLyogSW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MTc1Q0U1RTIxRTI4MUVEMDBERjJDMjcgLyog
SW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
MTc1Q0U1RTIxRTI4MUVEMDBERjJDMjggLyogSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjcgLyogSW5z
cGVjdG9yQXVkaXRET01PYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTkxNzVDRTVDMjFFMjgx
RUQwMERGMkMyOCAvKiBJbnNwZWN0b3JBdWRpdERPTU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNkEyMkU4NzAxRjEwNDE4NjAwRjU0NkMzIC8qIEluc3BlY3RvckNhbnZhcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTVCODFDQTgxRkFBNDQ2MjAwMzdEMUU2IC8qIEluc3BlY3RvckNhbnZhc0Fn
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcgLyogSW5z
cGVjdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5OTg1LDggKzI5OTkxLDYgQEAKIAkJ
CQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDMTkzQzAxMUY1RTExMDUwMDg4RjNFNiAvKiBKU0ltYWdlU21vb3RoaW5nUXVhbGl0
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E2IC8qIEpTSW5w
dXRFdmVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTE3NUNFNUUyMUUyODFFRDAwREYyQzI4IC8q
IEpTSW5zcGVjdG9yQXVkaXRBY2Nlc3NpYmlsaXR5T2JqZWN0LmggaW4gSGVhZGVycyAqLywKLQkJ
CQk5MTc1Q0U1QzIxRTI4MUVEMDBERjJDMjggLyogSlNJbnNwZWN0b3JBdWRpdERPTU9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0EwRTc3MUYxMEMwMERCMTAwQTAyNzZFIC8qIEpTSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ3MTBFNjFEQjcwMEM3MDAy
RENFQzMgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4
QjQ1NzYxREM0MURCQTAwNDQzQzNGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCg==
</data>
<flag name="review"
          id="376046"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>