<?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>79155</bug_id>
          
          <creation_ts>2012-02-21 15:33:26 -0800</creation_ts>
          <short_desc>[chromium] Wire up shouldUpdateScrollPositionOnMainThread and nonFastScrollableRegion to compositor</short_desc>
          <delta_ts>2012-07-27 02:29:43 -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>
          <dependson>79133</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>aelias</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
    
    <cc>nduca</cc>
    
    <cc>skyostil</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vangelis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561286</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-21 15:33:26 -0800</bug_when>
    <thetext>[chromium] Wire up shouldUpdateScrollPositionOnMainThread and nonFastScrollableRegion to compositor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561292</commentid>
    <comment_count>1</comment_count>
      <attachid>128060</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-21 15:36:17 -0800</bug_when>
    <thetext>Created attachment 128060
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561399</commentid>
    <comment_count>2</comment_count>
      <attachid>128090</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-21 17:16:08 -0800</bug_when>
    <thetext>Created attachment 128090
rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561454</commentid>
    <comment_count>3</comment_count>
      <attachid>128101</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-21 18:29:14 -0800</bug_when>
    <thetext>Created attachment 128101
map points from viewport to content space before hit testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561558</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-21 20:46:53 -0800</bug_when>
    <thetext>*** Bug 74196 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563970</commentid>
    <comment_count>5</comment_count>
      <attachid>128101</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-23 23:12:08 -0800</bug_when>
    <thetext>Comment on attachment 128101
map points from viewport to content space before hit testing

Looks pretty straightforward.  Let me know if you&apos;d rather have someone who&apos;s an expert on the compositor reviewing these patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565228</commentid>
    <comment_count>6</comment_count>
      <attachid>128101</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-26 17:04:38 -0800</bug_when>
    <thetext>Comment on attachment 128101
map points from viewport to content space before hit testing

Clearing flags on attachment: 128101

Committed r108937: &lt;http://trac.webkit.org/changeset/108937&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565229</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-26 17:04:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680344</commentid>
    <comment_count>8</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-27 02:29:43 -0700</bug_when>
    <thetext>*** Bug 71385 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128060</attachid>
            <date>2012-02-21 15:36:17 -0800</date>
            <delta_ts>2012-02-21 17:16:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79155-20120221153616.patch</filename>
            <type>text/plain</type>
            <size>15574</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4Mzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY1NmY4Nzk2ZGNlZmU1
