<?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>109897</bug_id>
          
          <creation_ts>2013-02-14 23:23:44 -0800</creation_ts>
          <short_desc>Add setValue and closePopup methods to PagePopupController</short_desc>
          <delta_ts>2013-02-15 05:38:35 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>109439</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>833730</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-14 23:23:44 -0800</bug_when>
    <thetext>In the new calendar picker, we want to set a value without closing the popup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833738</commentid>
    <comment_count>1</comment_count>
      <attachid>188490</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-14 23:37:44 -0800</bug_when>
    <thetext>Created attachment 188490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833754</commentid>
    <comment_count>2</comment_count>
      <attachid>188490</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-14 23:57:42 -0800</bug_when>
    <thetext>Comment on attachment 188490
Patch

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

&gt; Source/WebKit/chromium/src/DateTimeChooserImpl.cpp:173
&gt; -    RefPtr&lt;DateTimeChooserImpl&gt; protector(this);
&gt;      if (numValue &gt;= 0)
&gt; -        m_client-&gt;didChooseValue(stringValue);
&gt; +        setValue(stringValue);
&gt; +    endChooser();
&gt; +}

The protector is required here.  setValue(), which might dispatch some events, can delete &apos;this&apos;.

&gt; Source/WebKit/chromium/src/DateTimeChooserImpl.cpp:178
&gt; +    RefPtr&lt;DateTimeChooserImpl&gt; protector(this);
&gt; +    m_client-&gt;didChooseValue(value);

The protector makes no sense. We do nothing after didChooseValue, which might dispatch some events.
Also, I&apos;m afraid that we have no ways to avoid calendar picker JavaScript code execution after didChooseValue because event handler might delete the page popup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833866</commentid>
    <comment_count>3</comment_count>
      <attachid>188529</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-15 03:50:01 -0800</bug_when>
    <thetext>Created attachment 188529
changed protector position</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833897</commentid>
    <comment_count>4</comment_count>
      <attachid>188529</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-15 04:56:14 -0800</bug_when>
    <thetext>Comment on attachment 188529
changed protector position

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833927</commentid>
    <comment_count>5</comment_count>
      <attachid>188529</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 05:38:32 -0800</bug_when>
    <thetext>Comment on attachment 188529
changed protector position

Clearing flags on attachment: 188529

Committed r142987: &lt;http://trac.webkit.org/changeset/142987&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833928</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 05:38:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188490</attachid>
            <date>2013-02-14 23:37:44 -0800</date>
            <delta_ts>2013-02-15 03:49:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109897-20130215163411.patch</filename>
            <type>text/plain</type>
            <size>18046</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk1MTc5ZjVhMmJkMjhj
