<?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>64112</bug_id>
          
          <creation_ts>2011-07-07 11:17:31 -0700</creation_ts>
          <short_desc>Switch pointInContainer and accumulatedOffset to to new layout types</short_desc>
          <delta_ts>2011-07-08 15:02:15 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433613</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-07-07 11:17:31 -0700</bug_when>
    <thetext>Convert the pointInContainer and accumulatedOffset arguments to new layout types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433615</commentid>
    <comment_count>1</comment_count>
      <attachid>100010</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-07-07 11:21:53 -0700</bug_when>
    <thetext>Created attachment 100010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433804</commentid>
    <comment_count>2</comment_count>
      <attachid>100010</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-07 17:21:52 -0700</bug_when>
    <thetext>Comment on attachment 100010
Patch

Rejecting attachment 100010 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-02&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
d4e53d6748c9311b12ff898f139d69f2988323c0
r90603 = b229fe49aaeab376fc6d01b96cb4ef9bd8b20473
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Updating chromium port dependencies using gclient...

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/8991758</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434304</commentid>
    <comment_count>3</comment_count>
      <attachid>100161</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-07-08 14:19:46 -0700</bug_when>
    <thetext>Created attachment 100161
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434325</commentid>
    <comment_count>4</comment_count>
      <attachid>100161</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-08 15:02:11 -0700</bug_when>
    <thetext>Comment on attachment 100161
Patch for landing

Clearing flags on attachment: 100161

Committed r90667: &lt;http://trac.webkit.org/changeset/90667&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434326</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-08 15:02:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100010</attachid>
            <date>2011-07-07 11:21:53 -0700</date>
            <delta_ts>2011-07-08 14:19:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64112-20110707112152.patch</filename>
            <type>text/plain</type>
            <size>19681</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNTgwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDctMDcgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN3aXRjaCBwb2ludEluQ29udGFp
