<?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>49716</bug_id>
          
          <creation_ts>2010-11-17 23:26:56 -0800</creation_ts>
          <short_desc>Add more validation message functions</short_desc>
          <delta_ts>2010-11-18 20:49:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>310724</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-17 23:26:56 -0800</bug_when>
    <thetext>As discussed in http://codereview.chromium.org/4678006/, Chromium has a plain to reuse Firefox&apos;s messages.  Firefox has some type-specific valueMissing messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310727</commentid>
    <comment_count>1</comment_count>
      <attachid>74208</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-17 23:32:36 -0800</bug_when>
    <thetext>Created attachment 74208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>310915</commentid>
    <comment_count>2</comment_count>
      <attachid>74208</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-11-18 10:11:47 -0800</bug_when>
    <thetext>Comment on attachment 74208
Patch

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

&gt; WebCore/html/ValidityState.cpp:46
&gt; -    if (valueMissing())
&gt; -        return validationMessageValueMissingText();
&gt;      if (patternMismatch())
&gt;          return validationMessagePatternMismatchText();

Do we need to check valueMissing before pattermMismatch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311108</commentid>
    <comment_count>3</comment_count>
      <attachid>74208</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-18 15:06:25 -0800</bug_when>
    <thetext>Comment on attachment 74208
Patch

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

&gt;&gt; WebCore/html/ValidityState.cpp:46
&gt;&gt;          return validationMessagePatternMismatchText();
&gt; 
&gt; Do we need to check valueMissing before pattermMismatch?

Oh, good point.
If a page has &lt;input required pattern=&quot;[0-9]{4}&quot;&gt; and the field is empty, we should show valueMissing message, not patternMismatch message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311125</commentid>
    <comment_count>4</comment_count>
      <attachid>74302</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-18 15:25:14 -0800</bug_when>
    <thetext>Created attachment 74302
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311274</commentid>
    <comment_count>5</comment_count>
      <attachid>74302</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-18 20:48:57 -0800</bug_when>
    <thetext>Comment on attachment 74302
Patch 2

Clearing flags on attachment: 74302

Committed r72363: &lt;http://trac.webkit.org/changeset/72363&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311275</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-11-18 20:49:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74208</attachid>
            <date>2010-11-17 23:32:36 -0800</date>
            <delta_ts>2010-11-18 15:25:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49716-20101118163234.patch</filename>
            <type>text/plain</type>
            <size>24388</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDg3NTZlOGQxMmZiYmFiY2UyYjViNTFiYmNmNDk3NDYyZjkxZTI5OS4uOTMwZmIxNzMyM2UyMTNi
