<?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>58704</bug_id>
          
          <creation_ts>2011-04-15 15:39:41 -0700</creation_ts>
          <short_desc>Decide on node type for ShadowRoot</short_desc>
          <delta_ts>2011-04-21 11:24:41 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>48698</blocked>
    
    <blocked>54179</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>386991</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-04-15 15:39:41 -0700</bug_when>
    <thetext>ShadowRoot currently returns a placeholder DOCUMENT_FRAGMENT_NODE as node type.

We need to decide whether to keep that, or whether to introduce a new node type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388542</commentid>
    <comment_count>1</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-19 09:23:19 -0700</bug_when>
    <thetext>Let&apos;s just call it SHADOW_ROOT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388734</commentid>
    <comment_count>2</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-04-19 13:12:56 -0700</bug_when>
    <thetext>That sounds straightforward. As it so happens, I already have a stashed CL with that exact name... :)

Just need to re-land the ShadowRoot patch first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389382</commentid>
    <comment_count>3</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-04-20 11:29:47 -0700</bug_when>
    <thetext>Would we expose this to JavaScript as a constant on Node? Node.SHADOW_ROOT_NODE?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389539</commentid>
    <comment_count>4</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-04-20 14:43:05 -0700</bug_when>
    <thetext>Good question - I intended not to, to minimize user-visible changes, but perhaps we have to (for inspector, for example)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389567</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-20 15:26:11 -0700</bug_when>
    <thetext>At this point, let&apos;s not worry about JS constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389682</commentid>
    <comment_count>6</comment_count>
      <attachid>90456</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-04-20 17:32:10 -0700</bug_when>
    <thetext>Created attachment 90456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389808</commentid>
    <comment_count>7</comment_count>
      <attachid>90456</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-20 21:01:48 -0700</bug_when>
    <thetext>Comment on attachment 90456
Patch

nifty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390125</commentid>
    <comment_count>8</comment_count>
      <attachid>90552</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-04-21 10:26:07 -0700</bug_when>
    <thetext>Created attachment 90552
patch, cleanup, added WebKit parts

New patch, including cleanup after Dominics patch remarks, and added bits for Source/WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390128</commentid>
    <comment_count>9</comment_count>
      <attachid>90552</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-21 10:27:44 -0700</bug_when>
    <thetext>Comment on attachment 90552
patch, cleanup, added WebKit parts

even niftier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390145</commentid>
    <comment_count>10</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-04-21 10:44:27 -0700</bug_when>
    <thetext>Committed r84520: &lt;http://trac.webkit.org/changeset/84520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390179</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-21 11:24:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84520 might have broken Qt Linux ARMv7 Release and Qt Windows 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90456</attachid>
            <date>2011-04-20 17:32:10 -0700</date>
            <delta_ts>2011-04-21 10:26:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58704-20110420173209.patch</filename>
            <type>text/plain</type>
            <size>23739</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ0MjUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkZmZlMjYxZjhjM2NlNmU0MTI3MTVl
