<?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>180343</bug_id>
          
          <creation_ts>2017-12-03 22:32:54 -0800</creation_ts>
          <short_desc>We need to disableCaching() in ErrorInstance when we materialize properties</short_desc>
          <delta_ts>2017-12-11 19:24:49 -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>JavaScriptCore</component>
          <version>Safari Technology Preview</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377613</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-03 22:32:54 -0800</bug_when>
    <thetext>Hit this while looking up words on https://www.merriam-webster.com and keep it open in a background window (not a background tab).

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000004
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0x4:
--&gt; 
    __TEXT                 000000010016a000-000000010016c000 [    8K] r-x/rwx SM=COW  /Applications/Safari Technology Preview.app/Contents/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent

Application Specific Information:
Bundle controller class:
BrowserBundleController
 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x0000000104290a8e JSC::Structure::didCachePropertyReplacement(JSC::VM&amp;, int) + 14
1   com.apple.JavaScriptCore      	0x00000001048d6830 JSC::repatchPutByID(JSC::ExecState*, JSC::JSValue, JSC::Structure*, JSC::Identifier const&amp;, JSC::PutPropertySlot const&amp;, JSC::StructureStubInfo&amp;, JSC::PutKind) + 448
2   com.apple.JavaScriptCore      	0x00000001040a5f4b operationPutByIdStrictOptimize + 1547
3   ???                           	0x0000358a79be4a64 0 + 58868864272996
4   ???                           	0x0000358a79c8737d 0 + 58868864938877
5   ???                           	0x0000358a79c6266a 0 + 58868864788074
6   com.apple.JavaScriptCore      	0x00000001040cdcd0 vmEntryToJavaScript + 304
7   com.apple.JavaScriptCore      	0x00000001048970af JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 127
8   com.apple.JavaScriptCore      	0x0000000103f5fd6a JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 522
9   com.apple.JavaScriptCore      	0x00000001049ecf15 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 197
10  com.apple.WebCore             	0x0000000101f91120 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;) + 1200
11  com.apple.WebCore             	0x0000000101b44af8 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener&gt;, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;) + 568
12  com.apple.WebCore             	0x0000000101b446dc WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;) + 412
13  com.apple.WebCore             	0x0000000101b44525 WebCore::EventTarget::dispatchEvent(WebCore::Event&amp;) + 101
14  com.apple.WebCore             	0x000000010169d7e5 WebCore::XMLHttpRequest::callReadyStateChangeListener() + 149
15  com.apple.WebCore             	0x000000010297951e WebCore::XMLHttpRequest::networkErrorTimerFired() + 14
16  com.apple.WebCore             	0x00000001015f6690 WebCore::ThreadTimers::sharedTimerFiredInternal() + 176
17  com.apple.WebCore             	0x00000001015f65cf WebCore::timerFired(__CFRunLoopTimer*, void*) + 31
18  com.apple.CoreFoundation      	0x00007fff7a047e04 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
19  com.apple.CoreFoundation      	0x00007fff7a047a93 __CFRunLoopDoTimer + 1075
20  com.apple.CoreFoundation      	0x00007fff7a0475ea __CFRunLoopDoTimers + 298
21  com.apple.CoreFoundation      	0x00007fff7a03efc1 __CFRunLoopRun + 2081
22  com.apple.CoreFoundation      	0x00007fff7a03e544 CFRunLoopRunSpecific + 420
23  com.apple.HIToolbox           	0x00007fff7959debc RunCurrentEventLoopInMode + 240
24  com.apple.HIToolbox           	0x00007fff7959dcf1 ReceiveNextEventCommon + 432
25  com.apple.HIToolbox           	0x00007fff7959db26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
26  com.apple.AppKit              	0x00007fff77b36a54 _DPSNextEvent + 1120
27  com.apple.AppKit              	0x00007fff782b27ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
28  com.apple.AppKit              	0x00007fff77b2b3db -[NSApplication run] + 926
29  com.apple.AppKit              	0x00007fff77af5e0e NSApplicationMain + 1237
30  libxpc.dylib                  	0x00007fff8fe628c7 _xpc_objc_main + 775
31  libxpc.dylib                  	0x00007fff8fe612e4 xpc_main + 494
32  com.apple.WebKit.WebContent   	0x000000010016b695 0x10016a000 + 5781
33  libdyld.dylib                 	0x0000000101217235 start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377614</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-03 22:38:24 -0800</bug_when>
    <thetext>Hm... perhaps this happens after I&apos;ve moved the tab to background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377615</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-03 22:42:50 -0800</bug_when>
    <thetext>Yeah, it looks like I need to bring the tab to the background and after 10-20s, the tab would crash. It&apos;s not 100% reliable though. It&apos;s like ~50% probability for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377619</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 00:32:02 -0800</bug_when>
    <thetext>I’ll check this out</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377774</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-04 10:52:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/35833002&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378417</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-12-05 15:53:20 -0800</bug_when>
    <thetext>Hm... I can&apos;t reproduce this on STP44 so it might be already fixed now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380319</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-11 11:45:44 -0800</bug_when>
    <thetext>I can&apos;t reproduce this either but I know other people have seen this recently. I&apos;m going to look for ways to repro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380478</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-11 17:00:33 -0800</bug_when>
    <thetext>patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380494</commentid>
    <comment_count>8</comment_count>
      <attachid>329065</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-11 17:47:25 -0800</bug_when>
    <thetext>Created attachment 329065
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380495</commentid>
    <comment_count>9</comment_count>
      <attachid>329066</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-11 17:48:10 -0800</bug_when>
    <thetext>Created attachment 329066
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380499</commentid>
    <comment_count>10</comment_count>
      <attachid>329069</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-11 17:49:49 -0800</bug_when>
    <thetext>Created attachment 329069
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380501</commentid>
    <comment_count>11</comment_count>
      <attachid>329069</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-11 17:54:37 -0800</bug_when>
    <thetext>Comment on attachment 329069
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380526</commentid>
    <comment_count>12</comment_count>
      <attachid>329069</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-11 19:24:48 -0800</bug_when>
    <thetext>Comment on attachment 329069
patch

Clearing flags on attachment: 329069

