<?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>58818</bug_id>
          
          <creation_ts>2011-04-18 13:25:16 -0700</creation_ts>
          <short_desc>[GTK]  fast/block/float/overhanging-tall-block.html crashes in the bots</short_desc>
          <delta_ts>2011-04-26 17:23:47 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alejandro G. Castro">alex</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>mitz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>scaroo</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387983</commentid>
    <comment_count>0</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2011-04-18 13:25:16 -0700</bug_when>
    <thetext>This is the error we get in the logs:

The program &apos;DumpRenderTree&apos; received an X Window System error.
This probably reflects a bug in the program.
The error was &apos;BadAlloc (insufficient resources for operation)&apos;.
  (Details: serial 102741 error_code 11 request_code 53 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
LEAK: 2494 WebCoreNode
LEAK: 1 Range
LEAK: 73 CachedResource
LEAK: 9 Frame
LEAK: 9 Page
LEAK: 1160 RenderObject

Simon, any clue about what could cause the problem? I&apos;m going to skip the test for the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387994</commentid>
    <comment_count>1</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2011-04-18 13:29:52 -0700</bug_when>
    <thetext>Skipped http://trac.webkit.org/changeset/84175</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388005</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-04-18 13:47:08 -0700</bug_when>
    <thetext>Why would this just crash GTK? Got a crash log?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388355</commentid>
    <comment_count>3</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2011-04-19 01:32:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Why would this just crash GTK? Got a crash log?

No idea, it is really weird, amazari is checking the problem, unfortunately for some reason the crash does not produce the crash log, and it can not be reproduced locally. We are going to try to run the test in the bot manually to see what we get.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388614</commentid>
    <comment_count>4</comment_count>
      <attachid>90219</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-19 11:09:05 -0700</bug_when>
    <thetext>Created attachment 90219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389155</commentid>
    <comment_count>5</comment_count>
      <attachid>90219</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2011-04-20 05:34:02 -0700</bug_when>
    <thetext>Comment on attachment 90219
Patch


Looks goods! Just a couple of comments.

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Prevent allocating scratch buffers larger than the target GdkDarawable

GdkDrawable

&gt; Source/WebCore/platform/gtk/WidgetRenderingContext.cpp:93
&gt; +    // We never want to create a scratch buffer larger than the size of our target GdkDrawable.
&gt; +    // This prevents giant pixmap allocations for very large widgets in smaller views.
&gt; +    int maxWidth = 0, maxHeight = 0;
&gt; +    gdk_drawable_get_size(graphicsContext-&gt;gdkWindow(), &amp;maxWidth, &amp;maxHeight);
&gt; +    m_targetRect.setSize(m_targetRect.size().shrunkTo(IntSize(maxWidth, maxHeight)));
&gt; +
&gt;      // Widgets sometimes need to draw outside their boundaries for things such as
&gt;      // exterior focus. We want to allocate a some extra pixels in our surface for this.
&gt; -    m_extraSpace = IntSize(15, 15);
&gt; +    static int extraSpace = 15;
&gt; +    m_targetRect.inflate(extraSpace);

Should we inflate first and later shrunkTo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389417</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-20 12:13:44 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 90219 [details])
&gt; 
&gt; Looks goods! Just a couple of comments.
&gt; 
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90219&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Prevent allocating scratch buffers larger than the target GdkDarawable
&gt; 
&gt; GdkDrawable

Fixed!

&gt; Should we inflate first and later shrunkTo?

inflate() modifies the offset of the target rectangle. If we inflate first and then shrink, there would have to be more code which detected if the offset needs to be corrected after shrunkTo. It seemed simpler to inflate later, since there isn&apos;t much harm in having a buffer that is 30 pixels bigger in each direction. We&apos;re really just trying to prevent having buffer that is much bigger than the target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389429</commentid>
    <comment_count>7</comment_count>
      <attachid>90385</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-20 12:22:43 -0700</bug_when>
    <thetext>Created attachment 90385
Patch fixing typo in the ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392963</commentid>
    <comment_count>8</comment_count>
      <attachid>90385</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-26 16:16:38 -0700</bug_when>
    <thetext>Comment on attachment 90385
Patch fixing typo in the ChangeLog

Seems reasonable to me.  if you need a more gtk-ish review, you&apos;ll have to ask someone else though. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393020</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-26 16:32:12 -0700</bug_when>
    <thetext>Committed r84978: &lt;http://trac.webkit.org/changeset/84978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393172</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-26 17:23:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84978 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
accessibility/anchor-linked-anonymous-block-crash.html
accessibility/aria-activedescendant-crash.html
accessibility/aria-checkbox-checked.html
accessibility/aria-checkbox-text.html
accessibility/aria-combobox.html
accessibility/aria-controls-with-tabs.html
accessibility/aria-describedby-on-input.html
accessibility/aria-disabled.html
accessibility/aria-help.html
accessibility/aria-hidden-update.html
accessibility/aria-hidden-with-elements.html
accessibility/aria-hidden.html
accessibility/aria-label.html
accessibility/aria-labelledby-on-input.html
accessibility/aria-labelledby-overrides-label.html
accessibility/aria-labelledby-stay-within.html
accessibility/aria-link-supports-press.html
accessibility/aria-list-and-listitem.html
accessibility/aria-option-role.html
accessibility/aria-presentational-role.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90219</attachid>
            <date>2011-04-19 11:09:05 -0700</date>
            <delta_ts>2011-04-20 12:22:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58818-20110419110903.patch</filename>
            <type>text/plain</type>
            <size>15041</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQyMjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1YjVmMTZlZDE3OWZkMGJkY2QxN2Y0
