<?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>89526</bug_id>
          
          <creation_ts>2012-06-19 16:27:30 -0700</creation_ts>
          <short_desc>Crash at WebCore::TextIterator::handleTextBox</short_desc>
          <delta_ts>2012-06-26 16:34:42 -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>HTML Editing</component>
          <version>528+ (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>0</everconfirmed>
          <reporter name="Alice Cheng">alice_cheng</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>enrica</cc>
    
    <cc>jiapu.mail</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>652943</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-19 16:27:30 -0700</bug_when>
    <thetext>This crash seems to be happening mostly in Mail, in relation with autocorrection.
Here is the call stack,


&gt;  1 com.apple.WebCore              0x7fff8ec1fa64 WebCore::TextIterator::handleTextBox() + 0x24
   2 com.apple.WebCore              0x7fff8ec1e81b WebCore::TextIterator::advance() + 0x10b
   3 com.apple.WebCore              0x7fff8ec7aca6 WebCore::CharacterIterator::advance(int) + 0x46
   4 com.apple.WebCore              0x7fff8ee9ff01 WebCore::characterSubrange(WebCore::CharacterIterator&amp;, int, int) + 0x21
   5 com.apple.WebCore              0x7fff8ee9fec0 WebCore::TextIterator::subrange(WebCore::Range*, int, int) + 0x80
   6 com.apple.WebCore              0x7fff8ee9fe06 WebCore::TextCheckingParagraph::subrange(int, int) const + 0x36
   7 com.apple.WebCore              0x7fff8ec8be9c WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges(unsigned int, WebCore::Range*, WebCore::Range*) + 0xd8c
   8 com.apple.WebCore              0x7fff8ee7a014 WebCore::Editor::markMisspellingsAfterTypingToWord(WebCore::VisiblePosition const&amp;, WebCore::VisibleSelection const&amp;, bool) + 0x344
   9 com.apple.WebCore              0x7fff8ee797fc WebCore::TypingCommand::markMisspellingsAfterTyping(WebCore::TypingCommand::ETypingCommand) + 0x27c
  10 com.apple.WebCore              0x7fff8ee80d0b WebCore::TypingCommand::insertTextRunWithoutNewlines(WTF::String const&amp;, bool) + 0xfb
  11 com.apple.WebCore              0x7fff8ee80ba0 WebCore::TypingCommand::insertText(WTF::String const&amp;, bool) + 0xc0
  12 com.apple.WebCore              0x7fff8ee80886 WebCore::TypingCommand::insertText(WebCore::Document*, WTF::String const&amp;, WebCore::VisibleSelection const&amp;, unsigned int, WebCore::TypingCommand::TextCompositionType) + 0x296
  13 com.apple.WebCore              0x7fff8eef8e90 WebCore::Editor::insertTextWithoutSendingTextEvent(WTF::String const&amp;, bool, WebCore::TextEvent*) + 0x240
  14 com.apple.WebCore              0x7fff8eede03e WebCore::Editor::handleTextEvent(WebCore::TextEvent*) + 0x14e
  15 com.apple.WebCore              0x7fff8eeddedb WebCore::EventHandler::defaultTextInputEventHandler(WebCore::TextEvent*) + 0x1b
  16 com.apple.WebCore              0x7fff8eb82e35 WebCore::Node::defaultEventHandler(WebCore::Event*) + 0x315
  17 com.apple.WebCore              0x7fff8eb82252 WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 0x412
  18 com.apple.WebCore              0x7fff8eb81e05 WebCore::EventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const + 0x25
  19 com.apple.WebCore              0x7fff8f30d5a6 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr&lt;WebCore::EventDispatchMediator&gt;) + 0x96
  20 com.apple.WebCore              0x7fff8eb81d57 WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 0x37
  21 com.apple.WebCore              0x7fff8ed0c036 WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, int&amp;) + 0x76
  22 com.apple.WebCore              0x7fff8eef5b45 WebCore::EventHandler::handleTextInputEvent(WTF::String const&amp;, WebCore::Event*, WebCore::TextEventInputType) + 0x125
  23 com.apple.WebCore              0x7fff8ef179f5 WebCore::Editor::insertText(WTF::String const&amp;, WebCore::Event*) + 0x15
  24 com.apple.WebKit               0x7fff886e8bcf -[WebHTMLView(WebNSTextInputSupport) insertText:] + 0x20f
  25 com.apple.WebKit               0x7fff886ddee8 -[WebHTMLView(WebInternal) _executeSavedKeypressCommands] + 0xf8
  26 com.apple.WebKit               0x7fff886dcf6d -[WebHTMLView(WebInternal) _interpretKeyEvent:savingCommands:] + 0x22d
  27 com.apple.WebKit               0x7fff886dd627 WebEditorClient::handleKeyboardEvent(WebCore::KeyboardEvent*) + 0x57
  28 com.apple.WebCore              0x7fff8ee9f4f6 WebCore::EventHandler::defaultKeyboardEventHandler(WebCore::KeyboardEvent*) + 0x486
  29 com.apple.WebCore              0x7fff8eb82c34 WebCore::Node::defaultEventHandler(WebCore::Event*) + 0x114
  30 com.apple.WebCore              0x7fff8eb82252 WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 0x412
  31 com.apple.WebCore              0x7fff8eb81e05 WebCore::EventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const + 0x25
  32 com.apple.WebCore              0x7fff8f30d5a6 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr&lt;WebCore::EventDispatchMediator&gt;) + 0x96
  33 com.apple.WebCore              0x7fff8eb81d57 WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 0x37
  34 com.apple.WebCore              0x7fff8ed0c036 WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, int&amp;) + 0x76
  35 com.apple.WebCore              0x7fff8ee9e542 WebCore::EventHandler::keyEvent(WebCore::PlatformKeyboardEvent const&amp;) + 0x782
  36 com.apple.WebCore              0x7fff8ee9cad5 WebCore::EventHandler::keyEvent(NSEvent*) + 0x35
  37 com.apple.WebKit               0x7fff886dcbbc -[WebHTMLView keyDown:] + 0x10c
  38 com.apple.mail                 0x105d1cbcc -[MessageWebHTMLView keyDown:] + 0x0 (/SourceCache/Mail/Mail-1405/MessageViewer/MessageWebHTMLView.m:572)
  39 com.apple.AppKit               0x7fff93145c17 -[NSWindow sendEvent:] + 0x258c
  40 com.apple.mail                 0x105bd2101 -[TypeAheadWindow sendEvent:] + 0x0 (/SourceCache/Mail/Mail-1405/Compose/TypeAheadWindow.m:147)
  41 com.apple.AppKit               0x7fff930e049b -[NSApplication sendEvent:] + 0x1603
  42 com.apple.mail                 0x105b8e95a -[MailApp sendEvent:] + 0x0 (/SourceCache/Mail/Mail-1405/Application/MailApp.m:419)
  43 com.apple.AppKit               0x7fff9307fcb4 -[NSApplication run] + 0x280
  44 com.apple.AppKit               0x7fff932e5491 NSApplicationMain + 0x365
  45 com.apple.mail                 0x105be3a6c start + 0x0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652945</commentid>
    <comment_count>1</comment_count>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-19 16:28:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/10305315&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653018</commentid>
    <comment_count>2</comment_count>
      <attachid>148466</attachid>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-19 17:14:39 -0700</bug_when>
    <thetext>Created attachment 148466
Patch

Posting for preliminary review. Still working on the appropriate test for the patch. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655539</commentid>
    <comment_count>3</comment_count>
      <attachid>149048</attachid>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-22 10:08:01 -0700</bug_when>
    <thetext>Created attachment 149048
Patch with a test

Patch with a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655544</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-22 10:11:14 -0700</bug_when>
    <thetext>Attachment 149048 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1
LayoutTests/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
LayoutTests/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:14:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 4 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655570</commentid>
    <comment_count>5</comment_count>
      <attachid>149048</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-22 10:40:23 -0700</bug_when>
    <thetext>Comment on attachment 149048
Patch with a test

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

Does the test cover both fixes? I’m usually concerned when there is a single test case but two bug fixes.

I’m going to say r=me, but please do write some “why” comments as I request below.

&gt; Source/WebCore/editing/AlternativeTextController.cpp:279
&gt; +    int paragraphStartIndex = TextIterator::rangeLength(Range::create(m_frame-&gt;document(), m_frame-&gt;document(), 0, paragraphRangeContainingCorrection.get()-&gt;startContainer(), paragraphRangeContainingCorrection.get()-&gt;startOffset()).get());
&gt;      applyCommand(SpellingCorrectionCommand::create(rangeWithAlternative, alternative));
&gt; +    paragraphRangeContainingCorrection = TextIterator::rangeFromLocationAndLength(m_frame-&gt;document(), paragraphStartIndex, correctionStartOffsetInParagraph + alternative.length());

This needs a “why” comment. It’s important to recompute paragraphRangeContainingCorrection after applying the command, but we need to state why.

&gt; Source/WebCore/editing/Editor.cpp:2125
&gt; +                int paragraphStartIndex = TextIterator::rangeLength(Range::create(m_frame-&gt;document(), m_frame-&gt;document(), 0, paragraph.paragraphRange()-&gt;startContainer(), paragraph.paragraphRange()-&gt;startOffset()).get());
&gt; +                int paragraphLength = TextIterator::rangeLength(paragraph.paragraphRange().get());
&gt;                  applyCommand(SpellingCorrectionCommand::create(rangeToReplace, result-&gt;replacement));
&gt; -
&gt; +                RefPtr&lt;Range&gt; newParagraphRange = TextIterator::rangeFromLocationAndLength(m_frame-&gt;document(), paragraphStartIndex, paragraphLength+replacementLength-resultLength);

This needs a “why” comment. It’s important to recompute paragraph after applying the command, but we need to state why.

&gt; LayoutTests/platform/mac/editing/spelling/autocorrection-blockquote-crash.html:13
&gt; +    //do typo

WebKit coding style says we should use a sentence format here:

    // Insert some text with a typographical error in it, so autocorrection occurs.

&gt; LayoutTests/platform/mac/editing/spelling/autocorrection-blockquote-crash.html:19
&gt; +    //test marking

This comment should be omitted. It doesn’t add anything. The code below clearly checks if hasAutocorrectedMarker is true, so we should only include a comment if we have something else to say other than what the code itself says.

&gt; LayoutTests/platform/mac/editing/spelling/autocorrection-blockquote-crash.html:22
&gt; +    if(window.internals){
&gt; +        shouldBeTrue(&apos;internals.hasAutocorrectedMarker(document, 0, 1)&apos;);
&gt; +    }

WebKit coding style means there should be a space after the “if” and no braces around a single line if statement body.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657660</commentid>
    <comment_count>6</comment_count>
      <attachid>149546</attachid>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-26 09:42:56 -0700</bug_when>
    <thetext>Created attachment 149546