Committed r225768: &lt;https://trac.webkit.org/changeset/225768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380527</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-11 19:24:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329065</attachid>
            <date>2017-12-11 17:47:25 -0800</date>
            <delta_ts>2017-12-11 17:48:10 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8068</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU3NjYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTEyLTExICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gZGlzYWJsZUNhY2hpbmcoKSBpbiBFcnJvckluc3Rh
bmNlIHdoZW4gd2UgbWF0ZXJpYWxpemUgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNTgzMzAwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy9kaXNhYmxlLWNhY2hpbmctd2hlbi1sYXp5LW1hdGVyaWFsaXppbmctZXJy
b3ItcHJvcGVydHktb24tcHV0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAg
IChtYWtlRXJyb3IpOgorICAgICAgICAoc3RvcmVUb1N0YWNrKToKKyAgICAgICAgKHN0b3JlVG9T
dGFja0FscmVhZHlNYXRlcmlhbGl6ZWQpOgorCiAyMDE3LTEyLTA1ICBKRiBCYXN0aWVuICA8amZi
YXN0aWVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogZG9uJ3QgZWFnZXJseSBj
aGVja3N1bQpJbmRleDogSlNUZXN0cy9zdHJlc3MvZGlzYWJsZS1jYWNoaW5nLXdoZW4tbGF6eS1t
YXRlcmlhbGl6aW5nLWVycm9yLXByb3BlcnR5LW9uLXB1dC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3N0cmVzcy9kaXNhYmxlLWNhY2hpbmctd2hlbi1sYXp5LW1hdGVyaWFsaXppbmctZXJyb3It
cHJvcGVydHktb24tcHV0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Rpc2Fi
bGUtY2FjaGluZy13aGVuLWxhenktbWF0ZXJpYWxpemluZy1lcnJvci1wcm9wZXJ0eS1vbi1wdXQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsK
KyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rpb24gbWFr
ZUVycm9yKCkgeyByZXR1cm4gbmV3IEVycm9yOyB9Citub0lubGluZShtYWtlRXJyb3IpOworCitm
dW5jdGlvbiBzdG9yZVRvU3RhY2soZSkgeworICAgIGUuc3RhY2sgPSAiZm9vIjsKK30KK25vSW5s
aW5lKHN0b3JlVG9TdGFjayk7CisKK2Z1bmN0aW9uIHN0b3JlVG9TdGFja0FscmVhZHlNYXRlcmlh
bGl6ZWQoZSkgeworICAgIGUuc3RhY2sgPSAiYmFyIjsKK30KK25vSW5saW5lKHN0b3JlVG9TdGFj
ayk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGxldCBlID0gbWFr
ZUVycm9yKCk7CisgICAgc3RvcmVUb1N0YWNrKGUpOworICAgIGFzc2VydChlLnN0YWNrID09PSAi
Zm9vIik7CisgICAgaWYgKCEhKGkgJSAyKSkKKyAgICAgICAgZS5mb29CYXIgPSAyNTsKKyAgICBz
dG9yZVRvU3RhY2tBbHJlYWR5TWF0ZXJpYWxpemVkKGUpOworICAgIGFzc2VydChlLnN0YWNrID09
PSAiYmFyIik7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNTc1
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyOCBAQAorMjAxNy0xMi0xMSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNv
bT4KKworICAgICAgICBXZSBuZWVkIHRvIGRpc2FibGVDYWNoaW5nKCkgaW4gRXJyb3JJbnN0YW5j
ZSB3aGVuIHdlIG1hdGVyaWFsaXplIHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM0MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzU4MzMwMDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBmaXhlcyBhIGJ1ZyBpbiBFcnJvckluc3RhbmNlIHdoZXJlIHdlIGZvcmdv
dCB0byBjYWxsIFB1dFByb3BlcnR5U2xvdDo6ZGlzYWJsZUNhY2hpbmcKKyAgICAgICAgb24gcHV0
cygpIHRvIGEgcHJvcGVydHkgdGhhdCB3ZSBsYXppbHkgbWF0ZXJpYWxpemVkLiBGb3JnZXR0aW5n
IHRvIGRvIHRoaXMgZ29lcyBhZ2FpbnN0IHRoZQorICAgICAgICBQdXRQcm9wZXJ0eVNsb3QncyBj
YWNoaW5nIEFQSS4gVGhpcyBsYXp5IG1hdGVyaWFsaXphdGlvbiBjYXVzZWQgdGhlIEVycm9ySW5z
dGFuY2UgdG8gdHJhbnNpdGlvbgorICAgICAgICBmcm9tIGEgU3RydWN0dXJlIEEgdG8gYSBTdHJ1
Y3R1cmUgQi4gSG93ZXZlciwgd2Ugd2VyZSB0ZWxsaW5nIHRoZSBJQyB0aGF0IHdlIHdlcmUgY2Fj
aGluZyBhbgorICAgICAgICBleGlzdGluZyBwcm9wZXJ0eSBvbmx5IGZvdW5kIG9uIFN0cnVjdHVy
ZSBCLiBUaGlzIGlzIG9idmlvdXNseSB3cm9uZyBhcyBpdCB3b3VsZCBsZWFkIHRvIGFuCisgICAg
ICAgIE9PQiBzdG9yZSBpZiB3ZSBkaWRuJ3QgYWxyZWFkeSBjcmFzaCB3aGVuIGdlbmVyYXRpbmcg
dGhlIElDLgorCisgICAgICAgICogaml0L1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjp0cnlD
YWNoZVB1dEJ5SUQpOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHA6CisgICAg
ICAgIChKU0M6OkVycm9ySW5zdGFuY2U6Om1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQpOgor
ICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpwdXQpOgorICAgICAgICAqIHJ1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oOgorICAgICAgICAqIHJ1bnRpbWUvUHJvcGVydHlPZmZzZXQuaDoKKyAgICAg
ICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6ZGlk
Q2FjaGVQcm9wZXJ0eVJlcGxhY2VtZW50KToKKwogMjAxNy0xMi0xMSAgRGF2aWQgUXVlc2FkYSAg
PGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgogCiAgICAgICAgIFR1cm4gb24gRU5BQkxFX0FQUExJ
Q0FUSU9OX01BTklGRVNUCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJ
KHJldmlzaW9uIDIyNTc1MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQyMiw2ICs0MjIsMTQgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogCiAgICAgICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNl
VmFsdWUgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAgICAgICAgICAgICBpZiAoc2xvdC50
eXBlKCkgPT0gUHV0UHJvcGVydHlTbG90OjpFeGlzdGluZ1Byb3BlcnR5KSB7CisgICAgICAgICAg
ICAgICAgLy8gVGhpcyBhc3NlcnQgaGVscHMgY2F0Y2ggYnVncyBpZiB3ZSBhY2NpZGVudGFsbHkg
Zm9yZ2V0IHRvIGRpc2FibGUgY2FjaGluZworICAgICAgICAgICAgICAgIC8vIHdoZW4gd2UgdHJh
bnNpdGlvbiB0aGVuIHN0b3JlIHRvIGFuIGV4aXN0aW5nIHByb3BlcnR5LiBUaGlzIGlzIGNvbW1v
biBhbW9uZworICAgICAgICAgICAgICAgIC8vIHBhdGhzIHRoYXQgcmVpZnkgbGF6eSBwcm9wZXJ0
aWVzLiBJZiB3ZSByZWlmeSBhIGxhenkgcHJvcGVydHkgYW5kIGZvcmdldAorICAgICAgICAgICAg
ICAgIC8vIHRvIGRpc2FibGUgY2FjaGluZywgd2UgbWF5IGNvbWUgZG93biB0aGlzIHBhdGguIFRo
ZSBSZXBsYWNlIElDIGRvZXMgbm90CisgICAgICAgICAgICAgICAgLy8ga25vdyBob3cgdG8gbW9k
ZWwgdGhlc2UgdHlwZXMgb2Ygc3RydWN0dXJlIHRyYW5zaXRpb25zIChvciBhbnkgc3RydWN0dXJl
CisgICAgICAgICAgICAgICAgLy8gdHJhbnNpdGlvbiBmb3IgdGhhdCBtYXR0ZXIpLgorICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZt
KSA9PSBzdHJ1Y3R1cmUpOworCiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5kaWRDYWNoZVBy
b3BlcnR5UmVwbGFjZW1lbnQodm0sIHNsb3QuY2FjaGVkT2Zmc2V0KCkpOwogICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgaWYgKHN0dWJJbmZvLmNhY2hlVHlwZSA9PSBDYWNoZVR5cGU6OlVu
c2V0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3Rh
bmNlLmNwcAkocmV2aXNpb24gMjI1NzUzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JJbnN0YW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMiwxMCArMjAyLDEwIEBA
IFN0cmluZyBFcnJvckluc3RhbmNlOjpzYW5pdGl6ZWRUb1N0cmluZygKICAgICByZXR1cm4gYnVp
bGRlci50b1N0cmluZygpOwogfQogCi12b2lkIEVycm9ySW5zdGFuY2U6Om1hdGVyaWFsaXplRXJy
b3JJbmZvSWZOZWVkZWQoVk0mIHZtKQorYm9vbCBFcnJvckluc3RhbmNlOjptYXRlcmlhbGl6ZUVy
cm9ySW5mb0lmTmVlZGVkKFZNJiB2bSkKIHsKICAgICBpZiAobV9lcnJvckluZm9NYXRlcmlhbGl6
ZWQpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIGFk
ZEVycm9ySW5mbyh2bSwgbV9zdGFja1RyYWNlLmdldCgpLCB0aGlzKTsKICAgICB7CkBAIC0yMTQs
MTUgKzIxNCwxNyBAQCB2b2lkIEVycm9ySW5zdGFuY2U6Om1hdGVyaWFsaXplRXJyb3JJbmZvCiAg
ICAgfQogICAgIAogICAgIG1fZXJyb3JJbmZvTWF0ZXJpYWxpemVkID0gdHJ1ZTsKKyAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBFcnJvckluc3RhbmNlOjptYXRlcmlhbGl6ZUVycm9ySW5mb0lm
TmVlZGVkKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK2Jvb2wgRXJyb3JJbnN0
YW5jZTo6bWF0ZXJpYWxpemVFcnJvckluZm9JZk5lZWRlZChWTSYgdm0sIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCiB7CiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVz
LT5saW5lCiAgICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5jb2x1
bW4KICAgICAgICAgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnNvdXJjZVVS
TAogICAgICAgICB8fCBwcm9wZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+c3RhY2spCi0g
ICAgICAgIG1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQodm0pOworICAgICAgICByZXR1cm4g
bWF0ZXJpYWxpemVFcnJvckluZm9JZk5lZWRlZCh2bSk7CisgICAgcmV0dXJuIGZhbHNlOwogfQog
CiB2b2lkIEVycm9ySW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKQEAgLTI3Niw3ICsyNzgsOSBAQCBib29sIEVycm9ySW5zdGFuY2U6OnB1
dChKU0NlbGwqIGNlbGwsIEV4CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBFcnJv
ckluc3RhbmNlKiB0aGlzT2JqZWN0ID0ganNDYXN0PEVycm9ySW5zdGFuY2UqPihjZWxsKTsKLSAg
ICB0aGlzT2JqZWN0LT5tYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKHZtLCBwcm9wZXJ0eU5h
bWUpOworICAgIGJvb2wgbWF0ZXJpYWxpemVkUHJvcGVydGllcyA9IHRoaXNPYmplY3QtPm1hdGVy
aWFsaXplRXJyb3JJbmZvSWZOZWVkZWQodm0sIHByb3BlcnR5TmFtZSk7CisgICAgaWYgKG1hdGVy
aWFsaXplZFByb3BlcnRpZXMpCisgICAgICAgIHNsb3QuZGlzYWJsZUNhY2hpbmcoKTsKICAgICBy
ZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNs
b3QpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3Rh
bmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJ
bnN0YW5jZS5oCShyZXZpc2lvbiAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FcnJvckluc3RhbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDggKzY5LDggQEAgcHVi
bGljOgogICAgIAogICAgIFZlY3RvcjxTdGFja0ZyYW1lPiogc3RhY2tUcmFjZSgpIHsgcmV0dXJu
IG1fc3RhY2tUcmFjZS5nZXQoKTsgfQogCi0gICAgdm9pZCBtYXRlcmlhbGl6ZUVycm9ySW5mb0lm
TmVlZGVkKFZNJik7Ci0gICAgdm9pZCBtYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKFZNJiwg
UHJvcGVydHlOYW1lKTsKKyAgICBib29sIG1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQoVk0m
KTsKKyAgICBib29sIG1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQoVk0mLCBQcm9wZXJ0eU5h
bWUpOwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYsIFN0cnVj
dHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlPZmZz
ZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0
eU9mZnNldC5oCShyZXZpc2lvbiAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm9wZXJ0eU9mZnNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIGlu
bGluZSB2b2lkIGNoZWNrT2Zmc2V0KFByb3BlcnR5T2Zmc2V0KTsKIGlubGluZSB2b2lkIGNoZWNr
T2Zmc2V0KFByb3BlcnR5T2Zmc2V0LCBpbnQgaW5saW5lQ2FwYWNpdHkpOwogaW5saW5lIHZvaWQg
dmFsaWRhdGVPZmZzZXQoUHJvcGVydHlPZmZzZXQpOwogaW5saW5lIHZvaWQgdmFsaWRhdGVPZmZz
ZXQoUHJvcGVydHlPZmZzZXQsIGludCBpbmxpbmVDYXBhY2l0eSk7Ci1pbmxpbmUgYm9vbCBpc1Zh
bGlkT2Zmc2V0KFByb3BlcnR5T2Zmc2V0KTsKK2lubGluZSBib29sIGlFdmVudFRhcmdldHNWYWxp
ZE9mZnNldChQcm9wZXJ0eU9mZnNldCk7CiBpbmxpbmUgYm9vbCBpc0lubGluZU9mZnNldChQcm9w
ZXJ0eU9mZnNldCk7CiBpbmxpbmUgYm9vbCBpc091dE9mTGluZU9mZnNldChQcm9wZXJ0eU9mZnNl
dCk7CiBpbmxpbmUgc2l6ZV90IG9mZnNldEluSW5saW5lU3RvcmFnZShQcm9wZXJ0eU9mZnNldCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJl
dmlzaW9uIDIyNTc1MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3Myw2ICs4NzMsNyBAQCB2b2lkIFN0cnVjdHVyZTo6
c3RhcnRXYXRjaGluZ1Byb3BlcnR5Rm9yCiAKIHZvaWQgU3RydWN0dXJlOjpkaWRDYWNoZVByb3Bl
cnR5UmVwbGFjZW1lbnQoVk0mIHZtLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CisgICAgUkVM
RUFTRV9BU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICBlbnN1cmVQcm9wZXJ0eVJl
cGxhY2VtZW50V2F0Y2hwb2ludFNldCh2bSwgb2Zmc2V0KS0+ZmlyZUFsbCh2bSwgIkRpZCBjYWNo
ZSBwcm9wZXJ0eSByZXBsYWNlbWVudCIpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329066</attachid>
            <date>2017-12-11 17:48:10 -0800</date>
            <delta_ts>2017-12-11 17:49:49 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8087</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU3NjYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTEyLTExICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gZGlzYWJsZUNhY2hpbmcoKSBpbiBFcnJvckluc3Rh
