<?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>197485</bug_id>
          
          <creation_ts>2019-05-01 17:46:20 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: !m_needExceptionCheck with --validateExceptionChecks=1; ProxyObject.getOwnPropertySlotCommon/JSFunction.callerGetter</short_desc>
          <delta_ts>2019-05-22 13:49:58 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>197693</dup_id>
          
          <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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1532157</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-01 17:46:20 -0700</bug_when>
    <thetext>When run with a debug version of JSC and the --validateExceptionChecks option set true, the following crashes:

function foo() {}
let a = {...new Proxy(foo, {})}

ERROR: Unchecked JS exception: 
    This scope can throw a JS exception: getOwnPropertySlotCommon @ ./runtime/ProxyObject.cpp:376
        (ExceptionScope::m_recursionDepth was 5)
    But the exception was unchecked as of this scope: callerGetter @ ./runtime/JSFunction.cpp:358 
        (ExceptionScope::m_recursionDepth was 5)

Unchecked exception detected at:
    1   0x10c2b8b8e JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation&amp;)
    2   0x10c2982ca JSC::ThrowScope::ThrowScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
    3   0x10c298313 JSC::ThrowScope::ThrowScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
    4   0x10bf9e806 JSC::JSFunction::callerGetter(JSC::ExecState*, long long, JSC::PropertyName)
    5   0x10c0e53ef JSC::PropertySlot::customGetter(JSC::ExecState*, JSC::PropertyName) const
    6   0x10afe1ae1 JSC::PropertySlot::getValue(JSC::ExecState*, JSC::PropertyName) const
    7   0x10c01a224 JSC::JSObject::getOwnPropertyDescriptor(JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&amp;)
    8   0x10bfb8bab JSC::globalFuncPropertyIsEnumerable(JSC::ExecState*)
    9   0x55792a20116b
    10  0x10af9ee81 llint_entry    
    11  0x10af9ef12 llint_entry    
    12  0x10af8ba30 vmEntryToJavaScript
    13  0x10bbc82b7 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
    14  0x10bbc7880 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*)
    15  0x10bedb955 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
    16  0x107f06e16 runWithOptions(GlobalObject*, CommandLine&amp;, bool&amp;)
    17  0x107edc56a jscmain(int, char**)::$_6::operator()(JSC::VM&amp;, GlobalObject*, bool&amp;) const
    18  0x107eba2cf int runJSC&lt;jscmain(int, char**)::$_6&gt;(CommandLine const&amp;, bool, jscmain(int, char**)::$_6 const&amp;)
    19  0x107eb8daf jscmain(int, char**)
    20  0x107eb8c1e main
    21  0x7fff57fca0a5 start

ASSERTION FAILED: !m_needExceptionCheck
./runtime/VM.cpp(1203) : void JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation &amp;) 
1   0x10abeacc9 WTFCrash
2   0x10abeda8b WTFCrashWithInfo(int, char const*, char const*, int) 
3   0x10c2b8cb8 JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation&amp;)
4   0x10c2982ca JSC::ThrowScope::ThrowScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
5   0x10c298313 JSC::ThrowScope::ThrowScope(JSC::VM&amp;, JSC::ExceptionEventLocation)
6   0x10bf9e806 JSC::JSFunction::callerGetter(JSC::ExecState*, long long, JSC::PropertyName)
7   0x10c0e53ef JSC::PropertySlot::customGetter(JSC::ExecState*, JSC::PropertyName) const
8   0x10afe1ae1 JSC::PropertySlot::getValue(JSC::ExecState*, JSC::PropertyName) const
9   0x10c01a224 JSC::JSObject::getOwnPropertyDescriptor(JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&amp;)
10  0x10bfb8bab JSC::globalFuncPropertyIsEnumerable(JSC::ExecState*)
11  0x55792a20116b
12  0x10af9ee81 llint_entry
13  0x10af9ef12 llint_entry
14  0x10af8ba30 vmEntryToJavaScript
15  0x10bbc82b7 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
16  0x10bbc7880 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*)
17  0x10bedb955 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
18  0x107f06e16 runWithOptions(GlobalObject*, CommandLine&amp;, bool&amp;)
19  0x107edc56a jscmain(int, char**)::$_6::operator()(JSC::VM&amp;, GlobalObject*, bool&amp;) const
20  0x107eba2cf int runJSC&lt;jscmain(int, char**)::$_6&gt;(CommandLine const&amp;, bool, jscmain(int, char**)::$_6 const&amp;)
21  0x107eb8daf jscmain(int, char**)
22  0x107eb8c1e main
23  0x7fff57fca0a5 start