NmU0M2IyNTVkNDZlZjUyMzI5Li41MGU3MjQ5NmY3ZjlkOTFhYTA4Nzg5YzdkYWU4MmQ3Nzk2ZGYx
MzM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDQtMTkgIE1hcnRpbiBSb2JpbnNvbiAg
PG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtHVEtdICBmYXN0L2Jsb2NrL2Zsb2F0L292ZXJoYW5naW5nLXRhbGwt
YmxvY2suaHRtbCBjcmFzaGVzIGluIHRoZSBib3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODgxOAorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6IFVuc2tpcCBhIHRlc3Qgd2hpY2ggaXMgbm8gbG9uZ2VyIGNyYXNoaW5nLgorCiAyMDEx
LTA0LTE4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRl
eCAwNzdhOGI0MThkNjlkNmFjZDc2NDM3YTZhY2ZmMWU2ZDFhMWYyMDhiLi40NDliNjU1YmIyMjNm
MjA0ZTQyNDE5NzJhNTJiY2Y4NjgzOTU2M2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApA
QCAtMTgzLDkgKzE4Myw2IEBAIGZhc3Qvd29ya2Vycy9zdG9yYWdlL3VzZS1zYW1lLWRhdGFiYXNl
LWluLXBhZ2UtYW5kLXdvcmtlcnMuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTYzMDkKIHN2Zy90ZXh0L3RleHQtZGVjby0wMS1iLnN2ZwogCi0jIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODgxOAotZmFzdC9ibG9jay9mbG9h
dC9vdmVyaGFuZ2luZy10YWxsLWJsb2NrLmh0bWwKLQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
IyBFWFBFQ1RFRCBGQUlMVVJFUwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGU3YTljZDUwODA0ZTVjYzIxN2NkYTUxOWJiODU3YjkxM2JiZGVjNGQuLmY4YzFkMzQzNzU4MjM3
ZThhYWRlZTFmMDY1NzQwYmQ4YTBkMjY0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAor
MjAxMS0wNC0xOSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gIGZhc3Qv
YmxvY2svZmxvYXQvb3ZlcmhhbmdpbmctdGFsbC1ibG9jay5odG1sIGNyYXNoZXMgaW4gdGhlIGJv
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4ODE4
CisKKyAgICAgICAgUHJldmVudCBhbGxvY2F0aW5nIHNjcmF0Y2ggYnVmZmVycyBsYXJnZXIgdGhh
biB0aGUgdGFyZ2V0IEdka0RhcmF3YWJsZQorICAgICAgICB3aGVuIGNyZWF0aW5nIGEgV2lkZ2V0
UmVuZGVyaW5nQ29udGV4dC4gVGhpcyBwcmV2ZW50cyBpbmNyZWRpYmx5IGxhcmdlCisgICAgICAg
IHdpZGdldHMgZnJvbSBjcmFzaGluZyB0aGUgWCBTZXJ2ZXIuIFRoaXMgY2hhbmdlIGFsc28gYWxs
b3dlZCBncmVhdGx5CisgICAgICAgIHNpbXBsaWZ5aW5nIHRoZSB3YXkgdGhhdCB0aGUgcGFpbnRp
bmcgb2Zmc2V0IGlzIGNhbGN1bGF0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvV2lkZ2V0
UmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRSZW5kZXJpbmdD
b250ZXh0OjpXaWRnZXRSZW5kZXJpbmdDb250ZXh0KTogTmV2ZXIgYWxsb2NhdGUgYSBwaXhtYXAK
KyAgICAgICAgbGFyZ2VyIHRoYW4gdGhlIHRhcmdldCBHZGtEcmF3YWJsZS4KKyAgICAgICAgKFdl
YkNvcmU6OldpZGdldFJlbmRlcmluZ0NvbnRleHQ6On5XaWRnZXRSZW5kZXJpbmdDb250ZXh0KTog
Q2FsY3VsYXRlIHRoZSBvZmZzZXQgb2YgdGhlCisgICAgICAgIGJsaXQgYnkgbG9va2luZyBhdCB0
aGUgbG9jYXRpb24gb2YgdGhlIHRhcmdldCByZWN0IGl0c2VsZiwgcmF0aGVyIHRoYW4gZGVsYXlp
bmcgdGhlCisgICAgICAgIGNhbGN1bGF0aW9uIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgIChX
ZWJDb3JlOjpXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpjYWxjdWxhdGVDbGlwUmVjdCk6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRCb3gp
OiBVc2UgdGhlIG5ldyBjYWxjdWxhdGVDbGlwUmVjdEhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6
OldpZGdldFJlbmRlcmluZ0NvbnRleHQ6Omd0a1BhaW50RmxhdEJveCk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRGb2N1cyk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRTbGlk
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldFJlbmRlcmluZ0NvbnRleHQ6Omd0
a1BhaW50Q2hlY2spOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldFJlbmRlcmluZ0Nv
bnRleHQ6Omd0a1BhaW50T3B0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRS
ZW5kZXJpbmdDb250ZXh0OjpndGtQYWludFNoYWRvdyk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRBcnJvdyk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRWTGluZSk6IERpdHRv
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0Lmg6IFJlbW92
ZSBzb21lIG5vdyB1bnVzZWQgbWVtYmVycy4gQWRkCisgICAgICAgIGEgbWVtYmVyIHRvIHN0b3Jl
IHRoZSBJbnRTaXplIG1hcHBpbmcgZnJvbSB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIHRhcmdldCB0
byB0aGUgY29vcmRpbmF0ZXMKKyAgICAgICAgb2YgdGhlIHNjcmF0Y2ggYnVmZmVyLgorCiAyMDEx
LTA0LTE4ICBQYXNjYWwgTWFzc2ltaW5vICA8cGFzY2FsLm1hc3NpbWlub0BnbWFpbC5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA2ZjczODlk
NzA0NWE4NWEwMGVhZmJkNDcwYzM5YWI5NGI4ZDM3MTRkLi42NWJjYWQ2MjU0YjM2OWE3MTE1MTUy
YTMyYTJiZDI5ZDg5MTY1MWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvV2lkZ2V0UmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1dpZGdldFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC03NywyMSArNzcsMjYgQEAgV2lk
Z2V0UmVuZGVyaW5nQ29udGV4dDo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqIGdyYXBoaWNzQ29udGV4dCwKICAgICAvLyB0byBhIHRlbXBvcmFyeSBzdXJmYWNlIGFuZCBw
cmVzZXJ2ZSB0cmFuc3BhcmVuY3kuIFRvIGVuc3VyZSBkZWNlbnQgd2lkZ2V0IHJlbmRlcmluZywg
anVzdAogICAgIC8vIHBhaW50IGRpcmVjdGx5IHRvIHRoZSB0YXJnZXQgZHJhd2FibGUuIFRoaXMg
d2lsbCBub3QgcmVuZGVyIENTUyByb3RhdGlvbmFsIHRyYW5zZm9ybXMgcHJvcGVybHkuCiAgICAg
aWYgKCF0aGVtZS0+bV90aGVtZVBhcnRzSGF2ZVJHQkFDb2xvcm1hcCAmJiBncmFwaGljc0NvbnRl
eHQtPmdka1dpbmRvdygpKSB7Ci0gICAgICAgIG1fcGFpbnRSZWN0ID0gZ3JhcGhpY3NDb250ZXh0
LT5nZXRDVE0oKS5tYXBSZWN0KHRhcmdldFJlY3QpOwogICAgICAgICBtX3RhcmdldCA9IGdyYXBo
aWNzQ29udGV4dC0+Z2RrV2luZG93KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICAv
LyBXZSBuZXZlciB3YW50IHRvIGNyZWF0ZSBhIHNjcmF0Y2ggYnVmZmVyIGxhcmdlciB0aGFuIHRo
ZSBzaXplIG9mIG91ciB0YXJnZXQgR2RrRHJhd2FibGUuCisgICAgLy8gVGhpcyBwcmV2ZW50cyBn
aWFudCBwaXhtYXAgYWxsb2NhdGlvbnMgZm9yIHZlcnkgbGFyZ2Ugd2lkZ2V0cyBpbiBzbWFsbGVy
IHZpZXdzLgorICAgIGludCBtYXhXaWR0aCA9IDAsIG1heEhlaWdodCA9IDA7CisgICAgZ2RrX2Ry
YXdhYmxlX2dldF9zaXplKGdyYXBoaWNzQ29udGV4dC0+Z2RrV2luZG93KCksICZtYXhXaWR0aCwg
Jm1heEhlaWdodCk7CisgICAgbV90YXJnZXRSZWN0LnNldFNpemUobV90YXJnZXRSZWN0LnNpemUo
KS5zaHJ1bmtUbyhJbnRTaXplKG1heFdpZHRoLCBtYXhIZWlnaHQpKSk7CisKICAgICAvLyBXaWRn
ZXRzIHNvbWV0aW1lcyBuZWVkIHRvIGRyYXcgb3V0c2lkZSB0aGVpciBib3VuZGFyaWVzIGZvciB0
aGluZ3Mgc3VjaCBhcwogICAgIC8vIGV4dGVyaW9yIGZvY3VzLiBXZSB3YW50IHRvIGFsbG9jYXRl
IGEgc29tZSBleHRyYSBwaXhlbHMgaW4gb3VyIHN1cmZhY2UgZm9yIHRoaXMuCi0gICAgbV9leHRy
YVNwYWNlID0gSW50U2l6ZSgxNSwgMTUpOworICAgIHN0YXRpYyBpbnQgZXh0cmFTcGFjZSA9IDE1
OworICAgIG1fdGFyZ2V0UmVjdC5pbmZsYXRlKGV4dHJhU3BhY2UpOwogCi0gICAgLy8gT2Zmc2V0
IHRoZSB0YXJnZXQgcmVjdGFuZ2xlIHNvIHRoYXQgdGhlIGV4dHJhIHNwYWNlIGlzIHdpdGhpbiB0
aGUgYm91bmRhcmllcyBvZiB0aGUgc2NyYXRjaCBidWZmZXIuCi0gICAgbV9wYWludFJlY3QgPSBJ
bnRSZWN0KEludFBvaW50KG1fZXh0cmFTcGFjZS53aWR0aCgpLCBtX2V4dHJhU3BhY2UuaGVpZ2h0
KCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RhcmdldFJlY3Quc2l6
ZSgpKTsKKyAgICAvLyBUaGlzIG9mZnNldCB3aWxsIG1hcCBhIHBvaW50IGluIHRoZSBjb29yZGlu
YXRlIHN5c3RlbSBvZiB0aGUgd2lkZ2V0IHRvIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUg
cGFpbnRpbmcgYnVmZmVyLgorICAgIG1fcGFpbnRPZmZzZXQgPSB0YXJnZXRSZWN0LmxvY2F0aW9u
KCkgLSBtX3RhcmdldFJlY3QubG9jYXRpb24oKTsKIAotICAgIGludCB3aWR0aCA9IG1fdGFyZ2V0
UmVjdC53aWR0aCgpICsgKG1fZXh0cmFTcGFjZS53aWR0aCgpICogMik7Ci0gICAgaW50IGhlaWdo
dCA9IG1fdGFyZ2V0UmVjdC5oZWlnaHQoKSArIChtX2V4dHJhU3BhY2UuaGVpZ2h0KCkgKiAyKTsK
KyAgICBpbnQgd2lkdGggPSBtX3RhcmdldFJlY3Qud2lkdGgoKSArIChleHRyYVNwYWNlICogMik7
CisgICAgaW50IGhlaWdodCA9IG1fdGFyZ2V0UmVjdC5oZWlnaHQoKSArIChleHRyYVNwYWNlICog
Mik7CiAgICAgaW50IHNjcmF0Y2hXaWR0aCA9IDA7CiAgICAgaW50IHNjcmF0Y2hIZWlnaHQgPSAw
OwogICAgIGlmIChnU2NyYXRjaEJ1ZmZlcikKQEAgLTEzMiw4OCArMTM3LDEwMCBAQCBXaWRnZXRS
ZW5kZXJpbmdDb250ZXh0Ojp+V2lkZ2V0UmVuZGVyaW5nQ29udGV4dCgpCiAgICAgY2Fpcm9fdCog
Y2Fpcm9Db250ZXh0ID0gbV9ncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jcigp
OwogICAgIFJlZlB0cjxjYWlyb19wYXR0ZXJuX3Q+IHByZXZpb3VzU291cmNlKGNhaXJvX2dldF9z
b3VyY2UoY2Fpcm9Db250ZXh0KSk7CiAKLSAgICAvLyBUaGUgYmxpdCByZWN0YW5nbGUgaXMgdGhl
IG9yaWdpbmFsIHRhcmdldCByZWN0YW5nbGUgYWRqdXN0ZWQgZm9yIGFueSBleHRyYSBzcGFjZS4K
LSAgICBJbnRSZWN0IGZ1bGxUYXJnZXRSZWN0KG1fdGFyZ2V0UmVjdCk7Ci0gICAgZnVsbFRhcmdl
dFJlY3QuaW5mbGF0ZVgobV9leHRyYVNwYWNlLndpZHRoKCkpOwotICAgIGZ1bGxUYXJnZXRSZWN0
LmluZmxhdGVZKG1fZXh0cmFTcGFjZS5oZWlnaHQoKSk7Ci0KLSAgICBnZGtfY2Fpcm9fc2V0X3Nv
dXJjZV9waXhtYXAoY2Fpcm9Db250ZXh0LCBnU2NyYXRjaEJ1ZmZlciwgZnVsbFRhcmdldFJlY3Qu
eCgpLCBmdWxsVGFyZ2V0UmVjdC55KCkpOwotICAgIGNhaXJvX3JlY3RhbmdsZShjYWlyb0NvbnRl
eHQsIGZ1bGxUYXJnZXRSZWN0LngoKSwgZnVsbFRhcmdldFJlY3QueSgpLCBmdWxsVGFyZ2V0UmVj
dC53aWR0aCgpLCBmdWxsVGFyZ2V0UmVjdC5oZWlnaHQoKSk7CisgICAgZ2RrX2NhaXJvX3NldF9z
b3VyY2VfcGl4bWFwKGNhaXJvQ29udGV4dCwgZ1NjcmF0Y2hCdWZmZXIsIG1fdGFyZ2V0UmVjdC54
KCksIG1fdGFyZ2V0UmVjdC55KCkpOworICAgIGNhaXJvX3JlY3RhbmdsZShjYWlyb0NvbnRleHQs
IG1fdGFyZ2V0UmVjdC54KCksIG1fdGFyZ2V0UmVjdC55KCksIG1fdGFyZ2V0UmVjdC53aWR0aCgp
LCBtX3RhcmdldFJlY3QuaGVpZ2h0KCkpOwogICAgIGNhaXJvX2ZpbGwoY2Fpcm9Db250ZXh0KTsK
ICAgICBjYWlyb19zZXRfc291cmNlKGNhaXJvQ29udGV4dCwgcHJldmlvdXNTb3VyY2UuZ2V0KCkp
OwogICAgIHNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKCk7CiB9CiAKK3ZvaWQgV2lkZ2V0UmVu
ZGVyaW5nQ29udGV4dDo6Y2FsY3VsYXRlQ2xpcFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCwgR2Rr
UmVjdGFuZ2xlKiBjbGlwUmVjdCkKK3sKKyAgICBjbGlwUmVjdC0+eCA9IG1fcGFpbnRPZmZzZXQu
d2lkdGgoKSArIHJlY3QueCgpOworICAgIGNsaXBSZWN0LT55ID0gbV9wYWludE9mZnNldC5oZWln
aHQoKSArIHJlY3QueSgpOworICAgIGNsaXBSZWN0LT53aWR0aCA9IG1fdGFyZ2V0UmVjdC53aWR0
aCgpOworICAgIGNsaXBSZWN0LT5oZWlnaHQgPSBtX3RhcmdldFJlY3QuaGVpZ2h0KCk7Cit9CisK
IHZvaWQgV2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRCb3goY29uc3QgSW50UmVjdCYg
cmVjdCwgR3RrV2lkZ2V0KiB3aWRnZXQsIEd0a1N0YXRlVHlwZSBzdGF0ZVR5cGUsIEd0a1NoYWRv
d1R5cGUgc2hhZG93VHlwZSwgY29uc3QgZ2NoYXIqIGRldGFpbCkKIHsKLSAgICBHZGtSZWN0YW5n
bGUgcGFpbnRSZWN0ID0geyBtX3BhaW50UmVjdC54ICsgcmVjdC54KCksIG1fcGFpbnRSZWN0Lnkg
KyByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpIH07CisgICAgR2RrUmVjdGFu
Z2xlIGNsaXBSZWN0OworICAgIGNhbGN1bGF0ZUNsaXBSZWN0KHJlY3QsICZjbGlwUmVjdCk7CiAK
ICAgICAvLyBTb21lIHdpZGdldHMgYWxzbyBuZWVkIHRoZWlyIGFsbG9jYXRpb24gYWRqdXN0ZWQg
dG8gYWNjb3VudCBmb3IgZXh0cmEgc3BhY2UuCiAgICAgLy8gUmlnaHQgbm93IG9ubHkgc2Nyb2xs
YmFyIGJ1dHRvbnMgaGF2ZSBzaWduaWZpY2FudCBhbGxvY2F0aW9ucy4KICAgICBHdGtBbGxvY2F0
aW9uIGFsbG9jYXRpb247CiAgICAgZ3RrX3dpZGdldF9nZXRfYWxsb2NhdGlvbih3aWRnZXQsICZh
bGxvY2F0aW9uKTsKLSAgICBhbGxvY2F0aW9uLnggKz0gbV9wYWludFJlY3QueDsKLSAgICBhbGxv
Y2F0aW9uLnkgKz0gbV9wYWludFJlY3QueTsKKyAgICBhbGxvY2F0aW9uLnggKz0gY2xpcFJlY3Qu
eDsKKyAgICBhbGxvY2F0aW9uLnkgKz0gY2xpcFJlY3QueTsKICAgICBndGtfd2lkZ2V0X3NldF9h
bGxvY2F0aW9uKHdpZGdldCwgJmFsbG9jYXRpb24pOwogCi0gICAgZ3RrX3BhaW50X2JveChndGtf
d2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dUeXBl
LCAmcGFpbnRSZWN0LAotICAgICAgICAgICAgICAgICAgd2lkZ2V0LCBkZXRhaWwsIHBhaW50UmVj
dC54LCBwYWludFJlY3QueSwgcGFpbnRSZWN0LndpZHRoLCBwYWludFJlY3QuaGVpZ2h0KTsKKyAg
ICBndGtfcGFpbnRfYm94KGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCksIG1fdGFyZ2V0LCBz
dGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZjbGlwUmVjdCwKKyAgICAgICAgICAgICAgICAgIHdpZGdl
dCwgZGV0YWlsLCBjbGlwUmVjdC54LCBjbGlwUmVjdC55LCByZWN0LndpZHRoKCksIHJlY3QuaGVp
Z2h0KCkpOwogfQogCiB2b2lkIFdpZGdldFJlbmRlcmluZ0NvbnRleHQ6Omd0a1BhaW50RmxhdEJv
eChjb25zdCBJbnRSZWN0JiByZWN0LCBHdGtXaWRnZXQqIHdpZGdldCwgR3RrU3RhdGVUeXBlIHN0
YXRlVHlwZSwgR3RrU2hhZG93VHlwZSBzaGFkb3dUeXBlLCBjb25zdCBnY2hhciogZGV0YWlsKQog
ewotICAgIEdka1JlY3RhbmdsZSBwYWludFJlY3QgPSB7IG1fcGFpbnRSZWN0LnggKyByZWN0Lngo
KSwgbV9wYWludFJlY3QueSArIHJlY3QueSgpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkg
fTsKLSAgICBndGtfcGFpbnRfZmxhdF9ib3goZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwg
bV90YXJnZXQsIHN0YXRlVHlwZSwgc2hhZG93VHlwZSwgJnBhaW50UmVjdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgd2lkZ2V0LCBkZXRhaWwsIHBhaW50UmVjdC54LCBwYWludFJlY3QueSwgcGFp
bnRSZWN0LndpZHRoLCBwYWludFJlY3QuaGVpZ2h0KTsKKyAgICBHZGtSZWN0YW5nbGUgY2xpcFJl
Y3Q7CisgICAgY2FsY3VsYXRlQ2xpcFJlY3QocmVjdCwgJmNsaXBSZWN0KTsKKyAgICBndGtfcGFp
bnRfZmxhdF9ib3goZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJnZXQsIHN0YXRl
VHlwZSwgc2hhZG93VHlwZSwgJmNsaXBSZWN0LAorICAgICAgICAgICAgICAgICAgICAgICB3aWRn
ZXQsIGRldGFpbCwgY2xpcFJlY3QueCwgY2xpcFJlY3QueSwgcmVjdC53aWR0aCgpLCByZWN0Lmhl
aWdodCgpKTsKIH0KIAogdm9pZCBXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpndGtQYWludEZvY3Vz
KGNvbnN0IEludFJlY3QmIHJlY3QsIEd0a1dpZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3Rh
dGVUeXBlLCBjb25zdCBnY2hhciogZGV0YWlsKQogewotICAgIEdka1JlY3RhbmdsZSBwYWludFJl
Y3QgPSB7IG1fcGFpbnRSZWN0LnggKyByZWN0LngoKSwgbV9wYWludFJlY3QueSArIHJlY3QueSgp
LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkgfTsKLSAgICBndGtfcGFpbnRfZm9jdXMoZ3Rr
X3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJnZXQsIHN0YXRlVHlwZSwgJnBhaW50UmVj
dCwgd2lkZ2V0LAotICAgICAgICAgICAgICAgICAgICBkZXRhaWwsIHBhaW50UmVjdC54LCBwYWlu
dFJlY3QueSwgcGFpbnRSZWN0LndpZHRoLCBwYWludFJlY3QuaGVpZ2h0KTsKKyAgICBHZGtSZWN0
YW5nbGUgY2xpcFJlY3Q7CisgICAgY2FsY3VsYXRlQ2xpcFJlY3QocmVjdCwgJmNsaXBSZWN0KTsK
KyAgICBndGtfcGFpbnRfZm9jdXMoZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJn
ZXQsIHN0YXRlVHlwZSwgJmNsaXBSZWN0LCB3aWRnZXQsCisgICAgICAgICAgICAgICAgICAgIGRl
dGFpbCwgY2xpcFJlY3QueCwgY2xpcFJlY3QueSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgp
KTsKIH0KIAogdm9pZCBXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpndGtQYWludFNsaWRlcihjb25z
dCBJbnRSZWN0JiByZWN0LCBHdGtXaWRnZXQqIHdpZGdldCwgR3RrU3RhdGVUeXBlIHN0YXRlVHlw
ZSwgR3RrU2hhZG93VHlwZSBzaGFkb3dUeXBlLCBjb25zdCBnY2hhciogZGV0YWlsLCBHdGtPcmll
bnRhdGlvbiBvcmllbnRhdGlvbikKIHsKLSAgICBHZGtSZWN0YW5nbGUgcGFpbnRSZWN0ID0geyBt
X3BhaW50UmVjdC54ICsgcmVjdC54KCksIG1fcGFpbnRSZWN0LnkgKyByZWN0LnkoKSwgcmVjdC53
aWR0aCgpLCByZWN0LmhlaWdodCgpIH07Ci0gICAgZ3RrX3BhaW50X3NsaWRlcihndGtfd2lkZ2V0
X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dUeXBlLCAmbV9w
YWludFJlY3QsIHdpZGdldCwKLSAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgcGFpbnRSZWN0
LngsIHBhaW50UmVjdC55LCBwYWludFJlY3Qud2lkdGgsIHBhaW50UmVjdC5oZWlnaHQsIG9yaWVu
dGF0aW9uKTsKKyAgICBHZGtSZWN0YW5nbGUgY2xpcFJlY3Q7CisgICAgY2FsY3VsYXRlQ2xpcFJl
Y3QocmVjdCwgJmNsaXBSZWN0KTsKKyAgICBndGtfcGFpbnRfc2xpZGVyKGd0a193aWRnZXRfZ2V0
X3N0eWxlKHdpZGdldCksIG1fdGFyZ2V0LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZjbGlwUmVj
dCwgd2lkZ2V0LAorICAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBjbGlwUmVjdC54LCBjbGlw
UmVjdC55LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCksIG9yaWVudGF0aW9uKTsKIH0KIAog
dm9pZCBXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpndGtQYWludENoZWNrKGNvbnN0IEludFJlY3Qm
IHJlY3QsIEd0a1dpZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVUeXBlLCBHdGtTaGFk
b3dUeXBlIHNoYWRvd1R5cGUsIGNvbnN0IGdjaGFyKiBkZXRhaWwpCiB7Ci0gICAgR2RrUmVjdGFu
Z2xlIHBhaW50UmVjdCA9IHsgbV9wYWludFJlY3QueCArIHJlY3QueCgpLCBtX3BhaW50UmVjdC55
ICsgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSB9OwotICAgIGd0a19wYWlu
dF9jaGVjayhndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBl
LCBzaGFkb3dUeXBlLCAmcGFpbnRSZWN0LCB3aWRnZXQsCi0gICAgICAgICAgICAgICAgICAgIGRl
dGFpbCwgcGFpbnRSZWN0LngsIHBhaW50UmVjdC55LCBwYWludFJlY3Qud2lkdGgsIHBhaW50UmVj
dC5oZWlnaHQpOworICAgIEdka1JlY3RhbmdsZSBjbGlwUmVjdDsKKyAgICBjYWxjdWxhdGVDbGlw
UmVjdChyZWN0LCAmY2xpcFJlY3QpOworICAgIGd0a19wYWludF9jaGVjayhndGtfd2lkZ2V0X2dl
dF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dUeXBlLCAmY2xpcFJl
Y3QsIHdpZGdldCwKKyAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBjbGlwUmVjdC54LCBjbGlw
UmVjdC55LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpOwogfQogCiB2b2lkIFdpZGdldFJl
bmRlcmluZ0NvbnRleHQ6Omd0a1BhaW50T3B0aW9uKGNvbnN0IEludFJlY3QmIHJlY3QsIEd0a1dp
ZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVUeXBlLCBHdGtTaGFkb3dUeXBlIHNoYWRv
d1R5cGUsIGNvbnN0IGdjaGFyKiBkZXRhaWwpCiB7Ci0gICAgR2RrUmVjdGFuZ2xlIHBhaW50UmVj
dCA9IHsgbV9wYWludFJlY3QueCArIHJlY3QueCgpLCBtX3BhaW50UmVjdC55ICsgcmVjdC55KCks
IHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSB9OwotICAgIGd0a19wYWludF9vcHRpb24oZ3Rr
X3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJnZXQsIHN0YXRlVHlwZSwgc2hhZG93VHlw
ZSwgJnBhaW50UmVjdCwgd2lkZ2V0LAotICAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBwYWlu
dFJlY3QueCwgcGFpbnRSZWN0LnksIHBhaW50UmVjdC53aWR0aCwgcGFpbnRSZWN0LmhlaWdodCk7
CisgICAgR2RrUmVjdGFuZ2xlIGNsaXBSZWN0OworICAgIGNhbGN1bGF0ZUNsaXBSZWN0KHJlY3Qs
ICZjbGlwUmVjdCk7CisgICAgZ3RrX3BhaW50X29wdGlvbihndGtfd2lkZ2V0X2dldF9zdHlsZSh3
aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dUeXBlLCAmY2xpcFJlY3QsIHdpZGdl
dCwKKyAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgY2xpcFJlY3QueCwgY2xpcFJlY3QueSwg
cmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKIH0KIAogdm9pZCBXaWRnZXRSZW5kZXJpbmdD
b250ZXh0OjpndGtQYWludFNoYWRvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBHdGtXaWRnZXQqIHdp
ZGdldCwgR3RrU3RhdGVUeXBlIHN0YXRlVHlwZSwgR3RrU2hhZG93VHlwZSBzaGFkb3dUeXBlLCBj
b25zdCBnY2hhciogZGV0YWlsKQogewotICAgIEdka1JlY3RhbmdsZSBwYWludFJlY3QgPSB7IG1f
cGFpbnRSZWN0LnggKyByZWN0LngoKSwgbV9wYWludFJlY3QueSArIHJlY3QueSgpLCByZWN0Lndp
ZHRoKCksIHJlY3QuaGVpZ2h0KCkgfTsKLSAgICBndGtfcGFpbnRfc2hhZG93KGd0a193aWRnZXRf
Z2V0X3N0eWxlKHdpZGdldCksIG1fdGFyZ2V0LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZwYWlu
dFJlY3QsIHdpZGdldCwKLSAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwgcGFpbnRSZWN0Lngs
IHBhaW50UmVjdC55LCBwYWludFJlY3Qud2lkdGgsIHBhaW50UmVjdC5oZWlnaHQpOworICAgIEdk
a1JlY3RhbmdsZSBjbGlwUmVjdDsKKyAgICBjYWxjdWxhdGVDbGlwUmVjdChyZWN0LCAmY2xpcFJl
Y3QpOworICAgIGd0a19wYWludF9zaGFkb3coZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwg
bV90YXJnZXQsIHN0YXRlVHlwZSwgc2hhZG93VHlwZSwgJmNsaXBSZWN0LCB3aWRnZXQsCisgICAg
ICAgICAgICAgICAgICAgICBkZXRhaWwsIGNsaXBSZWN0LngsIGNsaXBSZWN0LnksIHJlY3Qud2lk
dGgoKSwgcmVjdC5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgV2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6
Z3RrUGFpbnRBcnJvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBHdGtXaWRnZXQqIHdpZGdldCwgR3Rr
U3RhdGVUeXBlIHN0YXRlVHlwZSwgR3RrU2hhZG93VHlwZSBzaGFkb3dUeXBlLCBpbnQgYXJyb3dE
aXJlY3Rpb24sIGNvbnN0IGdjaGFyKiBkZXRhaWwpCiB7Ci0gICAgR2RrUmVjdGFuZ2xlIHBhaW50
UmVjdCA9IHsgbV9wYWludFJlY3QueCArIHJlY3QueCgpLCBtX3BhaW50UmVjdC55ICsgcmVjdC55
KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSB9OwotICAgIGd0a19wYWludF9hcnJvdyhn
dGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dU
eXBlLCAmcGFpbnRSZWN0LCB3aWRnZXQsIGRldGFpbCwKLSAgICAgICAgICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8R3RrQXJyb3dUeXBlPihhcnJvd0RpcmVjdGlvbiksIFRSVUUsIHBhaW50UmVjdC54
LCBwYWludFJlY3QueSwgcGFpbnRSZWN0LndpZHRoLCBwYWludFJlY3QuaGVpZ2h0KTsKKyAgICBH
ZGtSZWN0YW5nbGUgY2xpcFJlY3Q7CisgICAgY2FsY3VsYXRlQ2xpcFJlY3QocmVjdCwgJmNsaXBS
ZWN0KTsKKyAgICBndGtfcGFpbnRfYXJyb3coZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwg
bV90YXJnZXQsIHN0YXRlVHlwZSwgc2hhZG93VHlwZSwgJmNsaXBSZWN0LCB3aWRnZXQsIGRldGFp
bCwKKyAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R3RrQXJyb3dUeXBlPihhcnJvd0Rp
cmVjdGlvbiksIFRSVUUsIGNsaXBSZWN0LngsIGNsaXBSZWN0LnksIHJlY3Qud2lkdGgoKSwgcmVj
dC5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgV2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRW
TGluZShjb25zdCBJbnRSZWN0JiByZWN0LCBHdGtXaWRnZXQqIHdpZGdldCwgR3RrU3RhdGVUeXBl
IHN0YXRlVHlwZSwgY29uc3QgZ2NoYXIqIGRldGFpbCkKIHsKLSAgICBHZGtSZWN0YW5nbGUgcGFp
bnRSZWN0ID0geyBtX3BhaW50UmVjdC54ICsgcmVjdC54KCksIG1fcGFpbnRSZWN0LnkgKyByZWN0
LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpIH07Ci0gICAgZ3RrX3BhaW50X3ZsaW5l
KGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCksIG1fdGFyZ2V0LCBzdGF0ZVR5cGUsICZwYWlu
dFJlY3QsIHdpZGdldCwgZGV0YWlsLAotICAgICAgICAgICAgICAgICAgICBwYWludFJlY3QueSwg
cGFpbnRSZWN0LnkgKyBwYWludFJlY3QuaGVpZ2h0LCBwYWludFJlY3QueCk7CisgICAgR2RrUmVj
dGFuZ2xlIGNsaXBSZWN0OworICAgIGNhbGN1bGF0ZUNsaXBSZWN0KHJlY3QsICZjbGlwUmVjdCk7
CisgICAgZ3RrX3BhaW50X3ZsaW5lKGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCksIG1fdGFy
Z2V0LCBzdGF0ZVR5cGUsICZjbGlwUmVjdCwgd2lkZ2V0LCBkZXRhaWwsCisgICAgICAgICAgICAg
ICAgICAgIGNsaXBSZWN0LnksIGNsaXBSZWN0LnkgKyByZWN0LmhlaWdodCgpLCBjbGlwUmVjdC54
KTsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0
UmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldFJl
bmRlcmluZ0NvbnRleHQuaAppbmRleCA4NjM5YTk4ZjFkYzJiYzljNWI1YjFkZTkzYzdiYWY3MmRh
ZTdkYTViLi4zMWYyYzhhNzcxYzBlMTY3MzM3NDhkZDY0ZjQ0ZWNhYzBlMGNmOTkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0UmVuZGVyaW5nQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0
LmgKQEAgLTUyLDEwICs1MiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBndGtQYWludFZMaW5lKGNv
bnN0IEludFJlY3QmLCBHdGtXaWRnZXQqLCBHdGtTdGF0ZVR5cGUsIGNvbnN0IGdjaGFyKik7CiAK
IHByaXZhdGU6CisgICAgdm9pZCBjYWxjdWxhdGVDbGlwUmVjdChjb25zdCBJbnRSZWN0JiwgR2Rr
UmVjdGFuZ2xlKik7CisKICAgICBHcmFwaGljc0NvbnRleHQqIG1fZ3JhcGhpY3NDb250ZXh0Owog
ICAgIEludFJlY3QgbV90YXJnZXRSZWN0OwotICAgIEdka1JlY3RhbmdsZSBtX3BhaW50UmVjdDsK
LSAgICBJbnRTaXplIG1fZXh0cmFTcGFjZTsKKyAgICBJbnRTaXplIG1fcGFpbnRPZmZzZXQ7CiAg
ICAgYm9vbCBtX2hhZEVycm9yOwogICAgIEdka0RyYXdhYmxlKiBtX3RhcmdldDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90385</attachid>
            <date>2011-04-20 12:22:43 -0700</date>
            <delta_ts>2011-04-26 16:33:06 -0700</delta_ts>
            <desc>Patch fixing typo in the ChangeLog</desc>
            <filename>bug-58818-20110420122243.patch</filename>
            <type>text/plain</type>
            <size>14959</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQzOTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMWUxZjY3OGE3MGYyNjFkNjlmODI5