MDQ0OTQwNjdjMTdjZWUyZTkxNDQxNmIyZC4uNjJmOTA0ZjJhM2IwYzgxYjIzNjI5NTI2NzVlOThh
ZDUyNmIzMTMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEyLTAyLTIxICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW2Nocm9taXVtXSBX
aXJlIHVwIHNob3VsZFVwZGF0ZVNjcm9sbFBvc2l0aW9uT25NYWluVGhyZWFkIGFuZCBub25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbiB0byBjb21wb3NpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaG9va3MgdXAgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKCkgYW5kCisgICAgICAgIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkg
dG8gdGhlIGNocm9taXVtIGNvbXBvc2l0b3IKKyAgICAgICAgaW1wbGVtZW50YXRpb24gYW5kIGlt
cGxlbWVudHMgdGhlbSBvbiB0aGUgaW1wbCB0aHJlYWQuCisKKyAgICAgICAgTmV3IGNvbXBvc2l0
b3IgYmVoYXZpb3IgaXMgY292ZXJlZCBieSB1bml0IHRlc3RzIGluIExheWVyQ2hyb21pdW1UZXN0
cyBhbmQgQ0NMYXllclRyZWVIb3N0SW1wbFRlc3RzLiBUaGUgcmVzdCBpcworICAgICAgICBqdXN0
IGdsdWUgY29kZS4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9u
T25NYWluVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
ckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OkxheWVyQ2hy
b21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6
Q0NMYXllckltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRTaG91bGRT
Y3JvbGxPbk1haW5UaHJlYWQpOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NMYXllckltcGw6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpzY3JvbGxCZWdpbik6CisK
KzIwMTItMDItMjEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBbY2hyb21pdW1dIE5vdGlmeSBjb21wb3NpdG9yIG9mIHdoZWVsIGV2ZW50IHJlZ2lzdHJh
dGlvbiB2aWEgU2Nyb2xsaW5nQ29vcmRpbmF0b3IKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggNjllMmJlNzhkNDJkNzZmMDQ2ZGI4MTY1Yjg5ZGE2NTJlYzE0NGJlNC4uMGRmM2VkOTRlNTBj
MjAyNzMzNjhjMmExMDI0MWY0N2NjYzE3YTQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOSBAQAogMjAxMi0wMi0yMSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hy
b21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gV2lyZSB1cCBzaG91bGRVcGRhdGVTY3Jv
bGxQb3NpdGlvbk9uTWFpblRocmVhZCBhbmQgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24gdG8gY29t
cG9zaXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzkxNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbmV3IHRlc3RzIGZvciBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQgYW5kIG5vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhv
c3RJbXBsVGVzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIHRlc3RzL0xheWVyQ2hyb21pdW1UZXN0LmNwcDoKKworMjAxMi0wMi0y
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtjaHJv
bWl1bV0gTm90aWZ5IGNvbXBvc2l0b3Igb2Ygd2hlZWwgZXZlbnQgcmVnaXN0cmF0aW9uIHZpYSBT
Y3JvbGxpbmdDb29yZGluYXRvcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzkxMzMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcAppbmRleCBlNTkwMTM4YTYwYzUyYmFjN2EzZjJjMTUwZGY5MjBkZjM4Y2M1MTkyLi5m
ZjA1M2RmNjI1MjIxOWM2NjRmNjkzMWRlYzc1YTM0ZThjZjA3MmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtNzMsOSArNzMsMTAgQEAgdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U2Nyb2xsTGF5ZXIoR3JhcGhpY3NMYXllciogc2Nyb2xs
TGF5ZXIpCiAgICAgbV9wcml2YXRlLT5zZXRTY3JvbGxMYXllcihzY3JvbGxMYXllciA/IHNjcm9s
bExheWVyLT5wbGF0Zm9ybUxheWVyKCkgOiAwKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgUmVnaW9uJikKK3ZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFJlZ2lv
biYgcmVnaW9uKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQhCisgICAgaWYgKExheWVyQ2hy
b21pdW0qIGxheWVyID0gbV9wcml2YXRlLT5zY3JvbGxMYXllcigpKQorICAgICAgICBsYXllci0+
c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24ocmVnaW9uKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2V0U2Nyb2xsUGFyYW1ldGVycyhTY3JvbGxFbGFzdGljaXR5IGhvcml6b250
YWxTY3JvbGxFbGFzdGljaXR5LCBTY3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3Rp
Y2l0eSwKQEAgLTkzLDcgKzk0LDggQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0V2hl
ZWxFdmVudEhhbmRsZXJDb3VudCh1bnNpZ25lZCB3aGVlbEV2ZW50SGFuZGxlckMKIAogdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9u
TWFpblRocmVhZChib29sIHNob3VsZCkKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IQorICAg
IGlmIChMYXllckNocm9taXVtKiBsYXllciA9IG1fcHJpdmF0ZS0+c2Nyb2xsTGF5ZXIoKSkKKyAg
ICAgICAgbGF5ZXItPnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChzaG91bGQpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDI1NzZiY2E2Y2VhNjFlNWEwZGJkNzRkNDUwMTE3
YjUyY2Q3ZDMyODMuLjY3ODNhYzlkZWZkNjg3MzNjNTg0OTUyNzhhOTRiYzE5YjM1NDNjMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiTmF0aXZl
SW1hZ2VTa2lhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2VuZGlmCi0j
aW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNraW5nLmgiCiAjaW5j
bHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5o
IgpAQCAtNjAsNiArNTksNyBAQCBMYXllckNocm9taXVtOjpMYXllckNocm9taXVtKCkKICAgICAs
IG1fbGF5ZXJJZChzX25leHRMYXllcklkKyspCiAgICAgLCBtX3BhcmVudCgwKQogICAgICwgbV9z
Y3JvbGxhYmxlKGZhbHNlKQorICAgICwgbV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoZmFsc2Up
CiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnMoZmFsc2UpCiAgICAgLCBtX2FuY2hvclBv
aW50KDAuNSwgMC41KQogICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoMCwgMCwgMCwgMCkKQEAgLTM3
MCw2ICszNzAsMTQgQEAgdm9pZCBMYXllckNocm9taXVtOjpzZXRTY3JvbGxhYmxlKGJvb2wgc2Ny
b2xsYWJsZSkKICAgICBzZXROZWVkc0NvbW1pdCgpOwogfQogCit2b2lkIExheWVyQ2hyb21pdW06
OnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChib29sIHNob3VsZFNjcm9sbE9uTWFpblRocmVh
ZCkKK3sKKyAgICBpZiAobV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQgPT0gc2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKQorICAgICAgICByZXR1cm47CisgICAgbV9zaG91bGRTY3JvbGxPbk1haW5U
aHJlYWQgPSBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ7CisgICAgc2V0TmVlZHNDb21taXQoKTsK
K30KKwogdm9pZCBMYXllckNocm9taXVtOjpzZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJzKGJvb2wg
aGF2ZVdoZWVsRXZlbnRIYW5kbGVycykKIHsKICAgICBpZiAobV9oYXZlV2hlZWxFdmVudEhhbmRs
ZXJzID09IGhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpCkBAIC0zNzgsNiArMzg2LDE0IEBAIHZvaWQg
TGF5ZXJDaHJvbWl1bTo6c2V0SGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhib29sIGhhdmVXaGVlbEV2
ZW50SGFuZGxlcnMpCiAgICAgc2V0TmVlZHNDb21taXQoKTsKIH0KIAordm9pZCBMYXllckNocm9t
aXVtOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikKK3sK
KyAgICBpZiAobV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbiA9PSByZWdpb24pCisgICAgICAgIHJl
dHVybjsKKyAgICBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uID0gcmVnaW9uOworICAgIHNldE5l
ZWRzQ29tbWl0KCk7Cit9CisKIHZvaWQgTGF5ZXJDaHJvbWl1bTo6c2V0RG91YmxlU2lkZWQoYm9v
bCBkb3VibGVTaWRlZCkKIHsKICAgICBpZiAobV9kb3VibGVTaWRlZCA9PSBkb3VibGVTaWRlZCkK
QEAgLTQzMiw3ICs0NDgsOSBAQCB2b2lkIExheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8o
Q0NMYXllckltcGwqIGxheWVyKQogICAgIGxheWVyLT5zZXRJc05vbkNvbXBvc2l0ZWRDb250ZW50
KG1faXNOb25Db21wb3NpdGVkQ29udGVudCk7CiAgICAgbGF5ZXItPnNldE1hc2tzVG9Cb3VuZHMo
bV9tYXNrc1RvQm91bmRzKTsKICAgICBsYXllci0+c2V0U2Nyb2xsYWJsZShtX3Njcm9sbGFibGUp
OworICAgIGxheWVyLT5zZXRTaG91bGRTY3JvbGxPbk1haW5UaHJlYWQobV9zaG91bGRTY3JvbGxP
bk1haW5UaHJlYWQpOwogICAgIGxheWVyLT5zZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJzKG1faGF2
ZVdoZWVsRXZlbnRIYW5kbGVycyk7CisgICAgbGF5ZXItPnNldE5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uKG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOwogICAgIGxheWVyLT5zZXROYW1lKG1fbmFt
ZSk7CiAgICAgbGF5ZXItPnNldE9wYXF1ZShtX29wYXF1ZSk7CiAgICAgbGF5ZXItPnNldE9wYWNp
dHkobV9vcGFjaXR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAppbmRleCA1ZjM1MDQ2ZjM5Yzk3MjkxMDQ4
ZGE4YzQwMTEzNDQzYmYzMGIwYmI5Li42MGI0MjFhNWYwMjcxMmU2ZDAxZTVlOGU3ODBhZjNkMjA1
NzFkNmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRl
ICJQcm9ncmFtQmluZGluZy5oIgorI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUgIlJlbmRl
clN1cmZhY2VDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlNoYWRlckNocm9taXVtLmgiCiAjaW5jbHVk
ZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKQEAgLTU2LDcgKzU3LDYgQEAgY2xhc3MgQ0NMYXll
ckltcGw7CiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CiBjbGFzcyBDQ1RleHR1cmVVcGRhdGVyOwog
Y2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7Ci1jbGFzcyBSZWdpb247CiAKIC8vIEJhc2UgY2xhc3Mg
Zm9yIGNvbXBvc2l0ZWQgbGF5ZXJzLiBTcGVjaWFsIGxheWVyIHR5cGVzIGFyZSBkZXJpdmVkIGZy
b20KIC8vIHRoaXMgY2xhc3MuCkBAIC0xMzEsNyArMTMxLDkgQEAgcHVibGljOgogICAgIGNvbnN0
IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsUG9zaXRp
b247IH0KIAogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShib29sKTsKKyAgICB2b2lkIHNldFNob3Vs
ZFNjcm9sbE9uTWFpblRocmVhZChib29sKTsKICAgICB2b2lkIHNldEhhdmVXaGVlbEV2ZW50SGFu
ZGxlcnMoYm9vbCk7CisgICAgdm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBS
ZWdpb24mKTsKIAogICAgIEludFNpemUgc2Nyb2xsRGVsdGEoKSBjb25zdCB7IHJldHVybiBJbnRT
aXplKCk7IH0KIApAQCAtMjY0LDcgKzI2Niw5IEBAIHByaXZhdGU6CiAgICAgSW50UmVjdCBtX3Zp
c2libGVMYXllclJlY3Q7CiAgICAgSW50UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICAgICBib29s
IG1fc2Nyb2xsYWJsZTsKKyAgICBib29sIG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOwogICAg
IGJvb2wgbV9oYXZlV2hlZWxFdmVudEhhbmRsZXJzOworICAgIFJlZ2lvbiBtX25vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uOwogICAgIEZsb2F0UG9pbnQgbV9wb3NpdGlvbjsKICAgICBGbG9hdFBvaW50
IG1fYW5jaG9yUG9pbnQ7CiAgICAgQ29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVySW1wbC5jcHAKaW5kZXggZTM4NGUwY2ZkNGZhMTIyMGYxZDEzYzYyOTgzMDNkZmVhN2Y2NTZj
Yy4uNDY0NTdkZDQwOTI3MTdkZGViNTYwZGY2YmM5N2M0NWZlOWU2ZmQyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmNwcApAQCAtNDUsNiArNDUsNyBAQCBDQ0xheWVySW1wbDo6Q0NMYXllckltcGwo
aW50IGlkKQogICAgICwgbV9hbmNob3JQb2ludCgwLjUsIDAuNSkKICAgICAsIG1fYW5jaG9yUG9p
bnRaKDApCiAgICAgLCBtX3Njcm9sbGFibGUoZmFsc2UpCisgICAgLCBtX3Nob3VsZFNjcm9sbE9u
TWFpblRocmVhZChmYWxzZSkKICAgICAsIG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhmYWxzZSkK
ICAgICAsIG1fYmFja2dyb3VuZENvdmVyc1ZpZXdwb3J0KGZhbHNlKQogICAgICwgbV9kb3VibGVT
aWRlZCh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKaW5kZXggOThkZjlkNzczM2U1MDFiNDU3ZTk1
ZTM1MjYwNDkyMzJhZDQ3YzRlNy4uYzBiMjNiOTUyYTM4NDA5YjMwYjE2Nzg4YzFlYTQ5NmNkYzI5
ODc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAi
RmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIklu
dFJlY3QuaCIKKyNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlICJjYy9DQ1JlbmRlclBh
c3MuaCIKQEAgLTE4MCw5ICsxODEsMTUgQEAgcHVibGljOgogICAgIGJvb2wgc2Nyb2xsYWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZTsgfQogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShi
b29sIHNjcm9sbGFibGUpIHsgbV9zY3JvbGxhYmxlID0gc2Nyb2xsYWJsZTsgfQogCisgICAgYm9v
bCBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNjcm9s
bE9uTWFpblRocmVhZDsgfQorICAgIHZvaWQgc2V0U2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKGJv
b2wgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKSB7IG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFk
ID0gc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOyB9CisKICAgICBib29sIGhhdmVXaGVlbEV2ZW50
SGFuZGxlcnMoKSBjb25zdCB7IHJldHVybiBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnM7IH0KICAg
ICB2b2lkIHNldEhhdmVXaGVlbEV2ZW50SGFuZGxlcnMoYm9vbCBoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKSB7IG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyA9IGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM7
IH0KIAorICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKSBjb25zdCB7
IHJldHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CisgICAgdm9pZCBzZXROb25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikgeyBtX25vbkZhc3RTY3JvbGxh
YmxlUmVnaW9uID0gcmVnaW9uOyB9CisKICAgICBjb25zdCBJbnRSZWN0JiB2aXNpYmxlTGF5ZXJS
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV92aXNpYmxlTGF5ZXJSZWN0OyB9CiAgICAgdm9pZCBzZXRW
aXNpYmxlTGF5ZXJSZWN0KGNvbnN0IEludFJlY3QmIHZpc2libGVMYXllclJlY3QpIHsgbV92aXNp
YmxlTGF5ZXJSZWN0ID0gdmlzaWJsZUxheWVyUmVjdDsgfQogCkBAIC0yNDUsNyArMjUyLDkgQEAg
cHJpdmF0ZToKICAgICBJbnRTaXplIG1fY29udGVudEJvdW5kczsKICAgICBJbnRQb2ludCBtX3Nj
cm9sbFBvc2l0aW9uOwogICAgIGJvb2wgbV9zY3JvbGxhYmxlOworICAgIGJvb2wgbV9zaG91bGRT
Y3JvbGxPbk1haW5UaHJlYWQ7CiAgICAgYm9vbCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnM7Cisg
ICAgUmVnaW9uIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb247CiAgICAgQ29sb3IgbV9iYWNrZ3Jv
dW5kQ29sb3I7CiAgICAgYm9vbCBtX2JhY2tncm91bmRDb3ZlcnNWaWV3cG9ydDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCBkZDFhOTVlOWFiMTQzM2E2NGUy
ZWYxODkzMTU1NTNiN2I3YTljNzE4Li5mZjFmYzIyYzI1MmFjMzBiY2UzYzdkZjY1M2FjNjk3ZWNi
MWM2NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtNDcz
LDYgKzQ3MywxNiBAQCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsU3RhdHVzIENDTGF5ZXJU
cmVlSG9zdEltcGw6OnNjcm9sbEJlZ2luKGNvbnN0IEludFBvaQogICAgICAgICByZXR1cm4gU2Ny
b2xsSWdub3JlZDsKICAgICB9CiAKKyAgICBpZiAobV9zY3JvbGxMYXllckltcGwtPnNob3VsZFNj
cm9sbE9uTWFpblRocmVhZCgpKSB7CisgICAgICAgIFRSQUNFX0VWRU5UKCJzY3JvbGxCZWdpbiBG
YWlsZWQgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkIiwgdGhpcywgMCk7CisgICAgICAgIHJldHVy
biBTY3JvbGxGYWlsZWQ7CisgICAgfQorCisgICAgaWYgKG1fc2Nyb2xsTGF5ZXJJbXBsLT5ub25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbigpLmNvbnRhaW5zKHBvaW50KSkgeworICAgICAgICBUUkFDRV9F
VkVOVCgic2Nyb2xsQmVnaW4gRmFpbGVkIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uIiwgdGhpcywg
MCk7CisgICAgICAgIHJldHVybiBTY3JvbGxGYWlsZWQ7CisgICAgfQorCiAgICAgaWYgKHR5cGUg
PT0gQ0NJbnB1dEhhbmRsZXJDbGllbnQ6OldoZWVsICYmIG1fc2Nyb2xsTGF5ZXJJbXBsLT5oYXZl
V2hlZWxFdmVudEhhbmRsZXJzKCkpIHsKICAgICAgICAgVFJBQ0VfRVZFTlQoInNjcm9sbEJlZ2lu
IEZhaWxlZCB3aGVlbEV2ZW50SGFuZGxlcnMiLCB0aGlzLCAwKTsKICAgICAgICAgcmV0dXJuIFNj
cm9sbEZhaWxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllclRyZWVIb3N0SW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKaW5kZXggNDJiMTM4OTQ3ZDY2NWU5YWFlZWZkNWNk
MmZkMjUxZmIzZDMxNTc4ZS4uODBjOGU2MzlhMmQ1ODM4NDllN2FmYmNjYWVjNmNlNGY0Mzc1YWQ1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhv
c3RJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RJbXBsVGVzdC5jcHAKQEAgLTE4NSw2ICsxODUsNDAgQEAgVEVTVF9GKENDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LCB3aGVlbEV2ZW50SGFuZGxlcnMpCiAgICAgRVhQRUNUX0VRKG1faG9z
dEltcGwtPnNjcm9sbEJlZ2luKEludFBvaW50KDAsIDApLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6
R2VzdHVyZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGFydGVkKTsKIH0KIAorVEVT
VF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQpCit7
CisgICAgUmVmUHRyPENDTGF5ZXJJbXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgwKTsK
KyAgICByb290LT5zZXRTY3JvbGxhYmxlKHRydWUpOworICAgIHJvb3QtPnNldFNjcm9sbFBvc2l0
aW9uKEludFBvaW50KDAsIDApKTsKKyAgICByb290LT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRT
aXplKDEwMCwgMTAwKSk7CisgICAgbV9ob3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QpOworICAg
IHJvb3QtPnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZCh0cnVlKTsKKyAgICBFWFBFQ1RfRVEo
bV9ob3N0SW1wbC0+c2Nyb2xsQmVnaW4oSW50UG9pbnQoMCwgMCksIENDSW5wdXRIYW5kbGVyQ2xp
ZW50OjpXaGVlbCksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOworICAgIEVY
UEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgwLCAwKSwgQ0NJbnB1dEhh
bmRsZXJDbGllbnQ6Okdlc3R1cmUpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsRmFpbGVk
KTsKK30KKworVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBub25GYXN0U2Nyb2xsYWJs
ZVJlZ2lvbikKK3sKKyAgICBSZWZQdHI8Q0NMYXllckltcGw+IHJvb3QgPSBDQ0xheWVySW1wbDo6
Y3JlYXRlKDApOworICAgIHJvb3QtPnNldFNjcm9sbGFibGUodHJ1ZSk7CisgICAgcm9vdC0+c2V0
U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldE1heFNjcm9sbFBv
c2l0aW9uKEludFNpemUoMTAwLCAxMDApKTsKKyAgICBtX2hvc3RJbXBsLT5zZXRSb290TGF5ZXIo
cm9vdCk7CisgICAgcm9vdC0+c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24oSW50UmVjdCgwLCAw
LCA1MCwgNTApKTsKKyAgICAvLyBBbGwgc2Nyb2xsIHR5cGVzIGluc2lkZSB0aGUgbm9uLWZhc3Qg
c2Nyb2xsYWJsZSByZWdpb24gc2hvdWxkIGZhaWwuCisgICAgRVhQRUNUX0VRKG1faG9zdEltcGwt
PnNjcm9sbEJlZ2luKEludFBvaW50KDI1LCAyNSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpXaGVl
bCksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOworICAgIEVYUEVDVF9FUSht
X2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgyNSwgMjUpLCBDQ0lucHV0SGFuZGxlckNs
aWVudDo6R2VzdHVyZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOworCisg
ICAgLy8gQWxsIHNjcm9sbCB0eXBlcyBvdXRzaWRlIHRoaXMgcmVnaW9uIHNob3VsZCBzdWNjZWVk
LgorICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCg3NSwgNzUp
LCBDQ0lucHV0SGFuZGxlckNsaWVudDo6V2hlZWwpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Ny
b2xsU3RhcnRlZCk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xsQnkoSW50U2l6ZSgwLCAxMCkpOwor
ICAgIG1faG9zdEltcGwtPnNjcm9sbEVuZCgpOworICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5z
Y3JvbGxCZWdpbihJbnRQb2ludCg3NSwgNzUpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6R2VzdHVy
ZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGFydGVkKTsKKyAgICBtX2hvc3RJbXBs
LT5zY3JvbGxCeShJbnRTaXplKDAsIDEwKSk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xsRW5kKCk7
Cit9CisKKwogVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBwaW5jaEdlc3R1cmUpCiB7
CiAgICAgc2V0dXBTY3JvbGxBbmRDb250ZW50c0xheWVycyhJbnRTaXplKDEwMCwgMTAwKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xheWVyQ2hyb21pdW1UZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3Bw
CmluZGV4IDJlOWNhOTY2MTFjZjI5YjNkZWY2YTRjMWE1ZTJkMzA3Nzc2YjJiMDEuLmYwZTFlNWM2
NmVlNGNhOGNjYjM4NjA0NmFiZTQ0YmQwZjliNzk0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC01MTUsNiArNTE1LDgg
QEAgVEVTVF9GKExheWVyQ2hyb21pdW1UZXN0LCBjaGVja1Byb3BlcnR5Q2hhbmdlQ2F1c2VzQ29y
cmVjdEJlaGF2aW9yKQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09NTUlUX0JF
SEFWSU9SKDEsIHRlc3RMYXllci0+c2V0UmVwbGljYUxheWVyKGR1bW15TGF5ZXIuZ2V0KCkpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0
TGF5ZXItPnNldFN1YmxheWVyVHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4KDAsIDAsIDAs
IDAsIDAsIDApKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9ORUVEU19DT01NSVRfQkVI
QVZJT1IoMSwgdGVzdExheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpKTsKKyAgICBFWEVDVVRFX0FO
RF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5ZXItPnNldFNob3Vs
ZFNjcm9sbE9uTWFpblRocmVhZCh0cnVlKSk7CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9O
RUVEU19DT01NSVRfQkVIQVZJT1IoMSwgdGVzdExheWVyLT5zZXROb25GYXN0U2Nyb2xsYWJsZVJl
Z2lvbihSZWdpb24oSW50UmVjdCgxLCAxLCAyLCAyKSkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5ZXItPnNldEhhdmVXaGVlbEV2
ZW50SGFuZGxlcnModHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09N
TUlUX0JFSEFWSU9SKDEsIHRlc3RMYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMTAs
IDEwKSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09NTUlUX0JFSEFWSU9S
KDEsIHRlc3RMYXllci0+c2V0VHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4KDAsIDAsIDAs
IDAsIDAsIDApKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128090</attachid>
            <date>2012-02-21 17:16:08 -0800</date>
            <delta_ts>2012-02-21 18:29:12 -0800</delta_ts>
            <desc>rebase</desc>
            <filename>bug-79155-20120221171607.patch</filename>
            <type>text/plain</type>
            <size>15574</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTkyYmMyYTA4Njg0OGFi