Patch revised</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657663</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 09:46:25 -0700</bug_when>
    <thetext>Attachment 149546 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1
Source/WebCore/editing/Editor.cpp:2125:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657676</commentid>
    <comment_count>8</comment_count>
      <attachid>149546</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-26 09:59:09 -0700</bug_when>
    <thetext>Comment on attachment 149546
Patch revised

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Reviewed by NOBODY (OOPS!).

This line should appear before the long description.

&gt; Source/WebCore/editing/AlternativeTextController.cpp:279
&gt; +    // Recalculate pragraphRangeContainingCorrection, since SpellingCorrectionCommand modified the DOM, such that the original paragraphRangeContainingCorrection is no longer valid, especially in blockquotes.

Also I&apos;m not certain &quot;especially in blockquote&quot; adds any valuable information here. If anything, it&apos;s probably better refer to the bug like &quot;See bug 89526&quot; but I would just omit that if I were you.

&gt;&gt; Source/WebCore/editing/Editor.cpp:2125
&gt;&gt; +                //Recalculate newParagraphRange, since SpellingCorrectionCommand modifies the DOM, such that the original paragraph range is no longer valid, especially in blockquotes.
&gt; 
&gt; Should have a space between // and comment  [whitespace/comments] [4]

Ditto, and please fix this style.

&gt; LayoutTests/platform/mac/editing/spelling/autocorrection-blockquote-crash.html:20
&gt; +    if(window.internals)
&gt; +        shouldBeTrue(&apos;internals.hasAutocorrectedMarker(document, 0, 1)&apos;);

Doesn&apos;t auto correction occurs asynchronously? Most importantly, did you verify that the crash reproduces when this test is ran inside DRT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657678</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-26 10:01:25 -0700</bug_when>
    <thetext>Oh, now I realize that you were just addressing Darin&apos;s review comments. In the future, you could just make changes to address review comments and ask for commit-queue (if you&apos;re using webkit-patch, pass --no-review) but I guess it was helpful in this case because there are some nits that could be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657816</commentid>
    <comment_count>10</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2012-06-26 11:57:51 -0700</bug_when>
    <thetext>I led Alice astray :) Alice, you should still address Ryosuke&apos;s comments and re-post a patch.