bmNlIHdoZW4gd2UgbWF0ZXJpYWxpemUgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNTgzMzAwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy9kaXNhYmxlLWNhY2hpbmctd2hlbi1sYXp5LW1hdGVyaWFsaXppbmctZXJy
b3ItcHJvcGVydHktb24tcHV0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAg
IChtYWtlRXJyb3IpOgorICAgICAgICAoc3RvcmVUb1N0YWNrKToKKyAgICAgICAgKHN0b3JlVG9T
dGFja0FscmVhZHlNYXRlcmlhbGl6ZWQpOgorCiAyMDE3LTEyLTA1ICBKRiBCYXN0aWVuICA8amZi
YXN0aWVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogZG9uJ3QgZWFnZXJseSBj
aGVja3N1bQpJbmRleDogSlNUZXN0cy9zdHJlc3MvZGlzYWJsZS1jYWNoaW5nLXdoZW4tbGF6eS1t
YXRlcmlhbGl6aW5nLWVycm9yLXByb3BlcnR5LW9uLXB1dC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3N0cmVzcy9kaXNhYmxlLWNhY2hpbmctd2hlbi1sYXp5LW1hdGVyaWFsaXppbmctZXJyb3It
cHJvcGVydHktb24tcHV0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Rpc2Fi
bGUtY2FjaGluZy13aGVuLWxhenktbWF0ZXJpYWxpemluZy1lcnJvci1wcm9wZXJ0eS1vbi1wdXQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsK
KyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rpb24gbWFr
ZUVycm9yKCkgeyByZXR1cm4gbmV3IEVycm9yOyB9Citub0lubGluZShtYWtlRXJyb3IpOworCitm
dW5jdGlvbiBzdG9yZVRvU3RhY2soZSkgeworICAgIGUuc3RhY2sgPSAiZm9vIjsKK30KK25vSW5s
aW5lKHN0b3JlVG9TdGFjayk7CisKK2Z1bmN0aW9uIHN0b3JlVG9TdGFja0FscmVhZHlNYXRlcmlh
bGl6ZWQoZSkgeworICAgIGUuc3RhY2sgPSAiYmFyIjsKK30KK25vSW5saW5lKHN0b3JlVG9TdGFj
a0FscmVhZHlNYXRlcmlhbGl6ZWQpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kp
IHsKKyAgICBsZXQgZSA9IG1ha2VFcnJvcigpOworICAgIHN0b3JlVG9TdGFjayhlKTsKKyAgICBh
c3NlcnQoZS5zdGFjayA9PT0gImZvbyIpOworICAgIGlmICghIShpICUgMikpCisgICAgICAgIGUu
Zm9vQmFyID0gMjU7CisgICAgc3RvcmVUb1N0YWNrQWxyZWFkeU1hdGVyaWFsaXplZChlKTsKKyAg
ICBhc3NlcnQoZS5zdGFjayA9PT0gImJhciIpOworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTctMTItMTEgIFNhYW0gQmFyYXRp
ICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgV2UgbmVlZCB0byBkaXNhYmxlQ2FjaGlu
ZygpIGluIEVycm9ySW5zdGFuY2Ugd2hlbiB3ZSBtYXRlcmlhbGl6ZSBwcm9wZXJ0aWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNDMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzM1ODMzMDAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBidWcgaW4gRXJyb3JJbnN0
YW5jZSB3aGVyZSB3ZSBmb3Jnb3QgdG8gY2FsbCBQdXRQcm9wZXJ0eVNsb3Q6OmRpc2FibGVDYWNo
aW5nCisgICAgICAgIG9uIHB1dHMoKSB0byBhIHByb3BlcnR5IHRoYXQgd2UgbGF6aWx5IG1hdGVy
aWFsaXplZC4gRm9yZ2V0dGluZyB0byBkbyB0aGlzIGdvZXMgYWdhaW5zdCB0aGUKKyAgICAgICAg
UHV0UHJvcGVydHlTbG90J3MgY2FjaGluZyBBUEkuIFRoaXMgbGF6eSBtYXRlcmlhbGl6YXRpb24g
Y2F1c2VkIHRoZSBFcnJvckluc3RhbmNlIHRvIHRyYW5zaXRpb24KKyAgICAgICAgZnJvbSBhIFN0
cnVjdHVyZSBBIHRvIGEgU3RydWN0dXJlIEIuIEhvd2V2ZXIsIHdlIHdlcmUgdGVsbGluZyB0aGUg
SUMgdGhhdCB3ZSB3ZXJlIGNhY2hpbmcgYW4KKyAgICAgICAgZXhpc3RpbmcgcHJvcGVydHkgb25s
eSBmb3VuZCBvbiBTdHJ1Y3R1cmUgQi4gVGhpcyBpcyBvYnZpb3VzbHkgd3JvbmcgYXMgaXQgd291
bGQgbGVhZCB0byBhbgorICAgICAgICBPT0Igc3RvcmUgaWYgd2UgZGlkbid0IGFscmVhZHkgY3Jh
c2ggd2hlbiBnZW5lcmF0aW5nIHRoZSBJQy4KKworICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoK
KyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVQdXRCeUlEKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9y
SW5zdGFuY2UuY3BwOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjptYXRlcmlhbGl6ZUVy
cm9ySW5mb0lmTmVlZGVkKToKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6cHV0KToKKyAg
ICAgICAgKiBydW50aW1lL0Vycm9ySW5zdGFuY2UuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3Bl
cnR5T2Zmc2V0Lmg6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmU6OmRpZENhY2hlUHJvcGVydHlSZXBsYWNlbWVudCk6CisKIDIwMTctMTIt
MTEgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBU
dXJuIG9uIEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjIsNiArNDIyLDE0IEBA
IHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKIAogICAgICAgICBpZiAo
c2xvdC5iYXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogICAg
ICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhpc3RpbmdQcm9w
ZXJ0eSkgeworICAgICAgICAgICAgICAgIC8vIFRoaXMgYXNzZXJ0IGhlbHBzIGNhdGNoIGJ1Z3Mg
aWYgd2UgYWNjaWRlbnRhbGx5IGZvcmdldCB0byBkaXNhYmxlIGNhY2hpbmcKKyAgICAgICAgICAg
ICAgICAvLyB3aGVuIHdlIHRyYW5zaXRpb24gdGhlbiBzdG9yZSB0byBhbiBleGlzdGluZyBwcm9w
ZXJ0eS4gVGhpcyBpcyBjb21tb24gYW1vbmcKKyAgICAgICAgICAgICAgICAvLyBwYXRocyB0aGF0
IHJlaWZ5IGxhenkgcHJvcGVydGllcy4gSWYgd2UgcmVpZnkgYSBsYXp5IHByb3BlcnR5IGFuZCBm
b3JnZXQKKyAgICAgICAgICAgICAgICAvLyB0byBkaXNhYmxlIGNhY2hpbmcsIHdlIG1heSBjb21l
IGRvd24gdGhpcyBwYXRoLiBUaGUgUmVwbGFjZSBJQyBkb2VzIG5vdAorICAgICAgICAgICAgICAg
IC8vIGtub3cgaG93IHRvIG1vZGVsIHRoZXNlIHR5cGVzIG9mIHN0cnVjdHVyZSB0cmFuc2l0aW9u
cyAob3IgYW55IHN0cnVjdHVyZQorICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb24gZm9yIHRo
YXQgbWF0dGVyKS4KKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChiYXNlVmFsdWUuYXND
ZWxsKCktPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKTsKKwogICAgICAgICAgICAgICAgIHN0
cnVjdHVyZS0+ZGlkQ2FjaGVQcm9wZXJ0eVJlcGxhY2VtZW50KHZtLCBzbG90LmNhY2hlZE9mZnNl
dCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGlmIChzdHViSW5mby5jYWNoZVR5
cGUgPT0gQ2FjaGVUeXBlOjpVbnNldApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JJbnN0YW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAJKHJldmlzaW9uIDIyNTc1MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMDIsMTAgKzIwMiwxMCBAQCBTdHJpbmcgRXJyb3JJbnN0YW5jZTo6c2FuaXRpemVkVG9TdHJp
bmcoCiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKIH0KIAotdm9pZCBFcnJvckluc3Rh
bmNlOjptYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKFZNJiB2bSkKK2Jvb2wgRXJyb3JJbnN0
YW5jZTo6bWF0ZXJpYWxpemVFcnJvckluZm9JZk5lZWRlZChWTSYgdm0pCiB7CiAgICAgaWYgKG1f
ZXJyb3JJbmZvTWF0ZXJpYWxpemVkKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAKICAgICBhZGRFcnJvckluZm8odm0sIG1fc3RhY2tUcmFjZS5nZXQoKSwgdGhp
cyk7CiAgICAgewpAQCAtMjE0LDE1ICsyMTQsMTcgQEAgdm9pZCBFcnJvckluc3RhbmNlOjptYXRl
cmlhbGl6ZUVycm9ySW5mbwogICAgIH0KICAgICAKICAgICBtX2Vycm9ySW5mb01hdGVyaWFsaXpl
ZCA9IHRydWU7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgRXJyb3JJbnN0YW5jZTo6bWF0
ZXJpYWxpemVFcnJvckluZm9JZk5lZWRlZChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpCitib29sIEVycm9ySW5zdGFuY2U6Om1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQoVk0m
IHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIGlmIChwcm9wZXJ0eU5hbWUg
PT0gdm0ucHJvcGVydHlOYW1lcy0+bGluZQogICAgICAgICB8fCBwcm9wZXJ0eU5hbWUgPT0gdm0u
cHJvcGVydHlOYW1lcy0+Y29sdW1uCiAgICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSB2bS5wcm9w
ZXJ0eU5hbWVzLT5zb3VyY2VVUkwKICAgICAgICAgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3Bl
cnR5TmFtZXMtPnN0YWNrKQotICAgICAgICBtYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKHZt
KTsKKyAgICAgICAgcmV0dXJuIG1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQodm0pOworICAg
IHJldHVybiBmYWxzZTsKIH0KIAogdm9pZCBFcnJvckluc3RhbmNlOjp2aXNpdENoaWxkcmVuKEpT
Q2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0yNzYsNyArMjc4LDkgQEAgYm9v
bCBFcnJvckluc3RhbmNlOjpwdXQoSlNDZWxsKiBjZWxsLCBFeAogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgRXJyb3JJbnN0YW5jZSogdGhpc09iamVjdCA9IGpzQ2FzdDxFcnJvcklu
c3RhbmNlKj4oY2VsbCk7Ci0gICAgdGhpc09iamVjdC0+bWF0ZXJpYWxpemVFcnJvckluZm9JZk5l
ZWRlZCh2bSwgcHJvcGVydHlOYW1lKTsKKyAgICBib29sIG1hdGVyaWFsaXplZFByb3BlcnRpZXMg
PSB0aGlzT2JqZWN0LT5tYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKHZtLCBwcm9wZXJ0eU5h
bWUpOworICAgIGlmIChtYXRlcmlhbGl6ZWRQcm9wZXJ0aWVzKQorICAgICAgICBzbG90LmRpc2Fi
bGVDYWNoaW5nKCk7CiAgICAgcmV0dXJuIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaAkocmV2aXNpb24gMjI1NzUzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC02OSw4ICs2OSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBWZWN0b3I8U3RhY2tGcmFtZT4qIHN0
YWNrVHJhY2UoKSB7IHJldHVybiBtX3N0YWNrVHJhY2UuZ2V0KCk7IH0KIAotICAgIHZvaWQgbWF0
ZXJpYWxpemVFcnJvckluZm9JZk5lZWRlZChWTSYpOwotICAgIHZvaWQgbWF0ZXJpYWxpemVFcnJv
ckluZm9JZk5lZWRlZChWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgYm9vbCBtYXRlcmlhbGl6ZUVy
cm9ySW5mb0lmTmVlZGVkKFZNJik7CisgICAgYm9vbCBtYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVl
ZGVkKFZNJiwgUHJvcGVydHlOYW1lKTsKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IEVycm9y
SW5zdGFuY2UoVk0mLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5T2Zmc2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlPZmZzZXQuaAkocmV2aXNpb24gMjI1NzUzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlPZmZzZXQuaAkod29ya2luZyBjb3B5KQpA
QCAtNDEsNyArNDEsNyBAQCBpbmxpbmUgdm9pZCBjaGVja09mZnNldChQcm9wZXJ0eU9mZnNldCk7
CiBpbmxpbmUgdm9pZCBjaGVja09mZnNldChQcm9wZXJ0eU9mZnNldCwgaW50IGlubGluZUNhcGFj
aXR5KTsKIGlubGluZSB2b2lkIHZhbGlkYXRlT2Zmc2V0KFByb3BlcnR5T2Zmc2V0KTsKIGlubGlu
ZSB2b2lkIHZhbGlkYXRlT2Zmc2V0KFByb3BlcnR5T2Zmc2V0LCBpbnQgaW5saW5lQ2FwYWNpdHkp
OwotaW5saW5lIGJvb2wgaXNWYWxpZE9mZnNldChQcm9wZXJ0eU9mZnNldCk7CitpbmxpbmUgYm9v
bCBpRXZlbnRUYXJnZXRzVmFsaWRPZmZzZXQoUHJvcGVydHlPZmZzZXQpOwogaW5saW5lIGJvb2wg
aXNJbmxpbmVPZmZzZXQoUHJvcGVydHlPZmZzZXQpOwogaW5saW5lIGJvb2wgaXNPdXRPZkxpbmVP
ZmZzZXQoUHJvcGVydHlPZmZzZXQpOwogaW5saW5lIHNpemVfdCBvZmZzZXRJbklubGluZVN0b3Jh
Z2UoUHJvcGVydHlPZmZzZXQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NzMsNiArODczLDcg
QEAgdm9pZCBTdHJ1Y3R1cmU6OnN0YXJ0V2F0Y2hpbmdQcm9wZXJ0eUZvcgogCiB2b2lkIFN0cnVj
dHVyZTo6ZGlkQ2FjaGVQcm9wZXJ0eVJlcGxhY2VtZW50KFZNJiB2bSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0KQogeworICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAg
ICAgZW5zdXJlUHJvcGVydHlSZXBsYWNlbWVudFdhdGNocG9pbnRTZXQodm0sIG9mZnNldCktPmZp
cmVBbGwodm0sICJEaWQgY2FjaGUgcHJvcGVydHkgcmVwbGFjZW1lbnQiKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329069</attachid>
            <date>2017-12-11 17:49:49 -0800</date>
            <delta_ts>2017-12-11 19:24:48 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>7316</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU3NjYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTEyLTExICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gZGlzYWJsZUNhY2hpbmcoKSBpbiBFcnJvckluc3Rh