Looks like we aren&apos;t properly checking for exceptions up the caller tree of</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532158</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-01 17:46:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/49693909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532159</commentid>
    <comment_count>2</comment_count>
      <attachid>368740</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-01 17:54:32 -0700</bug_when>
    <thetext>Created attachment 368740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532162</commentid>
    <comment_count>3</comment_count>
      <attachid>368740</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-05-01 18:00:00 -0700</bug_when>
    <thetext>Comment on attachment 368740
Patch

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

This seems wrong to me. Why can&apos;t you just change Proxy&apos;s implementation?

&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:841
&gt; -    scope.release();
&gt;      PropertyDescriptor descriptor;
&gt;      bool enumerable = object-&gt;getOwnPropertyDescriptor(exec, propertyName, descriptor) &amp;&amp; descriptor.enumerable();
&gt; +
&gt; +    RETURN_IF_EXCEPTION(scope, encodedJSValue());

this seems right. Why change it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532163</commentid>
    <comment_count>4</comment_count>
      <attachid>368740</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-01 18:01:44 -0700</bug_when>
    <thetext>Comment on attachment 368740
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:841
&gt;&gt; +    RETURN_IF_EXCEPTION(scope, encodedJSValue());
&gt; 
&gt; this seems right. Why change it?

You can use RETURN_IF_EXCEPTION(scope,{ }), but I don&apos;t think this change is necessary. getOwnPropertyDescriptor can the only one operation that can cause exception. so `scope.release()` and returning is OK.

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:3493
&gt;              descriptor.setSetter(getCustomGetterSetterFunctionForGetterSetter(exec, propertyName, getterSetter, JSCustomGetterSetterFunction::Type::Setter));

Can getCustomGetterSetterFunctionForGetterSetter throw exception? I think,

if (getterSetter-&gt;getter()) {
    auto* getter = getCustomGetterSetterFunctionForGetterSetter(exec, propertyName, getterSetter, JSCustomGetterSetterFunction::Type::Getter);
    RETURN_IF_EXCEPTION(scope, false);
    descriptor.setGetter(getter);
}

is necessary.

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:3495
&gt;          descriptor.setDescriptor(slot.getValue(exec, propertyName), slot.attributes());

And if we do the above thing, making it to,

JSValue value = slot.getValue(exec, propertyName);
RETURN_IF_EXCEPTION(scope, false);
descriptor.setDescriptor(value, slot.attributes());

would be nice.

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:3497
&gt; +    RETURN_IF_EXCEPTION(scope, false);

And we don&apos;t need this if the above changes are done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532172</commentid>
    <comment_count>5</comment_count>
      <attachid>368745</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-01 18:24:26 -0700</bug_when>
    <thetext>Created attachment 368745
Updated patch responding to review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532175</commentid>
    <comment_count>6</comment_count>
      <attachid>368747</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-01 18:37:02 -0700</bug_when>
    <thetext>Created attachment 368747
Refined the patch a little more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532186</commentid>
    <comment_count>7</comment_count>
      <attachid>368747</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-01 19:04:12 -0700</bug_when>
    <thetext>Comment on attachment 368747
Refined the patch a little more

Clearing flags on attachment: 368747

Committed r244862: &lt;https://trac.webkit.org/changeset/244862&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532187</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-01 19:04:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532293</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-02 09:06:47 -0700</bug_when>
    <thetext>This change broke other tests.  Rolling out...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532295</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-02 09:18:29 -0700</bug_when>
    <thetext>Rolled out in r244872: &lt;https://trac.webkit.org/changeset/244872&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538354</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-22 13:49:58 -0700</bug_when>
    <thetext>This was fixed in the related bug &lt;https://bugs.webkit.org/show_bug.cgi?id=197693&gt;.