(In reply to comment #9)
&gt; Oh, now I realize that you were just addressing Darin&apos;s review comments. In the future, you could just make changes to address review comments and ask for commit-queue (if you&apos;re using webkit-patch, pass --no-review) but I guess it was helpful in this case because there are some nits that could be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657930</commentid>
    <comment_count>11</comment_count>
      <attachid>149597</attachid>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-26 13:35:36 -0700</bug_when>
    <thetext>Created attachment 149597
Patch revised 2

Addressed last two reviews, and posting for commit-queue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657993</commentid>
    <comment_count>12</comment_count>
      <attachid>149607</attachid>
    <who name="Alice Cheng">alice_cheng</who>
    <bug_when>2012-06-26 14:22:52 -0700</bug_when>
    <thetext>Created attachment 149607
Patch revised 2

addressed previous reviews, and posting for commit-queue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658092</commentid>
    <comment_count>13</comment_count>
      <attachid>149607</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 16:34:37 -0700</bug_when>
    <thetext>Comment on attachment 149607
Patch revised 2

Clearing flags on attachment: 149607

Committed r121299: &lt;http://trac.webkit.org/changeset/121299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658093</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 16:34:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148466</attachid>
            <date>2012-06-19 17:14:39 -0700</date>
            <delta_ts>2012-06-22 10:08:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>mailcrash.txt</filename>
            <type>text/plain</type>
            <size>4142</size>
            <attacher name="Alice Cheng">alice_cheng</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDc3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA2LTE5ICBBbGljZSBD
aGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBhdCBXZWJDb3Jl
OjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMw
NTMxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
cm9ibGVtOiBSYW5nZSB1c2VkIGZvciBtYXJraW5nIGJlY29tZXMgaW52YWxpZCBhZnRlciBTcGVs
bGluZ0NvcnJlY3Rpb25Db21tYW5kLCBkdWUgdG8gY2hhbmdlcyBpbiBEb20gbWFkZSBieSBSZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZC4gVGhpcyBpbnZhbGlkIHJhbmdlIGNhdXNlZCBtYXJraW5nIHRv
IGJlIGluY29ycmVjdCwgYW5kIGV2ZW4gY2F1c2VkIGNyYXNoIE1haWwgYXBwbGljYXRpb24gd2hl
biBpbnRlcmF0aW5nIHRocm91Z2ggdGhlIGludmFsaWQgcmFuZ2UuCisgICAgICAgIAorICAgICAg
ICBQcm9wb3NlZCBQYXRjaDogcmVjYWxjdWxhdGUgdGhlIHJhbmdlIGZvciBtYXJraW5nIGFmdGVy
IFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuCisKKyAgICAgICAgKiBlZGl0aW5nL0FsdGVybmF0
aXZlVGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0
Q29udHJvbGxlcjo6YXBwbHlBbHRlcm5hdGl2ZVRleHRUb1JhbmdlKToKKyAgICAgICAgKiBlZGl0
aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6Om1hcmtBbmRSZXBsYWNl
Rm9yKToKKwogMjAxMi0wNi0xOSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBBbGlnbiBSZW5kZXJMYXllcidzIGRlc2NlbmRhbnQgZGVwZW5kZW50
IGZsYWdzIHNlbWFudGljcwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2
ZVRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxMjA3NzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNzMsNyArMjczLDExIEBAIHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
cjo6YXBwbHlBbHQKIAogICAgIC8vIENsb25lIHRoZSByYW5nZSwgc2luY2UgdGhlIGNhbGxlciBv
ZiB0aGlzIG1ldGhvZCBtYXkgd2FudCB0byBrZWVwIHRoZSBvcmlnaW5hbCByYW5nZSBhcm91bmQu
CiAgICAgUmVmUHRyPFJhbmdlPiByYW5nZVdpdGhBbHRlcm5hdGl2ZSA9IHJhbmdlLT5jbG9uZVJh
bmdlKGVjKTsKKyAgICAKKyAgICBpbnQgcGFyYWdyYXBoU3RhcnRJbmRleCA9IFRleHRJdGVyYXRv
cjo6cmFuZ2VMZW5ndGgoUmFuZ2U6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpLCBtX2ZyYW1l
LT5kb2N1bWVudCgpLCAwLCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdldCgp
LT5zdGFydENvbnRhaW5lcigpLCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdl
dCgpLT5zdGFydE9mZnNldCgpKS5nZXQoKSk7CiAgICAgYXBwbHlDb21tYW5kKFNwZWxsaW5nQ29y
cmVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShyYW5nZVdpdGhBbHRlcm5hdGl2ZSwgYWx0ZXJuYXRpdmUp
KTsKKyAgICBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uID0gVGV4dEl0ZXJhdG9y
OjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChtX2ZyYW1lLT5kb2N1bWVudCgpLCBwYXJhZ3Jh
cGhTdGFydEluZGV4LCBjb3JyZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFwaCArIGFsdGVybmF0
aXZlLmxlbmd0aCgpKTsKKyAgICAKICAgICBzZXRFbmQocGFyYWdyYXBoUmFuZ2VDb250YWluaW5n
Q29ycmVjdGlvbi5nZXQoKSwgbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnN0YXJ0
KCkpOwogICAgIFJlZlB0cjxSYW5nZT4gcmVwbGFjZW1lbnRSYW5nZSA9IFRleHRJdGVyYXRvcjo6
c3VicmFuZ2UocGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi5nZXQoKSwgY29ycmVj
dGlvblN0YXJ0T2Zmc2V0SW5QYXJhZ3JhcGgsIGFsdGVybmF0aXZlLmxlbmd0aCgpKTsKICAgICBT
dHJpbmcgbmV3VGV4dCA9IHBsYWluVGV4dChyZXBsYWNlbWVudFJhbmdlLmdldCgpKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDEyMDc3MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExOSw4ICsyMTE5
LDEyIEBAIHZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihQYXNzUmVmUHQKICAgICAgICAg
ICAgICAgICBpZiAoY2FuRWRpdFJpY2hseSgpKQogICAgICAgICAgICAgICAgICAgICBhcHBseUNv
bW1hbmQoQ3JlYXRlTGlua0NvbW1hbmQ6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpLCByZXN1
bHQtPnJlcGxhY2VtZW50KSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGNhbkVkaXQoKSAmJiBz
aG91bGRJbnNlcnRUZXh0KHJlc3VsdC0+cmVwbGFjZW1lbnQsIHJhbmdlVG9SZXBsYWNlLmdldCgp
LCBFZGl0b3JJbnNlcnRBY3Rpb25UeXBlZCkpIHsKKyAgICAgICAgICAgICAgICBpbnQgcGFyYWdy
YXBoU3RhcnRJbmRleCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgoUmFuZ2U6OmNyZWF0ZSht
X2ZyYW1lLT5kb2N1bWVudCgpLCBtX2ZyYW1lLT5kb2N1bWVudCgpLCAwLCBwYXJhZ3JhcGgucGFy
YWdyYXBoUmFuZ2UoKS0+c3RhcnRDb250YWluZXIoKSwgcGFyYWdyYXBoLnBhcmFncmFwaFJhbmdl
KCktPnN0YXJ0T2Zmc2V0KCkpLmdldCgpKTsKKyAgICAgICAgICAgICAgICBpbnQgcGFyYWdyYXBo
TGVuZ3RoID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChwYXJhZ3JhcGgucGFyYWdyYXBoUmFu
Z2UoKS5nZXQoKSk7CiAgICAgICAgICAgICAgICAgYXBwbHlDb21tYW5kKFNwZWxsaW5nQ29ycmVj
dGlvbkNvbW1hbmQ6OmNyZWF0ZShyYW5nZVRvUmVwbGFjZSwgcmVzdWx0LT5yZXBsYWNlbWVudCkp
OwotCisgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBuZXdQYXJhZ3JhcGhSYW5nZSA9IFRl
eHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgobV9mcmFtZS0+ZG9jdW1lbnQo
KSwgcGFyYWdyYXBoU3RhcnRJbmRleCwgcGFyYWdyYXBoTGVuZ3RoK3JlcGxhY2VtZW50TGVuZ3Ro
LXJlc3VsdExlbmd0aCk7CisgICAgICAgICAgICAgICAgcGFyYWdyYXBoID0gVGV4dENoZWNraW5n
UGFyYWdyYXBoKFRleHRJdGVyYXRvcjo6c3VicmFuZ2UobmV3UGFyYWdyYXBoUmFuZ2UuZ2V0KCks
IHJlc3VsdExvY2F0aW9uLCByZXBsYWNlbWVudExlbmd0aCksIG5ld1BhcmFncmFwaFJhbmdlKTsK
KyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNj
ZXNzaWJpbGl0eUVuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoRWxlbWVudCog
cm9vdCA9IG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS5yb290RWRpdGFibGVFbGVt
ZW50KCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5heE9i
amVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocm9vdC0+cmVuZGVyZXIoKSwgQVhPYmplY3RD
YWNoZTo6QVhBdXRvY29ycmVjdGlvbk9jY3VyZWQsIHRydWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149048</attachid>
            <date>2012-06-22 10:08:01 -0700</date>
            <delta_ts>2012-06-26 14:24:41 -0700</delta_ts>
            <desc>Patch with a test</desc>
            <filename>Mailcrash1.txt</filename>
            <type>text/plain</type>
            <size>9920</size>
            <attacher name="Alice Cheng">alice_cheng</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTAzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA2LTIyICBBbGljZSBD
aGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBhdCBXZWJDb3Jl
OjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMw
NTMxNT4KKworCVByb2JsZW06IFJhbmdlIHVzZWQgZm9yIG1hcmtpbmcgYmVjb21lcyBpbnZhbGlk
IGFmdGVyIFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQsIGR1ZSB0byBjaGFuZ2VzIGluIERvbSBt
YWRlIGJ5IFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLiBUaGlzIGludmFsaWQgcmFuZ2UgY2F1c2Vk
IG1hcmtpbmcgdG8gYmUgaW5jb3JyZWN0LCBhbmQgZXZlbiBjYXVzZWQgY3Jhc2ggTWFpbCBhcHBs
aWNhdGlvbiB3aGVuIGludGVyYXRpbmcgdGhyb3VnaCB0aGUgaW52YWxpZCByYW5nZS4KKyAgICAg
ICAgCisgICAgICAgIFByb3Bvc2VkIFBhdGNoOiByZWNhbGN1bGF0ZSB0aGUgcmFuZ2UgZm9yIG1h
cmtpbmcgYWZ0ZXIgU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWxhdGVkIFRlc3Q6IEEgdGVzdCB0aGF0
IGZhaWxzIHdpdGhvdXQgb3VyIHBhdGNoIGFuZCBzdWNjZWVkcyB3aXRoIG91ciBwYXRjaAorCXBh
dGg6IHBsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9uLWJsb2NrcXVv
dGUtY3Jhc2guaHRtbAorCisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OmFw
cGx5QWx0ZXJuYXRpdmVUZXh0VG9SYW5nZSk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcik6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6Omhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wNi0yMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9ubHkgaW5jcmVhc2UgbGVu
Z3RoIGZvciB0aW1lbGluZSBiYXJzIGJlbG93IG1pbmltYWwgd2lkdGgKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gMTIxMDMzKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRl
eHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjczLDcgKzI3MywxMSBAQCB2b2lk
IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OmFwcGx5QWx0CiAKICAgICAvLyBDbG9uZSB0aGUg
cmFuZ2UsIHNpbmNlIHRoZSBjYWxsZXIgb2YgdGhpcyBtZXRob2QgbWF5IHdhbnQgdG8ga2VlcCB0
aGUgb3JpZ2luYWwgcmFuZ2UgYXJvdW5kLgogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2VXaXRoQWx0
ZXJuYXRpdmUgPSByYW5nZS0+Y2xvbmVSYW5nZShlYyk7CisgICAgCisgICAgaW50IHBhcmFncmFw
aFN0YXJ0SW5kZXggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKFJhbmdlOjpjcmVhdGUobV9m
cmFtZS0+ZG9jdW1lbnQoKSwgbV9mcmFtZS0+ZG9jdW1lbnQoKSwgMCwgcGFyYWdyYXBoUmFuZ2VD
b250YWluaW5nQ29ycmVjdGlvbi5nZXQoKS0+c3RhcnRDb250YWluZXIoKSwgcGFyYWdyYXBoUmFu
Z2VDb250YWluaW5nQ29ycmVjdGlvbi5nZXQoKS0+c3RhcnRPZmZzZXQoKSkuZ2V0KCkpOwogICAg
IGFwcGx5Q29tbWFuZChTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VXaXRo
QWx0ZXJuYXRpdmUsIGFsdGVybmF0aXZlKSk7CisgICAgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5n
Q29ycmVjdGlvbiA9IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgobV9m
cmFtZS0+ZG9jdW1lbnQoKSwgcGFyYWdyYXBoU3RhcnRJbmRleCwgY29ycmVjdGlvblN0YXJ0T2Zm
c2V0SW5QYXJhZ3JhcGggKyBhbHRlcm5hdGl2ZS5sZW5ndGgoKSk7CisgICAgCiAgICAgc2V0RW5k
KHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24uZ2V0KCksIG1fZnJhbWUtPnNlbGVj
dGlvbigpLT5zZWxlY3Rpb24oKS5zdGFydCgpKTsKICAgICBSZWZQdHI8UmFuZ2U+IHJlcGxhY2Vt
ZW50UmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnN1YnJhbmdlKHBhcmFncmFwaFJhbmdlQ29udGFpbmlu
Z0NvcnJlY3Rpb24uZ2V0KCksIGNvcnJlY3Rpb25TdGFydE9mZnNldEluUGFyYWdyYXBoLCBhbHRl
cm5hdGl2ZS5sZW5ndGgoKSk7CiAgICAgU3RyaW5nIG5ld1RleHQgPSBwbGFpblRleHQocmVwbGFj
ZW1lbnRSYW5nZS5nZXQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZp
c2lvbiAxMjEwMzMpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIxMTksOCArMjExOSwxMiBAQCB2b2lkIEVkaXRvcjo6bWFya0FuZFJlcGxh
Y2VGb3IoUGFzc1JlZlB0CiAgICAgICAgICAgICAgICAgaWYgKGNhbkVkaXRSaWNobHkoKSkKICAg
ICAgICAgICAgICAgICAgICAgYXBwbHlDb21tYW5kKENyZWF0ZUxpbmtDb21tYW5kOjpjcmVhdGUo
bV9mcmFtZS0+ZG9jdW1lbnQoKSwgcmVzdWx0LT5yZXBsYWNlbWVudCkpOwogICAgICAgICAgICAg
fSBlbHNlIGlmIChjYW5FZGl0KCkgJiYgc2hvdWxkSW5zZXJ0VGV4dChyZXN1bHQtPnJlcGxhY2Vt
ZW50LCByYW5nZVRvUmVwbGFjZS5nZXQoKSwgRWRpdG9ySW5zZXJ0QWN0aW9uVHlwZWQpKSB7Cisg
ICAgICAgICAgICAgICAgaW50IHBhcmFncmFwaFN0YXJ0SW5kZXggPSBUZXh0SXRlcmF0b3I6OnJh
bmdlTGVuZ3RoKFJhbmdlOjpjcmVhdGUobV9mcmFtZS0+ZG9jdW1lbnQoKSwgbV9mcmFtZS0+ZG9j
dW1lbnQoKSwgMCwgcGFyYWdyYXBoLnBhcmFncmFwaFJhbmdlKCktPnN0YXJ0Q29udGFpbmVyKCks
IHBhcmFncmFwaC5wYXJhZ3JhcGhSYW5nZSgpLT5zdGFydE9mZnNldCgpKS5nZXQoKSk7CisgICAg
ICAgICAgICAgICAgaW50IHBhcmFncmFwaExlbmd0aCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5n
dGgocGFyYWdyYXBoLnBhcmFncmFwaFJhbmdlKCkuZ2V0KCkpOwogICAgICAgICAgICAgICAgIGFw
cGx5Q29tbWFuZChTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VUb1JlcGxh
Y2UsIHJlc3VsdC0+cmVwbGFjZW1lbnQpKTsKLQorICAgICAgICAgICAgICAgIFJlZlB0cjxSYW5n
ZT4gbmV3UGFyYWdyYXBoUmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5k
TGVuZ3RoKG1fZnJhbWUtPmRvY3VtZW50KCksIHBhcmFncmFwaFN0YXJ0SW5kZXgsIHBhcmFncmFw
aExlbmd0aCtyZXBsYWNlbWVudExlbmd0aC1yZXN1bHRMZW5ndGgpOworICAgICAgICAgICAgICAg
IHBhcmFncmFwaCA9IFRleHRDaGVja2luZ1BhcmFncmFwaChUZXh0SXRlcmF0b3I6OnN1YnJhbmdl
KG5ld1BhcmFncmFwaFJhbmdlLmdldCgpLCByZXN1bHRMb2NhdGlvbiwgcmVwbGFjZW1lbnRMZW5n
dGgpLCBuZXdQYXJhZ3JhcGhSYW5nZSk7CisgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKEVsZW1lbnQqIHJvb3QgPSBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2Vs
ZWN0aW9uKCkucm9vdEVkaXRhYmxlRWxlbWVudCgpKQogICAgICAgICAgICAgICAgICAgICAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHJv
b3QtPnJlbmRlcmVyKCksIEFYT2JqZWN0Q2FjaGU6OkFYQXV0b2NvcnJlY3Rpb25PY2N1cmVkLCB0
cnVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDEy
MTAzMykKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTAyOCw2ICsxMDI4LDE0IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01h
cmtlcihEb2N1bWUKIAogICAgIHJldHVybiBkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPnNl
bGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yKERvY3VtZW50TWFya2VyOjpTcGVsbGluZywgZnJvbSwg
bGVuZ3RoKTsKIH0KKyAgICAKK2Jvb2wgSW50ZXJuYWxzOjpoYXNBdXRvY29ycmVjdGVkTWFya2Vy
KERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUm
KQoreworICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQorICAgICAgICBy
ZXR1cm4gMDsKKyAgICAKKyAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5z
ZWxlY3Rpb25TdGFydEhhc01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6QXV0b2NvcnJlY3RlZCwg
ZnJvbSwgbGVuZ3RoKTsKK30KIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiB1bnNpZ25lZCBJbnRl
cm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAkocmV2aXNpb24gMTIxMDMzKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaGFzU3BlbGxpbmdNYXJrZXIoRG9jdW1lbnQqLCBpbnQgZnJvbSwgaW50IGxlbmd0
aCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGJvb2wgaGFzR3JhbW1hck1hcmtlcihEb2N1bWVudCos
IGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJik7CisgICAgYm9vbCBoYXNBdXRv
Y29ycmVjdGVkTWFya2VyKERvY3VtZW50KiwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlv
bkNvZGUmKTsKIAogICAgIHVuc2lnbmVkIG51bWJlck9mU2Nyb2xsYWJsZUFyZWFzKERvY3VtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCShyZXZpc2lvbiAxMjEwMzMpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw2ICsxMzIsNyBAQCBtb2R1bGUgd2luZG93IHsK
IAogICAgICAgICBib29sZWFuIGhhc1NwZWxsaW5nTWFya2VyKGluIERvY3VtZW50IGRvY3VtZW50
LCBpbiBsb25nIGZyb20sIGluIGxvbmcgbGVuZ3RoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAg
ICAgICAgIGJvb2xlYW4gaGFzR3JhbW1hck1hcmtlcihpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4g
bG9uZyBmcm9tLCBpbiBsb25nIGxlbmd0aCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAg
ICBib29sZWFuIGhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGlu
IGxvbmcgZnJvbSwgaW4gbG9uZyBsZW5ndGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAg
ICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mU2Nyb2xsYWJsZUFyZWFzKGluIERvY3VtZW50IGRv
Y3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTAz
MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIw
IEBACisyMDEyLTA2LTIyICBBbGljZSBDaGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDcmFzaCBhdCBXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMwNTMxNT4KKworCVByb2JsZW06IFJhbmdlIHVzZWQgZm9y
IG1hcmtpbmcgYmVjb21lcyBpbnZhbGlkIGFmdGVyIFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQs
IGR1ZSB0byBjaGFuZ2VzIGluIERvbSBtYWRlIGJ5IFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLiBU
aGlzIGludmFsaWQgcmFuZ2UgY2F1c2VkIG1hcmtpbmcgdG8gYmUgaW5jb3JyZWN0LCBhbmQgZXZl
biBjYXVzZWQgY3Jhc2ggTWFpbCBhcHBsaWNhdGlvbiB3aGVuIGludGVyYXRpbmcgdGhyb3VnaCB0
aGUgaW52YWxpZCByYW5nZS4KKyAgICAgICAgCisgICAgICAgIFByb3Bvc2VkIFBhdGNoOiByZWNh
bGN1bGF0ZSB0aGUgcmFuZ2UgZm9yIG1hcmtpbmcgYWZ0ZXIgU3BlbGxpbmdDb3JyZWN0aW9uQ29t
bWFuZC4KKworCVJlbGF0ZWQgVGVzdDogQSB0ZXN0IHRoYXQgZmFpbHMgd2l0aG91dCBvdXIgcGF0
Y2ggYW5kIHN1Y2NlZWRzIHdpdGggb3VyIHBhdGNoCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9h
dXRvY29ycmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxvY2tx
dW90ZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0yMiAgQWJoaXNoZWsgQXJ5YSAgPGlu
ZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENyYXNoIGluIERyYWdDb250cm9sbGVyOjpj
b25jbHVkZUVkaXREcmFnLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0
b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVjdGlv
bi1ibG9ja3F1b3RlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MiBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IG1hcmtlcnMgYXJlIGNvcnJlY3Qgd2hlbiBhdXRv
IGNvcnJlY3RpbmcgaW4gdGhlIGJsb2NrcXVvdGUuIElmIHlvdSB0eXBlICJuIiBhbmQgIiAiLCB0
aGVyZSBzaG91bGQgYmUgYmx1ZSBkb3RzIHVuZGVyIGluZm9ybWF0aW9uLCBidXQgaXMgb2ZmIGJ5
IG9uZS4KKworUEFTUyBpbnRlcm5hbHMuaGFzQXV0b2NvcnJlY3RlZE1hcmtlcihkb2N1bWVudCwg
MCwgMSkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKK3dvdWxkIHRoaXMgCit0ZXN0aW5mb3JtYXRpb27CoAorbWFrZSBhIGRpZmZlcmVu
Y2U/CisKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcv
YXV0b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9uLWJsb2Nr
cXVvdGUtY3Jhc2guaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2guaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBjaGVja3MgdGhhdCBt
YXJrZXJzIGFyZSBjb3JyZWN0IHdoZW4gYXV0byBjb3JyZWN0aW5nIGluIHRoZSBibG9ja3F1b3Rl
LiBJZiB5b3UgdHlwZSAibiIgYW5kICIgIiwgdGhlcmUgc2hvdWxkIGJlIGJsdWUgZG90cyB1bmRl
ciBpbmZvcm1hdGlvbiwgYnV0IGlzIG9mZiBieSBvbmUuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKzxkaXYgaWQgPSAidGVzdCIgY29udGVudEVkaXRhYmxlPSJ0cnVlIiBzcGVsbENo
ZWNrPSJ0cnVlIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48Zm9udCBzdHlsZSA9ICJmb250LWZh
bWlseTpBcmlhbCI+PGJyPiB3b3VsZCB0aGlzIDxiIGlkID0gImJvbGQiPjxicj48L2I+PGI+PGJy
PjwvYj5tYWtlIGEgZGlmZmVyZW5jZT88c3Bhbj48YnI+PC9zcGFuPjxzcGFuPjxicj48L3NwYW4+
PC9mb250PjwvYmxvY2txdW90ZT48L2Rpdj4KKworPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlw
dCI+CisgICAgLy9kbyB0eXBvCisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9u
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2xkIiksIDEpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJ0ZXN0IGluZm9tYXRpbyIpOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ24nKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCcgJyk7CisgICAg
CisgICAgLy90ZXN0IG1hcmtpbmcKKyAgICBpZih3aW5kb3cuaW50ZXJuYWxzKXsKKyAgICAgICAg
c2hvdWxkQmVUcnVlKCdpbnRlcm5hbHMuaGFzQXV0b2NvcnJlY3RlZE1hcmtlcihkb2N1bWVudCwg
MCwgMSknKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149546</attachid>
            <date>2012-06-26 09:42:56 -0700</date>
            <delta_ts>2012-06-26 14:24:29 -0700</delta_ts>
            <desc>Patch revised</desc>
            <filename>Mailcrash2.txt</filename>
            <type>text/plain</type>
            <size>10094</size>
            <attacher name="Alice Cheng">alice_cheng</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTI2NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTIyICBBbGljZSBD
aGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBhdCBXZWJDb3Jl
OjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMw
NTMxNT4KKworICAgICAgICBUaGUgcmFuZ2UgdXNlZCBmb3IgbWFya2luZyBiZWNvbWVzIGludmFs
aWQgYWZ0ZXIgU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZCwgZHVlIHRvIGNoYW5nZXMgaW4gdGhl
IERPTSBtYWRlIGJ5IFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLiAKKyAgICAgICAgVGhpcyBpbnZh
bGlkIHJhbmdlIGNhdXNlZCBtYXJraW5nIHRvIGJlIGluY29ycmVjdCwgYW5kIE1haWwuYXBwIHRv
IGNyYXNoIHdoZW4gaXRlcmF0aW5nIHRocm91Z2ggdGhlIGludmFsaWQgcmFuZ2UuICBUbyBmaXgg
dGhpcywKKyAgICAgICAgcmVjYWxjdWxhdGUgdGhlIHJhbmdlIGZvciBtYXJraW5nIGFmdGVyIFNw
ZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0
b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0Fs
dGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRp
dmVUZXh0Q29udHJvbGxlcjo6YXBwbHlBbHRlcm5hdGl2ZVRleHRUb1JhbmdlKToKKyAgICAgICAg
KiBlZGl0aW5nL0VkaXRvci5jcHA6ICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrQW5kUmVwbGFjZUZv
cik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIpOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IChJbnRlcm5hbHMpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wNi0yNiAgQWxleGVpIEZpbGlwcG92ICA8YWxl
eGVpZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmF0aXZlIG1lbW9y
eSBzbmFwc2hvdHMgY3Jhc2ggaW4gZGVidWcgbW9kZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24g
MTIxMDMzKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjczLDcgKzI3MywxMiBAQCB2b2lkIEFsdGVybmF0
aXZlVGV4dENvbnRyb2xsZXI6OmFwcGx5QWx0CiAKICAgICAvLyBDbG9uZSB0aGUgcmFuZ2UsIHNp
bmNlIHRoZSBjYWxsZXIgb2YgdGhpcyBtZXRob2QgbWF5IHdhbnQgdG8ga2VlcCB0aGUgb3JpZ2lu
YWwgcmFuZ2UgYXJvdW5kLgogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2VXaXRoQWx0ZXJuYXRpdmUg
PSByYW5nZS0+Y2xvbmVSYW5nZShlYyk7CisgICAgCisgICAgaW50IHBhcmFncmFwaFN0YXJ0SW5k
ZXggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKFJhbmdlOjpjcmVhdGUobV9mcmFtZS0+ZG9j
dW1lbnQoKSwgbV9mcmFtZS0+ZG9jdW1lbnQoKSwgMCwgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5n
Q29ycmVjdGlvbi5nZXQoKS0+c3RhcnRDb250YWluZXIoKSwgcGFyYWdyYXBoUmFuZ2VDb250YWlu
aW5nQ29ycmVjdGlvbi5nZXQoKS0+c3RhcnRPZmZzZXQoKSkuZ2V0KCkpOwogICAgIGFwcGx5Q29t
bWFuZChTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VXaXRoQWx0ZXJuYXRp
dmUsIGFsdGVybmF0aXZlKSk7CisgICAgLy8gUmVjYWxjdWxhdGUgcHJhZ3JhcGhSYW5nZUNvbnRh
aW5pbmdDb3JyZWN0aW9uLCBzaW5jZSBTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kIG1vZGlmaWVk
IHRoZSBET00sIHN1Y2ggdGhhdCB0aGUgb3JpZ2luYWwgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5n
Q29ycmVjdGlvbiBpcyBubyBsb25nZXIgdmFsaWQsIGVzcGVjaWFsbHkgaW4gYmxvY2txdW90ZXMu
CisgICAgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbiA9IFRleHRJdGVyYXRvcjo6
cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgobV9mcmFtZS0+ZG9jdW1lbnQoKSwgcGFyYWdyYXBo
U3RhcnRJbmRleCwgY29ycmVjdGlvblN0YXJ0T2Zmc2V0SW5QYXJhZ3JhcGggKyBhbHRlcm5hdGl2
ZS5sZW5ndGgoKSk7CisgICAgCiAgICAgc2V0RW5kKHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0Nv
cnJlY3Rpb24uZ2V0KCksIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS5zdGFydCgp
KTsKICAgICBSZWZQdHI8UmFuZ2U+IHJlcGxhY2VtZW50UmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnN1
YnJhbmdlKHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24uZ2V0KCksIGNvcnJlY3Rp
b25TdGFydE9mZnNldEluUGFyYWdyYXBoLCBhbHRlcm5hdGl2ZS5sZW5ndGgoKSk7CiAgICAgU3Ry
aW5nIG5ld1RleHQgPSBwbGFpblRleHQocmVwbGFjZW1lbnRSYW5nZS5nZXQoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAxMjEwMzMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMTksOCArMjExOSwx
MyBAQCB2b2lkIEVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IoUGFzc1JlZlB0CiAgICAgICAgICAg
ICAgICAgaWYgKGNhbkVkaXRSaWNobHkoKSkKICAgICAgICAgICAgICAgICAgICAgYXBwbHlDb21t
YW5kKENyZWF0ZUxpbmtDb21tYW5kOjpjcmVhdGUobV9mcmFtZS0+ZG9jdW1lbnQoKSwgcmVzdWx0
LT5yZXBsYWNlbWVudCkpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChjYW5FZGl0KCkgJiYgc2hv
dWxkSW5zZXJ0VGV4dChyZXN1bHQtPnJlcGxhY2VtZW50LCByYW5nZVRvUmVwbGFjZS5nZXQoKSwg
RWRpdG9ySW5zZXJ0QWN0aW9uVHlwZWQpKSB7CisgICAgICAgICAgICAgICAgaW50IHBhcmFncmFw
aFN0YXJ0SW5kZXggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKFJhbmdlOjpjcmVhdGUobV9m
cmFtZS0+ZG9jdW1lbnQoKSwgbV9mcmFtZS0+ZG9jdW1lbnQoKSwgMCwgcGFyYWdyYXBoLnBhcmFn
cmFwaFJhbmdlKCktPnN0YXJ0Q29udGFpbmVyKCksIHBhcmFncmFwaC5wYXJhZ3JhcGhSYW5nZSgp
LT5zdGFydE9mZnNldCgpKS5nZXQoKSk7CisgICAgICAgICAgICAgICAgaW50IHBhcmFncmFwaExl
bmd0aCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgocGFyYWdyYXBoLnBhcmFncmFwaFJhbmdl
KCkuZ2V0KCkpOwogICAgICAgICAgICAgICAgIGFwcGx5Q29tbWFuZChTcGVsbGluZ0NvcnJlY3Rp
b25Db21tYW5kOjpjcmVhdGUocmFuZ2VUb1JlcGxhY2UsIHJlc3VsdC0+cmVwbGFjZW1lbnQpKTsK
LQorICAgICAgICAgICAgICAgIC8vUmVjYWxjdWxhdGUgbmV3UGFyYWdyYXBoUmFuZ2UsIHNpbmNl
IFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQgbW9kaWZpZXMgdGhlIERPTSwgc3VjaCB0aGF0IHRo
ZSBvcmlnaW5hbCBwYXJhZ3JhcGggcmFuZ2UgaXMgbm8gbG9uZ2VyIHZhbGlkLCBlc3BlY2lhbGx5
IGluIGJsb2NrcXVvdGVzLgorICAgICAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gbmV3UGFyYWdy
YXBoUmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKG1fZnJh
bWUtPmRvY3VtZW50KCksIHBhcmFncmFwaFN0YXJ0SW5kZXgsIHBhcmFncmFwaExlbmd0aCtyZXBs
YWNlbWVudExlbmd0aC1yZXN1bHRMZW5ndGgpOworICAgICAgICAgICAgICAgIHBhcmFncmFwaCA9
IFRleHRDaGVja2luZ1BhcmFncmFwaChUZXh0SXRlcmF0b3I6OnN1YnJhbmdlKG5ld1BhcmFncmFw
aFJhbmdlLmdldCgpLCByZXN1bHRMb2NhdGlvbiwgcmVwbGFjZW1lbnRMZW5ndGgpLCBuZXdQYXJh
Z3JhcGhSYW5nZSk7CisgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgaWYgKEFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpIHsKICAgICAgICAgICAgICAgICAgICAg
aWYgKEVsZW1lbnQqIHJvb3QgPSBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkucm9v
dEVkaXRhYmxlRWxlbWVudCgpKQogICAgICAgICAgICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHJvb3QtPnJlbmRlcmVy
KCksIEFYT2JqZWN0Q2FjaGU6OkFYQXV0b2NvcnJlY3Rpb25PY2N1cmVkLCB0cnVlKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDEyMTAzMykKKysrIFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAy
OCw2ICsxMDI4LDE0IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihEb2N1bWUK
IAogICAgIHJldHVybiBkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPnNlbGVjdGlvblN0YXJ0
SGFzTWFya2VyRm9yKERvY3VtZW50TWFya2VyOjpTcGVsbGluZywgZnJvbSwgbGVuZ3RoKTsKIH0K
KyAgICAKK2Jvb2wgSW50ZXJuYWxzOjpoYXNBdXRvY29ycmVjdGVkTWFya2VyKERvY3VtZW50KiBk
b2N1bWVudCwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKQoreworICAgIGlm
ICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQorICAgICAgICByZXR1cm4gMDsKKyAg
ICAKKyAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zZWxlY3Rpb25TdGFy
dEhhc01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6QXV0b2NvcnJlY3RlZCwgZnJvbSwgbGVuZ3Ro
KTsKK30KIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiB1bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJl
ck9mTGl2ZU5vZGVzKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAko
cmV2aXNpb24gMTIxMDMzKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFz
U3BlbGxpbmdNYXJrZXIoRG9jdW1lbnQqLCBpbnQgZnJvbSwgaW50IGxlbmd0aCwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIGJvb2wgaGFzR3JhbW1hck1hcmtlcihEb2N1bWVudCosIGludCBmcm9tLCBp
bnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJik7CisgICAgYm9vbCBoYXNBdXRvY29ycmVjdGVkTWFy
a2VyKERvY3VtZW50KiwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKTsKIAog
ICAgIHVuc2lnbmVkIG51bWJlck9mU2Nyb2xsYWJsZUFyZWFzKERvY3VtZW50KiwgRXhjZXB0aW9u
Q29kZSYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lv
biAxMjEwMzMpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTEzMiw2ICsxMzIsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogICAgICAgICBi
b29sZWFuIGhhc1NwZWxsaW5nTWFya2VyKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBsb25nIGZy
b20sIGluIGxvbmcgbGVuZ3RoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xl
YW4gaGFzR3JhbW1hck1hcmtlcihpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gbG9uZyBmcm9tLCBp
biBsb25nIGxlbmd0aCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICBib29sZWFuIGhh
c0F1dG9jb3JyZWN0ZWRNYXJrZXIoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxvbmcgZnJvbSwg
aW4gbG9uZyBsZW5ndGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICB1bnNpZ25l
ZCBsb25nIG51bWJlck9mU2Nyb2xsYWJsZUFyZWFzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTI2NSkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA2
LTIyICBBbGljZSBDaGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFz
aCBhdCBXZWJDb3JlOjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMDMwNTMxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9u
LWJsb2NrcXVvdGUtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLmh0
bWw6IEFkZGVkLgorCiAyMDEyLTA2LTI2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5q
ZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gQmFzZWxpbmUgbWlzc2luZyBmb3IgM0Qg
dHJhbnNmb3JtcyB0ZXN0cy4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1
dG9jb3JyZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rp
b24tYmxvY2txdW90ZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBtYXJrZXJzIGFyZSBjb3JyZWN0IHdoZW4gYXV0
byBjb3JyZWN0aW5nIGluIHRoZSBibG9ja3F1b3RlLiBJZiB5b3UgdHlwZSAibiIgYW5kICIgIiwg
dGhlcmUgc2hvdWxkIGJlIGJsdWUgZG90cyB1bmRlciBpbmZvcm1hdGlvbiwgYnV0IGlzIG9mZiBi
eSBvbmUuCisKK1BBU1MgaW50ZXJuYWxzLmhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIoZG9jdW1lbnQs
IDAsIDEpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCit3b3VsZCB0aGlzIAordGVzdGluZm9ybWF0aW9uwqAKK21ha2UgYSBkaWZmZXJl
bmNlPworCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5n
L2F1dG9jb3JyZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVjdGlvbi1ibG9j
a3F1b3RlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQg
bWFya2VycyBhcmUgY29ycmVjdCB3aGVuIGF1dG8gY29ycmVjdGluZyBpbiB0aGUgYmxvY2txdW90
ZS4gSWYgeW91IHR5cGUgIm4iIGFuZCAiICIsIHRoZXJlIHNob3VsZCBiZSBibHVlIGRvdHMgdW5k
ZXIgaW5mb3JtYXRpb24sIGJ1dCBpcyBvZmYgYnkgb25lLiA8YnI+IE5vdGUsIHRoaXMgdGVzdCBj
YW4gZmFpbCBkdWUgdG8gdXNlciBzcGVjaWZpYyBzcGVsbCBjaGVja2luZyBkYXRhLiBJZiB0aGUg
dXNlciBoYXMgcHJldmlvdXNseSBkaXNtaXNzZWQgJ25vdGF0aW9uYWwnIGFzIHRoZSBjb3JyZWN0
IHNwZWxsaW5nIG9mICdub3RhdGlvbmwnIHNldmVyYWwgdGltZXMsIHRoZSBzcGVsbCBjaGVja2Vy
IHdpbGwgbm90IHByb3ZpZGUgJ2luZm9ybWF0aW9uJyBhcyBhIHN1Z2dlc3Rpb24gYW55bW9yZS4g
VG8gZml4IHRoaXMsIHJlbW92ZSBhbGwgZmlsZXMgaW4gfi9MaWJyYXJ5L1NwZWxsaW5nLjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8ZGl2IGlkID0gInRlc3QiIGNvbnRlbnRFZGl0
YWJsZT0idHJ1ZSIgc3BlbGxDaGVjaz0idHJ1ZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGZv
bnQgc3R5bGUgPSAiZm9udC1mYW1pbHk6QXJpYWwiPjxicj4gd291bGQgdGhpcyA8YiBpZCA9ICJi
b2xkIj48YnI+PC9iPjxiPjxicj48L2I+bWFrZSBhIGRpZmZlcmVuY2U/PHNwYW4+PGJyPjwvc3Bh
bj48c3Bhbj48YnI+PC9zcGFuPjwvZm9udD48L2Jsb2NrcXVvdGU+PC9kaXY+CisKKzxzY3JpcHQg
bGFuZ3VhZ2U9ImphdmFzY3JpcHQiPgorICAgIC8vSW5zZXJ0IHNvbWUgdGV4dCB3aXRoIGEgdHlw
b2dyYXBoaWNhbCBlcnJvciBpbiBpdCwgc28gYXV0b2NvcnJlY3Rpb24gb2NjdXJzLgorICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Ym9sZCIpLCAxKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNl
LCAidGVzdCBpbmZvbWF0aW8iKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCduJyk7CisgICAg
ZXZlbnRTZW5kZXIua2V5RG93bignICcpOworICAgIAorICAgIGlmKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgnaW50ZXJuYWxzLmhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIo
ZG9jdW1lbnQsIDAsIDEpJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149597</attachid>
            <date>2012-06-26 13:35:36 -0700</date>
            <delta_ts>2012-06-26 14:22:52 -0700</delta_ts>
            <desc>Patch revised 2</desc>
            <filename>Mailcrash3.txt</filename>
            <type>text/plain</type>
            <size>10086</size>
            <attacher name="Alice Cheng">alice_cheng</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTI4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTIyICBBbGljZSBD
aGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBhdCBXZWJDb3Jl
OjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMw
NTMxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4JCisgICAgICAgIFRoZSBy
YW5nZSB1c2VkIGZvciBtYXJraW5nIGJlY29tZXMgaW52YWxpZCBhZnRlciBTcGVsbGluZ0NvcnJl
Y3Rpb25Db21tYW5kLCBkdWUgdG8gY2hhbmdlcyBpbiB0aGUgRE9NIG1hZGUgYnkgUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQuIAorICAgICAgICBUaGlzIGludmFsaWQgcmFuZ2UgY2F1c2VkIG1hcmtp
bmcgdG8gYmUgaW5jb3JyZWN0LCBhbmQgTWFpbC5hcHAgdG8gY3Jhc2ggd2hlbiBpdGVyYXRpbmcg
dGhyb3VnaCB0aGUgaW52YWxpZCByYW5nZS4gIFRvIGZpeCB0aGlzLAorICAgICAgICByZWNhbGN1
bGF0ZSB0aGUgcmFuZ2UgZm9yIG1hcmtpbmcgYWZ0ZXIgU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFu
ZC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29y
cmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQWx0ZXJu
YXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5hdGl2ZVRl
eHRDb250cm9sbGVyOjphcHBseUFsdGVybmF0aXZlVGV4dFRvUmFuZ2UpOgorICAgICAgICAqIGVk
aXRpbmcvRWRpdG9yLmNwcDogIChXZWJDb3JlOjpFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKToK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aGFzQXV0b2NvcnJlY3RlZE1hcmtlcik6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDogKEludGVybmFscyk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTA2LTI2ICBEYXZlIFRoYXJwICA8ZHRoYXJwQGNvZGVh
dXJvcmEub3JnPgogCiAgICAgICAgIGlldGVzdGNlbnRlci9jc3MzL3ZhbHVlc2FuZHVuaXRzL3Vu
aXRzLTAwMC5odG0gYXNzZXJ0cwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxMjEwMzMpCisrKyBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNzMsNyArMjczLDEyIEBAIHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJv
bGxlcjo6YXBwbHlBbHQKIAogICAgIC8vIENsb25lIHRoZSByYW5nZSwgc2luY2UgdGhlIGNhbGxl
ciBvZiB0aGlzIG1ldGhvZCBtYXkgd2FudCB0byBrZWVwIHRoZSBvcmlnaW5hbCByYW5nZSBhcm91
bmQuCiAgICAgUmVmUHRyPFJhbmdlPiByYW5nZVdpdGhBbHRlcm5hdGl2ZSA9IHJhbmdlLT5jbG9u
ZVJhbmdlKGVjKTsKKyAgICAKKyAgICBpbnQgcGFyYWdyYXBoU3RhcnRJbmRleCA9IFRleHRJdGVy
YXRvcjo6cmFuZ2VMZW5ndGgoUmFuZ2U6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpLCBtX2Zy
YW1lLT5kb2N1bWVudCgpLCAwLCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdl
dCgpLT5zdGFydENvbnRhaW5lcigpLCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9u
LmdldCgpLT5zdGFydE9mZnNldCgpKS5nZXQoKSk7CiAgICAgYXBwbHlDb21tYW5kKFNwZWxsaW5n
Q29ycmVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShyYW5nZVdpdGhBbHRlcm5hdGl2ZSwgYWx0ZXJuYXRp
dmUpKTsKKyAgICAvLyBSZWNhbGN1bGF0ZSBwcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rp
b24sIHNpbmNlIFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQgbW9kaWZpZWQgdGhlIERPTSwgc3Vj
aCB0aGF0IHRoZSBvcmlnaW5hbCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uIGlz
IG5vIGxvbmdlciB2YWxpZC4gUmFkYXI6IDEwMzA1MzE1IEJ1Z3ppbGxhOiA4OTUyNgorICAgIHBh
cmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24gPSBUZXh0SXRlcmF0b3I6OnJhbmdlRnJv
bUxvY2F0aW9uQW5kTGVuZ3RoKG1fZnJhbWUtPmRvY3VtZW50KCksIHBhcmFncmFwaFN0YXJ0SW5k
ZXgsIGNvcnJlY3Rpb25TdGFydE9mZnNldEluUGFyYWdyYXBoICsgYWx0ZXJuYXRpdmUubGVuZ3Ro
KCkpOworICAgIAogICAgIHNldEVuZChwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9u
LmdldCgpLCBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuc3RhcnQoKSk7CiAgICAg
UmVmUHRyPFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpzdWJyYW5nZShw
YXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdldCgpLCBjb3JyZWN0aW9uU3RhcnRP
ZmZzZXRJblBhcmFncmFwaCwgYWx0ZXJuYXRpdmUubGVuZ3RoKCkpOwogICAgIFN0cmluZyBuZXdU
ZXh0ID0gcGxhaW5UZXh0KHJlcGxhY2VtZW50UmFuZ2UuZ2V0KCkpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAkocmV2aXNpb24gMTIxMDMzKQorKysgU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTE5LDggKzIxMTksMTMgQEAgdm9p
ZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKFBhc3NSZWZQdAogICAgICAgICAgICAgICAgIGlm
IChjYW5FZGl0UmljaGx5KCkpCiAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q29tbWFuZChDcmVh
dGVMaW5rQ29tbWFuZDo6Y3JlYXRlKG1fZnJhbWUtPmRvY3VtZW50KCksIHJlc3VsdC0+cmVwbGFj
ZW1lbnQpKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2FuRWRpdCgpICYmIHNob3VsZEluc2Vy
dFRleHQocmVzdWx0LT5yZXBsYWNlbWVudCwgcmFuZ2VUb1JlcGxhY2UuZ2V0KCksIEVkaXRvcklu
c2VydEFjdGlvblR5cGVkKSkgeworICAgICAgICAgICAgICAgIGludCBwYXJhZ3JhcGhTdGFydElu
ZGV4ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChSYW5nZTo6Y3JlYXRlKG1fZnJhbWUtPmRv
Y3VtZW50KCksIG1fZnJhbWUtPmRvY3VtZW50KCksIDAsIHBhcmFncmFwaC5wYXJhZ3JhcGhSYW5n
ZSgpLT5zdGFydENvbnRhaW5lcigpLCBwYXJhZ3JhcGgucGFyYWdyYXBoUmFuZ2UoKS0+c3RhcnRP
ZmZzZXQoKSkuZ2V0KCkpOworICAgICAgICAgICAgICAgIGludCBwYXJhZ3JhcGhMZW5ndGggPSBU
ZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKHBhcmFncmFwaC5wYXJhZ3JhcGhSYW5nZSgpLmdldCgp
KTsKICAgICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFu
ZDo6Y3JlYXRlKHJhbmdlVG9SZXBsYWNlLCByZXN1bHQtPnJlcGxhY2VtZW50KSk7Ci0KKyAgICAg
ICAgICAgICAgICAvLyBSZWNhbGN1bGF0ZSBuZXdQYXJhZ3JhcGhSYW5nZSwgc2luY2UgU3BlbGxp
bmdDb3JyZWN0aW9uQ29tbWFuZCBtb2RpZmllcyB0aGUgRE9NLCBzdWNoIHRoYXQgdGhlIG9yaWdp
bmFsIHBhcmFncmFwaCByYW5nZSBpcyBubyBsb25nZXIgdmFsaWQuIFJhZGFyOiAxMDMwNTMxNSBC
dWd6aWxsYTogODk1MjYKKyAgICAgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IG5ld1BhcmFncmFw
aFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChtX2ZyYW1l
LT5kb2N1bWVudCgpLCBwYXJhZ3JhcGhTdGFydEluZGV4LCBwYXJhZ3JhcGhMZW5ndGgrcmVwbGFj
ZW1lbnRMZW5ndGgtcmVzdWx0TGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBwYXJhZ3JhcGggPSBU
ZXh0Q2hlY2tpbmdQYXJhZ3JhcGgoVGV4dEl0ZXJhdG9yOjpzdWJyYW5nZShuZXdQYXJhZ3JhcGhS
YW5nZS5nZXQoKSwgcmVzdWx0TG9jYXRpb24sIHJlcGxhY2VtZW50TGVuZ3RoKSwgbmV3UGFyYWdy
YXBoUmFuZ2UpOworICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGlmIChBWE9iamVj
dENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChFbGVtZW50KiByb290ID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnJvb3RF
ZGl0YWJsZUVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPmF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihyb290LT5yZW5kZXJlcigp
LCBBWE9iamVjdENhY2hlOjpBWEF1dG9jb3JyZWN0aW9uT2NjdXJlZCwgdHJ1ZSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAxMjEwMzMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMjgs
NiArMTAyOCwxNCBAQCBib29sIEludGVybmFsczo6aGFzU3BlbGxpbmdNYXJrZXIoRG9jdW1lCiAK
ICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zZWxlY3Rpb25TdGFydEhh
c01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcsIGZyb20sIGxlbmd0aCk7CiB9Cisg
ICAgCitib29sIEludGVybmFsczo6aGFzQXV0b2NvcnJlY3RlZE1hcmtlcihEb2N1bWVudCogZG9j
dW1lbnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICBpZiAo
IWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
CisgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRI
YXNNYXJrZXJGb3IoRG9jdW1lbnRNYXJrZXI6OkF1dG9jb3JyZWN0ZWQsIGZyb20sIGxlbmd0aCk7
Cit9CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdW5zaWduZWQgSW50ZXJuYWxzOjpudW1iZXJP
ZkxpdmVOb2RlcygpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJl
dmlzaW9uIDEyMTAzMykKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE1OCw2ICsxNTgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhc1Nw
ZWxsaW5nTWFya2VyKERvY3VtZW50KiwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICBib29sIGhhc0dyYW1tYXJNYXJrZXIoRG9jdW1lbnQqLCBpbnQgZnJvbSwgaW50
IGxlbmd0aCwgRXhjZXB0aW9uQ29kZSYpOworICAgIGJvb2wgaGFzQXV0b2NvcnJlY3RlZE1hcmtl
cihEb2N1bWVudCosIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJik7CiAKICAg
ICB1bnNpZ25lZCBudW1iZXJPZlNjcm9sbGFibGVBcmVhcyhEb2N1bWVudCosIEV4Y2VwdGlvbkNv
ZGUmKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNpb24g
MTIxMDMzKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzIsNiArMTMyLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgYm9v
bGVhbiBoYXNTcGVsbGluZ01hcmtlcihpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gbG9uZyBmcm9t
LCBpbiBsb25nIGxlbmd0aCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBib29sZWFu
IGhhc0dyYW1tYXJNYXJrZXIoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxvbmcgZnJvbSwgaW4g
bG9uZyBsZW5ndGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgYm9vbGVhbiBoYXNB
dXRvY29ycmVjdGVkTWFya2VyKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBsb25nIGZyb20sIGlu
IGxvbmcgbGVuZ3RoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgdW5zaWduZWQg
bG9uZyBudW1iZXJPZlNjcm9sbGFibGVBcmVhcyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjEyODUpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNi0y
MiAgQWxpY2UgQ2hlbmcgIDxhbGljZV9jaGVuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2gg
YXQgV2ViQ29yZTo6VGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Qm94CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTUyNgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTAzMDUzMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVjdGlvbi1ibG9j
a3F1b3RlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC5odG1sOiBB
ZGRlZC4KKwogMjAxMi0wNi0yNiAgRGF2ZSBUaGFycCAgPGR0aGFycEBjb2RlYXVyb3JhLm9yZz4K
IAogICAgICAgICBpZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMDAuaHRt
IGFzc2VydHMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5n
L2F1dG9jb3JyZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0
aW9uLWJsb2NrcXVvdGUtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxvY2tx
dW90ZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgdGhhdCBtYXJrZXJzIGFyZSBjb3JyZWN0IHdoZW4gYXV0byBjb3JyZWN0
aW5nIGluIHRoZSBibG9ja3F1b3RlLiBJZiB5b3UgdHlwZSAibiIgYW5kICIgIiwgdGhlcmUgc2hv
dWxkIGJlIGJsdWUgZG90cyB1bmRlciBpbmZvcm1hdGlvbiwgYnV0IGlzIG9mZiBieSBvbmUuCisK
K1BBU1MgaW50ZXJuYWxzLmhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIoZG9jdW1lbnQsIDAsIDEpIGlz
IHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
Cit3b3VsZCB0aGlzIAordGVzdGluZm9ybWF0aW9uwqAKK21ha2UgYSBkaWZmZXJlbmNlPworCisK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3Jy
ZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVjdGlvbi1ibG9ja3F1b3RlLWNy
YXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9zcGVsbGluZy9hdXRvY29ycmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgbWFya2VycyBh
cmUgY29ycmVjdCB3aGVuIGF1dG8gY29ycmVjdGluZyBpbiB0aGUgYmxvY2txdW90ZS4gSWYgeW91
IHR5cGUgIm4iIGFuZCAiICIsIHRoZXJlIHNob3VsZCBiZSBibHVlIGRvdHMgdW5kZXIgaW5mb3Jt
YXRpb24sIGJ1dCBpcyBvZmYgYnkgb25lLiA8YnI+IE5vdGUsIHRoaXMgdGVzdCBjYW4gZmFpbCBk
dWUgdG8gdXNlciBzcGVjaWZpYyBzcGVsbCBjaGVja2luZyBkYXRhLiBJZiB0aGUgdXNlciBoYXMg
cHJldmlvdXNseSBkaXNtaXNzZWQgJ25vdGF0aW9uYWwnIGFzIHRoZSBjb3JyZWN0IHNwZWxsaW5n
IG9mICdub3RhdGlvbmwnIHNldmVyYWwgdGltZXMsIHRoZSBzcGVsbCBjaGVja2VyIHdpbGwgbm90
IHByb3ZpZGUgJ2luZm9ybWF0aW9uJyBhcyBhIHN1Z2dlc3Rpb24gYW55bW9yZS4gVG8gZml4IHRo
aXMsIHJlbW92ZSBhbGwgZmlsZXMgaW4gfi9MaWJyYXJ5L1NwZWxsaW5nLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorCis8ZGl2IGlkID0gInRlc3QiIGNvbnRlbnRFZGl0YWJsZT0idHJ1
ZSIgc3BlbGxDaGVjaz0idHJ1ZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGZvbnQgc3R5bGUg
PSAiZm9udC1mYW1pbHk6QXJpYWwiPjxicj4gd291bGQgdGhpcyA8YiBpZCA9ICJib2xkIj48YnI+
PC9iPjxiPjxicj48L2I+bWFrZSBhIGRpZmZlcmVuY2U/PHNwYW4+PGJyPjwvc3Bhbj48c3Bhbj48
YnI+PC9zcGFuPjwvZm9udD48L2Jsb2NrcXVvdGU+PC9kaXY+CisKKzxzY3JpcHQgbGFuZ3VhZ2U9
ImphdmFzY3JpcHQiPgorICAgIC8vIEluc2VydCBzb21lIHRleHQgd2l0aCBhIHR5cG9ncmFwaGlj
YWwgZXJyb3IgaW4gaXQsIHNvIGF1dG9jb3JyZWN0aW9uIG9jY3Vycy4KKyAgICB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvbGQiKSwg
MSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFRleHQiLCBmYWxzZSwgInRlc3Qg
aW5mb21hdGlvIik7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignbicpOworICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJyAnKTsKKyAgICAKKyAgICBpZih3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICBzaG91bGRCZVRydWUoJ2ludGVybmFscy5oYXNBdXRvY29ycmVjdGVkTWFya2VyKGRvY3VtZW50
LCAwLCAxKScpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149607</attachid>
            <date>2012-06-26 14:22:52 -0700</date>
            <delta_ts>2012-06-26 16:34:37 -0700</delta_ts>
            <desc>Patch revised 2</desc>
            <filename>Mailcrash3.txt</filename>
            <type>text/plain</type>
            <size>10087</size>
            <attacher name="Alice Cheng">alice_cheng</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTI4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTIyICBBbGljZSBD
aGVuZyAgPGFsaWNlX2NoZW5nQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBhdCBXZWJDb3Jl
OjpUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHRCb3gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NTI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDMw
NTMxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGUg
cmFuZ2UgdXNlZCBmb3IgbWFya2luZyBiZWNvbWVzIGludmFsaWQgYWZ0ZXIgU3BlbGxpbmdDb3Jy
ZWN0aW9uQ29tbWFuZCwgZHVlIHRvIGNoYW5nZXMgaW4gdGhlIERPTSBtYWRlIGJ5IFJlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kLiAKKyAgICAgICAgVGhpcyBpbnZhbGlkIHJhbmdlIGNhdXNlZCBtYXJr
aW5nIHRvIGJlIGluY29ycmVjdCwgYW5kIE1haWwuYXBwIHRvIGNyYXNoIHdoZW4gaXRlcmF0aW5n
IHRocm91Z2ggdGhlIGludmFsaWQgcmFuZ2UuICBUbyBmaXggdGhpcywKKyAgICAgICAgcmVjYWxj
dWxhdGUgdGhlIHJhbmdlIGZvciBtYXJraW5nIGFmdGVyIFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1h
bmQuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0b2Nv
cnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0FsdGVy
bmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlcjo6YXBwbHlBbHRlcm5hdGl2ZVRleHRUb1JhbmdlKToKKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRvci5jcHA6ICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIpOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wNi0yNiAgRGF2ZSBUaGFycCAgPGR0aGFycEBjb2Rl
YXVyb3JhLm9yZz4KIAogICAgICAgICBpZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91
bml0cy0wMDAuaHRtIGFzc2VydHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJu
YXRpdmVUZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMTIxMDMzKQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjczLDcgKzI3MywxMiBAQCB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXI6OmFwcGx5QWx0CiAKICAgICAvLyBDbG9uZSB0aGUgcmFuZ2UsIHNpbmNlIHRoZSBjYWxs
ZXIgb2YgdGhpcyBtZXRob2QgbWF5IHdhbnQgdG8ga2VlcCB0aGUgb3JpZ2luYWwgcmFuZ2UgYXJv
dW5kLgogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2VXaXRoQWx0ZXJuYXRpdmUgPSByYW5nZS0+Y2xv
bmVSYW5nZShlYyk7CisgICAgCisgICAgaW50IHBhcmFncmFwaFN0YXJ0SW5kZXggPSBUZXh0SXRl
cmF0b3I6OnJhbmdlTGVuZ3RoKFJhbmdlOjpjcmVhdGUobV9mcmFtZS0+ZG9jdW1lbnQoKSwgbV9m
cmFtZS0+ZG9jdW1lbnQoKSwgMCwgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi5n
ZXQoKS0+c3RhcnRDb250YWluZXIoKSwgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlv
bi5nZXQoKS0+c3RhcnRPZmZzZXQoKSkuZ2V0KCkpOwogICAgIGFwcGx5Q29tbWFuZChTcGVsbGlu
Z0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VXaXRoQWx0ZXJuYXRpdmUsIGFsdGVybmF0
aXZlKSk7CisgICAgLy8gUmVjYWxjdWxhdGUgcHJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0
aW9uLCBzaW5jZSBTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kIG1vZGlmaWVkIHRoZSBET00sIHN1
Y2ggdGhhdCB0aGUgb3JpZ2luYWwgcGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbiBp
cyBubyBsb25nZXIgdmFsaWQuIFJhZGFyOiAxMDMwNTMxNSBCdWd6aWxsYTogODk1MjYKKyAgICBw
YXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUZy
b21Mb2NhdGlvbkFuZExlbmd0aChtX2ZyYW1lLT5kb2N1bWVudCgpLCBwYXJhZ3JhcGhTdGFydElu
ZGV4LCBjb3JyZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFwaCArIGFsdGVybmF0aXZlLmxlbmd0
aCgpKTsKKyAgICAKICAgICBzZXRFbmQocGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlv
bi5nZXQoKSwgbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnN0YXJ0KCkpOwogICAg
IFJlZlB0cjxSYW5nZT4gcmVwbGFjZW1lbnRSYW5nZSA9IFRleHRJdGVyYXRvcjo6c3VicmFuZ2Uo
cGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi5nZXQoKSwgY29ycmVjdGlvblN0YXJ0
T2Zmc2V0SW5QYXJhZ3JhcGgsIGFsdGVybmF0aXZlLmxlbmd0aCgpKTsKICAgICBTdHJpbmcgbmV3
VGV4dCA9IHBsYWluVGV4dChyZXBsYWNlbWVudFJhbmdlLmdldCgpKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDEyMTAzMykKKysrIFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExOSw4ICsyMTE5LDEzIEBAIHZv
aWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihQYXNzUmVmUHQKICAgICAgICAgICAgICAgICBp
ZiAoY2FuRWRpdFJpY2hseSgpKQogICAgICAgICAgICAgICAgICAgICBhcHBseUNvbW1hbmQoQ3Jl
YXRlTGlua0NvbW1hbmQ6OmNyZWF0ZShtX2ZyYW1lLT5kb2N1bWVudCgpLCByZXN1bHQtPnJlcGxh
Y2VtZW50KSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGNhbkVkaXQoKSAmJiBzaG91bGRJbnNl
cnRUZXh0KHJlc3VsdC0+cmVwbGFjZW1lbnQsIHJhbmdlVG9SZXBsYWNlLmdldCgpLCBFZGl0b3JJ
bnNlcnRBY3Rpb25UeXBlZCkpIHsKKyAgICAgICAgICAgICAgICBpbnQgcGFyYWdyYXBoU3RhcnRJ
bmRleCA9IFRleHRJdGVyYXRvcjo6cmFuZ2VMZW5ndGgoUmFuZ2U6OmNyZWF0ZShtX2ZyYW1lLT5k
b2N1bWVudCgpLCBtX2ZyYW1lLT5kb2N1bWVudCgpLCAwLCBwYXJhZ3JhcGgucGFyYWdyYXBoUmFu
Z2UoKS0+c3RhcnRDb250YWluZXIoKSwgcGFyYWdyYXBoLnBhcmFncmFwaFJhbmdlKCktPnN0YXJ0
T2Zmc2V0KCkpLmdldCgpKTsKKyAgICAgICAgICAgICAgICBpbnQgcGFyYWdyYXBoTGVuZ3RoID0g
VGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChwYXJhZ3JhcGgucGFyYWdyYXBoUmFuZ2UoKS5nZXQo
KSk7CiAgICAgICAgICAgICAgICAgYXBwbHlDb21tYW5kKFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1h
bmQ6OmNyZWF0ZShyYW5nZVRvUmVwbGFjZSwgcmVzdWx0LT5yZXBsYWNlbWVudCkpOwotCisgICAg
ICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgbmV3UGFyYWdyYXBoUmFuZ2UsIHNpbmNlIFNwZWxs
aW5nQ29ycmVjdGlvbkNvbW1hbmQgbW9kaWZpZXMgdGhlIERPTSwgc3VjaCB0aGF0IHRoZSBvcmln
aW5hbCBwYXJhZ3JhcGggcmFuZ2UgaXMgbm8gbG9uZ2VyIHZhbGlkLiBSYWRhcjogMTAzMDUzMTUg
QnVnemlsbGE6IDg5NTI2CisgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBuZXdQYXJhZ3Jh
cGhSYW5nZSA9IFRleHRJdGVyYXRvcjo6cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgobV9mcmFt
ZS0+ZG9jdW1lbnQoKSwgcGFyYWdyYXBoU3RhcnRJbmRleCwgcGFyYWdyYXBoTGVuZ3RoK3JlcGxh
Y2VtZW50TGVuZ3RoLXJlc3VsdExlbmd0aCk7CisgICAgICAgICAgICAgICAgcGFyYWdyYXBoID0g
VGV4dENoZWNraW5nUGFyYWdyYXBoKFRleHRJdGVyYXRvcjo6c3VicmFuZ2UobmV3UGFyYWdyYXBo
UmFuZ2UuZ2V0KCksIHJlc3VsdExvY2F0aW9uLCByZXBsYWNlbWVudExlbmd0aCksIG5ld1BhcmFn
cmFwaFJhbmdlKTsKKyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoQVhPYmpl
Y3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgICAgICBp
ZiAoRWxlbWVudCogcm9vdCA9IG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS5yb290
RWRpdGFibGVFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1
bWVudCgpLT5heE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocm9vdC0+cmVuZGVyZXIo
KSwgQVhPYmplY3RDYWNoZTo6QVhBdXRvY29ycmVjdGlvbk9jY3VyZWQsIHRydWUpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMTIxMDMzKQorKysgU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDI4
LDYgKzEwMjgsMTQgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZQog
CiAgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRI
YXNNYXJrZXJGb3IoRG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQor
ICAgIAorYm9vbCBJbnRlcm5hbHM6Omhhc0F1dG9jb3JyZWN0ZWRNYXJrZXIoRG9jdW1lbnQqIGRv
Y3VtZW50LCBpbnQgZnJvbSwgaW50IGxlbmd0aCwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgaWYg
KCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPmZyYW1lKCkpCisgICAgICAgIHJldHVybiAwOworICAg
IAorICAgIHJldHVybiBkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPnNlbGVjdGlvblN0YXJ0
SGFzTWFya2VyRm9yKERvY3VtZW50TWFya2VyOjpBdXRvY29ycmVjdGVkLCBmcm9tLCBsZW5ndGgp
OworfQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIHVuc2lnbmVkIEludGVybmFsczo6bnVtYmVy
T2ZMaXZlTm9kZXMoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCShy
ZXZpc2lvbiAxMjEwMzMpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNT
cGVsbGluZ01hcmtlcihEb2N1bWVudCosIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgYm9vbCBoYXNHcmFtbWFyTWFya2VyKERvY3VtZW50KiwgaW50IGZyb20sIGlu
dCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBib29sIGhhc0F1dG9jb3JyZWN0ZWRNYXJr
ZXIoRG9jdW1lbnQqLCBpbnQgZnJvbSwgaW50IGxlbmd0aCwgRXhjZXB0aW9uQ29kZSYpOwogCiAg
ICAgdW5zaWduZWQgbnVtYmVyT2ZTY3JvbGxhYmxlQXJlYXMoRG9jdW1lbnQqLCBFeGNlcHRpb25D
b2RlJik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHJldmlzaW9u
IDEyMTAzMykKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMyLDYgKzEzMiw3IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGJv
b2xlYW4gaGFzU3BlbGxpbmdNYXJrZXIoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxvbmcgZnJv
bSwgaW4gbG9uZyBsZW5ndGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgYm9vbGVh
biBoYXNHcmFtbWFyTWFya2VyKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBsb25nIGZyb20sIGlu
IGxvbmcgbGVuZ3RoKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGJvb2xlYW4gaGFz
QXV0b2NvcnJlY3RlZE1hcmtlcihpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gbG9uZyBmcm9tLCBp
biBsb25nIGxlbmd0aCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgICAgIHVuc2lnbmVk
IGxvbmcgbnVtYmVyT2ZTY3JvbGxhYmxlQXJlYXMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTIxMjg1KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDYt
MjIgIEFsaWNlIENoZW5nICA8YWxpY2VfY2hlbmdAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNo
IGF0IFdlYkNvcmU6OlRleHRJdGVyYXRvcjo6aGFuZGxlVGV4dEJveAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk1MjYKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzEwMzA1MzE1PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxv
Y2txdW90ZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9uLWJsb2NrcXVvdGUtY3Jhc2guaHRtbDog
QWRkZWQuCisKIDIwMTItMDYtMjYgIERhdmUgVGhhcnAgIDxkdGhhcnBAY29kZWF1cm9yYS5vcmc+
CiAKICAgICAgICAgaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMDAwLmh0
bSBhc3NlcnRzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGlu
Zy9hdXRvY29ycmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29ycmVj
dGlvbi1ibG9ja3F1b3RlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL2F1dG9jb3JyZWN0aW9uLWJsb2Nr
cXVvdGUtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgbWFya2VycyBhcmUgY29ycmVjdCB3aGVuIGF1dG8gY29ycmVj
dGluZyBpbiB0aGUgYmxvY2txdW90ZS4gSWYgeW91IHR5cGUgIm4iIGFuZCAiICIsIHRoZXJlIHNo
b3VsZCBiZSBibHVlIGRvdHMgdW5kZXIgaW5mb3JtYXRpb24sIGJ1dCBpcyBvZmYgYnkgb25lLgor
CitQQVNTIGludGVybmFscy5oYXNBdXRvY29ycmVjdGVkTWFya2VyKGRvY3VtZW50LCAwLCAxKSBp
cyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
Kword291bGQgdGhpcyAKK3Rlc3RpbmZvcm1hdGlvbsKgCittYWtlIGEgZGlmZmVyZW5jZT8KKwor
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9hdXRvY29y
cmVjdGlvbi1ibG9ja3F1b3RlLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1j
cmFzaC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvc3BlbGxpbmcvYXV0b2NvcnJlY3Rpb24tYmxvY2txdW90ZS1jcmFzaC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IG1hcmtlcnMg
YXJlIGNvcnJlY3Qgd2hlbiBhdXRvIGNvcnJlY3RpbmcgaW4gdGhlIGJsb2NrcXVvdGUuIElmIHlv
dSB0eXBlICJuIiBhbmQgIiAiLCB0aGVyZSBzaG91bGQgYmUgYmx1ZSBkb3RzIHVuZGVyIGluZm9y
bWF0aW9uLCBidXQgaXMgb2ZmIGJ5IG9uZS4gPGJyPiBOb3RlLCB0aGlzIHRlc3QgY2FuIGZhaWwg
ZHVlIHRvIHVzZXIgc3BlY2lmaWMgc3BlbGwgY2hlY2tpbmcgZGF0YS4gSWYgdGhlIHVzZXIgaGFz
IHByZXZpb3VzbHkgZGlzbWlzc2VkICdub3RhdGlvbmFsJyBhcyB0aGUgY29ycmVjdCBzcGVsbGlu
ZyBvZiAnbm90YXRpb25sJyBzZXZlcmFsIHRpbWVzLCB0aGUgc3BlbGwgY2hlY2tlciB3aWxsIG5v
dCBwcm92aWRlICdpbmZvcm1hdGlvbicgYXMgYSBzdWdnZXN0aW9uIGFueW1vcmUuIFRvIGZpeCB0
aGlzLCByZW1vdmUgYWxsIGZpbGVzIGluIH4vTGlicmFyeS9TcGVsbGluZy48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKworPGRpdiBpZCA9ICJ0ZXN0IiBjb250ZW50RWRpdGFibGU9InRy
dWUiIHNwZWxsQ2hlY2s9InRydWUiPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxmb250IHN0eWxl
ID0gImZvbnQtZmFtaWx5OkFyaWFsIj48YnI+IHdvdWxkIHRoaXMgPGIgaWQgPSAiYm9sZCI+PGJy
PjwvYj48Yj48YnI+PC9iPm1ha2UgYSBkaWZmZXJlbmNlPzxzcGFuPjxicj48L3NwYW4+PHNwYW4+
PGJyPjwvc3Bhbj48L2ZvbnQ+PC9ibG9ja3F1b3RlPjwvZGl2PgorCis8c2NyaXB0IGxhbmd1YWdl
PSJqYXZhc2NyaXB0Ij4KKyAgICAvLyBJbnNlcnQgc29tZSB0ZXh0IHdpdGggYSB0eXBvZ3JhcGhp
Y2FsIGVycm9yIGluIGl0LCBzbyBhdXRvY29ycmVjdGlvbiBvY2N1cnMuCisgICAgd2luZG93Lmdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2xkIiks
IDEpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICJ0ZXN0
IGluZm9tYXRpbyIpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ24nKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCcgJyk7CisgICAgCisgICAgaWYod2luZG93LmludGVybmFscykKKyAgICAg
ICAgc2hvdWxkQmVUcnVlKCdpbnRlcm5hbHMuaGFzQXV0b2NvcnJlY3RlZE1hcmtlcihkb2N1bWVu
dCwgMCwgMSknKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>