Mzg5ZWJkZjBhNTJiMjk2ODU4NGFhNWQ4ZS4uZGIzNTNiY2FlNzM2MTYyYmY3MTYxMmFjOWU0ZjZl
M2U0NmUxZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzZXRWYWx1ZSBh
bmQgY2xvc2VQb3B1cCBtZXRob2RzIHRvIFBhZ2VQb3B1cENvbnRyb2xsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTg5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBuZXcgY2FsZW5kYXIgcGlj
a2VyIChCdWcgMTA5NDM5KSBuZWVkcyB0byBzZXQgYSB2YWx1ZSB3aXRob3V0CisgICAgICAgIGNs
b3NpbmcgdGhlIHBvcHVwLiBXZSBjYW4ndCBkbyB0aGF0IHdpdGggdGhlIGV4aXN0aW5nCisgICAg
ICAgIHNldFZhbHVlQW5kQ2xvc2VQb3B1cC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEV4aXN0
aW5nIGNhbGVuZGFyIHBpY2tlciBhbmQgY29sb3Igc3VnZ2VzdGlvbiBwaWNrZXIgdGVzdHMKKyAg
ICAgICAgdGhhdCBjbG9zaW5nIGFuZCBzZXR0aW5nIHZhbHVlcyB3b3JrIHByb3Blcmx5LgorCisg
ICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzOgorICAgICAgICAo
UGlja2VyLnByb3RvdHlwZS5zdWJtaXRWYWx1ZSk6IFN0b3AgdXNpbmcgc2V0VmFsdWVBbmRDbG9z
ZVBvcHVwLgorICAgICAgICAoUGlja2VyLnByb3RvdHlwZS5oYW5kbGVDYW5jZWwpOiBEaXR0by4K
KyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENsaWVudC5oOgorICAgICAgICAoUGFnZVBvcHVwQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZVBvcHVwQ29udHJvbGxlcjo6c2V0VmFsdWUpOiBTZXRzIHZhbHVlIHRvIGVs
ZW1lbnQgd2l0aG91dCBjbG9zaW5nIHBvcHVwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlUG9wdXBDb250cm9sbGVyOjpjbG9zZVBvcHVwKTogSnVzdCBjbG9zZXMg
cG9wdXAuCisgICAgICAgICogcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmg6CisgICAgICAgIChQ
YWdlUG9wdXBDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIu
aWRsOgorCiAyMDEzLTAyLTE0ICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFp
bC5jb20+CiAKICAgICAgICAgQ2FyZXQgcG9zaXRpb25lZCBhdCB0aGUgZW5kIG9mIGEgdGV4dCBs
aW5lIChmb2xsb3dlZCBieSBhbiBlbXB0eSBibG9jaykgaW4gdmVydGljYWwgd3JpdGluZyBtb2Rl
IGRpc2FwcGVhcnMgd2hlbiBwcmVzc2luZyB0aGUgcmlnaHQvZG93biBhcnJvdyBrZXkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCA2ZjI2YTdiMzgzMjFiNmVjM2Q5MzljMWJlNDNk
MDc0YzhhZGIxMTE0Li40M2E1ZjVmYTQ2OGFiOTBhZTFkZTU0NmRmOGU2MWMwODgwZWRjZDFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMi0x
NCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0
VmFsdWUgYW5kIGNsb3NlUG9wdXAgbWV0aG9kcyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9yUGlja2Vy
Q2xpZW50OjpzZXRWYWx1ZSk6IEFkZGVkIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuaDoK
KyAgICAgICAgKENvbG9yUGlja2VyQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVQaWNrZXJDbGllbnQ6
OnNldFZhbHVlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50Lmg6CisgICAgICAgIChEYXRlUGlja2VyQ2xpZW50KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3RQb3B1cENsaWVudDo6c2V0VmFsdWUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xpZW50Lmg6
CisgICAgICAgIChTZWxlY3RQb3B1cENsaWVudCk6CisKIDIwMTMtMDItMTQgIE1pa2UgRmVudG9u
ICA8bWlmZW50b25AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gVXBkYXRlIGtleWJv
YXJkIGV2ZW50IGRldGFpbHMgdG8gbWF0Y2ggcGxhdGZvcm0gZGV0YWlscy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMWU1NWJjNGVhNmM5NjhlODcwZTc3MjI1ZmI0MjU4NDU4NjE2YjRl
My4uMTdkYTkxOTYxZTBiYzhkNzRhODc1ZWRlZWEyM2QwYWY1OGM4ZDk2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wMi0xNCAgS2Vpc2hpIEhhdHRv
cmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0VmFsdWUgYW5kIGNsb3Nl
UG9wdXAgbWV0aG9kcyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Db2xvckNob29zZXJQb3B1cFVJQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9s
bGVyOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9Db2xvckNo
b29zZXJQb3B1cFVJQ29udHJvbGxlci5oOgorICAgICAgICAoQ29sb3JDaG9vc2VyUG9wdXBVSUNv
bnRyb2xsZXIpOgorICAgICAgICAqIHNyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWVBbmRDbG9zZVBvcHVwKTog
VXNlIHNldFZhbHVlIGFuZCBjbG9zZVBvcHVwLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYktpdDo6RGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViS2l0
OjpEYXRlVGltZUNob29zZXJJbXBsOjpjbG9zZVBvcHVwKToKKyAgICAgICAgKiBzcmMvRGF0ZVRp
bWVDaG9vc2VySW1wbC5oOgorICAgICAgICAoRGF0ZVRpbWVDaG9vc2VySW1wbCk6CisKIDIwMTMt
MDItMTQgIERhdmlkIFRyYWlub3IgIDxkdHJhaW5vckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBObyB0cmlnZ2VyaW5nIGF1dG9maWxsIG9uIHVuZm9jdXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcyBiL1Nv
dXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcwppbmRleCAx
NzBlY2IxNWIzZDMyNTYzY2QxN2ZmYTNlZGZjODNlNzRjNTY0NmNhLi43MDM0MzI5ZjgzMGY3NWVl
ZTRhNWVhM2ZkMzcwOTkzMzczZTFmNDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9SZXNv
dXJjZXMvcGFnZXBvcHVwcy9waWNrZXJDb21tb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvUmVz
b3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzCkBAIC0yNDIsMTEgKzI0MiwxMiBAQCBQ
aWNrZXIuQWN0aW9ucyA9IHsKICAqIEBwYXJhbSB7IXN0cmluZ30gdmFsdWUKICAqLwogUGlja2Vy
LnByb3RvdHlwZS5zdWJtaXRWYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgd2luZG93LnBh
Z2VQb3B1cENvbnRyb2xsZXIuc2V0VmFsdWVBbmRDbG9zZVBvcHVwKFBpY2tlci5BY3Rpb25zLlNl
dFZhbHVlLCB2YWx1ZSk7CisgICAgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIuc2V0VmFsdWUo
dmFsdWUpOworICAgIHdpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLmNsb3NlUG9wdXAoKTsKIH0K
IAogUGlja2VyLnByb3RvdHlwZS5oYW5kbGVDYW5jZWwgPSBmdW5jdGlvbigpIHsKLSAgICB3aW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlci5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoUGlja2VyLkFjdGlv
bnMuQ2FuY2VsLCAiIik7CisgICAgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIuY2xvc2VQb3B1
cCgpOwogfQogCiBQaWNrZXIucHJvdG90eXBlLmNob29zZU90aGVyQ29sb3IgPSBmdW5jdGlvbigp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENsaWVudC5oCmluZGV4IDM5MWM4ZjgzZTdjYmFm
NTI4YTA1MDIyNDcyNmU4ZjMzMjA0MTlmNjkuLmIzMjRjZmJkYmU5ZDI3YWE5ZTk0ZWI0MjFiZWRh
ZjdhNzYwYjg0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDbGllbnQuaApAQCAtNjAs
NiArNjAsMTIgQEAgcHVibGljOgogICAgIC8vIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVu
Y3Rpb24gc2hvdWxkIGNhbGwgQ2hyb21lQ2xpZW50OjpjbG9zZVBhZ2VQb3B1cCgpLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50IG51bVZhbHVlLCBjb25zdCBTdHJp
bmcmIHN0cmluZ1ZhbHVlKSA9IDA7CiAKKyAgICAvLyBUaGlzIGlzIGNhbGxlZCBieSB0aGUgY29u
dGVudCBIVE1MIG9mIGEgUGFnZVBvcHVwLgorICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25z
dCBTdHJpbmcmKSA9IDA7CisKKyAgICAvLyBUaGlzIGlzIGNhbGxlZCBieSB0aGUgY29udGVudCBI
VE1MIG9mIGEgUGFnZVBvcHVwLgorICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBvcHVwKCkgPSAwOwor
CiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbmV2ZXIgYSBQYWdlUG9wdXAgd2FzIGNsb3NlZC4K
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2VQb3B1cCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5jcHAKaW5kZXggZGJlNzUyMjRiNjJhNDQwYmQ3YmQ3
N2M0MmVlNThjMmMxMGM4NDc3Ny4uMWNiYTZiMTA1NWU1MDYyODRiMmUwYjI0NDdiMjllYjg0YjI4
ZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwCkBA
IC01NSw2ICs1NSwxOCBAQCB2b2lkIFBhZ2VQb3B1cENvbnRyb2xsZXI6OnNldFZhbHVlQW5kQ2xv
c2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0cmluZyYgc3RyaQogICAgICAgICBtX3BvcHVw
Q2xpZW50LT5zZXRWYWx1ZUFuZENsb3NlUG9wdXAobnVtVmFsdWUsIHN0cmluZ1ZhbHVlKTsKIH0K
IAordm9pZCBQYWdlUG9wdXBDb250cm9sbGVyOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVl
KQoreworICAgIGlmIChtX3BvcHVwQ2xpZW50KQorICAgICAgICBtX3BvcHVwQ2xpZW50LT5zZXRW
YWx1ZSh2YWx1ZSk7Cit9CisKK3ZvaWQgUGFnZVBvcHVwQ29udHJvbGxlcjo6Y2xvc2VQb3B1cCgp
Cit7CisgICAgaWYgKG1fcG9wdXBDbGllbnQpCisgICAgICAgIG1fcG9wdXBDbGllbnQtPmNsb3Nl
UG9wdXAoKTsKK30KKwogU3RyaW5nIFBhZ2VQb3B1cENvbnRyb2xsZXI6OmxvY2FsaXplTnVtYmVy
U3RyaW5nKGNvbnN0IFN0cmluZyYgbnVtYmVyU3RyaW5nKQogewogICAgIGlmIChtX3BvcHVwQ2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaAppbmRleCAxOWRl
NDgwNDM1MmQxOWY0Y2IyY2EyZGM0YWVhOTk5NDE1MTExZGI1Li4xNTA3YTRkNTMzMzE2NDZmMmE1
MzllYWQ1NTY3YWE0NDhjM2QwZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VQb3B1cENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENv
bnRyb2xsZXIuaApAQCAtNDQsNiArNDQsOCBAQCBjbGFzcyBQYWdlUG9wdXBDb250cm9sbGVyIDog
cHVibGljIFJlZkNvdW50ZWQ8UGFnZVBvcHVwQ29udHJvbGxlcj4gewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFBhZ2VQb3B1cENvbnRyb2xsZXI+IGNyZWF0ZShQYWdlUG9wdXBDbGll
bnQqKTsKICAgICB2b2lkIHNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0
IFN0cmluZyYgc3RyaW5nVmFsdWUpOworICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7
CisgICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAgICAgU3RyaW5nIGxvY2FsaXplTnVtYmVyU3RyaW5n
KGNvbnN0IFN0cmluZyYpOwogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgU3RyaW5n
IGZvcm1hdE1vbnRoKGludCB5ZWFyLCBpbnQgemVyb0Jhc2VNb250aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmlkbAppbmRleCAwM2Y0NzI4NmIzMWJlYjE4ZTU3
YjNmOTczYjRjZTg3M2ZmODU5NjZhLi5jZmRhMjk1NDdiOTI4NjgzYjY4Mjg4ZTQxMzgzZmJhYjFi
NzliYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xs
ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5pZGwK
QEAgLTMzLDYgKzMzLDggQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVy
ZmFjZSBQYWdlUG9wdXBDb250cm9sbGVyIHsKICAgICB2b2lkIHNldFZhbHVlQW5kQ2xvc2VQb3B1
cChpbiBsb25nIG51bWJlclZhbHVlLCBpbiBET01TdHJpbmcgc3RyaW5nVmFsdWUpOworICAgIHZv
aWQgc2V0VmFsdWUoaW4gRE9NU3RyaW5nIHZhbHVlKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsK
ICAgICBET01TdHJpbmcgbG9jYWxpemVOdW1iZXJTdHJpbmcoaW4gRE9NU3RyaW5nIG51bWJlclN0
cmluZyk7CiAgICAgW0NvbmRpdGlvbmFsPUNBTEVOREFSX1BJQ0tFUl0gRE9NU3RyaW5nIGZvcm1h
dE1vbnRoKGluIGxvbmcgeWVhciwgaW4gbG9uZyB6ZXJvQmFzZU1vbnRoKTsKICAgICB2b2lkIGhp
c3RvZ3JhbUVudW1lcmF0aW9uKERPTVN0cmluZyBuYW1lLCBsb25nIHNhbXBsZSwgbG9uZyBib3Vu
ZGFyeVZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuY3BwCmluZGV4IGRmYzg5M2ZkMjU5MzMz
ZTNlYjQ3YTQxM2ZhMDBmNTE3YzViZTMyNTQuLjhiZTA2NjRkNWQ3ZTFjY2RjZjYxZGIxODdmOWJm
NWVmZTcyOTczZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcApAQCAtMjQsNiArMjQsNyBA
QAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRXcml0ZXIuaCIKICNp
bmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZVBvcHVwLmgiCiAjaW5jbHVkZSAiUG9w
dXBQaWNrZXIuaCIKQEAgLTk4LDYgKzk5LDExIEBAIHZvaWQgQ29sb3JQaWNrZXJDbGllbnQ6OnNl
dFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgY2xvc2VQ
b3B1cCgpOwogfQogCit2b2lkIENvbG9yUGlja2VyQ2xpZW50OjpzZXRWYWx1ZShjb25zdCBTdHJp
bmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgQ29sb3JQaWNrZXJDbGll
bnQ6OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNs
aWVudC5oCmluZGV4IDJlNmZiYmU3NzkxMGJlODM2MjVhMTUwZDZkZTdjOTE4YjNhYmI1NDYuLjA0
ZjA2ODcwZDg3ZmE5M2FlYTNkNGVmMzdkYTY1OWMyYjQ2ZDBkNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNs
aWVudC5oCkBAIC00NiwxMSArNDYsMTEgQEAgcHVibGljOgogICAgIFN0cmluZyBodG1sU291cmNl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBMb2NhbGl6ZXImIGxvY2FsaXplcigpOwogICAgIHZvaWQg
c2V0VmFsdWVBbmRDbG9zZVBvcHVwKGludCwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRW
YWx1ZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsKICAgICB2b2lkIGRp
ZENsb3NlUG9wdXAoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGNsb3NlUG9wdXAoKTsKLQogICAg
IFN0cmluZyBtX3NvdXJjZTsKICAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRl
KiBtX3dlYlBhZ2U7CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fZWxlbWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlj
a2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50LmNwcAppbmRleCBkNzNkODRlZTZlYWEzMDZjNDc2MmM3Mzg5MWUxNzc5
NGZjN2IzOGZkLi4wYjM4ZGYwNDY1NWYwMjQwYmRkNzJkNzAzYWI0NzY5NzNjZTcwYTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0RhdGVQaWNrZXJDbGllbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRG9jdW1l
bnRXcml0ZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJQYWdlUG9wdXAuaCIKICNpbmNsdWRlICJQb3B1cFBpY2tlci5oIgpAQCAtMTM3LDYg
KzEzOCwxMSBAQCB2b2lkIERhdGVQaWNrZXJDbGllbnQ6OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChp
bnQsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgY2xvc2VQb3B1cCgpOwogfQogCit2b2lkIERh
dGVQaWNrZXJDbGllbnQ6OnNldFZhbHVlKGludCwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIERhdGVQaWNrZXJDbGllbnQ6OmRpZENsb3Nl
UG9wdXAoKQogewogICAgIG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuaAppbmRleCA2
NmIyMGM5YzhiZTg5YTk5ZDRlZWNjZTg4MmZjNzVkMmMwMWIxYTc5Li4wZTIxNTQxNjc0MGIwZjE3
Y2FhNDQzMmYwNjY4ZTU4YTFhYmFmNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50LmgKQEAgLTQ4LDYg
KzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGh0bWxTb3VyY2UoKTsKICAgICB2
aXJ0dWFsIExvY2FsaXplciYgbG9jYWxpemVyKCk7CiAgICAgdm9pZCBzZXRWYWx1ZUFuZENsb3Nl
UG9wdXAoaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgZGlkQ2xvc2VQb3B1cCgpOwogICAgIHZvaWQgY2xvc2VQb3B1cCgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2Vs
ZWN0UG9wdXBDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L1NlbGVjdFBvcHVwQ2xpZW50LmNwcAppbmRleCBiMWFmNmZhNjM4ZDM3NTdkYmE1MzZhNzc3
NjBlYzJjNDBkNGM1NGMzLi4zZmQ5MmY3ZmI4ZjcyZTBiNWJkNzNmNmJkYzlmN2I5ZGFhNDQwOTY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2Vs
ZWN0UG9wdXBDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJEb2N1bWVudFdyaXRlci5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlUG9wdXAuaCIKICNpbmNsdWRlICJQb3B1
cFBpY2tlci5oIgpAQCAtMTk1LDYgKzE5NiwxMSBAQCB2b2lkIFNlbGVjdFBvcHVwQ2xpZW50Ojpz
ZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50LCBjb25zdCBTdHJpbmcmIHN0cmluZ1ZhbHVlKQogICAg
IG1fbm90aWZ5Q2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCit2b2lkIFNlbGVjdFBv
cHVwQ2xpZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKIHZvaWQgU2VsZWN0UG9wdXBDbGllbnQ6OmRpZENsb3NlUG9wdXAoKQogewogICAg
IG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvU2VsZWN0UG9wdXBDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCmluZGV4IGIxMzlhZWVkM2NkNmQx
NTY0ZDNmYmZjMWVlZWU5ODU2NWUyNTE0N2IuLmY5MGY2NTM1NDAzNmJhMDVjZWFhNWJiZjgyZTI0
MWE3MDBmODNhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCkBAIC01NSw4ICs1NSw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBodG1sU291cmNlKCk7CiAgICAgdmlydHVhbCBMb2Nh
bGl6ZXImIGxvY2FsaXplcigpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9w
dXAoaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3Qg
U3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlUG9wdXAoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2xvc2VQb3B1cCgpOwotICAgIHZvaWQgY2xvc2VQb3B1cCgpOwogCiAgICAgYm9vbCBt
X211bHRpcGxlOwogICAgIHVuc2lnbmVkIG1fc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyLmNwcApp
bmRleCA2OTQ0ZWFlNjljYzQ1Y2JjNjVlMTBiN2I1ZGYzZDM3NTNiZDU5OGNiLi5jNDlmYjk1YWM5
MjA2MThmNDVlYmI1OGE1MDBjZjkxZGJmNzg2NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Db2xvckNob29zZXJQb3B1cFVJQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRyb2xsZXIuY3Bw
CkBAIC0xMjIsNiArMTIyLDEyIEBAIHZvaWQgQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRyb2xsZXI6
OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0CiAgICAgY2xvc2VQ
b3B1cCgpOwogfQogCit2b2lkIENvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyOjpzZXRWYWx1
ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIEFTU0VSVChtX2NsaWVudCk7CisgICAgbV9j
bGllbnQtPmRpZENob29zZUNvbG9yKENvbG9yKHZhbHVlKSk7Cit9CisKIHZvaWQgQ29sb3JDaG9v
c2VyUG9wdXBVSUNvbnRyb2xsZXI6OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1fcG9wdXAgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9w
dXBVSUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3Nl
clBvcHVwVUlDb250cm9sbGVyLmgKaW5kZXggYzRkNTg0OGM0YjkxMDhjZWVhMjJlN2I3YjgxYzcz
Nzg5MDljYTY5ZC4uNGVhZjhmOTY3OTc0NDFlYTg3NmI3ZTRkODA4NDk3ZDg3ZDVkZTNhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBVSUNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db2xvckNob29zZXJQ
b3B1cFVJQ29udHJvbGxlci5oCkBAIC01NCwxMSArNTQsMTIgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCB3cml0ZURvY3VtZW50KFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyJikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpMb2NhbGUmIGxvY2FsZSgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50LCBjb25zdCBTdHJpbmcmKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIGNsb3NlUG9wdXAoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2xvc2VQb3B1cCgpIE9WRVJSSURFOwogCiBwcml2YXRlOgogICAgIHZvaWQgb3BlblBv
cHVwKCk7Ci0gICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAKICAgICBDaHJvbWVDbGllbnRJbXBsKiBt
X2Nocm9tZUNsaWVudDsKICAgICBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQqIG1fY2xpZW50
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2Vy
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBs
LmNwcAppbmRleCA3Y2U1ZjBhOGNmMzFiMzdkNWJlYzYzODMyZDM5MGZjNTViNjUyOTM1Li42NDhi
NDI2ODlmMzQzZDg2YTRiNDMyNGRhYmE5MDM3NTM4M2JjZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcApAQCAtMTY3LDkgKzE2
NywxOSBAQCBXZWJDb3JlOjpMb2NhbGUmIERhdGVUaW1lQ2hvb3NlckltcGw6OmxvY2FsZSgpCiAK
IHZvaWQgRGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWVBbmRDbG9zZVBvcHVwKGludCBudW1W
YWx1ZSwgY29uc3QgU3RyaW5nJiBzdHJpbmdWYWx1ZSkKIHsKLSAgICBSZWZQdHI8RGF0ZVRpbWVD
aG9vc2VySW1wbD4gcHJvdGVjdG9yKHRoaXMpOwogICAgIGlmIChudW1WYWx1ZSA+PSAwKQotICAg
ICAgICBtX2NsaWVudC0+ZGlkQ2hvb3NlVmFsdWUoc3RyaW5nVmFsdWUpOworICAgICAgICBzZXRW
YWx1ZShzdHJpbmdWYWx1ZSk7CisgICAgZW5kQ2hvb3NlcigpOworfQorCit2b2lkIERhdGVUaW1l
Q2hvb3NlckltcGw6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgUmVmUHRy
PERhdGVUaW1lQ2hvb3NlckltcGw+IHByb3RlY3Rvcih0aGlzKTsKKyAgICBtX2NsaWVudC0+ZGlk
Q2hvb3NlVmFsdWUodmFsdWUpOworfQorCit2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6OmNsb3Nl
UG9wdXAoKQorewogICAgIGVuZENob29zZXIoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oCmluZGV4IDIyNDM1ODYyM2E4YWFhNWFi
ZTEzZDJjMWM4MTJmNzhhZjA2ZDRlNzcuLjAzMDc4OTM2MjU3OGU3N2JkOGI0MTI2NDg3NjYwZGFh
ZTVjZjI1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1l
Q2hvb3NlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNo
b29zZXJJbXBsLmgKQEAgLTU5LDYgKzU5LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
d3JpdGVEb2N1bWVudChXZWJDb3JlOjpEb2N1bWVudFdyaXRlciYpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgV2ViQ29yZTo6TG9jYWxlJiBsb2NhbGUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VmFsdWVBbmRDbG9zZVBvcHVwKGludCwgY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCBjbG9zZVBvcHVwKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZENs
b3NlUG9wdXAoKSBPVkVSUklERTsKIAogICAgIENocm9tZUNsaWVudEltcGwqIG1fY2hyb21lQ2xp
ZW50OwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGVjNTQ0NWVkMzJl
ZjA1NzM0MjM1YWYzOWNkNGNjYWE3Nzg5Zjg0ODAuLmNkODc1ZjgwZWE5ZDdkZWY5YTE4MmI0NzY2
ZTgzOGVhMTg4MGY3ODIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMy0wMi0xNCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0
Lm9yZz4KKworICAgICAgICBBZGQgc2V0VmFsdWUgYW5kIGNsb3NlUG9wdXAgbWV0aG9kcyB0byBQ
YWdlUG9wdXBDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDk4OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE1hbnVhbFRlc3RzL2Zvcm1zL2NhbGVuZGFyLXBpY2tlci5odG1sOiBBZGRl
ZCBtb2NrIHNldFZhbHVlIGFuZCBjbG9zZVBvcHVwIGltcGxlbWVudGF0aW9uLgorICAgICAgICAq
IE1hbnVhbFRlc3RzL2Zvcm1zL2NvbG9yLXN1Z2dlc3Rpb24tcGlja2VyLmh0bWw6IERpdHRvLgor
CiAyMDEzLTAyLTA4ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXhwb3NlIGRpZHtCZWdpbixDYW5jZWx9RnJhbWUoKSBhbmQg
e3dpbGwsZGlkfUNvbXBvc2l0ZSgpIG9uIFdlYkRlYlRvb2xzQWdlbnQKZGlmZiAtLWdpdCBhL01h
bnVhbFRlc3RzL2Zvcm1zL2NhbGVuZGFyLXBpY2tlci5odG1sIGIvTWFudWFsVGVzdHMvZm9ybXMv
Y2FsZW5kYXItcGlja2VyLmh0bWwKaW5kZXggMjBlMTRhODExOTJlMWUzYTNlNDQ2MjhjOTFlZDky
Njk2NTc5ODlmZi4uMmRkNWYxNzc0OWMxODNkNzIyYjAzM2U2M2ZkZWU1YzVhNDM3ZWQ2YiAxMDA2
NDQKLS0tIGEvTWFudWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKKysrIGIvTWFu
dWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKQEAgLTI5NCw2ICsyOTQsMTIgQEAg
ZnVuY3Rpb24gb3BlbkNhbGVuZGFyKGFyZ3MpIHsKICAgICAgICAgICAgIGlmIChudW1WYWx1ZSA9
PSAwKQogICAgICAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0
ZScpLnZhbHVlID0gc3RyaW5nVmFsdWU7CiAgICAgICAgIH0sCisgICAgICAgIHNldFZhbHVlOiBm
dW5jdGlvbih2YWx1ZSkgeworICAgICAgICAgICAgd2luZG93LmxvZygndmFsdWU9IicgKyB2YWx1
ZSArICciJyk7CisgICAgICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rh
dGUnKS52YWx1ZSA9IHZhbHVlOworICAgICAgICB9LAorICAgICAgICBjbG9zZVBvcHVwOiBmdW5j
dGlvbigpIHsKKyAgICAgICAgfSwKICAgICAgICAgbG9jYWxpemVOdW1iZXJTdHJpbmc6IGZ1bmN0
aW9uKG51bVN0cmluZykgewogICAgICAgICAgICAgaWYgKHR5cGVvZiBudW1TdHJpbmcgPT0gIm51
bWJlciIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bVN0cmluZy50b0xvY2FsZVN0cmluZygp
OwpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvZm9ybXMvY29sb3Itc3VnZ2VzdGlvbi1waWNrZXIu
aHRtbCBiL01hbnVhbFRlc3RzL2Zvcm1zL2NvbG9yLXN1Z2dlc3Rpb24tcGlja2VyLmh0bWwKaW5k
ZXggZGVkNGU3Y2I3Y2Y4Y2QxOWIxODVhYWIzZGRhNzRjZGZlMTM1MDk2YS4uODkzNGFlMTExOTU5
YjM1MmU4MDM4YTg3YzA2MjdjNmNjYTQ4OTJkZCAxMDA2NDQKLS0tIGEvTWFudWFsVGVzdHMvZm9y
bXMvY29sb3Itc3VnZ2VzdGlvbi1waWNrZXIuaHRtbAorKysgYi9NYW51YWxUZXN0cy9mb3Jtcy9j
b2xvci1zdWdnZXN0aW9uLXBpY2tlci5odG1sCkBAIC01Niw3ICs1NiwxMyBAQCBmdW5jdGlvbiBv
cGVuQ29sb3JQaWNrZXIoYXJncykgewogICAgICAgICAgICAgd2luZG93LmxvZygnbnVtYmVyPScg
KyBudW1WYWx1ZSArICcsIHN0cmluZz0iJyArIHN0cmluZ1ZhbHVlICsgJyInKTsKICAgICAgICAg
ICAgIGlmIChudW1WYWx1ZSA9PT0gMCkKICAgICAgICAgICAgICAgICB3aW5kb3cuZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2NvbG9yJykudmFsdWUgPSBzdHJpbmdWYWx1ZTsKLSAgICAgICAgfQor
ICAgICAgICB9LAorICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgICAg
ICAgIHdpbmRvdy5sb2coJ3ZhbHVlPSInICsgdmFsdWUgKyAnIicpOworICAgICAgICAgICAgd2lu
ZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvcicpLnZhbHVlID0gdmFsdWU7CisgICAg
ICAgIH0sCisgICAgICAgIGNsb3NlUG9wdXA6IGZ1bmN0aW9uKCkgeworICAgICAgICB9LAogICAg
IH0KIAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188529</attachid>
            <date>2013-02-15 03:50:01 -0800</date>
            <delta_ts>2013-02-15 05:38:31 -0800</delta_ts>
            <desc>changed protector position</desc>
            <filename>bug-109897-20130215204627.patch</filename>
            <type>text/plain</type>
            <size>17935</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk1MTc5ZjVhMmJkMjhj