*** This bug has been marked as a duplicate of bug 197693 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368740</attachid>
            <date>2019-05-01 17:54:32 -0700</date>
            <delta_ts>2019-05-01 18:24:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>197485.patch</filename>
            <type>text/plain</type>
            <size>4305</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDQ4NjEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE5LTA1LTAxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFtX25lZWRFeGNlcHRpb25DaGVj
ayB3aXRoIC0tdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MTsgUHJveHlPYmplY3QuZ2V0T3duUHJv
cGVydHlTbG90Q29tbW9uL0pTRnVuY3Rpb24uY2FsbGVyR2V0dGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc0ODUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdC4KKworICAgICAgICAqIHN0
cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qczogQWRkZWQu
CisgICAgICAgIChmb28pOgorCiAyMDE5LTA1LTAxICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJz
bGluZ0Bzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGNvcnJlY3Rpb24gdG8gVGVzdDI2
MiBleHBlY3RhdGlvbnMgZm9sbG93aW5nIHIyNDQ4MjguCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
cm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNr
cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0
eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAK
Ky8vQCBydW5XaXRob3V0QmFzZU9wdGlvbigiZGVmYXVsdCIsICItLXZhbGlkYXRlRXhjZXB0aW9u
Q2hlY2tzPTEiKQorCisvLyBUaGlzIHRlc3QgdGhhdCB3ZSBoYXZlIGFwcHJvcHJpYXRlIGV4Y2Vw
dGlvbiBjaGVjayBwcm9jZXNzaW5nIFByb3h5LmdldE93blByb3BlcnR5U2xvdHMKKworZnVuY3Rp
b24gZm9vKCkKK3sKK30KKworbGV0IGEgPSB7Li4ubmV3IFByb3h5KGZvbywge30pfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQ4NDgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTkt
MDUtMDEgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNT
RVJUSU9OIEZBSUxFRDogIW1fbmVlZEV4Y2VwdGlvbkNoZWNrIHdpdGggLS12YWxpZGF0ZUV4Y2Vw
dGlvbkNoZWNrcz0xOyBQcm94eU9iamVjdC5nZXRPd25Qcm9wZXJ0eVNsb3RDb21tb24vSlNGdW5j
dGlvbi5jYWxsZXJHZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NzQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZpeCBleGNlcHRpb25zIHNjb3BlcyB0aGF0IGNhbGwgaW50byBQcm94eS5nZXRP
d25Qcm9wZXJ0eVNsb3QoKSB0byBwcm9wZXJseSBjaGVjayBmb3IgZXhjZXB0aW9ucy4KKworICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKToKKwogMjAxOS0wNS0wMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViS2l0IGhhcyB0b28gbXVjaCBvZiBpdHMgb3duIFVURi04IGNvZGUgYW5kIHNob3Vs
ZCByZWx5IG1vcmUgb24gSUNVJ3MgVVRGLTggc3VwcG9ydApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNw
cAkocmV2aXNpb24gMjQ0ODQ4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzUsOSArODM1LDEw
IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZ2xvYmFsRnVuY1AKICAgICBhdXRvIHBy
b3BlcnR5TmFtZSA9IGV4ZWMtPnVuY2hlY2tlZEFyZ3VtZW50KDEpLnRvUHJvcGVydHlLZXkoZXhl
Yyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAK
LSAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0b3I7
CiAgICAgYm9vbCBlbnVtZXJhYmxlID0gb2JqZWN0LT5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
ZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yKSAmJiBkZXNjcmlwdG9yLmVudW1lcmFibGUo
KTsKKworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGVudW1lcmFibGUpKTsKIH0KIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNp
b24gMjQ0ODQ4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDQxLDkgKzM0NDEsMTIgQEAgc3RhdGljIEpTQ3VzdG9tR2V0
dGVyU2V0dGVyRnVuY3Rpb24qIGdldAogYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCiAgICAgSlNDOjpQcm9w
ZXJ0eVNsb3Qgc2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6R2V0
T3duUHJvcGVydHkpOwogICAgIGlmICghbWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNs
b3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKIAogICAgIC8vIERlYnVn
Z2VyU2NvcGU6OmdldE93blByb3BlcnR5U2xvdCgpIChhbmQgcG9zc2libHkgb3RoZXJzKSBtYXkg
cmV0dXJuIGF0dHJpYnV0ZXMgZnJvbSB0aGUgcHJvdG90eXBlIGNoYWluCiAgICAgLy8gYnV0IGdl
dE93blByb3BlcnR5RGVzY3JpcHRvcigpIHNob3VsZCBvbmx5IHdvcmsgZm9yICdvd24nIHByb3Bl
cnRpZXMgc28gd2UgZXhpdCBlYXJseSBpZiB3ZSBkZXRlY3QgdGhhdApAQCAtMzQ5MCw2ICszNDkz
LDggQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKAogICAgICAgICAg
ICAgZGVzY3JpcHRvci5zZXRTZXR0ZXIoZ2V0Q3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25Gb3JH
ZXR0ZXJTZXR0ZXIoZXhlYywgcHJvcGVydHlOYW1lLCBnZXR0ZXJTZXR0ZXIsIEpTQ3VzdG9tR2V0
dGVyU2V0dGVyRnVuY3Rpb246OlR5cGU6OlNldHRlcikpOwogICAgIH0gZWxzZQogICAgICAgICBk
ZXNjcmlwdG9yLnNldERlc2NyaXB0b3Ioc2xvdC5nZXRWYWx1ZShleGVjLCBwcm9wZXJ0eU5hbWUp
LCBzbG90LmF0dHJpYnV0ZXMoKSk7CisKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBm
YWxzZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>
<flag name="review"
          id="384967"
          type_id="1"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368745</attachid>
            <date>2019-05-01 18:24:26 -0700</date>
            <delta_ts>2019-05-01 18:37:02 -0700</delta_ts>
            <desc>Updated patch responding to review comments</desc>
            <filename>197485-2.patch</filename>
            <type>text/plain</type>
            <size>3414</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDQ4NjEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE5LTA1LTAxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFtX25lZWRFeGNlcHRpb25DaGVj