bmVyIGFuZCBhY2N1bXVsYXRlZE9mZnNldCB0byB0byBuZXcgbGF5b3V0IHR5cGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDExMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnZlcnQgcmVtYWluaW5n
IEludFBvaW50IHZlcnNpb25zIG9mIHRoZSBwb2ludEluQ29udGFpbmVyIGFuZAorICAgICAgICBh
Y2N1bXVsYXRlZE9mZnNldCBhcmd1bWVudHMgdG8gdGhlIG5ldyBsYXlvdXQgYWJzdHJhY3Rpb24u
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBmdW5jdGlvbmFsaXR5IGNoYW5nZXMuCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
aXRUZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aXNQb2ludEluT3ZlcmZsb3dD
b250cm9sKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cHVz
aENvbnRlbnRzQ2xpcCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnBvcENvbnRlbnRz
Q2xpcCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbnRUZXh0R2VvbWV0cnkpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMaW5lQm94TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6
aGl0VGVzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpoaXRUZXN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpoaXRJbm5l
clRleHRFbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6bm9kZUF0UG9pbnQp
OgorCiAyMDExLTA3LTA3ICBLeXVzdW4gS2ltICA8bWFuaWFnb29uQGNvbXBhbnkxMDAubmV0Pgog
CiAgICAgICAgIFRoZSByZXR1cm4gdmFsdWUgb2YgU2hhcmVkQnVmZmVyOjpjcmVhdGVXaXRoQ29u
dGVudHNPZkZpbGUgbXVzdCBoYXZlIHZhbGlkIG1fc2l6ZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDkwNTc0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MDgsNyArNTA4LDcgQEAgYm9vbCBIaXRUZXN0UmVzdWx0Ojppc0NvbnRlbnRFZGl0YWJsZSgpIAog
ICAgIHJldHVybiBtX2lubmVyTm9uU2hhcmVkTm9kZS0+cmVuZGVyZXJJc0VkaXRhYmxlKCk7CiB9
CiAKLWJvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2Rl
KiBub2RlLCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgSW50UmVjdCYg
cmVjdCkKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChO
b2RlKiBub2RlLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgSW50
UmVjdCYgcmVjdCkKIHsKICAgICAvLyBJZiBpdCBpcyBub3QgYSByZWN0LWJhc2VkIGhpdCB0ZXN0
LCB0aGlzIG1ldGhvZCBoYXMgdG8gYmUgbm8tb3AuCiAgICAgLy8gUmV0dXJuIGZhbHNlLCBzbyB0
aGUgaGl0IHRlc3Qgc3RvcHMuCkBAIC01MzksNyArNTM5LDcgQEAgYm9vbCBIaXRUZXN0UmVzdWx0
OjphZGROb2RlVG9SZWN0QmFzZWRUZQogICAgIHJldHVybiAhcmVjdC5jb250YWlucyhyZWN0Rm9y
UG9pbnQocG9pbnRJbkNvbnRhaW5lcikpOwogfQogCi1ib29sIEhpdFRlc3RSZXN1bHQ6OmFkZE5v
ZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSogbm9kZSwgY29uc3QgSW50UG9pbnQmIHBvaW50
SW5Db250YWluZXIsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6
YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiBub2RlLCBjb25zdCBMYXlvdXRQb2lu
dCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogICAgIC8vIElm
IGl0IGlzIG5vdCBhIHJlY3QtYmFzZWQgaGl0IHRlc3QsIHRoaXMgbWV0aG9kIGhhcyB0byBiZSBu
by1vcC4KICAgICAvLyBSZXR1cm4gZmFsc2UsIHNvIHRoZSBoaXQgdGVzdCBzdG9wcy4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gOTA1NzQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJ
bnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2luY2x1ZGUgIkxheW91dFR5cGVzLmgi
CiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CkBAIC0xMTIsOCArMTEzLDggQEAgcHVibGljOgog
CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGlzIHJlY3QtYmFzZWQgaGl0IHRlc3QgYW5kIG5l
ZWRzIHRvIGNvbnRpbnVlIHVudGlsIHRoZSByZWN0IGlzIGZ1bGx5CiAgICAgLy8gZW5jbG9zZWQg
YnkgdGhlIGJvdW5kYXJpZXMgb2YgYSBub2RlLgotICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2Vk
VGVzdFJlc3VsdChOb2RlKiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0
IEludFJlY3QmID0gSW50UmVjdCgpKTsKLSAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RS
ZXN1bHQoTm9kZSosIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBGbG9h
dFJlY3QmKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGNv
bnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRSZWN0JiA9IEludFJl
Y3QoKSk7CisgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBjb25z
dCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAg
dm9pZCBhcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogCiAgICAgLy8gSWYgbV9yZWN0QmFz
ZWRUZXN0UmVzdWx0IGlzIDAgdGhlbiBzZXQgaXQgdG8gYSBuZXcgTm9kZVNldC4gUmV0dXJuICpt
X3JlY3RCYXNlZFRlc3RSZXN1bHQuIExhenkgYWxsb2NhdGlvbiBtYWtlcwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA5MDU3NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM5MzYsNyArMzkzNiw3IEBAIGludCBSZW5kZXJCbG9jazo6Z2V0Q2xlYXJEZWx0YShSZW5kZXJC
b3gKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIFJlbmRlckJsb2NrOjppc1BvaW50SW5P
dmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBJbnRQb2ludCYgcG9p
bnRJbkNvbnRhaW5lciwgY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KQorYm9vbCBS
ZW5kZXJCbG9jazo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKEhpdFRlc3RSZXN1bHQmIHJlc3Vs
dCwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50
JiBhY2N1bXVsYXRlZE9mZnNldCkKIHsKICAgICBpZiAoIXNjcm9sbHNPdmVyZmxvdygpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaAkocmV2aXNpb24gOTA1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNTk2LDcgKzU5Niw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGhpdFRlc3RDb250ZW50cyhjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRl
c3RSZXN1bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKTsKICAgICBib29sIGhp
dFRlc3RGbG9hdHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3Qg
TGF5b3V0UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVs
YXRlZE9mZnNldCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNQb2ludEluT3ZlcmZsb3dDb250cm9s
KEhpdFRlc3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3Qg
SW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNQb2ludElu
T3ZlcmZsb3dDb250cm9sKEhpdFRlc3RSZXN1bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJ
bkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAogICAg
IHZvaWQgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKICAgICB2b2lkIGNv
bXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA5MDU3NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAyLDcgKzExMDIs
NyBAQCB2b2lkIFJlbmRlckJveDo6cGFpbnRDdXN0b21IaWdobGlnaHQoY29uCiAKICNlbmRpZgog
Ci1ib29sIFJlbmRlckJveDo6cHVzaENvbnRlbnRzQ2xpcChQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KQorYm9vbCBSZW5kZXJCb3g6OnB1c2hD
b250ZW50c0NsaXAoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBhY2N1
bXVsYXRlZE9mZnNldCkKIHsKICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VC
bG9ja0JhY2tncm91bmQgfHwgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VTZWxmT3V0bGlu
ZSB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTExMjgsNyArMTEyOCw3IEBAIGJvb2wgUmVuZGVyQm94OjpwdXNoQ29udGVudHND
bGlwKFBhaW50SW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OnBvcENv
bnRlbnRzQ2xpcChQYWludEluZm8mIHBhaW50SW5mbywgUGFpbnRQaGFzZSBvcmlnaW5hbFBoYXNl
LCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpCit2b2lkIFJlbmRlckJveDo6cG9w
Q29udGVudHNDbGlwKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBQYWludFBoYXNlIG9yaWdpbmFsUGhh
c2UsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkKIHsKICAgICBBU1NFUlQo
aGFzQ29udHJvbENsaXAoKSB8fCAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWxheWVyKCktPmlzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5oCShyZXZpc2lvbiA5MDU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDcgKzIyNyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQmVmb3JlKCkgY29uc3QgeyByZXR1cm4gbWFy
Z2luQmVmb3JlKCk7IH0KICAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQWZ0
ZXIoKSBjb25zdCB7IHJldHVybiBtYXJnaW5BZnRlcigpOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQg
YWJzb2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQpOworICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0
PiYsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAgICAgdmlydHVhbCB2
b2lkIGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mKTsKICAgICAKICAgICBJbnRSZWN0
IHJlZmxlY3Rpb25Cb3goKSBjb25zdDsKQEAgLTM0Niw4ICszNDYsOCBAQCBwdWJsaWM6CiAgICAg
SW50UmVjdCBjbGlwUmVjdChjb25zdCBJbnRQb2ludCYgbG9jYXRpb24pOwogICAgIHZpcnR1YWwg
Ym9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCBJbnRSZWN0IGNvbnRyb2xDbGlwUmVjdChjb25zdCBJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJu
IEludFJlY3QoKTsgfQotICAgIGJvb2wgcHVzaENvbnRlbnRzQ2xpcChQYWludEluZm8mLCBjb25z
dCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOwotICAgIHZvaWQgcG9wQ29udGVudHNDbGlw
KFBhaW50SW5mbyYsIFBhaW50UGhhc2Ugb3JpZ2luYWxQaGFzZSwgY29uc3QgSW50UG9pbnQmIGFj
Y3VtdWxhdGVkT2Zmc2V0KTsKKyAgICBib29sIHB1c2hDb250ZW50c0NsaXAoUGFpbnRJbmZvJiwg
Y29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKKyAgICB2b2lkIHBvcENvbnRl
bnRzQ2xpcChQYWludEluZm8mLCBQYWludFBoYXNlIG9yaWdpbmFsUGhhc2UsIGNvbnN0IExheW91
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmpl
Y3QoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9CiAgICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZvJiwgY29u
c3QgTGF5b3V0UG9pbnQmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gOTA1NzQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xODAsNyArMTgwLDcgQEAgdm9pZCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNl
ZAogICAgIGNvbnRleHQtPmRyYXdCaWRpVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQobGFiZWxY
LCBsYWJlbFkpKTsKIH0KIAotYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1l
bnRUZXh0R2VvbWV0cnkoY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBGbG9hdFJl
Y3QmIGNvbnRlbnRSZWN0LCBQYXRoJiBwYXRoLCBGbG9hdFJlY3QmIHJlcGxhY2VtZW50VGV4dFJl
Y3QsIEZvbnQmIGZvbnQsIFRleHRSdW4mIHJ1biwgZmxvYXQmIHRleHRXaWR0aCkKK2Jvb2wgUmVu
ZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KGNvbnN0IExheW91
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgRmxvYXRSZWN0JiBjb250ZW50UmVjdCwgUGF0aCYg
cGF0aCwgRmxvYXRSZWN0JiByZXBsYWNlbWVudFRleHRSZWN0LCBGb250JiBmb250LCBUZXh0UnVu
JiBydW4sIGZsb2F0JiB0ZXh0V2lkdGgpCiB7CiAgICAgY29udGVudFJlY3QgPSBjb250ZW50Qm94
UmVjdCgpOwogICAgIGNvbnRlbnRSZWN0Lm1vdmVCeShhY2N1bXVsYXRlZE9mZnNldCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaAko
cmV2aXNpb24gOTA1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRk
ZWRPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogICAg
IAogICAgIHZvaWQgc2V0TWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZChib29sKTsKICAg
ICBib29sIGlzSW5NaXNzaW5nUGx1Z2luSW5kaWNhdG9yKE1vdXNlRXZlbnQqKTsKLSAgICBib29s
IGdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KGNvbnN0IEludFBvaW50JiBhY2N1bXVsYXRlZE9m
ZnNldCwgRmxvYXRSZWN0JiBjb250ZW50UmVjdCwgUGF0aCYsIEZsb2F0UmVjdCYgcmVwbGFjZW1l
bnRUZXh0UmVjdCwgRm9udCYsIFRleHRSdW4mLCBmbG9hdCYgdGV4dFdpZHRoKTsKKyAgICBib29s
IGdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCwgRmxvYXRSZWN0JiBjb250ZW50UmVjdCwgUGF0aCYsIEZsb2F0UmVjdCYgcmVwbGFj
ZW1lbnRUZXh0UmVjdCwgRm9udCYsIFRleHRSdW4mLCBmbG9hdCYgdGV4dFdpZHRoKTsKIAogICAg
IFN0cmluZyBtX3JlcGxhY2VtZW50VGV4dDsKICAgICBib29sIG1faGFzRmFsbGJhY2tDb250ZW50
OyAvLyBGSVhNRTogVGhpcyBiZWxvbmdzIG9uIEhUTUxPYmplY3RFbGVtZW50LgpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCShyZXZpc2lv
biA5MDU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NCw3ICsyNzQsNyBAQCB2b2lkIFJlbmRlckxpbmVCb3hM
aXN0OjpwYWludChSZW5kZXJCb3hNCiB9CiAKIAotYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6aGl0
VGVzdChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVuZGVyZXIsIGNvbnN0IEhpdFRlc3RSZXF1ZXN0
JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludElu
Q29udGFpbmVyLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rp
b24gaGl0VGVzdEFjdGlvbikgY29uc3QKK2Jvb2wgUmVuZGVyTGluZUJveExpc3Q6OmhpdFRlc3Qo
UmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVx
dWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNv
bnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0
aW9uIGhpdFRlc3RBY3Rpb24pIGNvbnN0CiB7CiAgICAgaWYgKGhpdFRlc3RBY3Rpb24gIT0gSGl0
VGVzdEZvcmVncm91bmQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTI4NSw3ICsyODUsNyBA
QCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0KFJlbmRlckJvCiAgICAgaWYgKCFmaXJz
dExpbmVCb3goKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSW50UmVjdCByZWN0ID0g
Zmlyc3RMaW5lQm94KCktPmlzSG9yaXpvbnRhbCgpID8KKyAgICBMYXlvdXRSZWN0IHJlY3QgPSBm
aXJzdExpbmVCb3goKS0+aXNIb3Jpem9udGFsKCkgPwogICAgICAgICBJbnRSZWN0KHBvaW50SW5D
b250YWluZXIueCgpLCBwb2ludEluQ29udGFpbmVyLnkoKSAtIHJlc3VsdC50b3BQYWRkaW5nKCks
IDEsIHJlc3VsdC50b3BQYWRkaW5nKCkgKyByZXN1bHQuYm90dG9tUGFkZGluZygpICsgMSkgOgog
ICAgICAgICBJbnRSZWN0KHBvaW50SW5Db250YWluZXIueCgpIC0gcmVzdWx0LmxlZnRQYWRkaW5n
KCksIHBvaW50SW5Db250YWluZXIueSgpLCByZXN1bHQucmlnaHRQYWRkaW5nKCkgKyByZXN1bHQu
bGVmdFBhZGRpbmcoKSArIDEsIDEpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGluZUJveExpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGluZUJveExpc3QuaAkocmV2aXNpb24gOTA1NzQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZChSZW5k
ZXJPYmplY3QqIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBjaGlsZCk7CiAKICAgICB2b2lkIHBhaW50
KFJlbmRlckJveE1vZGVsT2JqZWN0KiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBj
b25zdDsKLSAgICBib29sIGhpdFRlc3QoUmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRh
aW5lciwgY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBj
b25zdDsKKyAgICBib29sIGhpdFRlc3QoUmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNv
bnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0
aW9uKSBjb25zdDsKICAgICAKIHByaXZhdGU6CiAgICAgYm9vbCBhbnlMaW5lSW50ZXJzZWN0c1Jl
Y3QoUmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UG9pbnQm
LCBib29sIHVzZVByaW50UmVjdCA9IGZhbHNlLCBpbnQgb3V0bGluZVNpemUgPSAwKSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHJldmlz
aW9uIDkwNTc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MzksMTUgKzQzOSwxNSBAQCB2b2lkIFJlbmRlckxpc3RCb3g6
OnBhaW50SXRlbUJhY2tncm91bmQoCiAgICAgfQogfQogCi1ib29sIFJlbmRlckxpc3RCb3g6Omlz
UG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBv
aW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQp
Citib29sIFJlbmRlckxpc3RCb3g6OmlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVz
dWx0JiByZXN1bHQsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBM
YXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpCiB7CiAgICAgaWYgKCFtX3ZCYXIpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIEludFJlY3QgdmVydFJlY3QoYWNjdW11bGF0ZWRPZmZz
ZXQueCgpICsgd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCksCi0gICAg
ICAgICAgICAgICAgICAgICBhY2N1bXVsYXRlZE9mZnNldC55KCkgKyBib3JkZXJUb3AoKSwKLSAg
ICAgICAgICAgICAgICAgICAgIG1fdkJhci0+d2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAg
IGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7CisgICAgTGF5b3V0UmVj
dCB2ZXJ0UmVjdChhY2N1bXVsYXRlZE9mZnNldC54KCkgKyB3aWR0aCgpIC0gYm9yZGVyUmlnaHQo
KSAtIG1fdkJhci0+d2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjY3VtdWxhdGVk
T2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgbV92QmFy
LT53aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KCkgLSBib3JkZXJUb3Ao
KSAtIGJvcmRlckJvdHRvbSgpKTsKIAogICAgIGlmICh2ZXJ0UmVjdC5jb250YWlucyhwb2ludElu
Q29udGFpbmVyKSkgewogICAgICAgICByZXN1bHQuc2V0U2Nyb2xsYmFyKG1fdkJhci5nZXQoKSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgJKHJldmlzaW9u
IDkwNTc0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBw
YWludE9iamVjdChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogICAgIHZpcnR1YWwg
SW50UmVjdCBjb250cm9sQ2xpcFJlY3QoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAotICAgIHZp
cnR1YWwgYm9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRP
ZmZzZXQpOworICAgIHZpcnR1YWwgYm9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVz
dFJlc3VsdCYsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlv
dXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOwogCiAgICAgdmlydHVhbCBib29sIHNjcm9sbChT
Y3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwg
Tm9kZSoqIHN0b3BOb2RlID0gMCk7CiAgICAgdmlydHVhbCBib29sIGxvZ2ljYWxTY3JvbGwoU2Ny
b2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIg
PSAxLCBOb2RlKiogc3RvcE5vZGUgPSAwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCShyZXZpc2lvbiA5MDU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTQ1LDcgKzIxNDUs
NyBAQCB2b2lkIFJlbmRlck9iamVjdDo6dXBkYXRlRHJhZ1N0YXRlKGJvb2wgCiAgICAgICAgIGN1
cnItPnVwZGF0ZURyYWdTdGF0ZShkcmFnT24pOwogfQogCi1ib29sIFJlbmRlck9iamVjdDo6aGl0
VGVzdChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0
LCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgSW50UG9pbnQmIGFjY3Vt
dWxhdGVkT2Zmc2V0LCBIaXRUZXN0RmlsdGVyIGhpdFRlc3RGaWx0ZXIpCitib29sIFJlbmRlck9i
amVjdDo6aGl0VGVzdChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3Vs
dCYgcmVzdWx0LCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0RmlsdGVyIGhpdFRlc3RGaWx0ZXIp
CiB7CiAgICAgYm9vbCBpbnNpZGUgPSBmYWxzZTsKICAgICBpZiAoaGl0VGVzdEZpbHRlciAhPSBI
aXRUZXN0U2VsZikgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aAkocmV2aXNpb24gOTA1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0OCw3ICs1NDgsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjb2xsZWN0RGFzaGJvYXJkUmVnaW9ucyhWZWN0b3I8RGFzaGJvYXJkUmVnaW9uVmFsdWU+Jik7
CiAjZW5kaWYKIAotICAgIGJvb2wgaGl0VGVzdChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRl
c3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgSW50UG9p
bnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0RmlsdGVyID0gSGl0VGVzdEFsbCk7CisgICAg
Ym9vbCBoaXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11
bGF0ZWRPZmZzZXQsIEhpdFRlc3RGaWx0ZXIgPSBIaXRUZXN0QWxsKTsKICAgICB2aXJ0dWFsIGJv
b2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29u
c3QgTGF5b3V0UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1
bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUhp
dFRlc3RSZXN1bHQoSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50Jik7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2aXNp
b24gOTA1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsNyArNDQ0LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29u
dHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZQogICAgIFJlbmRlckJsb2NrOjpjb21wdXRlTG9naWNhbEhl
aWdodCgpOwogfQogCi12b2lkIFJlbmRlclRleHRDb250cm9sOjpoaXRJbm5lclRleHRFbGVtZW50
KEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIs
IGNvbnN0IEludFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkKK3ZvaWQgUmVuZGVyVGV4dENvbnRy
b2w6OmhpdElubmVyVGV4dEVsZW1lbnQoSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBMYXlv
dXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVk
T2Zmc2V0KQogewogICAgIEludFBvaW50IGFkanVzdGVkTG9jYXRpb24gPSBhY2N1bXVsYXRlZE9m
ZnNldCArIGxvY2F0aW9uKCk7CiAgICAgSFRNTEVsZW1lbnQqIGlubmVyVGV4dCA9IGlubmVyVGV4
dEVsZW1lbnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbC5oCShyZXZpc2lvbiA5MDU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHByb3Rl
Y3RlZDoKIAogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2Us
IGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAKLSAgICB2b2lkIGhpdElubmVyVGV4dEVs
ZW1lbnQoSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBj
b25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOworICAgIHZvaWQgaGl0SW5uZXJUZXh0
RWxlbWVudChIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50SW5Db250YWlu
ZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAgICAgdm9pZCBmb3J3
YXJkRXZlbnQoRXZlbnQqKTsKIAogICAgIGludCB0ZXh0QmxvY2tXaWR0aCgpIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZS5jcHAJKHJldmlzaW9uIDkwNTc0KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzMiw3ICszMzIsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6bGF5b3V0
CiAgICAgfQogfQogCi1ib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6bm9kZUF0UG9p
bnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwg
Y29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IEludFBvaW50JiBhY2N1bXVs
YXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQorYm9vbCBSZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmU6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1
ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29u
dGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rp
b24gaGl0VGVzdEFjdGlvbikKIHsKICAgICBpZiAoIVJlbmRlclRleHRDb250cm9sOjpub2RlQXRQ
b2ludChyZXF1ZXN0LCByZXN1bHQsIHBvaW50SW5Db250YWluZXIsIGFjY3VtdWxhdGVkT2Zmc2V0
LCBoaXRUZXN0QWN0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzQzLDEyICszNDMs
MTIgQEAgYm9vbCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6Om5vZGVBdAogICAgIC8vICAt
IHdlIGhpdCByZWdpb25zIG5vdCBpbiBhbnkgZGVjb3JhdGlvbiBidXR0b25zLgogICAgIEhUTUxF
bGVtZW50KiBjb250YWluZXIgPSBjb250YWluZXJFbGVtZW50KCk7CiAgICAgaWYgKHJlc3VsdC5p
bm5lck5vZGUoKS0+aXNEZXNjZW5kYW50T2YoaW5uZXJUZXh0RWxlbWVudCgpKSB8fCByZXN1bHQu
aW5uZXJOb2RlKCkgPT0gbm9kZSgpIHx8IChjb250YWluZXIgJiYgY29udGFpbmVyID09IHJlc3Vs
dC5pbm5lck5vZGUoKSkpIHsKLSAgICAgICAgSW50UG9pbnQgcG9pbnRJblBhcmVudCA9IHBvaW50
SW5Db250YWluZXI7CisgICAgICAgIExheW91dFBvaW50IHBvaW50SW5QYXJlbnQgPSBwb2ludElu
Q29udGFpbmVyOwogICAgICAgICBpZiAoY29udGFpbmVyICYmIGlubmVyQmxvY2tFbGVtZW50KCkp
IHsKICAgICAgICAgICAgIGlmIChpbm5lckJsb2NrRWxlbWVudCgpLT5yZW5kZXJCb3goKSkKLSAg
ICAgICAgICAgICAgICBwb2ludEluUGFyZW50IC09IHRvU2l6ZShpbm5lckJsb2NrRWxlbWVudCgp
LT5yZW5kZXJCb3goKS0+bG9jYXRpb24oKSk7CisgICAgICAgICAgICAgICAgcG9pbnRJblBhcmVu
dCAtPSB0b0xheW91dFNpemUoaW5uZXJCbG9ja0VsZW1lbnQoKS0+cmVuZGVyQm94KCktPmxvY2F0
aW9uKCkpOwogICAgICAgICAgICAgaWYgKGNvbnRhaW5lci0+cmVuZGVyQm94KCkpCi0gICAgICAg
ICAgICAgICAgcG9pbnRJblBhcmVudCAtPSB0b1NpemUoY29udGFpbmVyLT5yZW5kZXJCb3goKS0+
bG9jYXRpb24oKSk7CisgICAgICAgICAgICAgICAgcG9pbnRJblBhcmVudCAtPSB0b0xheW91dFNp
emUoY29udGFpbmVyLT5yZW5kZXJCb3goKS0+bG9jYXRpb24oKSk7CiAgICAgICAgIH0KICAgICAg
ICAgaGl0SW5uZXJUZXh0RWxlbWVudChyZXN1bHQsIHBvaW50SW5QYXJlbnQsIGFjY3VtdWxhdGVk
T2Zmc2V0KTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100161</attachid>
            <date>2011-07-08 14:19:46 -0700</date>
            <delta_ts>2011-07-08 15:02:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-64112-20110708141945.patch</filename>
            <type>text/plain</type>
            <size>17268</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNjY0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDctMDggIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN3aXRjaCBwb2ludEluQ29udGFp