OGYyMzRkOTg4OWY5YTExY2E1ZmQwYzU0NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAorMjAxMC0xMS0xNyAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1vcmUgdmFsaWRhdGlvbiBtZXNzYWdlIGZ1bmN0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3
MTYKKworICAgICAgICBBZGQgdGhlIGZvbGxvd2luZyBtZXNzYWdlIGZ1bmN0aW9uczoKKyAgICAg
ICAgLSB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94KCkKKyAgICAgICAg
LSB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGUoKQorICAgICAgICAtIHZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlKCkKKyAgICAgICAgLSB2YWxp
ZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvKCkKKyAgICAgICAgLSB2YWxpZGF0aW9u
TWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdCgpCisKKyAgICAgICAgYW5kIHVwZGF0ZSBWYWxp
ZGl0eVN0YXRlLCBIVE1MSW5wdXRFbGVtZW50LCBhbmQgSW5wdXRUeXBlcyB0byB1c2UgdGhlbS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlzIGRvZXNuJ3QgY2hhbmdlIHZpc2li
bGUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBodG1sL0NoZWNrYm94SW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNoZWNrYm94SW5wdXRUeXBlOjp2YWx1ZU1pc3NpbmdUZXh0KToKKyAg
ICAgICAgKiBodG1sL0NoZWNrYm94SW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9GaWxlSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6OnZhbHVlTWlzc2lu
Z1RleHQpOgorICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
Ojp2YWx1ZU1pc3NpbmdUZXh0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5
cGU6OnZhbHVlTWlzc2luZ1RleHQpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAg
ICAgICogaHRtbC9SYWRpb0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYWRpb0lu
cHV0VHlwZTo6dmFsdWVNaXNzaW5nVGV4dCk6CisgICAgICAgICogaHRtbC9SYWRpb0lucHV0VHlw
ZS5oOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWYWxpZGl0eVN0YXRlOjp2YWxpZGF0aW9uTWVzc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCk6CisgICAgICAg
IChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRl
eHQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9hbmRyb2lkL0xvY2FsaXplZFN0cmluZ3NBbmRyb2lkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmlsZVRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0
aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdl
VmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vYnJldy9Mb2Nh
bGl6ZWRTdHJpbmdzQnJldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCk6CisgICAgICAg
IChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRl
eHQpOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
RmlsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdGb3JNdWx0aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRp
b25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxlRmlsZVRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1Rl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JT
ZWxlY3RUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9Mb2NhbGl6ZWRTdHJpbmdzSGFp
a3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
Q2hlY2tib3hUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yRmlsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisgICAgICAgICog
cGxhdGZvcm0vd3gvTG9jYWxpemVkU3RyaW5nc1d4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmlsZVRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
UmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nRm9yU2VsZWN0VGV4dCk6CisKIDIwMTAtMTEtMTcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3
MjIyOC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAgYi9X
ZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3BwCmluZGV4IDU3MmRkZTAzYTU1MDQyNjBj
MGU0YzcwMzFhOWZkYTIzN2QyYjU0NjkuLjVlMDE1ZTRmZDM4ZDQ5MTY3NWNlODhjZDhkMzdhMGQz
OTUzOGNmYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5wdXRUeXBlLmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIkNoZWNrYm94SW5wdXRUeXBlLmgiCiAKICNpbmNsdWRlICJIVE1MSW5wdXRF
bGVtZW50LmgiCisjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDQgKzUyLDkgQEAgYm9v
bCBDaGVja2JveElucHV0VHlwZTo6dmFsdWVNaXNzaW5nKGNvbnN0IFN0cmluZyYpIGNvbnN0CiAg
ICAgcmV0dXJuICFlbGVtZW50KCktPmNoZWNrZWQoKTsKIH0KIAorU3RyaW5nIENoZWNrYm94SW5w
dXRUeXBlOjp2YWx1ZU1pc3NpbmdUZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQoKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5wdXRUeXBlLmgg
Yi9XZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuaAppbmRleCBiNjhlMTRkNDc5YWE2YzBm
NGY5N2M3NDE0NGNmOTkxMDZmMDhhMWNjLi5hNGM0MTlkYjdkZWZmZWEyNWI5ZmU3OTczNDRlMWI4
YTE5Nzk4N2ZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuaAor
KysgYi9XZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuaApAQCAtNDMsNiArNDMsNyBAQCBw
cml2YXRlOgogICAgIENoZWNrYm94SW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQp
IDogQmFzZUNoZWNrYWJsZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0
IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IHZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyB2
YWx1ZU1pc3NpbmdUZXh0KCkgY29uc3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAgYi9XZWJDb3JlL2h0bWwv
RmlsZUlucHV0VHlwZS5jcHAKaW5kZXggZTlkMGI1ZWFlZWVjNzU1Mjg4N2M2NjY1MTE5ZTFiZjM4
MDZmOTZhYy4uYjVmYzJmYmQzYmVjNjhlMjAzNzJhZGM1M2FiYjBjY2ZhMWMwNzA3MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9G
aWxlSW5wdXRUeXBlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkZpbGVMaXN0Lmgi
CiAjaW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5o
IgorI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJSZW5kZXJGaWxlVXBs
b2FkQ29udHJvbC5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CkBAIC03Nyw2ICs3OCwxMSBAQCBib29sIEZpbGVJbnB1dFR5cGU6
OnZhbHVlTWlzc2luZyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgIHJldHVybiB2YWx1
ZS5pc0VtcHR5KCk7CiB9CiAKK1N0cmluZyBGaWxlSW5wdXRUeXBlOjp2YWx1ZU1pc3NpbmdUZXh0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZWxlbWVudCgpLT5tdWx0aXBsZSgpID8gdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVUZXh0KCkgOiB2YWxpZGF0aW9uTWVz
c2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KCk7Cit9CisKIGJvb2wgRmlsZUlucHV0VHlwZTo6
aGFuZGxlRE9NQWN0aXZhdGVFdmVudChFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKGVsZW1lbnQo
KS0+ZGlzYWJsZWQoKSB8fCAhZWxlbWVudCgpLT5yZW5kZXJlcigpKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmgK
aW5kZXggMTQyYWZhZjZjZjc5NTg1N2Y1YzUwMjljMWU4ZmNiMTYyZGMxYzgxMS4uZGY5NWZmY2I1
MWQ1MWJhMzE0YTk4MmJiODM2NGU4NzAxZDEzNGYxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0ZpbGVJbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCkBAIC00
NCw2ICs0NCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZv
cm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBhcHBlbmRGb3JtRGF0YShG
b3JtRGF0YUxpc3QmLCBib29sKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5n
KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1Rl
eHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRE9NQWN0aXZhdGVFdmVudChFdmVu
dCopOwogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVu
YSosIFJlbmRlclN0eWxlKikgY29uc3Q7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmlu
ZGV4IGFmNGU3ZDA1NDgyMTcxMTBlMzk3YzNiYzRhMWZlY2Y3NzY3YjU4MDkuLjQ5MzlmOGM3ODBm
YTBhNWFjYWMyMGE0YjBlOWI4MjBmNzBkN2IyN2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKQEAgLTI4MCw2ICsyODAsMTEgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVNaXNt
YXRjaFRleHQoKSBjb25zdAogICAgIHJldHVybiBtX2lucHV0VHlwZS0+dHlwZU1pc21hdGNoVGV4
dCgpOwogfQogCitTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nVGV4dCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT52YWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisK
IGJvb2wgSFRNTElucHV0RWxlbWVudDo6Z2V0QWxsb3dlZFZhbHVlU3RlcChkb3VibGUqIHN0ZXAp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldEFsbG93ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNl
cyhzdGVwLCAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmgg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDk4ODQxMTdiODExY2NhMTll
ZTA3NDdiMDVkMDViOGZjZTAyMmI1MWIuLjhmNmE0NzE5MzAzYjRlNjhhMDA0NjU0MzE5YWNiZDIx
YWVlN2U2MjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtNzMsNiArNzMsNyBAQCBwdWJs
aWM6CiAgICAgU3RyaW5nIHN0ZXBCYXNlU3RyaW5nKCkgY29uc3Q7CiAgICAgU3RyaW5nIHN0ZXBT
dHJpbmcoKSBjb25zdDsKICAgICBTdHJpbmcgdHlwZU1pc21hdGNoVGV4dCgpIGNvbnN0OworICAg
IFN0cmluZyB2YWx1ZU1pc3NpbmdUZXh0KCkgY29uc3Q7CiAKICAgICAvLyBJbXBsZW1lbnRhdGlv
bnMgb2YgSFRNTElucHV0RWxlbWVudDo6c3RlcFVwKCkgYW5kIHN0ZXBEb3duKCkuCiAgICAgdm9p
ZCBzdGVwVXAoaW50LCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4IDZkZDAwMmM0
ZjJhZmQxNTFlZDQyYmI4ZTMzMGUxZjUyMjRkODMyYzIuLjI5NGY3NWViZDcxOGU3MjE3NTljYmI2
NjVlMzQ5YTgzNTUyYTE3MDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3Bw
CisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0yNzUsNiArMjc1LDExIEBAIFN0
cmluZyBJbnB1dFR5cGU6OnR5cGVNaXNtYXRjaFRleHQoKSBjb25zdAogICAgIHJldHVybiB2YWxp
ZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaFRleHQoKTsKIH0KIAorU3RyaW5nIElucHV0VHlwZTo6
dmFsdWVNaXNzaW5nVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdl
VmFsdWVNaXNzaW5nVGV4dCgpOworfQorCiBib29sIElucHV0VHlwZTo6aGFuZGxlQ2xpY2tFdmVu
dChNb3VzZUV2ZW50KikKIHsKICAgICByZXR1cm4gZmFsc2U7CkBAIC00NzIsNCArNDc3LDMgQEAg
Y29uc3QgQXRvbWljU3RyaW5nJiB3ZWVrKCkKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmU6OklucHVU
eXBlTmFtZXMKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggZjFhNWI2
ZGNhMGY3ZmFlMjMwMjllOGMyNjk0OWRhYTIyMmQ3M2IxYS4uYzE0MTdmYTRlNGI0NjAwODQ0OTk1
YzQzNTcwZjY2ZWE4NGI0OTcxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
CisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMTAwLDYgKzEwMCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgc2NhbGVkU3RlcFZhbGV1U2hvdWxkQmVJbnRlZ2VyKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBkb3VibGUgYWNjZXB0YWJsZUVycm9yKGRvdWJsZSkgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcgdHlwZU1pc21hdGNoVGV4dCgpIGNvbnN0OworICAgIHZpcnR1YWwg
U3RyaW5nIHZhbHVlTWlzc2luZ1RleHQoKSBjb25zdDsKIAogICAgIC8vIEV2ZW50IGhhbmRsZXJz
CiAgICAgLy8gSWYgdGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlLCBkbyBubyBmdXJ0aGVyIGRlZmF1
bHQgZXZlbnQgaGFuZGxpbmcgaW4gdGhlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmFkaW9J
bnB1dFR5cGUuY3BwIGIvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRUeXBlLmNwcAppbmRleCBhNmM0
NzA3YmU1Yjg5YzVmMmYwNzAwYWY5NzU0NDA2Yzk4NTY4OTY4Li5mNTljZjc4ZjM2MzdmNzI2ZTE4
YWJhNDRhNDhkOWY1NjE2ZTc2NzM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1
dFR5cGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpbmNsdWRlICJSYWRpb0lucHV0VHlwZS5oIgogCiAjaW5jbHVkZSAiSFRNTElu
cHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJN
b3VzZUV2ZW50LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNTIsNiArNTMs
MTEgQEAgYm9vbCBSYWRpb0lucHV0VHlwZTo6dmFsdWVNaXNzaW5nKGNvbnN0IFN0cmluZyYpIGNv
bnN0CiAgICAgcmV0dXJuICFlbGVtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbnMoKS5jaGVja2Vk
QnV0dG9uRm9yR3JvdXAoZWxlbWVudCgpLT5uYW1lKCkpOwogfQogCitTdHJpbmcgUmFkaW9JbnB1
dFR5cGU6OnZhbHVlTWlzc2luZ1RleHQoKSBjb25zdAoreworICAgIHJldHVybiB2YWxpZGF0aW9u
TWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCgpOworfQorCiBib29sIFJhZGlvSW5wdXRU
eXBlOjpoYW5kbGVDbGlja0V2ZW50KE1vdXNlRXZlbnQqIGV2ZW50KQogewogICAgIGV2ZW50LT5z
ZXREZWZhdWx0SGFuZGxlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRU
eXBlLmggYi9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaAppbmRleCAyNzk4MDEwYTA0NTc0
NDRiZGRlNjNjY2ZiMTdlNDBiZmQwYmViNmYzLi4yN2FlNzVlYzViMGE2OTgwNzJmZDk4MjhkYTBi
Y2E1YWFiODQxZGE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaAor
KysgYi9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaApAQCAtNDMsNiArNDMsNyBAQCBwcml2
YXRlOgogICAgIFJhZGlvSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogQmFz
ZUNoZWNrYWJsZUlucHV0VHlwZShlbGVtZW50KSB7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHZhbHVl
TWlzc2luZyhjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZU1p
c3NpbmdUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUNsaWNrRXZlbnQoTW91
c2VFdmVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCmluZGV4IDg0ZmM2NjRjNDFjYzNk
ODM2YjJjYzUzNjk4ZGIzYjUxNDYzMDQyY2YuLmQ4YjQ2ODIwNTlhZWU1YTcxYWYxNTNhMDk0NDVm
YmViN2M4NzBkYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAor
KysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKQEAgLTQyLDEyICs0MiwxNyBAQCBT
dHJpbmcgVmFsaWRpdHlTdGF0ZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogCiAgICAgaWYg
KGN1c3RvbUVycm9yKCkpCiAgICAgICAgIHJldHVybiBtX2N1c3RvbUVycm9yTWVzc2FnZTsKLSAg
ICBpZiAodmFsdWVNaXNzaW5nKCkpCi0gICAgICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZh
bHVlTWlzc2luZ1RleHQoKTsKICAgICBpZiAocGF0dGVybk1pc21hdGNoKCkpCiAgICAgICAgIHJl
dHVybiB2YWxpZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRleHQoKTsKICAgICBib29sIGlz
SW5wdXRFbGVtZW50ID0gbV9jb250cm9sLT5oYXNUYWdOYW1lKGlucHV0VGFnKTsKICAgICBib29s
IGlzVGV4dEFyZWFFbGVtZW50ID0gbV9jb250cm9sLT5oYXNUYWdOYW1lKHRleHRhcmVhVGFnKTsK
KyAgICBpZiAodmFsdWVNaXNzaW5nKCkpIHsKKyAgICAgICAgaWYgKG1fY29udHJvbC0+aGFzVGFn
TmFtZShzZWxlY3RUYWcpKQorICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFs
dWVNaXNzaW5nRm9yU2VsZWN0VGV4dCgpOworICAgICAgICBpZiAoaXNJbnB1dEVsZW1lbnQpCisg
ICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJv
bCktPnZhbHVlTWlzc2luZ1RleHQoKTsKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdl
VmFsdWVNaXNzaW5nVGV4dCgpOworICAgIH0KICAgICBpZiAodHlwZU1pc21hdGNoKCkpIHsKICAg
ICAgICAgaWYgKGlzSW5wdXRFbGVtZW50KQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxJbnB1dEVsZW1lbnQqPihtX2NvbnRyb2wpLT50eXBlTWlzbWF0Y2hUZXh0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRleCAwMjEyMDVhNjlmNzg4OGMwMDM5YTUw
ODU2MjdlZjQ2ZGEzOTJiYTJlLi44NzM5Yzc0MDJmMDE3ZDU0ODI2ZjUzNzk4NDM0ZTcwZDJhMTEy
YzQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAgLTU4NSw2ICs1ODUs
MzEgQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpCiAgICAgcmV0
dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2NhbGl6YXRpb25TdHJhdGVneSgpLT52YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KCkKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1T
dHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPnZhbGlkYXRpb25NZXNzYWdlVmFs
dWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdGb3JGaWxlVGV4dCgpCit7CisgICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2Nh
bGl6YXRpb25TdHJhdGVneSgpLT52YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsK
K30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxl
VGV4dCgpCit7CisgICAgcmV0dXJuIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2NhbGl6YXRpb25T
dHJhdGVneSgpLT52YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKworU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KCkKK3sKKyAgICBy
ZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPnZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCkKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1T
dHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPnZhbGlkYXRpb25NZXNzYWdlVmFs
dWVNaXNzaW5nVGV4dCgpOworfQorCiBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCkKIHsKICAgICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlv
blN0cmF0ZWd5KCktPnZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCBkMzMyZTQ1OWFmMTA4MjhkYTQ2ZjIxYjEyZTdk
OTcyZGU5ODZlYTUxLi5iMTY4NjUxYWViZmIzMTZkMjk4MGRmNWRjZjI4MTNkZDU4MjAzMWJiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaApAQCAtMTY2LDYgKzE2NiwxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9u
KGZsb2F0KTsKIAogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQo
KTsKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRl
eHQoKTsKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4
dCgpOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxl
RmlsZVRleHQoKTsKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JS
YWRpb1RleHQoKTsKKyAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JT
ZWxlY3RUZXh0KCk7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4
dCgpOwogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvckVtYWlsVGV4
dCgpOwogICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvck11bHRpcGxl
RW1haWxUZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvTG9jYWxp
emVkU3RyaW5nc0FuZHJvaWQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL0xvY2FsaXpl
ZFN0cmluZ3NBbmRyb2lkLmNwcAppbmRleCA5Mjc4YWQ4MDIzMzBhMWU2NjUzYmVjYzA0ODZiYjJh
ZWI2N2YyNmUyLi5hZmNlYzVjYThhMjg4NjI5NmM3NDc2ZDBhMTFmNmFmMmQyNDM1M2NiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvTG9jYWxpemVkU3RyaW5nc0FuZHJvaWQu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9Mb2NhbGl6ZWRTdHJpbmdzQW5kcm9p
ZC5jcHAKQEAgLTM4NSw2ICszODUsMzYgQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nVGV4dCgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQoKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOwor
fQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z0Zvck11bHRpcGxlRmlsZVRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1RleHQoKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgp
OworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKwogU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1p
c21hdGNoVGV4dCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vYnJldy9Mb2NhbGl6ZWRTdHJpbmdzQnJldy5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2JyZXcvTG9jYWxpemVkU3RyaW5nc0JyZXcuY3BwCmluZGV4IGIwNDQ2MjNmZjJlNGIwNDQ3
Mjg5N2YwM2VmYWRkY2MzNGM4ZGQzZjcuLjA4ZTIwMDJhYjFjOTdkZGVkNDFlMmMzMjczZmE0Zjhm
ZmZjZTQxMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYnJldy9Mb2NhbGl6ZWRTdHJp
bmdzQnJldy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9icmV3L0xvY2FsaXplZFN0cmluZ3NC
cmV3LmNwcApAQCAtNDAyLDYgKzQwMiwzNiBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdUZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7
Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZh
bHVlTWlzc2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nRm9yTXVsdGlwbGVGaWxlVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0
KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRl
eHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCiBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBl
TWlzbWF0Y2hUZXh0KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcAppbmRleCAyOTM1OTgzODE4NDY4YTRlODM0
MzMxZDFiMDM1NjljOWFkNmRiNmQ0Li44NWRjZGNiZDJkMTg3YjZmY2Y2Y2RkYjcxNTJkZTk5YWRl
N2NlYmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdz
RWZsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNw
cApAQCAtNDgwLDYgKzQ4MCwzNiBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdUZXh0KCkKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgidmFsdWUgbWlzc2luZyIpOwog
fQogCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdl
VmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1p
c3NpbmdGb3JGaWxlVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxlRmlsZVRleHQoKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4
dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1Rl
eHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
dHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKwogU3RyaW5nIG1p
c3NpbmdQbHVnaW5UZXh0KCkKIHsKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgibWlzc2lu
ZyBwbHVnaW4iKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0
cmluZ3NHdGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5j
cHAKaW5kZXggNjhjMTU5ODAzZjRmOWJiYmQ2MjQ2NzExNjVjYjZmMjU5MDQ3Zjc3Mi4uNjVlODg1
MmQ2NDJiMDBiZWFhODA5OTU1NDU4YjU1OTAyN2MxYzBiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKQEAgLTU1Myw2ICs1NTMsMzYgQEAgU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpCiAgICAgcmV0dXJuIFN0cmluZzo6
ZnJvbVVURjgoXygidmFsdWUgbWlzc2luZyIpKTsKIH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKwor
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmlsZVRleHQoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JN
dWx0aXBsZUZpbGVUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2
YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30K
KworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdUZXh0KCk7Cit9CisKIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRj
aFRleHQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2hhaWt1L0xvY2FsaXplZFN0cmluZ3NIYWlrdS5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2hhaWt1L0xvY2FsaXplZFN0cmluZ3NIYWlrdS5jcHAKaW5kZXggZTVjYTAwMWE5OTVhYzZjZTkz
Mzg3NTVlMWNmMmZiOTFhMTUyNTRiOS4uNTU4N2ZhMmY5MjgwZWNlYmI2OWQwMzNhNWFmNjBjZjYy
M2M1YTRkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9Mb2NhbGl6ZWRTdHJp
bmdzSGFpa3UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTG9jYWxpemVkU3RyaW5n
c0hhaWt1LmNwcApAQCAtNDA5LDYgKzQwOSwzNiBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdUZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyB2YWxp
ZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0
KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmlu
ZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdU
ZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVj
dFRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25N
ZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCiBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VU
eXBlTWlzbWF0Y2hUZXh0KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS93eC9Mb2NhbGl6ZWRTdHJpbmdzV3guY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS93eC9Mb2NhbGl6ZWRTdHJpbmdzV3guY3BwCmluZGV4IDFiNDY2NDNiMTJiMjY5MmJhN2E5
YzliNWE4NjYyZWFhNzM5ZmNkNWIuLjNjOTBmNmJkNWM0NDc5YjlhZWZjZDM4NmJkZmQ4MzBlZTQz
Y2EyNmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9jYWxpemVkU3RyaW5nc1d4
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3d4L0xvY2FsaXplZFN0cmluZ3NXeC5jcHAKQEAg
LTM5MCw2ICszOTAsMzYgQEAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4
dCgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJp
bmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdU
ZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRp
cGxlRmlsZVRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1RleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitT
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ1RleHQoKTsKK30KKwogU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4
dCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDJlM2NlOGU3MGQy
M2FhNmQyZDYyMzQ2MGZhZjIwZTdiODQyMmZkMzguLmY4MGQ4Y2RiZmVlY2M3YTU3NGFlNWU0MTQ5
ZmE0MmVjMzVhNWE3NTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTExLTE3
ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbW9yZSB2YWxpZGF0aW9uIG1lc3NhZ2Ug
ZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00OTcxNgorCisgICAgICAgIEFkZCBpbXBsZW1lbnRhdGlvbnMgb2YgbmV3IGZ1bmN0aW9ucyBh
bmQgc3ltYm9scyBmb3IgbmV3IG1lc3NhZ2VzLgorCisgICAgICAgICogcHVibGljL1dlYkxvY2Fs
aXplZFN0cmluZy5oOgorICAgICAgICAqIHNyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmls
ZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdG
b3JNdWx0aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdl
VmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25N
ZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisKIDIwMTAtMTEtMTcgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI3MjIyOC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViTG9jYWxpemVkU3RyaW5nLmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkxvY2FsaXpl
ZFN0cmluZy5oCmluZGV4IDhhYjVmOGQxOTM0MjdmN2U0NDQ3ZWE4Mzc5ODJlODliNzRhMWE1ODAu
LjU5OGU5NzI3MjcxOGMxOTk2MDI5YTkxZmI1ZjYxYjA2YmIwNWRiODMgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJMb2NhbGl6ZWRTdHJpbmcuaApAQCAtNTksNiArNTksMTEgQEAgc3Ry
dWN0IFdlYkxvY2FsaXplZFN0cmluZyB7CiAgICAgICAgIEtleWdlbk1lbnVIaWdoR3JhZGVLZXlT
aXplLAogICAgICAgICBLZXlnZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplLAogICAgICAgICBWYWxp
ZGF0aW9uVmFsdWVNaXNzaW5nLAorICAgICAgICBWYWxpZGF0aW9uVmFsdWVNaXNzaW5nRm9yQ2hl
Y2tib3gsCisgICAgICAgIFZhbGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JGaWxlLAorICAgICAgICBW
YWxpZGF0aW9uVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlLAorICAgICAgICBWYWxpZGF0aW9u
VmFsdWVNaXNzaW5nRm9yUmFkaW8sCisgICAgICAgIFZhbGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JT
ZWxlY3QsCiAgICAgICAgIFZhbGlkYXRpb25UeXBlTWlzbWF0Y2gsCiAgICAgICAgIFZhbGlkYXRp
b25UeXBlTWlzbWF0Y2hGb3JFbWFpbCwKICAgICAgICAgVmFsaWRhdGlvblR5cGVNaXNtYXRjaEZv
ck11bHRpcGxlRW1haWwsCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXpl
ZFN0cmluZ3MuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApp
bmRleCA5NDdlNzMyZjk2OWM1YTczNTQ0ZGJiOGNjMWZmZDVmMjcyYzFlZjk3Li5lN2IzOWQ1Yjdj
YjIyOGI0NzZhYmMwODA5NDhhZTBjYzIwZjJkZjNkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9j
YWxpemVkU3RyaW5ncy5jcHAKQEAgLTk0LDYgKzk0LDcgQEAgU3RyaW5nIHNlYXJjaE1lbnVSZWNl
bnRTZWFyY2hlc1RleHQoKQogewogICAgIHJldHVybiBxdWVyeShXZWJMb2NhbGl6ZWRTdHJpbmc6
OlNlYXJjaE1lbnVSZWNlbnRTZWFyY2hlc1RleHQpOwogfQorCiBTdHJpbmcgc2VhcmNoTWVudUNs
ZWFyUmVjZW50U2VhcmNoZXNUZXh0KCkKIHsKICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVk
U3RyaW5nOjpTZWFyY2hNZW51Q2xlYXJSZWNlbnRTZWFyY2hlc1RleHQpOwpAQCAtMjk5LDYgKzMw
MCwzMSBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCkKICAgICBy
ZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uVmFsdWVNaXNzaW5nKTsK
IH0KIAorU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0
KCkKK3sKKyAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uVmFs
dWVNaXNzaW5nRm9yQ2hlY2tib3gpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdGb3JGaWxlVGV4dCgpCit7CisgICAgcmV0dXJuIHF1ZXJ5KFdlYkxvY2FsaXplZFN0
cmluZzo6VmFsaWRhdGlvblZhbHVlTWlzc2luZ0ZvckZpbGUpOworfQorCitTdHJpbmcgdmFsaWRh
dGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVUZXh0KCkKK3sKKyAgICByZXR1
cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uVmFsdWVNaXNzaW5nRm9yTXVs
dGlwbGVGaWxlKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
UmFkaW9UZXh0KCkKK3sKKyAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxp
ZGF0aW9uVmFsdWVNaXNzaW5nRm9yUmFkaW8pOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3Nh
Z2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCkKK3sKKyAgICByZXR1cm4gcXVlcnkoV2ViTG9j
YWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uVmFsdWVNaXNzaW5nRm9yU2VsZWN0KTsKK30KKwogU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpCiB7CiAgICAgcmV0dXJuIHF1
ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6VmFsaWRhdGlvblR5cGVNaXNtYXRjaCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74302</attachid>
            <date>2010-11-18 15:25:14 -0800</date>
            <delta_ts>2010-11-18 20:48:56 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-49716-20101119082512.patch</filename>
            <type>text/plain</type>
            <size>24813</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGMyMDliMTI1NzhjMTRmNmY4NTRkMDMyNGZmZjM1YWRkNTUwNTM5MC4uOWRkZWNkZGNjMDgyNTA2