ayB3aXRoIC0tdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MTsgUHJveHlPYmplY3QuZ2V0T3duUHJv
cGVydHlTbG90Q29tbW9uL0pTRnVuY3Rpb24uY2FsbGVyR2V0dGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc0ODUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdC4KKworICAgICAgICAqIHN0
cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qczogQWRkZWQu
CisgICAgICAgIChmb28pOgorCiAyMDE5LTA1LTAxICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJz
bGluZ0Bzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGNvcnJlY3Rpb24gdG8gVGVzdDI2
MiBleHBlY3RhdGlvbnMgZm9sbG93aW5nIHIyNDQ4MjguCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
cm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNr
cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0
eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAK
Ky8vQCBydW5XaXRob3V0QmFzZU9wdGlvbigiZGVmYXVsdCIsICItLXZhbGlkYXRlRXhjZXB0aW9u
Q2hlY2tzPTEiKQorCisvLyBUaGlzIHRlc3QgdGhhdCB3ZSBoYXZlIGFwcHJvcHJpYXRlIGV4Y2Vw
dGlvbiBjaGVjayBwcm9jZXNzaW5nIFByb3h5LmdldE93blByb3BlcnR5U2xvdHMKKworZnVuY3Rp
b24gZm9vKCkKK3sKK30KKworbGV0IGEgPSB7Li4ubmV3IFByb3h5KGZvbywge30pfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQ4NDgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTkt
MDUtMDEgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNT
RVJUSU9OIEZBSUxFRDogIW1fbmVlZEV4Y2VwdGlvbkNoZWNrIHdpdGggLS12YWxpZGF0ZUV4Y2Vw
dGlvbkNoZWNrcz0xOyBQcm94eU9iamVjdC5nZXRPd25Qcm9wZXJ0eVNsb3RDb21tb24vSlNGdW5j
dGlvbi5jYWxsZXJHZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NzQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIGFuIEVYQ0VQVElPTl9BU1NFUlQgYWZ0ZXIgY2FsbCB0byBnZXRPd25Q
cm9wZXJ0eVNsb3QoKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKKwogMjAxOS0wNS0w
MSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IGhhcyB0
b28gbXVjaCBvZiBpdHMgb3duIFVURi04IGNvZGUgYW5kIHNob3VsZCByZWx5IG1vcmUgb24gSUNV
J3MgVVRGLTggc3VwcG9ydApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkocmV2aXNpb24gMjQ0ODQ4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDQxLDkgKzM0NDEsMTIgQEAg
c3RhdGljIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24qIGdldAogYm9vbCBKU09iamVjdDo6
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewogICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCiAgICAgSlNDOjpQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzLCBQcm9wZXJ0eVNsb3Q6OkludGVy
bmFsTWV0aG9kVHlwZTo6R2V0T3duUHJvcGVydHkpOwogICAgIGlmICghbWV0aG9kVGFibGUodm0p
LT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlv
bigpKTsKIAogICAgIC8vIERlYnVnZ2VyU2NvcGU6OmdldE93blByb3BlcnR5U2xvdCgpIChhbmQg
cG9zc2libHkgb3RoZXJzKSBtYXkgcmV0dXJuIGF0dHJpYnV0ZXMgZnJvbSB0aGUgcHJvdG90eXBl
IGNoYWluCiAgICAgLy8gYnV0IGdldE93blByb3BlcnR5RGVzY3JpcHRvcigpIHNob3VsZCBvbmx5
IHdvcmsgZm9yICdvd24nIHByb3BlcnRpZXMgc28gd2UgZXhpdCBlYXJseSBpZiB3ZSBkZXRlY3Qg
dGhhdApAQCAtMzQ5MCw2ICszNDkzLDggQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKAogICAgICAgICAgICAgZGVzY3JpcHRvci5zZXRTZXR0ZXIoZ2V0Q3VzdG9tR2V0
dGVyU2V0dGVyRnVuY3Rpb25Gb3JHZXR0ZXJTZXR0ZXIoZXhlYywgcHJvcGVydHlOYW1lLCBnZXR0
ZXJTZXR0ZXIsIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb246OlR5cGU6OlNldHRlcikpOwog
ICAgIH0gZWxzZQogICAgICAgICBkZXNjcmlwdG9yLnNldERlc2NyaXB0b3Ioc2xvdC5nZXRWYWx1
ZShleGVjLCBwcm9wZXJ0eU5hbWUpLCBzbG90LmF0dHJpYnV0ZXMoKSk7CisKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368747</attachid>
            <date>2019-05-01 18:37:02 -0700</date>
            <delta_ts>2019-05-01 19:04:12 -0700</delta_ts>
            <desc>Refined the patch a little more</desc>
            <filename>197485-3.patch</filename>
            <type>text/plain</type>
            <size>3448</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDQ4NjEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE5LTA1LTAxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFtX25lZWRFeGNlcHRpb25DaGVj
