<?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>174994</bug_id>
          
          <creation_ts>2017-07-31 15:00:40 -0700</creation_ts>
          <short_desc>Make more things LLInt constexprs</short_desc>
          <delta_ts>2017-07-31 15:48:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1333553</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-07-31 15:00:40 -0700</bug_when>
    <thetext>Make more things LLInt constexprs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333556</commentid>
    <comment_count>1</comment_count>
      <attachid>316807</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-07-31 15:02:52 -0700</bug_when>
    <thetext>Created attachment 316807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333557</commentid>
    <comment_count>2</comment_count>
      <attachid>316807</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-07-31 15:06:07 -0700</bug_when>
    <thetext>Comment on attachment 316807
Patch

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

r=me

&gt; Source/JavaScriptCore/llint/LLIntData.cpp:-228
&gt; -    
&gt; -    STATIC_ASSERT(StringType == 6);
&gt; -    STATIC_ASSERT(SymbolType == 7);
&gt; -    STATIC_ASSERT(ObjectType == 23);
&gt; -    STATIC_ASSERT(FinalObjectType == 24);
&gt; -    STATIC_ASSERT(JSFunctionType == 26);
&gt; -    STATIC_ASSERT(ArrayType == 34);
&gt; -    STATIC_ASSERT(DerivedArrayType == 35);
&gt; -    STATIC_ASSERT(ProxyObjectType == 53);
&gt; -    STATIC_ASSERT(Int8ArrayType == 36);
&gt; -    STATIC_ASSERT(Int16ArrayType == 37);
&gt; -    STATIC_ASSERT(Int32ArrayType == 38);
&gt; -    STATIC_ASSERT(Uint8ArrayType == 39);
&gt; -    STATIC_ASSERT(Uint8ClampedArrayType == 40);
&gt; -    STATIC_ASSERT(Uint16ArrayType == 41);
&gt; -    STATIC_ASSERT(Uint32ArrayType == 42);
&gt; -    STATIC_ASSERT(Float32ArrayType == 43);
&gt; -    STATIC_ASSERT(Float64ArrayType == 44);
&gt; -    STATIC_ASSERT(MasqueradesAsUndefined == 1);
&gt; -    STATIC_ASSERT(ImplementsDefaultHasInstance == 2);
&gt; -    STATIC_ASSERT(FirstConstantRegisterIndex == 0x40000000);
&gt; -    STATIC_ASSERT(GlobalCode == 0);
&gt; -    STATIC_ASSERT(EvalCode == 1);
&gt; -    STATIC_ASSERT(FunctionCode == 2);
&gt; -    STATIC_ASSERT(ModuleCode == 3);
&gt; -    
&gt; -    STATIC_ASSERT(IsArray == 0x01);
&gt; -    STATIC_ASSERT(IndexingShapeMask == 0x0E);
&gt; -    STATIC_ASSERT(NoIndexingShape == 0x00);
&gt; -    STATIC_ASSERT(Int32Shape == 0x04);
&gt; -    STATIC_ASSERT(DoubleShape == 0x06);
&gt; -    STATIC_ASSERT(ContiguousShape == 0x08);
&gt; -    STATIC_ASSERT(ArrayStorageShape == 0x0A);
&gt; -    STATIC_ASSERT(SlowPutArrayStorageShape == 0x0C);
&gt;  
&gt;      ASSERT(!(reinterpret_cast&lt;ptrdiff_t&gt;((reinterpret_cast&lt;WriteBarrier&lt;JSCell&gt;*&gt;(0x4000)-&gt;slot())) - 0x4000));
&gt; -    static_assert(PutByIdPrimaryTypeMask == 0x6, &quot;LLInt assumes PutByIdPrimaryTypeMask is == 0x6&quot;);
&gt; -    static_assert(PutByIdPrimaryTypeSecondary == 0x0, &quot;LLInt assumes PutByIdPrimaryTypeSecondary is == 0x0&quot;);
&gt; -    static_assert(PutByIdPrimaryTypeObjectWithStructure == 0x2, &quot;LLInt assumes PutByIdPrimaryTypeObjectWithStructure is == 0x2&quot;);
&gt; -    static_assert(PutByIdPrimaryTypeObjectWithStructureOrOther == 0x4, &quot;LLInt assumes PutByIdPrimaryTypeObjectWithStructureOrOther is == 0x4&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeMask == -0x8, &quot;LLInt assumes PutByIdSecondaryTypeMask is == -0x8&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeBottom == 0x0, &quot;LLInt assumes PutByIdSecondaryTypeBottom is == 0x0&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeBoolean == 0x8, &quot;LLInt assumes PutByIdSecondaryTypeBoolean is == 0x8&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeOther == 0x10, &quot;LLInt assumes PutByIdSecondaryTypeOther is == 0x10&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeInt32 == 0x18, &quot;LLInt assumes PutByIdSecondaryTypeInt32 is == 0x18&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeNumber == 0x20, &quot;LLInt assumes PutByIdSecondaryTypeNumber is == 0x20&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeString == 0x28, &quot;LLInt assumes PutByIdSecondaryTypeString is == 0x28&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeSymbol == 0x30, &quot;LLInt assumes PutByIdSecondaryTypeSymbol is == 0x30&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeObject == 0x38, &quot;LLInt assumes PutByIdSecondaryTypeObject is == 0x38&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeObjectOrOther == 0x40, &quot;LLInt assumes PutByIdSecondaryTypeObjectOrOther is == 0x40&quot;);
&gt; -    static_assert(PutByIdSecondaryTypeTop == 0x48, &quot;LLInt assumes PutByIdSecondaryTypeTop is == 0x48&quot;);
&gt; -
&gt; -    static_assert(GlobalProperty == 0, &quot;LLInt assumes GlobalProperty ResultType is == 0&quot;);
&gt; -    static_assert(GlobalVar == 1, &quot;LLInt assumes GlobalVar ResultType is == 1&quot;);
&gt; -    static_assert(GlobalLexicalVar == 2, &quot;LLInt assumes GlobalLexicalVar ResultType is == 2&quot;);
&gt; -    static_assert(ClosureVar == 3, &quot;LLInt assumes ClosureVar ResultType is == 3&quot;);
&gt; -    static_assert(LocalClosureVar == 4, &quot;LLInt assumes LocalClosureVar ResultType is == 4&quot;);
&gt; -    static_assert(ModuleVar == 5, &quot;LLInt assumes ModuleVar ResultType is == 5&quot;);
&gt; -    static_assert(GlobalPropertyWithVarInjectionChecks == 6, &quot;LLInt assumes GlobalPropertyWithVarInjectionChecks ResultType is == 6&quot;);
&gt; -    static_assert(GlobalVarWithVarInjectionChecks == 7, &quot;LLInt assumes GlobalVarWithVarInjectionChecks ResultType is == 7&quot;);
&gt; -    static_assert(GlobalLexicalVarWithVarInjectionChecks == 8, &quot;LLInt assumes GlobalLexicalVarWithVarInjectionChecks ResultType is == 8&quot;);
&gt; -    static_assert(ClosureVarWithVarInjectionChecks == 9, &quot;LLInt assumes ClosureVarWithVarInjectionChecks ResultType is == 9&quot;);
&gt; -
&gt; -    static_assert(static_cast&lt;unsigned&gt;(InitializationMode::NotInitialization) == 2, &quot;LLInt assumes that InitializationMode::NotInitialization is 0&quot;);
&gt; -    
&gt; -    STATIC_ASSERT(GetPutInfo::typeBits == 0x3ff);
&gt; -    STATIC_ASSERT(GetPutInfo::initializationShift == 10);
&gt; -    STATIC_ASSERT(GetPutInfo::initializationBits == 0xffc00);
&gt; -
&gt; -    STATIC_ASSERT(MarkedBlock::blockSize == 16 * 1024);
&gt; -    STATIC_ASSERT(blackThreshold == 0);
&gt; -
&gt; -    ASSERT(bitwise_cast&lt;uintptr_t&gt;(ShadowChicken::Packet::tailMarker()) == static_cast&lt;uintptr_t&gt;(0x7a11));