NDQ0MDc0ZTg0MDY2YzgxMGI2YjA1MTZjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAorMjAxMC0xMS0xNyAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1vcmUgdmFsaWRhdGlvbiBtZXNzYWdlIGZ1bmN0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk3
MTYKKworICAgICAgICBBZGQgdGhlIGZvbGxvd2luZyBtZXNzYWdlIGZ1bmN0aW9uczoKKyAgICAg
ICAgLSB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94KCkKKyAgICAgICAg
LSB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGUoKQorICAgICAgICAtIHZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlKCkKKyAgICAgICAgLSB2YWxp
ZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvKCkKKyAgICAgICAgLSB2YWxpZGF0aW9u
TWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdCgpCisKKyAgICAgICAgYW5kIHVwZGF0ZSBWYWxp
ZGl0eVN0YXRlLCBIVE1MSW5wdXRFbGVtZW50LCBhbmQgSW5wdXRUeXBlcyB0byB1c2UgdGhlbS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlzIGRvZXNuJ3QgY2hhbmdlIHZpc2li
bGUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBodG1sL0NoZWNrYm94SW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNoZWNrYm94SW5wdXRUeXBlOjp2YWx1ZU1pc3NpbmdUZXh0KToKKyAg
ICAgICAgKiBodG1sL0NoZWNrYm94SW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9GaWxlSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6OnZhbHVlTWlzc2lu
Z1RleHQpOgorICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
Ojp2YWx1ZU1pc3NpbmdUZXh0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5
cGU6OnZhbHVlTWlzc2luZ1RleHQpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAg
ICAgICogaHRtbC9SYWRpb0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYWRpb0lu
cHV0VHlwZTo6dmFsdWVNaXNzaW5nVGV4dCk6CisgICAgICAgICogaHRtbC9SYWRpb0lucHV0VHlw
ZS5oOgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWYWxpZGl0eVN0YXRlOjp2YWxpZGF0aW9uTWVzc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCk6CisgICAgICAg
IChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRl
eHQpOgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9hbmRyb2lkL0xvY2FsaXplZFN0cmluZ3NBbmRyb2lkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmlsZVRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0
aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdl
VmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vYnJldy9Mb2Nh
bGl6ZWRTdHJpbmdzQnJldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCk6CisgICAgICAg
IChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCk6Cisg
ICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRl
eHQpOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
RmlsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdGb3JNdWx0aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRp
b25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxlRmlsZVRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1Rl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JT
ZWxlY3RUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9Mb2NhbGl6ZWRTdHJpbmdzSGFp
a3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
Q2hlY2tib3hUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yRmlsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlk
YXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCk6CisgICAgICAgICog
cGxhdGZvcm0vd3gvTG9jYWxpemVkU3RyaW5nc1d4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmlsZVRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVU
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
UmFkaW9UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nRm9yU2VsZWN0VGV4dCk6CisKIDIwMTAtMTEtMTggIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFs
a2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9D
aGVja2JveElucHV0VHlwZS5jcHAKaW5kZXggNTcyZGRlMDNhNTUwNDI2MGMwZTRjNzAzMWE5ZmRh
MjM3ZDJiNTQ2OS4uNWUwMTVlNGZkMzhkNDkxNjc1Y2U4OGNkOGQzN2EwZDM5NTM4Y2ZiMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5wdXRUeXBlLmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q2hlY2tib3hJbnB1dFR5cGUuaCIKIAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNp
bmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNCArNTIsOSBAQCBib29sIENoZWNrYm94SW5w
dXRUeXBlOjp2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJikgY29uc3QKICAgICByZXR1cm4gIWVs
ZW1lbnQoKS0+Y2hlY2tlZCgpOwogfQogCitTdHJpbmcgQ2hlY2tib3hJbnB1dFR5cGU6OnZhbHVl
TWlzc2luZ1RleHQoKSBjb25zdAoreworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ0ZvckNoZWNrYm94VGV4dCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRt
bC9DaGVja2JveElucHV0VHlwZS5oCmluZGV4IGI2OGUxNGQ0NzlhYTZjMGY0Zjk3Yzc0MTQ0Y2Y5
OTEwNmYwOGExY2MuLmE0YzQxOWRiN2RlZmZlYTI1YjlmZTc5NzM0NGUxYjhhMTk3OTg3ZmYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9DaGVja2JveElucHV0VHlwZS5oCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAg
Q2hlY2tib3hJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlQ2hlY2th
YmxlSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5n
JiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5n
KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1Rl
eHQoKSBjb25zdDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcCBiL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBl
LmNwcAppbmRleCBlOWQwYjVlYWVlZWM3NTUyODg3YzY2NjUxMTllMWJmMzgwNmY5NmFjLi5iNWZj
MmZiZDNiZWM2OGUyMDM3MmFkYzUzYWJiMGNjZmExYzA3MDcyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUu
Y3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiRmlsZUxpc3QuaCIKICNpbmNsdWRlICJG
b3JtRGF0YUxpc3QuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAi
TG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIlJlbmRlckZpbGVVcGxvYWRDb250cm9sLmgi
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KQEAgLTc3LDYgKzc4LDExIEBAIGJvb2wgRmlsZUlucHV0VHlwZTo6dmFsdWVNaXNzaW5n
KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgcmV0dXJuIHZhbHVlLmlzRW1wdHkoKTsK
IH0KIAorU3RyaW5nIEZpbGVJbnB1dFR5cGU6OnZhbHVlTWlzc2luZ1RleHQoKSBjb25zdAorewor
ICAgIHJldHVybiBlbGVtZW50KCktPm11bHRpcGxlKCkgPyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ0Zvck11bHRpcGxlRmlsZVRleHQoKSA6IHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nRm9yRmlsZVRleHQoKTsKK30KKwogYm9vbCBGaWxlSW5wdXRUeXBlOjpoYW5kbGVET01BY3Rp
dmF0ZUV2ZW50KEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAoZWxlbWVudCgpLT5kaXNhYmxlZCgp
IHx8ICFlbGVtZW50KCktPnJlbmRlcmVyKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmls
ZUlucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaAppbmRleCAxNDJhZmFm
NmNmNzk1ODU3ZjVjNTAyOWMxZThmY2IxNjJkYzFjODExLi5kZjk1ZmZjYjUxZDUxYmEzMTRhOTgy
YmI4MzY0ZTg3MDFkMTM0ZjEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlw
ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmgKQEAgLTQ0LDYgKzQ0LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYs
IGJvb2wpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5n
JikgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgdmFsdWVNaXNzaW5nVGV4dCgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50Kik7CiAgICAgdmly
dHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5
bGUqKSBjb25zdDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggYWY0ZTdkMDU0
ODIxNzExMGUzOTdjM2JjNGExZmVjZjc3NjdiNTgwOS4uNDkzOWY4Yzc4MGZhMGE1YWNhYzIwYTRi
MGU5YjgyMGY3MGQ3YjI3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMjgwLDYg
KzI4MCwxMSBAQCBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dHlwZU1pc21hdGNoVGV4dCgpIGNv
bnN0CiAgICAgcmV0dXJuIG1faW5wdXRUeXBlLT50eXBlTWlzbWF0Y2hUZXh0KCk7CiB9CiAKK1N0
cmluZyBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZU1pc3NpbmdUZXh0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9pbnB1dFR5cGUtPnZhbHVlTWlzc2luZ1RleHQoKTsKK30KKwogYm9vbCBIVE1MSW5w
dXRFbGVtZW50OjpnZXRBbGxvd2VkVmFsdWVTdGVwKGRvdWJsZSogc3RlcCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZ2V0QWxsb3dlZFZhbHVlU3RlcFdpdGhEZWNpbWFsUGxhY2VzKHN0ZXAsIDApOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggOTg4NDExN2I4MTFjY2ExOWVlMDc0N2IwNWQwNWI4
ZmNlMDIyYjUxYi4uOGY2YTQ3MTkzMDNiNGU2OGEwMDQ2NTQzMTlhY2JkMjFhZWU3ZTYyOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICBTdHJp
bmcgc3RlcEJhc2VTdHJpbmcoKSBjb25zdDsKICAgICBTdHJpbmcgc3RlcFN0cmluZygpIGNvbnN0
OwogICAgIFN0cmluZyB0eXBlTWlzbWF0Y2hUZXh0KCkgY29uc3Q7CisgICAgU3RyaW5nIHZhbHVl
TWlzc2luZ1RleHQoKSBjb25zdDsKIAogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBIVE1MSW5w
dXRFbGVtZW50OjpzdGVwVXAoKSBhbmQgc3RlcERvd24oKS4KICAgICB2b2lkIHN0ZXBVcChpbnQs
IEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3Bw
IGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggNmRkMDAyYzRmMmFmZDE1MWVkNDJi
YjhlMzMwZTFmNTIyNGQ4MzJjMi4uMjk0Zjc1ZWJkNzE4ZTcyMTc1OWNiYjY2NWUzNDlhODM1NTJh
MTcwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5jcHAKQEAgLTI3NSw2ICsyNzUsMTEgQEAgU3RyaW5nIElucHV0VHlw
ZTo6dHlwZU1pc21hdGNoVGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdl
VHlwZU1pc21hdGNoVGV4dCgpOwogfQogCitTdHJpbmcgSW5wdXRUeXBlOjp2YWx1ZU1pc3NpbmdU
ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdU
ZXh0KCk7Cit9CisKIGJvb2wgSW5wdXRUeXBlOjpoYW5kbGVDbGlja0V2ZW50KE1vdXNlRXZlbnQq
KQogewogICAgIHJldHVybiBmYWxzZTsKQEAgLTQ3Miw0ICs0NzcsMyBAQCBjb25zdCBBdG9taWNT
dHJpbmcmIHdlZWsoKQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZTo6SW5wdVR5cGVOYW1lcwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5
cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBmMWE1YjZkY2EwZjdmYWUyMzAy
OWU4YzI2OTQ5ZGFhMjIyZDczYjFhLi5jMTQxN2ZhNGU0YjQ2MDA4NDQ5OTVjNDM1NzBmNjZlYTg0
YjQ5NzExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5oCkBAIC0xMDAsNiArMTAwLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBzY2FsZWRTdGVwVmFsZXVTaG91bGRCZUludGVnZXIoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGRvdWJsZSBhY2NlcHRhYmxlRXJyb3IoZG91YmxlKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyB0eXBlTWlzbWF0Y2hUZXh0KCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgdmFsdWVN
aXNzaW5nVGV4dCgpIGNvbnN0OwogCiAgICAgLy8gRXZlbnQgaGFuZGxlcnMKICAgICAvLyBJZiB0
aGUgcmV0dXJuIHZhbHVlIGlzIHRydWUsIGRvIG5vIGZ1cnRoZXIgZGVmYXVsdCBldmVudCBoYW5k
bGluZyBpbiB0aGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAg
Yi9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuY3BwCmluZGV4IGE2YzQ3MDdiZTViODljNWYy
ZjA3MDBhZjk3NTQ0MDZjOTg1Njg5NjguLmY1OWNmNzhmMzYzN2Y3MjZlMThhYmE0NGE0OGQ5ZjU2
MTZlNzY3MzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRUeXBlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIlJhZGlvSW5wdXRUeXBlLmgiCiAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50Lmgi
CisjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIK
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC01Miw2ICs1MywxMSBAQCBib29sIFJh
ZGlvSW5wdXRUeXBlOjp2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJikgY29uc3QKICAgICByZXR1
cm4gIWVsZW1lbnQoKS0+Y2hlY2tlZFJhZGlvQnV0dG9ucygpLmNoZWNrZWRCdXR0b25Gb3JHcm91
cChlbGVtZW50KCktPm5hbWUoKSk7CiB9CiAKK1N0cmluZyBSYWRpb0lucHV0VHlwZTo6dmFsdWVN
aXNzaW5nVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yUmFkaW9UZXh0KCk7Cit9CisKIGJvb2wgUmFkaW9JbnB1dFR5cGU6OmhhbmRsZUNs
aWNrRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5k
bGVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaCBiL1dlYkNv
cmUvaHRtbC9SYWRpb0lucHV0VHlwZS5oCmluZGV4IDI3OTgwMTBhMDQ1NzQ0NGJkZGU2M2NjZmIx
N2U0MGJmZDBiZWI2ZjMuLjI3YWU3NWVjNWIwYTY5ODA3MmZkOTgyOGRhMGJjYTVhYWI4NDFkYTkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9SYWRpb0lucHV0VHlwZS5oCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgUmFk
aW9JbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBCYXNlQ2hlY2thYmxlSW5w
dXRUeXBlKGVsZW1lbnQpIHsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3Jt
Q29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0
IFN0cmluZyYpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlTWlzc2luZ1RleHQoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlQ2xpY2tFdmVudChNb3VzZUV2ZW50Kik7CiB9
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgYi9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKaW5kZXggODRmYzY2NGM0MWNjM2Q4MzZiMmNjNTM2OThk
YjNiNTE0NjMwNDJjZi4uZWYzZGU2NmJiNjQzOTBlNWMyODc3NWRlZTQwMjUyNmU2MjA2YjFkNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmNwcApAQCAtNDIsMTcgKzQyLDI0IEBAIFN0cmluZyBWYWxpZGl0
eVN0YXRlOjp2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0CiAKICAgICBpZiAoY3VzdG9tRXJyb3Io
KSkKICAgICAgICAgcmV0dXJuIG1fY3VzdG9tRXJyb3JNZXNzYWdlOwotICAgIGlmICh2YWx1ZU1p
c3NpbmcoKSkKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4
dCgpOwotICAgIGlmIChwYXR0ZXJuTWlzbWF0Y2goKSkKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRp
b25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOwogICAgIGJvb2wgaXNJbnB1dEVsZW1lbnQg
PSBtX2NvbnRyb2wtPmhhc1RhZ05hbWUoaW5wdXRUYWcpOwogICAgIGJvb2wgaXNUZXh0QXJlYUVs
ZW1lbnQgPSBtX2NvbnRyb2wtPmhhc1RhZ05hbWUodGV4dGFyZWFUYWcpOworICAgIC8vIFRoZSBv
cmRlciBvZiB0aGUgZm9sbG93aW5nIGNoZWNrcyBpcyBtZWFuaW5nZnVsLiBlLmcuIFdlJ2QgbGlr
ZSB0byBzaG93IHRoZQorICAgIC8vIHZhbHVlTWlzc2luZyBtZXNzYWdlIGV2ZW4gaWYgdGhlIGNv
bnRyb2wgaGFzIG90aGVyIHZhbGlkYXRpb24gZXJyb3JzLgorICAgIGlmICh2YWx1ZU1pc3Npbmco
KSkgeworICAgICAgICBpZiAobV9jb250cm9sLT5oYXNUYWdOYW1lKHNlbGVjdFRhZykpCisgICAg
ICAgICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0
KCk7CisgICAgICAgIGlmIChpc0lucHV0RWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9jb250cm9sKS0+dmFsdWVNaXNzaW5nVGV4dCgp
OworICAgICAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cisg
ICAgfQogICAgIGlmICh0eXBlTWlzbWF0Y2goKSkgewogICAgICAgICBpZiAoaXNJbnB1dEVsZW1l
bnQpCiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1f
Y29udHJvbCktPnR5cGVNaXNtYXRjaFRleHQoKTsKICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25N
ZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOwogICAgIH0KKyAgICBpZiAocGF0dGVybk1pc21hdGNo
KCkpCisgICAgICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRleHQo
KTsKICAgICBpZiAodG9vTG9uZygpKSB7CiAgICAgICAgIGlmICghaXNJbnB1dEVsZW1lbnQgJiYg
IWlzVGV4dEFyZWFFbGVtZW50KSB7CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCmluZGV4IDAyMTIwNWE2OWY3ODg4YzAw
MzlhNTA4NTYyN2VmNDZkYTM5MmJhMmUuLjg3MzljNzQwMmYwMTdkNTQ4MjZmNTM3OTg0MzRlNzBk
MmExMTJjNDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtNTg1LDYg
KzU4NSwzMSBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCkKICAg
ICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPnZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOwogfQogCitTdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQoKQoreworICAgIHJldHVybiBwbGF0
Zm9ybVN0cmF0ZWdpZXMoKS0+bG9jYWxpemF0aW9uU3RyYXRlZ3koKS0+dmFsaWRhdGlvbk1lc3Nh
Z2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ0ZvckZpbGVUZXh0KCkKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCkt
PmxvY2FsaXphdGlvblN0cmF0ZWd5KCktPnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4
dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JNdWx0aXBs
ZUZpbGVUZXh0KCkKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvY2FsaXph
dGlvblN0cmF0ZWd5KCktPnZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQor
CitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1RleHQoKQorewor
ICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9jYWxpemF0aW9uU3RyYXRlZ3koKS0+
dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKQoreworICAgIHJldHVybiBwbGF0
Zm9ybVN0cmF0ZWdpZXMoKS0+bG9jYWxpemF0aW9uU3RyYXRlZ3koKS0+dmFsaWRhdGlvbk1lc3Nh
Z2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVN
aXNtYXRjaFRleHQoKQogewogICAgIHJldHVybiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9jYWxp
emF0aW9uU3RyYXRlZ3koKS0+dmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hUZXh0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IGQzMzJlNDU5YWYxMDgyOGRhNDZmMjFi
MTJlN2Q5NzJkZTk4NmVhNTEuLmIxNjg2NTFhZWJmYjMxNmQyOTgwZGY1ZGNmMjgxM2RkNTgyMDMx
YmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0xNjYsNiArMTY2LDExIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFUaW1lRGVzY3Jp
cHRpb24oZmxvYXQpOwogCiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5n
VGV4dCgpOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNr
Ym94VGV4dCgpOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZp
bGVUZXh0KCk7CisgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVs
dGlwbGVGaWxlVGV4dCgpOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z0ZvclJhZGlvVGV4dCgpOworICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z0ZvclNlbGVjdFRleHQoKTsKICAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCk7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yRW1h
aWxUZXh0KCk7CiAgICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yTXVs
dGlwbGVFbWFpbFRleHQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9M
b2NhbGl6ZWRTdHJpbmdzQW5kcm9pZC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvTG9j
YWxpemVkU3RyaW5nc0FuZHJvaWQuY3BwCmluZGV4IDkyNzhhZDgwMjMzMGExZTY2NTNiZWNjMDQ4
NmJiMmFlYjY3ZjI2ZTIuLmFmY2VjNWNhOGEyODg2Mjk2Yzc0NzZkMGExMWY2YWYyZDI0MzUzY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9Mb2NhbGl6ZWRTdHJpbmdzQW5k
cm9pZC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL0xvY2FsaXplZFN0cmluZ3NB
bmRyb2lkLmNwcApAQCAtMzg1LDYgKzM4NSwzNiBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdUZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyB2YWxp
ZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0
KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmlu
ZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdU
ZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVj
dFRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25N
ZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCiBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VU
eXBlTWlzbWF0Y2hUZXh0KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9icmV3L0xvY2FsaXplZFN0cmluZ3NCcmV3LmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vYnJldy9Mb2NhbGl6ZWRTdHJpbmdzQnJldy5jcHAKaW5kZXggYjA0NDYyM2ZmMmU0
YjA0NDcyODk3ZjAzZWZhZGRjYzM0YzhkZDNmNy4uMDhlMjAwMmFiMWM5N2RkZWQ0MWUyYzMyNzNm
YTRmOGZmZmNlNDExNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9icmV3L0xvY2FsaXpl
ZFN0cmluZ3NCcmV3LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2JyZXcvTG9jYWxpemVkU3Ry
aW5nc0JyZXcuY3BwCkBAIC00MDIsNiArNDAyLDM2IEBAIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIHZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KCkKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1Rl
eHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmlsZVRl
eHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNz
YWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKworU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KCkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2Vs
ZWN0VGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVR5cGVNaXNtYXRjaFRleHQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwuY3BwCmluZGV4IDI5MzU5ODM4MTg0Njhh
NGU4MzQzMzFkMWIwMzU2OWM5YWQ2ZGI2ZDQuLjg1ZGNkY2JkMmQxODdiNmZjZjZjZGRiNzE1MmRl
OTlhZGU3Y2ViY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0
cmluZ3NFZmwuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmluZ3NF
ZmwuY3BwCkBAIC00ODAsNiArNDgwLDM2IEBAIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ1RleHQoKQogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KCJ2YWx1ZSBtaXNzaW5n
Iik7CiB9CiAKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94
VGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZh
bHVlTWlzc2luZ0ZvckZpbGVUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
dHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZh
bGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJh
ZGlvVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCiBTdHJp
bmcgbWlzc2luZ1BsdWdpblRleHQoKQogewogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KCJt
aXNzaW5nIHBsdWdpbiIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxp
emVkU3RyaW5nc0d0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdz
R3RrLmNwcAppbmRleCA2OGMxNTk4MDNmNGY5YmJiZDYyNDY3MTE2NWNiNmYyNTkwNDdmNzcyLi42
NWU4ODUyZDY0MmIwMGJlYWE4MDk5NTU0NThiNTU5MDI3YzFjMGI5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcApAQCAtNTUzLDYgKzU1MywzNiBAQCBT
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCkKICAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChfKCJ2YWx1ZSBtaXNzaW5nIikpOwogfQogCitTdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQoKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOwor
fQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1
ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z0Zvck11bHRpcGxlRmlsZVRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1RleHQoKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgp
OworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKwogU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1p
c21hdGNoVGV4dCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vaGFpa3UvTG9jYWxpemVkU3RyaW5nc0hhaWt1LmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vaGFpa3UvTG9jYWxpemVkU3RyaW5nc0hhaWt1LmNwcAppbmRleCBlNWNhMDAxYTk5NWFj
NmNlOTMzODc1NWUxY2YyZmI5MWExNTI1NGI5Li41NTg3ZmEyZjkyODBlY2ViYjY5ZDAzM2E1YWY2
MGNmNjIzYzVhNGQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L0xvY2FsaXpl
ZFN0cmluZ3NIYWlrdS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9Mb2NhbGl6ZWRT
dHJpbmdzSGFpa3UuY3BwCkBAIC00MDksNiArNDA5LDM2IEBAIFN0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZVZhbHVlTWlzc2luZ1RleHQoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hlY2tib3hUZXh0KCkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmls
ZVRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25N
ZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworfQorCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGVUZXh0KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKK30KKwor
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yUmFkaW9UZXh0KCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
U2VsZWN0VGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRh
dGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKIFN0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZVR5cGVNaXNtYXRjaFRleHQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL3d4L0xvY2FsaXplZFN0cmluZ3NXeC5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL3d4L0xvY2FsaXplZFN0cmluZ3NXeC5jcHAKaW5kZXggMWI0NjY0M2IxMmIyNjky
YmE3YTljOWI1YTg2NjJlYWE3MzlmY2Q1Yi4uM2M5MGY2YmQ1YzQ0NzliOWFlZmNkMzg2YmRmZDgz
MGVlNDNjYTI2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93eC9Mb2NhbGl6ZWRTdHJp
bmdzV3guY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd3gvTG9jYWxpemVkU3RyaW5nc1d4LmNw
cApAQCAtMzkwLDYgKzM5MCwzNiBAQCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdUZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyB2YWxpZGF0aW9uTWVz
c2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisK
K1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ1RleHQoKTsKK30KKworU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
TXVsdGlwbGVGaWxlVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9CisKK1N0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdUZXh0KCk7Cit9
CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlVmFs
dWVNaXNzaW5nVGV4dCgpOworfQorCiBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDdhNjYy
M2U2YWI4YWJlZmE3MDllNmQxZWUxOWRjMjY1ZjAwN2ZiYy4uNTFmOGMwNGFlMzNkMDYyNzk3OWI3
NWJhNTg0MGY2NDg3YWI5YWE4NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAt
MTEtMTcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3JlIHZhbGlkYXRpb24gbWVz
c2FnZSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5NzE2CisKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9ucyBvZiBuZXcgZnVuY3Rp
b25zIGFuZCBzeW1ib2xzIGZvciBuZXcgbWVzc2FnZXMuCisKKyAgICAgICAgKiBwdWJsaWMvV2Vi
TG9jYWxpemVkU3RyaW5nLmg6CisgICAgICAgICogc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2Jv
eFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdG
b3JGaWxlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ0Zvck11bHRpcGxlRmlsZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRh
dGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KToKKwogMjAxMC0xMS0xOCAgVG9u
eSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBj
aHJvbWl1bSBjb21waWxlLiAgV2UgbmVlZCBpcGMgYW5kIG9wZW5zc2wgbm93LgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJMb2NhbGl6ZWRTdHJpbmcuaCBiL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmgKaW5kZXggOGFiNWY4ZDE5MzQyN2Y3
ZTQ0NDdlYTgzNzk4MmU4OWI3NGExYTU4MC4uNTk4ZTk3MjcyNzE4YzE5OTYwMjlhOTFmYjVmNjFi
MDZiYjA1ZGI4MyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJMb2NhbGl6
ZWRTdHJpbmcuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkxvY2FsaXplZFN0cmlu
Zy5oCkBAIC01OSw2ICs1OSwxMSBAQCBzdHJ1Y3QgV2ViTG9jYWxpemVkU3RyaW5nIHsKICAgICAg
ICAgS2V5Z2VuTWVudUhpZ2hHcmFkZUtleVNpemUsCiAgICAgICAgIEtleWdlbk1lbnVNZWRpdW1H
cmFkZUtleVNpemUsCiAgICAgICAgIFZhbGlkYXRpb25WYWx1ZU1pc3NpbmcsCisgICAgICAgIFZh
bGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JDaGVja2JveCwKKyAgICAgICAgVmFsaWRhdGlvblZhbHVl
TWlzc2luZ0ZvckZpbGUsCisgICAgICAgIFZhbGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JNdWx0aXBs
ZUZpbGUsCisgICAgICAgIFZhbGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JSYWRpbywKKyAgICAgICAg
VmFsaWRhdGlvblZhbHVlTWlzc2luZ0ZvclNlbGVjdCwKICAgICAgICAgVmFsaWRhdGlvblR5cGVN
aXNtYXRjaCwKICAgICAgICAgVmFsaWRhdGlvblR5cGVNaXNtYXRjaEZvckVtYWlsLAogICAgICAg
ICBWYWxpZGF0aW9uVHlwZU1pc21hdGNoRm9yTXVsdGlwbGVFbWFpbCwKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwCmluZGV4IDk0N2U3MzJmOTY5YzVhNzM1NDRkYmI4Y2Mx
ZmZkNWYyNzJjMWVmOTcuLmU3YjM5ZDViN2NiMjI4YjQ3NmFiYzA4MDk0OGFlMGNjMjBmMmRmM2Qg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtOTQsNiArOTQs
NyBAQCBTdHJpbmcgc2VhcmNoTWVudVJlY2VudFNlYXJjaGVzVGV4dCgpCiB7CiAgICAgcmV0dXJu
IHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6U2VhcmNoTWVudVJlY2VudFNlYXJjaGVzVGV4dCk7
CiB9CisKIFN0cmluZyBzZWFyY2hNZW51Q2xlYXJSZWNlbnRTZWFyY2hlc1RleHQoKQogewogICAg
IHJldHVybiBxdWVyeShXZWJMb2NhbGl6ZWRTdHJpbmc6OlNlYXJjaE1lbnVDbGVhclJlY2VudFNl
YXJjaGVzVGV4dCk7CkBAIC0yOTksNiArMzAwLDMxIEBAIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ1RleHQoKQogICAgIHJldHVybiBxdWVyeShXZWJMb2NhbGl6ZWRTdHJpbmc6
OlZhbGlkYXRpb25WYWx1ZU1pc3NpbmcpOwogfQogCitTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdGb3JDaGVja2JveFRleHQoKQoreworICAgIHJldHVybiBxdWVyeShXZWJMb2Nh
bGl6ZWRTdHJpbmc6OlZhbGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JDaGVja2JveCk7Cit9CisKK1N0
cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KCkKK3sKKyAgICBy
ZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0aW9uVmFsdWVNaXNzaW5nRm9y
RmlsZSk7Cit9CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRp
cGxlRmlsZVRleHQoKQoreworICAgIHJldHVybiBxdWVyeShXZWJMb2NhbGl6ZWRTdHJpbmc6OlZh
bGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JNdWx0aXBsZUZpbGUpOworfQorCitTdHJpbmcgdmFsaWRh
dGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JSYWRpb1RleHQoKQoreworICAgIHJldHVybiBxdWVy
eShXZWJMb2NhbGl6ZWRTdHJpbmc6OlZhbGlkYXRpb25WYWx1ZU1pc3NpbmdGb3JSYWRpbyk7Cit9
CisKK1N0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKQor
eworICAgIHJldHVybiBxdWVyeShXZWJMb2NhbGl6ZWRTdHJpbmc6OlZhbGlkYXRpb25WYWx1ZU1p
c3NpbmdGb3JTZWxlY3QpOworfQorCiBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hUZXh0KCkKIHsKICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpWYWxpZGF0
aW9uVHlwZU1pc21hdGNoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>