ayB3aXRoIC0tdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MTsgUHJveHlPYmplY3QuZ2V0T3duUHJv
cGVydHlTbG90Q29tbW9uL0pTRnVuY3Rpb24uY2FsbGVyR2V0dGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc0ODUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdC4KKworICAgICAgICAqIHN0
cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qczogQWRkZWQu
CisgICAgICAgIChmb28pOgorCiAyMDE5LTA1LTAxICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJz
bGluZ0Bzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGNvcnJlY3Rpb24gdG8gVGVzdDI2
MiBleHBlY3RhdGlvbnMgZm9sbG93aW5nIHIyNDQ4MjguCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
cm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0eVNsb3RzLWV4Y2VwdGlvbkNoZWNr
cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm94eS1nZXRPd25Qcm9wZXJ0
eVNsb3RzLWV4Y2VwdGlvbkNoZWNrcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAK
Ky8vQCBydW5XaXRob3V0QmFzZU9wdGlvbigiZGVmYXVsdCIsICItLXZhbGlkYXRlRXhjZXB0aW9u
Q2hlY2tzPTEiKQorCisvLyBUaGlzIHRlc3QgdGhhdCB3ZSBoYXZlIGFwcHJvcHJpYXRlIGV4Y2Vw
dGlvbiBjaGVjayBwcm9jZXNzaW5nIFByb3h5LmdldE93blByb3BlcnR5U2xvdHMKKworZnVuY3Rp
b24gZm9vKCkKK3sKK30KKworbGV0IGEgPSB7Li4ubmV3IFByb3h5KGZvbywge30pfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQ4NDgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTkt
MDUtMDEgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNT
RVJUSU9OIEZBSUxFRDogIW1fbmVlZEV4Y2VwdGlvbkNoZWNrIHdpdGggLS12YWxpZGF0ZUV4Y2Vw
dGlvbkNoZWNrcz0xOyBQcm94eU9iamVjdC5nZXRPd25Qcm9wZXJ0eVNsb3RDb21tb24vSlNGdW5j
dGlvbi5jYWxsZXJHZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NzQ4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIGFuIEVYQ0VQVElPTl9BU1NFUlQgYWZ0ZXIgY2FsbCB0byBnZXRPd25Q
cm9wZXJ0eVNsb3QoKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKToKKwogMjAxOS0wNS0w
MSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IGhhcyB0
b28gbXVjaCBvZiBpdHMgb3duIFVURi04IGNvZGUgYW5kIHNob3VsZCByZWx5IG1vcmUgb24gSUNV
J3MgVVRGLTggc3VwcG9ydApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkocmV2aXNpb24gMjQ0ODQ4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDQxLDEwICszNDQxLDE0IEBA
IHN0YXRpYyBKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uKiBnZXQKIGJvb2wgSlNPYmplY3Q6
OmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsKICAgICBWTSYg
dm0gPSBleGVjLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZt
KTsKKwogICAgIEpTQzo6UHJvcGVydHlTbG90IHNsb3QodGhpcywgUHJvcGVydHlTbG90OjpJbnRl
cm5hbE1ldGhvZFR5cGU6OkdldE93blByb3BlcnR5KTsKICAgICBpZiAoIW1ldGhvZFRhYmxlKHZt
KS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLQorICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2Vw
dGlvbigpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgCiAgICAgLy8gRGVidWdnZXJTY29w
ZTo6Z2V0T3duUHJvcGVydHlTbG90KCkgKGFuZCBwb3NzaWJseSBvdGhlcnMpIG1heSByZXR1cm4g
YXR0cmlidXRlcyBmcm9tIHRoZSBwcm90b3R5cGUgY2hhaW4KICAgICAvLyBidXQgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKCkgc2hvdWxkIG9ubHkgd29yayBmb3IgJ293bicgcHJvcGVydGllcyBz
byB3ZSBleGl0IGVhcmx5IGlmIHdlIGRldGVjdCB0aGF0CiAgICAgLy8gdGhlIHByb3BlcnR5IGlz
IG5vdCBhbiBvd24gcHJvcGVydHkuCkBAIC0zNDkwLDYgKzM0OTQsNyBAQCBib29sIEpTT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoCiAgICAgICAgICAgICBkZXNjcmlwdG9yLnNldFNl
dHRlcihnZXRDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbkZvckdldHRlclNldHRlcihleGVjLCBw
cm9wZXJ0eU5hbWUsIGdldHRlclNldHRlciwgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbjo6
VHlwZTo6U2V0dGVyKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGRlc2NyaXB0b3Iuc2V0RGVzY3Jp
cHRvcihzbG90LmdldFZhbHVlKGV4ZWMsIHByb3BlcnR5TmFtZSksIHNsb3QuYXR0cmlidXRlcygp
KTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>