<?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>129520</bug_id>
          
          <creation_ts>2014-02-28 17:03:12 -0800</creation_ts>
          <short_desc>Split UserActivity/CountedUserActivity</short_desc>
          <delta_ts>2014-03-01 00:44:09 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>985785</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-02-28 17:03:12 -0800</bug_when>
    <thetext>UserActivity currently provides an interface allowing counted, nested calls to enable/disable. In some cases it would be easier to use if it were a simpler boolean enabled/disabled interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985791</commentid>
    <comment_count>1</comment_count>
      <attachid>225510</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-02-28 17:14:21 -0800</bug_when>
    <thetext>Created attachment 225510
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985795</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-28 17:17:03 -0800</bug_when>
    <thetext>Attachment 225510 did not pass style-queue:


ERROR: Source/WebCore/page/PageThrottler.h:31:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2627:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2629:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 3 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985810</commentid>
    <comment_count>3</comment_count>
      <attachid>225510</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-02-28 18:17:31 -0800</bug_when>
    <thetext>Comment on attachment 225510
Fix

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

&gt; Source/WebCore/platform/UserActivity.h:52
&gt; +    size_t m_started;

I think this should bool m_isActive;

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2629
&gt; +    if (store.getBoolValueForKey(WebPreferencesKey::pageVisibilityBasedProcessSuppressionEnabledKey()))
&gt; +            m_processSuppressionDisabledByWebPreference.stop();
&gt; +    else
&gt; +            m_processSuppressionDisabledByWebPreference.start();

FIX!!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985902</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-03-01 00:44:09 -0800</bug_when>
    <thetext>Transmitting file data .................
Committed revision 164913.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225510</attachid>
            <date>2014-02-28 17:14:21 -0800</date>
            <delta_ts>2014-02-28 18:17:30 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>129520.1.patch</filename>
            <type>text/plain</type>
            <size>24250</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDg5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDE0LTAyLTI4ICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBTcGxpdCBVc2Vy
