<?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>29319</bug_id>
          
          <creation_ts>2009-09-16 16:33:04 -0700</creation_ts>
          <short_desc>Reorganizing helper functions in htmlediting.h</short_desc>
          <delta_ts>2009-09-16 18:59:12 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>147669</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-09-16 16:33:04 -0700</bug_when>
    <thetext>Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147671</commentid>
    <comment_count>1</comment_count>
      <attachid>39665</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-09-16 16:39:30 -0700</bug_when>
    <thetext>Created attachment 39665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147677</commentid>
    <comment_count>2</comment_count>
      <attachid>39666</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-09-16 17:02:35 -0700</bug_when>
    <thetext>Created attachment 39666
Patch2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147681</commentid>
    <comment_count>3</comment_count>
      <attachid>39666</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 17:12:40 -0700</bug_when>
    <thetext>Comment on attachment 39666
Patch2

Welcome to WebKit! :)

Seems there is an extra newline after isAtUnsplittableElement.

I wonder why this doesn&apos;t return HTMLElement:
118202 PassRefPtr&lt;Element&gt; createTabSpanElement(Document*);
(You shouldn&apos;t change it now, just noting.)

Space after a period?
 15         (WebCore::isAtUnsplittableElement): added.The code has been taken from IndentOutdentCommand.

This looks fine though.  Either you can get someone to commit this for you with modifications, or you can post a new patch with the spacing fixed and the commit queue could take care of this.  Your call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147682</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 17:13:48 -0700</bug_when>
    <thetext>15         (WebCore::isAtUnsplittableElement): added.The code has been taken
from IndentOutdentCommand.

Should also probably be &quot;The code was taken from IndentOutdentCommand.cpp&quot;.  &quot;has been&quot; sounds strange to my ears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147691</commentid>
    <comment_count>5</comment_count>
      <attachid>39671</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-09-16 17:31:25 -0700</bug_when>
    <thetext>Created attachment 39671
New patch including feedback from review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147693</commentid>
    <comment_count>6</comment_count>
      <attachid>39671</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 17:33:37 -0700</bug_when>
    <thetext>Comment on attachment 39671
New patch including feedback from review

Well, again welcome.  Congrats on your first patch.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147697</commentid>
    <comment_count>7</comment_count>
      <attachid>39671</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-16 17:50:39 -0700</bug_when>
    <thetext>Comment on attachment 39671
New patch including feedback from review

Rejecting patch 39671 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11266 test cases.
http/tests/xmlhttprequest/cross-origin-authorization.html -&gt; failed

Exiting early after 1 failures.  8903 tests run.
278.70s total testing time