Nice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333585</commentid>
    <comment_count>3</comment_count>
      <attachid>316807</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-31 15:47:08 -0700</bug_when>
    <thetext>Comment on attachment 316807
Patch

Clearing flags on attachment: 316807

Committed r220078: &lt;http://trac.webkit.org/changeset/220078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333586</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-31 15:47:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333587</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-31 15:48:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/33637416&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316807</attachid>
            <date>2017-07-31 15:02:52 -0700</date>
            <delta_ts>2017-07-31 15:47:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174994-20170731150252.patch</filename>
            <type>text/plain</type>
            <size>12017</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MDI2YzE5NWM4YzUyNjJjZDcyMDI1MmI5YWVhMDlmN2Q5ZTVkYTBlLi5iODM0ZDE3OGVjNjcxMzdh
MWM5MGMwODQ1NWEyMmY4ODRkYjc2ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNy0wNy0zMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWtlIG1vcmUgdGhpbmdzIExMSW50IGNvbnN0ZXhwcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDk5NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFr
ZXMgbW9yZSBjb25zdCB2YWx1ZXMgaW4gdGhlIExMSW50IGNvbnN0ZXhwcnMuCisgICAgICAgIEl0
IGFsc28gZGVsZXRlcyBhbGwgb2YgdGhlIG5vIGxvbmdlciBuZWNlc3Nhcnkgc3RhdGljX2Fzc2Vy
dHMgaW4KKyAgICAgICAgTExJbnREYXRhLmNwcC4gRmluYWxseSwgaXQgZml4ZXMgYSB0eXBvIGlu
IHBhcnNlci5yYi4KKworICAgICAgICAqIGludGVycHJldGVyL1NoYWRvd0NoaWNrZW4uaDoKKyAg
ICAgICAgKEpTQzo6U2hhZG93Q2hpY2tlbjo6UGFja2V0Ojp0YWlsTWFya2VyKToKKyAgICAgICAg
KiBsbGludC9MTEludERhdGEuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6RGF0YTo6cGVyZm9y
bUFzc2VydGlvbnMpOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgor
ICAgICAgICAqIG9mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYjoKKyAgICAg
ICAgKiBvZmZsaW5lYXNtL3BhcnNlci5yYjoKKwogMjAxNy0wNy0zMSAgTWF0dCBMZXdpcyAgPGps
ZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjAw
NjAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU2hhZG93
Q2hpY2tlbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1NoYWRvd0NoaWNr
ZW4uaAppbmRleCBkNzQ1NWE2NjM3MzBlMDY1ZjBmZjNkYTBlNjdkN2ZjMmRlN2IxNTdiLi44NGI1
MmU4MDJlMWFiZmE3MDZhMmU4N2ZhMTYzNDE2ZGYwYjBmODBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU2hhZG93Q2hpY2tlbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TaGFkb3dDaGlja2VuLmgKQEAgLTc3LDExICs3Nywx
MiBAQCBwdWJsaWM6CiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHVubGlrZWx5VmFsdWUgPSAweDdhMTE7Ci0gICAgICAgIAorICAg
ICAgICBzdGF0aWMgY29uc3QgY29uc3RleHByIHVuc2lnbmVkIHVubGlrZWx5VmFsdWUgPSAweDdh
MTE7CisKKyAgICAgICAgc3RhdGljIGNvbnN0IGNvbnN0ZXhwciBpbnRwdHJfdCB0YWlsTWFya2Vy
VmFsdWUgPSBzdGF0aWNfY2FzdDxpbnRwdHJfdD4odW5saWtlbHlWYWx1ZSk7CiAgICAgICAgIHN0
YXRpYyBKU09iamVjdCogdGFpbE1hcmtlcigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biBiaXR3aXNlX2Nhc3Q8SlNPYmplY3QqPihzdGF0aWNfY2FzdDxpbnRwdHJfdD4odW5saWtlbHlW
YWx1ZSkpOworICAgICAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxKU09iamVjdCo+KHRhaWxN
YXJrZXJWYWx1ZSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBKU09iamVj
dCogdGhyb3dNYXJrZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50RGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNw
cAppbmRleCA4YjYxNWExYTNhNTE1MTA1OTY3MjA2NWQ0NzJiN2U4YWU4NTg2OTlhLi4xZTQ5ZjJm
ODUzMjU4ZTM5NDE2MWM3YzQ0MDAzOTkzM2ZhYWE5MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnREYXRhLmNwcApAQCAtMTUzLDc5ICsxNTMsOCBAQCB2b2lkIERhdGE6OnBl
cmZvcm1Bc3NlcnRpb25zKFZNJiB2bSkKICNlbGlmIChDUFUoWDg2XzY0KSAmJiBPUyhXSU5ET1dT
KSkKICAgICBBU1NFUlQoQ29kZUJsb2NrOjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNlQXNW
aXJ0dWFsUmVnaXN0ZXJzKCkgPT0gMyk7CiAjZW5kaWYKLSAgICAKLSAgICBTVEFUSUNfQVNTRVJU
KFN0cmluZ1R5cGUgPT0gNik7Ci0gICAgU1RBVElDX0FTU0VSVChTeW1ib2xUeXBlID09IDcpOwot
ICAgIFNUQVRJQ19BU1NFUlQoT2JqZWN0VHlwZSA9PSAyMyk7Ci0gICAgU1RBVElDX0FTU0VSVChG
aW5hbE9iamVjdFR5cGUgPT0gMjQpOwotICAgIFNUQVRJQ19BU1NFUlQoSlNGdW5jdGlvblR5cGUg
PT0gMjYpOwotICAgIFNUQVRJQ19BU1NFUlQoQXJyYXlUeXBlID09IDM0KTsKLSAgICBTVEFUSUNf
QVNTRVJUKERlcml2ZWRBcnJheVR5cGUgPT0gMzUpOwotICAgIFNUQVRJQ19BU1NFUlQoUHJveHlP
YmplY3RUeXBlID09IDUzKTsKLSAgICBTVEFUSUNfQVNTRVJUKEludDhBcnJheVR5cGUgPT0gMzYp
OwotICAgIFNUQVRJQ19BU1NFUlQoSW50MTZBcnJheVR5cGUgPT0gMzcpOwotICAgIFNUQVRJQ19B
U1NFUlQoSW50MzJBcnJheVR5cGUgPT0gMzgpOwotICAgIFNUQVRJQ19BU1NFUlQoVWludDhBcnJh
eVR5cGUgPT0gMzkpOwotICAgIFNUQVRJQ19BU1NFUlQoVWludDhDbGFtcGVkQXJyYXlUeXBlID09
IDQwKTsKLSAgICBTVEFUSUNfQVNTRVJUKFVpbnQxNkFycmF5VHlwZSA9PSA0MSk7Ci0gICAgU1RB
VElDX0FTU0VSVChVaW50MzJBcnJheVR5cGUgPT0gNDIpOwotICAgIFNUQVRJQ19BU1NFUlQoRmxv
YXQzMkFycmF5VHlwZSA9PSA0Myk7Ci0gICAgU1RBVElDX0FTU0VSVChGbG9hdDY0QXJyYXlUeXBl
ID09IDQ0KTsKLSAgICBTVEFUSUNfQVNTRVJUKE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQgPT0gMSk7
Ci0gICAgU1RBVElDX0FTU0VSVChJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlID09IDIpOwot
ICAgIFNUQVRJQ19BU1NFUlQoRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXggPT0gMHg0MDAwMDAw
MCk7Ci0gICAgU1RBVElDX0FTU0VSVChHbG9iYWxDb2RlID09IDApOwotICAgIFNUQVRJQ19BU1NF
UlQoRXZhbENvZGUgPT0gMSk7Ci0gICAgU1RBVElDX0FTU0VSVChGdW5jdGlvbkNvZGUgPT0gMik7
Ci0gICAgU1RBVElDX0FTU0VSVChNb2R1bGVDb2RlID09IDMpOwotICAgIAotICAgIFNUQVRJQ19B
U1NFUlQoSXNBcnJheSA9PSAweDAxKTsKLSAgICBTVEFUSUNfQVNTRVJUKEluZGV4aW5nU2hhcGVN
YXNrID09IDB4MEUpOwotICAgIFNUQVRJQ19BU1NFUlQoTm9JbmRleGluZ1NoYXBlID09IDB4MDAp
OwotICAgIFNUQVRJQ19BU1NFUlQoSW50MzJTaGFwZSA9PSAweDA0KTsKLSAgICBTVEFUSUNfQVNT
RVJUKERvdWJsZVNoYXBlID09IDB4MDYpOwotICAgIFNUQVRJQ19BU1NFUlQoQ29udGlndW91c1No
YXBlID09IDB4MDgpOwotICAgIFNUQVRJQ19BU1NFUlQoQXJyYXlTdG9yYWdlU2hhcGUgPT0gMHgw
QSk7Ci0gICAgU1RBVElDX0FTU0VSVChTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGUgPT0gMHgwQyk7
CiAKICAgICBBU1NFUlQoIShyZWludGVycHJldF9jYXN0PHB0cmRpZmZfdD4oKHJlaW50ZXJwcmV0
X2Nhc3Q8V3JpdGVCYXJyaWVyPEpTQ2VsbD4qPigweDQwMDApLT5zbG90KCkpKSAtIDB4NDAwMCkp
OwotICAgIHN0YXRpY19hc3NlcnQoUHV0QnlJZFByaW1hcnlUeXBlTWFzayA9PSAweDYsICJMTElu
dCBhc3N1bWVzIFB1dEJ5SWRQcmltYXJ5VHlwZU1hc2sgaXMgPT0gMHg2Iik7Ci0gICAgc3RhdGlj
X2Fzc2VydChQdXRCeUlkUHJpbWFyeVR5cGVTZWNvbmRhcnkgPT0gMHgwLCAiTExJbnQgYXNzdW1l
cyBQdXRCeUlkUHJpbWFyeVR5cGVTZWNvbmRhcnkgaXMgPT0gMHgwIik7Ci0gICAgc3RhdGljX2Fz
c2VydChQdXRCeUlkUHJpbWFyeVR5cGVPYmplY3RXaXRoU3RydWN0dXJlID09IDB4MiwgIkxMSW50
IGFzc3VtZXMgUHV0QnlJZFByaW1hcnlUeXBlT2JqZWN0V2l0aFN0cnVjdHVyZSBpcyA9PSAweDIi
KTsKLSAgICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1Y3R1
cmVPck90aGVyID09IDB4NCwgIkxMSW50IGFzc3VtZXMgUHV0QnlJZFByaW1hcnlUeXBlT2JqZWN0
V2l0aFN0cnVjdHVyZU9yT3RoZXIgaXMgPT0gMHg0Iik7Ci0gICAgc3RhdGljX2Fzc2VydChQdXRC
eUlkU2Vjb25kYXJ5VHlwZU1hc2sgPT0gLTB4OCwgIkxMSW50IGFzc3VtZXMgUHV0QnlJZFNlY29u
ZGFyeVR5cGVNYXNrIGlzID09IC0weDgiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRTZWNv
bmRhcnlUeXBlQm90dG9tID09IDB4MCwgIkxMSW50IGFzc3VtZXMgUHV0QnlJZFNlY29uZGFyeVR5
cGVCb3R0b20gaXMgPT0gMHgwIik7Ci0gICAgc3RhdGljX2Fzc2VydChQdXRCeUlkU2Vjb25kYXJ5
VHlwZUJvb2xlYW4gPT0gMHg4LCAiTExJbnQgYXNzdW1lcyBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJv
b2xlYW4gaXMgPT0gMHg4Iik7Ci0gICAgc3RhdGljX2Fzc2VydChQdXRCeUlkU2Vjb25kYXJ5VHlw
ZU90aGVyID09IDB4MTAsICJMTEludCBhc3N1bWVzIFB1dEJ5SWRTZWNvbmRhcnlUeXBlT3RoZXIg
aXMgPT0gMHgxMCIpOwotICAgIHN0YXRpY19hc3NlcnQoUHV0QnlJZFNlY29uZGFyeVR5cGVJbnQz
MiA9PSAweDE4LCAiTExJbnQgYXNzdW1lcyBQdXRCeUlkU2Vjb25kYXJ5VHlwZUludDMyIGlzID09
IDB4MTgiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRTZWNvbmRhcnlUeXBlTnVtYmVyID09
IDB4MjAsICJMTEludCBhc3N1bWVzIFB1dEJ5SWRTZWNvbmRhcnlUeXBlTnVtYmVyIGlzID09IDB4
MjAiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3RyaW5nID09IDB4
MjgsICJMTEludCBhc3N1bWVzIFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3RyaW5nIGlzID09IDB4Mjgi
KTsKLSAgICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3ltYm9sID09IDB4MzAs
ICJMTEludCBhc3N1bWVzIFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3ltYm9sIGlzID09IDB4MzAiKTsK
LSAgICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0ID09IDB4MzgsICJM
TEludCBhc3N1bWVzIFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0IGlzID09IDB4MzgiKTsKLSAg
ICBzdGF0aWNfYXNzZXJ0KFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0T3JPdGhlciA9PSAweDQw
LCAiTExJbnQgYXNzdW1lcyBQdXRCeUlkU2Vjb25kYXJ5VHlwZU9iamVjdE9yT3RoZXIgaXMgPT0g
MHg0MCIpOwotICAgIHN0YXRpY19hc3NlcnQoUHV0QnlJZFNlY29uZGFyeVR5cGVUb3AgPT0gMHg0
OCwgIkxMSW50IGFzc3VtZXMgUHV0QnlJZFNlY29uZGFyeVR5cGVUb3AgaXMgPT0gMHg0OCIpOwot
Ci0gICAgc3RhdGljX2Fzc2VydChHbG9iYWxQcm9wZXJ0eSA9PSAwLCAiTExJbnQgYXNzdW1lcyBH
bG9iYWxQcm9wZXJ0eSBSZXN1bHRUeXBlIGlzID09IDAiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KEds
b2JhbFZhciA9PSAxLCAiTExJbnQgYXNzdW1lcyBHbG9iYWxWYXIgUmVzdWx0VHlwZSBpcyA9PSAx
Iik7Ci0gICAgc3RhdGljX2Fzc2VydChHbG9iYWxMZXhpY2FsVmFyID09IDIsICJMTEludCBhc3N1
bWVzIEdsb2JhbExleGljYWxWYXIgUmVzdWx0VHlwZSBpcyA9PSAyIik7Ci0gICAgc3RhdGljX2Fz
c2VydChDbG9zdXJlVmFyID09IDMsICJMTEludCBhc3N1bWVzIENsb3N1cmVWYXIgUmVzdWx0VHlw
ZSBpcyA9PSAzIik7Ci0gICAgc3RhdGljX2Fzc2VydChMb2NhbENsb3N1cmVWYXIgPT0gNCwgIkxM
SW50IGFzc3VtZXMgTG9jYWxDbG9zdXJlVmFyIFJlc3VsdFR5cGUgaXMgPT0gNCIpOwotICAgIHN0
YXRpY19hc3NlcnQoTW9kdWxlVmFyID09IDUsICJMTEludCBhc3N1bWVzIE1vZHVsZVZhciBSZXN1
bHRUeXBlIGlzID09IDUiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KEdsb2JhbFByb3BlcnR5V2l0aFZh
ckluamVjdGlvbkNoZWNrcyA9PSA2LCAiTExJbnQgYXNzdW1lcyBHbG9iYWxQcm9wZXJ0eVdpdGhW
YXJJbmplY3Rpb25DaGVja3MgUmVzdWx0VHlwZSBpcyA9PSA2Iik7Ci0gICAgc3RhdGljX2Fzc2Vy
dChHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzID09IDcsICJMTEludCBhc3N1bWVzIEds
b2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MgUmVzdWx0VHlwZSBpcyA9PSA3Iik7Ci0gICAg
c3RhdGljX2Fzc2VydChHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcyA9PSA4
LCAiTExJbnQgYXNzdW1lcyBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcyBS
ZXN1bHRUeXBlIGlzID09IDgiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KENsb3N1cmVWYXJXaXRoVmFy
SW5qZWN0aW9uQ2hlY2tzID09IDksICJMTEludCBhc3N1bWVzIENsb3N1cmVWYXJXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzIFJlc3VsdFR5cGUgaXMgPT0gOSIpOwotCi0gICAgc3RhdGljX2Fzc2VydChz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oSW5pdGlhbGl6YXRpb25Nb2RlOjpOb3RJbml0aWFsaXphdGlv
bikgPT0gMiwgIkxMSW50IGFzc3VtZXMgdGhhdCBJbml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRp
YWxpemF0aW9uIGlzIDAiKTsKLSAgICAKLSAgICBTVEFUSUNfQVNTRVJUKEdldFB1dEluZm86OnR5
cGVCaXRzID09IDB4M2ZmKTsKLSAgICBTVEFUSUNfQVNTRVJUKEdldFB1dEluZm86OmluaXRpYWxp
emF0aW9uU2hpZnQgPT0gMTApOwotICAgIFNUQVRJQ19BU1NFUlQoR2V0UHV0SW5mbzo6aW5pdGlh
bGl6YXRpb25CaXRzID09IDB4ZmZjMDApOwotCi0gICAgU1RBVElDX0FTU0VSVChNYXJrZWRCbG9j
azo6YmxvY2tTaXplID09IDE2ICogMTAyNCk7Ci0gICAgU1RBVElDX0FTU0VSVChibGFja1RocmVz
aG9sZCA9PSAwKTsKLQotICAgIEFTU0VSVChiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihTaGFkb3dD
aGlja2VuOjpQYWNrZXQ6OnRhaWxNYXJrZXIoKSkgPT0gc3RhdGljX2Nhc3Q8dWludHB0cl90Pigw
eDdhMTEpKTsKIAogICAgIC8vIEZJWE1FOiBtYWtlIHRoZXNlIGFzc2VydGlvbnMgbGVzcyBob3Jy
aWJsZS4KICNpZiAhQVNTRVJUX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggOTE2N2Y4NWJjNjQzZjBjYTA2
Nzk1ZThmZWNjNWM2MTU2ZmNlYzIwMy4uZjU0MGNiOTM1MmNkMDk5MmUwNGI0YTBlMDJlNDI2YzBm
N2Q4OTc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQpAQCAtMjA0LDcgKzIwNCw3IEBAIGVsc2UKICAgICBjb25zdCBMb3dl
c3RUYWcgPSBEZWxldGVkVmFsdWVUYWcKIGVuZAogCi0jIE5PVEU6IFRoZSB2YWx1ZXMgYmVsb3cg
bXVzdCBiZSBpbiBzeW5jIHdpdGggd2hhdCBpcyBpbiBQdXRCeUlkRmxhZ3MuaC4KKyMgUHV0QnlJ
ZEZsYWdzIGRhdGEKIGNvbnN0IFB1dEJ5SWRQcmltYXJ5VHlwZU1hc2sgPSBjb25zdGV4cHIgUHV0
QnlJZFByaW1hcnlUeXBlTWFzawogY29uc3QgUHV0QnlJZFByaW1hcnlUeXBlU2Vjb25kYXJ5ID0g
Y29uc3RleHByIFB1dEJ5SWRQcmltYXJ5VHlwZVNlY29uZGFyeQogY29uc3QgUHV0QnlJZFByaW1h
cnlUeXBlT2JqZWN0V2l0aFN0cnVjdHVyZSA9IGNvbnN0ZXhwciBQdXRCeUlkUHJpbWFyeVR5cGVP
YmplY3RXaXRoU3RydWN0dXJlCkBAIC0yNTAsNyArMjUwLDcgQEAgY29uc3QgSXNXYXRjaGVkID0g
Y29uc3RleHByIElzV2F0Y2hlZAogY29uc3QgSXNJbnZhbGlkYXRlZCA9IGNvbnN0ZXhwciBJc0lu
dmFsaWRhdGVkCiAKICMgU2hhZG93Q2hpY2tlbiBkYXRhCi1jb25zdCBTaGFkb3dDaGlja2VuVGFp
bE1hcmtlciA9IDB4N2ExMQorY29uc3QgU2hhZG93Q2hpY2tlblRhaWxNYXJrZXIgPSBjb25zdGV4
cHIgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojp0YWlsTWFya2VyVmFsdWUKIAogIyBBcml0aFByb2Zp
bGUgZGF0YQogY29uc3QgQXJpdGhQcm9maWxlSW50ID0gMHgxMDAwMDAKQEAgLTQwMSwxNSArNDAx
LDE1IEBAIGNvbnN0IEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MgPSBjb25zdGV4cHIg
R2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrCiBjb25zdCBHbG9iYWxMZXhpY2FsVmFyV2l0
aFZhckluamVjdGlvbkNoZWNrcyA9IGNvbnN0ZXhwciBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhcklu
amVjdGlvbkNoZWNrcwogY29uc3QgQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MgPSBj
b25zdGV4cHIgQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKIAotY29uc3QgUmVzb2x2
ZVR5cGVNYXNrID0gMHgzZmYKLWNvbnN0IEluaXRpYWxpemF0aW9uTW9kZU1hc2sgPSAweGZmYzAw
Ci1jb25zdCBJbml0aWFsaXphdGlvbk1vZGVTaGlmdCA9IDEwCi1jb25zdCBOb3RJbml0aWFsaXph
dGlvbiA9IDIKK2NvbnN0IFJlc29sdmVUeXBlTWFzayA9IGNvbnN0ZXhwciBHZXRQdXRJbmZvOjp0
eXBlQml0cworY29uc3QgSW5pdGlhbGl6YXRpb25Nb2RlTWFzayA9IGNvbnN0ZXhwciBHZXRQdXRJ
bmZvOjppbml0aWFsaXphdGlvbkJpdHMKK2NvbnN0IEluaXRpYWxpemF0aW9uTW9kZVNoaWZ0ID0g
Y29uc3RleHByIEdldFB1dEluZm86OmluaXRpYWxpemF0aW9uU2hpZnQKK2NvbnN0IE5vdEluaXRp
YWxpemF0aW9uID0gY29uc3RleHByIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRp
b24KIAotY29uc3QgTWFya2VkQmxvY2tTaXplID0gMTYgKiAxMDI0Citjb25zdCBNYXJrZWRCbG9j
a1NpemUgPSBjb25zdGV4cHIgTWFya2VkQmxvY2s6OmJsb2NrU2l6ZQogY29uc3QgTWFya2VkQmxv
Y2tNYXNrID0gfihNYXJrZWRCbG9ja1NpemUgLSAxKQogCi1jb25zdCBCbGFja1RocmVzaG9sZCA9
IDAKK2NvbnN0IEJsYWNrVGhyZXNob2xkID0gY29uc3RleHByIGJsYWNrVGhyZXNob2xkCiAKICMg
QWxsb2NhdGlvbiBjb25zdGFudHMKIGlmIEpTVkFMVUU2NApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3Iu
cmIKaW5kZXggMTYwYjk0YzViMDFmNGIwMzViNjBhYzU2YjkxYzdmZDBjYmY1MjJiNi4uODRiYjJk
OTg0OGNiY2YzOGQ4OTYzZWYyODQ2YWQzYWFkMDBkZjYwZSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYgorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFj
dG9yLnJiCkBAIC0xMjEsNiArMTIxLDE3IEBAIEZpbGUub3BlbihvdXRwdXRGbG5tLCAidyIpIHsK
ICAgICAkb3V0cHV0ID0gb3V0cAogICAgIG91dHAucHV0cyBpbnB1dEhhc2gKICAgICBsZW5ndGgg
PSAwCisKKyAgICBlbWl0Q29kZUluQWxsQ29uZmlndXJhdGlvbnMocHJ1bmVkQVNUKSB7CisgICAg
ICAgIHwgc2V0dGluZ3MsIGFzdCwgYmFja2VuZCwgaW5kZXggfAorICAgICAgICBjb25zdHNMaXN0
ID0gYXN0LmZpbHRlcihDb25zdEV4cHIpLnVuaXEuc29ydAorCisgICAgICAgIGNvbnN0c0xpc3Qu
ZWFjaF93aXRoX2luZGV4IHsKKyAgICAgICAgICAgIHwgY29uc3QsIGluZGV4IHwKKyAgICAgICAg
ICAgIG91dHAucHV0cyAiY29uc3RleHByIGludDY0X3QgY29uc3RWYWx1ZSN7aW5kZXh9ID0gc3Rh
dGljX2Nhc3Q8aW50NjRfdD4oI3tjb25zdC52YWx1ZX0pOyIKKyAgICAgICAgfQorICAgIH0KKwog
ICAgIGVtaXRDb2RlSW5BbGxDb25maWd1cmF0aW9ucyhwcnVuZWRBU1QpIHsKICAgICAgICAgfCBz
ZXR0aW5ncywgYXN0LCBiYWNrZW5kLCBpbmRleCB8CiAgICAgICAgIG9mZnNldHNMaXN0ID0gYXN0
LmZpbHRlcihTdHJ1Y3RPZmZzZXQpLnVuaXEuc29ydApAQCAtMTUyLDI0ICsxNjMsMTIgQEAgRmls
ZS5vcGVuKG91dHB1dEZsbm0sICJ3IikgewogICAgICAgICAgICAgZW1pdE1hZ2ljTnVtYmVyCiAg
ICAgICAgICAgICBvdXRwLnB1dHMgInNpemVvZigje3NpemVvZi5zdHJ1Y3R9KSwiCiAgICAgICAg
IH0KLSAgICAgICAgY29uc3RzTGlzdC5lYWNoIHsKLSAgICAgICAgICAgIHwgY29uc3QgfAorICAg
ICAgICBjb25zdHNMaXN0LmVhY2hfaW5kZXggeworICAgICAgICAgICAgfCBpbmRleCB8CiAgICAg
ICAgICAgICBlbWl0TWFnaWNOdW1iZXIKLSAgICAgICAgICAgIG91dHAucHV0cyAic3RhdGljX2Nh
c3Q8aW50NjRfdD4oI3tjb25zdC52YWx1ZX0pLCIKKyAgICAgICAgICAgIG91dHAucHV0cyAiY29u
c3RWYWx1ZSN7aW5kZXh9LCIKICAgICAgICAgfQogICAgIH0KICAgICBvdXRwLnB1dHMgIn07Igog
Ci0gICAgZW1pdENvZGVJbkFsbENvbmZpZ3VyYXRpb25zKHBydW5lZEFTVCkgewotICAgICAgICB8
IHNldHRpbmdzLCBhc3QsIGJhY2tlbmQsIGluZGV4IHwKLSAgICAgICAgY29uc3RzTGlzdCA9IGFz
dC5maWx0ZXIoQ29uc3RFeHByKS51bmlxLnNvcnQKLQotICAgICAgICBjb25zdHNMaXN0LmVhY2hf
d2l0aF9pbmRleCB7Ci0gICAgICAgICAgICB8IGNvbnN0LCBpbmRleCB8Ci0gICAgICAgICAgICBv
dXRwLnB1dHMgImNvbnN0ZXhwciBpbnQ2NF90IGlzQ29uc3Qje2luZGV4fSA9IHN0YXRpY19jYXN0
PGludDY0X3Q+KCN7Y29uc3QudmFsdWV9KTsiCi0gICAgICAgICAgICAjIE1ha2UgYSB0cml2YWxs
eSB0cnVlIHN0YXRpYyBhc3NlcnQgdGhhdCB1c2VzIHRoZSBsYXN0IHZhbHVlLi4uCi0gICAgICAg
ICAgICBvdXRwLnB1dHMgInN0YXRpY19hc3NlcnQoaXNDb25zdCN7aW5kZXh9IHx8IHRydWUsIFwi
XCIpOyIKLSAgICAgICAgfQotICAgIH0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vcGFyc2VyLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vcGFyc2VyLnJiCmluZGV4IDkwNzAyMWRmOTQwOWIwZWM1ZDdmOGYyYmQ3MzUzMzdlOWE0
MWIyMDEuLjlmNGViMWU0ODlmNTVlZmFjYjUwNTI3OTI0ZDE2ZDQ2ZDA4NDdlYzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3BhcnNlci5yYgorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9wYXJzZXIucmIKQEAgLTMsNyArMyw3IEBACiAj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKICMgYXJlIG1ldDoKLSMgMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaGh0CisjIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KICMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>