OGMyZTIzYjcwY2M0MjQyODhkLi40OGZhMTdiYjc3OWJlN2I4OGFiYTY4MmQyMmEzOGY4ZDlkZmY0
MDZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDQtMTkgIE1hcnRpbiBSb2JpbnNvbiAg
PG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtHVEtdICBmYXN0L2Jsb2NrL2Zsb2F0L292ZXJoYW5naW5nLXRhbGwt
YmxvY2suaHRtbCBjcmFzaGVzIGluIHRoZSBib3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODgxOAorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6IFVuc2tpcCBhIHRlc3Qgd2hpY2ggaXMgbm8gbG9uZ2VyIGNyYXNoaW5nLgorCiAyMDEx
LTA0LTIwICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggMDU4
ZmQ1ZGY1ZjgyOTM2ZmNmYzFlZWYyODZkZTM5Y2NiODRjYmZkNS4uNWIzZjU3YjEyODg1Zjc0NGI1
OGJlZWIyZjhlYjNjOGUyODQwMjVhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTE4
Myw5ICsxODMsNiBAQCBmYXN0L3dvcmtlcnMvc3RvcmFnZS91c2Utc2FtZS1kYXRhYmFzZS1pbi1w
YWdlLWFuZC13b3JrZXJzLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU2MzA5CiBzdmcvdGV4dC90ZXh0LWRlY28tMDEtYi5zdmcKIAotIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4MTgKLWZhc3QvYmxvY2svZmxvYXQvb3Zl
cmhhbmdpbmctdGFsbC1ibG9jay5odG1sCi0KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTU4OTc2CiBmYXN0L2V2ZW50cy9vdmVyZmxvdy12aWV3cG9ydC1yZW5kZXJl
ci1kZWxldGVkLmh0bWwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM4ODVlYTIwYmIyOGYzNzY0YTdlMDljYzNl
MWI1NGJkYmY3M2UzYzMuLjc4Yjk2MDQxMTgxMzc1ZTcwNDE4ODgxNTEyYWViZWE3ODY4YjZjNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMS0wNC0xOSAgTWFydGluIFJvYmluc29u
ICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0dUS10gIGZhc3QvYmxvY2svZmxvYXQvb3ZlcmhhbmdpbmctdGFs
bC1ibG9jay5odG1sIGNyYXNoZXMgaW4gdGhlIGJvdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4ODE4CisKKyAgICAgICAgUHJldmVudCBhbGxvY2F0
aW5nIHNjcmF0Y2ggYnVmZmVycyBsYXJnZXIgdGhhbiB0aGUgdGFyZ2V0IEdka0RyYXdhYmxlCisg
ICAgICAgIHdoZW4gY3JlYXRpbmcgYSBXaWRnZXRSZW5kZXJpbmdDb250ZXh0LiBUaGlzIHByZXZl
bnRzIGluY3JlZGlibHkgbGFyZ2UKKyAgICAgICAgd2lkZ2V0cyBmcm9tIGNyYXNoaW5nIHRoZSBY
IFNlcnZlci4gVGhpcyBjaGFuZ2UgYWxzbyBhbGxvd2VkIGdyZWF0bHkKKyAgICAgICAgc2ltcGxp
ZnlpbmcgdGhlIHdheSB0aGF0IHRoZSBwYWludGluZyBvZmZzZXQgaXMgY2FsY3VsYXRlZC4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldpZGdldFJlbmRlcmluZ0NvbnRleHQ6OldpZGdldFJlbmRlcmluZ0NvbnRl
eHQpOiBOZXZlciBhbGxvY2F0ZSBhIHBpeG1hcAorICAgICAgICBsYXJnZXIgdGhhbiB0aGUgdGFy
Z2V0IEdka0RyYXdhYmxlLgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4
dDo6fldpZGdldFJlbmRlcmluZ0NvbnRleHQpOiBDYWxjdWxhdGUgdGhlIG9mZnNldCBvZiB0aGUK
KyAgICAgICAgYmxpdCBieSBsb29raW5nIGF0IHRoZSBsb2NhdGlvbiBvZiB0aGUgdGFyZ2V0IHJl
Y3QgaXRzZWxmLCByYXRoZXIgdGhhbiBkZWxheWluZyB0aGUKKyAgICAgICAgY2FsY3VsYXRpb24g
dXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldFJlbmRlcmluZ0NvbnRl
eHQ6OmNhbGN1bGF0ZUNsaXBSZWN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRS
ZW5kZXJpbmdDb250ZXh0OjpndGtQYWludEJveCk6IFVzZSB0aGUgbmV3IGNhbGN1bGF0ZUNsaXBS
ZWN0SGVscGVyLgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3Rr
UGFpbnRGbGF0Qm94KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRSZW5kZXJpbmdD
b250ZXh0OjpndGtQYWludEZvY3VzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRS
ZW5kZXJpbmdDb250ZXh0OjpndGtQYWludFNsaWRlcik6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRDaGVjayk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6V2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRPcHRpb24pOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdldFJlbmRlcmluZ0NvbnRleHQ6Omd0a1BhaW50U2hh
ZG93KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRSZW5kZXJpbmdDb250ZXh0Ojpn
dGtQYWludEFycm93KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXRSZW5kZXJpbmdD
b250ZXh0OjpndGtQYWludFZMaW5lKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1dp
ZGdldFJlbmRlcmluZ0NvbnRleHQuaDogUmVtb3ZlIHNvbWUgbm93IHVudXNlZCBtZW1iZXJzLiBB
ZGQKKyAgICAgICAgYSBtZW1iZXIgdG8gc3RvcmUgdGhlIEludFNpemUgbWFwcGluZyBmcm9tIHRo
ZSBjb29yZGluYXRlcyBvZiB0aGUgdGFyZ2V0IHRvIHRoZSBjb29yZGluYXRlcworICAgICAgICBv
ZiB0aGUgc2NyYXRjaCBidWZmZXIuCisKIDIwMTEtMDQtMTkgIFJvbGFuZCBTdGVpbmVyICA8cm9s
YW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBH
bGF6a292LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldFJl
bmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1dpZGdldFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDZmNzM4OWQ3MDQ1YTg1YTAwZWFmYmQ0NzBjMzlhYjk0
YjhkMzcxNGQuLjY1YmNhZDYyNTRiMzY5YTcxMTUxNTJhMzJhMmJkMjlkODkxNjUxYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0UmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTc3LDIxICs3NywyNiBAQCBXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpXaWRn
ZXRSZW5kZXJpbmdDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LAogICAg
IC8vIHRvIGEgdGVtcG9yYXJ5IHN1cmZhY2UgYW5kIHByZXNlcnZlIHRyYW5zcGFyZW5jeS4gVG8g
ZW5zdXJlIGRlY2VudCB3aWRnZXQgcmVuZGVyaW5nLCBqdXN0CiAgICAgLy8gcGFpbnQgZGlyZWN0
bHkgdG8gdGhlIHRhcmdldCBkcmF3YWJsZS4gVGhpcyB3aWxsIG5vdCByZW5kZXIgQ1NTIHJvdGF0
aW9uYWwgdHJhbnNmb3JtcyBwcm9wZXJseS4KICAgICBpZiAoIXRoZW1lLT5tX3RoZW1lUGFydHNI
YXZlUkdCQUNvbG9ybWFwICYmIGdyYXBoaWNzQ29udGV4dC0+Z2RrV2luZG93KCkpIHsKLSAgICAg
ICAgbV9wYWludFJlY3QgPSBncmFwaGljc0NvbnRleHQtPmdldENUTSgpLm1hcFJlY3QodGFyZ2V0
UmVjdCk7CiAgICAgICAgIG1fdGFyZ2V0ID0gZ3JhcGhpY3NDb250ZXh0LT5nZGtXaW5kb3coKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIC8vIFdlIG5ldmVyIHdhbnQgdG8gY3JlYXRl
IGEgc2NyYXRjaCBidWZmZXIgbGFyZ2VyIHRoYW4gdGhlIHNpemUgb2Ygb3VyIHRhcmdldCBHZGtE
cmF3YWJsZS4KKyAgICAvLyBUaGlzIHByZXZlbnRzIGdpYW50IHBpeG1hcCBhbGxvY2F0aW9ucyBm
b3IgdmVyeSBsYXJnZSB3aWRnZXRzIGluIHNtYWxsZXIgdmlld3MuCisgICAgaW50IG1heFdpZHRo
ID0gMCwgbWF4SGVpZ2h0ID0gMDsKKyAgICBnZGtfZHJhd2FibGVfZ2V0X3NpemUoZ3JhcGhpY3ND
b250ZXh0LT5nZGtXaW5kb3coKSwgJm1heFdpZHRoLCAmbWF4SGVpZ2h0KTsKKyAgICBtX3Rhcmdl
dFJlY3Quc2V0U2l6ZShtX3RhcmdldFJlY3Quc2l6ZSgpLnNocnVua1RvKEludFNpemUobWF4V2lk
dGgsIG1heEhlaWdodCkpKTsKKwogICAgIC8vIFdpZGdldHMgc29tZXRpbWVzIG5lZWQgdG8gZHJh
dyBvdXRzaWRlIHRoZWlyIGJvdW5kYXJpZXMgZm9yIHRoaW5ncyBzdWNoIGFzCiAgICAgLy8gZXh0
ZXJpb3IgZm9jdXMuIFdlIHdhbnQgdG8gYWxsb2NhdGUgYSBzb21lIGV4dHJhIHBpeGVscyBpbiBv
dXIgc3VyZmFjZSBmb3IgdGhpcy4KLSAgICBtX2V4dHJhU3BhY2UgPSBJbnRTaXplKDE1LCAxNSk7
CisgICAgc3RhdGljIGludCBleHRyYVNwYWNlID0gMTU7CisgICAgbV90YXJnZXRSZWN0LmluZmxh
dGUoZXh0cmFTcGFjZSk7CiAKLSAgICAvLyBPZmZzZXQgdGhlIHRhcmdldCByZWN0YW5nbGUgc28g
dGhhdCB0aGUgZXh0cmEgc3BhY2UgaXMgd2l0aGluIHRoZSBib3VuZGFyaWVzIG9mIHRoZSBzY3Jh
dGNoIGJ1ZmZlci4KLSAgICBtX3BhaW50UmVjdCA9IEludFJlY3QoSW50UG9pbnQobV9leHRyYVNw
YWNlLndpZHRoKCksIG1fZXh0cmFTcGFjZS5oZWlnaHQoKSksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fdGFyZ2V0UmVjdC5zaXplKCkpOworICAgIC8vIFRoaXMgb2Zmc2V0
IHdpbGwgbWFwIGEgcG9pbnQgaW4gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG9mIHRoZSB3aWRnZXQg
dG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG9mIHRoZSBwYWludGluZyBidWZmZXIuCisgICAgbV9w
YWludE9mZnNldCA9IHRhcmdldFJlY3QubG9jYXRpb24oKSAtIG1fdGFyZ2V0UmVjdC5sb2NhdGlv
bigpOwogCi0gICAgaW50IHdpZHRoID0gbV90YXJnZXRSZWN0LndpZHRoKCkgKyAobV9leHRyYVNw
YWNlLndpZHRoKCkgKiAyKTsKLSAgICBpbnQgaGVpZ2h0ID0gbV90YXJnZXRSZWN0LmhlaWdodCgp
ICsgKG1fZXh0cmFTcGFjZS5oZWlnaHQoKSAqIDIpOworICAgIGludCB3aWR0aCA9IG1fdGFyZ2V0
UmVjdC53aWR0aCgpICsgKGV4dHJhU3BhY2UgKiAyKTsKKyAgICBpbnQgaGVpZ2h0ID0gbV90YXJn
ZXRSZWN0LmhlaWdodCgpICsgKGV4dHJhU3BhY2UgKiAyKTsKICAgICBpbnQgc2NyYXRjaFdpZHRo
ID0gMDsKICAgICBpbnQgc2NyYXRjaEhlaWdodCA9IDA7CiAgICAgaWYgKGdTY3JhdGNoQnVmZmVy
KQpAQCAtMTMyLDg4ICsxMzcsMTAwIEBAIFdpZGdldFJlbmRlcmluZ0NvbnRleHQ6On5XaWRnZXRS
ZW5kZXJpbmdDb250ZXh0KCkKICAgICBjYWlyb190KiBjYWlyb0NvbnRleHQgPSBtX2dyYXBoaWNz
Q29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmNyKCk7CiAgICAgUmVmUHRyPGNhaXJvX3BhdHRl
cm5fdD4gcHJldmlvdXNTb3VyY2UoY2Fpcm9fZ2V0X3NvdXJjZShjYWlyb0NvbnRleHQpKTsKIAot
ICAgIC8vIFRoZSBibGl0IHJlY3RhbmdsZSBpcyB0aGUgb3JpZ2luYWwgdGFyZ2V0IHJlY3Rhbmds
ZSBhZGp1c3RlZCBmb3IgYW55IGV4dHJhIHNwYWNlLgotICAgIEludFJlY3QgZnVsbFRhcmdldFJl
Y3QobV90YXJnZXRSZWN0KTsKLSAgICBmdWxsVGFyZ2V0UmVjdC5pbmZsYXRlWChtX2V4dHJhU3Bh
Y2Uud2lkdGgoKSk7Ci0gICAgZnVsbFRhcmdldFJlY3QuaW5mbGF0ZVkobV9leHRyYVNwYWNlLmhl
aWdodCgpKTsKLQotICAgIGdka19jYWlyb19zZXRfc291cmNlX3BpeG1hcChjYWlyb0NvbnRleHQs
IGdTY3JhdGNoQnVmZmVyLCBmdWxsVGFyZ2V0UmVjdC54KCksIGZ1bGxUYXJnZXRSZWN0LnkoKSk7
Ci0gICAgY2Fpcm9fcmVjdGFuZ2xlKGNhaXJvQ29udGV4dCwgZnVsbFRhcmdldFJlY3QueCgpLCBm
dWxsVGFyZ2V0UmVjdC55KCksIGZ1bGxUYXJnZXRSZWN0LndpZHRoKCksIGZ1bGxUYXJnZXRSZWN0
LmhlaWdodCgpKTsKKyAgICBnZGtfY2Fpcm9fc2V0X3NvdXJjZV9waXhtYXAoY2Fpcm9Db250ZXh0
LCBnU2NyYXRjaEJ1ZmZlciwgbV90YXJnZXRSZWN0LngoKSwgbV90YXJnZXRSZWN0LnkoKSk7Cisg
ICAgY2Fpcm9fcmVjdGFuZ2xlKGNhaXJvQ29udGV4dCwgbV90YXJnZXRSZWN0LngoKSwgbV90YXJn
ZXRSZWN0LnkoKSwgbV90YXJnZXRSZWN0LndpZHRoKCksIG1fdGFyZ2V0UmVjdC5oZWlnaHQoKSk7
CiAgICAgY2Fpcm9fZmlsbChjYWlyb0NvbnRleHQpOwogICAgIGNhaXJvX3NldF9zb3VyY2UoY2Fp
cm9Db250ZXh0LCBwcmV2aW91c1NvdXJjZS5nZXQoKSk7CiAgICAgc2NoZWR1bGVTY3JhdGNoQnVm
ZmVyUHVyZ2UoKTsKIH0KIAordm9pZCBXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpjYWxjdWxhdGVD
bGlwUmVjdChjb25zdCBJbnRSZWN0JiByZWN0LCBHZGtSZWN0YW5nbGUqIGNsaXBSZWN0KQorewor
ICAgIGNsaXBSZWN0LT54ID0gbV9wYWludE9mZnNldC53aWR0aCgpICsgcmVjdC54KCk7CisgICAg
Y2xpcFJlY3QtPnkgPSBtX3BhaW50T2Zmc2V0LmhlaWdodCgpICsgcmVjdC55KCk7CisgICAgY2xp
cFJlY3QtPndpZHRoID0gbV90YXJnZXRSZWN0LndpZHRoKCk7CisgICAgY2xpcFJlY3QtPmhlaWdo
dCA9IG1fdGFyZ2V0UmVjdC5oZWlnaHQoKTsKK30KKwogdm9pZCBXaWRnZXRSZW5kZXJpbmdDb250
ZXh0OjpndGtQYWludEJveChjb25zdCBJbnRSZWN0JiByZWN0LCBHdGtXaWRnZXQqIHdpZGdldCwg
R3RrU3RhdGVUeXBlIHN0YXRlVHlwZSwgR3RrU2hhZG93VHlwZSBzaGFkb3dUeXBlLCBjb25zdCBn
Y2hhciogZGV0YWlsKQogewotICAgIEdka1JlY3RhbmdsZSBwYWludFJlY3QgPSB7IG1fcGFpbnRS
ZWN0LnggKyByZWN0LngoKSwgbV9wYWludFJlY3QueSArIHJlY3QueSgpLCByZWN0LndpZHRoKCks
IHJlY3QuaGVpZ2h0KCkgfTsKKyAgICBHZGtSZWN0YW5nbGUgY2xpcFJlY3Q7CisgICAgY2FsY3Vs
YXRlQ2xpcFJlY3QocmVjdCwgJmNsaXBSZWN0KTsKIAogICAgIC8vIFNvbWUgd2lkZ2V0cyBhbHNv
IG5lZWQgdGhlaXIgYWxsb2NhdGlvbiBhZGp1c3RlZCB0byBhY2NvdW50IGZvciBleHRyYSBzcGFj
ZS4KICAgICAvLyBSaWdodCBub3cgb25seSBzY3JvbGxiYXIgYnV0dG9ucyBoYXZlIHNpZ25pZmlj
YW50IGFsbG9jYXRpb25zLgogICAgIEd0a0FsbG9jYXRpb24gYWxsb2NhdGlvbjsKICAgICBndGtf
d2lkZ2V0X2dldF9hbGxvY2F0aW9uKHdpZGdldCwgJmFsbG9jYXRpb24pOwotICAgIGFsbG9jYXRp
b24ueCArPSBtX3BhaW50UmVjdC54OwotICAgIGFsbG9jYXRpb24ueSArPSBtX3BhaW50UmVjdC55
OworICAgIGFsbG9jYXRpb24ueCArPSBjbGlwUmVjdC54OworICAgIGFsbG9jYXRpb24ueSArPSBj
bGlwUmVjdC55OwogICAgIGd0a193aWRnZXRfc2V0X2FsbG9jYXRpb24od2lkZ2V0LCAmYWxsb2Nh
dGlvbik7CiAKLSAgICBndGtfcGFpbnRfYm94KGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCks
IG1fdGFyZ2V0LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZwYWludFJlY3QsCi0gICAgICAgICAg
ICAgICAgICB3aWRnZXQsIGRldGFpbCwgcGFpbnRSZWN0LngsIHBhaW50UmVjdC55LCBwYWludFJl
Y3Qud2lkdGgsIHBhaW50UmVjdC5oZWlnaHQpOworICAgIGd0a19wYWludF9ib3goZ3RrX3dpZGdl
dF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJnZXQsIHN0YXRlVHlwZSwgc2hhZG93VHlwZSwgJmNs
aXBSZWN0LAorICAgICAgICAgICAgICAgICAgd2lkZ2V0LCBkZXRhaWwsIGNsaXBSZWN0LngsIGNs
aXBSZWN0LnksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgV2lkZ2V0
UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRGbGF0Qm94KGNvbnN0IEludFJlY3QmIHJlY3QsIEd0
a1dpZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVUeXBlLCBHdGtTaGFkb3dUeXBlIHNo
YWRvd1R5cGUsIGNvbnN0IGdjaGFyKiBkZXRhaWwpCiB7Ci0gICAgR2RrUmVjdGFuZ2xlIHBhaW50
UmVjdCA9IHsgbV9wYWludFJlY3QueCArIHJlY3QueCgpLCBtX3BhaW50UmVjdC55ICsgcmVjdC55
KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSB9OwotICAgIGd0a19wYWludF9mbGF0X2Jv
eChndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFk
b3dUeXBlLCAmcGFpbnRSZWN0LAotICAgICAgICAgICAgICAgICAgICAgICB3aWRnZXQsIGRldGFp
bCwgcGFpbnRSZWN0LngsIHBhaW50UmVjdC55LCBwYWludFJlY3Qud2lkdGgsIHBhaW50UmVjdC5o
ZWlnaHQpOworICAgIEdka1JlY3RhbmdsZSBjbGlwUmVjdDsKKyAgICBjYWxjdWxhdGVDbGlwUmVj
dChyZWN0LCAmY2xpcFJlY3QpOworICAgIGd0a19wYWludF9mbGF0X2JveChndGtfd2lkZ2V0X2dl
dF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dUeXBlLCAmY2xpcFJl
Y3QsCisgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldCwgZGV0YWlsLCBjbGlwUmVjdC54LCBj
bGlwUmVjdC55LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpOwogfQogCiB2b2lkIFdpZGdl
dFJlbmRlcmluZ0NvbnRleHQ6Omd0a1BhaW50Rm9jdXMoY29uc3QgSW50UmVjdCYgcmVjdCwgR3Rr
V2lkZ2V0KiB3aWRnZXQsIEd0a1N0YXRlVHlwZSBzdGF0ZVR5cGUsIGNvbnN0IGdjaGFyKiBkZXRh
aWwpCiB7Ci0gICAgR2RrUmVjdGFuZ2xlIHBhaW50UmVjdCA9IHsgbV9wYWludFJlY3QueCArIHJl
Y3QueCgpLCBtX3BhaW50UmVjdC55ICsgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWln
aHQoKSB9OwotICAgIGd0a19wYWludF9mb2N1cyhndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQp
LCBtX3RhcmdldCwgc3RhdGVUeXBlLCAmcGFpbnRSZWN0LCB3aWRnZXQsCi0gICAgICAgICAgICAg
ICAgICAgIGRldGFpbCwgcGFpbnRSZWN0LngsIHBhaW50UmVjdC55LCBwYWludFJlY3Qud2lkdGgs
IHBhaW50UmVjdC5oZWlnaHQpOworICAgIEdka1JlY3RhbmdsZSBjbGlwUmVjdDsKKyAgICBjYWxj
dWxhdGVDbGlwUmVjdChyZWN0LCAmY2xpcFJlY3QpOworICAgIGd0a19wYWludF9mb2N1cyhndGtf
d2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCAmY2xpcFJlY3Qs
IHdpZGdldCwKKyAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBjbGlwUmVjdC54LCBjbGlwUmVj
dC55LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpOwogfQogCiB2b2lkIFdpZGdldFJlbmRl
cmluZ0NvbnRleHQ6Omd0a1BhaW50U2xpZGVyKGNvbnN0IEludFJlY3QmIHJlY3QsIEd0a1dpZGdl
dCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVUeXBlLCBHdGtTaGFkb3dUeXBlIHNoYWRvd1R5
cGUsIGNvbnN0IGdjaGFyKiBkZXRhaWwsIEd0a09yaWVudGF0aW9uIG9yaWVudGF0aW9uKQogewot
ICAgIEdka1JlY3RhbmdsZSBwYWludFJlY3QgPSB7IG1fcGFpbnRSZWN0LnggKyByZWN0LngoKSwg
bV9wYWludFJlY3QueSArIHJlY3QueSgpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkgfTsK
LSAgICBndGtfcGFpbnRfc2xpZGVyKGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCksIG1fdGFy
Z2V0LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZtX3BhaW50UmVjdCwgd2lkZ2V0LAotICAgICAg
ICAgICAgICAgICAgICAgZGV0YWlsLCBwYWludFJlY3QueCwgcGFpbnRSZWN0LnksIHBhaW50UmVj
dC53aWR0aCwgcGFpbnRSZWN0LmhlaWdodCwgb3JpZW50YXRpb24pOworICAgIEdka1JlY3Rhbmds
ZSBjbGlwUmVjdDsKKyAgICBjYWxjdWxhdGVDbGlwUmVjdChyZWN0LCAmY2xpcFJlY3QpOworICAg
IGd0a19wYWludF9zbGlkZXIoZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJnZXQs
IHN0YXRlVHlwZSwgc2hhZG93VHlwZSwgJmNsaXBSZWN0LCB3aWRnZXQsCisgICAgICAgICAgICAg
ICAgICAgICBkZXRhaWwsIGNsaXBSZWN0LngsIGNsaXBSZWN0LnksIHJlY3Qud2lkdGgoKSwgcmVj
dC5oZWlnaHQoKSwgb3JpZW50YXRpb24pOwogfQogCiB2b2lkIFdpZGdldFJlbmRlcmluZ0NvbnRl
eHQ6Omd0a1BhaW50Q2hlY2soY29uc3QgSW50UmVjdCYgcmVjdCwgR3RrV2lkZ2V0KiB3aWRnZXQs
IEd0a1N0YXRlVHlwZSBzdGF0ZVR5cGUsIEd0a1NoYWRvd1R5cGUgc2hhZG93VHlwZSwgY29uc3Qg
Z2NoYXIqIGRldGFpbCkKIHsKLSAgICBHZGtSZWN0YW5nbGUgcGFpbnRSZWN0ID0geyBtX3BhaW50
UmVjdC54ICsgcmVjdC54KCksIG1fcGFpbnRSZWN0LnkgKyByZWN0LnkoKSwgcmVjdC53aWR0aCgp
LCByZWN0LmhlaWdodCgpIH07Ci0gICAgZ3RrX3BhaW50X2NoZWNrKGd0a193aWRnZXRfZ2V0X3N0
eWxlKHdpZGdldCksIG1fdGFyZ2V0LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZwYWludFJlY3Qs
IHdpZGdldCwKLSAgICAgICAgICAgICAgICAgICAgZGV0YWlsLCBwYWludFJlY3QueCwgcGFpbnRS
ZWN0LnksIHBhaW50UmVjdC53aWR0aCwgcGFpbnRSZWN0LmhlaWdodCk7CisgICAgR2RrUmVjdGFu
Z2xlIGNsaXBSZWN0OworICAgIGNhbGN1bGF0ZUNsaXBSZWN0KHJlY3QsICZjbGlwUmVjdCk7Cisg
ICAgZ3RrX3BhaW50X2NoZWNrKGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCksIG1fdGFyZ2V0
LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZjbGlwUmVjdCwgd2lkZ2V0LAorICAgICAgICAgICAg
ICAgICAgICBkZXRhaWwsIGNsaXBSZWN0LngsIGNsaXBSZWN0LnksIHJlY3Qud2lkdGgoKSwgcmVj
dC5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgV2lkZ2V0UmVuZGVyaW5nQ29udGV4dDo6Z3RrUGFpbnRP
cHRpb24oY29uc3QgSW50UmVjdCYgcmVjdCwgR3RrV2lkZ2V0KiB3aWRnZXQsIEd0a1N0YXRlVHlw
ZSBzdGF0ZVR5cGUsIEd0a1NoYWRvd1R5cGUgc2hhZG93VHlwZSwgY29uc3QgZ2NoYXIqIGRldGFp
bCkKIHsKLSAgICBHZGtSZWN0YW5nbGUgcGFpbnRSZWN0ID0geyBtX3BhaW50UmVjdC54ICsgcmVj
dC54KCksIG1fcGFpbnRSZWN0LnkgKyByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdo
dCgpIH07Ci0gICAgZ3RrX3BhaW50X29wdGlvbihndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQp
LCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFkb3dUeXBlLCAmcGFpbnRSZWN0LCB3aWRnZXQsCi0g
ICAgICAgICAgICAgICAgICAgICBkZXRhaWwsIHBhaW50UmVjdC54LCBwYWludFJlY3QueSwgcGFp
bnRSZWN0LndpZHRoLCBwYWludFJlY3QuaGVpZ2h0KTsKKyAgICBHZGtSZWN0YW5nbGUgY2xpcFJl
Y3Q7CisgICAgY2FsY3VsYXRlQ2xpcFJlY3QocmVjdCwgJmNsaXBSZWN0KTsKKyAgICBndGtfcGFp
bnRfb3B0aW9uKGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdldCksIG1fdGFyZ2V0LCBzdGF0ZVR5
cGUsIHNoYWRvd1R5cGUsICZjbGlwUmVjdCwgd2lkZ2V0LAorICAgICAgICAgICAgICAgICAgICAg
ZGV0YWlsLCBjbGlwUmVjdC54LCBjbGlwUmVjdC55LCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0
KCkpOwogfQogCiB2b2lkIFdpZGdldFJlbmRlcmluZ0NvbnRleHQ6Omd0a1BhaW50U2hhZG93KGNv
bnN0IEludFJlY3QmIHJlY3QsIEd0a1dpZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVU
eXBlLCBHdGtTaGFkb3dUeXBlIHNoYWRvd1R5cGUsIGNvbnN0IGdjaGFyKiBkZXRhaWwpCiB7Ci0g
ICAgR2RrUmVjdGFuZ2xlIHBhaW50UmVjdCA9IHsgbV9wYWludFJlY3QueCArIHJlY3QueCgpLCBt
X3BhaW50UmVjdC55ICsgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSB9Owot
ICAgIGd0a19wYWludF9zaGFkb3coZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJn
ZXQsIHN0YXRlVHlwZSwgc2hhZG93VHlwZSwgJnBhaW50UmVjdCwgd2lkZ2V0LAotICAgICAgICAg
ICAgICAgICAgICAgZGV0YWlsLCBwYWludFJlY3QueCwgcGFpbnRSZWN0LnksIHBhaW50UmVjdC53
aWR0aCwgcGFpbnRSZWN0LmhlaWdodCk7CisgICAgR2RrUmVjdGFuZ2xlIGNsaXBSZWN0OworICAg
IGNhbGN1bGF0ZUNsaXBSZWN0KHJlY3QsICZjbGlwUmVjdCk7CisgICAgZ3RrX3BhaW50X3NoYWRv
dyhndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFk
b3dUeXBlLCAmY2xpcFJlY3QsIHdpZGdldCwKKyAgICAgICAgICAgICAgICAgICAgIGRldGFpbCwg
Y2xpcFJlY3QueCwgY2xpcFJlY3QueSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKIH0K
IAogdm9pZCBXaWRnZXRSZW5kZXJpbmdDb250ZXh0OjpndGtQYWludEFycm93KGNvbnN0IEludFJl
Y3QmIHJlY3QsIEd0a1dpZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVUeXBlLCBHdGtT
aGFkb3dUeXBlIHNoYWRvd1R5cGUsIGludCBhcnJvd0RpcmVjdGlvbiwgY29uc3QgZ2NoYXIqIGRl
dGFpbCkKIHsKLSAgICBHZGtSZWN0YW5nbGUgcGFpbnRSZWN0ID0geyBtX3BhaW50UmVjdC54ICsg
cmVjdC54KCksIG1fcGFpbnRSZWN0LnkgKyByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0Lmhl
aWdodCgpIH07Ci0gICAgZ3RrX3BhaW50X2Fycm93KGd0a193aWRnZXRfZ2V0X3N0eWxlKHdpZGdl
dCksIG1fdGFyZ2V0LCBzdGF0ZVR5cGUsIHNoYWRvd1R5cGUsICZwYWludFJlY3QsIHdpZGdldCwg
ZGV0YWlsLAotICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxHdGtBcnJvd1R5cGU+KGFy
cm93RGlyZWN0aW9uKSwgVFJVRSwgcGFpbnRSZWN0LngsIHBhaW50UmVjdC55LCBwYWludFJlY3Qu
d2lkdGgsIHBhaW50UmVjdC5oZWlnaHQpOworICAgIEdka1JlY3RhbmdsZSBjbGlwUmVjdDsKKyAg
ICBjYWxjdWxhdGVDbGlwUmVjdChyZWN0LCAmY2xpcFJlY3QpOworICAgIGd0a19wYWludF9hcnJv
dyhndGtfd2lkZ2V0X2dldF9zdHlsZSh3aWRnZXQpLCBtX3RhcmdldCwgc3RhdGVUeXBlLCBzaGFk
b3dUeXBlLCAmY2xpcFJlY3QsIHdpZGdldCwgZGV0YWlsLAorICAgICAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDxHdGtBcnJvd1R5cGU+KGFycm93RGlyZWN0aW9uKSwgVFJVRSwgY2xpcFJlY3Qu
eCwgY2xpcFJlY3QueSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKIH0KIAogdm9pZCBX
aWRnZXRSZW5kZXJpbmdDb250ZXh0OjpndGtQYWludFZMaW5lKGNvbnN0IEludFJlY3QmIHJlY3Qs
IEd0a1dpZGdldCogd2lkZ2V0LCBHdGtTdGF0ZVR5cGUgc3RhdGVUeXBlLCBjb25zdCBnY2hhciog
ZGV0YWlsKQogewotICAgIEdka1JlY3RhbmdsZSBwYWludFJlY3QgPSB7IG1fcGFpbnRSZWN0Lngg
KyByZWN0LngoKSwgbV9wYWludFJlY3QueSArIHJlY3QueSgpLCByZWN0LndpZHRoKCksIHJlY3Qu
aGVpZ2h0KCkgfTsKLSAgICBndGtfcGFpbnRfdmxpbmUoZ3RrX3dpZGdldF9nZXRfc3R5bGUod2lk
Z2V0KSwgbV90YXJnZXQsIHN0YXRlVHlwZSwgJnBhaW50UmVjdCwgd2lkZ2V0LCBkZXRhaWwsCi0g
ICAgICAgICAgICAgICAgICAgIHBhaW50UmVjdC55LCBwYWludFJlY3QueSArIHBhaW50UmVjdC5o
ZWlnaHQsIHBhaW50UmVjdC54KTsKKyAgICBHZGtSZWN0YW5nbGUgY2xpcFJlY3Q7CisgICAgY2Fs
Y3VsYXRlQ2xpcFJlY3QocmVjdCwgJmNsaXBSZWN0KTsKKyAgICBndGtfcGFpbnRfdmxpbmUoZ3Rr
X3dpZGdldF9nZXRfc3R5bGUod2lkZ2V0KSwgbV90YXJnZXQsIHN0YXRlVHlwZSwgJmNsaXBSZWN0
LCB3aWRnZXQsIGRldGFpbCwKKyAgICAgICAgICAgICAgICAgICAgY2xpcFJlY3QueSwgY2xpcFJl
Y3QueSArIHJlY3QuaGVpZ2h0KCksIGNsaXBSZWN0LngpOwogCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvV2lkZ2V0UmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDg2
MzlhOThmMWRjMmJjOWM1YjViMWRlOTNjN2JhZjcyZGFlN2RhNWIuLjMxZjJjOGE3NzFjMGUxNjcz
Mzc0OGRkNjRmNDRlY2FjMGUwY2Y5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9XaWRnZXRSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1dpZGdldFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTIsMTAgKzUyLDExIEBAIHB1
YmxpYzoKICAgICB2b2lkIGd0a1BhaW50VkxpbmUoY29uc3QgSW50UmVjdCYsIEd0a1dpZGdldCos
IEd0a1N0YXRlVHlwZSwgY29uc3QgZ2NoYXIqKTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIGNhbGN1
bGF0ZUNsaXBSZWN0KGNvbnN0IEludFJlY3QmLCBHZGtSZWN0YW5nbGUqKTsKKwogICAgIEdyYXBo
aWNzQ29udGV4dCogbV9ncmFwaGljc0NvbnRleHQ7CiAgICAgSW50UmVjdCBtX3RhcmdldFJlY3Q7
Ci0gICAgR2RrUmVjdGFuZ2xlIG1fcGFpbnRSZWN0OwotICAgIEludFNpemUgbV9leHRyYVNwYWNl
OworICAgIEludFNpemUgbV9wYWludE9mZnNldDsKICAgICBib29sIG1faGFkRXJyb3I7CiAgICAg
R2RrRHJhd2FibGUqIG1fdGFyZ2V0OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>