MDk0NTc4YWYzOTlkYjljZjU4Li42ZTIzYmY5YTkxZDY2ZGNiM2QyYTY4YWI0ZmU4ODlhZDA3OGVm
OGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjAgIFJvbGFuZCBTdGVpbmVyICA8
cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQnVnIDU4NzA0IC0gRGVjaWRlIG9uIG5vZGUgdHlwZSBmb3Ig
U2hhZG93Um9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTg3MDQKKworICAgICAgICBUZXN0IG5vZGUgdHlwZXMgb2Ygc2hhZG93IGhvc3QsIHNoYWRv
dyByb290IGFuZCBmaXJzdCBzaGFkb3cgY2hpbGQuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvbm9kZXR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvbm9kZXR5cGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMDQtMjAgIFhpYW9tZWkgSmkgIDx4amlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbm9kZXR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNiNTA1NTJmZDJhNTU4NGZkNDdhM2EyZGZhNDQ3OWY5NGZjOGE4MWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbm9kZXR5cGUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTAgQEAKKworVGhpcyB0ZXN0cyB0aGUgc2hhZG93IGhvc3QncyBhbmQg
c2hhZG93IHJvb3QncyBub2RlVHlwZS4KK1BBU1Mga2V5Z2VuLm5vZGVUeXBlIGlzIE5vZGUuRUxF
TUVOVF9OT0RFCitQQVNTIHNoYWRvdy5ub2RlVHlwZSBpcyAxNAorUEFTUyBzaGFkb3dDaGlsZCBp
cyBub24tbnVsbC4KK1BBU1Mgc2hhZG93Q2hpbGQubm9kZVR5cGUgIT0gMTQgaXMgdHJ1ZQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L25vZGV0eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgyMTNlNTllMGQx
NmUzZDY3MjcwMjYwMmM5OGFjZmJlNzQ2NjgyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8a2V5Z2VuIGlk
PSJrZXlzIiAvPgorPHByZSBpZD0iY29uc29sZSI+CitUaGlzIHRlc3RzIHRoZSBzaGFkb3cgaG9z
dCdzIGFuZCBzaGFkb3cgcm9vdCdzIG5vZGVUeXBlLgorPC9wcmU+Cis8c2NyaXB0PgorICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAKKyAgICAgICAgdmFyIGtleWdlbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdrZXlzJyk7CisgICAgICAgIHZhciBzaGFkb3cgPSBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zaGFkb3dSb290KGtleWdlbik7CisgICAgICAgIHZhciBzaGFkb3dDaGls
ZCA9IHNoYWRvdy5maXJzdENoaWxkOworICAgICAgICBzaG91bGRCZSgna2V5Z2VuLm5vZGVUeXBl
JywgJ05vZGUuRUxFTUVOVF9OT0RFJyk7CisgICAgICAgIHNob3VsZEJlKCdzaGFkb3cubm9kZVR5
cGUnLCAnMTQnKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCdzaGFkb3dDaGlsZCcpOworICAg
ICAgICBzaG91bGRCZVRydWUoJ3NoYWRvd0NoaWxkLm5vZGVUeXBlICE9IDE0Jyk7CisgICAgfQor
CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODJkMTlkMTQwM2NkODE0NDQwMWJjZDE5MDMzOGQw
NmQwMTFhZTAyLi4zNzU3N2RmYmU5ZTFlZDU1MGJlOWMzNzc5MzViODMwODk2OWM2NjVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTEtMDQtMjAgIFJvbGFuZCBTdGVpbmVyICA8cm9s
YW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQnVnIDU4NzA0IC0gRGVjaWRlIG9uIG5vZGUgdHlwZSBmb3IgU2hh
ZG93Um9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTg3MDQKKworICAgICAgICBBZGQgYSBuZXcgbm9kZSB0eXBlIFNIQURPV19ST09UX05PREUuCisg
ICAgICAgIEFkYXB0IGFsbCBjYWxsaW5nIHNpdGVzIG9mIG5vZGVUeXBlKCkuIAorCisgICAgICAg
IFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU05vZGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlV3JhcHBlcklu
bGluZSk6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET00ubW06CisgICAgICAgIChraXRDbGFz
cyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp0b1Y4U2xvdyk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBvcnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpjaGlsZFR5cGVBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpjYW5SZXBsYWNlQ2hpbGQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmR1bXBTdGF0aXN0aWNzKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Omlz
RGVmYXVsdE5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpsb29rdXBQcmVmaXgp
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bG9va3VwTmFtZXNwYWNlVVJJKToKKyAgICAgICAg
KFdlYkNvcmU6OmFwcGVuZFRleHRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNl
dFRleHRDb250ZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGRvbS9SYW5n
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsZW5ndGhPZkNvbnRlbnRzSW5Ob2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJhbmdlOjpwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSYW5nZTo6aW5zZXJ0Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSYW5n
ZTo6Y2hlY2tOb2RlV09mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6Y2hlY2tOb2Rl
QkEpOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OnNlbGVjdE5vZGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmFuZ2U6OnNlbGVjdE5vZGVDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSYW5n
ZTo6c3Vycm91bmRDb250ZW50cyk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6bm9kZVR5cGUpOgorICAgICAgICAqIGRvbS9UcmF2
ZXJzYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJhdmVyc2FsOjphY2NlcHROb2RlKToKKyAg
ICAgICAgKiBlZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdGFydE1hcmt1cCk6CisgICAgICAgICogaHRtbC9w
YXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTmFtZXM6
OmlzUm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFjazo6cHVzaFJv
b3ROb2RlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmg6CisgICAg
ICAgIChXZWJDb3JlOjppc0luSFRNTE5hbWVzcGFjZSk6CisgICAgICAgICogeG1sL1hQYXRoVXRp
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6aXNWYWxpZENvbnRleHROb2RlKToKKwog
MjAxMS0wNC0yMCAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9k
ZUN1c3RvbS5jcHAKaW5kZXggMWYwMThjZGNhYjQyZTE5YzFiZDRiNzMyYjI3YmZjZGZlZDU1N2E2
Zi4uZmY1MmFkYTRjNjYyMTY3ZjY0OTQyMjE3ZDQwZDQzNDYwYjUwYjg3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwCkBAIC0yOTEsMTYgKzI5MSwxNiBA
QCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1ZhbHVlIGNyZWF0ZVdyYXBwZXJJbmxpbmUoRXhlY1N0
YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iagogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fTk9ERV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgTm90YXRpb24sIG5vZGUpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfRlJBR01FTlRfTk9E
RToKLSAgICAgICAgICAgIC8vIEZJWE1FOiByZW1vdmUgJ2lmJyBvbmNlIFNoYWRvd1Jvb3QgZ2V0
cyBpdHMgb3duIG5vZGUgdHlwZSAoc2VlIGJ1ZyA1ODcwNCkKLSAgICAgICAgICAgIGlmIChub2Rl
LT5pc1NoYWRvd0JvdW5kYXJ5KCkpCi0gICAgICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9E
T01fTk9ERV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgTm9kZSwgbm9kZSk7Ci0gICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fTk9ERV9XUkFQ
UEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRG9jdW1lbnRGcmFnbWVudCwgbm9kZSk7CisgICAgICAg
ICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9OT0RFX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0
LCBEb2N1bWVudEZyYWdtZW50LCBub2RlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRF
X0RPTV9OT0RFX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBOb2RlLCBub2RlKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5vZGU6OkVOVElUWV9SRUZFUkVOQ0VfTk9ERToK
ICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX05PREVfV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIEVudGl0eVJlZmVyZW5jZSwgbm9kZSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgZGVmYXVsdDoKK0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgd3JhcHBl
ciA9IENSRUFURV9ET01fTk9ERV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgTm9kZSwgbm9k
ZSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TS5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NLm1tCmluZGV4IDFjMjRkZTYz
YWRkNzlmZTE1MGI0MzgxMTJiODllNDk4MTlhYTJjMTQuLjA5NDEzY2NmODEyZWRlZTU3ZjI4NGY4
ZDE0MzAzMThiNTE3YmY3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NLm1tCkBAIC0z
MjYsNiArMzI2LDkgQEAgQ2xhc3Mga2l0Q2xhc3MoV2ViQ29yZTo6Tm9kZSogaW1wbCkKICAgICAg
ICAgICAgIC8vIEZJWE1FOiBDcmVhdGUgYW4gWFBhdGggb2JqZWN0aXZlIEMgd3JhcHBlcgogICAg
ICAgICAgICAgLy8gU2VlIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
NTUKICAgICAgICAgICAgIHJldHVybiBuaWw7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6Tm9kZTo6
U0hBRE9XX1JPT1RfTk9ERToKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgcmV0dXJuIG5pbDsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgcmV0dXJuIG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vZGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Tm9kZUN1c3RvbS5jcHAKaW5kZXggMzA3MzMwNDExNjY5NjlkYzlkZGE3OWE2Yjg3YzRlZDA3
ODBkNDcxNy4uNzUwNzI3MmM5NmRkMDUxM2Y3MjkxZTJhNzFjZmZkMTRhNjg0MmM0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAK
QEAgLTE2MywxMCArMTYzLDkgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhTbG93KE5vZGUq
IGltcGwsIGJvb2wgZm9yY2VOZXdPYmplY3QpCiAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9UWVBF
X05PREU6CiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PERvY3VtZW50VHlwZSo+KGlt
cGwpLCBmb3JjZU5ld09iamVjdCk7CiAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9GUkFHTUVOVF9O
T0RFOgotICAgICAgICAvLyBGSVhNRTogcmVtb3ZlICdpZicgb25jZSBTaGFkb3dSb290IGdldHMg
aXRzIG93biBub2RlIHR5cGUgKHNlZSBidWcgNTg3MDQpCi0gICAgICAgIGlmIChpbXBsLT5pc1No
YWRvd0JvdW5kYXJ5KCkpCi0gICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTaGFk
b3dSb290Kj4oaW1wbCksIGZvcmNlTmV3T2JqZWN0KTsKICAgICAgICAgcmV0dXJuIHRvVjgoc3Rh
dGljX2Nhc3Q8RG9jdW1lbnRGcmFnbWVudCo+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAg
Y2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgorICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNf
Y2FzdDxTaGFkb3dSb290Kj4oaW1wbCksIGZvcmNlTmV3T2JqZWN0KTsKICAgICBjYXNlIE5vZGU6
Ok5PVEFUSU9OX05PREU6CiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PE5vdGF0aW9u
Kj4oaW1wbCksIGZvcmNlTmV3T2JqZWN0KTsKICAgICBkZWZhdWx0OiBicmVhazsgLy8gWFBBVEhf
TkFNRVNQQUNFX05PREUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNlZGRiZWY5NDgyYmJh
YzM3YTVjNzBkN2UyZTJiOWJiZTg0ODA2ODMuLjZkMjFmMWM1OTliYWNlN2MyZjRlYmU4ZjBmMGZi
NjI2NmQyZmNkZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTMzLDYgKzEzMyw3IEBA
CiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2VsZWN0aW9uQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgog
I2luY2x1ZGUgIlN0YXRpY0hhc2hTZXROb2RlTGlzdC5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRM
aXN0LmgiCiAjaW5jbHVkZSAiVGV4dEV2ZW50LmgiCkBAIC04NTAsOSArODUxLDExIEBAIFBhc3NS
ZWZQdHI8Tm9kZT4gRG9jdW1lbnQ6OmltcG9ydE5vZGUoTm9kZSogaW1wb3J0ZWROb2RlLCBib29s
IGRlZXAsIEV4Y2VwdGlvbkNvCiAgICAgY2FzZSBET0NVTUVOVF9OT0RFOgogICAgIGNhc2UgRE9D
VU1FTlRfVFlQRV9OT0RFOgogICAgIGNhc2UgWFBBVEhfTkFNRVNQQUNFX05PREU6CisgICAgY2Fz
ZSBTSEFET1dfUk9PVF9OT0RFOgorICAgICAgICAvLyBTaGFkb3dSb290IG5vZGVzIHNob3VsZCBu
b3QgYmUgZXhwbGljaXRseSBpbXBvcnRhYmxlLgorICAgICAgICAvLyBFaXRoZXIgdGhleSBhcmUg
aW1wb3J0ZWQgYWxvbmcgd2l0aCB0aGVpciBob3N0IG5vZGUsIG9yIGNyZWF0ZWQgaW1wbGljaXRs
eS4KICAgICAgICAgYnJlYWs7CiAgICAgfQotCiAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsK
ICAgICByZXR1cm4gMDsKIH0KQEAgLTI3MTUsNiArMjcxOCw3IEBAIGJvb2wgRG9jdW1lbnQ6OmNo
aWxkVHlwZUFsbG93ZWQoTm9kZVR5cGUgdHlwZSkgY29uc3QKICAgICBjYXNlIE5PVEFUSU9OX05P
REU6CiAgICAgY2FzZSBURVhUX05PREU6CiAgICAgY2FzZSBYUEFUSF9OQU1FU1BBQ0VfTk9ERToK
KyAgICBjYXNlIFNIQURPV19ST09UX05PREU6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBj
YXNlIENPTU1FTlRfTk9ERToKICAgICBjYXNlIFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToK
QEAgLTI3NzQsNyArMjc3OCw2IEBAIGJvb2wgRG9jdW1lbnQ6OmNhblJlcGxhY2VDaGlsZChOb2Rl
KiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQpCiAgICAgICAgICAgICBjYXNlIE5PVEFUSU9OX05P
REU6CiAgICAgICAgICAgICBjYXNlIFRFWFRfTk9ERToKICAgICAgICAgICAgIGNhc2UgWFBBVEhf
TkFNRVNQQUNFX05PREU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAg
ICAgY2FzZSBDT01NRU5UX05PREU6CiAgICAgICAgICAgICBjYXNlIFBST0NFU1NJTkdfSU5TVFJV
Q1RJT05fTk9ERToKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTI3ODQsNiArMjc4Nyw5IEBA
IGJvb2wgRG9jdW1lbnQ6OmNhblJlcGxhY2VDaGlsZChOb2RlKiBuZXdDaGlsZCwgTm9kZSogb2xk
Q2hpbGQpCiAgICAgICAgICAgICBjYXNlIEVMRU1FTlRfTk9ERToKICAgICAgICAgICAgICAgICBu
dW1FbGVtZW50cysrOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBT
SEFET1dfUk9PVF9OT0RFOgorICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0gZWxzZSB7CkBAIC0yNzk3LDYgKzI4MDMsNyBAQCBib29sIERvY3VtZW50OjpjYW5SZXBs
YWNlQ2hpbGQoTm9kZSogbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkKQogICAgICAgICBjYXNlIE5P
VEFUSU9OX05PREU6CiAgICAgICAgIGNhc2UgVEVYVF9OT0RFOgogICAgICAgICBjYXNlIFhQQVRI
X05BTUVTUEFDRV9OT0RFOgorICAgICAgICBjYXNlIFNIQURPV19ST09UX05PREU6CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGNhc2UgQ09NTUVOVF9OT0RFOgogICAgICAgICBj
YXNlIFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA0MWY1
M2UxN2RiMjRkMTQ5ODMzOTgyNjhlY2JlNThjNWE2MDRmZjEzLi40YmI3ZjU0NTEwNjFiZWRhMDVk
MzI5ZTRhNDc2MmY4MmVjMjQ3Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xNTIsNiArMTUyLDcg
QEAgdm9pZCBOb2RlOjpkdW1wU3RhdGlzdGljcygpCiAgICAgc2l6ZV90IGZyYWdtZW50Tm9kZXMg
PSAwOwogICAgIHNpemVfdCBub3RhdGlvbk5vZGVzID0gMDsKICAgICBzaXplX3QgeHBhdGhOU05v
ZGVzID0gMDsKKyAgICBzaXplX3Qgc2hhZG93Um9vdE5vZGVzID0gMDsKIAogICAgIEhhc2hNYXA8
U3RyaW5nLCBzaXplX3Q+IHBlclRhZ0NvdW50OwogCkBAIC0yNDIsNiArMjQzLDEwIEBAIHZvaWQg
Tm9kZTo6ZHVtcFN0YXRpc3RpY3MoKQogICAgICAgICAgICAgICAgICsreHBhdGhOU05vZGVzOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBT
SEFET1dfUk9PVF9OT0RFOiB7CisgICAgICAgICAgICAgICAgKytzaGFkb3dSb290Tm9kZXM7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAK
QEAgLTI2Miw2ICsyNjcsNyBAQCB2b2lkIE5vZGU6OmR1bXBTdGF0aXN0aWNzKCkKICAgICBwcmlu
dGYoIiAgTnVtYmVyIG9mIERvY3VtZW50RnJhZ21lbnQgbm9kZXM6ICV6dVxuIiwgZnJhZ21lbnRO
b2Rlcyk7CiAgICAgcHJpbnRmKCIgIE51bWJlciBvZiBOb3RhdGlvbiBub2RlczogJXp1XG4iLCBu
b3RhdGlvbk5vZGVzKTsKICAgICBwcmludGYoIiAgTnVtYmVyIG9mIFhQYXRoTlMgbm9kZXM6ICV6
dVxuIiwgeHBhdGhOU05vZGVzKTsKKyAgICBwcmludGYoIiAgTnVtYmVyIG9mIFNoYWRvd1Jvb3Qg
bm9kZXM6ICV6dVxuIiwgc2hhZG93Um9vdE5vZGVzKTsKIAogICAgIHByaW50ZigiRWxlbWVudCB0
YWcgbmFtZSBkaXN0aWJ1dGlvbjpcbiIpOwogICAgIGZvciAoSGFzaE1hcDxTdHJpbmcsIHNpemVf
dD46Oml0ZXJhdG9yIGl0ID0gcGVyVGFnQ291bnQuYmVnaW4oKTsgaXQgIT0gcGVyVGFnQ291bnQu
ZW5kKCk7ICsraXQpCkBAIC0xOTUxLDYgKzE5NTcsNyBAQCBib29sIE5vZGU6OmlzRGVmYXVsdE5h
bWVzcGFjZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSU1heWJlRW1wdHkpIGNvbnN0
CiAgICAgICAgIGNhc2UgTk9UQVRJT05fTk9ERToKICAgICAgICAgY2FzZSBET0NVTUVOVF9UWVBF
X05PREU6CiAgICAgICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERToKKyAgICAgICAgY2Fz
ZSBTSEFET1dfUk9PVF9OT0RFOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBj
YXNlIEFUVFJJQlVURV9OT0RFOiB7CiAgICAgICAgICAgICBjb25zdCBBdHRyKiBhdHRyID0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQXR0cio+KHRoaXMpOwpAQCAtMTk4NCw2ICsxOTkxLDcgQEAgU3RyaW5n
IE5vZGU6Omxvb2t1cFByZWZpeChjb25zdCBBdG9taWNTdHJpbmcgJm5hbWVzcGFjZVVSSSkgY29u
c3QKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5UX0ZS
QUdNRU5UX05PREU6CiAgICAgICAgIGNhc2UgRE9DVU1FTlRfVFlQRV9OT0RFOgorICAgICAgICBj
YXNlIFNIQURPV19ST09UX05PREU6CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAg
ICAgIGNhc2UgQVRUUklCVVRFX05PREU6IHsKICAgICAgICAgICAgIGNvbnN0IEF0dHIgKmF0dHIg
PSBzdGF0aWNfY2FzdDxjb25zdCBBdHRyICo+KHRoaXMpOwpAQCAtMjA0NCw2ICsyMDUyLDcgQEAg
U3RyaW5nIE5vZGU6Omxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcgJnByZWZpeCkgY29u
c3QKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5UX1RZ
UEVfTk9ERToKICAgICAgICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOgorICAgICAgICBj
YXNlIFNIQURPV19ST09UX05PREU6CiAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAg
ICAgIGNhc2UgQVRUUklCVVRFX05PREU6IHsKICAgICAgICAgICAgIGNvbnN0IEF0dHIgKmF0dHIg
PSBzdGF0aWNfY2FzdDxjb25zdCBBdHRyICo+KHRoaXMpOwpAQCAtMjExMiw2ICsyMTIxLDcgQEAg
c3RhdGljIHZvaWQgYXBwZW5kVGV4dENvbnRlbnQoY29uc3QgTm9kZSogbm9kZSwgYm9vbCBjb252
ZXJ0QlJzVG9OZXdsaW5lcywgYm9vbCYKICAgICBjYXNlIE5vZGU6OkVOVElUWV9OT0RFOgogICAg
IGNhc2UgTm9kZTo6RU5USVRZX1JFRkVSRU5DRV9OT0RFOgogICAgIGNhc2UgTm9kZTo6RE9DVU1F
TlRfRlJBR01FTlRfTk9ERToKKyAgICBjYXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CiAgICAg
ICAgIGlzTnVsbFN0cmluZyA9IGZhbHNlOwogICAgICAgICBmb3IgKE5vZGUqIGNoaWxkID0gbm9k
ZS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewog
ICAgICAgICAgICAgaWYgKGNoaWxkLT5ub2RlVHlwZSgpID09IE5vZGU6OkNPTU1FTlRfTk9ERSB8
fCBjaGlsZC0+bm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUp
CkBAIC0yMTQ5LDcgKzIxNTksOSBAQCB2b2lkIE5vZGU6OnNldFRleHRDb250ZW50KGNvbnN0IFN0
cmluZyYgdGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIGNhc2UgQVRUUklCVVRFX05P
REU6CiAgICAgICAgIGNhc2UgRU5USVRZX05PREU6CiAgICAgICAgIGNhc2UgRU5USVRZX1JFRkVS
RU5DRV9OT0RFOgotICAgICAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6IHsKKyAgICAg
ICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFNIQURPV19ST09U
X05PREU6CisgICAgICAgIHsKICAgICAgICAgICAgIENvbnRhaW5lck5vZGUqIGNvbnRhaW5lciA9
IHRvQ29udGFpbmVyTm9kZSh0aGlzKTsKICAgICAgICAgICAgIGNvbnRhaW5lci0+cmVtb3ZlQ2hp
bGRyZW4oKTsKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRl
eCBkNmE0YjNlNDUyM2ZmM2FkZmUyMThhNzQyMTQ1M2JkOWNkZGQzMzY1Li4zYWNhZWZjZTRhNGMw
ZjIxMTgzZjI4ODdhOGQxYTQzOWU4MmUwZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTEwOSw3ICsxMDks
OCBAQCBwdWJsaWM6CiAgICAgICAgIERPQ1VNRU5UX1RZUEVfTk9ERSA9IDEwLAogICAgICAgICBE
T0NVTUVOVF9GUkFHTUVOVF9OT0RFID0gMTEsCiAgICAgICAgIE5PVEFUSU9OX05PREUgPSAxMiwK
LSAgICAgICAgWFBBVEhfTkFNRVNQQUNFX05PREUgPSAxMworICAgICAgICBYUEFUSF9OQU1FU1BB
Q0VfTk9ERSA9IDEzLAorICAgICAgICBTSEFET1dfUk9PVF9OT0RFID0gMTQKICAgICB9OwogICAg
IGVudW0gRG9jdW1lbnRQb3NpdGlvbiB7CiAgICAgICAgIERPQ1VNRU5UX1BPU0lUSU9OX0VRVUlW
QUxFTlQgPSAweDAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5kZXggNDY5YTk0YTQ4NWViNjAyZjA4MzUw
MmNiMDBjZGEwYTU0NzEyYjk1OS4uODkxODY5YzA5OGU4ZGM5Nzg0OTRkZGIyNGQ1NzRkMzY1ZmU5
ZTBhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCkBAIC02NTQsNiArNjU0LDcgQEAgc3RhdGljIGlubGlu
ZSB1bnNpZ25lZCBsZW5ndGhPZkNvbnRlbnRzSW5Ob2RlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBO
b2RlOjpET0NVTUVOVF9GUkFHTUVOVF9OT0RFOgogICAgIGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9E
RToKICAgICBjYXNlIE5vZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFOgorICAgIGNhc2UgTm9kZTo6
U0hBRE9XX1JPT1RfTk9ERToKICAgICAgICAgcmV0dXJuIG5vZGUtPmNoaWxkTm9kZUNvdW50KCk7
CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtODEzLDYgKzgxNCw3IEBAIFBh
c3NSZWZQdHI8Tm9kZT4gUmFuZ2U6OnByb2Nlc3NDb250ZW50c0JldHdlZW5PZmZzZXRzKEFjdGlv
blR5cGUgYWN0aW9uLCBQYXNzUmVmCiAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9GUkFHTUVOVF9O
T0RFOgogICAgIGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9ERToKICAgICBjYXNlIE5vZGU6OlhQQVRI
X05BTUVTUEFDRV9OT0RFOgorICAgIGNhc2UgTm9kZTo6U0hBRE9XX1JPT1RfTk9ERToKICAgICAg
ICAgLy8gRklYTUU6IFNob3VsZCB3ZSBhc3NlcnQgdGhhdCBzb21lIG5vZGVzIG5ldmVyIGFwcGVh
ciBoZXJlPwogICAgICAgICBpZiAoYWN0aW9uID09IEVYVFJBQ1RfQ09OVEVOVFMgfHwgYWN0aW9u
ID09IENMT05FX0NPTlRFTlRTKSB7CiAgICAgICAgICAgICBpZiAoZnJhZ21lbnQpCkBAIC05ODcs
MTEgKzk4OSwxNyBAQCB2b2lkIFJhbmdlOjppbnNlcnROb2RlKFBhc3NSZWZQdHI8Tm9kZT4gcHJw
TmV3Tm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBJ
TlZBTElEX05PREVfVFlQRV9FUlI6IFJhaXNlZCBpZiBuZXdOb2RlIGlzIGFuIEF0dHIsIEVudGl0
eSwgTm90YXRpb24sIG9yIERvY3VtZW50IG5vZGUuCi0gICAgaWYgKG5ld05vZGVUeXBlID09IE5v
ZGU6OkFUVFJJQlVURV9OT0RFIHx8IG5ld05vZGVUeXBlID09IE5vZGU6OkVOVElUWV9OT0RFCi0g
ICAgICAgICAgICB8fCBuZXdOb2RlVHlwZSA9PSBOb2RlOjpOT1RBVElPTl9OT0RFIHx8IG5ld05v
ZGVUeXBlID09IE5vZGU6OkRPQ1VNRU5UX05PREUpIHsKKyAgICAvLyBJTlZBTElEX05PREVfVFlQ
RV9FUlI6IFJhaXNlZCBpZiBuZXdOb2RlIGlzIGFuIEF0dHIsIEVudGl0eSwgTm90YXRpb24sIFNo
YWRvd1Jvb3Qgb3IgRG9jdW1lbnQgbm9kZS4KKyAgICBzd2l0Y2ggKG5ld05vZGVUeXBlKSB7Cisg
ICAgY2FzZSBOb2RlOjpBVFRSSUJVVEVfTk9ERToKKyAgICBjYXNlIE5vZGU6OkVOVElUWV9OT0RF
OgorICAgIGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9ERToKKyAgICBjYXNlIE5vZGU6OkRPQ1VNRU5U
X05PREU6CisgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAgICAgICBlYyA9IFJh
bmdlRXhjZXB0aW9uOjpJTlZBTElEX05PREVfVFlQRV9FUlI7CiAgICAgICAgIHJldHVybjsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBib29sIGNvbGxhcHNlZCA9
IG1fc3RhcnQgPT0gbV9lbmQ7CkBAIC0xMTI3LDcgKzExMzUsOSBAQCBOb2RlKiBSYW5nZTo6Y2hl
Y2tOb2RlV09mZnNldChOb2RlKiBuLCBpbnQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKICAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9OT0RFOgogICAgICAgICBjYXNlIE5vZGU6
OkVMRU1FTlRfTk9ERToKICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6
Ci0gICAgICAgIGNhc2UgTm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREU6IHsKKyAgICAgICAgY2Fz
ZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpTSEFET1df
Uk9PVF9OT0RFOgorICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW9mZnNldCkKICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIE5vZGUqIGNoaWxkQmVmb3JlID0gbi0+Y2hp
bGROb2RlKG9mZnNldCAtIDEpOwpAQCAtMTE0Myw4ICsxMTUzLDggQEAgTm9kZSogUmFuZ2U6OmNo
ZWNrTm9kZVdPZmZzZXQoTm9kZSogbiwgaW50IG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0CiB2b2lkIFJhbmdlOjpjaGVja05vZGVCQShOb2RlKiBuLCBFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKIHsKICAgICAvLyBJTlZBTElEX05PREVfVFlQRV9FUlI6IFJhaXNlZCBpZiB0aGUgcm9v
dCBjb250YWluZXIgb2YgcmVmTm9kZSBpcyBub3QgYW4KLSAgICAvLyBBdHRyLCBEb2N1bWVudCBv
ciBEb2N1bWVudEZyYWdtZW50IG5vZGUgb3IgcGFydCBvZiBhIHNoYWRvdyBET00gdHJlZQotICAg
IC8vIG9yIGlmIHJlZk5vZGUgaXMgYSBEb2N1bWVudCwgRG9jdW1lbnRGcmFnbWVudCwgQXR0ciwg
RW50aXR5LCBvciBOb3RhdGlvbiBub2RlLgorICAgIC8vIEF0dHIsIERvY3VtZW50LCBEb2N1bWVu
dEZyYWdtZW50IG9yIFNoYWRvd1Jvb3Qgbm9kZSwgb3IgcGFydCBvZiBhIFNWRyBzaGFkb3cgRE9N
IHRyZWUsCisgICAgLy8gb3IgaWYgcmVmTm9kZSBpcyBhIERvY3VtZW50LCBEb2N1bWVudEZyYWdt
ZW50LCBTaGFkb3dSb290LCBBdHRyLCBFbnRpdHksIG9yIE5vdGF0aW9uIG5vZGUuCiAKICAgICBz
d2l0Y2ggKG4tPm5vZGVUeXBlKCkpIHsKICAgICAgICAgY2FzZSBOb2RlOjpBVFRSSUJVVEVfTk9E
RToKQEAgLTExNTIsNiArMTE2Miw3IEBAIHZvaWQgUmFuZ2U6OmNoZWNrTm9kZUJBKE5vZGUqIG4s
IEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX05P
REU6CiAgICAgICAgIGNhc2UgTm9kZTo6RU5USVRZX05PREU6CiAgICAgICAgIGNhc2UgTm9kZTo6
Tk9UQVRJT05fTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAg
ICAgICAgICAgZWMgPSBSYW5nZUV4Y2VwdGlvbjo6SU5WQUxJRF9OT0RFX1RZUEVfRVJSOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIE5vZGU6OkNEQVRBX1NFQ1RJT05fTk9ERToK
QEAgLTExNzMsNiArMTE4NCw3IEBAIHZvaWQgUmFuZ2U6OmNoZWNrTm9kZUJBKE5vZGUqIG4sIEV4
Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgICAgICBjYXNlIE5vZGU6OkFUVFJJQlVURV9OT0RF
OgogICAgICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX05PREU6CiAgICAgICAgIGNhc2UgTm9kZTo6
RE9DVU1FTlRfRlJBR01FTlRfTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9O
T0RFOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTm9kZTo6Q0RBVEFfU0VDVElP
Tl9OT0RFOgogICAgICAgICBjYXNlIE5vZGU6OkNPTU1FTlRfTk9ERToKQEAgLTExODQsNyArMTE5
Niw3IEBAIHZvaWQgUmFuZ2U6OmNoZWNrTm9kZUJBKE5vZGUqIG4sIEV4Y2VwdGlvbkNvZGUmIGVj
KSBjb25zdAogICAgICAgICBjYXNlIE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToK
ICAgICAgICAgY2FzZSBOb2RlOjpURVhUX05PREU6CiAgICAgICAgIGNhc2UgTm9kZTo6WFBBVEhf
TkFNRVNQQUNFX05PREU6Ci0gICAgICAgICAgICBpZiAocm9vdC0+aXNTaGFkb3dSb290KCkpCisg
ICAgICAgICAgICBpZiAocm9vdC0+aXNTVkdTaGFkb3dSb290KCkpCiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICBlYyA9IFJhbmdlRXhjZXB0aW9uOjpJTlZBTElEX05PREVfVFlQ
RV9FUlI7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0xMjkwLDcgKzEzMDIsNyBAQCB2b2lkIFJh
bmdlOjpzZWxlY3ROb2RlKE5vZGUqIHJlZk5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIH0K
IAogICAgIC8vIElOVkFMSURfTk9ERV9UWVBFX0VSUjogUmFpc2VkIGlmIGFuIGFuY2VzdG9yIG9m
IHJlZk5vZGUgaXMgYW4gRW50aXR5LCBOb3RhdGlvbiBvcgotICAgIC8vIERvY3VtZW50VHlwZSBu
b2RlIG9yIGlmIHJlZk5vZGUgaXMgYSBEb2N1bWVudCwgRG9jdW1lbnRGcmFnbWVudCwgQXR0ciwg
RW50aXR5LCBvciBOb3RhdGlvbgorICAgIC8vIERvY3VtZW50VHlwZSBub2RlIG9yIGlmIHJlZk5v
ZGUgaXMgYSBEb2N1bWVudCwgRG9jdW1lbnRGcmFnbWVudCwgU2hhZG93Um9vdCwgQXR0ciwgRW50
aXR5LCBvciBOb3RhdGlvbgogICAgIC8vIG5vZGUuCiAgICAgZm9yIChDb250YWluZXJOb2RlKiBh
bmMgPSByZWZOb2RlLT5wYXJlbnROb2RlKCk7IGFuYzsgYW5jID0gYW5jLT5wYXJlbnROb2RlKCkp
IHsKICAgICAgICAgc3dpdGNoIChhbmMtPm5vZGVUeXBlKCkpIHsKQEAgLTEzMDQsNiArMTMxNiw3
IEBAIHZvaWQgUmFuZ2U6OnNlbGVjdE5vZGUoTm9kZSogcmVmTm9kZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiAgICAgICAgICAgICBjYXNlIE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToK
ICAgICAgICAgICAgIGNhc2UgTm9kZTo6VEVYVF9OT0RFOgogICAgICAgICAgICAgY2FzZSBOb2Rl
OjpYUEFUSF9OQU1FU1BBQ0VfTk9ERToKKyAgICAgICAgICAgIGNhc2UgTm9kZTo6U0hBRE9XX1JP
T1RfTk9ERToKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgTm9kZTo6
RE9DVU1FTlRfVFlQRV9OT0RFOgogICAgICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9ERToK
QEAgLTEzMjgsNiArMTM0MSw3IEBAIHZvaWQgUmFuZ2U6OnNlbGVjdE5vZGUoTm9kZSogcmVmTm9k
ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfTk9ERToK
ICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOb2RlOjpOT1RB
VElPTl9OT0RFOgorICAgICAgICBjYXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CiAgICAgICAg
ICAgICBlYyA9IFJhbmdlRXhjZXB0aW9uOjpJTlZBTElEX05PREVfVFlQRV9FUlI7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtMTM2OCw2ICsxMzgyLDcgQEAgdm9pZCBSYW5nZTo6c2Vs
ZWN0Tm9kZUNvbnRlbnRzKE5vZGUqIHJlZk5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAg
ICAgICAgY2FzZSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6CiAgICAgICAgICAg
ICBjYXNlIE5vZGU6OlRFWFRfTk9ERToKICAgICAgICAgICAgIGNhc2UgTm9kZTo6WFBBVEhfTkFN
RVNQQUNFX05PREU6CisgICAgICAgICAgICBjYXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX1RZ
UEVfTk9ERToKICAgICAgICAgICAgIGNhc2UgTm9kZTo6RU5USVRZX05PREU6CkBAIC0xNDE2LDYg
KzE0MzEsNyBAQCB2b2lkIFJhbmdlOjpzdXJyb3VuZENvbnRlbnRzKFBhc3NSZWZQdHI8Tm9kZT4g
cGFzc05ld1BhcmVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIGNhc2UgTm9kZTo6UFJP
Q0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOgogICAgICAgICBjYXNlIE5vZGU6OlRFWFRfTk9ERToK
ICAgICAgICAgY2FzZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERToKKyAgICAgICAgY2FzZSBO
b2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggZTU0NzY3ZTgwZDZlN2VjMTkzNjE3NDgxMTY2NjNl
OTAwYzhiMTJkZS4uMzc0MzA1MDQ4OWJmOGQ2OTVmNWFhODI3YjVmNzE1YjZiMzVlZGJlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAtNTUsOCArNTUsOCBAQCBTdHJpbmcgU2hhZG93
Um9vdDo6bm9kZU5hbWUoKSBjb25zdAogCiBOb2RlOjpOb2RlVHlwZSBTaGFkb3dSb290Ojpub2Rl
VHlwZSgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IERlY2lkZSBjb3JyZWN0IG5vZGUgdHlwZSAo
YnVnIDU4NzA0KS4KLSAgICByZXR1cm4gRE9DVU1FTlRfRlJBR01FTlRfTk9ERTsKKyAgICAvLyBG
SVhNRTogRGVjaWRlIGNvcnJlY3Qgbm9kZSB0eXBlLgorICAgIHJldHVybiBTSEFET1dfUk9PVF9O
T0RFOwogfQogCiBQYXNzUmVmUHRyPE5vZGU+IFNoYWRvd1Jvb3Q6OmNsb25lTm9kZShib29sKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYXZlcnNhbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVHJhdmVyc2FsLmNwcAppbmRleCA1ZDU2ZGViY2JiZGU4NWNlMGU5MDFjYjE3MDlj
ZWFkMmI5NTE3NGQ4Li5mODJlZTJjZDFmYmQ4OGEyNjg1YTliMzdmOTIzNDc3ZDgyMTdmYmI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhdmVyc2FsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVHJhdmVyc2FsLmNwcApAQCAtNDMsNyArNDMsNyBAQCBzaG9ydCBUcmF2ZXJz
YWw6OmFjY2VwdE5vZGUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlKSBjb25zdAogICAg
IC8vIEZJWE1FOiBUbyBoYW5kbGUgWE1MIHByb3Blcmx5IHdlIHdvdWxkIGhhdmUgdG8gY2hlY2sg
bV9leHBhbmRFbnRpdHlSZWZlcmVuY2VzLgogCiAgICAgLy8gVGhlIGJpdCB0d2lkZGxpbmcgaGVy
ZSBpcyBkb25lIHRvIG1hcCBET00gbm9kZSB0eXBlcywgd2hpY2ggYXJlIGdpdmVuIGFzIGludGVn
ZXJzIGZyb20KLSAgICAvLyAxIHRocm91Z2ggMTIsIHRvIHdoYXRUb1Nob3cgYml0IG1hc2tzLgor
ICAgIC8vIDEgdGhyb3VnaCAxNCwgdG8gd2hhdFRvU2hvdyBiaXQgbWFza3MuCiAgICAgaWYgKCEo
KCgxIDw8IChub2RlLT5ub2RlVHlwZSgpIC0gMSkpICYgbV93aGF0VG9TaG93KSkpCiAgICAgICAg
IHJldHVybiBOb2RlRmlsdGVyOjpGSUxURVJfU0tJUDsKICAgICBpZiAoIW1fZmlsdGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcAppbmRleCBmNDQ4OWM1
NjlmMTljNzVhOWZhYzI2Y2I3MjkyOGE2ZWUyZTRjYTU4Li5iNmQ4NWQ2MWRiZTQxNWVkNTIxNzE3
ZTlkNDllZGNhMTRlMjM1ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01h
cmt1cEFjY3VtdWxhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFj
Y3VtdWxhdG9yLmNwcApAQCAtNDE4LDYgKzQxOCw3IEBAIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZFN0YXJ0TWFya3VwKFZlY3RvcjxVQ2hhcj4mIHJlc3VsdCwgY29uc3QgTm9kZSogbm9k
CiAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6CiAgICAgY2FzZSBOb2RlOjpO
T1RBVElPTl9OT0RFOgogICAgIGNhc2UgTm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREU6CisgICAg
Y2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MRWxlbWVudFN0YWNrLmNwcAppbmRleCBhNGE3MzgzMzY1N2U2MzFkZGZiMWZkZmQ1YmY0
YWQ1YzA4MmJlOTc0Li4xOTU1MDliZDk5YjE1MzIzYjk5NjViYzRjNDMyNTVmYzhjOWUyN2ZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcApA
QCAtNTMsNiArNTMsNyBAQCBpbmxpbmUgYm9vbCBpc051bWJlcmVkSGVhZGVyRWxlbWVudChDb250
YWluZXJOb2RlKiBub2RlKQogaW5saW5lIGJvb2wgaXNSb290Tm9kZShDb250YWluZXJOb2RlKiBu
b2RlKQogewogICAgIHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX0ZS
QUdNRU5UX05PREUKKyAgICAgICAgfHwgbm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpTSEFET1df
Uk9PVF9OT0RFCiAgICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoaHRtbFRhZyk7CiB9CiAKQEAg
LTI4MSw3ICsyODIsNyBAQCB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsRm9yZWlnbkNv
bnRlbnRTY29wZU1hcmtlcigpCiAgICAgCiB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnB1c2hSb290
Tm9kZShQYXNzUmVmUHRyPENvbnRhaW5lck5vZGU+IHJvb3ROb2RlKQogewotICAgIEFTU0VSVChy
b290Tm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpET0NVTUVOVF9GUkFHTUVOVF9OT0RFKTsKKyAg
ICBBU1NFUlQocm9vdE5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfRlJBR01FTlRf
Tk9ERSB8fCByb290Tm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFKTsK
ICAgICBwdXNoUm9vdE5vZGVDb21tb24ocm9vdE5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggZmQwZTQ5NDk3MTg4NWFiZDg2
ZThkNTM2Mjc1ZDI3NDVkMjZjMTI5NS4uMjc4ODc5MzhjODU0MWIxMjYzMWFmZWNjOTc2OWQxZDQx
NTVmN2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1l
bnRTdGFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3Rh
Y2suaApAQCAtMTc0LDcgKzE3NCw4IEBAIGlubGluZSBib29sIGlzSW5IVE1MTmFtZXNwYWNlKE5v
ZGUqIG5vZGUpCiAgICAgLy8gQSBEb2N1bWVudEZyYWdtZW50IHRha2VzIHRoZSBwbGFjZSBvZiB0
aGUgZG9jdW1lbnQgZWxlbWVudCB3aGVuIHBhcnNpbmcKICAgICAvLyBmcmFnbWVudHMgYW5kIHNo
b3VsZCBiZSBjb25zaWRlcmVkIGluIHRoZSBIVE1MIG5hbWVzcGFjZS4KICAgICByZXR1cm4gbm9k
ZS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVSSQotICAgICAg
ICB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU7Cisg
ICAgICAgIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfRlJBR01FTlRfTk9E
RQorICAgICAgICB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlNIQURPV19ST09UX05PREU7
IC8vIEZJWE1FOiBEb2VzIHRoaXMgYWxzbyBhcHBseSB0byBTaGFkb3dSb290PwogfQogCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFV0aWwuY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoVXRpbC5jcHAKaW5kZXggMDEwMGJlYTQ4YjNhYjljN2Y4Zjk4YmE3NzUyMjBk
ZWZhNmJkNmVlMC4uNzNkMmRlYjU4MDc5YTMxYzcwZjMwMzY3OGMzMDY2M2NjYmZmN2Q2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKQEAgLTg2LDYgKzg2LDcgQEAgYm9vbCBpc1ZhbGlkQ29u
dGV4dE5vZGUoTm9kZSogbm9kZSkKICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9ERToKICAg
ICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6CiAgICAgICAgIGNhc2UgTm9k
ZTo6Tk9UQVRJT05fTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIE5vZGU6OlRFWFRfTk9ERToK
ICAgICAgICAgICAgIHJldHVybiAhKG5vZGUtPnBhcmVudE5vZGUoKSAmJiBub2RlLT5wYXJlbnRO
b2RlKCktPmlzQXR0cmlidXRlTm9kZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90552</attachid>
            <date>2011-04-21 10:26:07 -0700</date>
            <delta_ts>2011-04-21 10:27:44 -0700</delta_ts>
            <desc>patch, cleanup, added WebKit parts</desc>
            <filename>bug-58704-20110421102606.patch</filename>
            <type>text/plain</type>
            <size>25330</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ1MDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxOGViNzRhOWQ1ZjM0MTg5NTAzNzg0