8902 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
6 test cases (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147702</commentid>
    <comment_count>8</comment_count>
      <attachid>39671</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-16 18:37:28 -0700</bug_when>
    <thetext>Comment on attachment 39671
New patch including feedback from review

I&apos;m very sad this was your first experience with the commit-queue.  It looks like you hit a flakey test.  I&apos;ve filed bug 29322 about the flakey test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147707</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-16 18:59:12 -0700</bug_when>
    <thetext>Committed r48448: &lt;http://trac.webkit.org/changeset/48448&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39665</attachid>
            <date>2009-09-16 16:39:30 -0700</date>
            <delta_ts>2009-09-16 17:02:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>myPatch.txt</filename>
            <type>text/plain</type>
            <size>14079</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODQ0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDktMTYgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW9yZ2FuaXppbmcgaGVscGVyIGZ1bmN0aW9ucyBpbiBodG1sZWRpdGluZy5oIHRvIGdyb3VwIHRo
ZW0gYnkgdHlwZSBvZiBvYmplY3QgdGhleSByZXR1cm4vb3BlcmF0ZSB1cG9uLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkzMTkKKworICAgICAgICAq
IGVkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwOgorICAgICAgICBSZW1vdmVkIGltcGxl
bWVudGF0aW9uIG9mIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50LgorCisgICAgICAgICogZWRpdGlu
Zy9JbmRlbnRPdXRkZW50Q29tbWFuZC5oOgorICAgICAgICBSZW1vdmVkIG1lbWJlciBmdW5jdGlv
biBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbm90IGNsYXNzIHNwZWNp
ZmljIGFuZCBiZWxvbmdlZCBsb2dpY2FsbHkgYW1vbmcgdGhlIGhlbHBlciBmdW5jdGlvbnMuCisK
KyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
QXRVbnNwbGl0dGFibGVFbGVtZW50KTogYWRkZWQuVGhlIGNvZGUgaGFzIGJlZW4gdGFrZW4gZnJv
bSBJbmRlbnRPdXRkZW50Q29tbWFuZC4KKworICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcu
aDoKKyAgICAgICAgUmVvcmRlcmVkIGZ1bmN0aW9ucyB0byBncm91cCB0aGVtIGJ5IHR5cGUgb2Yg
b2JqZWN0IHJldHVybmVkIG9yIG9wZXJhdGUgdXBvbi4KKyAgICAgICAgQWRkZWQgY29tbWVudHMu
CisgICAgICAgIEFkZGVkIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50IGRlY2xhcmF0aW9uLgorCisK
IDIwMDktMDktMTYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGEgQ2hhbi4KSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9JbmRlbnRPdXRkZW50
Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRD
b21tYW5kLmNwcAkocmV2aXNpb24gNDg0MzUpCisrKyBXZWJDb3JlL2VkaXRpbmcvSW5kZW50T3V0
ZGVudENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsMTIgKzEyMSw2IEBAIHZvaWQg
SW5kZW50T3V0ZGVudENvbW1hbmQ6OmluZGVudEludG9CbG8KICAgICAgICAgdGFyZ2V0QmxvY2tx
dW90ZSA9IDA7CiB9CiAKLWJvb2wgSW5kZW50T3V0ZGVudENvbW1hbmQ6OmlzQXRVbnNwbGl0dGFi
bGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpIGNvbnN0Ci17Ci0gICAgTm9kZSogbm9kZSA9
IHBvcy5ub2RlKCk7Ci0gICAgcmV0dXJuIG5vZGUgPT0gZWRpdGFibGVSb290Rm9yUG9zaXRpb24o
cG9zKSB8fCBub2RlID09IGVuY2xvc2luZ05vZGVPZlR5cGUocG9zLCAmaXNUYWJsZUNlbGwpOwot
fQotCiAvLyBFbmNsb3NlIGFsbCBub2RlcyBiZXR3ZWVuIHN0YXJ0IGFuZCBlbmQgYnkgbmV3UGFy
ZW50LCB3aGljaCBpcyBhIHNpYmxpbmcgbm9kZSBvZiBub2RlcyBiZXR3ZWVuIHN0YXJ0IGFuZCBl
bmQKIC8vIEZJWE1FOiBtb3ZlUGFyYWdyYXBoIGlzIG92ZXJseSBjb21wbGljYXRlZC4gIFdlIG5l
ZWQgdG8gY2xlYW4gdXAgbW92ZVBhcmFncmFwaCBzbyB0aGF0IGl0IHVzZXMgYXBwZW5kUGFyYWdy
YXBoSW50b05vZGUKIC8vIG9yIHByZXBhcmUgbW9yZSBzcGVjaWFsaXplZCBmdW5jdGlvbnMgYW5k
IGRlbGV0ZSBtb3ZlUGFyYWdyYXBoCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvSW5kZW50T3V0ZGVu
dENvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvSW5kZW50T3V0ZGVudENv
bW1hbmQuaAkocmV2aXNpb24gNDg0MzUpCisrKyBXZWJDb3JlL2VkaXRpbmcvSW5kZW50T3V0ZGVu
dENvbW1hbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOCArNDYsNiBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBkb0FwcGx5KCk7CiAgICAgdmlydHVhbCBFZGl0QWN0aW9uIGVkaXRpbmdB
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3R5cGVPZkFjdGlvbiA9PSBJbmRlbnQgPyBFZGl0QWN0
aW9uSW5kZW50IDogRWRpdEFjdGlvbk91dGRlbnQ7IH0KIAotICAgIC8vIEZJWE1FOiBEb2VzIHRo
aXMgYmVsb25nIGluIGh0bWxlZGl0aW5nLmNwcD8KLSAgICBib29sIGlzQXRVbnNwbGl0dGFibGVF
bGVtZW50KGNvbnN0IFBvc2l0aW9uJikgY29uc3Q7CiAgICAgdm9pZCBhcHBlbmRQYXJhZ3JhcGhJ
bnRvTm9kZShjb25zdCBWaXNpYmxlUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBWaXNpYmxlUG9zaXRp
b24mIGVuZCwgTm9kZSogbmV3UGFyZW50KTsKICAgICB2b2lkIHJlbW92ZVVubmVjZXNzYXJ5TGlu
ZUJyZWFrQXQoY29uc3QgUG9zaXRpb24mIGVuZE9mUGFyYWdyYXBoKTsKIApJbmRleDogV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcv
aHRtbGVkaXRpbmcuY3BwCShyZXZpc2lvbiA0ODQzNSkKKysrIFdlYkNvcmUvZWRpdGluZy9odG1s
ZWRpdGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsMTMgQEAgYm9vbCBpc0Vk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mIAogICAgIHJldHVybiBub2RlLT5pc0NvbnRl
bnRFZGl0YWJsZSgpOwogfQogCitib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50KGNvbnN0IFBv
c2l0aW9uJiBwb3MpIGNvbnN0Cit7CisgICAgTm9kZSogbm9kZSA9IHBvcy5ub2RlKCk7CisgICAg
cmV0dXJuIChub2RlID09IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvcykgfHwgbm9kZSA9PSBl
bmNsb3NpbmdOb2RlT2ZUeXBlKHBvcywgJmlzVGFibGVDZWxsKSk7Cit9CisgICAgCisgICAgCiBi
b29sIGlzUmljaGx5RWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcCkKIHsKICAgICBO
b2RlKiBub2RlID0gcC5ub2RlKCk7CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAkocmV2aXNpb24g
NDg0MzUpCisrKyBXZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsMzUgKzQzLDI5IEBAIGNsYXNzIFN0cmluZzsKIGNsYXNzIFZpc2libGVQb3NpdGlvbjsK
IGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKKworLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGEgc2V0
IG9mIGhlbHBlciBmdW5jdGlvbnMgdXNlZCBieSB0aGUgZWRpdGluZyBjb21tYW5kcworCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisvLyBQb3NpdGlvbgorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIAor
Ly8gRnVuY3Rpb25zIHJldHVybmluZyBQb3NpdGlvbgorICAgIAogUG9zaXRpb24gcmFuZ2VDb21w
bGlhbnRFcXVpdmFsZW50KGNvbnN0IFBvc2l0aW9uJik7CiBQb3NpdGlvbiByYW5nZUNvbXBsaWFu
dEVxdWl2YWxlbnQoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7Ci1pbnQgbGFzdE9mZnNldEZvckVk
aXRpbmcoY29uc3QgTm9kZSopOwotYm9vbCBpc0F0b21pY05vZGUoY29uc3QgTm9kZSopOwotYm9v
bCBlZGl0aW5nSWdub3Jlc0NvbnRlbnQoY29uc3QgTm9kZSopOwotYm9vbCBjYW5IYXZlQ2hpbGRy
ZW5Gb3JFZGl0aW5nKGNvbnN0IE5vZGUqKTsKLU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29u
c3QgUG9zaXRpb24mKTsKLVZpc2libGVQb3NpdGlvbiBmaXJzdEVkaXRhYmxlUG9zaXRpb25BZnRl
clBvc2l0aW9uSW5Sb290KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSopOwotVmlzaWJsZVBvc2l0aW9u
IGxhc3RFZGl0YWJsZVBvc2l0aW9uQmVmb3JlUG9zaXRpb25JblJvb3QoY29uc3QgUG9zaXRpb24m
LCBOb2RlKik7Ci1pbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBv
c2l0aW9uJik7Ci1pbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBj
b25zdCBWaXNpYmxlUG9zaXRpb24mKTsKLU5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9k
ZSopOworICAgIAogUG9zaXRpb24gbmV4dENhbmRpZGF0ZShjb25zdCBQb3NpdGlvbiYpOwotUG9z
aXRpb24gbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoY29uc3QgUG9zaXRpb24mKTsKIFBv
c2l0aW9uIHByZXZpb3VzQ2FuZGlkYXRlKGNvbnN0IFBvc2l0aW9uJik7CisgICAgCitQb3NpdGlv
biBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShjb25zdCBQb3NpdGlvbiYpOwogUG9zaXRp
b24gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKGNvbnN0IFBvc2l0aW9uJik7Ci1i
b29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwotYm9vbCBpc1JpY2hseUVk
aXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLUVsZW1lbnQqIGVkaXRhYmxlUm9vdEZv
clBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1FbGVtZW50KiB1bnNwbGl0dGFibGVFbGVtZW50
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgaXNCbG9jayhjb25zdCBOb2RlKik7
Ci1Ob2RlKiBlbmNsb3NpbmdCbG9jayhOb2RlKik7Ci0KLVN0cmluZyBzdHJpbmdXaXRoUmViYWxh
bmNlZFdoaXRlc3BhY2UoY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCk7Ci1jb25zdCBTdHJpbmcm
IG5vbkJyZWFraW5nU3BhY2VTdHJpbmcoKTsKLQotLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLQogCitQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZVRhYlNwYW4oY29uc3QgUG9zaXRp
b24mKTsKK1Bvc2l0aW9uIHBvc2l0aW9uQmVmb3JlQ29udGFpbmluZ1NwZWNpYWxFbGVtZW50KGNv
bnN0IFBvc2l0aW9uJiwgTm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudD0wKTsKK1Bvc2l0
aW9uIHBvc2l0aW9uQWZ0ZXJDb250YWluaW5nU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24m
LCBOb2RlKiogY29udGFpbmluZ1NwZWNpYWxFbGVtZW50PTApOworUG9zaXRpb24gcG9zaXRpb25P
dXRzaWRlQ29udGFpbmluZ1NwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSoqIGNv
bnRhaW5pbmdTcGVjaWFsRWxlbWVudD0wKTsKKyAgICAKIC8vIFBvc2l0aW9uIGNyZWF0aW9uIGZ1
bmN0aW9ucyBhcmUgaW5saW5lIHRvIHByZXZlbnQgcmVmLWNodXJuLgogLy8gT3RoZXIgUG9zaXRp
b24gY3JlYXRpb24gZnVuY3Rpb25zIGFyZSBpbiBQb3NpdGlvbi5oCiAvLyBidXQgdGhlc2UgZGVw
ZW5kIG9uIGxhc3RPZmZzZXRGb3JFZGl0aW5nIHdoaWNoIGlzIGRlZmluZWQgaW4gaHRtbGVkaXRp
bmcuaC4KQEAgLTkxLDE4ICs4NSwxMDEgQEAgaW5saW5lIFBvc2l0aW9uIGxhc3REZWVwRWRpdGlu
Z1Bvc2l0aW9uRgogICAgIEFTU0VSVChhbmNob3JOb2RlKTsKICAgICByZXR1cm4gUG9zaXRpb24o
YW5jaG9yTm9kZSwgbGFzdE9mZnNldEZvckVkaXRpbmcoYW5jaG9yTm9kZSkpOwogfQorICAgICAg
IAorLy8gY29tcGFyaXNpb24gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCisgICAgCitpbnQgY29tcGFy
ZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7CiAKKy8vIGJvb2xl
YW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCisgICAgCitib29sIGlzRWRpdGFibGVQb3NpdGlvbihj
b25zdCBQb3NpdGlvbiYpOworYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mKTsKK2Jvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29u
c3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVu
dChjb25zdCBQb3NpdGlvbiYpOworYm9vbCBsaW5lQnJlYWtFeGlzdHNBdFBvc2l0aW9uKGNvbnN0
IFBvc2l0aW9uJik7Citib29sIGlzVmlzaWJseUFkamFjZW50KGNvbnN0IFBvc2l0aW9uJiBmaXJz
dCwgY29uc3QgUG9zaXRpb24mIHNlY29uZCk7Citib29sIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50
KGNvbnN0IFBvc2l0aW9uJikgY29uc3Q7CisKK3Vuc2lnbmVkIG51bUVuY2xvc2luZ01haWxCbG9j
a3F1b3Rlcyhjb25zdCBQb3NpdGlvbiYpOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBWaXNp
YmxlUG9zaXRpb24KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0aW9ucyByZXR1
cm5pbmcgVmlzaWJsZVBvc2l0aW9uCisgICAgCitWaXNpYmxlUG9zaXRpb24gZmlyc3RFZGl0YWJs
ZVBvc2l0aW9uQWZ0ZXJQb3NpdGlvbkluUm9vdChjb25zdCBQb3NpdGlvbiYsIE5vZGUqKTsKK1Zp
c2libGVQb3NpdGlvbiBsYXN0RWRpdGFibGVQb3NpdGlvbkJlZm9yZVBvc2l0aW9uSW5Sb290KGNv
bnN0IFBvc2l0aW9uJiwgTm9kZSopOwogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkJl
Zm9yZU5vZGUoTm9kZSopOwogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkFmdGVyTm9k
ZShOb2RlKik7Ci1QYXNzUmVmUHRyPFJhbmdlPiBjcmVhdGVSYW5nZShQYXNzUmVmUHRyPERvY3Vt
ZW50PiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBzdGFydCwgY29uc3QgVmlzaWJsZVBvc2l0aW9u
JiBlbmQsIEV4Y2VwdGlvbkNvZGUmKTsKLVBhc3NSZWZQdHI8UmFuZ2U+IGV4dGVuZFJhbmdlVG9X
cmFwcGluZ05vZGVzKFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlVG9FeHRlbmQsIGNvbnN0IFJhbmdl
KiBtYXhpbXVtUmFuZ2UsIGNvbnN0IE5vZGUqIHJvb3ROb2RlKTsKIAotUGFzc1JlZlB0cjxSYW5n
ZT4gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShjb25zdCBSYW5nZSosIE5vZGUqKTsKLVZpc2li
bGVTZWxlY3Rpb24gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiwgTm9kZSopOworYm9vbCBsaW5lQnJlYWtFeGlzdHNBdFZpc2libGVQb3NpdGlvbihjb25z
dCBWaXNpYmxlUG9zaXRpb24mKTsKKyAgICAKK2ludCBjb21wYXJlUG9zaXRpb25zKGNvbnN0IFZp
c2libGVQb3NpdGlvbiYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOworaW50IGluZGV4Rm9yVmlz
aWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOworCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisvLyBOb2RlCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgCisvLyBGdW5jdGlvbnMgcmV0
dXJuaW5nIE5vZGUKKworTm9kZSogaGlnaGVzdEFuY2VzdG9yKE5vZGUqKTsKK05vZGUqIGhpZ2hl
c3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGhpZ2hlc3RFbmNsb3NpbmdO
b2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9uJiwgYm9vbCAoKm5vZGVJc09mVHlwZSkoY29uc3QgTm9k
ZSopKTsKK05vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSopOyAgIAogCitOb2RlKiBl
bmNsb3NpbmdCbG9jayhOb2RlKik7CitOb2RlKiBlbmNsb3NpbmdUYWJsZUNlbGwoY29uc3QgUG9z
aXRpb24mKTsKK05vZGUqIGVuY2xvc2luZ0VtcHR5TGlzdEl0ZW0oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJik7CitOb2RlKiBlbmNsb3NpbmdBbmNob3JFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CitO
b2RlKiBlbmNsb3NpbmdOb2RlV2l0aFRhZyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKK05vZGUqIGVuY2xvc2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29s
ICgqbm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKiksIGJvb2wgb25seVJldHVybkVkaXRhYmxlTm9k
ZXMgPSB0cnVlKTsKKworTm9kZSogdGFiU3Bhbk5vZGUoY29uc3QgTm9kZSopOworTm9kZSogbmVh
cmVzdE1haWxCbG9ja3F1b3RlKGNvbnN0IE5vZGUqKTsKK05vZGUqIGlzTGFzdFBvc2l0aW9uQmVm
b3JlVGFibGUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CitOb2RlKiBpc0ZpcnN0UG9zaXRpb25B
ZnRlclRhYmxlKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOworCisvLyBvZmZzZXQgZnVuY3Rpb25z
IG9uIE5vZGUKKyAgICAKK2ludCBsYXN0T2Zmc2V0Rm9yRWRpdGluZyhjb25zdCBOb2RlKik7Citp
bnQgY2FyZXRNaW5PZmZzZXQoY29uc3QgTm9kZSopOworaW50IGNhcmV0TWF4T2Zmc2V0KGNvbnN0
IE5vZGUqKTsKKyAgICAKKy8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIE5vZGUKKyAgICAKK2Jvb2wg
ZWRpdGluZ0lnbm9yZXNDb250ZW50KGNvbnN0IE5vZGUqKTsKK2Jvb2wgY2FuSGF2ZUNoaWxkcmVu
Rm9yRWRpdGluZyhjb25zdCBOb2RlKik7Citib29sIGlzQXRvbWljTm9kZShjb25zdCBOb2RlKik7
Citib29sIGlzQmxvY2soY29uc3QgTm9kZSopOwogYm9vbCBpc1NwZWNpYWxFbGVtZW50KGNvbnN0
IE5vZGUqKTsKLWJvb2wgdmFsaWRCbG9ja1RhZyhjb25zdCBBdG9taWNTdHJpbmcmKTsKK2Jvb2wg
aXNUYWJTcGFuTm9kZShjb25zdCBOb2RlKik7Citib29sIGlzVGFiU3BhblRleHROb2RlKGNvbnN0
IE5vZGUqKTsKK2Jvb2wgaXNNYWlsQmxvY2txdW90ZShjb25zdCBOb2RlKik7Citib29sIGlzVGFi
bGVFbGVtZW50KE5vZGUqKTsKK2Jvb2wgaXNUYWJsZUNlbGwoY29uc3QgTm9kZSopOworYm9vbCBp
c1RhYmxlU3RydWN0dXJlTm9kZShjb25zdCBOb2RlKik7Citib29sIGlzTGlzdEVsZW1lbnQoTm9k
ZSopOworYm9vbCBpc05vZGVSZW5kZXJlZChjb25zdCBOb2RlKik7Citib29sIGlzTm9kZVZpc2li
bHlDb250YWluZWRXaXRoaW4oTm9kZSosIGNvbnN0IFJhbmdlKik7CisgICAgCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisvLyBSYW5nZQorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBGdW5jdGlvbnMg
cmV0dXJuaW5nIFJhbmdlCisKK1Bhc3NSZWZQdHI8UmFuZ2U+IGNyZWF0ZVJhbmdlKFBhc3NSZWZQ
dHI8RG9jdW1lbnQ+LCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBWaXNpYmxl
UG9zaXRpb24mIGVuZCwgRXhjZXB0aW9uQ29kZSYpOworUGFzc1JlZlB0cjxSYW5nZT4gZXh0ZW5k
UmFuZ2VUb1dyYXBwaW5nTm9kZXMoUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VUb0V4dGVuZCwgY29u
c3QgUmFuZ2UqIG1heGltdW1SYW5nZSwgY29uc3QgTm9kZSogcm9vdE5vZGUpOworUGFzc1JlZlB0
cjxSYW5nZT4gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShjb25zdCBSYW5nZSosIE5vZGUqKTsK
IAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gSFRNTEVsZW1lbnQKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKyAgICAKKy8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgSFRNTEVsZW1lbnQKKyAgICAKIFBhc3NS
ZWZQdHI8SFRNTEVsZW1lbnQ+IGNyZWF0ZURlZmF1bHRQYXJhZ3JhcGhFbGVtZW50KERvY3VtZW50
Kik7CiBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBjcmVhdGVCcmVha0VsZW1lbnQoRG9jdW1lbnQq
KTsKIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGNyZWF0ZU9yZGVyZWRMaXN0RWxlbWVudChEb2N1
bWVudCopOwpAQCAtMTExLDU3ICsxODgsNDUgQEAgUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gY3Jl
YXRlTGlzdEl0ZW1FbAogUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gY3JlYXRlSFRNTEVsZW1lbnQo
RG9jdW1lbnQqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CiBQYXNzUmVmUHRyPEhUTUxFbGVtZW50
PiBjcmVhdGVIVE1MRWxlbWVudChEb2N1bWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYpOwogCi1i
b29sIGlzVGFiU3Bhbk5vZGUoY29uc3QgTm9kZSopOwotYm9vbCBpc1RhYlNwYW5UZXh0Tm9kZShj
b25zdCBOb2RlKik7Ci1Ob2RlKiB0YWJTcGFuTm9kZShjb25zdCBOb2RlKik7Ci1Qb3NpdGlvbiBw
b3NpdGlvbkJlZm9yZVRhYlNwYW4oY29uc3QgUG9zaXRpb24mKTsKK0hUTUxFbGVtZW50KiBlbmNs
b3NpbmdMaXN0KE5vZGUqKTsKK0hUTUxFbGVtZW50KiBvdXRlcm1vc3RFbmNsb3NpbmdMaXN0KE5v
ZGUqKTsKK0hUTUxFbGVtZW50KiBlbmNsb3NpbmdMaXN0Q2hpbGQoTm9kZSopOworCisvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisvLyBFbGVtZW50CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgCisvLyBG
dW5jdGlvbnMgcmV0dXJuaW5nIEVsZW1lbnQKKyAgICAKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3Jl
YXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqKTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRl
VGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBQYXNzUmVmUHRyPE5vZGU+IHRhYlRleHROb2RlKTsK
IFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlVGFiU3BhbkVsZW1lbnQoRG9jdW1lbnQqLCBjb25z
dCBTdHJpbmcmIHRhYlRleHQpOwotCi1ib29sIGlzTm9kZVJlbmRlcmVkKGNvbnN0IE5vZGUqKTsK
LWJvb2wgaXNNYWlsQmxvY2txdW90ZShjb25zdCBOb2RlKik7Ci1Ob2RlKiBuZWFyZXN0TWFpbEJs
b2NrcXVvdGUoY29uc3QgTm9kZSopOwotdW5zaWduZWQgbnVtRW5jbG9zaW5nTWFpbEJsb2NrcXVv
dGVzKGNvbnN0IFBvc2l0aW9uJik7Ci1pbnQgY2FyZXRNaW5PZmZzZXQoY29uc3QgTm9kZSopOwot
aW50IGNhcmV0TWF4T2Zmc2V0KGNvbnN0IE5vZGUqKTsKLQotLy8tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLQotYm9vbCBpc1RhYmxlU3RydWN0dXJlTm9kZShjb25zdCBOb2RlKik7
CiBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUJsb2NrUGxhY2Vob2xkZXJFbGVtZW50KERvY3Vt
ZW50Kik7CiAKLWJvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVsZW1lbnQoY29u
c3QgUG9zaXRpb24mKTsKLVBvc2l0aW9uIHBvc2l0aW9uQmVmb3JlQ29udGFpbmluZ1NwZWNpYWxF
bGVtZW50KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudD0w
KTsKLWJvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3Np
dGlvbiYpOwotUG9zaXRpb24gcG9zaXRpb25BZnRlckNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudChj
b25zdCBQb3NpdGlvbiYsIE5vZGUqKiBjb250YWluaW5nU3BlY2lhbEVsZW1lbnQ9MCk7Ci1Qb3Np
dGlvbiBwb3NpdGlvbk91dHNpZGVDb250YWluaW5nU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRp
b24mLCBOb2RlKiogY29udGFpbmluZ1NwZWNpYWxFbGVtZW50PTApOwotTm9kZSogaXNMYXN0UG9z
aXRpb25CZWZvcmVUYWJsZShjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKLU5vZGUqIGlzRmlyc3RQ
b3NpdGlvbkFmdGVyVGFibGUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CitFbGVtZW50KiBlZGl0
YWJsZVJvb3RGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworRWxlbWVudCogdW5zcGxpdHRh
YmxlRWxlbWVudEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CiAKLU5vZGUqIGVuY2xvc2lu
Z05vZGVXaXRoVGFnKGNvbnN0IFBvc2l0aW9uJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotTm9k
ZSogZW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5
cGUpKGNvbnN0IE5vZGUqKSwgYm9vbCBvbmx5UmV0dXJuRWRpdGFibGVOb2RlcyA9IHRydWUpOwot
Tm9kZSogaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgq
bm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKikpOwotTm9kZSogZW5jbG9zaW5nVGFibGVDZWxsKGNv
bnN0IFBvc2l0aW9uJik7Ci1Ob2RlKiBlbmNsb3NpbmdFbXB0eUxpc3RJdGVtKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiYpOwotTm9kZSogZW5jbG9zaW5nQW5jaG9yRWxlbWVudChjb25zdCBQb3NpdGlv
biYpOwotYm9vbCBpc0xpc3RFbGVtZW50KE5vZGUqKTsKLUhUTUxFbGVtZW50KiBlbmNsb3NpbmdM
aXN0KE5vZGUqKTsKLUhUTUxFbGVtZW50KiBvdXRlcm1vc3RFbmNsb3NpbmdMaXN0KE5vZGUqKTsK
LUhUTUxFbGVtZW50KiBlbmNsb3NpbmdMaXN0Q2hpbGQoTm9kZSopOworLy8gQm9vbGVhbiBmdW5j
dGlvbnMgb24gRWxlbWVudAorICAgIAogYm9vbCBjYW5NZXJnZUxpc3RzKEVsZW1lbnQqIGZpcnN0
TGlzdCwgRWxlbWVudCogc2Vjb25kTGlzdCk7Ci1Ob2RlKiBoaWdoZXN0QW5jZXN0b3IoTm9kZSop
OwotYm9vbCBpc1RhYmxlRWxlbWVudChOb2RlKik7Ci1ib29sIGlzVGFibGVDZWxsKGNvbnN0IE5v
ZGUqKTsKLQotYm9vbCBsaW5lQnJlYWtFeGlzdHNBdFBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7
Ci1ib29sIGxpbmVCcmVha0V4aXN0c0F0VmlzaWJsZVBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3Np
dGlvbiYpOworICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gVmlzaWJsZVNlbGVjdGlvbgor
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIAorLy8gRnVuY3Rpb25zIHJldHVybmluZyBWaXNpYmxl
U2VsZWN0aW9uCiAKK1Zpc2libGVTZWxlY3Rpb24gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgTm9kZSopOwogVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rp
b25Gb3JQYXJhZ3JhcGhJdGVyYXRpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOworICAgIAor
CisvLyBNaXNjZWxsYW5lb3VzIGZ1bmN0aW9ucyBvbiBTdHJpbmcKKyAgICAKK1N0cmluZyBzdHJp
bmdXaXRoUmViYWxhbmNlZFdoaXRlc3BhY2UoY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCk7Citj
b25zdCBTdHJpbmcmIG5vbkJyZWFraW5nU3BhY2VTdHJpbmcoKTsKK2Jvb2wgdmFsaWRCbG9ja1Rh
Zyhjb25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICAKIAotaW50IGluZGV4Rm9yVmlzaWJsZVBvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOwotYm9vbCBpc1Zpc2libHlBZGphY2VudChjb25z
dCBQb3NpdGlvbiYgZmlyc3QsIGNvbnN0IFBvc2l0aW9uJiBzZWNvbmQpOwotYm9vbCBpc05vZGVW
aXNpYmx5Q29udGFpbmVkV2l0aGluKE5vZGUqLCBjb25zdCBSYW5nZSopOwogfQogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39666</attachid>
            <date>2009-09-16 17:02:35 -0700</date>
            <delta_ts>2009-09-16 17:31:25 -0700</delta_ts>
            <desc>Patch2</desc>
            <filename>myPatch.txt</filename>
            <type>text/plain</type>
            <size>13784</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODQ0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMDktMDktMTYgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW9yZ2FuaXppbmcgaGVscGVyIGZ1bmN0aW9ucyBpbiBodG1sZWRpdGluZy5oIHRvIGdyb3VwIHRo
ZW0gYnkgdHlwZSBvZiBvYmplY3QgdGhleSByZXR1cm4vb3BlcmF0ZSB1cG9uLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkzMTkKKworICAgICAgICAq
IGVkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwOgorICAgICAgICBSZW1vdmVkIGltcGxl
bWVudGF0aW9uIG9mIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50LgorCisgICAgICAgICogZWRpdGlu
Zy9JbmRlbnRPdXRkZW50Q29tbWFuZC5oOgorICAgICAgICBSZW1vdmVkIG1lbWJlciBmdW5jdGlv
biBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbm90IGNsYXNzIHNwZWNp
ZmljIGFuZCBiZWxvbmdlZCBsb2dpY2FsbHkgYW1vbmcgdGhlIGhlbHBlciBmdW5jdGlvbnMuCisK
KyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
QXRVbnNwbGl0dGFibGVFbGVtZW50KTogYWRkZWQuVGhlIGNvZGUgaGFzIGJlZW4gdGFrZW4gZnJv
bSBJbmRlbnRPdXRkZW50Q29tbWFuZC4KKworICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcu
aDoKKyAgICAgICAgUmVvcmRlcmVkIGZ1bmN0aW9ucyB0byBncm91cCB0aGVtIGJ5IHR5cGUgb2Yg
b2JqZWN0IHJldHVybmVkIG9yIG9wZXJhdGUgdXBvbi4KKyAgICAgICAgQWRkZWQgY29tbWVudHMu
CisgICAgICAgIEFkZGVkIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50IGRlY2xhcmF0aW9uLgorCisK
IDIwMDktMDktMTYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnIGFuZCBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJD
b3JlL2VkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZWRpdGluZy9JbmRlbnRPdXRkZW50Q29tbWFuZC5jcHAJKHJldmlzaW9uIDQ4NDQ3KQorKysg
V2ViQ29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTIxLDEyICsxMjEsNiBAQCB2b2lkIEluZGVudE91dGRlbnRDb21tYW5kOjppbmRlbnRJbnRv
QmxvCiAgICAgICAgIHRhcmdldEJsb2NrcXVvdGUgPSAwOwogfQogCi1ib29sIEluZGVudE91dGRl
bnRDb21tYW5kOjppc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKSBj
b25zdAotewotICAgIE5vZGUqIG5vZGUgPSBwb3Mubm9kZSgpOwotICAgIHJldHVybiBub2RlID09
IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKHBvcykgfHwgbm9kZSA9PSBlbmNsb3NpbmdOb2RlT2ZU
eXBlKHBvcywgJmlzVGFibGVDZWxsKTsKLX0KLQogLy8gRW5jbG9zZSBhbGwgbm9kZXMgYmV0d2Vl
biBzdGFydCBhbmQgZW5kIGJ5IG5ld1BhcmVudCwgd2hpY2ggaXMgYSBzaWJsaW5nIG5vZGUgb2Yg
bm9kZXMgYmV0d2VlbiBzdGFydCBhbmQgZW5kCiAvLyBGSVhNRTogbW92ZVBhcmFncmFwaCBpcyBv
dmVybHkgY29tcGxpY2F0ZWQuICBXZSBuZWVkIHRvIGNsZWFuIHVwIG1vdmVQYXJhZ3JhcGggc28g
dGhhdCBpdCB1c2VzIGFwcGVuZFBhcmFncmFwaEludG9Ob2RlCiAvLyBvciBwcmVwYXJlIG1vcmUg
c3BlY2lhbGl6ZWQgZnVuY3Rpb25zIGFuZCBkZWxldGUgbW92ZVBhcmFncmFwaApJbmRleDogV2Vi
Q29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgJKHJldmlzaW9uIDQ4NDQ3KQorKysgV2Vi
Q29yZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDggKzQ2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9BcHBseSgpOwogICAgIHZp
cnR1YWwgRWRpdEFjdGlvbiBlZGl0aW5nQWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlT2ZB
Y3Rpb24gPT0gSW5kZW50ID8gRWRpdEFjdGlvbkluZGVudCA6IEVkaXRBY3Rpb25PdXRkZW50OyB9
CiAKLSAgICAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBodG1sZWRpdGluZy5jcHA/Ci0g
ICAgYm9vbCBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYpIGNvbnN0Owog
ICAgIHZvaWQgYXBwZW5kUGFyYWdyYXBoSW50b05vZGUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBz
dGFydCwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBlbmQsIE5vZGUqIG5ld1BhcmVudCk7CiAgICAg
dm9pZCByZW1vdmVVbm5lY2Vzc2FyeUxpbmVCcmVha0F0KGNvbnN0IFBvc2l0aW9uJiBlbmRPZlBh
cmFncmFwaCk7CiAKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAkocmV2aXNpb24gNDg0NDcp
CisrKyBXZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODMsNiArMTgzLDEzIEBAIGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiAK
ICAgICByZXR1cm4gbm9kZS0+aXNDb250ZW50RWRpdGFibGUoKTsKIH0KIAorYm9vbCBpc0F0VW5z
cGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQoreworICAgIE5vZGUqIG5vZGUg
PSBwb3Mubm9kZSgpOworICAgIHJldHVybiAobm9kZSA9PSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlv
bihwb3MpIHx8IG5vZGUgPT0gZW5jbG9zaW5nTm9kZU9mVHlwZShwb3MsICZpc1RhYmxlQ2VsbCkp
OworfQorICAgIAorICAgIAogYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mIHApCiB7CiAgICAgTm9kZSogbm9kZSA9IHAubm9kZSgpOwpJbmRleDogV2ViQ29yZS9l
ZGl0aW5nL2h0bWxlZGl0aW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmgJKHJldmlzaW9uIDQ4NDQ3KQorKysgV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5n
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDM1ICs0Myw3NiBAQCBjbGFzcyBTdHJpbmc7CiBjbGFz
cyBWaXNpYmxlUG9zaXRpb247CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1Qb3NpdGlvbiBy
YW5nZUNvbXBsaWFudEVxdWl2YWxlbnQoY29uc3QgUG9zaXRpb24mKTsKLVBvc2l0aW9uIHJhbmdl
Q29tcGxpYW50RXF1aXZhbGVudChjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKKworLy8gVGhpcyBm
aWxlIGNvbnRhaW5zIGEgc2V0IG9mIGhlbHBlciBmdW5jdGlvbnMgdXNlZCBieSB0aGUgZWRpdGlu
ZyBjb21tYW5kcworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBOb2RlCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisKKy8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQorCitOb2RlKiBoaWdoZXN0QW5j
ZXN0b3IoTm9kZSopOworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYp
OworTm9kZSogaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29s
ICgqbm9kZUlzT2ZUeXBlKShjb25zdCBOb2RlKikpOworTm9kZSogbG93ZXN0RWRpdGFibGVBbmNl
c3RvcihOb2RlKik7ICAgCisKK05vZGUqIGVuY2xvc2luZ0Jsb2NrKE5vZGUqKTsKK05vZGUqIGVu
Y2xvc2luZ1RhYmxlQ2VsbChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogZW5jbG9zaW5nRW1wdHlM
aXN0SXRlbShjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKK05vZGUqIGVuY2xvc2luZ0FuY2hvckVs
ZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGVuY2xvc2luZ05vZGVXaXRoVGFnKGNvbnN0
IFBvc2l0aW9uJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOworTm9kZSogZW5jbG9zaW5nTm9kZU9m
VHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwg
Ym9vbCBvbmx5UmV0dXJuRWRpdGFibGVOb2RlcyA9IHRydWUpOworCitOb2RlKiB0YWJTcGFuTm9k
ZShjb25zdCBOb2RlKik7CitOb2RlKiBuZWFyZXN0TWFpbEJsb2NrcXVvdGUoY29uc3QgTm9kZSop
OworTm9kZSogaXNMYXN0UG9zaXRpb25CZWZvcmVUYWJsZShjb25zdCBWaXNpYmxlUG9zaXRpb24m
KTsKK05vZGUqIGlzRmlyc3RQb3NpdGlvbkFmdGVyVGFibGUoY29uc3QgVmlzaWJsZVBvc2l0aW9u
Jik7CisKKy8vIG9mZnNldCBmdW5jdGlvbnMgb24gTm9kZQorCiBpbnQgbGFzdE9mZnNldEZvckVk
aXRpbmcoY29uc3QgTm9kZSopOwotYm9vbCBpc0F0b21pY05vZGUoY29uc3QgTm9kZSopOworaW50
IGNhcmV0TWluT2Zmc2V0KGNvbnN0IE5vZGUqKTsKK2ludCBjYXJldE1heE9mZnNldChjb25zdCBO
b2RlKik7CisKKy8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIE5vZGUKKwogYm9vbCBlZGl0aW5nSWdu
b3Jlc0NvbnRlbnQoY29uc3QgTm9kZSopOwogYm9vbCBjYW5IYXZlQ2hpbGRyZW5Gb3JFZGl0aW5n
KGNvbnN0IE5vZGUqKTsKLU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24m
KTsKLVZpc2libGVQb3NpdGlvbiBmaXJzdEVkaXRhYmxlUG9zaXRpb25BZnRlclBvc2l0aW9uSW5S
b290KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSopOwotVmlzaWJsZVBvc2l0aW9uIGxhc3RFZGl0YWJs
ZVBvc2l0aW9uQmVmb3JlUG9zaXRpb25JblJvb3QoY29uc3QgUG9zaXRpb24mLCBOb2RlKik7Ci1p
bnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7Ci1p
bnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBjb25zdCBWaXNpYmxl
UG9zaXRpb24mKTsKLU5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSopOworYm9vbCBp
c0F0b21pY05vZGUoY29uc3QgTm9kZSopOworYm9vbCBpc0Jsb2NrKGNvbnN0IE5vZGUqKTsKK2Jv
b2wgaXNTcGVjaWFsRWxlbWVudChjb25zdCBOb2RlKik7Citib29sIGlzVGFiU3Bhbk5vZGUoY29u
c3QgTm9kZSopOworYm9vbCBpc1RhYlNwYW5UZXh0Tm9kZShjb25zdCBOb2RlKik7Citib29sIGlz
TWFpbEJsb2NrcXVvdGUoY29uc3QgTm9kZSopOworYm9vbCBpc1RhYmxlRWxlbWVudChOb2RlKik7
Citib29sIGlzVGFibGVDZWxsKGNvbnN0IE5vZGUqKTsKK2Jvb2wgaXNUYWJsZVN0cnVjdHVyZU5v
ZGUoY29uc3QgTm9kZSopOworYm9vbCBpc0xpc3RFbGVtZW50KE5vZGUqKTsKK2Jvb2wgaXNOb2Rl
UmVuZGVyZWQoY29uc3QgTm9kZSopOworYm9vbCBpc05vZGVWaXNpYmx5Q29udGFpbmVkV2l0aGlu
KE5vZGUqLCBjb25zdCBSYW5nZSopOworICAgIAorICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
Ly8gUG9zaXRpb24KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0aW9ucyByZXR1
cm5pbmcgUG9zaXRpb24KKyAgICAKK1Bvc2l0aW9uIHJhbmdlQ29tcGxpYW50RXF1aXZhbGVudChj
b25zdCBQb3NpdGlvbiYpOworUG9zaXRpb24gcmFuZ2VDb21wbGlhbnRFcXVpdmFsZW50KGNvbnN0
IFZpc2libGVQb3NpdGlvbiYpOworICAgIAogUG9zaXRpb24gbmV4dENhbmRpZGF0ZShjb25zdCBQ
b3NpdGlvbiYpOwotUG9zaXRpb24gbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoY29uc3Qg
UG9zaXRpb24mKTsKIFBvc2l0aW9uIHByZXZpb3VzQ2FuZGlkYXRlKGNvbnN0IFBvc2l0aW9uJik7
CisgICAgCitQb3NpdGlvbiBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShjb25zdCBQb3Np
dGlvbiYpOwogUG9zaXRpb24gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKGNvbnN0
IFBvc2l0aW9uJik7Ci1ib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwot
Ym9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLUVsZW1lbnQq
IGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1FbGVtZW50KiB1bnNw
bGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgaXNCbG9j
ayhjb25zdCBOb2RlKik7Ci1Ob2RlKiBlbmNsb3NpbmdCbG9jayhOb2RlKik7Ci0KLVN0cmluZyBz
dHJpbmdXaXRoUmViYWxhbmNlZFdoaXRlc3BhY2UoY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCk7
Ci1jb25zdCBTdHJpbmcmIG5vbkJyZWFraW5nU3BhY2VTdHJpbmcoKTsKLQotLy8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogCitQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZVRhYlNw
YW4oY29uc3QgUG9zaXRpb24mKTsKK1Bvc2l0aW9uIHBvc2l0aW9uQmVmb3JlQ29udGFpbmluZ1Nw
ZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxl
bWVudD0wKTsKK1Bvc2l0aW9uIHBvc2l0aW9uQWZ0ZXJDb250YWluaW5nU3BlY2lhbEVsZW1lbnQo
Y29uc3QgUG9zaXRpb24mLCBOb2RlKiogY29udGFpbmluZ1NwZWNpYWxFbGVtZW50PTApOworUG9z
aXRpb24gcG9zaXRpb25PdXRzaWRlQ29udGFpbmluZ1NwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0
aW9uJiwgTm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudD0wKTsKKyAgICAKIC8vIFBvc2l0
aW9uIGNyZWF0aW9uIGZ1bmN0aW9ucyBhcmUgaW5saW5lIHRvIHByZXZlbnQgcmVmLWNodXJuLgog
Ly8gT3RoZXIgUG9zaXRpb24gY3JlYXRpb24gZnVuY3Rpb25zIGFyZSBpbiBQb3NpdGlvbi5oCiAv
LyBidXQgdGhlc2UgZGVwZW5kIG9uIGxhc3RPZmZzZXRGb3JFZGl0aW5nIHdoaWNoIGlzIGRlZmlu
ZWQgaW4gaHRtbGVkaXRpbmcuaC4KQEAgLTkxLDE4ICsxMzIsNTUgQEAgaW5saW5lIFBvc2l0aW9u
IGxhc3REZWVwRWRpdGluZ1Bvc2l0aW9uRgogICAgIEFTU0VSVChhbmNob3JOb2RlKTsKICAgICBy
ZXR1cm4gUG9zaXRpb24oYW5jaG9yTm9kZSwgbGFzdE9mZnNldEZvckVkaXRpbmcoYW5jaG9yTm9k
ZSkpOwogfQorICAgICAgIAorLy8gY29tcGFyaXNpb24gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCisg
ICAgCitpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9u
Jik7CiAKKy8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCisgICAgCitib29sIGlzRWRp
dGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9z
aXRpb24oY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3Bl
Y2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9u
SW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOworYm9vbCBsaW5lQnJlYWtFeGlzdHNB
dFBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Citib29sIGlzVmlzaWJseUFkamFjZW50KGNvbnN0
IFBvc2l0aW9uJiBmaXJzdCwgY29uc3QgUG9zaXRpb24mIHNlY29uZCk7Citib29sIGlzQXRVbnNw
bGl0dGFibGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CisKK3Vuc2lnbmVkIG51bUVuY2xvc2lu
Z01haWxCbG9ja3F1b3Rlcyhjb25zdCBQb3NpdGlvbiYpOworCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisvLyBWaXNpYmxlUG9zaXRpb24KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0
aW9ucyByZXR1cm5pbmcgVmlzaWJsZVBvc2l0aW9uCisgICAgCitWaXNpYmxlUG9zaXRpb24gZmly
c3RFZGl0YWJsZVBvc2l0aW9uQWZ0ZXJQb3NpdGlvbkluUm9vdChjb25zdCBQb3NpdGlvbiYsIE5v
ZGUqKTsKK1Zpc2libGVQb3NpdGlvbiBsYXN0RWRpdGFibGVQb3NpdGlvbkJlZm9yZVBvc2l0aW9u
SW5Sb290KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSopOwogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQ
b3NpdGlvbkJlZm9yZU5vZGUoTm9kZSopOwogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlv
bkFmdGVyTm9kZShOb2RlKik7CisKK2Jvb2wgbGluZUJyZWFrRXhpc3RzQXRWaXNpYmxlUG9zaXRp
b24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CisgICAgCitpbnQgY29tcGFyZVBvc2l0aW9ucyhj
b25zdCBWaXNpYmxlUG9zaXRpb24mLCBjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKK2ludCBpbmRl
eEZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKKworLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLy8gUmFuZ2UKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gRnVuY3Rpb25z
IHJldHVybmluZyBSYW5nZQorCiBQYXNzUmVmUHRyPFJhbmdlPiBjcmVhdGVSYW5nZShQYXNzUmVm
UHRyPERvY3VtZW50PiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBzdGFydCwgY29uc3QgVmlzaWJs
ZVBvc2l0aW9uJiBlbmQsIEV4Y2VwdGlvbkNvZGUmKTsKIFBhc3NSZWZQdHI8UmFuZ2U+IGV4dGVu
ZFJhbmdlVG9XcmFwcGluZ05vZGVzKFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlVG9FeHRlbmQsIGNv
bnN0IFJhbmdlKiBtYXhpbXVtUmFuZ2UsIGNvbnN0IE5vZGUqIHJvb3ROb2RlKTsKLQogUGFzc1Jl
ZlB0cjxSYW5nZT4gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShjb25zdCBSYW5nZSosIE5vZGUq
KTsKLVZpc2libGVTZWxlY3Rpb24gYXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJiwgTm9kZSopOwotCi1ib29sIGlzU3BlY2lhbEVsZW1lbnQoY29uc3QgTm9k
ZSopOwotYm9vbCB2YWxpZEJsb2NrVGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOwogCisvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisvLyBIVE1MRWxlbWVudAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIAor
Ly8gRnVuY3Rpb25zIHJldHVybmluZyBIVE1MRWxlbWVudAorICAgIAogUGFzc1JlZlB0cjxIVE1M
RWxlbWVudD4gY3JlYXRlRGVmYXVsdFBhcmFncmFwaEVsZW1lbnQoRG9jdW1lbnQqKTsKIFBhc3NS
ZWZQdHI8SFRNTEVsZW1lbnQ+IGNyZWF0ZUJyZWFrRWxlbWVudChEb2N1bWVudCopOwogUGFzc1Jl
ZlB0cjxIVE1MRWxlbWVudD4gY3JlYXRlT3JkZXJlZExpc3RFbGVtZW50KERvY3VtZW50Kik7CkBA
IC0xMTEsNTcgKzE4OSw0NSBAQCBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBjcmVhdGVMaXN0SXRl
bUVsCiBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBjcmVhdGVIVE1MRWxlbWVudChEb2N1bWVudCos
IGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGNyZWF0ZUhU
TUxFbGVtZW50KERvY3VtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAKLWJvb2wgaXNUYWJT
cGFuTm9kZShjb25zdCBOb2RlKik7Ci1ib29sIGlzVGFiU3BhblRleHROb2RlKGNvbnN0IE5vZGUq
KTsKLU5vZGUqIHRhYlNwYW5Ob2RlKGNvbnN0IE5vZGUqKTsKLVBvc2l0aW9uIHBvc2l0aW9uQmVm
b3JlVGFiU3Bhbihjb25zdCBQb3NpdGlvbiYpOworSFRNTEVsZW1lbnQqIGVuY2xvc2luZ0xpc3Qo
Tm9kZSopOworSFRNTEVsZW1lbnQqIG91dGVybW9zdEVuY2xvc2luZ0xpc3QoTm9kZSopOworSFRN
TEVsZW1lbnQqIGVuY2xvc2luZ0xpc3RDaGlsZChOb2RlKik7CisKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy8vIEVsZW1lbnQKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0aW9ucyBy
ZXR1cm5pbmcgRWxlbWVudAorICAgIAogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFu
RWxlbWVudChEb2N1bWVudCopOwogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxl
bWVudChEb2N1bWVudCosIFBhc3NSZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUpOwogUGFzc1JlZlB0
cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYg
dGFiVGV4dCk7Ci0KLWJvb2wgaXNOb2RlUmVuZGVyZWQoY29uc3QgTm9kZSopOwotYm9vbCBpc01h
aWxCbG9ja3F1b3RlKGNvbnN0IE5vZGUqKTsKLU5vZGUqIG5lYXJlc3RNYWlsQmxvY2txdW90ZShj
b25zdCBOb2RlKik7Ci11bnNpZ25lZCBudW1FbmNsb3NpbmdNYWlsQmxvY2txdW90ZXMoY29uc3Qg
UG9zaXRpb24mKTsKLWludCBjYXJldE1pbk9mZnNldChjb25zdCBOb2RlKik7Ci1pbnQgY2FyZXRN
YXhPZmZzZXQoY29uc3QgTm9kZSopOwotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotCi1ib29sIGlzVGFibGVTdHJ1Y3R1cmVOb2RlKGNvbnN0IE5vZGUqKTsKIFBhc3NSZWZQ
dHI8RWxlbWVudD4gY3JlYXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAot
Ym9vbCBpc0ZpcnN0VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlv
biYpOwotUG9zaXRpb24gcG9zaXRpb25CZWZvcmVDb250YWluaW5nU3BlY2lhbEVsZW1lbnQoY29u
c3QgUG9zaXRpb24mLCBOb2RlKiogY29udGFpbmluZ1NwZWNpYWxFbGVtZW50PTApOwotYm9vbCBp
c0xhc3RWaXNpYmxlUG9zaXRpb25JblNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7Ci1Q
b3NpdGlvbiBwb3NpdGlvbkFmdGVyQ29udGFpbmluZ1NwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0
aW9uJiwgTm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudD0wKTsKLVBvc2l0aW9uIHBvc2l0
aW9uT3V0c2lkZUNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYsIE5vZGUq
KiBjb250YWluaW5nU3BlY2lhbEVsZW1lbnQ9MCk7Ci1Ob2RlKiBpc0xhc3RQb3NpdGlvbkJlZm9y
ZVRhYmxlKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOwotTm9kZSogaXNGaXJzdFBvc2l0aW9uQWZ0
ZXJUYWJsZShjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZv
clBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7CitFbGVtZW50KiB1bnNwbGl0dGFibGVFbGVtZW50
Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKIAotTm9kZSogZW5jbG9zaW5nTm9kZVdpdGhU
YWcoY29uc3QgUG9zaXRpb24mLCBjb25zdCBRdWFsaWZpZWROYW1lJik7Ci1Ob2RlKiBlbmNsb3Np
bmdOb2RlT2ZUeXBlKGNvbnN0IFBvc2l0aW9uJiwgYm9vbCAoKm5vZGVJc09mVHlwZSkoY29uc3Qg
Tm9kZSopLCBib29sIG9ubHlSZXR1cm5FZGl0YWJsZU5vZGVzID0gdHJ1ZSk7Ci1Ob2RlKiBoaWdo
ZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5
cGUpKGNvbnN0IE5vZGUqKSk7Ci1Ob2RlKiBlbmNsb3NpbmdUYWJsZUNlbGwoY29uc3QgUG9zaXRp
b24mKTsKLU5vZGUqIGVuY2xvc2luZ0VtcHR5TGlzdEl0ZW0oY29uc3QgVmlzaWJsZVBvc2l0aW9u
Jik7Ci1Ob2RlKiBlbmNsb3NpbmdBbmNob3JFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7Ci1ib29s
IGlzTGlzdEVsZW1lbnQoTm9kZSopOwotSFRNTEVsZW1lbnQqIGVuY2xvc2luZ0xpc3QoTm9kZSop
OwotSFRNTEVsZW1lbnQqIG91dGVybW9zdEVuY2xvc2luZ0xpc3QoTm9kZSopOwotSFRNTEVsZW1l
bnQqIGVuY2xvc2luZ0xpc3RDaGlsZChOb2RlKik7CisvLyBCb29sZWFuIGZ1bmN0aW9ucyBvbiBF
bGVtZW50CisgICAgCiBib29sIGNhbk1lcmdlTGlzdHMoRWxlbWVudCogZmlyc3RMaXN0LCBFbGVt
ZW50KiBzZWNvbmRMaXN0KTsKLU5vZGUqIGhpZ2hlc3RBbmNlc3RvcihOb2RlKik7Ci1ib29sIGlz
VGFibGVFbGVtZW50KE5vZGUqKTsKLWJvb2wgaXNUYWJsZUNlbGwoY29uc3QgTm9kZSopOwotCi1i
b29sIGxpbmVCcmVha0V4aXN0c0F0UG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgbGlu
ZUJyZWFrRXhpc3RzQXRWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7Cisg
ICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBWaXNpYmxlU2VsZWN0aW9uCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisgICAgCisvLyBGdW5jdGlvbnMgcmV0dXJuaW5nIFZpc2libGVTZWxlY3Rpb24K
IAorVmlzaWJsZVNlbGVjdGlvbiBhdm9pZEludGVyc2VjdGlvbldpdGhOb2RlKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mLCBOb2RlKik7CiBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbkZvclBhcmFn
cmFwaEl0ZXJhdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CisgICAgCisKKy8vIE1pc2Nl
bGxhbmVvdXMgZnVuY3Rpb25zIG9uIFN0cmluZworICAgIAorU3RyaW5nIHN0cmluZ1dpdGhSZWJh
bGFuY2VkV2hpdGVzcGFjZShjb25zdCBTdHJpbmcmLCBib29sLCBib29sKTsKK2NvbnN0IFN0cmlu
ZyYgbm9uQnJlYWtpbmdTcGFjZVN0cmluZygpOworYm9vbCB2YWxpZEJsb2NrVGFnKGNvbnN0IEF0
b21pY1N0cmluZyYpOworICAgIAogCi1pbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJik7Ci1ib29sIGlzVmlzaWJseUFkamFjZW50KGNvbnN0IFBvc2l0aW9u
JiBmaXJzdCwgY29uc3QgUG9zaXRpb24mIHNlY29uZCk7Ci1ib29sIGlzTm9kZVZpc2libHlDb250
YWluZWRXaXRoaW4oTm9kZSosIGNvbnN0IFJhbmdlKik7CiB9CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="20784"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="20786"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39671</attachid>
            <date>2009-09-16 17:31:25 -0700</date>
            <delta_ts>2009-09-16 18:37:28 -0700</delta_ts>
            <desc>New patch including feedback from review</desc>
            <filename>myPatch.txt</filename>
            <type>text/plain</type>
            <size>13820</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODQ0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMDktMTYgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW9yZ2FuaXppbmcgaGVscGVyIGZ1bmN0aW9ucyBpbiBodG1sZWRpdGluZy5oIHRvIGdyb3VwIHRo
ZW0gYnkgdHlwZSBvZiBvYmplY3QgdGhleSByZXR1cm4vb3BlcmF0ZSB1cG9uLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkzMTkKKworICAgICAgICAq
IGVkaXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwOgorICAgICAgICBSZW1vdmVkIGltcGxl
bWVudGF0aW9uIG9mIGlzQXRVbnNwbGl0dGFibGVFbGVtZW50LgorCisgICAgICAgICogZWRpdGlu
Zy9JbmRlbnRPdXRkZW50Q29tbWFuZC5oOgorICAgICAgICBSZW1vdmVkIG1lbWJlciBmdW5jdGlv
biBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbm90IGNsYXNzIHNwZWNp
ZmljIGFuZCBiZWxvbmdlZCBsb2dpY2FsbHkgYW1vbmcgdGhlIGhlbHBlciBmdW5jdGlvbnMuCisK
KyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
QXRVbnNwbGl0dGFibGVFbGVtZW50KTogYWRkZWQuIFRoZSBjb2RlIHdhcyB0YWtlbiBmcm9tIElu
ZGVudE91dGRlbnRDb21tYW5kLgorCisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgor
ICAgICAgICBSZW9yZGVyZWQgZnVuY3Rpb25zIHRvIGdyb3VwIHRoZW0gYnkgdHlwZSBvZiBvYmpl
Y3QgcmV0dXJuZWQgb3Igb3BlcmF0ZSB1cG9uLgorICAgICAgICBBZGRlZCBjb21tZW50cy4KKyAg
ICAgICAgQWRkZWQgaXNBdFVuc3BsaXR0YWJsZUVsZW1lbnQgZGVjbGFyYXRpb24uCisKIDIwMDkt
MDktMTYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBTYW0gV2VpbmlnIGFuZCBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJDb3JlL2Vk
aXRpbmcvSW5kZW50T3V0ZGVudENvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRp
dGluZy9JbmRlbnRPdXRkZW50Q29tbWFuZC5jcHAJKHJldmlzaW9uIDQ4NDQ3KQorKysgV2ViQ29y
ZS9lZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIx
LDEyICsxMjEsNiBAQCB2b2lkIEluZGVudE91dGRlbnRDb21tYW5kOjppbmRlbnRJbnRvQmxvCiAg
ICAgICAgIHRhcmdldEJsb2NrcXVvdGUgPSAwOwogfQogCi1ib29sIEluZGVudE91dGRlbnRDb21t
YW5kOjppc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKSBjb25zdAot
ewotICAgIE5vZGUqIG5vZGUgPSBwb3Mubm9kZSgpOwotICAgIHJldHVybiBub2RlID09IGVkaXRh
YmxlUm9vdEZvclBvc2l0aW9uKHBvcykgfHwgbm9kZSA9PSBlbmNsb3NpbmdOb2RlT2ZUeXBlKHBv
cywgJmlzVGFibGVDZWxsKTsKLX0KLQogLy8gRW5jbG9zZSBhbGwgbm9kZXMgYmV0d2VlbiBzdGFy
dCBhbmQgZW5kIGJ5IG5ld1BhcmVudCwgd2hpY2ggaXMgYSBzaWJsaW5nIG5vZGUgb2Ygbm9kZXMg
YmV0d2VlbiBzdGFydCBhbmQgZW5kCiAvLyBGSVhNRTogbW92ZVBhcmFncmFwaCBpcyBvdmVybHkg
Y29tcGxpY2F0ZWQuICBXZSBuZWVkIHRvIGNsZWFuIHVwIG1vdmVQYXJhZ3JhcGggc28gdGhhdCBp
dCB1c2VzIGFwcGVuZFBhcmFncmFwaEludG9Ob2RlCiAvLyBvciBwcmVwYXJlIG1vcmUgc3BlY2lh
bGl6ZWQgZnVuY3Rpb25zIGFuZCBkZWxldGUgbW92ZVBhcmFncmFwaApJbmRleDogV2ViQ29yZS9l
ZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0
aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgJKHJldmlzaW9uIDQ4NDQ3KQorKysgV2ViQ29yZS9l
ZGl0aW5nL0luZGVudE91dGRlbnRDb21tYW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2
LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9BcHBseSgpOwogICAgIHZpcnR1YWwg
RWRpdEFjdGlvbiBlZGl0aW5nQWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90eXBlT2ZBY3Rpb24g
PT0gSW5kZW50ID8gRWRpdEFjdGlvbkluZGVudCA6IEVkaXRBY3Rpb25PdXRkZW50OyB9CiAKLSAg
ICAvLyBGSVhNRTogRG9lcyB0aGlzIGJlbG9uZyBpbiBodG1sZWRpdGluZy5jcHA/Ci0gICAgYm9v
bCBpc0F0VW5zcGxpdHRhYmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYpIGNvbnN0OwogICAgIHZv
aWQgYXBwZW5kUGFyYWdyYXBoSW50b05vZGUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBzdGFydCwg
Y29uc3QgVmlzaWJsZVBvc2l0aW9uJiBlbmQsIE5vZGUqIG5ld1BhcmVudCk7CiAgICAgdm9pZCBy
ZW1vdmVVbm5lY2Vzc2FyeUxpbmVCcmVha0F0KGNvbnN0IFBvc2l0aW9uJiBlbmRPZlBhcmFncmFw
aCk7CiAKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAkocmV2aXNpb24gNDg0NDcpCisrKyBX
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODMsNiAr
MTgzLDEzIEBAIGJvb2wgaXNFZGl0YWJsZVBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJiAKICAgICBy
ZXR1cm4gbm9kZS0+aXNDb250ZW50RWRpdGFibGUoKTsKIH0KIAorYm9vbCBpc0F0VW5zcGxpdHRh
YmxlRWxlbWVudChjb25zdCBQb3NpdGlvbiYgcG9zKQoreworICAgIE5vZGUqIG5vZGUgPSBwb3Mu
bm9kZSgpOworICAgIHJldHVybiAobm9kZSA9PSBlZGl0YWJsZVJvb3RGb3JQb3NpdGlvbihwb3Mp
IHx8IG5vZGUgPT0gZW5jbG9zaW5nTm9kZU9mVHlwZShwb3MsICZpc1RhYmxlQ2VsbCkpOworfQor
ICAgIAorICAgIAogYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24m
IHApCiB7CiAgICAgTm9kZSogbm9kZSA9IHAubm9kZSgpOwpJbmRleDogV2ViQ29yZS9lZGl0aW5n
L2h0bWxlZGl0aW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5n
LmgJKHJldmlzaW9uIDQ4NDQ3KQorKysgV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDM1ICs0Myw3NiBAQCBjbGFzcyBTdHJpbmc7CiBjbGFzcyBWaXNp
YmxlUG9zaXRpb247CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1Qb3NpdGlvbiByYW5nZUNv
bXBsaWFudEVxdWl2YWxlbnQoY29uc3QgUG9zaXRpb24mKTsKLVBvc2l0aW9uIHJhbmdlQ29tcGxp
YW50RXF1aXZhbGVudChjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKKworLy8gVGhpcyBmaWxlIGNv
bnRhaW5zIGEgc2V0IG9mIGhlbHBlciBmdW5jdGlvbnMgdXNlZCBieSB0aGUgZWRpdGluZyBjb21t
YW5kcworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBOb2RlCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisKKy8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgTm9kZQorCitOb2RlKiBoaWdoZXN0QW5jZXN0b3Io
Tm9kZSopOworTm9kZSogaGlnaGVzdEVkaXRhYmxlUm9vdChjb25zdCBQb3NpdGlvbiYpOworTm9k
ZSogaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUoY29uc3QgUG9zaXRpb24mLCBib29sICgqbm9k
ZUlzT2ZUeXBlKShjb25zdCBOb2RlKikpOworTm9kZSogbG93ZXN0RWRpdGFibGVBbmNlc3RvcihO
b2RlKik7ICAgCisKK05vZGUqIGVuY2xvc2luZ0Jsb2NrKE5vZGUqKTsKK05vZGUqIGVuY2xvc2lu
Z1RhYmxlQ2VsbChjb25zdCBQb3NpdGlvbiYpOworTm9kZSogZW5jbG9zaW5nRW1wdHlMaXN0SXRl
bShjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKK05vZGUqIGVuY2xvc2luZ0FuY2hvckVsZW1lbnQo
Y29uc3QgUG9zaXRpb24mKTsKK05vZGUqIGVuY2xvc2luZ05vZGVXaXRoVGFnKGNvbnN0IFBvc2l0
aW9uJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOworTm9kZSogZW5jbG9zaW5nTm9kZU9mVHlwZShj
b25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSwgYm9vbCBv
bmx5UmV0dXJuRWRpdGFibGVOb2RlcyA9IHRydWUpOworCitOb2RlKiB0YWJTcGFuTm9kZShjb25z
dCBOb2RlKik7CitOb2RlKiBuZWFyZXN0TWFpbEJsb2NrcXVvdGUoY29uc3QgTm9kZSopOworTm9k
ZSogaXNMYXN0UG9zaXRpb25CZWZvcmVUYWJsZShjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKK05v
ZGUqIGlzRmlyc3RQb3NpdGlvbkFmdGVyVGFibGUoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CisK
Ky8vIG9mZnNldCBmdW5jdGlvbnMgb24gTm9kZQorCiBpbnQgbGFzdE9mZnNldEZvckVkaXRpbmco
Y29uc3QgTm9kZSopOwotYm9vbCBpc0F0b21pY05vZGUoY29uc3QgTm9kZSopOworaW50IGNhcmV0
TWluT2Zmc2V0KGNvbnN0IE5vZGUqKTsKK2ludCBjYXJldE1heE9mZnNldChjb25zdCBOb2RlKik7
CisKKy8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIE5vZGUKKwogYm9vbCBlZGl0aW5nSWdub3Jlc0Nv
bnRlbnQoY29uc3QgTm9kZSopOwogYm9vbCBjYW5IYXZlQ2hpbGRyZW5Gb3JFZGl0aW5nKGNvbnN0
IE5vZGUqKTsKLU5vZGUqIGhpZ2hlc3RFZGl0YWJsZVJvb3QoY29uc3QgUG9zaXRpb24mKTsKLVZp
c2libGVQb3NpdGlvbiBmaXJzdEVkaXRhYmxlUG9zaXRpb25BZnRlclBvc2l0aW9uSW5Sb290KGNv
bnN0IFBvc2l0aW9uJiwgTm9kZSopOwotVmlzaWJsZVBvc2l0aW9uIGxhc3RFZGl0YWJsZVBvc2l0
aW9uQmVmb3JlUG9zaXRpb25JblJvb3QoY29uc3QgUG9zaXRpb24mLCBOb2RlKik7Ci1pbnQgY29t
cGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7Ci1pbnQgY29t
cGFyZVBvc2l0aW9ucyhjb25zdCBWaXNpYmxlUG9zaXRpb24mLCBjb25zdCBWaXNpYmxlUG9zaXRp
b24mKTsKLU5vZGUqIGxvd2VzdEVkaXRhYmxlQW5jZXN0b3IoTm9kZSopOworYm9vbCBpc0F0b21p
Y05vZGUoY29uc3QgTm9kZSopOworYm9vbCBpc0Jsb2NrKGNvbnN0IE5vZGUqKTsKK2Jvb2wgaXNT
cGVjaWFsRWxlbWVudChjb25zdCBOb2RlKik7Citib29sIGlzVGFiU3Bhbk5vZGUoY29uc3QgTm9k
ZSopOworYm9vbCBpc1RhYlNwYW5UZXh0Tm9kZShjb25zdCBOb2RlKik7Citib29sIGlzTWFpbEJs
b2NrcXVvdGUoY29uc3QgTm9kZSopOworYm9vbCBpc1RhYmxlRWxlbWVudChOb2RlKik7Citib29s
IGlzVGFibGVDZWxsKGNvbnN0IE5vZGUqKTsKK2Jvb2wgaXNUYWJsZVN0cnVjdHVyZU5vZGUoY29u
c3QgTm9kZSopOworYm9vbCBpc0xpc3RFbGVtZW50KE5vZGUqKTsKK2Jvb2wgaXNOb2RlUmVuZGVy
ZWQoY29uc3QgTm9kZSopOworYm9vbCBpc05vZGVWaXNpYmx5Q29udGFpbmVkV2l0aGluKE5vZGUq
LCBjb25zdCBSYW5nZSopOworICAgIAorICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gUG9z
aXRpb24KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0aW9ucyByZXR1cm5pbmcg
UG9zaXRpb24KKyAgICAKK1Bvc2l0aW9uIHJhbmdlQ29tcGxpYW50RXF1aXZhbGVudChjb25zdCBQ
b3NpdGlvbiYpOworUG9zaXRpb24gcmFuZ2VDb21wbGlhbnRFcXVpdmFsZW50KGNvbnN0IFZpc2li
bGVQb3NpdGlvbiYpOworICAgIAogUG9zaXRpb24gbmV4dENhbmRpZGF0ZShjb25zdCBQb3NpdGlv
biYpOwotUG9zaXRpb24gbmV4dFZpc3VhbGx5RGlzdGluY3RDYW5kaWRhdGUoY29uc3QgUG9zaXRp
b24mKTsKIFBvc2l0aW9uIHByZXZpb3VzQ2FuZGlkYXRlKGNvbnN0IFBvc2l0aW9uJik7CisgICAg
CitQb3NpdGlvbiBuZXh0VmlzdWFsbHlEaXN0aW5jdENhbmRpZGF0ZShjb25zdCBQb3NpdGlvbiYp
OwogUG9zaXRpb24gcHJldmlvdXNWaXN1YWxseURpc3RpbmN0Q2FuZGlkYXRlKGNvbnN0IFBvc2l0
aW9uJik7Ci1ib29sIGlzRWRpdGFibGVQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOwotYm9vbCBp
c1JpY2hseUVkaXRhYmxlUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLUVsZW1lbnQqIGVkaXRh
YmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0aW9uJik7Ci1FbGVtZW50KiB1bnNwbGl0dGFi
bGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgaXNCbG9jayhjb25z
dCBOb2RlKik7Ci1Ob2RlKiBlbmNsb3NpbmdCbG9jayhOb2RlKik7Ci0KLVN0cmluZyBzdHJpbmdX
aXRoUmViYWxhbmNlZFdoaXRlc3BhY2UoY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCk7Ci1jb25z
dCBTdHJpbmcmIG5vbkJyZWFraW5nU3BhY2VTdHJpbmcoKTsKLQotLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLQogCitQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZVRhYlNwYW4oY29u
c3QgUG9zaXRpb24mKTsKK1Bvc2l0aW9uIHBvc2l0aW9uQmVmb3JlQ29udGFpbmluZ1NwZWNpYWxF
bGVtZW50KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudD0w
KTsKK1Bvc2l0aW9uIHBvc2l0aW9uQWZ0ZXJDb250YWluaW5nU3BlY2lhbEVsZW1lbnQoY29uc3Qg
UG9zaXRpb24mLCBOb2RlKiogY29udGFpbmluZ1NwZWNpYWxFbGVtZW50PTApOworUG9zaXRpb24g
cG9zaXRpb25PdXRzaWRlQ29udGFpbmluZ1NwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiwg
Tm9kZSoqIGNvbnRhaW5pbmdTcGVjaWFsRWxlbWVudD0wKTsKKyAgICAKIC8vIFBvc2l0aW9uIGNy
ZWF0aW9uIGZ1bmN0aW9ucyBhcmUgaW5saW5lIHRvIHByZXZlbnQgcmVmLWNodXJuLgogLy8gT3Ro
ZXIgUG9zaXRpb24gY3JlYXRpb24gZnVuY3Rpb25zIGFyZSBpbiBQb3NpdGlvbi5oCiAvLyBidXQg
dGhlc2UgZGVwZW5kIG9uIGxhc3RPZmZzZXRGb3JFZGl0aW5nIHdoaWNoIGlzIGRlZmluZWQgaW4g
aHRtbGVkaXRpbmcuaC4KQEAgLTkxLDE4ICsxMzIsNTcgQEAgaW5saW5lIFBvc2l0aW9uIGxhc3RE
ZWVwRWRpdGluZ1Bvc2l0aW9uRgogICAgIEFTU0VSVChhbmNob3JOb2RlKTsKICAgICByZXR1cm4g
UG9zaXRpb24oYW5jaG9yTm9kZSwgbGFzdE9mZnNldEZvckVkaXRpbmcoYW5jaG9yTm9kZSkpOwog
fQorICAgICAgIAorLy8gY29tcGFyaXNpb24gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCisgICAgCitp
bnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7CisK
Ky8vIGJvb2xlYW4gZnVuY3Rpb25zIG9uIFBvc2l0aW9uCisgICAgCitib29sIGlzRWRpdGFibGVQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYpOworYm9vbCBpc1JpY2hseUVkaXRhYmxlUG9zaXRpb24o
Y29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNGaXJzdFZpc2libGVQb3NpdGlvbkluU3BlY2lhbEVs
ZW1lbnQoY29uc3QgUG9zaXRpb24mKTsKK2Jvb2wgaXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5TcGVj
aWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOworYm9vbCBsaW5lQnJlYWtFeGlzdHNBdFBvc2l0
aW9uKGNvbnN0IFBvc2l0aW9uJik7Citib29sIGlzVmlzaWJseUFkamFjZW50KGNvbnN0IFBvc2l0
aW9uJiBmaXJzdCwgY29uc3QgUG9zaXRpb24mIHNlY29uZCk7Citib29sIGlzQXRVbnNwbGl0dGFi
bGVFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7CisKKy8vIG1pc2NlbGxhbmVvdXMgZnVuY3Rpb25z
IG9uIFBvc2l0aW9uCisKK3Vuc2lnbmVkIG51bUVuY2xvc2luZ01haWxCbG9ja3F1b3Rlcyhjb25z
dCBQb3NpdGlvbiYpOwogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBWaXNpYmxlUG9zaXRpb24K
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgVmlzaWJs
ZVBvc2l0aW9uCisgICAgCitWaXNpYmxlUG9zaXRpb24gZmlyc3RFZGl0YWJsZVBvc2l0aW9uQWZ0
ZXJQb3NpdGlvbkluUm9vdChjb25zdCBQb3NpdGlvbiYsIE5vZGUqKTsKK1Zpc2libGVQb3NpdGlv
biBsYXN0RWRpdGFibGVQb3NpdGlvbkJlZm9yZVBvc2l0aW9uSW5Sb290KGNvbnN0IFBvc2l0aW9u
JiwgTm9kZSopOwogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkJlZm9yZU5vZGUoTm9k
ZSopOwogVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkFmdGVyTm9kZShOb2RlKik7CisK
K2Jvb2wgbGluZUJyZWFrRXhpc3RzQXRWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJik7CisgICAgCitpbnQgY29tcGFyZVBvc2l0aW9ucyhjb25zdCBWaXNpYmxlUG9zaXRpb24m
LCBjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKK2ludCBpbmRleEZvclZpc2libGVQb3NpdGlvbihj
b25zdCBWaXNpYmxlUG9zaXRpb24mKTsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gUmFuZ2UK
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy8gRnVuY3Rpb25zIHJldHVybmluZyBSYW5nZQorCiBQ
YXNzUmVmUHRyPFJhbmdlPiBjcmVhdGVSYW5nZShQYXNzUmVmUHRyPERvY3VtZW50PiwgY29uc3Qg
VmlzaWJsZVBvc2l0aW9uJiBzdGFydCwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBlbmQsIEV4Y2Vw
dGlvbkNvZGUmKTsKIFBhc3NSZWZQdHI8UmFuZ2U+IGV4dGVuZFJhbmdlVG9XcmFwcGluZ05vZGVz
KFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlVG9FeHRlbmQsIGNvbnN0IFJhbmdlKiBtYXhpbXVtUmFu
Z2UsIGNvbnN0IE5vZGUqIHJvb3ROb2RlKTsKLQogUGFzc1JlZlB0cjxSYW5nZT4gYXZvaWRJbnRl
cnNlY3Rpb25XaXRoTm9kZShjb25zdCBSYW5nZSosIE5vZGUqKTsKLVZpc2libGVTZWxlY3Rpb24g
YXZvaWRJbnRlcnNlY3Rpb25XaXRoTm9kZShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgTm9kZSop
OwotCi1ib29sIGlzU3BlY2lhbEVsZW1lbnQoY29uc3QgTm9kZSopOwotYm9vbCB2YWxpZEJsb2Nr
VGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOwogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBIVE1M
RWxlbWVudAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIAorLy8gRnVuY3Rpb25zIHJldHVybmlu
ZyBIVE1MRWxlbWVudAorICAgIAogUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gY3JlYXRlRGVmYXVs
dFBhcmFncmFwaEVsZW1lbnQoRG9jdW1lbnQqKTsKIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGNy
ZWF0ZUJyZWFrRWxlbWVudChEb2N1bWVudCopOwogUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gY3Jl
YXRlT3JkZXJlZExpc3RFbGVtZW50KERvY3VtZW50Kik7CkBAIC0xMTEsNTcgKzE5MSw0NSBAQCBQ
YXNzUmVmUHRyPEhUTUxFbGVtZW50PiBjcmVhdGVMaXN0SXRlbUVsCiBQYXNzUmVmUHRyPEhUTUxF
bGVtZW50PiBjcmVhdGVIVE1MRWxlbWVudChEb2N1bWVudCosIGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGNyZWF0ZUhUTUxFbGVtZW50KERvY3VtZW50Kiwg
Y29uc3QgQXRvbWljU3RyaW5nJik7CiAKLWJvb2wgaXNUYWJTcGFuTm9kZShjb25zdCBOb2RlKik7
Ci1ib29sIGlzVGFiU3BhblRleHROb2RlKGNvbnN0IE5vZGUqKTsKLU5vZGUqIHRhYlNwYW5Ob2Rl
KGNvbnN0IE5vZGUqKTsKLVBvc2l0aW9uIHBvc2l0aW9uQmVmb3JlVGFiU3Bhbihjb25zdCBQb3Np
dGlvbiYpOworSFRNTEVsZW1lbnQqIGVuY2xvc2luZ0xpc3QoTm9kZSopOworSFRNTEVsZW1lbnQq
IG91dGVybW9zdEVuY2xvc2luZ0xpc3QoTm9kZSopOworSFRNTEVsZW1lbnQqIGVuY2xvc2luZ0xp
c3RDaGlsZChOb2RlKik7CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIEVsZW1lbnQKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKyAgICAKKy8vIEZ1bmN0aW9ucyByZXR1cm5pbmcgRWxlbWVudAorICAg
IAogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCopOwog
UGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJTcGFuRWxlbWVudChEb2N1bWVudCosIFBhc3NS
ZWZQdHI8Tm9kZT4gdGFiVGV4dE5vZGUpOwogUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVUYWJT
cGFuRWxlbWVudChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgdGFiVGV4dCk7Ci0KLWJvb2wgaXNO
b2RlUmVuZGVyZWQoY29uc3QgTm9kZSopOwotYm9vbCBpc01haWxCbG9ja3F1b3RlKGNvbnN0IE5v
ZGUqKTsKLU5vZGUqIG5lYXJlc3RNYWlsQmxvY2txdW90ZShjb25zdCBOb2RlKik7Ci11bnNpZ25l
ZCBudW1FbmNsb3NpbmdNYWlsQmxvY2txdW90ZXMoY29uc3QgUG9zaXRpb24mKTsKLWludCBjYXJl
dE1pbk9mZnNldChjb25zdCBOb2RlKik7Ci1pbnQgY2FyZXRNYXhPZmZzZXQoY29uc3QgTm9kZSop
OwotCi0vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1ib29sIGlzVGFibGVT
dHJ1Y3R1cmVOb2RlKGNvbnN0IE5vZGUqKTsKIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxv
Y2tQbGFjZWhvbGRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAotYm9vbCBpc0ZpcnN0VmlzaWJsZVBv
c2l0aW9uSW5TcGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYpOwotUG9zaXRpb24gcG9zaXRp
b25CZWZvcmVDb250YWluaW5nU3BlY2lhbEVsZW1lbnQoY29uc3QgUG9zaXRpb24mLCBOb2RlKiog
Y29udGFpbmluZ1NwZWNpYWxFbGVtZW50PTApOwotYm9vbCBpc0xhc3RWaXNpYmxlUG9zaXRpb25J
blNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7Ci1Qb3NpdGlvbiBwb3NpdGlvbkFmdGVy
Q29udGFpbmluZ1NwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiwgTm9kZSoqIGNvbnRhaW5p
bmdTcGVjaWFsRWxlbWVudD0wKTsKLVBvc2l0aW9uIHBvc2l0aW9uT3V0c2lkZUNvbnRhaW5pbmdT
cGVjaWFsRWxlbWVudChjb25zdCBQb3NpdGlvbiYsIE5vZGUqKiBjb250YWluaW5nU3BlY2lhbEVs
ZW1lbnQ9MCk7Ci1Ob2RlKiBpc0xhc3RQb3NpdGlvbkJlZm9yZVRhYmxlKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYpOwotTm9kZSogaXNGaXJzdFBvc2l0aW9uQWZ0ZXJUYWJsZShjb25zdCBWaXNpYmxl
UG9zaXRpb24mKTsKK0VsZW1lbnQqIGVkaXRhYmxlUm9vdEZvclBvc2l0aW9uKGNvbnN0IFBvc2l0
aW9uJik7CitFbGVtZW50KiB1bnNwbGl0dGFibGVFbGVtZW50Rm9yUG9zaXRpb24oY29uc3QgUG9z
aXRpb24mKTsKIAotTm9kZSogZW5jbG9zaW5nTm9kZVdpdGhUYWcoY29uc3QgUG9zaXRpb24mLCBj
b25zdCBRdWFsaWZpZWROYW1lJik7Ci1Ob2RlKiBlbmNsb3NpbmdOb2RlT2ZUeXBlKGNvbnN0IFBv
c2l0aW9uJiwgYm9vbCAoKm5vZGVJc09mVHlwZSkoY29uc3QgTm9kZSopLCBib29sIG9ubHlSZXR1
cm5FZGl0YWJsZU5vZGVzID0gdHJ1ZSk7Ci1Ob2RlKiBoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlw
ZShjb25zdCBQb3NpdGlvbiYsIGJvb2wgKCpub2RlSXNPZlR5cGUpKGNvbnN0IE5vZGUqKSk7Ci1O
b2RlKiBlbmNsb3NpbmdUYWJsZUNlbGwoY29uc3QgUG9zaXRpb24mKTsKLU5vZGUqIGVuY2xvc2lu
Z0VtcHR5TGlzdEl0ZW0oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7Ci1Ob2RlKiBlbmNsb3NpbmdB
bmNob3JFbGVtZW50KGNvbnN0IFBvc2l0aW9uJik7Ci1ib29sIGlzTGlzdEVsZW1lbnQoTm9kZSop
OwotSFRNTEVsZW1lbnQqIGVuY2xvc2luZ0xpc3QoTm9kZSopOwotSFRNTEVsZW1lbnQqIG91dGVy
bW9zdEVuY2xvc2luZ0xpc3QoTm9kZSopOwotSFRNTEVsZW1lbnQqIGVuY2xvc2luZ0xpc3RDaGls
ZChOb2RlKik7CisvLyBCb29sZWFuIGZ1bmN0aW9ucyBvbiBFbGVtZW50CisgICAgCiBib29sIGNh
bk1lcmdlTGlzdHMoRWxlbWVudCogZmlyc3RMaXN0LCBFbGVtZW50KiBzZWNvbmRMaXN0KTsKLU5v
ZGUqIGhpZ2hlc3RBbmNlc3RvcihOb2RlKik7Ci1ib29sIGlzVGFibGVFbGVtZW50KE5vZGUqKTsK
LWJvb2wgaXNUYWJsZUNlbGwoY29uc3QgTm9kZSopOwotCi1ib29sIGxpbmVCcmVha0V4aXN0c0F0
UG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsKLWJvb2wgbGluZUJyZWFrRXhpc3RzQXRWaXNpYmxl
UG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CisgICAgCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCisvLyBWaXNpYmxlU2VsZWN0aW9uCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgCisvLyBG
dW5jdGlvbnMgcmV0dXJuaW5nIFZpc2libGVTZWxlY3Rpb24KIAorVmlzaWJsZVNlbGVjdGlvbiBh
dm9pZEludGVyc2VjdGlvbldpdGhOb2RlKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBOb2RlKik7
CiBWaXNpYmxlU2VsZWN0aW9uIHNlbGVjdGlvbkZvclBhcmFncmFwaEl0ZXJhdGlvbihjb25zdCBW
aXNpYmxlU2VsZWN0aW9uJik7CisgICAgCisKKy8vIE1pc2NlbGxhbmVvdXMgZnVuY3Rpb25zIG9u
IFN0cmluZworICAgIAorU3RyaW5nIHN0cmluZ1dpdGhSZWJhbGFuY2VkV2hpdGVzcGFjZShjb25z
dCBTdHJpbmcmLCBib29sLCBib29sKTsKK2NvbnN0IFN0cmluZyYgbm9uQnJlYWtpbmdTcGFjZVN0
cmluZygpOworYm9vbCB2YWxpZEJsb2NrVGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOworICAgIAog
Ci1pbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7Ci1i
b29sIGlzVmlzaWJseUFkamFjZW50KGNvbnN0IFBvc2l0aW9uJiBmaXJzdCwgY29uc3QgUG9zaXRp
b24mIHNlY29uZCk7Ci1ib29sIGlzTm9kZVZpc2libHlDb250YWluZWRXaXRoaW4oTm9kZSosIGNv
bnN0IFJhbmdlKik7CiB9CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="20790"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="20791"
          type_id="3"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>