bmVyIGFuZCBhY2N1bXVsYXRlZE9mZnNldCB0byB0byBuZXcgbGF5b3V0IHR5cGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDExMgorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIENvbnZlcnQgcmVtYWluaW5nIElu
dFBvaW50IHZlcnNpb25zIG9mIHRoZSBwb2ludEluQ29udGFpbmVyIGFuZAorICAgICAgICBhY2N1
bXVsYXRlZE9mZnNldCBhcmd1bWVudHMgdG8gdGhlIG5ldyBsYXlvdXQgYWJzdHJhY3Rpb24uCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBmdW5jdGlvbmFsaXR5IGNoYW5nZXMuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRU
ZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6aXNQb2ludEluT3ZlcmZsb3dDb250
cm9sKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cHVzaENv
bnRlbnRzQ2xpcCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnBvcENvbnRlbnRzQ2xp
cCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbWJl
ZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbnRUZXh0R2VvbWV0cnkpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aW5lQm94TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6aGl0
VGVzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0Lmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpoaXRUZXN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpoaXRJbm5lclRl
eHRFbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6bm9kZUF0UG9pbnQpOgor
CiAyMDExLTA3LTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IE1vdmUgc2VsZWN0aW9uIHJlbGF0ZWQgY29kZSBmcm9tIFJlbmRlclRleHRDb250cm9sIHRvIEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDkwNjY0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzkzNiw3ICszOTM2LDcgQEAg
aW50IFJlbmRlckJsb2NrOjpnZXRDbGVhckRlbHRhKFJlbmRlckJveAogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLWJvb2wgUmVuZGVyQmxvY2s6OmlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRU
ZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25z
dCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpCitib29sIFJlbmRlckJsb2NrOjppc1BvaW50
SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBMYXlvdXRQb2lu
dCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0
KQogewogICAgIGlmICghc2Nyb2xsc092ZXJmbG93KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lvbiA5MDY2
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OTYsNyArNTk2LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaGl0VGVz
dENvbnRlbnRzKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IExh
eW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pOwogICAgIGJvb2wgaGl0VGVzdEZsb2F0cyhjb25zdCBI
aXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJ
bkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAotICAg
IHZpcnR1YWwgYm9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYsIGNv
bnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQpOworICAgIHZpcnR1YWwgYm9vbCBpc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0
VGVzdFJlc3VsdCYsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBM
YXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOwogCiAgICAgdm9pZCBjb21wdXRlSW5saW5l
UHJlZmVycmVkTG9naWNhbFdpZHRocygpOwogICAgIHZvaWQgY29tcHV0ZUJsb2NrUHJlZmVycmVk
TG9naWNhbFdpZHRocygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAJKHJldmlzaW9uIDkwNjY0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMDIsNyArMTEwMiw3IEBAIHZvaWQgUmVuZGVyQm94
OjpwYWludEN1c3RvbUhpZ2hsaWdodChjb24KIAogI2VuZGlmCiAKLWJvb2wgUmVuZGVyQm94Ojpw
dXNoQ29udGVudHNDbGlwKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRQb2ludCYgYWNj
dW11bGF0ZWRPZmZzZXQpCitib29sIFJlbmRlckJveDo6cHVzaENvbnRlbnRzQ2xpcChQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KQogewog
ICAgIGlmIChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZUJsb2NrQmFja2dyb3VuZCB8fCBw
YWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZVNlbGZPdXRsaW5lIHx8IHBhaW50SW5mby5waGFz
ZSA9PSBQYWludFBoYXNlTWFzaykKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTEyOCw3ICsx
MTI4LDcgQEAgYm9vbCBSZW5kZXJCb3g6OnB1c2hDb250ZW50c0NsaXAoUGFpbnRJbgogICAgIHJl
dHVybiB0cnVlOwogfQogCi12b2lkIFJlbmRlckJveDo6cG9wQ29udGVudHNDbGlwKFBhaW50SW5m
byYgcGFpbnRJbmZvLCBQYWludFBoYXNlIG9yaWdpbmFsUGhhc2UsIGNvbnN0IEludFBvaW50JiBh
Y2N1bXVsYXRlZE9mZnNldCkKK3ZvaWQgUmVuZGVyQm94Ojpwb3BDb250ZW50c0NsaXAoUGFpbnRJ
bmZvJiBwYWludEluZm8sIFBhaW50UGhhc2Ugb3JpZ2luYWxQaGFzZSwgY29uc3QgTGF5b3V0UG9p
bnQmIGFjY3VtdWxhdGVkT2Zmc2V0KQogewogICAgIEFTU0VSVChoYXNDb250cm9sQ2xpcCgpIHx8
IChoYXNPdmVyZmxvd0NsaXAoKSAmJiAhbGF5ZXIoKS0+aXNTZWxmUGFpbnRpbmdMYXllcigpKSk7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDkwNjY0
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMjcsNyArMjI3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBjb2xs
YXBzZWRNYXJnaW5CZWZvcmUoKSBjb25zdCB7IHJldHVybiBtYXJnaW5CZWZvcmUoKTsgfQogICAg
IHZpcnR1YWwgTGF5b3V0VW5pdCBjb2xsYXBzZWRNYXJnaW5BZnRlcigpIGNvbnN0IHsgcmV0dXJu
IG1hcmdpbkFmdGVyKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVJlY3RzKFZlY3Rv
cjxJbnRSZWN0PiYsIGNvbnN0IEludFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CisgICAgdmly
dHVhbCB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0UG9p
bnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhW
ZWN0b3I8RmxvYXRRdWFkPiYpOwogICAgIAogICAgIEludFJlY3QgcmVmbGVjdGlvbkJveCgpIGNv
bnN0OwpAQCAtMzQ2LDggKzM0Niw4IEBAIHB1YmxpYzoKICAgICBJbnRSZWN0IGNsaXBSZWN0KGNv
bnN0IEludFBvaW50JiBsb2NhdGlvbik7CiAgICAgdmlydHVhbCBib29sIGhhc0NvbnRyb2xDbGlw
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIEludFJlY3QgY29udHJvbENs
aXBSZWN0KGNvbnN0IEludFBvaW50JikgY29uc3QgeyByZXR1cm4gSW50UmVjdCgpOyB9Ci0gICAg
Ym9vbCBwdXNoQ29udGVudHNDbGlwKFBhaW50SW5mbyYsIGNvbnN0IEludFBvaW50JiBhY2N1bXVs
YXRlZE9mZnNldCk7Ci0gICAgdm9pZCBwb3BDb250ZW50c0NsaXAoUGFpbnRJbmZvJiwgUGFpbnRQ
aGFzZSBvcmlnaW5hbFBoYXNlLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpOwor
ICAgIGJvb2wgcHVzaENvbnRlbnRzQ2xpcChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYg
YWNjdW11bGF0ZWRPZmZzZXQpOworICAgIHZvaWQgcG9wQ29udGVudHNDbGlwKFBhaW50SW5mbyYs
IFBhaW50UGhhc2Ugb3JpZ2luYWxQaGFzZSwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVk
T2Zmc2V0KTsKIAogICAgIHZpcnR1YWwgdm9pZCBwYWludE9iamVjdChQYWludEluZm8mLCBjb25z
dCBMYXlvdXRQb2ludCYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmpl
Y3QuY3BwCShyZXZpc2lvbiA5MDY2NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw3ICsxODAsNyBAQCB2
b2lkIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpwYWludFJlcGxhY2VkCiAgICAgY29udGV4dC0+ZHJh
d0JpZGlUZXh0KGZvbnQsIHJ1biwgRmxvYXRQb2ludChsYWJlbFgsIGxhYmVsWSkpOwogfQogCi1i
b29sIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpnZXRSZXBsYWNlbWVudFRleHRHZW9tZXRyeShjb25z
dCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEZsb2F0UmVjdCYgY29udGVudFJlY3QsIFBh
dGgmIHBhdGgsIEZsb2F0UmVjdCYgcmVwbGFjZW1lbnRUZXh0UmVjdCwgRm9udCYgZm9udCwgVGV4
dFJ1biYgcnVuLCBmbG9hdCYgdGV4dFdpZHRoKQorYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6
Z2V0UmVwbGFjZW1lbnRUZXh0R2VvbWV0cnkoY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVk
T2Zmc2V0LCBGbG9hdFJlY3QmIGNvbnRlbnRSZWN0LCBQYXRoJiBwYXRoLCBGbG9hdFJlY3QmIHJl
cGxhY2VtZW50VGV4dFJlY3QsIEZvbnQmIGZvbnQsIFRleHRSdW4mIHJ1biwgZmxvYXQmIHRleHRX
aWR0aCkKIHsKICAgICBjb250ZW50UmVjdCA9IGNvbnRlbnRCb3hSZWN0KCk7CiAgICAgY29udGVu
dFJlY3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCShyZXZpc2lvbiA5MDY2NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBzZXRNaXNz
aW5nUGx1Z2luSW5kaWNhdG9ySXNQcmVzc2VkKGJvb2wpOwogICAgIGJvb2wgaXNJbk1pc3NpbmdQ
bHVnaW5JbmRpY2F0b3IoTW91c2VFdmVudCopOwotICAgIGJvb2wgZ2V0UmVwbGFjZW1lbnRUZXh0
R2VvbWV0cnkoY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBGbG9hdFJlY3QmIGNv
bnRlbnRSZWN0LCBQYXRoJiwgRmxvYXRSZWN0JiByZXBsYWNlbWVudFRleHRSZWN0LCBGb250Jiwg
VGV4dFJ1biYsIGZsb2F0JiB0ZXh0V2lkdGgpOworICAgIGJvb2wgZ2V0UmVwbGFjZW1lbnRUZXh0
R2VvbWV0cnkoY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBGbG9hdFJlY3Qm
IGNvbnRlbnRSZWN0LCBQYXRoJiwgRmxvYXRSZWN0JiByZXBsYWNlbWVudFRleHRSZWN0LCBGb250
JiwgVGV4dFJ1biYsIGZsb2F0JiB0ZXh0V2lkdGgpOwogCiAgICAgU3RyaW5nIG1fcmVwbGFjZW1l
bnRUZXh0OwogICAgIGJvb2wgbV9oYXNGYWxsYmFja0NvbnRlbnQ7IC8vIEZJWE1FOiBUaGlzIGJl
bG9uZ3Mgb24gSFRNTE9iamVjdEVsZW1lbnQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGluZUJveExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAJKHJldmlzaW9uIDkwNjY0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjc0LDcgKzI3NCw3IEBAIHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50KFJlbmRlckJv
eE0KIH0KIAogCi1ib29sIFJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZW5kZXJlciwgY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IElu
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKSBj
b25zdAorYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6aGl0VGVzdChSZW5kZXJCb3hNb2RlbE9iamVj
dCogcmVuZGVyZXIsIGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0
JiByZXN1bHQsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlv
dXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24gaGl0VGVzdEFjdGlvbikg
Y29uc3QKIHsKICAgICBpZiAoaGl0VGVzdEFjdGlvbiAhPSBIaXRUZXN0Rm9yZWdyb3VuZCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjg1LDcgKzI4NSw3IEBAIGJvb2wgUmVuZGVyTGluZUJv
eExpc3Q6OmhpdFRlc3QoUmVuZGVyQm8KICAgICBpZiAoIWZpcnN0TGluZUJveCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBJbnRSZWN0IHJlY3QgPSBmaXJzdExpbmVCb3goKS0+aXNI
b3Jpem9udGFsKCkgPworICAgIExheW91dFJlY3QgcmVjdCA9IGZpcnN0TGluZUJveCgpLT5pc0hv
cml6b250YWwoKSA/CiAgICAgICAgIEludFJlY3QocG9pbnRJbkNvbnRhaW5lci54KCksIHBvaW50
SW5Db250YWluZXIueSgpIC0gcmVzdWx0LnRvcFBhZGRpbmcoKSwgMSwgcmVzdWx0LnRvcFBhZGRp
bmcoKSArIHJlc3VsdC5ib3R0b21QYWRkaW5nKCkgKyAxKSA6CiAgICAgICAgIEludFJlY3QocG9p
bnRJbkNvbnRhaW5lci54KCkgLSByZXN1bHQubGVmdFBhZGRpbmcoKSwgcG9pbnRJbkNvbnRhaW5l
ci55KCksIHJlc3VsdC5yaWdodFBhZGRpbmcoKSArIHJlc3VsdC5sZWZ0UGFkZGluZygpICsgMSwg
MSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlz
dC5oCShyZXZpc2lvbiA5MDY2NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aW5lQm94TGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpcnR5TGluZXNGcm9tQ2hhbmdlZENoaWxkKFJlbmRlck9iamVjdCogcGFyZW50LCBS
ZW5kZXJPYmplY3QqIGNoaWxkKTsKIAogICAgIHZvaWQgcGFpbnQoUmVuZGVyQm94TW9kZWxPYmpl
Y3QqLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0OwotICAgIGJvb2wgaGl0
VGVzdChSZW5kZXJCb3hNb2RlbE9iamVjdCosIGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVz
dFJlc3VsdCYsIGNvbnN0IEludFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRQb2lu
dCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIGNvbnN0OworICAgIGJvb2wgaGl0
VGVzdChSZW5kZXJCb3hNb2RlbE9iamVjdCosIGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVz
dFJlc3VsdCYsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlv
dXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIGNvbnN0OwogICAgIAog
cHJpdmF0ZToKICAgICBib29sIGFueUxpbmVJbnRlcnNlY3RzUmVjdChSZW5kZXJCb3hNb2RlbE9i
amVjdCosIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYsIGJvb2wgdXNlUHJpbnRSZWN0
ID0gZmFsc2UsIGludCBvdXRsaW5lU2l6ZSA9IDApIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gOTA2NjQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQzOSwxNSArNDM5LDE1IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtQmFja2dyb3Vu
ZCgKICAgICB9CiB9CiAKLWJvb2wgUmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250
cm9sKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWlu
ZXIsIGNvbnN0IEludFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkKK2Jvb2wgUmVuZGVyTGlzdEJv
eDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3Qg
TGF5b3V0UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVs
YXRlZE9mZnNldCkKIHsKICAgICBpZiAoIW1fdkJhcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgSW50UmVjdCB2ZXJ0UmVjdChhY2N1bXVsYXRlZE9mZnNldC54KCkgKyB3aWR0aCgpIC0g
Ym9yZGVyUmlnaHQoKSAtIG1fdkJhci0+d2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgIGFj
Y3VtdWxhdGVkT2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpLAotICAgICAgICAgICAgICAgICAgICAg
bV92QmFyLT53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KCkgLSBib3JkZXJU
b3AoKSAtIGJvcmRlckJvdHRvbSgpKTsKKyAgICBMYXlvdXRSZWN0IHZlcnRSZWN0KGFjY3VtdWxh
dGVkT2Zmc2V0LngoKSArIHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgp
LAorICAgICAgICAgICAgICAgICAgICAgICAgYWNjdW11bGF0ZWRPZmZzZXQueSgpICsgYm9yZGVy
VG9wKCksCisgICAgICAgICAgICAgICAgICAgICAgICBtX3ZCYXItPndpZHRoKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICBoZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkp
OwogCiAgICAgaWYgKHZlcnRSZWN0LmNvbnRhaW5zKHBvaW50SW5Db250YWluZXIpKSB7CiAgICAg
ICAgIHJlc3VsdC5zZXRTY3JvbGxiYXIobV92QmFyLmdldCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAkocmV2aXNpb24gOTA2NjQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3
ICs2OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5m
byYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAgdmlydHVhbCBJbnRSZWN0IGNvbnRyb2xDbGlw
UmVjdChjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29sIGlzUG9pbnRJ
bk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5D
b250YWluZXIsIGNvbnN0IEludFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CisgICAgdmlydHVh
bCBib29sIGlzUG9pbnRJbk92ZXJmbG93Q29udHJvbChIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5
b3V0UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Ny
b2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxLCBOb2RlKiogc3RvcE5vZGUgPSAw
KTsKICAgICB2aXJ0dWFsIGJvb2wgbG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9u
LCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIE5vZGUqKiBzdG9wTm9k
ZSA9IDApOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJ
KHJldmlzaW9uIDkwNjY0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNDUsNyArMjE0NSw3IEBAIHZvaWQgUmVuZGVyT2Jq
ZWN0Ojp1cGRhdGVEcmFnU3RhdGUoYm9vbCAKICAgICAgICAgY3Vyci0+dXBkYXRlRHJhZ1N0YXRl
KGRyYWdPbik7CiB9CiAKLWJvb2wgUmVuZGVyT2JqZWN0OjpoaXRUZXN0KGNvbnN0IEhpdFRlc3RS
ZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBw
b2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRl
c3RGaWx0ZXIgaGl0VGVzdEZpbHRlcikKK2Jvb2wgUmVuZGVyT2JqZWN0OjpoaXRUZXN0KGNvbnN0
IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IExh
eW91dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQsIEhpdFRlc3RGaWx0ZXIgaGl0VGVzdEZpbHRlcikKIHsKICAgICBib29sIGluc2lk
ZSA9IGZhbHNlOwogICAgIGlmIChoaXRUZXN0RmlsdGVyICE9IEhpdFRlc3RTZWxmKSB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiA5MDY2NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5
KQpAQCAtNTQ4LDcgKzU0OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbGxlY3REYXNoYm9hcmRS
ZWdpb25zKFZlY3RvcjxEYXNoYm9hcmRSZWdpb25WYWx1ZT4mKTsKICNlbmRpZgogCi0gICAgYm9v
bCBoaXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IElu
dFBvaW50JiBwb2ludEluQ29udGFpbmVyLCBjb25zdCBJbnRQb2ludCYgYWNjdW11bGF0ZWRPZmZz
ZXQsIEhpdFRlc3RGaWx0ZXIgPSBIaXRUZXN0QWxsKTsKKyAgICBib29sIGhpdFRlc3QoY29uc3Qg
SGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50
SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVz
dEZpbHRlciA9IEhpdFRlc3RBbGwpOwogICAgIHZpcnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25z
dCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnRJbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRU
ZXN0QWN0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSGl0VGVzdFJlc3VsdChIaXRUZXN0
UmVzdWx0JiwgY29uc3QgSW50UG9pbnQmKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCShyZXZpc2lvbiA5MDY2NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMzNSw3ICszMzUsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlTG9naWNh
bEhlCiAgICAgUmVuZGVyQmxvY2s6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiB9CiAKLXZvaWQg
UmVuZGVyVGV4dENvbnRyb2w6OmhpdElubmVyVGV4dEVsZW1lbnQoSGl0VGVzdFJlc3VsdCYgcmVz
dWx0LCBjb25zdCBJbnRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgSW50UG9pbnQmIGFj
Y3VtdWxhdGVkT2Zmc2V0KQordm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6aGl0SW5uZXJUZXh0RWxl
bWVudChIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IExheW91dFBvaW50JiBwb2ludEluQ29u
dGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpCiB7CiAgICAgSW50
UG9pbnQgYWRqdXN0ZWRMb2NhdGlvbiA9IGFjY3VtdWxhdGVkT2Zmc2V0ICsgbG9jYXRpb24oKTsK
ICAgICBIVE1MRWxlbWVudCogaW5uZXJUZXh0ID0gaW5uZXJUZXh0RWxlbWVudCgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgJKHJldmlzaW9u
IDkwNjY0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVh
bCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKTsKIAotICAgIHZvaWQgaGl0SW5uZXJUZXh0RWxlbWVudChIaXRUZXN0UmVzdWx0
JiwgY29uc3QgSW50UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IEludFBvaW50JiBhY2N1
bXVsYXRlZE9mZnNldCk7CisgICAgdm9pZCBoaXRJbm5lclRleHRFbGVtZW50KEhpdFRlc3RSZXN1
bHQmLCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9p
bnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKICAgICB2b2lkIGZvcndhcmRFdmVudChFdmVudCopOwog
CiAgICAgaW50IHRleHRCbG9ja1dpZHRoKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAko
cmV2aXNpb24gOTA2NjQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMyLDcgKzMzMiw3IEBAIHZv
aWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpsYXlvdXQKICAgICB9CiB9CiAKLWJvb2wg
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVx
dWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBJbnRQb2ludCYgcG9p
bnRJbkNvbnRhaW5lciwgY29uc3QgSW50UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0
QWN0aW9uIGhpdFRlc3RBY3Rpb24pCitib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6
bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQm
IHJlc3VsdCwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50SW5Db250YWluZXIsIGNvbnN0IExheW91
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbiBoaXRUZXN0QWN0aW9uKQog
ewogICAgIGlmICghUmVuZGVyVGV4dENvbnRyb2w6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3Vs
dCwgcG9pbnRJbkNvbnRhaW5lciwgYWNjdW11bGF0ZWRPZmZzZXQsIGhpdFRlc3RBY3Rpb24pKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNDMsMTIgKzM0MywxMiBAQCBib29sIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6bm9kZUF0CiAgICAgLy8gIC0gd2UgaGl0IHJlZ2lvbnMgbm90
IGluIGFueSBkZWNvcmF0aW9uIGJ1dHRvbnMuCiAgICAgSFRNTEVsZW1lbnQqIGNvbnRhaW5lciA9
IGNvbnRhaW5lckVsZW1lbnQoKTsKICAgICBpZiAocmVzdWx0LmlubmVyTm9kZSgpLT5pc0Rlc2Nl
bmRhbnRPZihpbm5lclRleHRFbGVtZW50KCkpIHx8IHJlc3VsdC5pbm5lck5vZGUoKSA9PSBub2Rl
KCkgfHwgKGNvbnRhaW5lciAmJiBjb250YWluZXIgPT0gcmVzdWx0LmlubmVyTm9kZSgpKSkgewot
ICAgICAgICBJbnRQb2ludCBwb2ludEluUGFyZW50ID0gcG9pbnRJbkNvbnRhaW5lcjsKKyAgICAg
ICAgTGF5b3V0UG9pbnQgcG9pbnRJblBhcmVudCA9IHBvaW50SW5Db250YWluZXI7CiAgICAgICAg
IGlmIChjb250YWluZXIgJiYgaW5uZXJCbG9ja0VsZW1lbnQoKSkgewogICAgICAgICAgICAgaWYg
KGlubmVyQmxvY2tFbGVtZW50KCktPnJlbmRlckJveCgpKQotICAgICAgICAgICAgICAgIHBvaW50
SW5QYXJlbnQgLT0gdG9TaXplKGlubmVyQmxvY2tFbGVtZW50KCktPnJlbmRlckJveCgpLT5sb2Nh
dGlvbigpKTsKKyAgICAgICAgICAgICAgICBwb2ludEluUGFyZW50IC09IHRvTGF5b3V0U2l6ZShp
bm5lckJsb2NrRWxlbWVudCgpLT5yZW5kZXJCb3goKS0+bG9jYXRpb24oKSk7CiAgICAgICAgICAg
ICBpZiAoY29udGFpbmVyLT5yZW5kZXJCb3goKSkKLSAgICAgICAgICAgICAgICBwb2ludEluUGFy
ZW50IC09IHRvU2l6ZShjb250YWluZXItPnJlbmRlckJveCgpLT5sb2NhdGlvbigpKTsKKyAgICAg
ICAgICAgICAgICBwb2ludEluUGFyZW50IC09IHRvTGF5b3V0U2l6ZShjb250YWluZXItPnJlbmRl
ckJveCgpLT5sb2NhdGlvbigpKTsKICAgICAgICAgfQogICAgICAgICBoaXRJbm5lclRleHRFbGVt
ZW50KHJlc3VsdCwgcG9pbnRJblBhcmVudCwgYWNjdW11bGF0ZWRPZmZzZXQpOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>