MDE5ZjgxYWY0ODQzMWFjNTBmZDYyY2VjOC4uZTE3OWFlYThkODNiMWU4ZjExNDY5NTU5YWIxYzA0
OGI0ZTE3ZDU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEyLTAyLTIxICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW2Nocm9taXVtXSBX
aXJlIHVwIHNob3VsZFVwZGF0ZVNjcm9sbFBvc2l0aW9uT25NYWluVGhyZWFkIGFuZCBub25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbiB0byBjb21wb3NpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaG9va3MgdXAgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKCkgYW5kCisgICAgICAgIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkg
dG8gdGhlIGNocm9taXVtIGNvbXBvc2l0b3IKKyAgICAgICAgaW1wbGVtZW50YXRpb24gYW5kIGlt
cGxlbWVudHMgdGhlbSBvbiB0aGUgaW1wbCB0aHJlYWQuCisKKyAgICAgICAgTmV3IGNvbXBvc2l0
b3IgYmVoYXZpb3IgaXMgY292ZXJlZCBieSB1bml0IHRlc3RzIGluIExheWVyQ2hyb21pdW1UZXN0
cyBhbmQgQ0NMYXllclRyZWVIb3N0SW1wbFRlc3RzLiBUaGUgcmVzdCBpcworICAgICAgICBqdXN0
IGdsdWUgY29kZS4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9u
T25NYWluVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
ckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OkxheWVyQ2hy
b21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6
Q0NMYXllckltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRTaG91bGRT
Y3JvbGxPbk1haW5UaHJlYWQpOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NMYXllckltcGw6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpzY3JvbGxCZWdpbik6CisK
KzIwMTItMDItMjEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBbY2hyb21pdW1dIE5vdGlmeSBjb21wb3NpdG9yIG9mIHdoZWVsIGV2ZW50IHJlZ2lzdHJh
dGlvbiB2aWEgU2Nyb2xsaW5nQ29vcmRpbmF0b3IKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggYmJiMmMxNDBlYzZiNWFlN2I2ZDJmMjU3NWJmYjNiNjE3MTRhNDU4Zi4uOWRiMDc0ZTI5MzNk
ZTUwYzM2MWY2MGZjMTJkZDAwZDM1MGE4ZDhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOSBAQAogMjAxMi0wMi0yMSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hy
b21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gV2lyZSB1cCBzaG91bGRVcGRhdGVTY3Jv
bGxQb3NpdGlvbk9uTWFpblRocmVhZCBhbmQgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24gdG8gY29t
cG9zaXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzkxNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbmV3IHRlc3RzIGZvciBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQgYW5kIG5vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhv
c3RJbXBsVGVzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIHRlc3RzL0xheWVyQ2hyb21pdW1UZXN0LmNwcDoKKworMjAxMi0wMi0y
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtjaHJv
bWl1bV0gTm90aWZ5IGNvbXBvc2l0b3Igb2Ygd2hlZWwgZXZlbnQgcmVnaXN0cmF0aW9uIHZpYSBT
Y3JvbGxpbmdDb29yZGluYXRvcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzkxMzMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcAppbmRleCBlNTkwMTM4YTYwYzUyYmFjN2EzZjJjMTUwZGY5MjBkZjM4Y2M1MTkyLi5m
ZjA1M2RmNjI1MjIxOWM2NjRmNjkzMWRlYzc1YTM0ZThjZjA3MmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtNzMsOSArNzMsMTAgQEAgdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U2Nyb2xsTGF5ZXIoR3JhcGhpY3NMYXllciogc2Nyb2xs
TGF5ZXIpCiAgICAgbV9wcml2YXRlLT5zZXRTY3JvbGxMYXllcihzY3JvbGxMYXllciA/IHNjcm9s
bExheWVyLT5wbGF0Zm9ybUxheWVyKCkgOiAwKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgUmVnaW9uJikKK3ZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFJlZ2lv
biYgcmVnaW9uKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQhCisgICAgaWYgKExheWVyQ2hy
b21pdW0qIGxheWVyID0gbV9wcml2YXRlLT5zY3JvbGxMYXllcigpKQorICAgICAgICBsYXllci0+
c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24ocmVnaW9uKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2V0U2Nyb2xsUGFyYW1ldGVycyhTY3JvbGxFbGFzdGljaXR5IGhvcml6b250
YWxTY3JvbGxFbGFzdGljaXR5LCBTY3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3Rp
Y2l0eSwKQEAgLTkzLDcgKzk0LDggQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0V2hl
ZWxFdmVudEhhbmRsZXJDb3VudCh1bnNpZ25lZCB3aGVlbEV2ZW50SGFuZGxlckMKIAogdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9u
TWFpblRocmVhZChib29sIHNob3VsZCkKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IQorICAg
IGlmIChMYXllckNocm9taXVtKiBsYXllciA9IG1fcHJpdmF0ZS0+c2Nyb2xsTGF5ZXIoKSkKKyAg
ICAgICAgbGF5ZXItPnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChzaG91bGQpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDI1NzZiY2E2Y2VhNjFlNWEwZGJkNzRkNDUwMTE3
YjUyY2Q3ZDMyODMuLjY3ODNhYzlkZWZkNjg3MzNjNTg0OTUyNzhhOTRiYzE5YjM1NDNjMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiTmF0aXZl
SW1hZ2VTa2lhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2VuZGlmCi0j
aW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNraW5nLmgiCiAjaW5j
bHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5o
IgpAQCAtNjAsNiArNTksNyBAQCBMYXllckNocm9taXVtOjpMYXllckNocm9taXVtKCkKICAgICAs
IG1fbGF5ZXJJZChzX25leHRMYXllcklkKyspCiAgICAgLCBtX3BhcmVudCgwKQogICAgICwgbV9z
Y3JvbGxhYmxlKGZhbHNlKQorICAgICwgbV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoZmFsc2Up
CiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnMoZmFsc2UpCiAgICAgLCBtX2FuY2hvclBv
aW50KDAuNSwgMC41KQogICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoMCwgMCwgMCwgMCkKQEAgLTM3
MCw2ICszNzAsMTQgQEAgdm9pZCBMYXllckNocm9taXVtOjpzZXRTY3JvbGxhYmxlKGJvb2wgc2Ny
b2xsYWJsZSkKICAgICBzZXROZWVkc0NvbW1pdCgpOwogfQogCit2b2lkIExheWVyQ2hyb21pdW06
OnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChib29sIHNob3VsZFNjcm9sbE9uTWFpblRocmVh
ZCkKK3sKKyAgICBpZiAobV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQgPT0gc2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKQorICAgICAgICByZXR1cm47CisgICAgbV9zaG91bGRTY3JvbGxPbk1haW5U
aHJlYWQgPSBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ7CisgICAgc2V0TmVlZHNDb21taXQoKTsK
K30KKwogdm9pZCBMYXllckNocm9taXVtOjpzZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJzKGJvb2wg
aGF2ZVdoZWVsRXZlbnRIYW5kbGVycykKIHsKICAgICBpZiAobV9oYXZlV2hlZWxFdmVudEhhbmRs
ZXJzID09IGhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpCkBAIC0zNzgsNiArMzg2LDE0IEBAIHZvaWQg
TGF5ZXJDaHJvbWl1bTo6c2V0SGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhib29sIGhhdmVXaGVlbEV2
ZW50SGFuZGxlcnMpCiAgICAgc2V0TmVlZHNDb21taXQoKTsKIH0KIAordm9pZCBMYXllckNocm9t
aXVtOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikKK3sK
KyAgICBpZiAobV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbiA9PSByZWdpb24pCisgICAgICAgIHJl
dHVybjsKKyAgICBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uID0gcmVnaW9uOworICAgIHNldE5l
ZWRzQ29tbWl0KCk7Cit9CisKIHZvaWQgTGF5ZXJDaHJvbWl1bTo6c2V0RG91YmxlU2lkZWQoYm9v
bCBkb3VibGVTaWRlZCkKIHsKICAgICBpZiAobV9kb3VibGVTaWRlZCA9PSBkb3VibGVTaWRlZCkK
QEAgLTQzMiw3ICs0NDgsOSBAQCB2b2lkIExheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8o
Q0NMYXllckltcGwqIGxheWVyKQogICAgIGxheWVyLT5zZXRJc05vbkNvbXBvc2l0ZWRDb250ZW50
KG1faXNOb25Db21wb3NpdGVkQ29udGVudCk7CiAgICAgbGF5ZXItPnNldE1hc2tzVG9Cb3VuZHMo
bV9tYXNrc1RvQm91bmRzKTsKICAgICBsYXllci0+c2V0U2Nyb2xsYWJsZShtX3Njcm9sbGFibGUp
OworICAgIGxheWVyLT5zZXRTaG91bGRTY3JvbGxPbk1haW5UaHJlYWQobV9zaG91bGRTY3JvbGxP
bk1haW5UaHJlYWQpOwogICAgIGxheWVyLT5zZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJzKG1faGF2
ZVdoZWVsRXZlbnRIYW5kbGVycyk7CisgICAgbGF5ZXItPnNldE5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uKG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOwogICAgIGxheWVyLT5zZXROYW1lKG1fbmFt
ZSk7CiAgICAgbGF5ZXItPnNldE9wYXF1ZShtX29wYXF1ZSk7CiAgICAgbGF5ZXItPnNldE9wYWNp
dHkobV9vcGFjaXR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAppbmRleCA1ZjM1MDQ2ZjM5Yzk3MjkxMDQ4
ZGE4YzQwMTEzNDQzYmYzMGIwYmI5Li42MGI0MjFhNWYwMjcxMmU2ZDAxZTVlOGU3ODBhZjNkMjA1
NzFkNmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRl
ICJQcm9ncmFtQmluZGluZy5oIgorI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUgIlJlbmRl
clN1cmZhY2VDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlNoYWRlckNocm9taXVtLmgiCiAjaW5jbHVk
ZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKQEAgLTU2LDcgKzU3LDYgQEAgY2xhc3MgQ0NMYXll
ckltcGw7CiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CiBjbGFzcyBDQ1RleHR1cmVVcGRhdGVyOwog
Y2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7Ci1jbGFzcyBSZWdpb247CiAKIC8vIEJhc2UgY2xhc3Mg
Zm9yIGNvbXBvc2l0ZWQgbGF5ZXJzLiBTcGVjaWFsIGxheWVyIHR5cGVzIGFyZSBkZXJpdmVkIGZy
b20KIC8vIHRoaXMgY2xhc3MuCkBAIC0xMzEsNyArMTMxLDkgQEAgcHVibGljOgogICAgIGNvbnN0
IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsUG9zaXRp
b247IH0KIAogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShib29sKTsKKyAgICB2b2lkIHNldFNob3Vs
ZFNjcm9sbE9uTWFpblRocmVhZChib29sKTsKICAgICB2b2lkIHNldEhhdmVXaGVlbEV2ZW50SGFu
ZGxlcnMoYm9vbCk7CisgICAgdm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBS
ZWdpb24mKTsKIAogICAgIEludFNpemUgc2Nyb2xsRGVsdGEoKSBjb25zdCB7IHJldHVybiBJbnRT
aXplKCk7IH0KIApAQCAtMjY0LDcgKzI2Niw5IEBAIHByaXZhdGU6CiAgICAgSW50UmVjdCBtX3Zp
c2libGVMYXllclJlY3Q7CiAgICAgSW50UG9pbnQgbV9zY3JvbGxQb3NpdGlvbjsKICAgICBib29s
IG1fc2Nyb2xsYWJsZTsKKyAgICBib29sIG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOwogICAg
IGJvb2wgbV9oYXZlV2hlZWxFdmVudEhhbmRsZXJzOworICAgIFJlZ2lvbiBtX25vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uOwogICAgIEZsb2F0UG9pbnQgbV9wb3NpdGlvbjsKICAgICBGbG9hdFBvaW50
IG1fYW5jaG9yUG9pbnQ7CiAgICAgQ29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVySW1wbC5jcHAKaW5kZXggZTM4NGUwY2ZkNGZhMTIyMGYxZDEzYzYyOTgzMDNkZmVhN2Y2NTZj
Yy4uNDY0NTdkZDQwOTI3MTdkZGViNTYwZGY2YmM5N2M0NWZlOWU2ZmQyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmNwcApAQCAtNDUsNiArNDUsNyBAQCBDQ0xheWVySW1wbDo6Q0NMYXllckltcGwo
aW50IGlkKQogICAgICwgbV9hbmNob3JQb2ludCgwLjUsIDAuNSkKICAgICAsIG1fYW5jaG9yUG9p
bnRaKDApCiAgICAgLCBtX3Njcm9sbGFibGUoZmFsc2UpCisgICAgLCBtX3Nob3VsZFNjcm9sbE9u
TWFpblRocmVhZChmYWxzZSkKICAgICAsIG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhmYWxzZSkK
ICAgICAsIG1fYmFja2dyb3VuZENvdmVyc1ZpZXdwb3J0KGZhbHNlKQogICAgICwgbV9kb3VibGVT
aWRlZCh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKaW5kZXggOThkZjlkNzczM2U1MDFiNDU3ZTk1
ZTM1MjYwNDkyMzJhZDQ3YzRlNy4uYzBiMjNiOTUyYTM4NDA5YjMwYjE2Nzg4YzFlYTQ5NmNkYzI5
ODc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAi
RmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIklu
dFJlY3QuaCIKKyNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlICJjYy9DQ1JlbmRlclBh
c3MuaCIKQEAgLTE4MCw5ICsxODEsMTUgQEAgcHVibGljOgogICAgIGJvb2wgc2Nyb2xsYWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZTsgfQogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShi
b29sIHNjcm9sbGFibGUpIHsgbV9zY3JvbGxhYmxlID0gc2Nyb2xsYWJsZTsgfQogCisgICAgYm9v
bCBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNjcm9s
bE9uTWFpblRocmVhZDsgfQorICAgIHZvaWQgc2V0U2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKGJv
b2wgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKSB7IG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFk
ID0gc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOyB9CisKICAgICBib29sIGhhdmVXaGVlbEV2ZW50
SGFuZGxlcnMoKSBjb25zdCB7IHJldHVybiBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnM7IH0KICAg
ICB2b2lkIHNldEhhdmVXaGVlbEV2ZW50SGFuZGxlcnMoYm9vbCBoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKSB7IG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyA9IGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM7
IH0KIAorICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKSBjb25zdCB7
IHJldHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CisgICAgdm9pZCBzZXROb25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikgeyBtX25vbkZhc3RTY3JvbGxh
YmxlUmVnaW9uID0gcmVnaW9uOyB9CisKICAgICBjb25zdCBJbnRSZWN0JiB2aXNpYmxlTGF5ZXJS
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV92aXNpYmxlTGF5ZXJSZWN0OyB9CiAgICAgdm9pZCBzZXRW
aXNpYmxlTGF5ZXJSZWN0KGNvbnN0IEludFJlY3QmIHZpc2libGVMYXllclJlY3QpIHsgbV92aXNp
YmxlTGF5ZXJSZWN0ID0gdmlzaWJsZUxheWVyUmVjdDsgfQogCkBAIC0yNDUsNyArMjUyLDkgQEAg
cHJpdmF0ZToKICAgICBJbnRTaXplIG1fY29udGVudEJvdW5kczsKICAgICBJbnRQb2ludCBtX3Nj
cm9sbFBvc2l0aW9uOwogICAgIGJvb2wgbV9zY3JvbGxhYmxlOworICAgIGJvb2wgbV9zaG91bGRT
Y3JvbGxPbk1haW5UaHJlYWQ7CiAgICAgYm9vbCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnM7Cisg
ICAgUmVnaW9uIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb247CiAgICAgQ29sb3IgbV9iYWNrZ3Jv
dW5kQ29sb3I7CiAgICAgYm9vbCBtX2JhY2tncm91bmRDb3ZlcnNWaWV3cG9ydDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCBkZDFhOTVlOWFiMTQzM2E2NGUy
ZWYxODkzMTU1NTNiN2I3YTljNzE4Li5mZjFmYzIyYzI1MmFjMzBiY2UzYzdkZjY1M2FjNjk3ZWNi
MWM2NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtNDcz
LDYgKzQ3MywxNiBAQCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsU3RhdHVzIENDTGF5ZXJU
cmVlSG9zdEltcGw6OnNjcm9sbEJlZ2luKGNvbnN0IEludFBvaQogICAgICAgICByZXR1cm4gU2Ny
b2xsSWdub3JlZDsKICAgICB9CiAKKyAgICBpZiAobV9zY3JvbGxMYXllckltcGwtPnNob3VsZFNj
cm9sbE9uTWFpblRocmVhZCgpKSB7CisgICAgICAgIFRSQUNFX0VWRU5UKCJzY3JvbGxCZWdpbiBG
YWlsZWQgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkIiwgdGhpcywgMCk7CisgICAgICAgIHJldHVy
biBTY3JvbGxGYWlsZWQ7CisgICAgfQorCisgICAgaWYgKG1fc2Nyb2xsTGF5ZXJJbXBsLT5ub25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbigpLmNvbnRhaW5zKHBvaW50KSkgeworICAgICAgICBUUkFDRV9F
VkVOVCgic2Nyb2xsQmVnaW4gRmFpbGVkIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uIiwgdGhpcywg
MCk7CisgICAgICAgIHJldHVybiBTY3JvbGxGYWlsZWQ7CisgICAgfQorCiAgICAgaWYgKHR5cGUg
PT0gQ0NJbnB1dEhhbmRsZXJDbGllbnQ6OldoZWVsICYmIG1fc2Nyb2xsTGF5ZXJJbXBsLT5oYXZl
V2hlZWxFdmVudEhhbmRsZXJzKCkpIHsKICAgICAgICAgVFJBQ0VfRVZFTlQoInNjcm9sbEJlZ2lu
IEZhaWxlZCB3aGVlbEV2ZW50SGFuZGxlcnMiLCB0aGlzLCAwKTsKICAgICAgICAgcmV0dXJuIFNj
cm9sbEZhaWxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllclRyZWVIb3N0SW1wbFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAKaW5kZXggNDJiMTM4OTQ3ZDY2NWU5YWFlZWZkNWNk
MmZkMjUxZmIzZDMxNTc4ZS4uODBjOGU2MzlhMmQ1ODM4NDllN2FmYmNjYWVjNmNlNGY0Mzc1YWQ1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhv
c3RJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVy
VHJlZUhvc3RJbXBsVGVzdC5jcHAKQEAgLTE4NSw2ICsxODUsNDAgQEAgVEVTVF9GKENDTGF5ZXJU
cmVlSG9zdEltcGxUZXN0LCB3aGVlbEV2ZW50SGFuZGxlcnMpCiAgICAgRVhQRUNUX0VRKG1faG9z
dEltcGwtPnNjcm9sbEJlZ2luKEludFBvaW50KDAsIDApLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6
R2VzdHVyZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGFydGVkKTsKIH0KIAorVEVT
VF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQpCit7
CisgICAgUmVmUHRyPENDTGF5ZXJJbXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgwKTsK
KyAgICByb290LT5zZXRTY3JvbGxhYmxlKHRydWUpOworICAgIHJvb3QtPnNldFNjcm9sbFBvc2l0
aW9uKEludFBvaW50KDAsIDApKTsKKyAgICByb290LT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRT
aXplKDEwMCwgMTAwKSk7CisgICAgbV9ob3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QpOworICAg
IHJvb3QtPnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZCh0cnVlKTsKKyAgICBFWFBFQ1RfRVEo
bV9ob3N0SW1wbC0+c2Nyb2xsQmVnaW4oSW50UG9pbnQoMCwgMCksIENDSW5wdXRIYW5kbGVyQ2xp
ZW50OjpXaGVlbCksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOworICAgIEVY
UEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgwLCAwKSwgQ0NJbnB1dEhh
bmRsZXJDbGllbnQ6Okdlc3R1cmUpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsRmFpbGVk
KTsKK30KKworVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBub25GYXN0U2Nyb2xsYWJs
ZVJlZ2lvbikKK3sKKyAgICBSZWZQdHI8Q0NMYXllckltcGw+IHJvb3QgPSBDQ0xheWVySW1wbDo6
Y3JlYXRlKDApOworICAgIHJvb3QtPnNldFNjcm9sbGFibGUodHJ1ZSk7CisgICAgcm9vdC0+c2V0
U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMCwgMCkpOworICAgIHJvb3QtPnNldE1heFNjcm9sbFBv
c2l0aW9uKEludFNpemUoMTAwLCAxMDApKTsKKyAgICBtX2hvc3RJbXBsLT5zZXRSb290TGF5ZXIo
cm9vdCk7CisgICAgcm9vdC0+c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24oSW50UmVjdCgwLCAw
LCA1MCwgNTApKTsKKyAgICAvLyBBbGwgc2Nyb2xsIHR5cGVzIGluc2lkZSB0aGUgbm9uLWZhc3Qg
c2Nyb2xsYWJsZSByZWdpb24gc2hvdWxkIGZhaWwuCisgICAgRVhQRUNUX0VRKG1faG9zdEltcGwt
PnNjcm9sbEJlZ2luKEludFBvaW50KDI1LCAyNSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpXaGVl
bCksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOworICAgIEVYUEVDVF9FUSht
X2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgyNSwgMjUpLCBDQ0lucHV0SGFuZGxlckNs
aWVudDo6R2VzdHVyZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOworCisg
ICAgLy8gQWxsIHNjcm9sbCB0eXBlcyBvdXRzaWRlIHRoaXMgcmVnaW9uIHNob3VsZCBzdWNjZWVk
LgorICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCg3NSwgNzUp
LCBDQ0lucHV0SGFuZGxlckNsaWVudDo6V2hlZWwpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Ny
b2xsU3RhcnRlZCk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xsQnkoSW50U2l6ZSgwLCAxMCkpOwor
ICAgIG1faG9zdEltcGwtPnNjcm9sbEVuZCgpOworICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5z
Y3JvbGxCZWdpbihJbnRQb2ludCg3NSwgNzUpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6R2VzdHVy
ZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGFydGVkKTsKKyAgICBtX2hvc3RJbXBs
LT5zY3JvbGxCeShJbnRTaXplKDAsIDEwKSk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xsRW5kKCk7
Cit9CisKKwogVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBwaW5jaEdlc3R1cmUpCiB7
CiAgICAgc2V0dXBTY3JvbGxBbmRDb250ZW50c0xheWVycyhJbnRTaXplKDEwMCwgMTAwKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xheWVyQ2hyb21pdW1UZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3Bw
CmluZGV4IDJlOWNhOTY2MTFjZjI5YjNkZWY2YTRjMWE1ZTJkMzA3Nzc2YjJiMDEuLmYwZTFlNWM2
NmVlNGNhOGNjYjM4NjA0NmFiZTQ0YmQwZjliNzk0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC01MTUsNiArNTE1LDgg
QEAgVEVTVF9GKExheWVyQ2hyb21pdW1UZXN0LCBjaGVja1Byb3BlcnR5Q2hhbmdlQ2F1c2VzQ29y
cmVjdEJlaGF2aW9yKQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09NTUlUX0JF
SEFWSU9SKDEsIHRlc3RMYXllci0+c2V0UmVwbGljYUxheWVyKGR1bW15TGF5ZXIuZ2V0KCkpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0
TGF5ZXItPnNldFN1YmxheWVyVHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4KDAsIDAsIDAs
IDAsIDAsIDApKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9ORUVEU19DT01NSVRfQkVI
QVZJT1IoMSwgdGVzdExheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpKTsKKyAgICBFWEVDVVRFX0FO
RF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5ZXItPnNldFNob3Vs
ZFNjcm9sbE9uTWFpblRocmVhZCh0cnVlKSk7CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9O
RUVEU19DT01NSVRfQkVIQVZJT1IoMSwgdGVzdExheWVyLT5zZXROb25GYXN0U2Nyb2xsYWJsZVJl
Z2lvbihSZWdpb24oSW50UmVjdCgxLCAxLCAyLCAyKSkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5ZXItPnNldEhhdmVXaGVlbEV2
ZW50SGFuZGxlcnModHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09N
TUlUX0JFSEFWSU9SKDEsIHRlc3RMYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMTAs
IDEwKSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09NTUlUX0JFSEFWSU9S
KDEsIHRlc3RMYXllci0+c2V0VHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4KDAsIDAsIDAs
IDAsIDAsIDApKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128101</attachid>
            <date>2012-02-21 18:29:14 -0800</date>
            <delta_ts>2012-02-26 17:04:38 -0800</delta_ts>
            <desc>map points from viewport to content space before hit testing</desc>
            <filename>bug-79155-20120221182913.patch</filename>
            <type>text/plain</type>
            <size>18082</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTkyYmMyYTA4Njg0OGFi