Mzg5ZWJkZjBhNTJiMjk2ODU4NGFhNWQ4ZS4uZGIzNTNiY2FlNzM2MTYyYmY3MTYxMmFjOWU0ZjZl
M2U0NmUxZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzZXRWYWx1ZSBh
bmQgY2xvc2VQb3B1cCBtZXRob2RzIHRvIFBhZ2VQb3B1cENvbnRyb2xsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTg5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBuZXcgY2FsZW5kYXIgcGlj
a2VyIChCdWcgMTA5NDM5KSBuZWVkcyB0byBzZXQgYSB2YWx1ZSB3aXRob3V0CisgICAgICAgIGNs
b3NpbmcgdGhlIHBvcHVwLiBXZSBjYW4ndCBkbyB0aGF0IHdpdGggdGhlIGV4aXN0aW5nCisgICAg
ICAgIHNldFZhbHVlQW5kQ2xvc2VQb3B1cC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEV4aXN0
aW5nIGNhbGVuZGFyIHBpY2tlciBhbmQgY29sb3Igc3VnZ2VzdGlvbiBwaWNrZXIgdGVzdHMKKyAg
ICAgICAgdGhhdCBjbG9zaW5nIGFuZCBzZXR0aW5nIHZhbHVlcyB3b3JrIHByb3Blcmx5LgorCisg
ICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzOgorICAgICAgICAo
UGlja2VyLnByb3RvdHlwZS5zdWJtaXRWYWx1ZSk6IFN0b3AgdXNpbmcgc2V0VmFsdWVBbmRDbG9z
ZVBvcHVwLgorICAgICAgICAoUGlja2VyLnByb3RvdHlwZS5oYW5kbGVDYW5jZWwpOiBEaXR0by4K
KyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENsaWVudC5oOgorICAgICAgICAoUGFnZVBvcHVwQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZVBvcHVwQ29udHJvbGxlcjo6c2V0VmFsdWUpOiBTZXRzIHZhbHVlIHRvIGVs
ZW1lbnQgd2l0aG91dCBjbG9zaW5nIHBvcHVwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlUG9wdXBDb250cm9sbGVyOjpjbG9zZVBvcHVwKTogSnVzdCBjbG9zZXMg
cG9wdXAuCisgICAgICAgICogcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmg6CisgICAgICAgIChQ
YWdlUG9wdXBDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIu
aWRsOgorCiAyMDEzLTAyLTE0ICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFp
bC5jb20+CiAKICAgICAgICAgQ2FyZXQgcG9zaXRpb25lZCBhdCB0aGUgZW5kIG9mIGEgdGV4dCBs
aW5lIChmb2xsb3dlZCBieSBhbiBlbXB0eSBibG9jaykgaW4gdmVydGljYWwgd3JpdGluZyBtb2Rl
IGRpc2FwcGVhcnMgd2hlbiBwcmVzc2luZyB0aGUgcmlnaHQvZG93biBhcnJvdyBrZXkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCA2ZjI2YTdiMzgzMjFiNmVjM2Q5MzljMWJlNDNk
MDc0YzhhZGIxMTE0Li40M2E1ZjVmYTQ2OGFiOTBhZTFkZTU0NmRmOGU2MWMwODgwZWRjZDFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMi0x
NCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0
VmFsdWUgYW5kIGNsb3NlUG9wdXAgbWV0aG9kcyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9yUGlja2Vy
Q2xpZW50OjpzZXRWYWx1ZSk6IEFkZGVkIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuaDoK
KyAgICAgICAgKENvbG9yUGlja2VyQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVQaWNrZXJDbGllbnQ6
OnNldFZhbHVlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50Lmg6CisgICAgICAgIChEYXRlUGlja2VyQ2xpZW50KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3RQb3B1cENsaWVudDo6c2V0VmFsdWUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xpZW50Lmg6
CisgICAgICAgIChTZWxlY3RQb3B1cENsaWVudCk6CisKIDIwMTMtMDItMTQgIE1pa2UgRmVudG9u
ICA8bWlmZW50b25AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gVXBkYXRlIGtleWJv
YXJkIGV2ZW50IGRldGFpbHMgdG8gbWF0Y2ggcGxhdGZvcm0gZGV0YWlscy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMWU1NWJjNGVhNmM5NjhlODcwZTc3MjI1ZmI0MjU4NDU4NjE2YjRl
My4uMTdkYTkxOTYxZTBiYzhkNzRhODc1ZWRlZWEyM2QwYWY1OGM4ZDk2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wMi0xNCAgS2Vpc2hpIEhhdHRv
cmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0VmFsdWUgYW5kIGNsb3Nl
UG9wdXAgbWV0aG9kcyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Db2xvckNob29zZXJQb3B1cFVJQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9s
bGVyOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9Db2xvckNo
b29zZXJQb3B1cFVJQ29udHJvbGxlci5oOgorICAgICAgICAoQ29sb3JDaG9vc2VyUG9wdXBVSUNv
bnRyb2xsZXIpOgorICAgICAgICAqIHNyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWVBbmRDbG9zZVBvcHVwKTog
VXNlIHNldFZhbHVlIGFuZCBjbG9zZVBvcHVwLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYktpdDo6RGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViS2l0
OjpEYXRlVGltZUNob29zZXJJbXBsOjpjbG9zZVBvcHVwKToKKyAgICAgICAgKiBzcmMvRGF0ZVRp
bWVDaG9vc2VySW1wbC5oOgorICAgICAgICAoRGF0ZVRpbWVDaG9vc2VySW1wbCk6CisKIDIwMTMt
MDItMTQgIERhdmlkIFRyYWlub3IgIDxkdHJhaW5vckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBObyB0cmlnZ2VyaW5nIGF1dG9maWxsIG9uIHVuZm9jdXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcyBiL1Nv
dXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcwppbmRleCAx
NzBlY2IxNWIzZDMyNTYzY2QxN2ZmYTNlZGZjODNlNzRjNTY0NmNhLi43MDM0MzI5ZjgzMGY3NWVl
ZTRhNWVhM2ZkMzcwOTkzMzczZTFmNDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9SZXNv
dXJjZXMvcGFnZXBvcHVwcy9waWNrZXJDb21tb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvUmVz
b3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzCkBAIC0yNDIsMTEgKzI0MiwxMiBAQCBQ
aWNrZXIuQWN0aW9ucyA9IHsKICAqIEBwYXJhbSB7IXN0cmluZ30gdmFsdWUKICAqLwogUGlja2Vy
LnByb3RvdHlwZS5zdWJtaXRWYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgd2luZG93LnBh
Z2VQb3B1cENvbnRyb2xsZXIuc2V0VmFsdWVBbmRDbG9zZVBvcHVwKFBpY2tlci5BY3Rpb25zLlNl
dFZhbHVlLCB2YWx1ZSk7CisgICAgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIuc2V0VmFsdWUo
dmFsdWUpOworICAgIHdpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLmNsb3NlUG9wdXAoKTsKIH0K
IAogUGlja2VyLnByb3RvdHlwZS5oYW5kbGVDYW5jZWwgPSBmdW5jdGlvbigpIHsKLSAgICB3aW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlci5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoUGlja2VyLkFjdGlv
bnMuQ2FuY2VsLCAiIik7CisgICAgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIuY2xvc2VQb3B1
cCgpOwogfQogCiBQaWNrZXIucHJvdG90eXBlLmNob29zZU90aGVyQ29sb3IgPSBmdW5jdGlvbigp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENsaWVudC5oCmluZGV4IDM5MWM4ZjgzZTdjYmFm
NTI4YTA1MDIyNDcyNmU4ZjMzMjA0MTlmNjkuLmIzMjRjZmJkYmU5ZDI3YWE5ZTk0ZWI0MjFiZWRh
ZjdhNzYwYjg0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDbGllbnQuaApAQCAtNjAs
NiArNjAsMTIgQEAgcHVibGljOgogICAgIC8vIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVu
Y3Rpb24gc2hvdWxkIGNhbGwgQ2hyb21lQ2xpZW50OjpjbG9zZVBhZ2VQb3B1cCgpLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50IG51bVZhbHVlLCBjb25zdCBTdHJp
bmcmIHN0cmluZ1ZhbHVlKSA9IDA7CiAKKyAgICAvLyBUaGlzIGlzIGNhbGxlZCBieSB0aGUgY29u
dGVudCBIVE1MIG9mIGEgUGFnZVBvcHVwLgorICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25z
dCBTdHJpbmcmKSA9IDA7CisKKyAgICAvLyBUaGlzIGlzIGNhbGxlZCBieSB0aGUgY29udGVudCBI
VE1MIG9mIGEgUGFnZVBvcHVwLgorICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBvcHVwKCkgPSAwOwor
CiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbmV2ZXIgYSBQYWdlUG9wdXAgd2FzIGNsb3NlZC4K
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2VQb3B1cCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5jcHAKaW5kZXggZGJlNzUyMjRiNjJhNDQwYmQ3YmQ3
N2M0MmVlNThjMmMxMGM4NDc3Ny4uMWNiYTZiMTA1NWU1MDYyODRiMmUwYjI0NDdiMjllYjg0YjI4
ZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwCkBA
IC01NSw2ICs1NSwxOCBAQCB2b2lkIFBhZ2VQb3B1cENvbnRyb2xsZXI6OnNldFZhbHVlQW5kQ2xv
c2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0cmluZyYgc3RyaQogICAgICAgICBtX3BvcHVw
Q2xpZW50LT5zZXRWYWx1ZUFuZENsb3NlUG9wdXAobnVtVmFsdWUsIHN0cmluZ1ZhbHVlKTsKIH0K
IAordm9pZCBQYWdlUG9wdXBDb250cm9sbGVyOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVl
KQoreworICAgIGlmIChtX3BvcHVwQ2xpZW50KQorICAgICAgICBtX3BvcHVwQ2xpZW50LT5zZXRW
YWx1ZSh2YWx1ZSk7Cit9CisKK3ZvaWQgUGFnZVBvcHVwQ29udHJvbGxlcjo6Y2xvc2VQb3B1cCgp
Cit7CisgICAgaWYgKG1fcG9wdXBDbGllbnQpCisgICAgICAgIG1fcG9wdXBDbGllbnQtPmNsb3Nl
UG9wdXAoKTsKK30KKwogU3RyaW5nIFBhZ2VQb3B1cENvbnRyb2xsZXI6OmxvY2FsaXplTnVtYmVy
U3RyaW5nKGNvbnN0IFN0cmluZyYgbnVtYmVyU3RyaW5nKQogewogICAgIGlmIChtX3BvcHVwQ2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaAppbmRleCAxOWRl
NDgwNDM1MmQxOWY0Y2IyY2EyZGM0YWVhOTk5NDE1MTExZGI1Li4xNTA3YTRkNTMzMzE2NDZmMmE1
MzllYWQ1NTY3YWE0NDhjM2QwZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VQb3B1cENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENv
bnRyb2xsZXIuaApAQCAtNDQsNiArNDQsOCBAQCBjbGFzcyBQYWdlUG9wdXBDb250cm9sbGVyIDog
cHVibGljIFJlZkNvdW50ZWQ8UGFnZVBvcHVwQ29udHJvbGxlcj4gewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFBhZ2VQb3B1cENvbnRyb2xsZXI+IGNyZWF0ZShQYWdlUG9wdXBDbGll
bnQqKTsKICAgICB2b2lkIHNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0
IFN0cmluZyYgc3RyaW5nVmFsdWUpOworICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7
CisgICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAgICAgU3RyaW5nIGxvY2FsaXplTnVtYmVyU3RyaW5n
KGNvbnN0IFN0cmluZyYpOwogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgU3RyaW5n
IGZvcm1hdE1vbnRoKGludCB5ZWFyLCBpbnQgemVyb0Jhc2VNb250aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmlkbAppbmRleCAwM2Y0NzI4NmIzMWJlYjE4ZTU3
YjNmOTczYjRjZTg3M2ZmODU5NjZhLi4wYWE2MmQ2ODZhNjFjMDlkMTVlODczZjM2NTZjZjkwYmQ5
YWVjMWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xs
ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5pZGwK
QEAgLTMzLDYgKzMzLDggQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVy
ZmFjZSBQYWdlUG9wdXBDb250cm9sbGVyIHsKICAgICB2b2lkIHNldFZhbHVlQW5kQ2xvc2VQb3B1
cChpbiBsb25nIG51bWJlclZhbHVlLCBpbiBET01TdHJpbmcgc3RyaW5nVmFsdWUpOworICAgIHZv
aWQgc2V0VmFsdWUoRE9NU3RyaW5nIHZhbHVlKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsKICAg
ICBET01TdHJpbmcgbG9jYWxpemVOdW1iZXJTdHJpbmcoaW4gRE9NU3RyaW5nIG51bWJlclN0cmlu
Zyk7CiAgICAgW0NvbmRpdGlvbmFsPUNBTEVOREFSX1BJQ0tFUl0gRE9NU3RyaW5nIGZvcm1hdE1v
bnRoKGluIGxvbmcgeWVhciwgaW4gbG9uZyB6ZXJvQmFzZU1vbnRoKTsKICAgICB2b2lkIGhpc3Rv
Z3JhbUVudW1lcmF0aW9uKERPTVN0cmluZyBuYW1lLCBsb25nIHNhbXBsZSwgbG9uZyBib3VuZGFy
eVZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuY3BwCmluZGV4IGRmYzg5M2ZkMjU5MzMzZTNl
YjQ3YTQxM2ZhMDBmNTE3YzViZTMyNTQuLjhiZTA2NjRkNWQ3ZTFjY2RjZjYxZGIxODdmOWJmNWVm
ZTcyOTczZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcApAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRXcml0ZXIuaCIKICNpbmNs
dWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZVBvcHVwLmgiCiAjaW5jbHVkZSAiUG9wdXBQ
aWNrZXIuaCIKQEAgLTk4LDYgKzk5LDExIEBAIHZvaWQgQ29sb3JQaWNrZXJDbGllbnQ6OnNldFZh
bHVlQW5kQ2xvc2VQb3B1cChpbnQsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgY2xvc2VQb3B1
cCgpOwogfQogCit2b2lkIENvbG9yUGlja2VyQ2xpZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcm
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgQ29sb3JQaWNrZXJDbGllbnQ6
OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVu
dC5oCmluZGV4IDJlNmZiYmU3NzkxMGJlODM2MjVhMTUwZDZkZTdjOTE4YjNhYmI1NDYuLjA0ZjA2
ODcwZDg3ZmE5M2FlYTNkNGVmMzdkYTY1OWMyYjQ2ZDBkNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVu
dC5oCkBAIC00NiwxMSArNDYsMTEgQEAgcHVibGljOgogICAgIFN0cmluZyBodG1sU291cmNlKCkg
Y29uc3Q7CiAgICAgdmlydHVhbCBMb2NhbGl6ZXImIGxvY2FsaXplcigpOwogICAgIHZvaWQgc2V0
VmFsdWVBbmRDbG9zZVBvcHVwKGludCwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRWYWx1
ZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsKICAgICB2b2lkIGRpZENs
b3NlUG9wdXAoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGNsb3NlUG9wdXAoKTsKLQogICAgIFN0
cmluZyBtX3NvdXJjZTsKICAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBt
X3dlYlBhZ2U7CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fZWxlbWVudDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2Vy
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRl
UGlja2VyQ2xpZW50LmNwcAppbmRleCBkNzNkODRlZTZlYWEzMDZjNDc2MmM3Mzg5MWUxNzc5NGZj
N2IzOGZkLi4wYjM4ZGYwNDY1NWYwMjQwYmRkNzJkNzAzYWI0NzY5NzNjZTcwYTEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Rh
dGVQaWNrZXJDbGllbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRX
cml0ZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQu
aCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNs
dWRlICJQYWdlUG9wdXAuaCIKICNpbmNsdWRlICJQb3B1cFBpY2tlci5oIgpAQCAtMTM3LDYgKzEz
OCwxMSBAQCB2b2lkIERhdGVQaWNrZXJDbGllbnQ6OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQs
IGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgY2xvc2VQb3B1cCgpOwogfQogCit2b2lkIERhdGVQ
aWNrZXJDbGllbnQ6OnNldFZhbHVlKGludCwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIERhdGVQaWNrZXJDbGllbnQ6OmRpZENsb3NlUG9w
dXAoKQogewogICAgIG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuaAppbmRleCA2NmIy
MGM5YzhiZTg5YTk5ZDRlZWNjZTg4MmZjNzVkMmMwMWIxYTc5Li4wZTIxNTQxNjc0MGIwZjE3Y2Fh
NDQzMmYwNjY4ZTU4YTFhYmFmNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGh0bWxTb3VyY2UoKTsKICAgICB2aXJ0
dWFsIExvY2FsaXplciYgbG9jYWxpemVyKCk7CiAgICAgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9w
dXAoaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgZGlkQ2xvc2VQb3B1cCgpOwogICAgIHZvaWQgY2xvc2VQb3B1cCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2VsZWN0
UG9wdXBDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L1NlbGVjdFBvcHVwQ2xpZW50LmNwcAppbmRleCBiMWFmNmZhNjM4ZDM3NTdkYmE1MzZhNzc3NjBl
YzJjNDBkNGM1NGMzLi4zZmQ5MmY3ZmI4ZjcyZTBiNWJkNzNmNmJkYzlmN2I5ZGFhNDQwOTY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2VsZWN0
UG9wdXBDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJE
b2N1bWVudFdyaXRlci5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlUG9wdXAuaCIKICNpbmNsdWRlICJQb3B1cFBp
Y2tlci5oIgpAQCAtMTk1LDYgKzE5NiwxMSBAQCB2b2lkIFNlbGVjdFBvcHVwQ2xpZW50OjpzZXRW
YWx1ZUFuZENsb3NlUG9wdXAoaW50LCBjb25zdCBTdHJpbmcmIHN0cmluZ1ZhbHVlKQogICAgIG1f
bm90aWZ5Q2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCit2b2lkIFNlbGVjdFBvcHVw
Q2xpZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKIHZvaWQgU2VsZWN0UG9wdXBDbGllbnQ6OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1f
d2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvU2VsZWN0UG9wdXBDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCmluZGV4IGIxMzlhZWVkM2NkNmQxNTY0
ZDNmYmZjMWVlZWU5ODU2NWUyNTE0N2IuLmY5MGY2NTM1NDAzNmJhMDVjZWFhNWJiZjgyZTI0MWE3
MDBmODNhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCkBAIC01NSw4ICs1NSw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFN0cmluZyBodG1sU291cmNlKCk7CiAgICAgdmlydHVhbCBMb2NhbGl6
ZXImIGxvY2FsaXplcigpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAo
aW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3Ry
aW5nJik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlUG9wdXAoKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2xvc2VQb3B1cCgpOwotICAgIHZvaWQgY2xvc2VQb3B1cCgpOwogCiAgICAgYm9vbCBtX211
bHRpcGxlOwogICAgIHVuc2lnbmVkIG1fc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyLmNwcAppbmRl
eCA2OTQ0ZWFlNjljYzQ1Y2JjNjVlMTBiN2I1ZGYzZDM3NTNiZDU5OGNiLi5jNDlmYjk1YWM5MjA2
MThmNDVlYmI1OGE1MDBjZjkxZGJmNzg2NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Db2xvckNob29zZXJQb3B1cFVJQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRyb2xsZXIuY3BwCkBA
IC0xMjIsNiArMTIyLDEyIEBAIHZvaWQgQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRyb2xsZXI6OnNl
dFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0CiAgICAgY2xvc2VQb3B1
cCgpOwogfQogCit2b2lkIENvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyOjpzZXRWYWx1ZShj
b25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIEFTU0VSVChtX2NsaWVudCk7CisgICAgbV9jbGll
bnQtPmRpZENob29zZUNvbG9yKENvbG9yKHZhbHVlKSk7Cit9CisKIHZvaWQgQ29sb3JDaG9vc2Vy
UG9wdXBVSUNvbnRyb2xsZXI6OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1fcG9wdXAgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBV
SUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBv
cHVwVUlDb250cm9sbGVyLmgKaW5kZXggYzRkNTg0OGM0YjkxMDhjZWVhMjJlN2I3YjgxYzczNzg5
MDljYTY5ZC4uNGVhZjhmOTY3OTc0NDFlYTg3NmI3ZTRkODA4NDk3ZDg3ZDVkZTNhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db2xvckNob29zZXJQb3B1
cFVJQ29udHJvbGxlci5oCkBAIC01NCwxMSArNTQsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCB3cml0ZURvY3VtZW50KFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyJikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpMb2NhbGUmIGxvY2FsZSgpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50LCBjb25zdCBTdHJpbmcmKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIGNsb3NlUG9wdXAoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2xvc2VQb3B1cCgpIE9WRVJSSURFOwogCiBwcml2YXRlOgogICAgIHZvaWQgb3BlblBvcHVw
KCk7Ci0gICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAKICAgICBDaHJvbWVDbGllbnRJbXBsKiBtX2No
cm9tZUNsaWVudDsKICAgICBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQqIG1fY2xpZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1w
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNw
cAppbmRleCA3Y2U1ZjBhOGNmMzFiMzdkNWJlYzYzODMyZDM5MGZjNTViNjUyOTM1Li42ZTVhYWQy
MTk5NWEzMGZiYTY3ZDY1OTc1ZDcwN2Y0ZTdmZDE4ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcApAQCAtMTY5LDcgKzE2OSwx
NyBAQCB2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQg
bnVtVmFsdWUsIGNvbnN0IFN0cmluZyYgc3RyaQogewogICAgIFJlZlB0cjxEYXRlVGltZUNob29z
ZXJJbXBsPiBwcm90ZWN0b3IodGhpcyk7CiAgICAgaWYgKG51bVZhbHVlID49IDApCi0gICAgICAg
IG1fY2xpZW50LT5kaWRDaG9vc2VWYWx1ZShzdHJpbmdWYWx1ZSk7CisgICAgICAgIHNldFZhbHVl
KHN0cmluZ1ZhbHVlKTsKKyAgICBlbmRDaG9vc2VyKCk7Cit9CisKK3ZvaWQgRGF0ZVRpbWVDaG9v
c2VySW1wbDo6c2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX2NsaWVudC0+
ZGlkQ2hvb3NlVmFsdWUodmFsdWUpOworfQorCit2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6OmNs
b3NlUG9wdXAoKQorewogICAgIGVuZENob29zZXIoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oCmluZGV4IDIyNDM1ODYyM2E4YWFh
NWFiZTEzZDJjMWM4MTJmNzhhZjA2ZDRlNzcuLjAzMDc4OTM2MjU3OGU3N2JkOGI0MTI2NDg3NjYw
ZGFhZTVjZjI1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVU
aW1lQ2hvb3NlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGlt
ZUNob29zZXJJbXBsLmgKQEAgLTU5LDYgKzU5LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZv
aWQgd3JpdGVEb2N1bWVudChXZWJDb3JlOjpEb2N1bWVudFdyaXRlciYpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgV2ViQ29yZTo6TG9jYWxlJiBsb2NhbGUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0VmFsdWVBbmRDbG9zZVBvcHVwKGludCwgY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBjbG9zZVBvcHVwKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZENsb3NlUG9wdXAoKSBPVkVSUklERTsKIAogICAgIENocm9tZUNsaWVudEltcGwqIG1fY2hyb21l
Q2xpZW50OwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGVjNTQ0NWVk
MzJlZjA1NzM0MjM1YWYzOWNkNGNjYWE3Nzg5Zjg0ODAuLmNkODc1ZjgwZWE5ZDdkZWY5YTE4MmI0
NzY2ZTgzOGVhMTg4MGY3ODIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0xNCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0VmFsdWUgYW5kIGNsb3NlUG9wdXAgbWV0aG9kcyB0
byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2Zvcm1zL2NhbGVuZGFyLXBpY2tlci5odG1sOiBB
ZGRlZCBtb2NrIHNldFZhbHVlIGFuZCBjbG9zZVBvcHVwIGltcGxlbWVudGF0aW9uLgorICAgICAg
ICAqIE1hbnVhbFRlc3RzL2Zvcm1zL2NvbG9yLXN1Z2dlc3Rpb24tcGlja2VyLmh0bWw6IERpdHRv
LgorCiAyMDEzLTAyLTA4ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogZXhwb3NlIGRpZHtCZWdpbixDYW5jZWx9RnJhbWUoKSBh
bmQge3dpbGwsZGlkfUNvbXBvc2l0ZSgpIG9uIFdlYkRlYlRvb2xzQWdlbnQKZGlmZiAtLWdpdCBh
L01hbnVhbFRlc3RzL2Zvcm1zL2NhbGVuZGFyLXBpY2tlci5odG1sIGIvTWFudWFsVGVzdHMvZm9y
bXMvY2FsZW5kYXItcGlja2VyLmh0bWwKaW5kZXggMjBlMTRhODExOTJlMWUzYTNlNDQ2MjhjOTFl
ZDkyNjk2NTc5ODlmZi4uMmRkNWYxNzc0OWMxODNkNzIyYjAzM2U2M2ZkZWU1YzVhNDM3ZWQ2YiAx
MDA2NDQKLS0tIGEvTWFudWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKKysrIGIv
TWFudWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKQEAgLTI5NCw2ICsyOTQsMTIg
QEAgZnVuY3Rpb24gb3BlbkNhbGVuZGFyKGFyZ3MpIHsKICAgICAgICAgICAgIGlmIChudW1WYWx1
ZSA9PSAwKQogICAgICAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
ZGF0ZScpLnZhbHVlID0gc3RyaW5nVmFsdWU7CiAgICAgICAgIH0sCisgICAgICAgIHNldFZhbHVl
OiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgICAgICAgd2luZG93LmxvZygndmFsdWU9IicgKyB2
YWx1ZSArICciJyk7CisgICAgICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2RhdGUnKS52YWx1ZSA9IHZhbHVlOworICAgICAgICB9LAorICAgICAgICBjbG9zZVBvcHVwOiBm
dW5jdGlvbigpIHsKKyAgICAgICAgfSwKICAgICAgICAgbG9jYWxpemVOdW1iZXJTdHJpbmc6IGZ1
bmN0aW9uKG51bVN0cmluZykgewogICAgICAgICAgICAgaWYgKHR5cGVvZiBudW1TdHJpbmcgPT0g
Im51bWJlciIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bVN0cmluZy50b0xvY2FsZVN0cmlu
ZygpOwpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvZm9ybXMvY29sb3Itc3VnZ2VzdGlvbi1waWNr
ZXIuaHRtbCBiL01hbnVhbFRlc3RzL2Zvcm1zL2NvbG9yLXN1Z2dlc3Rpb24tcGlja2VyLmh0bWwK
aW5kZXggZGVkNGU3Y2I3Y2Y4Y2QxOWIxODVhYWIzZGRhNzRjZGZlMTM1MDk2YS4uODkzNGFlMTEx
OTU5YjM1MmU4MDM4YTg3YzA2MjdjNmNjYTQ4OTJkZCAxMDA2NDQKLS0tIGEvTWFudWFsVGVzdHMv
Zm9ybXMvY29sb3Itc3VnZ2VzdGlvbi1waWNrZXIuaHRtbAorKysgYi9NYW51YWxUZXN0cy9mb3Jt
cy9jb2xvci1zdWdnZXN0aW9uLXBpY2tlci5odG1sCkBAIC01Niw3ICs1NiwxMyBAQCBmdW5jdGlv
biBvcGVuQ29sb3JQaWNrZXIoYXJncykgewogICAgICAgICAgICAgd2luZG93LmxvZygnbnVtYmVy
PScgKyBudW1WYWx1ZSArICcsIHN0cmluZz0iJyArIHN0cmluZ1ZhbHVlICsgJyInKTsKICAgICAg
ICAgICAgIGlmIChudW1WYWx1ZSA9PT0gMCkKICAgICAgICAgICAgICAgICB3aW5kb3cuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yJykudmFsdWUgPSBzdHJpbmdWYWx1ZTsKLSAgICAgICAg
fQorICAgICAgICB9LAorICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24odmFsdWUpIHsKKyAgICAg
ICAgICAgIHdpbmRvdy5sb2coJ3ZhbHVlPSInICsgdmFsdWUgKyAnIicpOworICAgICAgICAgICAg
d2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvcicpLnZhbHVlID0gdmFsdWU7Cisg
ICAgICAgIH0sCisgICAgICAgIGNsb3NlUG9wdXA6IGZ1bmN0aW9uKCkgeworICAgICAgICB9LAog
ICAgIH0KIAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>