MzlmMjIzYTQzOTY0YzA0ODc2Li4wNTEyOTNhMzc3YmVjZmEwNjc4MzM0OGQwODY0YWU5YWViNjNi
MGNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjAgIFJvbGFuZCBTdGVpbmVyICA8
cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQnVnIDU4NzA0IC0gRGVjaWRlIG9uIG5vZGUgdHlwZSBmb3Ig
U2hhZG93Um9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTg3MDQKKworICAgICAgICBUZXN0IG5vZGUgdHlwZXMgb2Ygc2hhZG93IGhvc3QsIHNoYWRv
dyByb290IGFuZCBmaXJzdCBzaGFkb3cgY2hpbGQuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvbm9kZXR5cGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvbm9kZXR5cGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMDQtMjEgIFRvbnkgR2VudGlsY29yZSAg
PHRvbnlnQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGluc3BlY3Rvci9jb25z
b2xlL2NvbnNvbGUtbG9nLWJlZm9yZS1pbnNwZWN0b3Itb3Blbi5odG1sIHRpbWVzIG91dCBvbiBt
YWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbm9kZXR5cGUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNiNTA1NTJmZDJhNTU4NGZkNDdhM2EyZGZhNDQ3OWY5NGZjOGE4MWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbm9kZXR5cGUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworVGhpcyB0ZXN0cyB0aGUgc2hhZG93IGhv
c3QncyBhbmQgc2hhZG93IHJvb3QncyBub2RlVHlwZS4KK1BBU1Mga2V5Z2VuLm5vZGVUeXBlIGlz
IE5vZGUuRUxFTUVOVF9OT0RFCitQQVNTIHNoYWRvdy5ub2RlVHlwZSBpcyAxNAorUEFTUyBzaGFk
b3dDaGlsZCBpcyBub24tbnVsbC4KK1BBU1Mgc2hhZG93Q2hpbGQubm9kZVR5cGUgIT0gMTQgaXMg
dHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L25vZGV0eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgy
MTNlNTllMGQxNmUzZDY3MjcwMjYwMmM5OGFjZmJlNzQ2NjgyOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS5odG1sCkBAIC0wLDAgKzEsMjgg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
a2V5Z2VuIGlkPSJrZXlzIiAvPgorPHByZSBpZD0iY29uc29sZSI+CitUaGlzIHRlc3RzIHRoZSBz
aGFkb3cgaG9zdCdzIGFuZCBzaGFkb3cgcm9vdCdzIG5vZGVUeXBlLgorPC9wcmU+Cis8c2NyaXB0
PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAKKyAgICAgICAgdmFyIGtleWdl
biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrZXlzJyk7CisgICAgICAgIHZhciBzaGFkb3cg
PSBsYXlvdXRUZXN0Q29udHJvbGxlci5zaGFkb3dSb290KGtleWdlbik7CisgICAgICAgIHZhciBz
aGFkb3dDaGlsZCA9IHNoYWRvdy5maXJzdENoaWxkOworICAgICAgICBzaG91bGRCZSgna2V5Z2Vu
Lm5vZGVUeXBlJywgJ05vZGUuRUxFTUVOVF9OT0RFJyk7CisgICAgICAgIHNob3VsZEJlKCdzaGFk
b3cubm9kZVR5cGUnLCAnMTQnKTsKKyAgICAgICAgc2hvdWxkQmVOb25OdWxsKCdzaGFkb3dDaGls
ZCcpOworICAgICAgICBzaG91bGRCZVRydWUoJ3NoYWRvd0NoaWxkLm5vZGVUeXBlICE9IDE0Jyk7
CisgICAgfQorCisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NzViZjkzZDM0MTMxZGVlMTk3NTM4
MWRkMjY5YmM0MjBmODIwYjQzLi5hNzU2ZWEzN2FlMjBjMjA5NmRlMjA0MDM3M2MxZTAxNTAxMTgx
NzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTEtMDQtMjEgIFJvbGFuZCBTdGVp
bmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDU4NzA0IC0gRGVjaWRlIG9uIG5vZGUgdHlw
ZSBmb3IgU2hhZG93Um9vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTg3MDQKKworICAgICAgICBBZGQgYSBuZXcgbm9kZSB0eXBlIFNIQURPV19ST09U
X05PREUuCisgICAgICAgIEFkYXB0IGFsbCBjYWxsaW5nIHNpdGVzIG9mIG5vZGVUeXBlKCkuIAor
CisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9ub2RldHlwZS5odG1sCisKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
V3JhcHBlcklubGluZSk6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET00ubW06CisgICAgICAg
IChraXRDbGFzcyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4U2xvdyk6CisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBvcnROb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpjaGlsZFR5cGVBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpjYW5SZXBsYWNlQ2hpbGQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vZGU6OmR1bXBTdGF0aXN0aWNzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmlzRGVmYXVsdE5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpsb29r
dXBQcmVmaXgpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bG9va3VwTmFtZXNwYWNlVVJJKToK
KyAgICAgICAgKFdlYkNvcmU6OmFwcGVuZFRleHRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OnNldFRleHRDb250ZW50KToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAq
IGRvbS9SYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsZW5ndGhPZkNvbnRlbnRzSW5Ob2Rl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpwcm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0
cyk6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6aW5zZXJ0Tm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpSYW5nZTo6Y2hlY2tOb2RlV09mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6
Y2hlY2tOb2RlQkEpOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OnNlbGVjdE5vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmFuZ2U6OnNlbGVjdE5vZGVDb250ZW50cyk6CisgICAgICAgIChXZWJD
b3JlOjpSYW5nZTo6c3Vycm91bmRDb250ZW50cyk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6bm9kZVR5cGUpOgorICAgICAgICAq
IGRvbS9UcmF2ZXJzYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJhdmVyc2FsOjphY2NlcHRO
b2RlKToKKyAgICAgICAgKiBlZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdGFydE1hcmt1cCk6CisgICAgICAg
ICogaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTmFtZXM6OmlzUm9vdE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFj
azo6cHVzaFJvb3ROb2RlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNr
Lmg6CisgICAgICAgIChXZWJDb3JlOjppc0luSFRNTE5hbWVzcGFjZSk6CisgICAgICAgICogeG1s
L1hQYXRoVXRpbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6aXNWYWxpZENvbnRleHRO
b2RlKToKKwogMjAxMS0wNC0yMSAgRXVuc29sIFBhcmsgIDxldW5zb2w0Ny5wYXJrQHNhbXN1bmcu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcAppbmRleCAxZjAxOGNkY2FiNDJlMTljMWJk
NGI3MzJiMjdiZmNkZmVkNTU3YTZmLi44YmE5NjcxZjAwZmY2MmViMmM0ZDk0YmU2ZTQyZDg2Y2Nj
ODMxNzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAK
QEAgLTI5MSwxMSArMjkxLDEwIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUgY3JlYXRl
V3JhcHBlcklubGluZShFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqCiAgICAgICAgICAg
ICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9OT0RFX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBO
b3RhdGlvbiwgbm9kZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOb2RlOjpE
T0NVTUVOVF9GUkFHTUVOVF9OT0RFOgotICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSAnaWYn
IG9uY2UgU2hhZG93Um9vdCBnZXRzIGl0cyBvd24gbm9kZSB0eXBlIChzZWUgYnVnIDU4NzA0KQot
ICAgICAgICAgICAgaWYgKG5vZGUtPmlzU2hhZG93Qm91bmRhcnkoKSkKLSAgICAgICAgICAgICAg
ICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9OT0RFX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBO
b2RlLCBub2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB3cmFwcGVyID0g
Q1JFQVRFX0RPTV9OT0RFX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBEb2N1bWVudEZyYWdt
ZW50LCBub2RlKTsKKyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX05PREVfV1JBUFBF
UihleGVjLCBnbG9iYWxPYmplY3QsIERvY3VtZW50RnJhZ21lbnQsIG5vZGUpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgTm9kZTo6U0hBRE9XX1JPT1RfTk9ERToKKyAgICAgICAg
ICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX05PREVfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3Qs
IE5vZGUsIG5vZGUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTm9kZTo6RU5U
SVRZX1JFRkVSRU5DRV9OT0RFOgogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fTk9E
RV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgRW50aXR5UmVmZXJlbmNlLCBub2RlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NLm1tIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0KaW5kZXggMWMyNGRlNjNhZGQ3OWZlMTUwYjQzODEx
MmI4OWU0OTgxOWFhMmMxNC4uMDk0MTNjY2Y4MTJlZGVlNTdmMjg0ZjhkMTQzMDMxOGI1MTdiZjcy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0KQEAgLTMyNiw2ICszMjYsOSBAQCBD
bGFzcyBraXRDbGFzcyhXZWJDb3JlOjpOb2RlKiBpbXBsKQogICAgICAgICAgICAgLy8gRklYTUU6
IENyZWF0ZSBhbiBYUGF0aCBvYmplY3RpdmUgQyB3cmFwcGVyCiAgICAgICAgICAgICAvLyBTZWUg
aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc1NQogICAgICAgICAgICAg
cmV0dXJuIG5pbDsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpOb2RlOjpTSEFET1dfUk9PVF9OT0RF
OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4g
bmlsOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbmlsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNw
cAppbmRleCAzMDczMzA0MTE2Njk2OWRjOWRkYTc5YTZiODdjNGVkMDc4MGQ0NzE3Li43NTA3Mjcy
Yzk2ZGQwNTEzZjcyOTFlMmE3MWNmZmQxNGE2ODQyYzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApAQCAtMTYzLDEwICsxNjMs
OSBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOFNsb3coTm9kZSogaW1wbCwgYm9vbCBmb3Jj
ZU5ld09iamVjdCkKICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX1RZUEVfTk9ERToKICAgICAgICAg
cmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RG9jdW1lbnRUeXBlKj4oaW1wbCksIGZvcmNlTmV3T2Jq
ZWN0KTsKICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Ci0gICAgICAgIC8v
IEZJWE1FOiByZW1vdmUgJ2lmJyBvbmNlIFNoYWRvd1Jvb3QgZ2V0cyBpdHMgb3duIG5vZGUgdHlw
ZSAoc2VlIGJ1ZyA1ODcwNCkKLSAgICAgICAgaWYgKGltcGwtPmlzU2hhZG93Qm91bmRhcnkoKSkK
LSAgICAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFNoYWRvd1Jvb3QqPihpbXBsKSwg
Zm9yY2VOZXdPYmplY3QpOwogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxEb2N1bWVu
dEZyYWdtZW50Kj4oaW1wbCksIGZvcmNlTmV3T2JqZWN0KTsKKyAgICBjYXNlIE5vZGU6OlNIQURP
V19ST09UX05PREU6CisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFNoYWRvd1Jvb3Qq
PihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9ERToK
ICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Tm90YXRpb24qPihpbXBsKSwgZm9yY2VO
ZXdPYmplY3QpOwogICAgIGRlZmF1bHQ6IGJyZWFrOyAvLyBYUEFUSF9OQU1FU1BBQ0VfTk9ERQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNmY2OTMyMzQzNThkZDA1YzBkZTg0MmI1NGViMzBh
ZjYwM2Q1OTBmYi4uNDQwODdmZmI4MDAyNjE2MTBlOWE1NDk1MTE5YzNlODNlNmQ4MmYwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMzMsNiArMTMzLDcgQEAKICNpbmNsdWRlICJTZWdt
ZW50ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3RhdGlj
SGFzaFNldE5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldExpc3QuaCIKICNpbmNsdWRl
ICJUZXh0RXZlbnQuaCIKQEAgLTg1MCw5ICs4NTEsMTEgQEAgUGFzc1JlZlB0cjxOb2RlPiBEb2N1
bWVudDo6aW1wb3J0Tm9kZShOb2RlKiBpbXBvcnRlZE5vZGUsIGJvb2wgZGVlcCwgRXhjZXB0aW9u
Q28KICAgICBjYXNlIERPQ1VNRU5UX05PREU6CiAgICAgY2FzZSBET0NVTUVOVF9UWVBFX05PREU6
CiAgICAgY2FzZSBYUEFUSF9OQU1FU1BBQ0VfTk9ERToKKyAgICBjYXNlIFNIQURPV19ST09UX05P
REU6CisgICAgICAgIC8vIFNoYWRvd1Jvb3Qgbm9kZXMgc2hvdWxkIG5vdCBiZSBleHBsaWNpdGx5
IGltcG9ydGFibGUuCisgICAgICAgIC8vIEVpdGhlciB0aGV5IGFyZSBpbXBvcnRlZCBhbG9uZyB3
aXRoIHRoZWlyIGhvc3Qgbm9kZSwgb3IgY3JlYXRlZCBpbXBsaWNpdGx5LgogICAgICAgICBicmVh
azsKICAgICB9Ci0KICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwogICAgIHJldHVybiAwOwog
fQpAQCAtMjcxNSw2ICsyNzE4LDcgQEAgYm9vbCBEb2N1bWVudDo6Y2hpbGRUeXBlQWxsb3dlZChO
b2RlVHlwZSB0eXBlKSBjb25zdAogICAgIGNhc2UgTk9UQVRJT05fTk9ERToKICAgICBjYXNlIFRF
WFRfTk9ERToKICAgICBjYXNlIFhQQVRIX05BTUVTUEFDRV9OT0RFOgorICAgIGNhc2UgU0hBRE9X
X1JPT1RfTk9ERToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgQ09NTUVOVF9OT0RF
OgogICAgIGNhc2UgUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOgpAQCAtMjc4NCw2ICsyNzg4
LDkgQEAgYm9vbCBEb2N1bWVudDo6Y2FuUmVwbGFjZUNoaWxkKE5vZGUqIG5ld0NoaWxkLCBOb2Rl
KiBvbGRDaGlsZCkKICAgICAgICAgICAgIGNhc2UgRUxFTUVOVF9OT0RFOgogICAgICAgICAgICAg
ICAgIG51bUVsZW1lbnRzKys7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBj
YXNlIFNIQURPV19ST09UX05PREU6CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgfSBlbHNlIHsKQEAgLTI3OTcsNiArMjgwNCw3IEBAIGJvb2wgRG9jdW1lbnQ6OmNh
blJlcGxhY2VDaGlsZChOb2RlKiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQpCiAgICAgICAgIGNh
c2UgTk9UQVRJT05fTk9ERToKICAgICAgICAgY2FzZSBURVhUX05PREU6CiAgICAgICAgIGNhc2Ug
WFBBVEhfTkFNRVNQQUNFX05PREU6CisgICAgICAgIGNhc2UgU0hBRE9XX1JPT1RfTk9ERToKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgY2FzZSBDT01NRU5UX05PREU6CiAgICAg
ICAgIGNhc2UgUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4
IDQxZjUzZTE3ZGIyNGQxNDk4MzM5ODI2OGVjYmU1OGM1YTYwNGZmMTMuLjJlZTNmMGFhYTA4OGM0
ZDNjMDkxOTgzZDA2MmY5OTdlM2YxYzIwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE1Miw2ICsx
NTIsNyBAQCB2b2lkIE5vZGU6OmR1bXBTdGF0aXN0aWNzKCkKICAgICBzaXplX3QgZnJhZ21lbnRO
b2RlcyA9IDA7CiAgICAgc2l6ZV90IG5vdGF0aW9uTm9kZXMgPSAwOwogICAgIHNpemVfdCB4cGF0
aE5TTm9kZXMgPSAwOworICAgIHNpemVfdCBzaGFkb3dSb290Tm9kZXMgPSAwOwogCiAgICAgSGFz
aE1hcDxTdHJpbmcsIHNpemVfdD4gcGVyVGFnQ291bnQ7CiAKQEAgLTI0Miw2ICsyNDMsMTAgQEAg
dm9pZCBOb2RlOjpkdW1wU3RhdGlzdGljcygpCiAgICAgICAgICAgICAgICAgKyt4cGF0aE5TTm9k
ZXM7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBj
YXNlIFNIQURPV19ST09UX05PREU6IHsKKyAgICAgICAgICAgICAgICArK3NoYWRvd1Jvb3ROb2Rl
czsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KIApAQCAtMjYyLDYgKzI2Nyw3IEBAIHZvaWQgTm9kZTo6ZHVtcFN0YXRpc3RpY3MoKQogICAg
IHByaW50ZigiICBOdW1iZXIgb2YgRG9jdW1lbnRGcmFnbWVudCBub2RlczogJXp1XG4iLCBmcmFn
bWVudE5vZGVzKTsKICAgICBwcmludGYoIiAgTnVtYmVyIG9mIE5vdGF0aW9uIG5vZGVzOiAlenVc
biIsIG5vdGF0aW9uTm9kZXMpOwogICAgIHByaW50ZigiICBOdW1iZXIgb2YgWFBhdGhOUyBub2Rl
czogJXp1XG4iLCB4cGF0aE5TTm9kZXMpOworICAgIHByaW50ZigiICBOdW1iZXIgb2YgU2hhZG93
Um9vdCBub2RlczogJXp1XG4iLCBzaGFkb3dSb290Tm9kZXMpOwogCiAgICAgcHJpbnRmKCJFbGVt
ZW50IHRhZyBuYW1lIGRpc3RpYnV0aW9uOlxuIik7CiAgICAgZm9yIChIYXNoTWFwPFN0cmluZywg
c2l6ZV90Pjo6aXRlcmF0b3IgaXQgPSBwZXJUYWdDb3VudC5iZWdpbigpOyBpdCAhPSBwZXJUYWdD
b3VudC5lbmQoKTsgKytpdCkKQEAgLTE5NTEsNiArMTk1Nyw3IEBAIGJvb2wgTm9kZTo6aXNEZWZh
dWx0TmFtZXNwYWNlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJTWF5YmVFbXB0eSkg
Y29uc3QKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5U
X1RZUEVfTk9ERToKICAgICAgICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOgorICAgICAg
ICBjYXNlIFNIQURPV19ST09UX05PREU6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGNhc2UgQVRUUklCVVRFX05PREU6IHsKICAgICAgICAgICAgIGNvbnN0IEF0dHIqIGF0dHIg
PSBzdGF0aWNfY2FzdDxjb25zdCBBdHRyKj4odGhpcyk7CkBAIC0xOTg0LDYgKzE5OTEsNyBAQCBT
dHJpbmcgTm9kZTo6bG9va3VwUHJlZml4KGNvbnN0IEF0b21pY1N0cmluZyAmbmFtZXNwYWNlVVJJ
KSBjb25zdAogICAgICAgICBjYXNlIE5PVEFUSU9OX05PREU6CiAgICAgICAgIGNhc2UgRE9DVU1F
TlRfRlJBR01FTlRfTk9ERToKICAgICAgICAgY2FzZSBET0NVTUVOVF9UWVBFX05PREU6CisgICAg
ICAgIGNhc2UgU0hBRE9XX1JPT1RfTk9ERToKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAgICAgY2FzZSBBVFRSSUJVVEVfTk9ERTogewogICAgICAgICAgICAgY29uc3QgQXR0ciAq
YXR0ciA9IHN0YXRpY19jYXN0PGNvbnN0IEF0dHIgKj4odGhpcyk7CkBAIC0yMDQ0LDYgKzIwNTIs
NyBAQCBTdHJpbmcgTm9kZTo6bG9va3VwTmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyAmcHJlZml4
KSBjb25zdAogICAgICAgICBjYXNlIE5PVEFUSU9OX05PREU6CiAgICAgICAgIGNhc2UgRE9DVU1F
TlRfVFlQRV9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CisgICAg
ICAgIGNhc2UgU0hBRE9XX1JPT1RfTk9ERToKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAgICAgY2FzZSBBVFRSSUJVVEVfTk9ERTogewogICAgICAgICAgICAgY29uc3QgQXR0ciAq
YXR0ciA9IHN0YXRpY19jYXN0PGNvbnN0IEF0dHIgKj4odGhpcyk7CkBAIC0yMTEyLDYgKzIxMjEs
NyBAQCBzdGF0aWMgdm9pZCBhcHBlbmRUZXh0Q29udGVudChjb25zdCBOb2RlKiBub2RlLCBib29s
IGNvbnZlcnRCUnNUb05ld2xpbmVzLCBib29sJgogICAgIGNhc2UgTm9kZTo6RU5USVRZX05PREU6
CiAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6CiAgICAgY2FzZSBOb2RlOjpE
T0NVTUVOVF9GUkFHTUVOVF9OT0RFOgorICAgIGNhc2UgTm9kZTo6U0hBRE9XX1JPT1RfTk9ERToK
ICAgICAgICAgaXNOdWxsU3RyaW5nID0gZmFsc2U7CiAgICAgICAgIGZvciAoTm9kZSogY2hpbGQg
PSBub2RlLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygp
KSB7CiAgICAgICAgICAgICBpZiAoY2hpbGQtPm5vZGVUeXBlKCkgPT0gTm9kZTo6Q09NTUVOVF9O
T0RFIHx8IGNoaWxkLT5ub2RlVHlwZSgpID09IE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05f
Tk9ERSkKQEAgLTIxNDksNyArMjE1OSw4IEBAIHZvaWQgTm9kZTo6c2V0VGV4dENvbnRlbnQoY29u
c3QgU3RyaW5nJiB0ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgY2FzZSBBVFRSSUJV
VEVfTk9ERToKICAgICAgICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBFTlRJVFlf
UkVGRVJFTkNFX05PREU6Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTogewor
ICAgICAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CisgICAgICAgIGNhc2UgU0hBRE9X
X1JPT1RfTk9ERTogewogICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogY29udGFpbmVyID0gdG9D
b250YWluZXJOb2RlKHRoaXMpOwogICAgICAgICAgICAgY29udGFpbmVyLT5yZW1vdmVDaGlsZHJl
bigpOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IGQ2
YTRiM2U0NTIzZmYzYWRmZTIxOGE3NDIxNDUzYmQ5Y2RkZDMzNjUuLjNhY2FlZmNlNGE0YzBmMjEx
ODNmMjg4N2E4ZDFhNDM5ZTgyZTBkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMTA5LDcgKzEwOSw4IEBA
IHB1YmxpYzoKICAgICAgICAgRE9DVU1FTlRfVFlQRV9OT0RFID0gMTAsCiAgICAgICAgIERPQ1VN
RU5UX0ZSQUdNRU5UX05PREUgPSAxMSwKICAgICAgICAgTk9UQVRJT05fTk9ERSA9IDEyLAotICAg
ICAgICBYUEFUSF9OQU1FU1BBQ0VfTk9ERSA9IDEzCisgICAgICAgIFhQQVRIX05BTUVTUEFDRV9O
T0RFID0gMTMsCisgICAgICAgIFNIQURPV19ST09UX05PREUgPSAxNAogICAgIH07CiAgICAgZW51
bSBEb2N1bWVudFBvc2l0aW9uIHsKICAgICAgICAgRE9DVU1FTlRfUE9TSVRJT05fRVFVSVZBTEVO
VCA9IDB4MDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAppbmRleCA0NjlhOTRhNDg1ZWI2MDJmMDgzNTAyY2Iw
MGNkYTBhNTQ3MTJiOTU5Li5iZTE5NmM4ODU3OWVmZjhjMzM1MDRhMGI5YzgxYTQ3N2RjYzQ5YTY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5jcHAKQEAgLTY1NCw2ICs2NTQsNyBAQCBzdGF0aWMgaW5saW5lIHVu
c2lnbmVkIGxlbmd0aE9mQ29udGVudHNJbk5vZGUoTm9kZSogbm9kZSkKICAgICBjYXNlIE5vZGU6
OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CiAgICAgY2FzZSBOb2RlOjpOT1RBVElPTl9OT0RFOgog
ICAgIGNhc2UgTm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREU6CisgICAgY2FzZSBOb2RlOjpTSEFE
T1dfUk9PVF9OT0RFOgogICAgICAgICByZXR1cm4gbm9kZS0+Y2hpbGROb2RlQ291bnQoKTsKICAg
ICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC04MTMsNiArODE0LDcgQEAgUGFzc1Jl
ZlB0cjxOb2RlPiBSYW5nZTo6cHJvY2Vzc0NvbnRlbnRzQmV0d2Vlbk9mZnNldHMoQWN0aW9uVHlw
ZSBhY3Rpb24sIFBhc3NSZWYKICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6
CiAgICAgY2FzZSBOb2RlOjpOT1RBVElPTl9OT0RFOgogICAgIGNhc2UgTm9kZTo6WFBBVEhfTkFN
RVNQQUNFX05PREU6CisgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAgICAgICAv
LyBGSVhNRTogU2hvdWxkIHdlIGFzc2VydCB0aGF0IHNvbWUgbm9kZXMgbmV2ZXIgYXBwZWFyIGhl
cmU/CiAgICAgICAgIGlmIChhY3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUyB8fCBhY3Rpb24gPT0g
Q0xPTkVfQ09OVEVOVFMpIHsKICAgICAgICAgICAgIGlmIChmcmFnbWVudCkKQEAgLTk4NywxMSAr
OTg5LDE3IEBAIHZvaWQgUmFuZ2U6Omluc2VydE5vZGUoUGFzc1JlZlB0cjxOb2RlPiBwcnBOZXdO
b2RlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgfQogICAgIH0KIAotICAgIC8vIElOVkFM
SURfTk9ERV9UWVBFX0VSUjogUmFpc2VkIGlmIG5ld05vZGUgaXMgYW4gQXR0ciwgRW50aXR5LCBO
b3RhdGlvbiwgb3IgRG9jdW1lbnQgbm9kZS4KLSAgICBpZiAobmV3Tm9kZVR5cGUgPT0gTm9kZTo6
QVRUUklCVVRFX05PREUgfHwgbmV3Tm9kZVR5cGUgPT0gTm9kZTo6RU5USVRZX05PREUKLSAgICAg
ICAgICAgIHx8IG5ld05vZGVUeXBlID09IE5vZGU6Ok5PVEFUSU9OX05PREUgfHwgbmV3Tm9kZVR5
cGUgPT0gTm9kZTo6RE9DVU1FTlRfTk9ERSkgeworICAgIC8vIElOVkFMSURfTk9ERV9UWVBFX0VS
UjogUmFpc2VkIGlmIG5ld05vZGUgaXMgYW4gQXR0ciwgRW50aXR5LCBOb3RhdGlvbiwgU2hhZG93
Um9vdCBvciBEb2N1bWVudCBub2RlLgorICAgIHN3aXRjaCAobmV3Tm9kZVR5cGUpIHsKKyAgICBj
YXNlIE5vZGU6OkFUVFJJQlVURV9OT0RFOgorICAgIGNhc2UgTm9kZTo6RU5USVRZX05PREU6Cisg
ICAgY2FzZSBOb2RlOjpOT1RBVElPTl9OT0RFOgorICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfTk9E
RToKKyAgICBjYXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CiAgICAgICAgIGVjID0gUmFuZ2VF
eGNlcHRpb246OklOVkFMSURfTk9ERV9UWVBFX0VSUjsKICAgICAgICAgcmV0dXJuOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGJvb2wgY29sbGFwc2VkID0gbV9z
dGFydCA9PSBtX2VuZDsKQEAgLTExMjcsNyArMTEzNSw4IEBAIE5vZGUqIFJhbmdlOjpjaGVja05v
ZGVXT2Zmc2V0KE5vZGUqIG4sIGludCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAog
ICAgICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX05PREU6CiAgICAgICAgIGNhc2UgTm9kZTo6RUxF
TUVOVF9OT0RFOgogICAgICAgICBjYXNlIE5vZGU6OkVOVElUWV9SRUZFUkVOQ0VfTk9ERToKLSAg
ICAgICAgY2FzZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERTogeworICAgICAgICBjYXNlIE5v
ZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFOgorICAgICAgICBjYXNlIE5vZGU6OlNIQURPV19ST09U
X05PREU6IHsKICAgICAgICAgICAgIGlmICghb2Zmc2V0KQogICAgICAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICAgICAgTm9kZSogY2hpbGRCZWZvcmUgPSBuLT5jaGlsZE5vZGUob2Zmc2V0
IC0gMSk7CkBAIC0xMTQzLDggKzExNTIsOCBAQCBOb2RlKiBSYW5nZTo6Y2hlY2tOb2RlV09mZnNl
dChOb2RlKiBuLCBpbnQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKIHZvaWQgUmFu
Z2U6OmNoZWNrTm9kZUJBKE5vZGUqIG4sIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogewogICAg
IC8vIElOVkFMSURfTk9ERV9UWVBFX0VSUjogUmFpc2VkIGlmIHRoZSByb290IGNvbnRhaW5lciBv
ZiByZWZOb2RlIGlzIG5vdCBhbgotICAgIC8vIEF0dHIsIERvY3VtZW50IG9yIERvY3VtZW50RnJh
Z21lbnQgbm9kZSBvciBwYXJ0IG9mIGEgc2hhZG93IERPTSB0cmVlCi0gICAgLy8gb3IgaWYgcmVm
Tm9kZSBpcyBhIERvY3VtZW50LCBEb2N1bWVudEZyYWdtZW50LCBBdHRyLCBFbnRpdHksIG9yIE5v
dGF0aW9uIG5vZGUuCisgICAgLy8gQXR0ciwgRG9jdW1lbnQsIERvY3VtZW50RnJhZ21lbnQgb3Ig
U2hhZG93Um9vdCBub2RlLCBvciBwYXJ0IG9mIGEgU1ZHIHNoYWRvdyBET00gdHJlZSwKKyAgICAv
LyBvciBpZiByZWZOb2RlIGlzIGEgRG9jdW1lbnQsIERvY3VtZW50RnJhZ21lbnQsIFNoYWRvd1Jv
b3QsIEF0dHIsIEVudGl0eSwgb3IgTm90YXRpb24gbm9kZS4KIAogICAgIHN3aXRjaCAobi0+bm9k
ZVR5cGUoKSkgewogICAgICAgICBjYXNlIE5vZGU6OkFUVFJJQlVURV9OT0RFOgpAQCAtMTE1Miw2
ICsxMTYxLDcgQEAgdm9pZCBSYW5nZTo6Y2hlY2tOb2RlQkEoTm9kZSogbiwgRXhjZXB0aW9uQ29k
ZSYgZWMpIGNvbnN0CiAgICAgICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfTk9ERToKICAgICAgICAg
Y2FzZSBOb2RlOjpFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOb2RlOjpOT1RBVElPTl9OT0RF
OgorICAgICAgICBjYXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CiAgICAgICAgICAgICBlYyA9
IFJhbmdlRXhjZXB0aW9uOjpJTlZBTElEX05PREVfVFlQRV9FUlI7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIGNhc2UgTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RFOgpAQCAtMTE3Myw2ICsx
MTgzLDcgQEAgdm9pZCBSYW5nZTo6Y2hlY2tOb2RlQkEoTm9kZSogbiwgRXhjZXB0aW9uQ29kZSYg
ZWMpIGNvbnN0CiAgICAgICAgIGNhc2UgTm9kZTo6QVRUUklCVVRFX05PREU6CiAgICAgICAgIGNh
c2UgTm9kZTo6RE9DVU1FTlRfTk9ERToKICAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9GUkFH
TUVOVF9OT0RFOgorICAgICAgICBjYXNlIE5vZGU6OlNIQURPV19ST09UX05PREU6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBOb2RlOjpDREFUQV9TRUNUSU9OX05PREU6CiAgICAg
ICAgIGNhc2UgTm9kZTo6Q09NTUVOVF9OT0RFOgpAQCAtMTE4NCw3ICsxMTk1LDcgQEAgdm9pZCBS
YW5nZTo6Y2hlY2tOb2RlQkEoTm9kZSogbiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAg
ICAgIGNhc2UgTm9kZTo6UFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOgogICAgICAgICBjYXNl
IE5vZGU6OlRFWFRfTk9ERToKICAgICAgICAgY2FzZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9E
RToKLSAgICAgICAgICAgIGlmIChyb290LT5pc1NoYWRvd1Jvb3QoKSkKKyAgICAgICAgICAgIGlm
IChyb290LT5pc1NWR1NoYWRvd1Jvb3QoKSkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIGVjID0gUmFuZ2VFeGNlcHRpb246OklOVkFMSURfTk9ERV9UWVBFX0VSUjsKICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTEyOTAsNyArMTMwMSw3IEBAIHZvaWQgUmFuZ2U6OnNlbGVjdE5v
ZGUoTm9kZSogcmVmTm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgfQogCiAgICAgLy8gSU5W
QUxJRF9OT0RFX1RZUEVfRVJSOiBSYWlzZWQgaWYgYW4gYW5jZXN0b3Igb2YgcmVmTm9kZSBpcyBh
biBFbnRpdHksIE5vdGF0aW9uIG9yCi0gICAgLy8gRG9jdW1lbnRUeXBlIG5vZGUgb3IgaWYgcmVm
Tm9kZSBpcyBhIERvY3VtZW50LCBEb2N1bWVudEZyYWdtZW50LCBBdHRyLCBFbnRpdHksIG9yIE5v
dGF0aW9uCisgICAgLy8gRG9jdW1lbnRUeXBlIG5vZGUgb3IgaWYgcmVmTm9kZSBpcyBhIERvY3Vt
ZW50LCBEb2N1bWVudEZyYWdtZW50LCBTaGFkb3dSb290LCBBdHRyLCBFbnRpdHksIG9yIE5vdGF0
aW9uCiAgICAgLy8gbm9kZS4KICAgICBmb3IgKENvbnRhaW5lck5vZGUqIGFuYyA9IHJlZk5vZGUt
PnBhcmVudE5vZGUoKTsgYW5jOyBhbmMgPSBhbmMtPnBhcmVudE5vZGUoKSkgewogICAgICAgICBz
d2l0Y2ggKGFuYy0+bm9kZVR5cGUoKSkgewpAQCAtMTMwNCw2ICsxMzE1LDcgQEAgdm9pZCBSYW5n
ZTo6c2VsZWN0Tm9kZShOb2RlKiByZWZOb2RlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAg
ICAgIGNhc2UgTm9kZTo6UFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFOgogICAgICAgICAgICAg
Y2FzZSBOb2RlOjpURVhUX05PREU6CiAgICAgICAgICAgICBjYXNlIE5vZGU6OlhQQVRIX05BTUVT
UEFDRV9OT0RFOgorICAgICAgICAgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9UWVBF
X05PREU6CiAgICAgICAgICAgICBjYXNlIE5vZGU6OkVOVElUWV9OT0RFOgpAQCAtMTMyOCw2ICsx
MzQwLDcgQEAgdm9pZCBSYW5nZTo6c2VsZWN0Tm9kZShOb2RlKiByZWZOb2RlLCBFeGNlcHRpb25D
b2RlJiBlYykKICAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9OT0RFOgogICAgICAgICBjYXNl
IE5vZGU6OkVOVElUWV9OT0RFOgogICAgICAgICBjYXNlIE5vZGU6Ok5PVEFUSU9OX05PREU6Cisg
ICAgICAgIGNhc2UgTm9kZTo6U0hBRE9XX1JPT1RfTk9ERToKICAgICAgICAgICAgIGVjID0gUmFu
Z2VFeGNlcHRpb246OklOVkFMSURfTk9ERV9UWVBFX0VSUjsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC0xMzY4LDYgKzEzODEsNyBAQCB2b2lkIFJhbmdlOjpzZWxlY3ROb2RlQ29udGVu
dHMoTm9kZSogcmVmTm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgICAgICBjYXNlIE5v
ZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToKICAgICAgICAgICAgIGNhc2UgTm9kZTo6
VEVYVF9OT0RFOgogICAgICAgICAgICAgY2FzZSBOb2RlOjpYUEFUSF9OQU1FU1BBQ0VfTk9ERToK
KyAgICAgICAgICAgIGNhc2UgTm9kZTo6U0hBRE9XX1JPT1RfTk9ERToKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfVFlQRV9OT0RFOgogICAg
ICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9ERToKQEAgLTE0MTYsNiArMTQzMCw3IEBAIHZv
aWQgUmFuZ2U6OnN1cnJvdW5kQ29udGVudHMoUGFzc1JlZlB0cjxOb2RlPiBwYXNzTmV3UGFyZW50
LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgY2FzZSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RS
VUNUSU9OX05PREU6CiAgICAgICAgIGNhc2UgTm9kZTo6VEVYVF9OT0RFOgogICAgICAgICBjYXNl
IE5vZGU6OlhQQVRIX05BTUVTUEFDRV9OT0RFOgorICAgICAgICBjYXNlIE5vZGU6OlNIQURPV19S
T09UX05PREU6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcAppbmRleCBlNTQ3NjdlODBkNmU3ZWMxOTM2MTc0ODExNjY2M2U5MDBjOGIxMmRlLi5m
ZWQxMWJiZTdhZTVkNWE1YTk0MWYyZDJiNWNhMzE1NWQ2MjBkMTlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuY3BwCkBAIC01NSw4ICs1NSw3IEBAIFN0cmluZyBTaGFkb3dSb290Ojpub2RlTmFt
ZSgpIGNvbnN0CiAKIE5vZGU6Ok5vZGVUeXBlIFNoYWRvd1Jvb3Q6Om5vZGVUeXBlKCkgY29uc3QK
IHsKLSAgICAvLyBGSVhNRTogRGVjaWRlIGNvcnJlY3Qgbm9kZSB0eXBlIChidWcgNTg3MDQpLgot
ICAgIHJldHVybiBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOworICAgIHJldHVybiBTSEFET1dfUk9P
VF9OT0RFOwogfQogCiBQYXNzUmVmUHRyPE5vZGU+IFNoYWRvd1Jvb3Q6OmNsb25lTm9kZShib29s
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYXZlcnNhbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVHJhdmVyc2FsLmNwcAppbmRleCA1ZDU2ZGViY2JiZGU4NWNlMGU5MDFjYjE3
MDljZWFkMmI5NTE3NGQ4Li5mODJlZTJjZDFmYmQ4OGEyNjg1YTliMzdmOTIzNDc3ZDgyMTdmYmI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhdmVyc2FsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVHJhdmVyc2FsLmNwcApAQCAtNDMsNyArNDMsNyBAQCBzaG9ydCBUcmF2
ZXJzYWw6OmFjY2VwdE5vZGUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlKSBjb25zdAog
ICAgIC8vIEZJWE1FOiBUbyBoYW5kbGUgWE1MIHByb3Blcmx5IHdlIHdvdWxkIGhhdmUgdG8gY2hl
Y2sgbV9leHBhbmRFbnRpdHlSZWZlcmVuY2VzLgogCiAgICAgLy8gVGhlIGJpdCB0d2lkZGxpbmcg
aGVyZSBpcyBkb25lIHRvIG1hcCBET00gbm9kZSB0eXBlcywgd2hpY2ggYXJlIGdpdmVuIGFzIGlu
dGVnZXJzIGZyb20KLSAgICAvLyAxIHRocm91Z2ggMTIsIHRvIHdoYXRUb1Nob3cgYml0IG1hc2tz
LgorICAgIC8vIDEgdGhyb3VnaCAxNCwgdG8gd2hhdFRvU2hvdyBiaXQgbWFza3MuCiAgICAgaWYg
KCEoKCgxIDw8IChub2RlLT5ub2RlVHlwZSgpIC0gMSkpICYgbV93aGF0VG9TaG93KSkpCiAgICAg
ICAgIHJldHVybiBOb2RlRmlsdGVyOjpGSUxURVJfU0tJUDsKICAgICBpZiAoIW1fZmlsdGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcAppbmRleCBmNDQ4
OWM1NjlmMTljNzVhOWZhYzI2Y2I3MjkyOGE2ZWUyZTRjYTU4Li5iNmQ4NWQ2MWRiZTQxNWVkNTIx
NzE3ZTlkNDllZGNhMTRlMjM1ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L01hcmt1cEFjY3VtdWxhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1
cEFjY3VtdWxhdG9yLmNwcApAQCAtNDE4LDYgKzQxOCw3IEBAIHZvaWQgTWFya3VwQWNjdW11bGF0
b3I6OmFwcGVuZFN0YXJ0TWFya3VwKFZlY3RvcjxVQ2hhcj4mIHJlc3VsdCwgY29uc3QgTm9kZSog
bm9kCiAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6CiAgICAgY2FzZSBOb2Rl
OjpOT1RBVElPTl9OT0RFOgogICAgIGNhc2UgTm9kZTo6WFBBVEhfTkFNRVNQQUNFX05PREU6Cisg
ICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RFOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcAppbmRleCBhNGE3MzgzMzY1N2U2MzFkZGZiMWZkZmQ1
YmY0YWQ1YzA4MmJlOTc0Li4xOTU1MDliZDk5YjE1MzIzYjk5NjViYzRjNDMyNTVmYzhjOWUyN2Zi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNw
cApAQCAtNTMsNiArNTMsNyBAQCBpbmxpbmUgYm9vbCBpc051bWJlcmVkSGVhZGVyRWxlbWVudChD
b250YWluZXJOb2RlKiBub2RlKQogaW5saW5lIGJvb2wgaXNSb290Tm9kZShDb250YWluZXJOb2Rl
KiBub2RlKQogewogICAgIHJldHVybiBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5U
X0ZSQUdNRU5UX05PREUKKyAgICAgICAgfHwgbm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpTSEFE
T1dfUk9PVF9OT0RFCiAgICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoaHRtbFRhZyk7CiB9CiAK
QEAgLTI4MSw3ICsyODIsNyBAQCB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsRm9yZWln
bkNvbnRlbnRTY29wZU1hcmtlcigpCiAgICAgCiB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnB1c2hS
b290Tm9kZShQYXNzUmVmUHRyPENvbnRhaW5lck5vZGU+IHJvb3ROb2RlKQogewotICAgIEFTU0VS
VChyb290Tm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpET0NVTUVOVF9GUkFHTUVOVF9OT0RFKTsK
KyAgICBBU1NFUlQocm9vdE5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfRlJBR01F
TlRfTk9ERSB8fCByb290Tm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpTSEFET1dfUk9PVF9OT0RF
KTsKICAgICBwdXNoUm9vdE5vZGVDb21tb24ocm9vdE5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggZmQwZTQ5NDk3MTg4NWFi
ZDg2ZThkNTM2Mjc1ZDI3NDVkMjZjMTI5NS4uMjc4ODc5MzhjODU0MWIxMjYzMWFmZWNjOTc2OWQx
ZDQxNTVmN2Q3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVs
ZW1lbnRTdGFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50
U3RhY2suaApAQCAtMTc0LDcgKzE3NCw4IEBAIGlubGluZSBib29sIGlzSW5IVE1MTmFtZXNwYWNl
KE5vZGUqIG5vZGUpCiAgICAgLy8gQSBEb2N1bWVudEZyYWdtZW50IHRha2VzIHRoZSBwbGFjZSBv
ZiB0aGUgZG9jdW1lbnQgZWxlbWVudCB3aGVuIHBhcnNpbmcKICAgICAvLyBmcmFnbWVudHMgYW5k
IHNob3VsZCBiZSBjb25zaWRlcmVkIGluIHRoZSBIVE1MIG5hbWVzcGFjZS4KICAgICByZXR1cm4g
bm9kZS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVSSQotICAg
ICAgICB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU7
CisgICAgICAgIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfRlJBR01FTlRf
Tk9ERQorICAgICAgICB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlNIQURPV19ST09UX05P
REU7IC8vIEZJWE1FOiBEb2VzIHRoaXMgYWxzbyBhcHBseSB0byBTaGFkb3dSb290PwogfQogCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFV0aWwuY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKaW5kZXggMDEwMGJlYTQ4YjNhYjljN2Y4Zjk4YmE3NzUy
MjBkZWZhNmJkNmVlMC4uNzNkMmRlYjU4MDc5YTMxYzcwZjMwMzY3OGMzMDY2M2NjYmZmN2Q2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoVXRpbC5jcHAKQEAgLTg2LDYgKzg2LDcgQEAgYm9vbCBpc1ZhbGlk
Q29udGV4dE5vZGUoTm9kZSogbm9kZSkKICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9ERToK
ICAgICAgICAgY2FzZSBOb2RlOjpFTlRJVFlfUkVGRVJFTkNFX05PREU6CiAgICAgICAgIGNhc2Ug
Tm9kZTo6Tk9UQVRJT05fTk9ERToKKyAgICAgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RF
OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIE5vZGU6OlRFWFRfTk9E
RToKICAgICAgICAgICAgIHJldHVybiAhKG5vZGUtPnBhcmVudE5vZGUoKSAmJiBub2RlLT5wYXJl
bnROb2RlKCktPmlzQXR0cmlidXRlTm9kZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggM2Y0MmJiMTQ4NzU2OWZhMWM2OGE3ZjA4MDEzOWQ4MDFmNWJlNTEzNy4uY2JlNjM3MDQ1ZDgw
ZGYwMWFjNDIxMGQ4Njc2YmVhMWQ2MDVmMjU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNC0yMSAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVp
bmVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCdWcgNTg3MDQgLSBEZWNpZGUgb24gbm9kZSB0eXBlIGZvciBTaGFkb3dSb290
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODcwNAor
CisgICAgICAgIEFkZCBhIG5ldyBlbnVtIGVudHJ5IHRvIFdlYk5vZGU6Ok5vZGVUeXBlIGZvciBz
aGFkb3cgcm9vdHMuCisgICAgICAgIEFkYXB0IGNhbGxpbmcgc2l0ZXMgZm9yIG5ldyBTSEFET1df
Uk9PVF9OT0RFIG5vZGUgdHlwZS4KKworICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6CisgICAg
ICAgICogc3JjL1dlYlBhZ2VTZXJpYWxpemVySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VTZXJpYWxpemVySW1wbDo6YnVpbGRDb250ZW50Rm9yTm9kZSk6CisKIDIwMTEtMDQtMjAg
IERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYk5vZGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5v
ZGUuaAppbmRleCA5MmIxN2Q0NjkyY2M5YjhhYmY5ODk3ODk5ZTUwNGRmNDkwMDI2NTdjLi5jNmJh
YTEyYjM4YjcxMjY0ZTk4YWYwNjQ2OTg1MDUyNTVjNzc5OWZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViTm9kZS5oCkBAIC04MCw3ICs4MCw4IEBAIHB1YmxpYzoKICAgICAgICAg
RG9jdW1lbnRUeXBlTm9kZSwKICAgICAgICAgRG9jdW1lbnRGcmFnbWVudE5vZGUsCiAgICAgICAg
IE5vdGF0aW9uTm9kZSwKLSAgICAgICAgWFBhdGhOYW1lc3BhY2VOb2RlCisgICAgICAgIFhQYXRo
TmFtZXNwYWNlTm9kZSwKKyAgICAgICAgU2hhZG93Um9vdE5vZGUKICAgICB9OwogICAgIFdFQktJ
VF9BUEkgTm9kZVR5cGUgbm9kZVR5cGUoKSBjb25zdDsKICAgICBXRUJLSVRfQVBJIFdlYk5vZGUg
cGFyZW50Tm9kZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUGFnZVNlcmlhbGl6ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBhZ2VTZXJpYWxpemVySW1wbC5jcHAKaW5kZXggMjgwNzQ3ZjMwNThiYjAyNzViNmJjYzhm
ODY3ZmIyMjQ4NzEwNjEzMS4uMjc5MmRiODQ4NTFhOGY4MzY5NzJhZWQ3OWRlYmU1ZmJmOThiOWJh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVNlcmlhbGl6
ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlU2VyaWFs
aXplckltcGwuY3BwCkBAIC00MTgsNiArNDE4LDcgQEAgdm9pZCBXZWJQYWdlU2VyaWFsaXplcklt
cGw6OmJ1aWxkQ29udGVudEZvck5vZGUoTm9kZSogbm9kZSwKICAgICBjYXNlIE5vZGU6OkFUVFJJ
QlVURV9OT0RFOgogICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfTk9ERToKICAgICBjYXNlIE5vZGU6
OkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CisgICAgY2FzZSBOb2RlOjpTSEFET1dfUk9PVF9OT0RF
OgogICAgICAgICAvLyBTaG91bGQgbm90IGV4aXN0LgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7Cg==
</data>
<flag name="review"
          id="83312"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>