MDE5ZjgxYWY0ODQzMWFjNTBmZDYyY2VjOC4uZTE3OWFlYThkODNiMWU4ZjExNDY5NTU5YWIxYzA0
OGI0ZTE3ZDU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEyLTAyLTIxICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW2Nocm9taXVtXSBX
aXJlIHVwIHNob3VsZFVwZGF0ZVNjcm9sbFBvc2l0aW9uT25NYWluVGhyZWFkIGFuZCBub25GYXN0
U2Nyb2xsYWJsZVJlZ2lvbiB0byBjb21wb3NpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaG9va3MgdXAgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKCkgYW5kCisgICAgICAgIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkg
dG8gdGhlIGNocm9taXVtIGNvbXBvc2l0b3IKKyAgICAgICAgaW1wbGVtZW50YXRpb24gYW5kIGlt
cGxlbWVudHMgdGhlbSBvbiB0aGUgaW1wbCB0aHJlYWQuCisKKyAgICAgICAgTmV3IGNvbXBvc2l0
b3IgYmVoYXZpb3IgaXMgY292ZXJlZCBieSB1bml0IHRlc3RzIGluIExheWVyQ2hyb21pdW1UZXN0
cyBhbmQgQ0NMYXllclRyZWVIb3N0SW1wbFRlc3RzLiBUaGUgcmVzdCBpcworICAgICAgICBqdXN0
IGdsdWUgY29kZS4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9u
T25NYWluVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
ckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OkxheWVyQ2hy
b21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6
Q0NMYXllckltcGwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJJbXBsLmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVySW1wbDo6c2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXRTaG91bGRT
Y3JvbGxPbk1haW5UaHJlYWQpOgorICAgICAgICAoQ0NMYXllckltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NMYXllckltcGw6Om5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJJbXBsOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpzY3JvbGxCZWdpbik6CisK
KzIwMTItMDItMjEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBbY2hyb21pdW1dIE5vdGlmeSBjb21wb3NpdG9yIG9mIHdoZWVsIGV2ZW50IHJlZ2lzdHJh
dGlvbiB2aWEgU2Nyb2xsaW5nQ29vcmRpbmF0b3IKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggYmJiMmMxNDBlYzZiNWFlN2I2ZDJmMjU3NWJmYjNiNjE3MTRhNDU4Zi4uOWRiMDc0ZTI5MzNk
ZTUwYzM2MWY2MGZjMTJkZDAwZDM1MGE4ZDhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOSBAQAogMjAxMi0wMi0yMSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hy
b21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gV2lyZSB1cCBzaG91bGRVcGRhdGVTY3Jv
bGxQb3NpdGlvbk9uTWFpblRocmVhZCBhbmQgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24gdG8gY29t
cG9zaXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzkxNTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbmV3IHRlc3RzIGZvciBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQgYW5kIG5vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhv
c3RJbXBsVGVzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAqIHRlc3RzL0xheWVyQ2hyb21pdW1UZXN0LmNwcDoKKworMjAxMi0wMi0y
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtjaHJv
bWl1bV0gTm90aWZ5IGNvbXBvc2l0b3Igb2Ygd2hlZWwgZXZlbnQgcmVnaXN0cmF0aW9uIHZpYSBT
Y3JvbGxpbmdDb29yZGluYXRvcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzkxMzMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcAppbmRleCBlNTkwMTM4YTYwYzUyYmFjN2EzZjJjMTUwZGY5MjBkZjM4Y2M1MTkyLi5m
ZjA1M2RmNjI1MjIxOWM2NjRmNjkzMWRlYzc1YTM0ZThjZjA3MmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtNzMsOSArNzMsMTAgQEAgdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U2Nyb2xsTGF5ZXIoR3JhcGhpY3NMYXllciogc2Nyb2xs
TGF5ZXIpCiAgICAgbV9wcml2YXRlLT5zZXRTY3JvbGxMYXllcihzY3JvbGxMYXllciA/IHNjcm9s
bExheWVyLT5wbGF0Zm9ybUxheWVyKCkgOiAwKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgUmVnaW9uJikKK3ZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFJlZ2lv
biYgcmVnaW9uKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQhCisgICAgaWYgKExheWVyQ2hy
b21pdW0qIGxheWVyID0gbV9wcml2YXRlLT5zY3JvbGxMYXllcigpKQorICAgICAgICBsYXllci0+
c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24ocmVnaW9uKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2V0U2Nyb2xsUGFyYW1ldGVycyhTY3JvbGxFbGFzdGljaXR5IGhvcml6b250
YWxTY3JvbGxFbGFzdGljaXR5LCBTY3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3Rp
Y2l0eSwKQEAgLTkzLDcgKzk0LDggQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0V2hl
ZWxFdmVudEhhbmRsZXJDb3VudCh1bnNpZ25lZCB3aGVlbEV2ZW50SGFuZGxlckMKIAogdm9pZCBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9u
TWFpblRocmVhZChib29sIHNob3VsZCkKIHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IQorICAg
IGlmIChMYXllckNocm9taXVtKiBsYXllciA9IG1fcHJpdmF0ZS0+c2Nyb2xsTGF5ZXIoKSkKKyAg
ICAgICAgbGF5ZXItPnNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChzaG91bGQpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uY3BwCmluZGV4IDI1NzZiY2E2Y2VhNjFlNWEwZGJkNzRkNDUwMTE3
YjUyY2Q3ZDMyODMuLmE0NmViMzUyYWY1OWRjMDQ5ZGFkYjk4NTNmNWY4ZmI1MzAyYzQ0NTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiTmF0aXZl
SW1hZ2VTa2lhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2VuZGlmCi0j
aW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJCYWNraW5nLmgiCiAjaW5j
bHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5o
IgpAQCAtNjAsNyArNTksOSBAQCBMYXllckNocm9taXVtOjpMYXllckNocm9taXVtKCkKICAgICAs
IG1fbGF5ZXJJZChzX25leHRMYXllcklkKyspCiAgICAgLCBtX3BhcmVudCgwKQogICAgICwgbV9z
Y3JvbGxhYmxlKGZhbHNlKQorICAgICwgbV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoZmFsc2Up
CiAgICAgLCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnMoZmFsc2UpCisgICAgLCBtX25vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uQ2hhbmdlZChmYWxzZSkKICAgICAsIG1fYW5jaG9yUG9pbnQoMC41LCAw
LjUpCiAgICAgLCBtX2JhY2tncm91bmRDb2xvcigwLCAwLCAwLCAwKQogICAgICwgbV9iYWNrZ3Jv
dW5kQ292ZXJzVmlld3BvcnQoZmFsc2UpCkBAIC0zNzAsNiArMzcxLDE0IEBAIHZvaWQgTGF5ZXJD
aHJvbWl1bTo6c2V0U2Nyb2xsYWJsZShib29sIHNjcm9sbGFibGUpCiAgICAgc2V0TmVlZHNDb21t
aXQoKTsKIH0KIAordm9pZCBMYXllckNocm9taXVtOjpzZXRTaG91bGRTY3JvbGxPbk1haW5UaHJl
YWQoYm9vbCBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQpCit7CisgICAgaWYgKG1fc2hvdWxkU2Ny
b2xsT25NYWluVGhyZWFkID09IHNob3VsZFNjcm9sbE9uTWFpblRocmVhZCkKKyAgICAgICAgcmV0
dXJuOworICAgIG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkID0gc2hvdWxkU2Nyb2xsT25NYWlu
VGhyZWFkOworICAgIHNldE5lZWRzQ29tbWl0KCk7Cit9CisKIHZvaWQgTGF5ZXJDaHJvbWl1bTo6
c2V0SGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhib29sIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpCiB7
CiAgICAgaWYgKG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyA9PSBoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKQpAQCAtMzc4LDYgKzM4NywxNSBAQCB2b2lkIExheWVyQ2hyb21pdW06OnNldEhhdmVXaGVl
bEV2ZW50SGFuZGxlcnMoYm9vbCBoYXZlV2hlZWxFdmVudEhhbmRsZXJzKQogICAgIHNldE5lZWRz
Q29tbWl0KCk7CiB9CiAKK3ZvaWQgTGF5ZXJDaHJvbWl1bTo6c2V0Tm9uRmFzdFNjcm9sbGFibGVS
ZWdpb24oY29uc3QgUmVnaW9uJiByZWdpb24pCit7CisgICAgaWYgKG1fbm9uRmFzdFNjcm9sbGFi
bGVSZWdpb24gPT0gcmVnaW9uKQorICAgICAgICByZXR1cm47CisgICAgbV9ub25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbiA9IHJlZ2lvbjsKKyAgICBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQ2hhbmdl
ZCA9IHRydWU7CisgICAgc2V0TmVlZHNDb21taXQoKTsKK30KKwogdm9pZCBMYXllckNocm9taXVt
OjpzZXREb3VibGVTaWRlZChib29sIGRvdWJsZVNpZGVkKQogewogICAgIGlmIChtX2RvdWJsZVNp
ZGVkID09IGRvdWJsZVNpZGVkKQpAQCAtNDMyLDcgKzQ1MCwxNCBAQCB2b2lkIExheWVyQ2hyb21p
dW06OnB1c2hQcm9wZXJ0aWVzVG8oQ0NMYXllckltcGwqIGxheWVyKQogICAgIGxheWVyLT5zZXRJ
c05vbkNvbXBvc2l0ZWRDb250ZW50KG1faXNOb25Db21wb3NpdGVkQ29udGVudCk7CiAgICAgbGF5
ZXItPnNldE1hc2tzVG9Cb3VuZHMobV9tYXNrc1RvQm91bmRzKTsKICAgICBsYXllci0+c2V0U2Ny
b2xsYWJsZShtX3Njcm9sbGFibGUpOworICAgIGxheWVyLT5zZXRTaG91bGRTY3JvbGxPbk1haW5U
aHJlYWQobV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQpOwogICAgIGxheWVyLT5zZXRIYXZlV2hl
ZWxFdmVudEhhbmRsZXJzKG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyk7CisgICAgLy8gQ29weWlu
ZyBhIFJlZ2lvbiBpcyBtb3JlIGV4cGVuc2l2ZSB0aGFuIG1vc3QgbGF5ZXIgcHJvcGVydGllcywg
c2luY2UgaXQgaW52b2x2ZXMgY29weWluZyB0d28gVmVjdG9ycyB0aGF0IG1heSBiZQorICAgIC8v
IGFyYml0cmFyaWx5IGxhcmdlIGRlcGVuZGluZyBvbiBwYWdlIGNvbnRlbnQsIHNvIHdlIG9ubHkg
cHVzaCB0aGUgcHJvcGVydHkgaWYgaXQncyBjaGFuZ2VkLgorICAgIGlmIChtX25vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uQ2hhbmdlZCkgeworICAgICAgICBsYXllci0+c2V0Tm9uRmFzdFNjcm9sbGFi
bGVSZWdpb24obV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik7CisgICAgICAgIG1fbm9uRmFzdFNj
cm9sbGFibGVSZWdpb25DaGFuZ2VkID0gZmFsc2U7CisgICAgfQogICAgIGxheWVyLT5zZXROYW1l
KG1fbmFtZSk7CiAgICAgbGF5ZXItPnNldE9wYXF1ZShtX29wYXF1ZSk7CiAgICAgbGF5ZXItPnNl
dE9wYWNpdHkobV9vcGFjaXR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAppbmRleCA1ZjM1MDQ2ZjM5Yzk3
MjkxMDQ4ZGE4YzQwMTEzNDQzYmYzMGIwYmI5Li5iZDc1OGM2ZjAxMDEzYWJlYzdmZjdlMmI2NDQ1
ZDhhNDM2ZmMxNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJQcm9ncmFtQmluZGluZy5oIgorI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUg
IlJlbmRlclN1cmZhY2VDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlNoYWRlckNocm9taXVtLmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKQEAgLTU2LDcgKzU3LDYgQEAgY2xhc3Mg
Q0NMYXllckltcGw7CiBjbGFzcyBDQ0xheWVyVHJlZUhvc3Q7CiBjbGFzcyBDQ1RleHR1cmVVcGRh
dGVyOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7Ci1jbGFzcyBSZWdpb247CiAKIC8vIEJhc2Ug
Y2xhc3MgZm9yIGNvbXBvc2l0ZWQgbGF5ZXJzLiBTcGVjaWFsIGxheWVyIHR5cGVzIGFyZSBkZXJp
dmVkIGZyb20KIC8vIHRoaXMgY2xhc3MuCkBAIC0xMzEsNyArMTMxLDkgQEAgcHVibGljOgogICAg
IGNvbnN0IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xs
UG9zaXRpb247IH0KIAogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShib29sKTsKKyAgICB2b2lkIHNl
dFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChib29sKTsKICAgICB2b2lkIHNldEhhdmVXaGVlbEV2
ZW50SGFuZGxlcnMoYm9vbCk7CisgICAgdm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihj
b25zdCBSZWdpb24mKTsKIAogICAgIEludFNpemUgc2Nyb2xsRGVsdGEoKSBjb25zdCB7IHJldHVy
biBJbnRTaXplKCk7IH0KIApAQCAtMjY0LDcgKzI2NiwxMCBAQCBwcml2YXRlOgogICAgIEludFJl
Y3QgbV92aXNpYmxlTGF5ZXJSZWN0OwogICAgIEludFBvaW50IG1fc2Nyb2xsUG9zaXRpb247CiAg
ICAgYm9vbCBtX3Njcm9sbGFibGU7CisgICAgYm9vbCBtX3Nob3VsZFNjcm9sbE9uTWFpblRocmVh
ZDsKICAgICBib29sIG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVyczsKKyAgICBSZWdpb24gbV9ub25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbjsKKyAgICBib29sIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb25D
aGFuZ2VkOwogICAgIEZsb2F0UG9pbnQgbV9wb3NpdGlvbjsKICAgICBGbG9hdFBvaW50IG1fYW5j
aG9yUG9pbnQ7CiAgICAgQ29sb3IgbV9iYWNrZ3JvdW5kQ29sb3I7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1w
bC5jcHAKaW5kZXggZTM4NGUwY2ZkNGZhMTIyMGYxZDEzYzYyOTgzMDNkZmVhN2Y2NTZjYy4uNDY0
NTdkZDQwOTI3MTdkZGViNTYwZGY2YmM5N2M0NWZlOWU2ZmQyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJ
bXBsLmNwcApAQCAtNDUsNiArNDUsNyBAQCBDQ0xheWVySW1wbDo6Q0NMYXllckltcGwoaW50IGlk
KQogICAgICwgbV9hbmNob3JQb2ludCgwLjUsIDAuNSkKICAgICAsIG1fYW5jaG9yUG9pbnRaKDAp
CiAgICAgLCBtX3Njcm9sbGFibGUoZmFsc2UpCisgICAgLCBtX3Nob3VsZFNjcm9sbE9uTWFpblRo
cmVhZChmYWxzZSkKICAgICAsIG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhmYWxzZSkKICAgICAs
IG1fYmFja2dyb3VuZENvdmVyc1ZpZXdwb3J0KGZhbHNlKQogICAgICwgbV9kb3VibGVTaWRlZCh0
cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKaW5kZXggOThkZjlkNzczM2U1MDFiNDU3ZTk1ZTM1MjYw
NDkyMzJhZDQ3YzRlNy4uYzBiMjNiOTUyYTM4NDA5YjMwYjE2Nzg4YzFlYTQ5NmNkYzI5ODc3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRmlsdGVy
T3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFJlY3Qu
aCIKKyNpbmNsdWRlICJSZWdpb24uaCIKICNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVk
ZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3MuaCIK
QEAgLTE4MCw5ICsxODEsMTUgQEAgcHVibGljOgogICAgIGJvb2wgc2Nyb2xsYWJsZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZTsgfQogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShib29sIHNj
cm9sbGFibGUpIHsgbV9zY3JvbGxhYmxlID0gc2Nyb2xsYWJsZTsgfQogCisgICAgYm9vbCBzaG91
bGRTY3JvbGxPbk1haW5UaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNjcm9sbE9uTWFp
blRocmVhZDsgfQorICAgIHZvaWQgc2V0U2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKGJvb2wgc2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkKSB7IG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkID0gc2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkOyB9CisKICAgICBib29sIGhhdmVXaGVlbEV2ZW50SGFuZGxl
cnMoKSBjb25zdCB7IHJldHVybiBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnM7IH0KICAgICB2b2lk
IHNldEhhdmVXaGVlbEV2ZW50SGFuZGxlcnMoYm9vbCBoYXZlV2hlZWxFdmVudEhhbmRsZXJzKSB7
IG1faGF2ZVdoZWVsRXZlbnRIYW5kbGVycyA9IGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM7IH0KIAor
ICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKSBjb25zdCB7IHJldHVy
biBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CisgICAgdm9pZCBzZXROb25GYXN0U2Nyb2xs
YWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikgeyBtX25vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uID0gcmVnaW9uOyB9CisKICAgICBjb25zdCBJbnRSZWN0JiB2aXNpYmxlTGF5ZXJSZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV92aXNpYmxlTGF5ZXJSZWN0OyB9CiAgICAgdm9pZCBzZXRWaXNpYmxl
TGF5ZXJSZWN0KGNvbnN0IEludFJlY3QmIHZpc2libGVMYXllclJlY3QpIHsgbV92aXNpYmxlTGF5
ZXJSZWN0ID0gdmlzaWJsZUxheWVyUmVjdDsgfQogCkBAIC0yNDUsNyArMjUyLDkgQEAgcHJpdmF0
ZToKICAgICBJbnRTaXplIG1fY29udGVudEJvdW5kczsKICAgICBJbnRQb2ludCBtX3Njcm9sbFBv
c2l0aW9uOwogICAgIGJvb2wgbV9zY3JvbGxhYmxlOworICAgIGJvb2wgbV9zaG91bGRTY3JvbGxP
bk1haW5UaHJlYWQ7CiAgICAgYm9vbCBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnM7CisgICAgUmVn
aW9uIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb247CiAgICAgQ29sb3IgbV9iYWNrZ3JvdW5kQ29s
b3I7CiAgICAgYm9vbCBtX2JhY2tncm91bmRDb3ZlcnNWaWV3cG9ydDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAppbmRleCBkZDFhOTVlOWFiMTQzM2E2NGUyZWYxODkz
MTU1NTNiN2I3YTljNzE4Li41MzFmYTA5ODQ3MGI2MTJjNmY3NDhhZjcwNDMzNjNjNDU2MWVhZjdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcApAQCAtNDY1LDcgKzQ2
NSw3IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6c2V0TmVlZHNSZWRyYXcoKQogICAgIG1f
Y2xpZW50LT5zZXROZWVkc1JlZHJhd09uSW1wbFRocmVhZCgpOwogfQogCi1DQ0lucHV0SGFuZGxl
ckNsaWVudDo6U2Nyb2xsU3RhdHVzIENDTGF5ZXJUcmVlSG9zdEltcGw6OnNjcm9sbEJlZ2luKGNv
bnN0IEludFBvaW50JiBwb2ludCwgQ0NJbnB1dEhhbmRsZXJDbGllbnQ6OlNjcm9sbElucHV0VHlw
ZSB0eXBlKQorQ0NJbnB1dEhhbmRsZXJDbGllbnQ6OlNjcm9sbFN0YXR1cyBDQ0xheWVyVHJlZUhv
c3RJbXBsOjpzY3JvbGxCZWdpbihjb25zdCBJbnRQb2ludCYgdmlld3BvcnRQb2ludCwgQ0NJbnB1
dEhhbmRsZXJDbGllbnQ6OlNjcm9sbElucHV0VHlwZSB0eXBlKQogewogICAgIC8vIFRPRE86IENo
ZWNrIGZvciBzY3JvbGxhYmxlIHN1YmxheWVycy4KICAgICBpZiAoIW1fc2Nyb2xsTGF5ZXJJbXBs
IHx8ICFtX3Njcm9sbExheWVySW1wbC0+c2Nyb2xsYWJsZSgpKSB7CkBAIC00NzMsNiArNDczLDE3
IEBAIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGF0dXMgQ0NMYXllclRyZWVIb3N0SW1w
bDo6c2Nyb2xsQmVnaW4oY29uc3QgSW50UG9pCiAgICAgICAgIHJldHVybiBTY3JvbGxJZ25vcmVk
OwogICAgIH0KIAorICAgIGlmIChtX3Njcm9sbExheWVySW1wbC0+c2hvdWxkU2Nyb2xsT25NYWlu
VGhyZWFkKCkpIHsKKyAgICAgICAgVFJBQ0VfRVZFTlQoInNjcm9sbEJlZ2luIEZhaWxlZCBzaG91
bGRTY3JvbGxPbk1haW5UaHJlYWQiLCB0aGlzLCAwKTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbEZh
aWxlZDsKKyAgICB9CisKKyAgICBJbnRQb2ludCBzY3JvbGxMYXllckNvbnRlbnRQb2ludChtX3Nj
cm9sbExheWVySW1wbC0+c2NyZWVuU3BhY2VUcmFuc2Zvcm0oKS5pbnZlcnNlKCkubWFwUG9pbnQo
dmlld3BvcnRQb2ludCkpOworICAgIGlmIChtX3Njcm9sbExheWVySW1wbC0+bm9uRmFzdFNjcm9s
bGFibGVSZWdpb24oKS5jb250YWlucyhzY3JvbGxMYXllckNvbnRlbnRQb2ludCkpIHsKKyAgICAg
ICAgVFJBQ0VfRVZFTlQoInNjcm9sbEJlZ2luIEZhaWxlZCBub25GYXN0U2Nyb2xsYWJsZVJlZ2lv
biIsIHRoaXMsIDApOworICAgICAgICByZXR1cm4gU2Nyb2xsRmFpbGVkOworICAgIH0KKwogICAg
IGlmICh0eXBlID09IENDSW5wdXRIYW5kbGVyQ2xpZW50OjpXaGVlbCAmJiBtX3Njcm9sbExheWVy
SW1wbC0+aGF2ZVdoZWVsRXZlbnRIYW5kbGVycygpKSB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJz
Y3JvbGxCZWdpbiBGYWlsZWQgd2hlZWxFdmVudEhhbmRsZXJzIiwgdGhpcywgMCk7CiAgICAgICAg
IHJldHVybiBTY3JvbGxGYWlsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCmluZGV4IDQyYjEzODk0N2Q2NjVl
OWFhZWVmZDVjZDJmZDI1MWZiM2QzMTU3OGUuLjM5ZDJmYmQxMjEyMzhjYjk0OTNmZmQxODhhMjU0
M2ExNjIwY2EwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NM
YXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3BwCkBAIC0xODUsNiArMTg1LDYzIEBAIFRFU1Rf
RihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgd2hlZWxFdmVudEhhbmRsZXJzKQogICAgIEVYUEVD
VF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgwLCAwKSwgQ0NJbnB1dEhhbmRs
ZXJDbGllbnQ6Okdlc3R1cmUpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsU3RhcnRlZCk7
CiB9CiAKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgc2hvdWxkU2Nyb2xsT25NYWlu
VGhyZWFkKQoreworICAgIFJlZlB0cjxDQ0xheWVySW1wbD4gcm9vdCA9IENDTGF5ZXJJbXBsOjpj
cmVhdGUoMCk7CisgICAgcm9vdC0+c2V0U2Nyb2xsYWJsZSh0cnVlKTsKKyAgICByb290LT5zZXRT
Y3JvbGxQb3NpdGlvbihJbnRQb2ludCgwLCAwKSk7CisgICAgcm9vdC0+c2V0TWF4U2Nyb2xsUG9z
aXRpb24oSW50U2l6ZSgxMDAsIDEwMCkpOworICAgIG1faG9zdEltcGwtPnNldFJvb3RMYXllcihy
b290KTsKKyAgICByb290LT5zZXRTaG91bGRTY3JvbGxPbk1haW5UaHJlYWQodHJ1ZSk7CisgICAg
RVhQRUNUX0VRKG1faG9zdEltcGwtPnNjcm9sbEJlZ2luKEludFBvaW50KDAsIDApLCBDQ0lucHV0
SGFuZGxlckNsaWVudDo6V2hlZWwpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsRmFpbGVk
KTsKKyAgICBFWFBFQ1RfRVEobV9ob3N0SW1wbC0+c2Nyb2xsQmVnaW4oSW50UG9pbnQoMCwgMCks
IENDSW5wdXRIYW5kbGVyQ2xpZW50OjpHZXN0dXJlKSwgQ0NJbnB1dEhhbmRsZXJDbGllbnQ6OlNj
cm9sbEZhaWxlZCk7Cit9CisKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgbm9uRmFz
dFNjcm9sbGFibGVSZWdpb25CYXNpYykKK3sKKyAgICBSZWZQdHI8Q0NMYXllckltcGw+IHJvb3Qg
PSBDQ0xheWVySW1wbDo6Y3JlYXRlKDApOworICAgIHJvb3QtPnNldFNjcm9sbGFibGUodHJ1ZSk7
CisgICAgcm9vdC0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMCwgMCkpOworICAgIHJvb3Qt
PnNldE1heFNjcm9sbFBvc2l0aW9uKEludFNpemUoMTAwLCAxMDApKTsKKyAgICBtX2hvc3RJbXBs
LT5zZXRSb290TGF5ZXIocm9vdCk7CisgICAgcm9vdC0+c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdp
b24oSW50UmVjdCgwLCAwLCA1MCwgNTApKTsKKyAgICAvLyBBbGwgc2Nyb2xsIHR5cGVzIGluc2lk
ZSB0aGUgbm9uLWZhc3Qgc2Nyb2xsYWJsZSByZWdpb24gc2hvdWxkIGZhaWwuCisgICAgRVhQRUNU
X0VRKG1faG9zdEltcGwtPnNjcm9sbEJlZ2luKEludFBvaW50KDI1LCAyNSksIENDSW5wdXRIYW5k
bGVyQ2xpZW50OjpXaGVlbCksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxGYWlsZWQpOwor
ICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgyNSwgMjUpLCBD
Q0lucHV0SGFuZGxlckNsaWVudDo6R2VzdHVyZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3Jv
bGxGYWlsZWQpOworCisgICAgLy8gQWxsIHNjcm9sbCB0eXBlcyBvdXRzaWRlIHRoaXMgcmVnaW9u
IHNob3VsZCBzdWNjZWVkLgorICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJ
bnRQb2ludCg3NSwgNzUpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6V2hlZWwpLCBDQ0lucHV0SGFu
ZGxlckNsaWVudDo6U2Nyb2xsU3RhcnRlZCk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xsQnkoSW50
U2l6ZSgwLCAxMCkpOworICAgIG1faG9zdEltcGwtPnNjcm9sbEVuZCgpOworICAgIEVYUEVDVF9F
UShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCg3NSwgNzUpLCBDQ0lucHV0SGFuZGxl
ckNsaWVudDo6R2VzdHVyZSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGFydGVkKTsK
KyAgICBtX2hvc3RJbXBsLT5zY3JvbGxCeShJbnRTaXplKDAsIDEwKSk7CisgICAgbV9ob3N0SW1w
bC0+c2Nyb2xsRW5kKCk7Cit9CisKK1RFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgbm9u
RmFzdFNjcm9sbGFibGVSZWdpb25XaXRoT2Zmc2V0KQoreworICAgIEdyYXBoaWNzQ29udGV4dDNE
OjpBdHRyaWJ1dGVzIGF0dHJzOworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4
dCA9IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdl
YkNvbnRleHQoYWRvcHRQdHIobmV3IEZha2VXZWJHcmFwaGljc0NvbnRleHQzRCgpKSwgYXR0cnMs
IDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdywgR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpGb3JVc2VPblRoaXNUaHJlYWQpOworICAgIG1faG9zdEltcGwt
PmluaXRpYWxpemVMYXllclJlbmRlcmVyKGNvbnRleHQpOworCisgICAgUmVmUHRyPENDTGF5ZXJJ
bXBsPiByb290ID0gQ0NMYXllckltcGw6OmNyZWF0ZSgwKTsKKyAgICByb290LT5zZXRTY3JvbGxh
YmxlKHRydWUpOworICAgIHJvb3QtPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KDAsIDApKTsK
KyAgICByb290LT5zZXRNYXhTY3JvbGxQb3NpdGlvbihJbnRTaXplKDEwMCwgMTAwKSk7CisgICAg
bV9ob3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3QpOworICAgIHJvb3QtPnNldE5vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uKEludFJlY3QoMCwgMCwgNTAsIDUwKSk7CisgICAgcm9vdC0+c2V0UG9zaXRp
b24oRmxvYXRQb2ludCgtMjUsIDApKTsKKyAgICBtX2hvc3RJbXBsLT5kcmF3TGF5ZXJzKCk7IC8v
IFVwZGF0ZSBkcmF3IHRyYW5zZm9ybXMgc28gd2UgY2FuIGNvcnJlY3RseSBtYXAgcG9pbnRzIGlu
dG8gbGF5ZXIgc3BhY2UuCisKKyAgICAvLyBUaGlzIHBvaW50IHdvdWxkIGZhbGwgaW50byB0aGUg
bm9uLWZhc3Qgc2Nyb2xsYWJsZSByZWdpb24gZXhjZXB0IHRoYXQgd2UndmUgbW92ZWQgdGhlIGxh
eWVyIGRvd24gYnkgMjUgcGl4ZWxzLgorICAgIEVYUEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxC
ZWdpbihJbnRQb2ludCg0MCwgMTApLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6V2hlZWwpLCBDQ0lu
cHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsU3RhcnRlZCk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xs
QnkoSW50U2l6ZSgwLCAxKSk7CisgICAgbV9ob3N0SW1wbC0+c2Nyb2xsRW5kKCk7CisKKyAgICAv
LyBUaGlzIHBvaW50IGlzIHN0aWxsIGluc2lkZSB0aGUgbm9uLWZhc3QgcmVnaW9uLgorICAgIEVY
UEVDVF9FUShtX2hvc3RJbXBsLT5zY3JvbGxCZWdpbihJbnRQb2ludCgxMCwgMTApLCBDQ0lucHV0
SGFuZGxlckNsaWVudDo6V2hlZWwpLCBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xsRmFpbGVk
KTsKK30KKwogVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBwaW5jaEdlc3R1cmUpCiB7
CiAgICAgc2V0dXBTY3JvbGxBbmRDb250ZW50c0xheWVycyhJbnRTaXplKDEwMCwgMTAwKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xheWVyQ2hyb21pdW1UZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3Bw
CmluZGV4IDJlOWNhOTY2MTFjZjI5YjNkZWY2YTRjMWE1ZTJkMzA3Nzc2YjJiMDEuLmYwZTFlNWM2
NmVlNGNhOGNjYjM4NjA0NmFiZTQ0YmQwZjliNzk0ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC01MTUsNiArNTE1LDgg
QEAgVEVTVF9GKExheWVyQ2hyb21pdW1UZXN0LCBjaGVja1Byb3BlcnR5Q2hhbmdlQ2F1c2VzQ29y
cmVjdEJlaGF2aW9yKQogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09NTUlUX0JF
SEFWSU9SKDEsIHRlc3RMYXllci0+c2V0UmVwbGljYUxheWVyKGR1bW15TGF5ZXIuZ2V0KCkpKTsK
ICAgICBFWEVDVVRFX0FORF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0
TGF5ZXItPnNldFN1YmxheWVyVHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4KDAsIDAsIDAs
IDAsIDAsIDApKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9ORUVEU19DT01NSVRfQkVI
QVZJT1IoMSwgdGVzdExheWVyLT5zZXRTY3JvbGxhYmxlKHRydWUpKTsKKyAgICBFWEVDVVRFX0FO
RF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5ZXItPnNldFNob3Vs
ZFNjcm9sbE9uTWFpblRocmVhZCh0cnVlKSk7CisgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9O
RUVEU19DT01NSVRfQkVIQVZJT1IoMSwgdGVzdExheWVyLT5zZXROb25GYXN0U2Nyb2xsYWJsZVJl
Z2lvbihSZWdpb24oSW50UmVjdCgxLCAxLCAyLCAyKSkpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJ
RllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5ZXItPnNldEhhdmVXaGVlbEV2
ZW50SGFuZGxlcnModHJ1ZSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09N
TUlUX0JFSEFWSU9SKDEsIHRlc3RMYXllci0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMTAs
IDEwKSkpOwogICAgIEVYRUNVVEVfQU5EX1ZFUklGWV9TRVRfTkVFRFNfQ09NTUlUX0JFSEFWSU9S
KDEsIHRlc3RMYXllci0+c2V0VHJhbnNmb3JtKFRyYW5zZm9ybWF0aW9uTWF0cml4KDAsIDAsIDAs
IDAsIDAsIDApKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>