QWN0aXZpdHkvQ291bnRlZFVzZXJBY3Rpdml0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5NTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXNlckFjdGl2aXR5IGN1cnJlbnRseSBwcm92aWRlcyBhbiBp
bnRlcmZhY2UgYWxsb3dpbmcgY291bnRlZCwgbmVzdGVkIGNhbGxzIHRvIGVuYWJsZS9kaXNhYmxl
LgorICAgICAgICBJbiBzb21lIGNhc2VzIGl0IHdvdWxkIGJlIGVhc2llciB0byB1c2UgaWYgaXQg
d2VyZSBhIHNpbXBsZXIgYm9vbGVhbiBlbmFibGVkL2Rpc2FibGVkIGludGVyZmFjZS4KKworICAg
ICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAgICAgLSBiZWdpbkFjdGl2aXR5LT5zdGFy
dCwgZW5kQWN0aXZpdHktPnN0b3AuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvUGFnZVRocm90dGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlVGhyb3R0bGVyOjpQYWdlVGhyb3R0bGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VUaHJvdHRsZXI6On5QYWdlVGhyb3R0bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VU
aHJvdHRsZXI6OnRocm90dGxlUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlVGhyb3R0bGVy
Ojp1bnRocm90dGxlUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlVGhyb3R0bGVyOjpzZXRJ
c1Zpc3VhbGx5SWRsZSk6CisgICAgICAgICAgICAtIGJlZ2luQWN0aXZpdHktPmluY3JlbWVudCwg
ZW5kQWN0aXZpdHktPmRlY3JlbWVudC4KKyAgICAgICAgKiBwYWdlL1BhZ2VUaHJvdHRsZXIuaDoK
KyAgICAgICAgICAgIC0gVXNlckFjdGl2aXR5LT5Db3VudGVkVXNlckFjdGl2aXR5IGZvciBtX3Bh
Z2VBY3Rpdml0eQorICAgICAgICAqIHBsYXRmb3JtL0NvdW50ZWRVc2VyQWN0aXZpdHkuaDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmguCisgICAgICAg
IChXZWJDb3JlOjpDb3VudGVkVXNlckFjdGl2aXR5OjpDb3VudGVkVXNlckFjdGl2aXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvdW50ZWRVc2VyQWN0aXZpdHk6OmluY3JlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpDb3VudGVkVXNlckFjdGl2aXR5OjpkZWNyZW1lbnQpOgorICAgICAgICAgICAg
LSBBZGRlZCwgcHJvdmlkZXMgY291bnRlZCBpbnRlcmZhY2UgdG8gVXNlckFjdGl2aXR5LgorICAg
ICAgICAqIHBsYXRmb3JtL1VzZXJBY3Rpdml0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVc2Vy
QWN0aXZpdHk6OlVzZXJBY3Rpdml0eSk6CisgICAgICAgICAgICAtIG1fY291bnQgcmVtb3ZlZAor
ICAgICAgICAoV2ViQ29yZTo6VXNlckFjdGl2aXR5OjpzdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyQWN0aXZpdHk6OnN0b3ApOgorICAgICAgICAgICAgLSBiZWdpbkFjdGl2aXR5LT5zdGFy
dCwgZW5kQWN0aXZpdHktPnN0b3AsIGltcGxlbnRhdGlvbiBub3cgZW1wdHkuCisgICAgICAgICog
cGxhdGZvcm0vVXNlckFjdGl2aXR5Lmg6CisgICAgICAgICAgICAtIGJlZ2luQWN0aXZpdHktPnN0
YXJ0LCBlbmRBY3Rpdml0eS0+c3RvcCwgbV9jb3VudCBtb3ZlZCB0byBIQVZFKE5TX0FDVElWSVRZ
KQorICAgICAgICAqIHBsYXRmb3JtL21hYy9Vc2VyQWN0aXZpdHlNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpVc2VyQWN0aXZpdHk6OlVzZXJBY3Rpdml0eSk6CisgICAgICAgICAgICAtIG1fY291
bnQtPm1fc3RhcnRlZAorICAgICAgICAoV2ViQ29yZTo6VXNlckFjdGl2aXR5Ojppc1ZhbGlkKToK
KyAgICAgICAgICAgIC0gbV9jb3VudC0+bV9zdGFydGVkCisgICAgICAgIChXZWJDb3JlOjpVc2Vy
QWN0aXZpdHk6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJBY3Rpdml0eTo6c3RvcCk6
CisgICAgICAgICAgICAtIGJlZ2luQWN0aXZpdHktPnN0YXJ0LCBlbmRBY3Rpdml0eS0+c3RvcCwg
bm8gbG9uZ2VyIG5lc3QKKworCiAyMDE0LTAyLTI4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgSlNDIEFzc2VydGlvbiBmYWlsdXJlIGV2ZXJ5IHRpbWUgSSBz
dGFydCBTYWZhcmkgKHIxNjQ4NDYpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24g
MTY0ODkxKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTI0MCw4ICsyNDAsOCBAQCBfX1pON1dlYkNvcmUxMlRleHRJdGVyYXRvcjdhZHZhbmNlRXYK
IF9fWk43V2ViQ29yZTEyVGV4dEl0ZXJhdG9yOHN1YnJhbmdlRVBOU181UmFuZ2VFaWkKIF9fWk43
V2ViQ29yZTEyVGV4dEl0ZXJhdG9yQzFFUEtOU181UmFuZ2VFTlNfMjBUZXh0SXRlcmF0b3JCZWhh
dmlvckUKIF9fWk43V2ViQ29yZTEyVGV4dEl0ZXJhdG9yRDFFdgotX19aTjdXZWJDb3JlMTJVc2Vy
QWN0aXZpdHkxMWVuZEFjdGl2aXR5RXYKLV9fWk43V2ViQ29yZTEyVXNlckFjdGl2aXR5MTNiZWdp
bkFjdGl2aXR5RXYKK19fWk43V2ViQ29yZTEyVXNlckFjdGl2aXR5NHN0b3BFdgorX19aTjdXZWJD
b3JlMTJVc2VyQWN0aXZpdHk1c3RhcnRFdgogX19aTjdXZWJDb3JlMTJVc2VyQWN0aXZpdHlDMUVQ
S2MKIF9fWk43V2ViQ29yZTEyVVRGOEVuY29kaW5nRXYKIF9fWk43V2ViQ29yZTEyV29ya2VyVGhy
ZWFkMTd3b3JrZXJUaHJlYWRDb3VudEV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjQ4OTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29w
eSkKQEAgLTI5MzYsNiArMjkzNiw3IEBACiAJCTg1RkYzMTVCMEFBRkJGQ0IwMDM3NEYzOCAvKiBE
T01LZXlib2FyZEV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODVGRjMxNTkwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQubW0g
Ki87IH07CiAJCTg2MUMyRUE0MTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYxQzJF
QTMxM0ZCNEZERDAwMDYyQUJCIC8qIERvY3VtZW50TG9hZFRpbWluZy5jcHAgKi87IH07CiAJCTg2
MUMyRUE2MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYxQzJFQTUxM0ZCNEZGRjAw
MDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi87IH07CisJCTg2MkYxMjlFMThDMTU3
NkYwMDVDNTRBRiAvKiBDb3VudGVkVXNlckFjdGl2aXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjJGMTI5RDE4QzE1NzJDMDA1QzU0QUYgLyogQ291
bnRlZFVzZXJBY3Rpdml0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTg2NTEyRURFMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcCAqLzsgfTsKIAkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmggKi87IH07CiAJCTg2NzhEMEJCMTg3OEU4OTEwMDNBQkRFNiAvKiBWaWV3U3RhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NzhEMEJBMTg3OEU4
MTAwMDNBQkRFNiAvKiBWaWV3U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtOTgzOCw2ICs5ODM5LDcgQEAKIAkJODVGRjMxNTkwQUFGQkZD
QjAwMzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gRE9NS2V5Ym9hcmRFdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODYxQzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIERvY3VtZW50TG9hZFRpbWlu
Zy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEb2N1bWVudExvYWRU
aW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjFDMkVBNTEzRkI0RkZG
MDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg2MkYxMjlEMThDMTU3MkMwMDVDNTRBRiAvKiBDb3VudGVkVXNlckFjdGl2
aXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvdW50ZWRVc2VyQWN0aXZp
dHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY1MTJFREIxNTRBMkFFRTAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA3MDAsNiArMjA3MDIsNyBAQAogCQkJCTA2
MDI3Q0FDMEIxQ0JGQzAwMDg4NEIyRCAvKiBDb250ZXh0TWVudUl0ZW0uaCAqLywKIAkJCQlEOEI2
MTUyRTEwMzI0OTUxMDBDODU1NEEgLyogQ29va2llLmggKi8sCiAJCQkJMzM5QjVCNjIxMzFEQUEz
MjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovLAorCQkJCTg2MkYxMjlEMThDMTU3MkMw
MDVDNTRBRiAvKiBDb3VudGVkVXNlckFjdGl2aXR5LmggKi8sCiAJCQkJMkU0MzQ2NTYwRjU0NkE5
OTAwQjBGMUJBIC8qIENyb3NzVGhyZWFkQ29waWVyLmNwcCAqLywKIAkJCQkyRTQzNDY1NzBGNTQ2
QTk5MDBCMEYxQkEgLyogQ3Jvc3NUaHJlYWRDb3BpZXIuaCAqLywKIAkJCQlFMTFBRjE1MDExQjlB
MUEzMDA4MDUxMDMgLyogQ3Vyc29yLmNwcCAqLywKQEAgLTI1Mzg2LDYgKzI1Mzg5LDcgQEAKIAkJ
CQkwODhBMEUwNzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eU1hY3Jvcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDgxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR0FuaW1h
dGVkUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEM4NTlDMDEyNzQ1NzU0
MDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRSZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjJGMTI5
RTE4QzE1NzZGMDA1QzU0QUYgLyogQ291bnRlZFVzZXJBY3Rpdml0eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDg1MjVFNjMxMjc4QzAwMTAwQTg0Nzc4IC8qIFNWR0FuaW1hdGVkU3RhdGljUHJvcGVy
dHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODREQjU5QjEyODAwOENDMDAyQTZENjQg
LyogU1ZHQW5pbWF0ZWRTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4MjUwOTM5MTI4QkQ0
RDgwMEUyRUQ4RSAvKiBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaCBpbiBIZWFkZXJzICovLApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlVGhyb3R0bGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuY3BwCShyZXZpc2lvbiAxNjQ4OTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VUaHJvdHRsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw3ICs0NSw3IEBAIFBhZ2VUaHJvdHRsZXI6OlBhZ2VUaHJvdHRsZXIoUGFnZSYgcGFn
ZSwKICAgICAsIG1fdmlzdWFsbHlOb25JZGxlKCJQYWdlIGlzIG5vdCB2aXN1YWxseSBpZGxlLiIp
CiAgICAgLCBtX3BhZ2VBY3Rpdml0eSgiUGFnZSBpcyBhY3RpdmUuIikKIHsKLSAgICBtX3BhZ2VB
Y3Rpdml0eS5iZWdpbkFjdGl2aXR5KCk7CisgICAgbV9wYWdlQWN0aXZpdHkuaW5jcmVtZW50KCk7
CiAKICAgICBzZXRJc1Zpc3VhbGx5SWRsZSh2aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlzdWFs
bHlJZGxlKTsKIH0KQEAgLTU4LDcgKzU4LDcgQEAgUGFnZVRocm90dGxlcjo6flBhZ2VUaHJvdHRs
ZXIoKQogICAgICAgICAoKml0KS0+aW52YWxpZGF0ZSgpOwogCiAgICAgaWYgKG1fdGhyb3R0bGVT
dGF0ZSAhPSBQYWdlVGhyb3R0bGVkU3RhdGUpCi0gICAgICAgIG1fcGFnZUFjdGl2aXR5LmVuZEFj
dGl2aXR5KCk7CisgICAgICAgIG1fcGFnZUFjdGl2aXR5LmRlY3JlbWVudCgpOwogfQogCiB2b2lk
IFBhZ2VUaHJvdHRsZXI6OmhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdTdGF0ZUNoYW5nZWQo
KQpAQCAtODAsNyArODAsNyBAQCB2b2lkIFBhZ2VUaHJvdHRsZXI6OnRocm90dGxlUGFnZSgpCiB7
CiAgICAgbV90aHJvdHRsZVN0YXRlID0gUGFnZVRocm90dGxlZFN0YXRlOwogCi0gICAgbV9wYWdl
QWN0aXZpdHkuZW5kQWN0aXZpdHkoKTsKKyAgICBtX3BhZ2VBY3Rpdml0eS5kZWNyZW1lbnQoKTsK
IAogICAgIG1fcGFnZS5zZXRUaW1lclRocm90dGxpbmdFbmFibGVkKHRydWUpOwogfQpAQCAtOTQs
NyArOTQsNyBAQCB2b2lkIFBhZ2VUaHJvdHRsZXI6OnVudGhyb3R0bGVQYWdlKCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKG9sZFN0YXRlID09IFBhZ2VUaHJvdHRsZWRTdGF0ZSkKLSAgICAg
ICAgbV9wYWdlQWN0aXZpdHkuYmVnaW5BY3Rpdml0eSgpOworICAgICAgICBtX3BhZ2VBY3Rpdml0
eS5pbmNyZW1lbnQoKTsKICAgICAKICAgICBtX3BhZ2Uuc2V0VGltZXJUaHJvdHRsaW5nRW5hYmxl
ZChmYWxzZSk7CiB9CkBAIC0xMjMsMTMgKzEyMywxMSBAQCB2b2lkIFBhZ2VUaHJvdHRsZXI6OnNl
dElzVmlzdWFsbHlJZGxlKGJvCiAgICAgaWYgKGlzVmlzdWFsbHlJZGxlKSB7CiAgICAgICAgIG1f
dGhyb3R0bGVTdGF0ZSA9IFBhZ2VXYWl0aW5nVG9UaHJvdHRsZVN0YXRlOwogICAgICAgICBzdGFy
dFRocm90dGxlSHlzdGVyZXNpc1RpbWVyKCk7Ci0gICAgICAgIGlmIChtX3Zpc3VhbGx5Tm9uSWRs
ZS5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV92aXN1YWxseU5vbklkbGUuZW5kQWN0aXZpdHko
KTsKKyAgICAgICAgbV92aXN1YWxseU5vbklkbGUuc3RvcCgpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIHVudGhyb3R0bGVQYWdlKCk7CiAgICAgICAgIHN0b3BUaHJvdHRsZUh5c3RlcmVzaXNUaW1l
cigpOwotICAgICAgICBpZiAoIW1fdmlzdWFsbHlOb25JZGxlLmlzQWN0aXZlKCkpCi0gICAgICAg
ICAgICBtX3Zpc3VhbGx5Tm9uSWRsZS5iZWdpbkFjdGl2aXR5KCk7CisgICAgICAgIG1fdmlzdWFs
bHlOb25JZGxlLnN0YXJ0KCk7CiAgICAgfQogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VUaHJvdHRsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VU
aHJvdHRsZXIuaAkocmV2aXNpb24gMTY0ODkxKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
VGhyb3R0bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IlRpbWVyLmgiCiAKLSNpbmNsdWRlICJVc2VyQWN0aXZpdHkuaCIKKyNpbmNsdWRlICJDb3VudGVk
VXNlckFjdGl2aXR5LmgiCiAjaW5jbHVkZSAiVmlld1N0YXRlLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC04Miw3ICs4Miw3IEBAIHByaXZh
dGU6CiAgICAgVGltZXI8UGFnZVRocm90dGxlcj4gbV90aHJvdHRsZUh5c3RlcmVzaXNUaW1lcjsK
ICAgICBIYXNoU2V0PFBhZ2VBY3Rpdml0eUFzc2VydGlvblRva2VuKj4gbV9hY3Rpdml0eVRva2Vu
czsKICAgICBVc2VyQWN0aXZpdHkgbV92aXN1YWxseU5vbklkbGU7Ci0gICAgVXNlckFjdGl2aXR5
IG1fcGFnZUFjdGl2aXR5OworICAgIENvdW50ZWRVc2VyQWN0aXZpdHkgbV9wYWdlQWN0aXZpdHk7
CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db3VudGVkVXNlckFjdGl2
aXR5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ291bnRlZFVzZXJB
Y3Rpdml0eS5oCShyZXZpc2lvbiAxNjQ4OTEpCShmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1VzZXJBY3Rpdml0eS5oOjE2NDg5MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvdW50
ZWRVc2VyQWN0aXZpdHkuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBVc2VyQWN0aXZpdHlfaAorI2RlZmluZSBVc2VyQWN0aXZpdHlfaAorCisj
aWYgSEFWRShOU19BQ1RJVklUWSkKKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1J1bkxvb3AuaD4KK09CSkNfQ0xBU1MgTlNTdHJpbmc7CisjZW5kaWYKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCisvLyBUaGUgVXNlckFjdGl2aXR5IHR5cGUgaXMgdXNlZCB0byBpbmRp
Y2F0ZSB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0aGF0CisvLyBhIHVzZXIgaW5pdGlhdGVkIG9y
IHZpc2libGUgYWN0aW9uIGlzIHRha2luZyBwbGFjZSwgYW5kIGFzIHN1Y2ggdGhhdAorLy8gcmVz
b3VyY2VzIHNob3VsZCBiZSBhbGxvY2F0ZWQgdG8gdGhlIHByb2Nlc3MgYWNjb3JkaW5nbHkuCitj
bGFzcyBVc2VyQWN0aXZpdHkgeworcHVibGljOgorICAgIFVzZXJBY3Rpdml0eShjb25zdCBjaGFy
KiBkZXNjcmlwdGlvbik7CisKKyAgICB2b2lkIGJlZ2luQWN0aXZpdHkoKTsKKyAgICB2b2lkIGVu
ZEFjdGl2aXR5KCk7CisKKyAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9jb3Vu
dDsgfQorCitwcml2YXRlOgorICAgIHNpemVfdCBtX2NvdW50OworCisjaWYgSEFWRShOU19BQ1RJ
VklUWSkKKyAgICB2b2lkIGh5c3RlcmVzaXNUaW1lckZpcmVkKCk7CisgICAgYm9vbCBpc1ZhbGlk
KCk7CisKKyAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1fZGVzY3JpcHRpb247CisgICAgUnVuTG9v
cDo6VGltZXI8VXNlckFjdGl2aXR5PiBtX3RpbWVyOworICAgIFJldGFpblB0cjxpZD4gbV9hY3Rp
dml0eTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCit1c2luZyBXZWJD
b3JlOjpVc2VyQWN0aXZpdHk7CisKKyNlbmRpZiAvLyBVc2VyQWN0aXZpdHlfaApJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ291bnRlZFVzZXJBY3Rpdml0eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvdW50ZWRVc2VyQWN0aXZpdHkuaAkod29ya2luZyBj
b3B5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ291bnRlZFVzZXJBY3Rpdml0eS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw0NCArMjMsNDAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIFVzZXJBY3Rpdml0eV9oCi0jZGVmaW5lIFVzZXJB
Y3Rpdml0eV9oCisjaWZuZGVmIENvdW50ZWRVc2VyQWN0aXZpdHlfaAorI2RlZmluZSBDb3VudGVk
VXNlckFjdGl2aXR5X2gKIAotI2lmIEhBVkUoTlNfQUNUSVZJVFkpCi0jaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+Ci1PQkpDX0NMQVNTIE5TU3RyaW5n
OwotI2VuZGlmCisjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQWN0aXZpdHkuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0vLyBUaGUgVXNlckFjdGl2aXR5IHR5cGUgaXMgdXNlZCB0byBpbmRpY2F0
ZSB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0aGF0Ci0vLyBhIHVzZXIgaW5pdGlhdGVkIG9yIHZp
c2libGUgYWN0aW9uIGlzIHRha2luZyBwbGFjZSwgYW5kIGFzIHN1Y2ggdGhhdAotLy8gcmVzb3Vy
Y2VzIHNob3VsZCBiZSBhbGxvY2F0ZWQgdG8gdGhlIHByb2Nlc3MgYWNjb3JkaW5nbHkuCi1jbGFz
cyBVc2VyQWN0aXZpdHkgeworY2xhc3MgQ291bnRlZFVzZXJBY3Rpdml0eSB7CiBwdWJsaWM6Ci0g
ICAgVXNlckFjdGl2aXR5KGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uKTsKLQotICAgIHZvaWQgYmVn
aW5BY3Rpdml0eSgpOwotICAgIHZvaWQgZW5kQWN0aXZpdHkoKTsKLQotICAgIGJvb2wgaXNBY3Rp
dmUoKSBjb25zdCB7IHJldHVybiBtX2NvdW50OyB9CisgICAgQ291bnRlZFVzZXJBY3Rpdml0eShj
b25zdCBjaGFyKiBkZXNjcmlwdGlvbikKKyAgICAgICAgOiBtX2FjdGl2aXR5KGRlc2NyaXB0aW9u
KQorICAgICAgICAsIG1fY291bnQoMCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBpbmNyZW1l
bnQoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2NvdW50KyspCisgICAgICAgICAgICBtX2FjdGl2
aXR5LnN0YXJ0KCk7CisgICAgfQorCisgICAgdm9pZCBkZWNyZW1lbnQoKQorICAgIHsKKyAgICAg
ICAgaWYgKCEtLW1fY291bnQpCisgICAgICAgICAgICBtX2FjdGl2aXR5LnN0b3AoKTsKKyAgICB9
CiAKIHByaXZhdGU6CisgICAgVXNlckFjdGl2aXR5IG1fYWN0aXZpdHk7CiAgICAgc2l6ZV90IG1f
Y291bnQ7Ci0KLSNpZiBIQVZFKE5TX0FDVElWSVRZKQotICAgIHZvaWQgaHlzdGVyZXNpc1RpbWVy
RmlyZWQoKTsKLSAgICBib29sIGlzVmFsaWQoKTsKLQotICAgIFJldGFpblB0cjxOU1N0cmluZz4g
bV9kZXNjcmlwdGlvbjsKLSAgICBSdW5Mb29wOjpUaW1lcjxVc2VyQWN0aXZpdHk+IG1fdGltZXI7
Ci0gICAgUmV0YWluUHRyPGlkPiBtX2FjdGl2aXR5OwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLXVzaW5nIFdlYkNvcmU6OlVzZXJBY3Rpdml0eTsKK3VzaW5nIFdlYkNv
cmU6OkNvdW50ZWRVc2VyQWN0aXZpdHk7CiAKLSNlbmRpZiAvLyBVc2VyQWN0aXZpdHlfaAorI2Vu
ZGlmIC8vIENvdW50ZWRVc2VyQWN0aXZpdHlfaApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVXNlckFjdGl2aXR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Vc2VyQWN0aXZpdHkuY3BwCShyZXZpc2lvbiAxNjQ4OTEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Vc2VyQWN0aXZpdHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxOSArMzEsMTUg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmICFIQVZFKE5TX0FDVElWSVRZKQogCiBVc2VyQWN0
aXZpdHk6OlVzZXJBY3Rpdml0eShjb25zdCBjaGFyKikKLSAgICA6IG1fY291bnQoMCkKIHsKIH0K
IAotdm9pZCBVc2VyQWN0aXZpdHk6OmJlZ2luQWN0aXZpdHkoKQordm9pZCBVc2VyQWN0aXZpdHk6
OnN0YXJ0KCkKIHsKLSAgICArK21fY291bnQ7CiB9CiAKLXZvaWQgVXNlckFjdGl2aXR5OjplbmRB
Y3Rpdml0eSgpCit2b2lkIFVzZXJBY3Rpdml0eTo6c3RvcCgpCiB7Ci0gICAgQVNTRVJUKG1fY291
bnQpOwotICAgIC0tbV9jb3VudDsKIH0KIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Vc2VyQWN0aXZpdHkuaAkocmV2aXNpb24gMTY0ODkxKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVXNlckFjdGl2aXR5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE4ICs0MSwxNSBA
QCBjbGFzcyBVc2VyQWN0aXZpdHkgewogcHVibGljOgogICAgIFVzZXJBY3Rpdml0eShjb25zdCBj
aGFyKiBkZXNjcmlwdGlvbik7CiAKLSAgICB2b2lkIGJlZ2luQWN0aXZpdHkoKTsKLSAgICB2b2lk
IGVuZEFjdGl2aXR5KCk7Ci0KLSAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9j
b3VudDsgfQorICAgIHZvaWQgc3RhcnQoKTsKKyAgICB2b2lkIHN0b3AoKTsKIAogcHJpdmF0ZToK
LSAgICBzaXplX3QgbV9jb3VudDsKLQogI2lmIEhBVkUoTlNfQUNUSVZJVFkpCiAgICAgdm9pZCBo
eXN0ZXJlc2lzVGltZXJGaXJlZCgpOwogICAgIGJvb2wgaXNWYWxpZCgpOwogCisgICAgc2l6ZV90
IG1fc3RhcnRlZDsKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1fZGVzY3JpcHRpb247CiAgICAg
UnVuTG9vcDo6VGltZXI8VXNlckFjdGl2aXR5PiBtX3RpbWVyOwogICAgIFJldGFpblB0cjxpZD4g
bV9hY3Rpdml0eTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Vc2VyQWN0aXZp
dHlNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1VzZXJB
Y3Rpdml0eU1hYy5tbQkocmV2aXNpb24gMTY0ODkxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1VzZXJBY3Rpdml0eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZG91YmxlIGtIeXN0ZXJlc2lzU2Vj
b25kcyA9IDUuMDsKIAogVXNlckFjdGl2aXR5OjpVc2VyQWN0aXZpdHkoY29uc3QgY2hhciogZGVz
Y3JpcHRpb24pCi0gICAgOiBtX2NvdW50KDApCisgICAgOiBtX3N0YXJ0ZWQoZmFsc2UpCiAgICAg
LCBtX2Rlc2NyaXB0aW9uKFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpkZXNjcmlwdGlv
bl0pCiAgICAgLCBtX3RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJlVzZXJBY3Rpdml0eTo6
aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiB7CkBAIC00NiwxNCArNDYsMTcgQEAgYm9vbCBVc2VyQWN0
aXZpdHk6OmlzVmFsaWQoKQogICAgIC8vIEVsc2UgaWYgY291bnQgaXMgemVybyB0aGVuOgogICAg
IC8vICAoYSkgaWYgd2UncmUgaG9sZGluZyBhbiBhY3Rpdml0eSB0aGVyZSBzaG91bGQgYmUgYW4g
YWN0aXZlIHRpbWVyIHRvIGNsZWFyIHRoaXMsCiAgICAgLy8gIChiKSBpZiB3ZSdyZSBub3QgaG9s
ZGluZyBhbiBhY3Rpdml0eSB0aGVyZSBzaG91bGQgYmUgbm8gYWN0aXZlIHRpbWVyLgotICAgIHJl
dHVybiBtX2NvdW50ID8gbV9hY3Rpdml0eSAmJiAhbV90aW1lci5pc0FjdGl2ZSgpIDogISFtX2Fj
dGl2aXR5ID09IG1fdGltZXIuaXNBY3RpdmUoKTsKKyAgICByZXR1cm4gbV9zdGFydGVkID8gbV9h
Y3Rpdml0eSAmJiAhbV90aW1lci5pc0FjdGl2ZSgpIDogISFtX2FjdGl2aXR5ID09IG1fdGltZXIu
aXNBY3RpdmUoKTsKIH0KIAotdm9pZCBVc2VyQWN0aXZpdHk6OmJlZ2luQWN0aXZpdHkoKQordm9p
ZCBVc2VyQWN0aXZpdHk6OnN0YXJ0KCkKIHsKICAgICBBU1NFUlQoaXNWYWxpZCgpKTsKIAotICAg
ICsrbV9jb3VudDsKKyAgICBpZiAobV9zdGFydGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9z
dGFydGVkID0gdHJ1ZTsKKwogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1f
dGltZXIuc3RvcCgpOwogICAgIGlmICghbV9hY3Rpdml0eSkgewpAQCAtNjQsMTMgKzY3LDE1IEBA
IHZvaWQgVXNlckFjdGl2aXR5OjpiZWdpbkFjdGl2aXR5KCkKICAgICBBU1NFUlQoaXNWYWxpZCgp
KTsKIH0KIAotdm9pZCBVc2VyQWN0aXZpdHk6OmVuZEFjdGl2aXR5KCkKK3ZvaWQgVXNlckFjdGl2
aXR5OjpzdG9wKCkKIHsKLSAgICBBU1NFUlQobV9jb3VudCk7CiAgICAgQVNTRVJUKGlzVmFsaWQo
KSk7CiAKLSAgICBpZiAoIS0tbV9jb3VudCkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
a0h5c3RlcmVzaXNTZWNvbmRzKTsKKyAgICBpZiAoIW1fc3RhcnRlZCkKKyAgICAgICAgcmV0dXJu
OworICAgIG1fc3RhcnRlZCA9IGZhbHNlOworCisgICAgbV90aW1lci5zdGFydE9uZVNob3Qoa0h5
c3RlcmVzaXNTZWNvbmRzKTsKIAogICAgIEFTU0VSVChpc1ZhbGlkKCkpOwogfQpJbmRleDogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTY0ODk5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTQtMDItMjggIEdhdmluIEJhcnJhY2xvdWdo
ICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFNwbGl0IFVzZXJBY3Rpdml0eS9D
b3VudGVkVXNlckFjdGl2aXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjk1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2VyQWN0aXZpdHkgY3VycmVudGx5IHByb3ZpZGVzIGFuIGludGVyZmFjZSBh
bGxvd2luZyBjb3VudGVkLCBuZXN0ZWQgY2FsbHMgdG8gZW5hYmxlL2Rpc2FibGUuCisgICAgICAg
IEluIHNvbWUgY2FzZXMgaXQgd291bGQgYmUgZWFzaWVyIHRvIHVzZSBpZiBpdCB3ZXJlIGEgc2lt
cGxlciBib29sZWFuIGVuYWJsZWQvZGlzYWJsZWQgaW50ZXJmYWNlLgorCisgICAgICAgICogUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nl
c3M6OmNvbm5lY3Rpb25BY3Rpdml0eSk6CisgICAgICAgICAgICAtIFVzZXJBY3Rpdml0eS0+Q291
bnRlZFVzZXJBY3Rpdml0eQorICAgICAgICAqIFBsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nl
c3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlh
bGl6ZVByb2Nlc3MpOgorICAgICAgICAgICAgLSBiZWdpbkFjdGl2aXR5LT5zdGFydAorICAgICAg
ICAqIFNoYXJlZC9BY3Rpdml0eUFzc2VydGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFjdGl2
aXR5QXNzZXJ0aW9uOjpBY3Rpdml0eUFzc2VydGlvbik6CisgICAgICAgIChXZWJLaXQ6OkFjdGl2
aXR5QXNzZXJ0aW9uOjp+QWN0aXZpdHlBc3NlcnRpb24pOgorICAgICAgICAgICAgLSBiZWdpbkFj
dGl2aXR5LT5pbmNyZW1lbnQsIGVuZEFjdGl2aXR5LT5kZWNyZW1lbnQuCisgICAgICAgICogU2hh
cmVkL0FjdGl2aXR5QXNzZXJ0aW9uLmg6CisgICAgICAgICAgICAtIFVzZXJBY3Rpdml0eS0+Q291
bnRlZFVzZXJBY3Rpdml0eQorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OnNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQp
OgorICAgICAgICAgICAgLSBiZWdpbkFjdGl2aXR5LT5zdGFydCwgZW5kQWN0aXZpdHktPnN0b3Au
CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAgICAgLSByZW1vdmVk
IHByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoKQorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5j
ZXMpOgorICAgICAgICAgICAgLSBiZWdpbkFjdGl2aXR5LT5zdGFydCwgZW5kQWN0aXZpdHktPnN0
b3AuCisKIDIwMTQtMDItMjggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU11bV0syXSBoaWdobGlnaHQgcmVjdHMgc2hvdWxkIG5ldmVyIGJpZyBi
aWdnZXIgdGhhbiB0aGUgdmlldwpJbmRleDogU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmgJKHJldmlzaW9uIDE2NDg5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBACiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKICNpbmNsdWRlICJDaGlsZFBy
b2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvdW50ZWRVc2VyQWN0aXZpdHkuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNjMsNyArNjQsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBvcGVuRmlsZShjb25zdCBTdHJpbmcmIHVybFN0cmluZyk7CiAjZW5kaWYKIAotICAg
IFVzZXJBY3Rpdml0eSYgY29ubmVjdGlvbkFjdGl2aXR5KCkgeyByZXR1cm4gbV9jb25uZWN0aW9u
QWN0aXZpdHk7IH0KKyAgICBDb3VudGVkVXNlckFjdGl2aXR5JiBjb25uZWN0aW9uQWN0aXZpdHko
KSB7IHJldHVybiBtX2Nvbm5lY3Rpb25BY3Rpdml0eTsgfQogCiBwcml2YXRlOgogICAgIFBsdWdp
blByb2Nlc3MoKTsKQEAgLTExOSw3ICsxMjAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBz
dGF0aWMgdm9pZCBsb3dNZW1vcnlIYW5kbGVyKGJvb2wgY3JpdGljYWwpOwotICAgIFVzZXJBY3Rp
dml0eSBtX2Nvbm5lY3Rpb25BY3Rpdml0eTsKKyAgICBDb3VudGVkVXNlckFjdGl2aXR5IG1fY29u
bmVjdGlvbkFjdGl2aXR5OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMu
bW0JKHJldmlzaW9uIDE2NDg5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFj
L1BsdWdpblByb2Nlc3NNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQzOCw3ICs0MzgsNyBAQCB2
b2lkIFBsdWdpblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVByCiAKICAgICAvLyBGSVhNRTog
V29ya2Fyb3VuZCBmb3IgSmF2YSBub3QgbGlraW5nIGl0cyBwbHVnaW4gcHJvY2VzcyB0byBiZSBz
dXByZXNzZWQgLSA8cmRhcjovL3Byb2JsZW0vMTQyNjc4NDM+CiAgICAgaWYgKG1fcGx1Z2luQnVu
ZGxlSWRlbnRpZmllciA9PSAiY29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQbHVnaW4iKQotICAg
ICAgICAobmV3IFVzZXJBY3Rpdml0eSgiY29tLm9yYWNsZS5qYXZhLkphdmFBcHBsZXRQbHVnaW4i
KSktPmJlZ2luQWN0aXZpdHkoKTsKKyAgICAgICAgKG5ldyBVc2VyQWN0aXZpdHkoImNvbS5vcmFj
bGUuamF2YS5KYXZhQXBwbGV0UGx1Z2luIikpLT5zdGFydCgpOwogfQogCiB2b2lkIFBsdWdpblBy
b2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QWN0aXZpdHlBc3NlcnRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BY3Rpdml0eUFzc2VydGlvbi5jcHAJKHJldmlzaW9uIDE2NDg5MSkKKysrIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BY3Rpdml0eUFzc2VydGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDE1
ICsyOCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotQWN0aXZpdHlBc3NlcnRpb246OkFj
dGl2aXR5QXNzZXJ0aW9uKFVzZXJBY3Rpdml0eSYgYWN0aXZpdHkpCitBY3Rpdml0eUFzc2VydGlv
bjo6QWN0aXZpdHlBc3NlcnRpb24oQ291bnRlZFVzZXJBY3Rpdml0eSYgYWN0aXZpdHkpCiAgICAg
OiBtX2FjdGl2aXR5KGFjdGl2aXR5KQogewotICAgIG1fYWN0aXZpdHkuYmVnaW5BY3Rpdml0eSgp
OworICAgIG1fYWN0aXZpdHkuaW5jcmVtZW50KCk7CiB9CiAKIEFjdGl2aXR5QXNzZXJ0aW9uOjp+
QWN0aXZpdHlBc3NlcnRpb24oKQogewotICAgIG1fYWN0aXZpdHkuZW5kQWN0aXZpdHkoKTsKKyAg
ICBtX2FjdGl2aXR5LmRlY3JlbWVudCgpOwogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQWN0aXZpdHlBc3NlcnRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQWN0aXZpdHlBc3NlcnRpb24uaAkocmV2aXNpb24gMTY0ODkxKQorKysgU291cmNlL1dl
YktpdDIvU2hhcmVkL0FjdGl2aXR5QXNzZXJ0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgQWN0aXZpdHlBc3NlcnRpb25faAogI2RlZmluZSBBY3Rpdml0eUFz
c2VydGlvbl9oCiAKLSNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBY3Rpdml0eS5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvQ291bnRlZFVzZXJBY3Rpdml0eS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTM0LDExICszNCwxMSBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIEFjdGl2aXR5QXNzZXJ0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBY3Rpdml0eUFzc2VydGlvbik7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgQWN0aXZpdHlB
c3NlcnRpb24oVXNlckFjdGl2aXR5Jik7CisgICAgZXhwbGljaXQgQWN0aXZpdHlBc3NlcnRpb24o
Q291bnRlZFVzZXJBY3Rpdml0eSYpOwogICAgIH5BY3Rpdml0eUFzc2VydGlvbigpOwogCiBwcml2
YXRlOgotICAgIFVzZXJBY3Rpdml0eSYgbV9hY3Rpdml0eTsKKyAgICBDb3VudGVkVXNlckFjdGl2
aXR5JiBtX2FjdGl2aXR5OwogfTsKIAogfQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxk
UHJvY2Vzcy5jcHAJKHJldmlzaW9uIDE2NDg5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NSwxMyArNzUsMTAgQEAgdm9pZCBD
aGlsZFByb2Nlc3M6OmluaXRpYWxpemUoY29uc3QgQ2hpbAogCiB2b2lkIENoaWxkUHJvY2Vzczo6
c2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgaWYgKHBy
b2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoKSA9PSBlbmFibGVkKQotICAgICAgICByZXR1cm47Ci0K
ICAgICBpZiAoZW5hYmxlZCkKLSAgICAgICAgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZC5l
bmRBY3Rpdml0eSgpOworICAgICAgICBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkLnN0b3Ao
KTsKICAgICBlbHNlCi0gICAgICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQuYmVnaW5B
Y3Rpdml0eSgpOworICAgICAgICBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkLnN0YXJ0KCk7
CiB9CiAKIHZvaWQgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuaAkocmV2aXNpb24gMTY0ODkxKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVk
L0NoaWxkUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJlbW92ZU1lc3NhZ2VSZWNlaXZlcihJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKTsKIAogICAgIHZvaWQgc2V0
UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChib29sKTsKLSAgICBib29sIHByb2Nlc3NTdXBwcmVz
c2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiAhbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxl
ZC5pc0FjdGl2ZSgpOyB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldEFwcGxp
Y2F0aW9uSXNEYWVtb24oKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE2NDg5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYyMywxMyAr
MjYyMywxMCBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlCiAgICAg
c2V0dGluZ3Muc2V0TGF5b3V0SW50ZXJ2YWwoc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4oc3Rv
cmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxheW91dEludGVydmFs
S2V5KCkpKSkpOwogICAgIHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24oc3RvcmUuZ2V0RG91
YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1heFBhcnNlRHVyYXRpb25LZXkoKSkp
OwogCi0gICAgaWYgKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
cGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWRLZXkoKSkpIHsKLSAg
ICAgICAgaWYgKG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlByZWZlcmVuY2UuaXNB
Y3RpdmUoKSkKLSAgICAgICAgICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlBy
ZWZlcmVuY2UuZW5kQWN0aXZpdHkoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIW1fcHJv
Y2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlByZWZlcmVuY2UuaXNBY3RpdmUoKSkKLSAgICAg
ICAgICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlByZWZlcmVuY2UuYmVnaW5B
Y3Rpdml0eSgpOwotICAgIH0KKyAgICBpZiAoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpwYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxl
ZEtleSgpKSkKKyAgICAgICAgICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRCeVdlYlBy
ZWZlcmVuY2Uuc3RvcCgpOworICAgIGVsc2UKKyAgICAgICAgICAgIG1fcHJvY2Vzc1N1cHByZXNz
aW9uRGlzYWJsZWRCeVdlYlByZWZlcmVuY2Uuc3RhcnQoKTsKIAogICAgIHBsYXRmb3JtUHJlZmVy
ZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOwogCg==
</data>
<flag name="review"
          id="249659"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>