bmNlIHdoZW4gd2UgbWF0ZXJpYWxpemUgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzQzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNTgzMzAwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy9kaXNhYmxlLWNhY2hpbmctd2hlbi1sYXp5LW1hdGVyaWFsaXppbmctZXJy
b3ItcHJvcGVydHktb24tcHV0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAg
IChtYWtlRXJyb3IpOgorICAgICAgICAoc3RvcmVUb1N0YWNrKToKKyAgICAgICAgKHN0b3JlVG9T
dGFja0FscmVhZHlNYXRlcmlhbGl6ZWQpOgorCiAyMDE3LTEyLTA1ICBKRiBCYXN0aWVuICA8amZi
YXN0aWVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogZG9uJ3QgZWFnZXJseSBj
aGVja3N1bQpJbmRleDogSlNUZXN0cy9zdHJlc3MvZGlzYWJsZS1jYWNoaW5nLXdoZW4tbGF6eS1t
YXRlcmlhbGl6aW5nLWVycm9yLXByb3BlcnR5LW9uLXB1dC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3N0cmVzcy9kaXNhYmxlLWNhY2hpbmctd2hlbi1sYXp5LW1hdGVyaWFsaXppbmctZXJyb3It
cHJvcGVydHktb24tcHV0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2Rpc2Fi
bGUtY2FjaGluZy13aGVuLWxhenktbWF0ZXJpYWxpemluZy1lcnJvci1wcm9wZXJ0eS1vbi1wdXQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsK
KyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rpb24gbWFr
ZUVycm9yKCkgeyByZXR1cm4gbmV3IEVycm9yOyB9Citub0lubGluZShtYWtlRXJyb3IpOworCitm
dW5jdGlvbiBzdG9yZVRvU3RhY2soZSkgeworICAgIGUuc3RhY2sgPSAiZm9vIjsKK30KK25vSW5s
aW5lKHN0b3JlVG9TdGFjayk7CisKK2Z1bmN0aW9uIHN0b3JlVG9TdGFja0FscmVhZHlNYXRlcmlh
bGl6ZWQoZSkgeworICAgIGUuc3RhY2sgPSAiYmFyIjsKK30KK25vSW5saW5lKHN0b3JlVG9TdGFj
a0FscmVhZHlNYXRlcmlhbGl6ZWQpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kp
IHsKKyAgICBsZXQgZSA9IG1ha2VFcnJvcigpOworICAgIHN0b3JlVG9TdGFjayhlKTsKKyAgICBh
c3NlcnQoZS5zdGFjayA9PT0gImZvbyIpOworICAgIGlmICghIShpICUgMikpCisgICAgICAgIGUu
Zm9vQmFyID0gMjU7CisgICAgc3RvcmVUb1N0YWNrQWxyZWFkeU1hdGVyaWFsaXplZChlKTsKKyAg
ICBhc3NlcnQoZS5zdGFjayA9PT0gImJhciIpOworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTctMTItMTEgIFNhYW0gQmFyYXRp
ICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgV2UgbmVlZCB0byBkaXNhYmxlQ2FjaGlu
ZygpIGluIEVycm9ySW5zdGFuY2Ugd2hlbiB3ZSBtYXRlcmlhbGl6ZSBwcm9wZXJ0aWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNDMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzM1ODMzMDAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBidWcgaW4gRXJyb3JJbnN0
YW5jZSB3aGVyZSB3ZSBmb3Jnb3QgdG8gY2FsbCBQdXRQcm9wZXJ0eVNsb3Q6OmRpc2FibGVDYWNo
aW5nCisgICAgICAgIG9uIHB1dHMoKSB0byBhIHByb3BlcnR5IHRoYXQgd2UgbGF6aWx5IG1hdGVy
aWFsaXplZC4gRm9yZ2V0dGluZyB0byBkbyB0aGlzIGdvZXMgYWdhaW5zdCB0aGUKKyAgICAgICAg
UHV0UHJvcGVydHlTbG90J3MgY2FjaGluZyBBUEkuIFRoaXMgbGF6eSBtYXRlcmlhbGl6YXRpb24g
Y2F1c2VkIHRoZSBFcnJvckluc3RhbmNlIHRvIHRyYW5zaXRpb24KKyAgICAgICAgZnJvbSBhIFN0
cnVjdHVyZSBBIHRvIGEgU3RydWN0dXJlIEIuIEhvd2V2ZXIsIHdlIHdlcmUgdGVsbGluZyB0aGUg
SUMgdGhhdCB3ZSB3ZXJlIGNhY2hpbmcgYW4KKyAgICAgICAgZXhpc3RpbmcgcHJvcGVydHkgb25s
eSBmb3VuZCBvbiBTdHJ1Y3R1cmUgQi4gVGhpcyBpcyBvYnZpb3VzbHkgd3JvbmcgYXMgaXQgd291
bGQgbGVhZCB0byBhbgorICAgICAgICBPT0Igc3RvcmUgaWYgd2UgZGlkbid0IGFscmVhZHkgY3Jh
c2ggd2hlbiBnZW5lcmF0aW5nIHRoZSBJQy4KKworICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoK
KyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVQdXRCeUlEKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9y
SW5zdGFuY2UuY3BwOgorICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjptYXRlcmlhbGl6ZUVy
cm9ySW5mb0lmTmVlZGVkKToKKyAgICAgICAgKEpTQzo6RXJyb3JJbnN0YW5jZTo6cHV0KToKKyAg
ICAgICAgKiBydW50aW1lL0Vycm9ySW5zdGFuY2UuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVj
dHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6ZGlkQ2FjaGVQcm9wZXJ0eVJlcGxh
Y2VtZW50KToKKwogMjAxNy0xMi0xMSAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBw
bGUuY29tPgogCiAgICAgICAgIFR1cm4gb24gRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIyNTc1MykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQyMiw2ICs0MjIsMTQgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0
QnlJRAogCiAgICAgICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNlVmFsdWUgJiYgc2xvdC5pc0Nh
Y2hlYWJsZVB1dCgpKSB7CiAgICAgICAgICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVy
dHlTbG90OjpFeGlzdGluZ1Byb3BlcnR5KSB7CisgICAgICAgICAgICAgICAgLy8gVGhpcyBhc3Nl
cnQgaGVscHMgY2F0Y2ggYnVncyBpZiB3ZSBhY2NpZGVudGFsbHkgZm9yZ2V0IHRvIGRpc2FibGUg
Y2FjaGluZworICAgICAgICAgICAgICAgIC8vIHdoZW4gd2UgdHJhbnNpdGlvbiB0aGVuIHN0b3Jl
IHRvIGFuIGV4aXN0aW5nIHByb3BlcnR5LiBUaGlzIGlzIGNvbW1vbiBhbW9uZworICAgICAgICAg
ICAgICAgIC8vIHBhdGhzIHRoYXQgcmVpZnkgbGF6eSBwcm9wZXJ0aWVzLiBJZiB3ZSByZWlmeSBh
IGxhenkgcHJvcGVydHkgYW5kIGZvcmdldAorICAgICAgICAgICAgICAgIC8vIHRvIGRpc2FibGUg
Y2FjaGluZywgd2UgbWF5IGNvbWUgZG93biB0aGlzIHBhdGguIFRoZSBSZXBsYWNlIElDIGRvZXMg
bm90CisgICAgICAgICAgICAgICAgLy8ga25vdyBob3cgdG8gbW9kZWwgdGhlc2UgdHlwZXMgb2Yg
c3RydWN0dXJlIHRyYW5zaXRpb25zIChvciBhbnkgc3RydWN0dXJlCisgICAgICAgICAgICAgICAg
Ly8gdHJhbnNpdGlvbiBmb3IgdGhhdCBtYXR0ZXIpLgorICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKSA9PSBzdHJ1Y3R1cmUpOwor
CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5kaWRDYWNoZVByb3BlcnR5UmVwbGFjZW1lbnQo
dm0sIHNsb3QuY2FjaGVkT2Zmc2V0KCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
aWYgKHN0dWJJbmZvLmNhY2hlVHlwZSA9PSBDYWNoZVR5cGU6OlVuc2V0CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcAkocmV2aXNpb24g
MjI1NzUzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMiwxMCArMjAyLDEwIEBAIFN0cmluZyBFcnJvckluc3Rh
bmNlOjpzYW5pdGl6ZWRUb1N0cmluZygKICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwog
fQogCi12b2lkIEVycm9ySW5zdGFuY2U6Om1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQoVk0m
IHZtKQorYm9vbCBFcnJvckluc3RhbmNlOjptYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKFZN
JiB2bSkKIHsKICAgICBpZiAobV9lcnJvckluZm9NYXRlcmlhbGl6ZWQpCi0gICAgICAgIHJldHVy
bjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIGFkZEVycm9ySW5mbyh2bSwgbV9z
dGFja1RyYWNlLmdldCgpLCB0aGlzKTsKICAgICB7CkBAIC0yMTQsMTUgKzIxNCwxNyBAQCB2b2lk
IEVycm9ySW5zdGFuY2U6Om1hdGVyaWFsaXplRXJyb3JJbmZvCiAgICAgfQogICAgIAogICAgIG1f
ZXJyb3JJbmZvTWF0ZXJpYWxpemVkID0gdHJ1ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9p
ZCBFcnJvckluc3RhbmNlOjptYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKFZNJiB2bSwgUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK2Jvb2wgRXJyb3JJbnN0YW5jZTo6bWF0ZXJpYWxpemVF
cnJvckluZm9JZk5lZWRlZChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAg
ICAgaWYgKHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5saW5lCiAgICAgICAgIHx8
IHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5jb2x1bW4KICAgICAgICAgfHwgcHJv
cGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnNvdXJjZVVSTAogICAgICAgICB8fCBwcm9w
ZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+c3RhY2spCi0gICAgICAgIG1hdGVyaWFsaXpl
RXJyb3JJbmZvSWZOZWVkZWQodm0pOworICAgICAgICByZXR1cm4gbWF0ZXJpYWxpemVFcnJvcklu
Zm9JZk5lZWRlZCh2bSk7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB2b2lkIEVycm9ySW5zdGFu
Y2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKQEAg
LTI3Niw3ICsyNzgsOSBAQCBib29sIEVycm9ySW5zdGFuY2U6OnB1dChKU0NlbGwqIGNlbGwsIEV4
CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBFcnJvckluc3RhbmNlKiB0aGlzT2Jq
ZWN0ID0ganNDYXN0PEVycm9ySW5zdGFuY2UqPihjZWxsKTsKLSAgICB0aGlzT2JqZWN0LT5tYXRl
cmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKHZtLCBwcm9wZXJ0eU5hbWUpOworICAgIGJvb2wgbWF0
ZXJpYWxpemVkUHJvcGVydGllcyA9IHRoaXNPYmplY3QtPm1hdGVyaWFsaXplRXJyb3JJbmZvSWZO
ZWVkZWQodm0sIHByb3BlcnR5TmFtZSk7CisgICAgaWYgKG1hdGVyaWFsaXplZFByb3BlcnRpZXMp
CisgICAgICAgIHNsb3QuZGlzYWJsZUNhY2hpbmcoKTsKICAgICByZXR1cm4gQmFzZTo6cHV0KHRo
aXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogfQogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCShyZXZpc2lv
biAyMjU3NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDggKzY5LDggQEAgcHVibGljOgogICAgIAogICAgIFZl
Y3RvcjxTdGFja0ZyYW1lPiogc3RhY2tUcmFjZSgpIHsgcmV0dXJuIG1fc3RhY2tUcmFjZS5nZXQo
KTsgfQogCi0gICAgdm9pZCBtYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKFZNJik7Ci0gICAg
dm9pZCBtYXRlcmlhbGl6ZUVycm9ySW5mb0lmTmVlZGVkKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAg
ICBib29sIG1hdGVyaWFsaXplRXJyb3JJbmZvSWZOZWVkZWQoVk0mKTsKKyAgICBib29sIG1hdGVy
aWFsaXplRXJyb3JJbmZvSWZOZWVkZWQoVk0mLCBQcm9wZXJ0eU5hbWUpOwogCiBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgRXJyb3JJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSopOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjU3
NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NzMsNiArODczLDcgQEAgdm9pZCBTdHJ1Y3R1cmU6OnN0YXJ0V2F0Y2hp
bmdQcm9wZXJ0eUZvcgogCiB2b2lkIFN0cnVjdHVyZTo6ZGlkQ2FjaGVQcm9wZXJ0eVJlcGxhY2Vt
ZW50KFZNJiB2bSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogeworICAgIFJFTEVBU0VfQVNTRVJU
KGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAgZW5zdXJlUHJvcGVydHlSZXBsYWNlbWVudFdh
dGNocG9pbnRTZXQodm0sIG9mZnNldCktPmZpcmVBbGwodm0sICJEaWQgY2FjaGUgcHJvcGVydHkg
cmVwbGFjZW1lbnQiKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>