<?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>82516</bug_id>
          
          <creation_ts>2012-03-28 13:37:29 -0700</creation_ts>
          <short_desc>[chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap</short_desc>
          <delta_ts>2012-03-28 14:45:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Nat Duca">nduca</reporter>
          <assigned_to name="Nat Duca">nduca</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>590358</commentid>
    <comment_count>0</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-03-28 13:37:29 -0700</bug_when>
    <thetext>[chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590359</commentid>
    <comment_count>1</comment_count>
      <attachid>134384</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-03-28 13:38:08 -0700</bug_when>
    <thetext>Created attachment 134384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590377</commentid>
    <comment_count>2</comment_count>
      <attachid>134384</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-28 13:48:57 -0700</bug_when>
    <thetext>Comment on attachment 134384
Patch

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

ooh. interesting bug, nice catch.

&gt; Source/WebKit/chromium/tests/CCSchedulerTest.cpp:429
&gt; +    // We should not have told the frame rate controller that we begun a frame.

nit: began a frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590389</commentid>
    <comment_count>3</comment_count>
      <attachid>134384</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-28 13:56:19 -0700</bug_when>
    <thetext>Comment on attachment 134384
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590405</commentid>
    <comment_count>4</comment_count>
      <attachid>134391</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-03-28 14:04:53 -0700</bug_when>
    <thetext>Created attachment 134391
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590465</commentid>
    <comment_count>5</comment_count>
      <attachid>134391</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-28 14:45:25 -0700</bug_when>
    <thetext>Comment on attachment 134391
Patch for landing

Clearing flags on attachment: 134391

Committed r112446: &lt;http://trac.webkit.org/changeset/112446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590466</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-28 14:45:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134384</attachid>
            <date>2012-03-28 13:38:08 -0700</date>
            <delta_ts>2012-03-28 14:04:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82516-20120328133807.patch</filename>
            <type>text/plain</type>
            <size>21904</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE3Yzg1MzJiZmFkMGJi
NTkxM2UyYjkwZTQ3YWEyYmEyNTYxZmJjNS4uYTgzZDFhOGZlNTcwNzdhOGExNzdhYjFhNjE5MzFj
ZDhiMTE2YjQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTI4ICBOYXQg
RHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIFNjaGVkdWxl
ciBzaG91bGQgbm90IHRlbGwgRnJhbWVSYXRlQ29udHJvbGxlciB0byBiZWdpbiBhIGZyYW1lIHdo
ZW4gd2UgZG9udCBzd2FwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MjUxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6c3dhcEJ1ZmZl
cnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5oOgorICAgICAgICAoTGF5ZXJSZW5kZXJlckNocm9taXVtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnN3YXBCdWZmZXJzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6
CisgICAgICAgIChDQ0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
aGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
aGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0OjpDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRT
d2FwUmVzdWx0KToKKyAgICAgICAgKENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1NjaGVkdWxlckNsaWVudCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dh
cEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFj
dGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFBy
b3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgorICAgICAgICAoQ0NUaHJl
YWRQcm94eSk6CisKIDIwMTItMDMtMjcgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW5hbWUgb3BhcXVlQ29udGVudHNSZWdpb24oKSB0
byB2aXNpYmxlQ29udGVudE9wYXF1ZVJlZ2lvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDk4ZmZmOTRlYWIzMWYwYjAyYWY4ZTY4Mjg1NWM1MjJmY2NkZjUyZTMuLjE1NDQ1ODM3Zjky
MjUwNWUwMjFmZDk3OWFiZDUwOGQxMTVlODhjMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMjggIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU2NoZWR1bGVyIHNob3VsZCBub3QgdGVsbCBGcmFt
ZVJhdGVDb250cm9sbGVyIHRvIGJlZ2luIGEgZnJhbWUgd2hlbiB3ZSBkb250IHN3YXAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyNTE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9DQ1NjaGVk
dWxlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVu
dDo6cmVzZXQpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVudDo6
aGFzQWN0aW9uKToKKyAgICAgICAgKEZha2VDQ1NjaGVkdWxlckNsaWVudCk6CisgICAgICAgIChX
ZWJLaXRUZXN0czo6RmFrZUNDU2NoZWR1bGVyQ2xpZW50OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5k
U3dhcElmUG9zc2libGUpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNs
aWVudDo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQpOgorICAgICAgICAoV2ViS2l0
VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVudDo6c2V0RHJhd1dpbGxIYXBwZW4pOgorICAgICAg
ICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVudDo6c2V0U3dhcFdpbGxIYXBwZW5J
ZkRyYXdIYXBwZW5zKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpTY2hlZHVsZXJDbGllbnRUaGF0
U2V0TmVlZHNEcmF3SW5zaWRlRHJhdzo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJZlBvc3Np
YmxlKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpTY2hlZHVsZXJDbGllbnRUaGF0U2V0TmVlZHNE
cmF3SW5zaWRlRHJhdzo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQpOgorICAgICAg
ICAoU2NoZWR1bGVyQ2xpZW50VGhhdFNldE5lZWRzRHJhd0luc2lkZURyYXcpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OlRFU1QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlNjaGVkdWxlckNsaWVu
dFRoYXRTZXROZWVkc0NvbW1pdEluc2lkZURyYXc6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2Fw
SWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXRUZXN0czo6U2NoZWR1bGVyQ2xpZW50VGhhdFNl
dE5lZWRzQ29tbWl0SW5zaWRlRHJhdzo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQp
OgorICAgICAgICAoU2NoZWR1bGVyQ2xpZW50VGhhdFNldE5lZWRzQ29tbWl0SW5zaWRlRHJhdyk6
CisgICAgICAgIChXZWJLaXRUZXN0cyk6CisKIDIwMTItMDMtMjcgIERhbmEgSmFuc2VucyAgPGRh
bmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW5hbWUgb3BhcXVlQ29u
dGVudHNSZWdpb24oKSB0byB2aXNpYmxlQ29udGVudE9wYXF1ZVJlZ2lvbigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRleCA4ZWY2M2NkYTFkNGUwOThlODQ3NzM5Nzdm
MjA2OGZlODVhNmFmZDJhLi40NjU2OTM0ZTVmYzk5NDY0YTAxNzYyZWI1NzExMjg5NTI0ZmM2ZTE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTEwNzMsMTMgKzEw
NzMsMTMgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmZpbmlzaCgpCiAgICAgbV9jb250
ZXh0LT5maW5pc2goKTsKIH0KIAotdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnN3YXBCdWZm
ZXJzKGNvbnN0IEludFJlY3QmIHN1YkJ1ZmZlcikKK2Jvb2wgTGF5ZXJSZW5kZXJlckNocm9taXVt
Ojpzd2FwQnVmZmVycyhjb25zdCBJbnRSZWN0JiBzdWJCdWZmZXIpCiB7CiAgICAgLy8gRklYTUU6
IFJlbW92ZSB0aGlzIG9uY2UgZ3B1IHByb2Nlc3Mgc3VwcG9ydHMgaWdub3Jpbmcgc3dhcCBidWZm
ZXJzIGNvbW1hbmQgd2hpbGUgZnJhbWVidWZmZXIgaXMgZGlzY2FyZGVkLgogICAgIC8vICAgICAg
ICBBbHRlcm5hdGl2ZWx5IChwcmVmZXJhYmx5PyksIHByb3RlY3QgYWxsIGNjIGNvZGUgc28gYXMg
bm90IHRvIGF0dGVtcHQgYSBzd2FwIGFmdGVyIGEgZnJhbWVidWZmZXIgZGlzY2FyZC4KICAgICBp
ZiAobV9pc0ZyYW1lYnVmZmVyRGlzY2FyZGVkKSB7CiAgICAgICAgIG1fY2xpZW50LT5zZXRGdWxs
Um9vdExheWVyRGFtYWdlKCk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAogICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OnN3YXBC
dWZmZXJzIiwgdGhpcywgMCk7CkBAIC0xMDk4LDYgKzEwOTgsNyBAQCB2b2lkIExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6c3dhcEJ1ZmZlcnMoY29uc3QgSW50UmVjdCYgc3ViQnVmZmVyKQogICAgICAg
ICBtX2NvbnRleHQtPnByZXBhcmVUZXh0dXJlKCk7CiAKICAgICBtX2hlYWRzVXBEaXNwbGF5LT5v
blN3YXBCdWZmZXJzKCk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpvblN3YXBCdWZmZXJzQ29tcGxldGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaAppbmRleCA0MzU1NDFiNzMyMmNkOTZmNWY0OWEzYmU5NzQ1YmEyNDBlZmRkOGY5
Li41OWI4ZmY4ZmI5ZTgyZjA1ZDFmNGZjMzdkYjNiYjY3MWExYTkwYjZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtMTA4LDcgKzEwOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGZpbmlzaCgpOwogCiAgICAgLy8gcHV0cyBiYWNrYnVmZmVyIG9uc2NyZWVuCi0gICAgdm9p
ZCBzd2FwQnVmZmVycyhjb25zdCBJbnRSZWN0JiBzdWJCdWZmZXIpOworICAgIGJvb2wgc3dhcEJ1
ZmZlcnMoY29uc3QgSW50UmVjdCYgc3ViQnVmZmVyKTsKIAogICAgIHN0YXRpYyB2b2lkIGRlYnVn
R0xDYWxsKEdyYXBoaWNzQ29udGV4dDNEKiwgY29uc3QgY2hhciogY29tbWFuZCwgY29uc3QgY2hh
ciogZmlsZSwgaW50IGxpbmUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwCmluZGV4IDZjNTAyMjU2M2FlZWIyZDI3OWE1NzE5OGQ4Yjk2MTYwMGIzNWNkMzUuLmQzMWJk
ODFiZDU1MWU5NjdmZjE5YjNkMmIyNjVjMWQyNTYxYTE1ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00MjIsMTAgKzQyMiwxMCBAQCBUZXh0dXJlQWxsb2Nh
dG9yKiBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjb250ZW50c1RleHR1cmVBbGxvY2F0b3IoKSBjb25z
dAogICAgIHJldHVybiBtX2xheWVyUmVuZGVyZXIgPyBtX2xheWVyUmVuZGVyZXItPmNvbnRlbnRz
VGV4dHVyZUFsbG9jYXRvcigpIDogMDsKIH0KIAotdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpz
d2FwQnVmZmVycygpCitib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OnN3YXBCdWZmZXJzKCkKIHsK
ICAgICBBU1NFUlQobV9sYXllclJlbmRlcmVyKTsKLSAgICBtX2xheWVyUmVuZGVyZXItPnN3YXBC
dWZmZXJzKGVuY2xvc2luZ0ludFJlY3QobV9yb290RGFtYWdlUmVjdCkpOworICAgIHJldHVybiBt
X2xheWVyUmVuZGVyZXItPnN3YXBCdWZmZXJzKGVuY2xvc2luZ0ludFJlY3QobV9yb290RGFtYWdl
UmVjdCkpOwogfQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OmRpZExvc2VDb250ZXh0KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAppbmRleCAzM2M5ZTkxNjc1ZWZhMGI1
MjUwNWYyYzg0MWFlMzgwOTA1M2U5MzQ5Li5hODU5ZmVjNWMyMDNkYmQyYjQ2YjNjZWNjZjIyMWZk
NjkxY2IzZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCkBAIC0xMTQs
NyArMTE0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IExheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMm
IGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKSBjb25zdDsKICAgICBUZXh0dXJlQWxsb2NhdG9y
KiBjb250ZW50c1RleHR1cmVBbGxvY2F0b3IoKSBjb25zdDsKIAotICAgIHZvaWQgc3dhcEJ1ZmZl
cnMoKTsKKyAgICBib29sIHN3YXBCdWZmZXJzKCk7CiAKICAgICB2b2lkIHJlYWRiYWNrKHZvaWQq
IHBpeGVscywgY29uc3QgSW50UmVjdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAKaW5kZXgg
MTNiNzQxZWE4YzNmZjQ4Yzg3NmNjNzJjYjZhNGUwYWRhM2NiMmZhMC4uM2QwOWU0NGIxMmRhNGQx
ZjNlNmZjMTI3YTAzNmQ1MmQ4M2Q3MWU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmNwcApAQCAt
MTYzLDE3ICsxNjMsMTggQEAgdm9pZCBDQ1NjaGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlv
bnMoKQogICAgICAgICAgICAgbV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvbkNvbW1pdCgpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkFD
VElPTl9EUkFXX0lGX1BPU1NJQkxFOiB7Ci0gICAgICAgICAgICBib29sIGRyYXdTdWNjZXNzID0g
bV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgpOwotICAgICAg
ICAgICAgbV9zdGF0ZU1hY2hpbmUuZGlkRHJhd0lmUG9zc2libGVDb21wbGV0ZWQoZHJhd1N1Y2Nl
c3MpOwotICAgICAgICAgICAgaWYgKGRyYXdTdWNjZXNzKQorICAgICAgICAgICAgQ0NTY2hlZHVs
ZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCByZXN1bHQgPSBtX2NsaWVudC0+c2NoZWR1bGVkQWN0
aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCk7CisgICAgICAgICAgICBtX3N0YXRlTWFjaGluZS5k
aWREcmF3SWZQb3NzaWJsZUNvbXBsZXRlZChyZXN1bHQuZGlkRHJhdyk7CisgICAgICAgICAgICBp
ZiAocmVzdWx0LmRpZFN3YXApCiAgICAgICAgICAgICAgICAgbV9mcmFtZVJhdGVDb250cm9sbGVy
LT5kaWRCZWdpbkZyYW1lKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAg
ICBjYXNlIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpBQ1RJT05fRFJBV19GT1JDRUQ6Ci0gICAg
ICAgICAgICBtX2NsaWVudC0+c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKTsKLSAg
ICAgICAgICAgIG1fZnJhbWVSYXRlQ29udHJvbGxlci0+ZGlkQmVnaW5GcmFtZSgpOworICAgICAg
ICBjYXNlIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpBQ1RJT05fRFJBV19GT1JDRUQ6IHsKKyAg
ICAgICAgICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgcmVzdWx0ID0gbV9j
bGllbnQtPnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCk7CisgICAgICAgICAgICBp
ZiAocmVzdWx0LmRpZFN3YXApCisgICAgICAgICAgICAgICAgbV9mcmFtZVJhdGVDb250cm9sbGVy
LT5kaWRCZWdpbkZyYW1lKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZTo6QUNUSU9OX0JFR0lOX0NPTlRFWFRfUkVDUkVBVElPTjoKKyAg
ICAgICAgfSBjYXNlIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpBQ1RJT05fQkVHSU5fQ09OVEVY
VF9SRUNSRUFUSU9OOgogICAgICAgICAgICAgbV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvbkJlZ2lu
Q29udGV4dFJlY3JlYXRpb24oKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Nj
aGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NTY2hlZHVsZXIuaAppbmRleCBjODc2ZTIwYmM4Nzc4ZGM3OWFmMzg5YzBiOWE5Y2JjM2FjYmE2
OTZmLi5hNmYyNjFjNGVkZjZkODU0YWEyYjY5MTNhYTZiN2E5MmE3OTM4NjI0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2NoZWR1bGVyLmgKQEAgLTM1LDE0ICszNSwyOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIENDVGhyZWFkOwogCitzdHJ1Y3QgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3Vs
dCB7CisgICAgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCgpCisgICAgICAgICAg
ICA6IGRpZERyYXcoZmFsc2UpCisgICAgICAgICAgICAsIGRpZFN3YXAoZmFsc2UpCisgICAgewor
ICAgIH0KKyAgICBDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0KGJvb2wgZGlkRHJh
dywgYm9vbCBkaWRTd2FwKQorICAgICAgICAgICAgOiBkaWREcmF3KGRpZERyYXcpCisgICAgICAg
ICAgICAsIGRpZFN3YXAoZGlkU3dhcCkKKyAgICB7CisgICAgfQorICAgIGJvb2wgZGlkRHJhdzsK
KyAgICBib29sIGRpZFN3YXA7Cit9OworCiBjbGFzcyBDQ1NjaGVkdWxlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGNhbkRyYXcoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhh
c01vcmVSZXNvdXJjZVVwZGF0ZXMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSgpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgc2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzY2hl
ZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCgpID0gMDsKKyAgICB2aXJ0dWFsIENDU2NoZWR1
bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJZlBv
c3NpYmxlKCkgPSAwOworICAgIHZpcnR1YWwgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJl
c3VsdCBzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCgpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2NoZWR1bGVkQWN0aW9uVXBkYXRlTW9yZVJlc291cmNlcygpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uQ29tbWl0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
Y2hlZHVsZWRBY3Rpb25CZWdpbkNvbnRleHRSZWNyZWF0aW9uKCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5LmNwcAppbmRleCAyMGE1MGJiYWQ3MWJhMzQyNGU1Y2EyNzY5N2I3NjhlMTk0NzM5
NTFmLi42MjJhMDRhNTE0NGY3ODUxMDYzNzU3OTVjYjRmNzFkODM3YTg1MGJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1RocmVhZFByb3h5LmNwcApAQCAtNTYxLDEzICs1NjEsMTYgQEAgdm9pZCBDQ1RocmVhZFBy
b3h5OjpzY2hlZHVsZWRBY3Rpb25CZWdpbkNvbnRleHRSZWNyZWF0aW9uKCkKICAgICBtX21haW5U
aHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFBy
b3h5OjpiZWdpbkNvbnRleHRSZWNyZWF0aW9uKSk7CiB9CiAKLWJvb2wgQ0NUaHJlYWRQcm94eTo6
c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbChib29sIGZvcmNlZERyYXcpCitDQ1Nj
aGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0IENDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFj
dGlvbkRyYXdBbmRTd2FwSW50ZXJuYWwoYm9vbCBmb3JjZWREcmF3KQogewogICAgIFRSQUNFX0VW
RU5UKCJDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcCIsIHRoaXMsIDAp
OworICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgcmVzdWx0OworICAgIHJl
c3VsdC5kaWREcmF3ID0gZmFsc2U7CisgICAgcmVzdWx0LmRpZFN3YXAgPSBmYWxzZTsKICAgICBB
U1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX2xheWVyVHJlZUhvc3RJbXBsKTsK
ICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdEltcGwpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKIAogICAgIC8vIEZJWE1FOiBjb21wdXRlIHRoZSBmcmFtZSBk
aXNwbGF5IHRpbWUgbW9yZSBpbnRlbGxpZ2VudGx5CiAgICAgZG91YmxlIG1vbm90b25pY1RpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKQEAgLTU3Nyw4ICs1ODAsMTAgQEAgYm9v
bCBDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEludGVybmFsKGJvb2wg
Zm9yY2VkRHJhdykKICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25pY1Rp
bWUsIHdhbGxDbG9ja1RpbWUpOwogICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBm
cmFtZTsKICAgICBib29sIGRyYXdGcmFtZSA9IG1fbGF5ZXJUcmVlSG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpIHx8IGZvcmNlZERyYXc7Ci0gICAgaWYgKGRyYXdGcmFtZSkKKyAgICBpZiAo
ZHJhd0ZyYW1lKSB7CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJh
bWUpOworICAgICAgICByZXN1bHQuZGlkRHJhdyA9IHRydWU7CisgICAgfQogCiAgICAgLy8gQ2hl
Y2sgZm9yIGEgcGVuZGluZyBjb21wb3NpdGVBbmRSZWFkYmFjay4KICAgICBpZiAobV9yZWFkYmFj
a1JlcXVlc3RPbkltcGxUaHJlYWQpIHsKQEAgLTU5MCw3ICs1OTUsNyBAQCBib29sIENDVGhyZWFk
UHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSW50ZXJuYWwoYm9vbCBmb3JjZWREcmF3
KQogICAgIH0KIAogICAgIGlmIChkcmF3RnJhbWUpCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdElt
cGwtPnN3YXBCdWZmZXJzKCk7CisgICAgICAgIHJlc3VsdC5kaWRTd2FwID0gbV9sYXllclRyZWVI
b3N0SW1wbC0+c3dhcEJ1ZmZlcnMoKTsKIAogICAgIC8vIFByb2Nlc3MgYW55IGZpbmlzaCByZXF1
ZXN0CiAgICAgaWYgKG1fZmluaXNoQWxsUmVuZGVyaW5nQ29tcGxldGlvbkV2ZW50T25JbXBsVGhy
ZWFkKSB7CkBAIC02MDcsMTcgKzYxMiwxNyBAQCBib29sIENDVGhyZWFkUHJveHk6OnNjaGVkdWxl
ZEFjdGlvbkRyYXdBbmRTd2FwSW50ZXJuYWwoYm9vbCBmb3JjZWREcmF3KQogICAgIH0KIAogICAg
IEFTU0VSVChkcmF3RnJhbWUgfHwgKCFkcmF3RnJhbWUgJiYgIWZvcmNlZERyYXcpKTsKLSAgICBy
ZXR1cm4gZHJhd0ZyYW1lOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWJvb2wgQ0NUaHJlYWRQ
cm94eTo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCkKK0NDU2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uRHJh
d0FuZFN3YXBJZlBvc3NpYmxlKCkKIHsKICAgICByZXR1cm4gc2NoZWR1bGVkQWN0aW9uRHJhd0Fu
ZFN3YXBJbnRlcm5hbChmYWxzZSk7CiB9CiAKLXZvaWQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKQorQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJl
c3VsdCBDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCgpCiB7
Ci0gICAgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbCh0cnVlKTsKKyAgICByZXR1
cm4gc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbCh0cnVlKTsKIH0KIAogdm9pZCBD
Q1RocmVhZFByb3h5OjpkaWRDb21taXRBbmREcmF3RnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94
eS5oCmluZGV4IDYxNDM0YTZhOWNmNjNlODI5Y2RiYzViN2IyNTE3MDVlOGFmOTU1ZTYuLmFhNzkz
YjU5ODJkZGI4OWM5NjJlNjliY2QzOWFkMGYwM2M2NzQ2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFBy
b3h5LmgKQEAgLTgyLDggKzgyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjYW5EcmF3
KCk7CiAgICAgdmlydHVhbCBib29sIGhhc01vcmVSZXNvdXJjZVVwZGF0ZXMoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSgpOwotICAgIHZpcnR1YWwg
Ym9vbCBzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcElmUG9zc2libGUoKTsKLSAgICB2aXJ0dWFs
IHZvaWQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKTsKKyAgICB2aXJ0dWFsIEND
U2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3
YXBJZlBvc3NpYmxlKCk7CisgICAgdmlydHVhbCBDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2Fw
UmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCk7CiAgICAgdmlydHVhbCB2
b2lkIHNjaGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNvdXJjZXMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2NoZWR1bGVkQWN0aW9uQ29tbWl0KCk7CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFj
dGlvbkJlZ2luQ29udGV4dFJlY3JlYXRpb24oKTsKQEAgLTEyNyw3ICsxMjcsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgbGF5ZXJUcmVlSG9zdENsb3NlZE9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25F
dmVudCopOwogICAgIHZvaWQgc2V0RnVsbFJvb3RMYXllckRhbWFnZU9uSW1wbFRocmVhZCgpOwog
ICAgIHZvaWQgcmVjcmVhdGVDb250ZXh0T25JbXBsVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50Kiwg
R3JhcGhpY3NDb250ZXh0M0QqLCBib29sKiByZWNyZWF0ZVN1Y2NlZWRlZCwgTGF5ZXJSZW5kZXJl
ckNhcGFiaWxpdGllcyopOwotICAgIGJvb2wgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRl
cm5hbChib29sIGZvcmNlZERyYXcpOworICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBS
ZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbChib29sIGZvcmNlZERyYXcp
OwogCiAgICAgLy8gQWNjZXNzZWQgb24gbWFpbiB0aHJlYWQgb25seS4KICAgICBib29sIG1fYW5p
bWF0ZVJlcXVlc3RlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NTY2hlZHVsZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hl
ZHVsZXJUZXN0LmNwcAppbmRleCA4ZGY1YTExY2FmN2EyMTNlMDc0NjAxNWNmNDkxZDdkMjJmYmY2
NWYyLi43NWY1YWFkNDdiOGU3NzA2NjA3ZDUzNzk0ZDE0ZTJlMTc3MWNiZTM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3QuY3BwCkBAIC00NSw3
ICs0NSw4IEBAIHB1YmxpYzoKICAgICAgICAgbV9hY3Rpb25zLmNsZWFyKCk7CiAgICAgICAgIG1f
aGFzTW9yZVJlc291cmNlVXBkYXRlcyA9IGZhbHNlOwogICAgICAgICBtX2NhbkRyYXcgPSB0cnVl
OwotICAgICAgICBtX2RyYXdTdWNjZXNzID0gdHJ1ZTsKKyAgICAgICAgbV9kcmF3V2lsbEhhcHBl
biA9IHRydWU7CisgICAgICAgIG1fc3dhcFdpbGxIYXBwZW5JZkRyYXdIYXBwZW5zID0gdHJ1ZTsK
ICAgICAgICAgbV9udW1EcmF3cyA9IDA7CiAgICAgfQogCkBAIC01NiwzMiArNTcsNDIgQEAgcHVi
bGljOgogICAgIGludCBudW1BY3Rpb25zKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8aW50
PihtX2FjdGlvbnMuc2l6ZSgpKTsgfQogICAgIGNvbnN0IGNoYXIqIGFjdGlvbihpbnQgaSkgY29u
c3QgeyByZXR1cm4gbV9hY3Rpb25zW2ldOyB9CiAKKyAgICBib29sIGhhc0FjdGlvbihjb25zdCBj
aGFyKiBhY3Rpb24pIGNvbnN0CisgICAgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fYWN0aW9ucy5zaXplKCk7IGkrKykKKyAgICAgICAgICAgIGlmICghc3RyY21wKG1fYWN0aW9u
c1tpXSwgYWN0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBjYW5EcmF3KCkgeyByZXR1cm4g
bV9jYW5EcmF3OyB9CiAgICAgdmlydHVhbCBib29sIGhhc01vcmVSZXNvdXJjZVVwZGF0ZXMoKSBj
b25zdCB7IHJldHVybiBtX2hhc01vcmVSZXNvdXJjZVVwZGF0ZXM7IH0KICAgICB2aXJ0dWFsIHZv
aWQgc2NoZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSgpIHsgbV9hY3Rpb25zLnB1c2hfYmFjaygic2No
ZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSIpOyB9Ci0gICAgdmlydHVhbCBib29sIHNjaGVkdWxlZEFj
dGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgpCisgICAgdmlydHVhbCBDQ1NjaGVkdWxlZEFjdGlv
bkRyYXdBbmRTd2FwUmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgp
CiAgICAgewogICAgICAgICBtX2FjdGlvbnMucHVzaF9iYWNrKCJzY2hlZHVsZWRBY3Rpb25EcmF3
QW5kU3dhcElmUG9zc2libGUiKTsKICAgICAgICAgbV9udW1EcmF3cysrOwotICAgICAgICByZXR1
cm4gbV9kcmF3U3VjY2VzczsKKyAgICAgICAgcmV0dXJuIENDU2NoZWR1bGVkQWN0aW9uRHJhd0Fu
ZFN3YXBSZXN1bHQobV9kcmF3V2lsbEhhcHBlbiwgbV9kcmF3V2lsbEhhcHBlbiAmJiBtX3N3YXBX
aWxsSGFwcGVuSWZEcmF3SGFwcGVucyk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIHNjaGVk
dWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCkKKyAgICB2aXJ0dWFsIENDU2NoZWR1bGVkQWN0
aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKQog
ICAgIHsKICAgICAgICAgbV9hY3Rpb25zLnB1c2hfYmFjaygic2NoZWR1bGVkQWN0aW9uRHJhd0Fu
ZFN3YXBGb3JjZWQiKTsKLSAgICAgICAgbV9udW1EcmF3cysrOworICAgICAgICByZXR1cm4gQ0NT
Y2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCh0cnVlLCBtX3N3YXBXaWxsSGFwcGVuSWZE
cmF3SGFwcGVucyk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFjdGlvblVw
ZGF0ZU1vcmVSZXNvdXJjZXMoKSB7IG1fYWN0aW9ucy5wdXNoX2JhY2soInNjaGVkdWxlZEFjdGlv
blVwZGF0ZU1vcmVSZXNvdXJjZXMiKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rp
b25Db21taXQoKSB7IG1fYWN0aW9ucy5wdXNoX2JhY2soInNjaGVkdWxlZEFjdGlvbkNvbW1pdCIp
OyB9CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFjdGlvbkJlZ2luQ29udGV4dFJlY3JlYXRp
b24oKSB7IG1fYWN0aW9ucy5wdXNoX2JhY2soInNjaGVkdWxlZEFjdGlvbkJlZ2luQ29udGV4dFJl
Y3JlYXRpb24iKTsgfQogCi0gICAgdm9pZCBzZXREcmF3U3VjY2Vzcyhib29sIGRyYXdTdWNjZXNz
KSB7IG1fZHJhd1N1Y2Nlc3MgPSBkcmF3U3VjY2VzczsgfQorICAgIHZvaWQgc2V0RHJhd1dpbGxI
YXBwZW4oYm9vbCBkcmF3V2lsbEhhcHBlbikgeyBtX2RyYXdXaWxsSGFwcGVuID0gZHJhd1dpbGxI
YXBwZW47IH0KKyAgICB2b2lkIHNldFN3YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVucyhib29sIHN3
YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVucykgeyBtX3N3YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVu
cyA9IHN3YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVuczsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgYm9v
bCBtX2hhc01vcmVSZXNvdXJjZVVwZGF0ZXM7CiAgICAgYm9vbCBtX2NhbkRyYXc7Ci0gICAgYm9v
bCBtX2RyYXdTdWNjZXNzOworICAgIGJvb2wgbV9kcmF3V2lsbEhhcHBlbjsKKyAgICBib29sIG1f
c3dhcFdpbGxIYXBwZW5JZkRyYXdIYXBwZW5zOwogICAgIGludCBtX251bURyYXdzOwogICAgIHN0
ZDo6dmVjdG9yPGNvbnN0IGNoYXIqPiBtX2FjdGlvbnM7CiB9OwpAQCAtMTYzLDcgKzE3NCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFNjaGVkdWxlcihDQ1NjaGVkdWxlciogc2NoZWR1bGVyKSB7
IG1fc2NoZWR1bGVyID0gc2NoZWR1bGVyOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVk
QWN0aW9uQmVnaW5GcmFtZSgpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBzY2hlZHVsZWRBY3Rpb25E
cmF3QW5kU3dhcElmUG9zc2libGUoKQorICAgIHZpcnR1YWwgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3
QW5kU3dhcFJlc3VsdCBzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcElmUG9zc2libGUoKQogICAg
IHsKICAgICAgICAgLy8gT25seSBzZXROZWVkc1JlZHJhdyB0aGUgZmlyc3QgdGltZSB0aGlzIGlz
IGNhbGxlZAogICAgICAgICBpZiAoIW1fbnVtRHJhd3MpCkBAIC0xNzEsNyArMTgyLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIEZha2VDQ1NjaGVkdWxlckNsaWVudDo6c2NoZWR1bGVkQWN0
aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIHNj
aGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCkgeyB9CisgICAgdmlydHVhbCBDQ1NjaGVk
dWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9y
Y2VkKCkKKyAgICB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1
cm4gQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCh0cnVlLCB0cnVlKTsKKyAgICB9
CisKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uVXBkYXRlTW9yZVJlc291cmNlcygp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25Db21taXQoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uQmVnaW5Db250ZXh0UmVjcmVhdGlvbigpIHsgfQpA
QCAtMjE2LDcgKzIzMiw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0UmVkcmF3SW5z
aWRlRmFpbGVkRHJhdykKICAgICBPd25QdHI8Q0NTY2hlZHVsZXI+IHNjaGVkdWxlciA9IENDU2No
ZWR1bGVyOjpjcmVhdGUoJmNsaWVudCwgYWRvcHRQdHIobmV3IENDRnJhbWVSYXRlQ29udHJvbGxl
cih0aW1lU291cmNlKSkpOwogICAgIGNsaWVudC5zZXRTY2hlZHVsZXIoc2NoZWR1bGVyLmdldCgp
KTsKICAgICBzY2hlZHVsZXItPnNldFZpc2libGUodHJ1ZSk7Ci0gICAgY2xpZW50LnNldERyYXdT
dWNjZXNzKGZhbHNlKTsKKyAgICBjbGllbnQuc2V0RHJhd1dpbGxIYXBwZW4oZmFsc2UpOwogCiAg
ICAgc2NoZWR1bGVyLT5zZXROZWVkc1JlZHJhdygpOwogICAgIEVYUEVDVF9UUlVFKHNjaGVkdWxl
ci0+cmVkcmF3UGVuZGluZygpKTsKQEAgLTI0MCw3ICsyNTYsNyBAQCBURVNUKENDU2NoZWR1bGVy
VGVzdCwgUmVxdWVzdFJlZHJhd0luc2lkZUZhaWxlZERyYXcpCiAgICAgRVhQRUNUX1RSVUUodGlt
ZVNvdXJjZS0+YWN0aXZlKCkpOwogCiAgICAgLy8gRHJhdyBzdWNjZXNzZnVsbHkuCi0gICAgY2xp
ZW50LnNldERyYXdTdWNjZXNzKHRydWUpOworICAgIGNsaWVudC5zZXREcmF3V2lsbEhhcHBlbih0
cnVlKTsKICAgICB0aW1lU291cmNlLT50aWNrKCk7CiAgICAgRVhQRUNUX0VRKDMsIGNsaWVudC5u
dW1EcmF3cygpKTsKICAgICBFWFBFQ1RfVFJVRShzY2hlZHVsZXItPmNvbW1pdFBlbmRpbmcoKSk7
CkBAIC0yNTYsNyArMjcyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2NoZWR1bGVyKENDU2No
ZWR1bGVyKiBzY2hlZHVsZXIpIHsgbV9zY2hlZHVsZXIgPSBzY2hlZHVsZXI7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25CZWdpbkZyYW1lKCkgeyB9Ci0gICAgdmlydHVhbCBi
b29sIHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgpCisgICAgdmlydHVhbCBD
Q1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRT
d2FwSWZQb3NzaWJsZSgpCiAgICAgewogICAgICAgICAvLyBPbmx5IHNldE5lZWRzQ29tbWl0IHRo
ZSBmaXJzdCB0aW1lIHRoaXMgaXMgY2FsbGVkCiAgICAgICAgIGlmICghbV9udW1EcmF3cykKQEAg
LTI2NCw3ICsyODAsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gRmFrZUNDU2NoZWR1bGVy
Q2xpZW50OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcElmUG9zc2libGUoKTsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKSB7IH0K
KyAgICB2aXJ0dWFsIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybiBDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0
KHRydWUsIHRydWUpOworICAgIH0KKwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25V
cGRhdGVNb3JlUmVzb3VyY2VzKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFjdGlv
bkNvbW1pdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25CZWdpbkNvbnRl
eHRSZWNyZWF0aW9uKCkgeyB9CkBAIC0zMDgsNyArMzI5LDcgQEAgVEVTVChDQ1NjaGVkdWxlclRl
c3QsIFJlcXVlc3RDb21taXRJbnNpZGVGYWlsZWREcmF3KQogICAgIE93blB0cjxDQ1NjaGVkdWxl
cj4gc2NoZWR1bGVyID0gQ0NTY2hlZHVsZXI6OmNyZWF0ZSgmY2xpZW50LCBhZG9wdFB0cihuZXcg
Q0NGcmFtZVJhdGVDb250cm9sbGVyKHRpbWVTb3VyY2UpKSk7CiAgICAgY2xpZW50LnNldFNjaGVk
dWxlcihzY2hlZHVsZXIuZ2V0KCkpOwogICAgIHNjaGVkdWxlci0+c2V0VmlzaWJsZSh0cnVlKTsK
LSAgICBjbGllbnQuc2V0RHJhd1N1Y2Nlc3MoZmFsc2UpOworICAgIGNsaWVudC5zZXREcmF3V2ls
bEhhcHBlbihmYWxzZSk7CiAKICAgICBzY2hlZHVsZXItPnNldE5lZWRzUmVkcmF3KCk7CiAgICAg
RVhQRUNUX1RSVUUoc2NoZWR1bGVyLT5yZWRyYXdQZW5kaW5nKCkpOwpAQCAtMzMyLDcgKzM1Myw3
IEBAIFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0Q29tbWl0SW5zaWRlRmFpbGVkRHJhdykK
ICAgICBFWFBFQ1RfVFJVRSh0aW1lU291cmNlLT5hY3RpdmUoKSk7CiAKICAgICAvLyBEcmF3IHN1
Y2Nlc3NmdWxseS4KLSAgICBjbGllbnQuc2V0RHJhd1N1Y2Nlc3ModHJ1ZSk7CisgICAgY2xpZW50
LnNldERyYXdXaWxsSGFwcGVuKHRydWUpOwogICAgIHRpbWVTb3VyY2UtPnRpY2soKTsKICAgICBF
WFBFQ1RfRVEoMywgY2xpZW50Lm51bURyYXdzKCkpOwogICAgIEVYUEVDVF9UUlVFKHNjaGVkdWxl
ci0+Y29tbWl0UGVuZGluZygpKTsKQEAgLTM4MCwxMCArNDAxLDMzIEBAIFRFU1QoQ0NTY2hlZHVs
ZXJUZXN0LCBOb0JlZ2luRnJhbWVXaGVuRHJhd0ZhaWxzKQogICAgIEVYUEVDVF9UUlVFKHRpbWVT
b3VyY2UtPmFjdGl2ZSgpKTsKIAogICAgIC8vIEZhaWwgdG8gZHJhdywgdGhpcyBzaG91bGQgbm90
IHN0YXJ0IGEgZnJhbWUuCi0gICAgY2xpZW50LnNldERyYXdTdWNjZXNzKGZhbHNlKTsKKyAgICBj
bGllbnQuc2V0RHJhd1dpbGxIYXBwZW4oZmFsc2UpOwogICAgIHRpbWVTb3VyY2UtPnRpY2soKTsK
ICAgICBFWFBFQ1RfRVEoMywgY2xpZW50Lm51bURyYXdzKCkpOwogICAgIEVYUEVDVF9FUSgwLCBj
b250cm9sbGVyUHRyLT5udW1GcmFtZXNQZW5kaW5nKCkpOwogfQogCitURVNUKENDU2NoZWR1bGVy
VGVzdCwgTm9CZWdpbkZyYW1lV2hlblN3YXBGYWlsc0R1cmluZ0ZvcmNlZENvbW1pdCkKK3sKKyAg
ICBSZWZQdHI8RmFrZUNDVGltZVNvdXJjZT4gdGltZVNvdXJjZSA9IGFkb3B0UmVmKG5ldyBGYWtl
Q0NUaW1lU291cmNlKCkpOworICAgIEZha2VDQ1NjaGVkdWxlckNsaWVudCBjbGllbnQ7CisgICAg
T3duUHRyPEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI+IGNvbnRyb2xsZXIgPSBhZG9wdFB0cihu
ZXcgRmFrZUNDRnJhbWVSYXRlQ29udHJvbGxlcih0aW1lU291cmNlKSk7CisgICAgRmFrZUNDRnJh
bWVSYXRlQ29udHJvbGxlciogY29udHJvbGxlclB0ciA9IGNvbnRyb2xsZXIuZ2V0KCk7CisgICAg
T3duUHRyPENDU2NoZWR1bGVyPiBzY2hlZHVsZXIgPSBDQ1NjaGVkdWxlcjo6Y3JlYXRlKCZjbGll
bnQsIGNvbnRyb2xsZXIucmVsZWFzZSgpKTsKKworICAgIEVYUEVDVF9FUSgwLCBjb250cm9sbGVy
UHRyLT5udW1GcmFtZXNQZW5kaW5nKCkpOworCisgICAgLy8gVGVsbCB0aGUgY2xpZW50IHRoYXQg
aXQgd2lsbCBmYWlsIHRvIHN3YXAuCisgICAgY2xpZW50LnNldERyYXdXaWxsSGFwcGVuKHRydWUp
OworICAgIGNsaWVudC5zZXRTd2FwV2lsbEhhcHBlbklmRHJhd0hhcHBlbnMoZmFsc2UpOworCisg
ICAgLy8gR2V0IHRoZSBjb21wb3NpdG9yIHRvIGRvIGEgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3
YXBGb3JjZWQuCisgICAgc2NoZWR1bGVyLT5zZXROZWVkc1JlZHJhdygpOworICAgIHNjaGVkdWxl
ci0+c2V0TmVlZHNGb3JjZWRSZWRyYXcoKTsKKyAgICBFWFBFQ1RfVFJVRShjbGllbnQuaGFzQWN0
aW9uKCJzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCIpKTsKKworICAgIC8vIFdlIHNo
b3VsZCBub3QgaGF2ZSB0b2xkIHRoZSBmcmFtZSByYXRlIGNvbnRyb2xsZXIgdGhhdCB3ZSBiZWd1
biBhIGZyYW1lLgorICAgIEVYUEVDVF9FUSgwLCBjb250cm9sbGVyUHRyLT5udW1GcmFtZXNQZW5k
aW5nKCkpOworfQorCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134391</attachid>
            <date>2012-03-28 14:04:53 -0700</date>
            <delta_ts>2012-03-28 14:45:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-82516-20120328140452.patch</filename>
            <type>text/plain</type>
            <size>21904</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE3Yzg1MzJiZmFkMGJi
NTkxM2UyYjkwZTQ3YWEyYmEyNTYxZmJjNS4uZWU5NzYzMWM3NDc5NTUyNzA2OTkzMWQ3ZDRlN2Y3
ODM5ZmU3YTc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTI4ICBOYXQg
RHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIFNjaGVkdWxl
ciBzaG91bGQgbm90IHRlbGwgRnJhbWVSYXRlQ29udHJvbGxlciB0byBiZWdpbiBhIGZyYW1lIHdo
ZW4gd2UgZG9udCBzd2FwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MjUxNgorCisgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6c3dhcEJ1ZmZl
cnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5oOgorICAgICAgICAoTGF5ZXJSZW5kZXJlckNocm9taXVtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OnN3YXBCdWZmZXJzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6
CisgICAgICAgIChDQ0xheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
aGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlvbnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
aGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0OjpDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRT
d2FwUmVzdWx0KToKKyAgICAgICAgKENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1NjaGVkdWxlckNsaWVudCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dh
cEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFj
dGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFBy
b3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgorICAgICAgICAoQ0NUaHJl
YWRQcm94eSk6CisKIDIwMTItMDMtMjcgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW5hbWUgb3BhcXVlQ29udGVudHNSZWdpb24oKSB0
byB2aXNpYmxlQ29udGVudE9wYXF1ZVJlZ2lvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDk4ZmZmOTRlYWIzMWYwYjAyYWY4ZTY4Mjg1NWM1MjJmY2NkZjUyZTMuLmRkOTAyNjAyNTQw
NThjNTgxOThmNTMwMGFmNjVhNThlZjdjY2QyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMjggIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gU2NoZWR1bGVyIHNob3VsZCBub3QgdGVsbCBGcmFt
ZVJhdGVDb250cm9sbGVyIHRvIGJlZ2luIGEgZnJhbWUgd2hlbiB3ZSBkb250IHN3YXAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyNTE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgKiB0ZXN0cy9DQ1NjaGVk
dWxlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVu
dDo6cmVzZXQpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVudDo6
aGFzQWN0aW9uKToKKyAgICAgICAgKEZha2VDQ1NjaGVkdWxlckNsaWVudCk6CisgICAgICAgIChX
ZWJLaXRUZXN0czo6RmFrZUNDU2NoZWR1bGVyQ2xpZW50OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5k
U3dhcElmUG9zc2libGUpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNs
aWVudDo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQpOgorICAgICAgICAoV2ViS2l0
VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVudDo6c2V0RHJhd1dpbGxIYXBwZW4pOgorICAgICAg
ICAoV2ViS2l0VGVzdHM6OkZha2VDQ1NjaGVkdWxlckNsaWVudDo6c2V0U3dhcFdpbGxIYXBwZW5J
ZkRyYXdIYXBwZW5zKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpTY2hlZHVsZXJDbGllbnRUaGF0
U2V0TmVlZHNEcmF3SW5zaWRlRHJhdzo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJZlBvc3Np
YmxlKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpTY2hlZHVsZXJDbGllbnRUaGF0U2V0TmVlZHNE
cmF3SW5zaWRlRHJhdzo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQpOgorICAgICAg
ICAoU2NoZWR1bGVyQ2xpZW50VGhhdFNldE5lZWRzRHJhd0luc2lkZURyYXcpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OlRFU1QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlNjaGVkdWxlckNsaWVu
dFRoYXRTZXROZWVkc0NvbW1pdEluc2lkZURyYXc6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2Fw
SWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXRUZXN0czo6U2NoZWR1bGVyQ2xpZW50VGhhdFNl
dE5lZWRzQ29tbWl0SW5zaWRlRHJhdzo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQp
OgorICAgICAgICAoU2NoZWR1bGVyQ2xpZW50VGhhdFNldE5lZWRzQ29tbWl0SW5zaWRlRHJhdyk6
CisgICAgICAgIChXZWJLaXRUZXN0cyk6CisKIDIwMTItMDMtMjcgIERhbmEgSmFuc2VucyAgPGRh
bmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW5hbWUgb3BhcXVlQ29u
dGVudHNSZWdpb24oKSB0byB2aXNpYmxlQ29udGVudE9wYXF1ZVJlZ2lvbigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRleCA4ZWY2M2NkYTFkNGUwOThlODQ3NzM5Nzdm
MjA2OGZlODVhNmFmZDJhLi40NjU2OTM0ZTVmYzk5NDY0YTAxNzYyZWI1NzExMjg5NTI0ZmM2ZTE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTEwNzMsMTMgKzEw
NzMsMTMgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmZpbmlzaCgpCiAgICAgbV9jb250
ZXh0LT5maW5pc2goKTsKIH0KIAotdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnN3YXBCdWZm
ZXJzKGNvbnN0IEludFJlY3QmIHN1YkJ1ZmZlcikKK2Jvb2wgTGF5ZXJSZW5kZXJlckNocm9taXVt
Ojpzd2FwQnVmZmVycyhjb25zdCBJbnRSZWN0JiBzdWJCdWZmZXIpCiB7CiAgICAgLy8gRklYTUU6
IFJlbW92ZSB0aGlzIG9uY2UgZ3B1IHByb2Nlc3Mgc3VwcG9ydHMgaWdub3Jpbmcgc3dhcCBidWZm
ZXJzIGNvbW1hbmQgd2hpbGUgZnJhbWVidWZmZXIgaXMgZGlzY2FyZGVkLgogICAgIC8vICAgICAg
ICBBbHRlcm5hdGl2ZWx5IChwcmVmZXJhYmx5PyksIHByb3RlY3QgYWxsIGNjIGNvZGUgc28gYXMg
bm90IHRvIGF0dGVtcHQgYSBzd2FwIGFmdGVyIGEgZnJhbWVidWZmZXIgZGlzY2FyZC4KICAgICBp
ZiAobV9pc0ZyYW1lYnVmZmVyRGlzY2FyZGVkKSB7CiAgICAgICAgIG1fY2xpZW50LT5zZXRGdWxs
Um9vdExheWVyRGFtYWdlKCk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAogICAgIFRSQUNFX0VWRU5UKCJMYXllclJlbmRlcmVyQ2hyb21pdW06OnN3YXBC
dWZmZXJzIiwgdGhpcywgMCk7CkBAIC0xMDk4LDYgKzEwOTgsNyBAQCB2b2lkIExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6c3dhcEJ1ZmZlcnMoY29uc3QgSW50UmVjdCYgc3ViQnVmZmVyKQogICAgICAg
ICBtX2NvbnRleHQtPnByZXBhcmVUZXh0dXJlKCk7CiAKICAgICBtX2hlYWRzVXBEaXNwbGF5LT5v
blN3YXBCdWZmZXJzKCk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpvblN3YXBCdWZmZXJzQ29tcGxldGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaAppbmRleCA0MzU1NDFiNzMyMmNkOTZmNWY0OWEzYmU5NzQ1YmEyNDBlZmRkOGY5
Li41OWI4ZmY4ZmI5ZTgyZjA1ZDFmNGZjMzdkYjNiYjY3MWExYTkwYjZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtMTA4LDcgKzEwOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGZpbmlzaCgpOwogCiAgICAgLy8gcHV0cyBiYWNrYnVmZmVyIG9uc2NyZWVuCi0gICAgdm9p
ZCBzd2FwQnVmZmVycyhjb25zdCBJbnRSZWN0JiBzdWJCdWZmZXIpOworICAgIGJvb2wgc3dhcEJ1
ZmZlcnMoY29uc3QgSW50UmVjdCYgc3ViQnVmZmVyKTsKIAogICAgIHN0YXRpYyB2b2lkIGRlYnVn
R0xDYWxsKEdyYXBoaWNzQ29udGV4dDNEKiwgY29uc3QgY2hhciogY29tbWFuZCwgY29uc3QgY2hh
ciogZmlsZSwgaW50IGxpbmUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwCmluZGV4IDZjNTAyMjU2M2FlZWIyZDI3OWE1NzE5OGQ4Yjk2MTYwMGIzNWNkMzUuLmQzMWJk
ODFiZDU1MWU5NjdmZjE5YjNkMmIyNjVjMWQyNTYxYTE1ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC00MjIsMTAgKzQyMiwxMCBAQCBUZXh0dXJlQWxsb2Nh
dG9yKiBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjb250ZW50c1RleHR1cmVBbGxvY2F0b3IoKSBjb25z
dAogICAgIHJldHVybiBtX2xheWVyUmVuZGVyZXIgPyBtX2xheWVyUmVuZGVyZXItPmNvbnRlbnRz
VGV4dHVyZUFsbG9jYXRvcigpIDogMDsKIH0KIAotdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpz
d2FwQnVmZmVycygpCitib29sIENDTGF5ZXJUcmVlSG9zdEltcGw6OnN3YXBCdWZmZXJzKCkKIHsK
ICAgICBBU1NFUlQobV9sYXllclJlbmRlcmVyKTsKLSAgICBtX2xheWVyUmVuZGVyZXItPnN3YXBC
dWZmZXJzKGVuY2xvc2luZ0ludFJlY3QobV9yb290RGFtYWdlUmVjdCkpOworICAgIHJldHVybiBt
X2xheWVyUmVuZGVyZXItPnN3YXBCdWZmZXJzKGVuY2xvc2luZ0ludFJlY3QobV9yb290RGFtYWdl
UmVjdCkpOwogfQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OmRpZExvc2VDb250ZXh0KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDTGF5ZXJUcmVlSG9zdEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAppbmRleCAzM2M5ZTkxNjc1ZWZhMGI1
MjUwNWYyYzg0MWFlMzgwOTA1M2U5MzQ5Li5hODU5ZmVjNWMyMDNkYmQyYjQ2YjNjZWNjZjIyMWZk
NjkxY2IzZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCkBAIC0xMTQs
NyArMTE0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IExheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMm
IGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKSBjb25zdDsKICAgICBUZXh0dXJlQWxsb2NhdG9y
KiBjb250ZW50c1RleHR1cmVBbGxvY2F0b3IoKSBjb25zdDsKIAotICAgIHZvaWQgc3dhcEJ1ZmZl
cnMoKTsKKyAgICBib29sIHN3YXBCdWZmZXJzKCk7CiAKICAgICB2b2lkIHJlYWRiYWNrKHZvaWQq
IHBpeGVscywgY29uc3QgSW50UmVjdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxlci5jcHAKaW5kZXgg
MTNiNzQxZWE4YzNmZjQ4Yzg3NmNjNzJjYjZhNGUwYWRhM2NiMmZhMC4uM2QwOWU0NGIxMmRhNGQx
ZjNlNmZjMTI3YTAzNmQ1MmQ4M2Q3MWU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2NoZWR1bGVyLmNwcApAQCAt
MTYzLDE3ICsxNjMsMTggQEAgdm9pZCBDQ1NjaGVkdWxlcjo6cHJvY2Vzc1NjaGVkdWxlZEFjdGlv
bnMoKQogICAgICAgICAgICAgbV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvbkNvbW1pdCgpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ0NTY2hlZHVsZXJTdGF0ZU1hY2hpbmU6OkFD
VElPTl9EUkFXX0lGX1BPU1NJQkxFOiB7Ci0gICAgICAgICAgICBib29sIGRyYXdTdWNjZXNzID0g
bV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgpOwotICAgICAg
ICAgICAgbV9zdGF0ZU1hY2hpbmUuZGlkRHJhd0lmUG9zc2libGVDb21wbGV0ZWQoZHJhd1N1Y2Nl
c3MpOwotICAgICAgICAgICAgaWYgKGRyYXdTdWNjZXNzKQorICAgICAgICAgICAgQ0NTY2hlZHVs
ZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCByZXN1bHQgPSBtX2NsaWVudC0+c2NoZWR1bGVkQWN0
aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCk7CisgICAgICAgICAgICBtX3N0YXRlTWFjaGluZS5k
aWREcmF3SWZQb3NzaWJsZUNvbXBsZXRlZChyZXN1bHQuZGlkRHJhdyk7CisgICAgICAgICAgICBp
ZiAocmVzdWx0LmRpZFN3YXApCiAgICAgICAgICAgICAgICAgbV9mcmFtZVJhdGVDb250cm9sbGVy
LT5kaWRCZWdpbkZyYW1lKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAg
ICBjYXNlIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpBQ1RJT05fRFJBV19GT1JDRUQ6Ci0gICAg
ICAgICAgICBtX2NsaWVudC0+c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKTsKLSAg
ICAgICAgICAgIG1fZnJhbWVSYXRlQ29udHJvbGxlci0+ZGlkQmVnaW5GcmFtZSgpOworICAgICAg
ICBjYXNlIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpBQ1RJT05fRFJBV19GT1JDRUQ6IHsKKyAg
ICAgICAgICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgcmVzdWx0ID0gbV9j
bGllbnQtPnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCk7CisgICAgICAgICAgICBp
ZiAocmVzdWx0LmRpZFN3YXApCisgICAgICAgICAgICAgICAgbV9mcmFtZVJhdGVDb250cm9sbGVy
LT5kaWRCZWdpbkZyYW1lKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDQ1Nj
aGVkdWxlclN0YXRlTWFjaGluZTo6QUNUSU9OX0JFR0lOX0NPTlRFWFRfUkVDUkVBVElPTjoKKyAg
ICAgICAgfSBjYXNlIENDU2NoZWR1bGVyU3RhdGVNYWNoaW5lOjpBQ1RJT05fQkVHSU5fQ09OVEVY
VF9SRUNSRUFUSU9OOgogICAgICAgICAgICAgbV9jbGllbnQtPnNjaGVkdWxlZEFjdGlvbkJlZ2lu
Q29udGV4dFJlY3JlYXRpb24oKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Nj
aGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NTY2hlZHVsZXIuaAppbmRleCBjODc2ZTIwYmM4Nzc4ZGM3OWFmMzg5YzBiOWE5Y2JjM2FjYmE2
OTZmLi5hNmYyNjFjNGVkZjZkODU0YWEyYjY5MTNhYTZiN2E5MmE3OTM4NjI0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NjaGVkdWxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2NoZWR1bGVyLmgKQEAgLTM1LDE0ICszNSwyOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIENDVGhyZWFkOwogCitzdHJ1Y3QgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3Vs
dCB7CisgICAgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCgpCisgICAgICAgICAg
ICA6IGRpZERyYXcoZmFsc2UpCisgICAgICAgICAgICAsIGRpZFN3YXAoZmFsc2UpCisgICAgewor
ICAgIH0KKyAgICBDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0KGJvb2wgZGlkRHJh
dywgYm9vbCBkaWRTd2FwKQorICAgICAgICAgICAgOiBkaWREcmF3KGRpZERyYXcpCisgICAgICAg
ICAgICAsIGRpZFN3YXAoZGlkU3dhcCkKKyAgICB7CisgICAgfQorICAgIGJvb2wgZGlkRHJhdzsK
KyAgICBib29sIGRpZFN3YXA7Cit9OworCiBjbGFzcyBDQ1NjaGVkdWxlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGNhbkRyYXcoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhh
c01vcmVSZXNvdXJjZVVwZGF0ZXMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSgpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgc2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzY2hl
ZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCgpID0gMDsKKyAgICB2aXJ0dWFsIENDU2NoZWR1
bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJZlBv
c3NpYmxlKCkgPSAwOworICAgIHZpcnR1YWwgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJl
c3VsdCBzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCgpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgc2NoZWR1bGVkQWN0aW9uVXBkYXRlTW9yZVJlc291cmNlcygpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uQ29tbWl0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
Y2hlZHVsZWRBY3Rpb25CZWdpbkNvbnRleHRSZWNyZWF0aW9uKCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5LmNwcAppbmRleCAyMGE1MGJiYWQ3MWJhMzQyNGU1Y2EyNzY5N2I3NjhlMTk0NzM5
NTFmLi42MjJhMDRhNTE0NGY3ODUxMDYzNzU3OTVjYjRmNzFkODM3YTg1MGJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1RocmVhZFByb3h5LmNwcApAQCAtNTYxLDEzICs1NjEsMTYgQEAgdm9pZCBDQ1RocmVhZFBy
b3h5OjpzY2hlZHVsZWRBY3Rpb25CZWdpbkNvbnRleHRSZWNyZWF0aW9uKCkKICAgICBtX21haW5U
aHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFBy
b3h5OjpiZWdpbkNvbnRleHRSZWNyZWF0aW9uKSk7CiB9CiAKLWJvb2wgQ0NUaHJlYWRQcm94eTo6
c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbChib29sIGZvcmNlZERyYXcpCitDQ1Nj
aGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0IENDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFj
dGlvbkRyYXdBbmRTd2FwSW50ZXJuYWwoYm9vbCBmb3JjZWREcmF3KQogewogICAgIFRSQUNFX0VW
RU5UKCJDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcCIsIHRoaXMsIDAp
OworICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgcmVzdWx0OworICAgIHJl
c3VsdC5kaWREcmF3ID0gZmFsc2U7CisgICAgcmVzdWx0LmRpZFN3YXAgPSBmYWxzZTsKICAgICBB
U1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX2xheWVyVHJlZUhvc3RJbXBsKTsK
ICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdEltcGwpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKIAogICAgIC8vIEZJWE1FOiBjb21wdXRlIHRoZSBmcmFtZSBk
aXNwbGF5IHRpbWUgbW9yZSBpbnRlbGxpZ2VudGx5CiAgICAgZG91YmxlIG1vbm90b25pY1RpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKQEAgLTU3Nyw4ICs1ODAsMTAgQEAgYm9v
bCBDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEludGVybmFsKGJvb2wg
Zm9yY2VkRHJhdykKICAgICBtX2xheWVyVHJlZUhvc3RJbXBsLT5hbmltYXRlKG1vbm90b25pY1Rp
bWUsIHdhbGxDbG9ja1RpbWUpOwogICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBm
cmFtZTsKICAgICBib29sIGRyYXdGcmFtZSA9IG1fbGF5ZXJUcmVlSG9zdEltcGwtPnByZXBhcmVU
b0RyYXcoZnJhbWUpIHx8IGZvcmNlZERyYXc7Ci0gICAgaWYgKGRyYXdGcmFtZSkKKyAgICBpZiAo
ZHJhd0ZyYW1lKSB7CiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwtPmRyYXdMYXllcnMoZnJh
bWUpOworICAgICAgICByZXN1bHQuZGlkRHJhdyA9IHRydWU7CisgICAgfQogCiAgICAgLy8gQ2hl
Y2sgZm9yIGEgcGVuZGluZyBjb21wb3NpdGVBbmRSZWFkYmFjay4KICAgICBpZiAobV9yZWFkYmFj
a1JlcXVlc3RPbkltcGxUaHJlYWQpIHsKQEAgLTU5MCw3ICs1OTUsNyBAQCBib29sIENDVGhyZWFk
UHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSW50ZXJuYWwoYm9vbCBmb3JjZWREcmF3
KQogICAgIH0KIAogICAgIGlmIChkcmF3RnJhbWUpCi0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdElt
cGwtPnN3YXBCdWZmZXJzKCk7CisgICAgICAgIHJlc3VsdC5kaWRTd2FwID0gbV9sYXllclRyZWVI
b3N0SW1wbC0+c3dhcEJ1ZmZlcnMoKTsKIAogICAgIC8vIFByb2Nlc3MgYW55IGZpbmlzaCByZXF1
ZXN0CiAgICAgaWYgKG1fZmluaXNoQWxsUmVuZGVyaW5nQ29tcGxldGlvbkV2ZW50T25JbXBsVGhy
ZWFkKSB7CkBAIC02MDcsMTcgKzYxMiwxNyBAQCBib29sIENDVGhyZWFkUHJveHk6OnNjaGVkdWxl
ZEFjdGlvbkRyYXdBbmRTd2FwSW50ZXJuYWwoYm9vbCBmb3JjZWREcmF3KQogICAgIH0KIAogICAg
IEFTU0VSVChkcmF3RnJhbWUgfHwgKCFkcmF3RnJhbWUgJiYgIWZvcmNlZERyYXcpKTsKLSAgICBy
ZXR1cm4gZHJhd0ZyYW1lOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWJvb2wgQ0NUaHJlYWRQ
cm94eTo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCkKK0NDU2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uRHJh
d0FuZFN3YXBJZlBvc3NpYmxlKCkKIHsKICAgICByZXR1cm4gc2NoZWR1bGVkQWN0aW9uRHJhd0Fu
ZFN3YXBJbnRlcm5hbChmYWxzZSk7CiB9CiAKLXZvaWQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKQorQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJl
c3VsdCBDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCgpCiB7
Ci0gICAgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbCh0cnVlKTsKKyAgICByZXR1
cm4gc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbCh0cnVlKTsKIH0KIAogdm9pZCBD
Q1RocmVhZFByb3h5OjpkaWRDb21taXRBbmREcmF3RnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94
eS5oCmluZGV4IDYxNDM0YTZhOWNmNjNlODI5Y2RiYzViN2IyNTE3MDVlOGFmOTU1ZTYuLmFhNzkz
YjU5ODJkZGI4OWM5NjJlNjliY2QzOWFkMGYwM2M2NzQ2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFBy
b3h5LmgKQEAgLTgyLDggKzgyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBjYW5EcmF3
KCk7CiAgICAgdmlydHVhbCBib29sIGhhc01vcmVSZXNvdXJjZVVwZGF0ZXMoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSgpOwotICAgIHZpcnR1YWwg
Ym9vbCBzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcElmUG9zc2libGUoKTsKLSAgICB2aXJ0dWFs
IHZvaWQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKTsKKyAgICB2aXJ0dWFsIEND
U2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3
YXBJZlBvc3NpYmxlKCk7CisgICAgdmlydHVhbCBDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2Fw
UmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCk7CiAgICAgdmlydHVhbCB2
b2lkIHNjaGVkdWxlZEFjdGlvblVwZGF0ZU1vcmVSZXNvdXJjZXMoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2NoZWR1bGVkQWN0aW9uQ29tbWl0KCk7CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFj
dGlvbkJlZ2luQ29udGV4dFJlY3JlYXRpb24oKTsKQEAgLTEyNyw3ICsxMjcsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgbGF5ZXJUcmVlSG9zdENsb3NlZE9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25F
dmVudCopOwogICAgIHZvaWQgc2V0RnVsbFJvb3RMYXllckRhbWFnZU9uSW1wbFRocmVhZCgpOwog
ICAgIHZvaWQgcmVjcmVhdGVDb250ZXh0T25JbXBsVGhyZWFkKENDQ29tcGxldGlvbkV2ZW50Kiwg
R3JhcGhpY3NDb250ZXh0M0QqLCBib29sKiByZWNyZWF0ZVN1Y2NlZWRlZCwgTGF5ZXJSZW5kZXJl
ckNhcGFiaWxpdGllcyopOwotICAgIGJvb2wgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRl
cm5hbChib29sIGZvcmNlZERyYXcpOworICAgIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBS
ZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBJbnRlcm5hbChib29sIGZvcmNlZERyYXcp
OwogCiAgICAgLy8gQWNjZXNzZWQgb24gbWFpbiB0aHJlYWQgb25seS4KICAgICBib29sIG1fYW5p
bWF0ZVJlcXVlc3RlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NTY2hlZHVsZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTY2hl
ZHVsZXJUZXN0LmNwcAppbmRleCA4ZGY1YTExY2FmN2EyMTNlMDc0NjAxNWNmNDkxZDdkMjJmYmY2
NWYyLi5jODY3N2YxMThhZTBjNjA4ZjlkNzE3NDM5ZTU3NWRkYWFmMjg1MGY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU2NoZWR1bGVyVGVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NjaGVkdWxlclRlc3QuY3BwCkBAIC00NSw3
ICs0NSw4IEBAIHB1YmxpYzoKICAgICAgICAgbV9hY3Rpb25zLmNsZWFyKCk7CiAgICAgICAgIG1f
aGFzTW9yZVJlc291cmNlVXBkYXRlcyA9IGZhbHNlOwogICAgICAgICBtX2NhbkRyYXcgPSB0cnVl
OwotICAgICAgICBtX2RyYXdTdWNjZXNzID0gdHJ1ZTsKKyAgICAgICAgbV9kcmF3V2lsbEhhcHBl
biA9IHRydWU7CisgICAgICAgIG1fc3dhcFdpbGxIYXBwZW5JZkRyYXdIYXBwZW5zID0gdHJ1ZTsK
ICAgICAgICAgbV9udW1EcmF3cyA9IDA7CiAgICAgfQogCkBAIC01NiwzMiArNTcsNDIgQEAgcHVi
bGljOgogICAgIGludCBudW1BY3Rpb25zKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8aW50
PihtX2FjdGlvbnMuc2l6ZSgpKTsgfQogICAgIGNvbnN0IGNoYXIqIGFjdGlvbihpbnQgaSkgY29u
c3QgeyByZXR1cm4gbV9hY3Rpb25zW2ldOyB9CiAKKyAgICBib29sIGhhc0FjdGlvbihjb25zdCBj
aGFyKiBhY3Rpb24pIGNvbnN0CisgICAgeworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fYWN0aW9ucy5zaXplKCk7IGkrKykKKyAgICAgICAgICAgIGlmICghc3RyY21wKG1fYWN0aW9u
c1tpXSwgYWN0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZpcnR1YWwgYm9vbCBjYW5EcmF3KCkgeyByZXR1cm4g
bV9jYW5EcmF3OyB9CiAgICAgdmlydHVhbCBib29sIGhhc01vcmVSZXNvdXJjZVVwZGF0ZXMoKSBj
b25zdCB7IHJldHVybiBtX2hhc01vcmVSZXNvdXJjZVVwZGF0ZXM7IH0KICAgICB2aXJ0dWFsIHZv
aWQgc2NoZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSgpIHsgbV9hY3Rpb25zLnB1c2hfYmFjaygic2No
ZWR1bGVkQWN0aW9uQmVnaW5GcmFtZSIpOyB9Ci0gICAgdmlydHVhbCBib29sIHNjaGVkdWxlZEFj
dGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgpCisgICAgdmlydHVhbCBDQ1NjaGVkdWxlZEFjdGlv
bkRyYXdBbmRTd2FwUmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgp
CiAgICAgewogICAgICAgICBtX2FjdGlvbnMucHVzaF9iYWNrKCJzY2hlZHVsZWRBY3Rpb25EcmF3
QW5kU3dhcElmUG9zc2libGUiKTsKICAgICAgICAgbV9udW1EcmF3cysrOwotICAgICAgICByZXR1
cm4gbV9kcmF3U3VjY2VzczsKKyAgICAgICAgcmV0dXJuIENDU2NoZWR1bGVkQWN0aW9uRHJhd0Fu
ZFN3YXBSZXN1bHQobV9kcmF3V2lsbEhhcHBlbiwgbV9kcmF3V2lsbEhhcHBlbiAmJiBtX3N3YXBX
aWxsSGFwcGVuSWZEcmF3SGFwcGVucyk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIHNjaGVk
dWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCkKKyAgICB2aXJ0dWFsIENDU2NoZWR1bGVkQWN0
aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKQog
ICAgIHsKICAgICAgICAgbV9hY3Rpb25zLnB1c2hfYmFjaygic2NoZWR1bGVkQWN0aW9uRHJhd0Fu
ZFN3YXBGb3JjZWQiKTsKLSAgICAgICAgbV9udW1EcmF3cysrOworICAgICAgICByZXR1cm4gQ0NT
Y2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCh0cnVlLCBtX3N3YXBXaWxsSGFwcGVuSWZE
cmF3SGFwcGVucyk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFjdGlvblVw
ZGF0ZU1vcmVSZXNvdXJjZXMoKSB7IG1fYWN0aW9ucy5wdXNoX2JhY2soInNjaGVkdWxlZEFjdGlv
blVwZGF0ZU1vcmVSZXNvdXJjZXMiKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rp
b25Db21taXQoKSB7IG1fYWN0aW9ucy5wdXNoX2JhY2soInNjaGVkdWxlZEFjdGlvbkNvbW1pdCIp
OyB9CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFjdGlvbkJlZ2luQ29udGV4dFJlY3JlYXRp
b24oKSB7IG1fYWN0aW9ucy5wdXNoX2JhY2soInNjaGVkdWxlZEFjdGlvbkJlZ2luQ29udGV4dFJl
Y3JlYXRpb24iKTsgfQogCi0gICAgdm9pZCBzZXREcmF3U3VjY2Vzcyhib29sIGRyYXdTdWNjZXNz
KSB7IG1fZHJhd1N1Y2Nlc3MgPSBkcmF3U3VjY2VzczsgfQorICAgIHZvaWQgc2V0RHJhd1dpbGxI
YXBwZW4oYm9vbCBkcmF3V2lsbEhhcHBlbikgeyBtX2RyYXdXaWxsSGFwcGVuID0gZHJhd1dpbGxI
YXBwZW47IH0KKyAgICB2b2lkIHNldFN3YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVucyhib29sIHN3
YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVucykgeyBtX3N3YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVu
cyA9IHN3YXBXaWxsSGFwcGVuSWZEcmF3SGFwcGVuczsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgYm9v
bCBtX2hhc01vcmVSZXNvdXJjZVVwZGF0ZXM7CiAgICAgYm9vbCBtX2NhbkRyYXc7Ci0gICAgYm9v
bCBtX2RyYXdTdWNjZXNzOworICAgIGJvb2wgbV9kcmF3V2lsbEhhcHBlbjsKKyAgICBib29sIG1f
c3dhcFdpbGxIYXBwZW5JZkRyYXdIYXBwZW5zOwogICAgIGludCBtX251bURyYXdzOwogICAgIHN0
ZDo6dmVjdG9yPGNvbnN0IGNoYXIqPiBtX2FjdGlvbnM7CiB9OwpAQCAtMTYzLDcgKzE3NCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFNjaGVkdWxlcihDQ1NjaGVkdWxlciogc2NoZWR1bGVyKSB7
IG1fc2NoZWR1bGVyID0gc2NoZWR1bGVyOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVk
QWN0aW9uQmVnaW5GcmFtZSgpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBzY2hlZHVsZWRBY3Rpb25E
cmF3QW5kU3dhcElmUG9zc2libGUoKQorICAgIHZpcnR1YWwgQ0NTY2hlZHVsZWRBY3Rpb25EcmF3
QW5kU3dhcFJlc3VsdCBzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcElmUG9zc2libGUoKQogICAg
IHsKICAgICAgICAgLy8gT25seSBzZXROZWVkc1JlZHJhdyB0aGUgZmlyc3QgdGltZSB0aGlzIGlz
IGNhbGxlZAogICAgICAgICBpZiAoIW1fbnVtRHJhd3MpCkBAIC0xNzEsNyArMTgyLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIEZha2VDQ1NjaGVkdWxlckNsaWVudDo6c2NoZWR1bGVkQWN0
aW9uRHJhd0FuZFN3YXBJZlBvc3NpYmxlKCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIHNj
aGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9yY2VkKCkgeyB9CisgICAgdmlydHVhbCBDQ1NjaGVk
dWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwRm9y
Y2VkKCkKKyAgICB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1
cm4gQ0NTY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcFJlc3VsdCh0cnVlLCB0cnVlKTsKKyAgICB9
CisKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uVXBkYXRlTW9yZVJlc291cmNlcygp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25Db21taXQoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uQmVnaW5Db250ZXh0UmVjcmVhdGlvbigpIHsgfQpA
QCAtMjE2LDcgKzIzMiw3IEBAIFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0UmVkcmF3SW5z
aWRlRmFpbGVkRHJhdykKICAgICBPd25QdHI8Q0NTY2hlZHVsZXI+IHNjaGVkdWxlciA9IENDU2No
ZWR1bGVyOjpjcmVhdGUoJmNsaWVudCwgYWRvcHRQdHIobmV3IENDRnJhbWVSYXRlQ29udHJvbGxl
cih0aW1lU291cmNlKSkpOwogICAgIGNsaWVudC5zZXRTY2hlZHVsZXIoc2NoZWR1bGVyLmdldCgp
KTsKICAgICBzY2hlZHVsZXItPnNldFZpc2libGUodHJ1ZSk7Ci0gICAgY2xpZW50LnNldERyYXdT
dWNjZXNzKGZhbHNlKTsKKyAgICBjbGllbnQuc2V0RHJhd1dpbGxIYXBwZW4oZmFsc2UpOwogCiAg
ICAgc2NoZWR1bGVyLT5zZXROZWVkc1JlZHJhdygpOwogICAgIEVYUEVDVF9UUlVFKHNjaGVkdWxl
ci0+cmVkcmF3UGVuZGluZygpKTsKQEAgLTI0MCw3ICsyNTYsNyBAQCBURVNUKENDU2NoZWR1bGVy
VGVzdCwgUmVxdWVzdFJlZHJhd0luc2lkZUZhaWxlZERyYXcpCiAgICAgRVhQRUNUX1RSVUUodGlt
ZVNvdXJjZS0+YWN0aXZlKCkpOwogCiAgICAgLy8gRHJhdyBzdWNjZXNzZnVsbHkuCi0gICAgY2xp
ZW50LnNldERyYXdTdWNjZXNzKHRydWUpOworICAgIGNsaWVudC5zZXREcmF3V2lsbEhhcHBlbih0
cnVlKTsKICAgICB0aW1lU291cmNlLT50aWNrKCk7CiAgICAgRVhQRUNUX0VRKDMsIGNsaWVudC5u
dW1EcmF3cygpKTsKICAgICBFWFBFQ1RfVFJVRShzY2hlZHVsZXItPmNvbW1pdFBlbmRpbmcoKSk7
CkBAIC0yNTYsNyArMjcyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2NoZWR1bGVyKENDU2No
ZWR1bGVyKiBzY2hlZHVsZXIpIHsgbV9zY2hlZHVsZXIgPSBzY2hlZHVsZXI7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25CZWdpbkZyYW1lKCkgeyB9Ci0gICAgdmlydHVhbCBi
b29sIHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwSWZQb3NzaWJsZSgpCisgICAgdmlydHVhbCBD
Q1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0IHNjaGVkdWxlZEFjdGlvbkRyYXdBbmRT
d2FwSWZQb3NzaWJsZSgpCiAgICAgewogICAgICAgICAvLyBPbmx5IHNldE5lZWRzQ29tbWl0IHRo
ZSBmaXJzdCB0aW1lIHRoaXMgaXMgY2FsbGVkCiAgICAgICAgIGlmICghbV9udW1EcmF3cykKQEAg
LTI2NCw3ICsyODAsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gRmFrZUNDU2NoZWR1bGVy
Q2xpZW50OjpzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcElmUG9zc2libGUoKTsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKSB7IH0K
KyAgICB2aXJ0dWFsIENDU2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXBSZXN1bHQgc2NoZWR1bGVk
QWN0aW9uRHJhd0FuZFN3YXBGb3JjZWQoKQorICAgIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybiBDQ1NjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwUmVzdWx0
KHRydWUsIHRydWUpOworICAgIH0KKwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25V
cGRhdGVNb3JlUmVzb3VyY2VzKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlZEFjdGlv
bkNvbW1pdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZWRBY3Rpb25CZWdpbkNvbnRl
eHRSZWNyZWF0aW9uKCkgeyB9CkBAIC0zMDgsNyArMzI5LDcgQEAgVEVTVChDQ1NjaGVkdWxlclRl
c3QsIFJlcXVlc3RDb21taXRJbnNpZGVGYWlsZWREcmF3KQogICAgIE93blB0cjxDQ1NjaGVkdWxl
cj4gc2NoZWR1bGVyID0gQ0NTY2hlZHVsZXI6OmNyZWF0ZSgmY2xpZW50LCBhZG9wdFB0cihuZXcg
Q0NGcmFtZVJhdGVDb250cm9sbGVyKHRpbWVTb3VyY2UpKSk7CiAgICAgY2xpZW50LnNldFNjaGVk
dWxlcihzY2hlZHVsZXIuZ2V0KCkpOwogICAgIHNjaGVkdWxlci0+c2V0VmlzaWJsZSh0cnVlKTsK
LSAgICBjbGllbnQuc2V0RHJhd1N1Y2Nlc3MoZmFsc2UpOworICAgIGNsaWVudC5zZXREcmF3V2ls
bEhhcHBlbihmYWxzZSk7CiAKICAgICBzY2hlZHVsZXItPnNldE5lZWRzUmVkcmF3KCk7CiAgICAg
RVhQRUNUX1RSVUUoc2NoZWR1bGVyLT5yZWRyYXdQZW5kaW5nKCkpOwpAQCAtMzMyLDcgKzM1Myw3
IEBAIFRFU1QoQ0NTY2hlZHVsZXJUZXN0LCBSZXF1ZXN0Q29tbWl0SW5zaWRlRmFpbGVkRHJhdykK
ICAgICBFWFBFQ1RfVFJVRSh0aW1lU291cmNlLT5hY3RpdmUoKSk7CiAKICAgICAvLyBEcmF3IHN1
Y2Nlc3NmdWxseS4KLSAgICBjbGllbnQuc2V0RHJhd1N1Y2Nlc3ModHJ1ZSk7CisgICAgY2xpZW50
LnNldERyYXdXaWxsSGFwcGVuKHRydWUpOwogICAgIHRpbWVTb3VyY2UtPnRpY2soKTsKICAgICBF
WFBFQ1RfRVEoMywgY2xpZW50Lm51bURyYXdzKCkpOwogICAgIEVYUEVDVF9UUlVFKHNjaGVkdWxl
ci0+Y29tbWl0UGVuZGluZygpKTsKQEAgLTM4MCwxMCArNDAxLDMzIEBAIFRFU1QoQ0NTY2hlZHVs
ZXJUZXN0LCBOb0JlZ2luRnJhbWVXaGVuRHJhd0ZhaWxzKQogICAgIEVYUEVDVF9UUlVFKHRpbWVT
b3VyY2UtPmFjdGl2ZSgpKTsKIAogICAgIC8vIEZhaWwgdG8gZHJhdywgdGhpcyBzaG91bGQgbm90
IHN0YXJ0IGEgZnJhbWUuCi0gICAgY2xpZW50LnNldERyYXdTdWNjZXNzKGZhbHNlKTsKKyAgICBj
bGllbnQuc2V0RHJhd1dpbGxIYXBwZW4oZmFsc2UpOwogICAgIHRpbWVTb3VyY2UtPnRpY2soKTsK
ICAgICBFWFBFQ1RfRVEoMywgY2xpZW50Lm51bURyYXdzKCkpOwogICAgIEVYUEVDVF9FUSgwLCBj
b250cm9sbGVyUHRyLT5udW1GcmFtZXNQZW5kaW5nKCkpOwogfQogCitURVNUKENDU2NoZWR1bGVy
VGVzdCwgTm9CZWdpbkZyYW1lV2hlblN3YXBGYWlsc0R1cmluZ0ZvcmNlZENvbW1pdCkKK3sKKyAg
ICBSZWZQdHI8RmFrZUNDVGltZVNvdXJjZT4gdGltZVNvdXJjZSA9IGFkb3B0UmVmKG5ldyBGYWtl
Q0NUaW1lU291cmNlKCkpOworICAgIEZha2VDQ1NjaGVkdWxlckNsaWVudCBjbGllbnQ7CisgICAg
T3duUHRyPEZha2VDQ0ZyYW1lUmF0ZUNvbnRyb2xsZXI+IGNvbnRyb2xsZXIgPSBhZG9wdFB0cihu
ZXcgRmFrZUNDRnJhbWVSYXRlQ29udHJvbGxlcih0aW1lU291cmNlKSk7CisgICAgRmFrZUNDRnJh
bWVSYXRlQ29udHJvbGxlciogY29udHJvbGxlclB0ciA9IGNvbnRyb2xsZXIuZ2V0KCk7CisgICAg
T3duUHRyPENDU2NoZWR1bGVyPiBzY2hlZHVsZXIgPSBDQ1NjaGVkdWxlcjo6Y3JlYXRlKCZjbGll
bnQsIGNvbnRyb2xsZXIucmVsZWFzZSgpKTsKKworICAgIEVYUEVDVF9FUSgwLCBjb250cm9sbGVy
UHRyLT5udW1GcmFtZXNQZW5kaW5nKCkpOworCisgICAgLy8gVGVsbCB0aGUgY2xpZW50IHRoYXQg
aXQgd2lsbCBmYWlsIHRvIHN3YXAuCisgICAgY2xpZW50LnNldERyYXdXaWxsSGFwcGVuKHRydWUp
OworICAgIGNsaWVudC5zZXRTd2FwV2lsbEhhcHBlbklmRHJhd0hhcHBlbnMoZmFsc2UpOworCisg
ICAgLy8gR2V0IHRoZSBjb21wb3NpdG9yIHRvIGRvIGEgc2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3
YXBGb3JjZWQuCisgICAgc2NoZWR1bGVyLT5zZXROZWVkc1JlZHJhdygpOworICAgIHNjaGVkdWxl
ci0+c2V0TmVlZHNGb3JjZWRSZWRyYXcoKTsKKyAgICBFWFBFQ1RfVFJVRShjbGllbnQuaGFzQWN0
aW9uKCJzY2hlZHVsZWRBY3Rpb25EcmF3QW5kU3dhcEZvcmNlZCIpKTsKKworICAgIC8vIFdlIHNo
b3VsZCBub3QgaGF2ZSB0b2xkIHRoZSBmcmFtZSByYXRlIGNvbnRyb2xsZXIgdGhhdCB3ZSBiZWdh
biBhIGZyYW1lLgorICAgIEVYUEVDVF9FUSgwLCBjb250cm9sbGVyUHRyLT5udW1GcmFtZXNQZW5k
aW5nKCkpOworfQorCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>