<?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>76663</bug_id>
          
          <creation_ts>2012-01-19 13:46:10 -0800</creation_ts>
          <short_desc>[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting</short_desc>
          <delta_ts>2012-01-19 16:08:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>73350</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>kbr</cc>
    
    <cc>nduca</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>538995</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-19 13:46:10 -0800</bug_when>
    <thetext>[chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539001</commentid>
    <comment_count>1</comment_count>
      <attachid>123187</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-19 13:49:49 -0800</bug_when>
    <thetext>Created attachment 123187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539035</commentid>
    <comment_count>2</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-01-19 14:25:42 -0800</bug_when>
    <thetext>LGTM.  Hooray for removing CCLayerDelegate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539039</commentid>
    <comment_count>3</comment_count>
      <attachid>123187</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-19 14:30:18 -0800</bug_when>
    <thetext>Comment on attachment 123187
Patch

rs=me based on enne&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539131</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-19 16:08:08 -0800</bug_when>
    <thetext>Committed r105460: &lt;http://trac.webkit.org/changeset/105460&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123187</attachid>
            <date>2012-01-19 13:49:49 -0800</date>
            <delta_ts>2012-01-19 14:30:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76663-20120119134947.patch</filename>
            <type>text/plain</type>
            <size>65569</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTFlZmE0YTk3M2U4OTFj
ZDYzYWIxNjM1ZmNjODk1ZWU3MjNhZDQ2Yi4uZmY1ZjZkYmFlMWM2NjI1YmZmNzJjZWZhOTc5Y2Jl
MzVmMTk1Mzg0ZSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTAxLTE5ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBS
ZW1vdmUgQ0NMYXllckRlbGVnYXRlLCBhZGQgQ29udGVudExheWVyRGVsZWdhdGUgZm9yIHBhaW50
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENDTGF5
ZXJEZWxlZ2F0ZSB1c2VkIHRvIGJlIGFuIGludGVyZmFjZSB3aXRoIGEgaGFsZi1kb3plbiBjYWxs
YmFja3Mgb24gaXQsIGJ1dCBub3cgaXQgaGFzIG9ubHkgb25lIGNhbGwgLQorICAgICAgICBwYWlu
dENvbnRlbnRzKCkgLSBhbmQgdGhhdCBvbmUgY2FsbCBpcyBvbmx5IHZhbGlkIGZvciBvbmUgc3Vi
Y2xhc3Mgb2YgTGF5ZXJDaHJvbWl1bSwgQ29udGVudExheWVyQ2hyb21pdW0uIFRoaXMKKyAgICAg
ICAgcmVtb3ZlcyB0aGUgQ0NMYXllckRlbGVnYXRlIHBvaW50ZXIgZnJvbSBMYXllckNocm9taXVt
IGFuZCBhZGRzIGEgQ29udGVudExheWVyRGVsZWdhdGUgZm9yIHRoZSBwYWludCBjYWxsLgorCisg
ICAgICAgIFRoZSBtYWpvcml0eSBvZiB0aGUgY29kZSBjaGFuZ2VzIGluIHRoaXMgcGF0Y2ggYXJl
IHJlbW92aW5nIHRoZSBuaWwgcGFyYW1ldGVyIGZyb20gdmFyaW91cyBwbGFjZXMgdGhhdCBjb25z
dHJ1Y3QKKyAgICAgICAgTGF5ZXJDaHJvbWl1bSBpbnN0YW5jZXMuIEFsc28gdGlnaHRlbnMgdGhl
IHR5cGUgb2YgR3JhcGhpY3NMYXllckNocm9taXVtOjptX2xheWVyIHRvIENvbnRlbnRMYXllckNo
cm9taXVtLgorCisgICAgICAgIFJlZmFjdG9yaW5nL3JlbW92aW5nIGRlYWQgY29kZSwgc28gbm8g
bmV3IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFz
MkRMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhczJETGF5ZXJDaHJv
bWl1bTo6Q2FudmFzMkRMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9DYW52YXNMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
bnZhc0xheWVyQ2hyb21pdW06OkNhbnZhc0xheWVyQ2hyb21pdW0pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhc0xheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50TGF5ZXJQYWludGVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudExheWVyUGFpbnRlcjo6Q29udGVudExheWVyUGFpbnRlcik6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRMYXllckNocm9taXVtOjpDb250ZW50TGF5ZXJDaHJvbWl1bSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckRlbGVnYXRlOjp+Q29udGVudExheWVyRGVsZWdh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21pdW06OmNsZWFyRGVsZWdh
dGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpwbGF0Zm9ybUxh
eWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVy
Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjp+
R3JhcGhpY3NMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
aHJvbWl1bTo6c2V0Q29udGVudHNUb0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNUb0NhbnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRlbnRzVG9NZWRpYSk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZUxheWVyUHJlc2VydmVzM0QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxheWVyQ2hyb21pdW06OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbWFnZUxheWVyQ2hyb21pdW06OkltYWdlTGF5ZXJDaHJvbWl1bSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVt
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6TGF5ZXJDaHJvbWl1bSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1BsdWdpbkxheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
dWdpbkxheWVyQ2hyb21pdW06OlBsdWdpbkxheWVyQ2hyb21pdW0pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1BsdWdpbkxheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjpUaWxlZExheWVyQ2hyb21pdW0pOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZWRMYXllckNocm9taXVtOjpkcmF3c0NvbnRlbnQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVkTGF5ZXJDaHJvbWl1bS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWaWRlb0xheWVyQ2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpWaWRlb0xheWVyQ2hyb21pdW06OlZpZGVvTGF5ZXJDaHJvbWl1bSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9MYXllckNocm9taXVtLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bTo6V2ViR0xMYXllckNocm9taXVtKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaDoK
KwogMjAxMi0wMS0xOSAgSm9pIFNpZ3VyZHNzb24gIDxqb2lAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEVuYWJsZSB1c2Ugb2YgcHJlY29tcGlsZWQgaGVhZGVycyBpbiBDaHJvbWl1bSBwb3J0IG9u
IFdpbmRvd3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDMxZTlmYmM5YTRlYjRhMThi
NzBmY2YyODhlMzY4NTgyODUzYTMxNWIuLjUxNDBkOWJkNjY1N2YwYjk0NjgzNjZlZWIzNjQxMDJk
MzY0ODY4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIw
MTItMDEtMTkgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBbY2hyb21pdW1dIFJlbW92ZSBDQ0xheWVyRGVsZWdhdGUsIGFkZCBDb250ZW50TGF5ZXJEZWxl
Z2F0ZSBmb3IgcGFpbnRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2NjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzcmMvV2ViQ29udGVudExheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRlbnRMYXllckltcGw6On5XZWJDb250ZW50TGF5ZXJJbXBsKToKKyAgICAgICAgKiBz
cmMvV2ViQ29udGVudExheWVySW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJFeHRlcm5hbFRleHR1
cmVMYXllckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFeHRlcm5hbFRleHR1cmVMYXll
ckltcGw6OldlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkV4dGVybmFsVGV4dHVyZUxheWVySW1wbDo6fldlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbCk6
CisgICAgICAgICogc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oOgorICAgICAgICAq
IHNyYy9XZWJMYXllckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllckltcGw6Oldl
YkxheWVySW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVySW1wbDo6fldlYkxheWVySW1w
bCk6CisgICAgICAgICogc3JjL1dlYkxheWVySW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OnJlYWR5U3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBzcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6
OldlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJJdGVyYXRv
clRlc3QuY3BwOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQ6
OkxheWVyQ2hyb21pdW1XaXRoRm9yY2VkRHJhd3NDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlRFU1QpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwOgorICAgICAg
ICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0Ojpkb0JlZ2luVGVzdCk6CisgICAgICAgIChXVEY6
OkNvbnRlbnRMYXllckNocm9taXVtV2l0aFVwZGF0ZVRyYWNraW5nOjpjcmVhdGUpOgorICAgICAg
ICAoV1RGOjpDb250ZW50TGF5ZXJDaHJvbWl1bVdpdGhVcGRhdGVUcmFja2luZzo6Q29udGVudExh
eWVyQ2hyb21pdW1XaXRoVXBkYXRlVHJhY2tpbmcpOgorICAgICAgICAqIHRlc3RzL0xheWVyQ2hy
b21pdW1UZXN0LmNwcDoKKyAgICAgICAgKiB0ZXN0cy9UaWxlZExheWVyQ2hyb21pdW1UZXN0LmNw
cDoKKyAgICAgICAgKFdURjo6RmFrZVRpbGVkTGF5ZXJDaHJvbWl1bTo6RmFrZVRpbGVkTGF5ZXJD
aHJvbWl1bSk6CisgICAgICAgICogdGVzdHMvVHJlZVN5bmNocm9uaXplclRlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja0xheWVyQ2hyb21pdW06Ok1vY2tMYXllckNocm9taXVtKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRFU1QpOgorCiAyMDEyLTAxLTE5ICBKb2kgU2lndXJkc3NvbiAgPGpv
aUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIHVzZSBvZiBwcmVjb21waWxlZCBoZWFk
ZXJzIGluIENocm9taXVtIHBvcnQgb24gV2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVy
Q2hyb21pdW0uY3BwCmluZGV4IDM0MDhhYTU2YjJlNmE0Yzc1YWI4MDYwMmMxNmI5MjNjZTI0OTI1
ZWQuLmIyNzBmNWY2ZjEwOGYzNWI5MjQzMDdhMTExYWJlYzRiOTAwOTkzOWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJD
aHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vQ2FudmFzMkRMYXllckNocm9taXVtLmNwcApAQCAtNTMsNyArNTMsNyBAQCBQYXNzUmVmUHRy
PENhbnZhczJETGF5ZXJDaHJvbWl1bT4gQ2FudmFzMkRMYXllckNocm9taXVtOjpjcmVhdGUoR3Jh
cGhpY3NDb250ZXh0MwogfQogCiBDYW52YXMyRExheWVyQ2hyb21pdW06OkNhbnZhczJETGF5ZXJD
aHJvbWl1bShHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgY29uc3QgSW50U2l6ZSYgc2l6ZSkK
LSAgICA6IENhbnZhc0xheWVyQ2hyb21pdW0oMCkKKyAgICA6IENhbnZhc0xheWVyQ2hyb21pdW0o
KQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1f
YmFja1RleHR1cmVJZCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ2FudmFzTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXNMYXllckNocm9taXVtLmNwcAppbmRleCBj
NTEwMDhjYjQxOGQ1Y2IzZTFjMzc4NmRjZmEwZDk3NGVlYzMzMDJjLi4xODFiYTRlNTgxMmNlODg3
OGExNzkyMDI1OGY4ZWRlOGRmYjQ2MjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXNMYXllckNocm9taXVtLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXNMYXllckNocm9taXVt
LmNwcApAQCAtNDAsOCArNDAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNhbnZhc0xh
eWVyQ2hyb21pdW06OkNhbnZhc0xheWVyQ2hyb21pdW0oQ0NMYXllckRlbGVnYXRlKiBkZWxlZ2F0
ZSkKLSAgICA6IExheWVyQ2hyb21pdW0oZGVsZWdhdGUpCitDYW52YXNMYXllckNocm9taXVtOjpD
YW52YXNMYXllckNocm9taXVtKCkKKyAgICA6IExheWVyQ2hyb21pdW0oKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXNM
YXllckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9DYW52YXNMYXllckNocm9taXVtLmgKaW5kZXggZjQwNzJmNWQwOTY3ZjZjYzAyYTcxYzY4MWI3
NmNkOTc1NmMzMDgyYS4uOWU4Y2U3ZDhjYzgyYWE4ODNjMzZhODU4NjMwOTQ0OGYzMzYyMDI3MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2Fu
dmFzTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0NhbnZhc0xheWVyQ2hyb21pdW0uaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPENDTGF5ZXJJbXBsPiBjcmVhdGVDQ0xheWVySW1wbCgp
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgQ2FudmFzTGF5ZXJDaHJvbWl1bShDQ0xheWVy
RGVsZWdhdGUqKTsKKyAgICBDYW52YXNMYXllckNocm9taXVtKCk7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5
ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZjUzMzlmOGM4YmFiMzU2NGMzZTA1NzY5
ZjBiOGNjZmQxOWQ2ODg1Yi4uODQwMzkwZTAyNzkwODI1MjZiNDFmYjNkODU3YjFmODQ1YTAxOGE2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Q29udGVudExheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9taXVtLmNwcApAQCAtNDgsNyArNDgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDb250ZW50TGF5ZXJQYWludGVyIDogcHVibGlj
IExheWVyUGFpbnRlckNocm9taXVtIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50
TGF5ZXJQYWludGVyKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDb250ZW50TGF5
ZXJQYWludGVyPiBjcmVhdGUoQ0NMYXllckRlbGVnYXRlKiBkZWxlZ2F0ZSkKKyAgICBzdGF0aWMg
UGFzc093blB0cjxDb250ZW50TGF5ZXJQYWludGVyPiBjcmVhdGUoQ29udGVudExheWVyRGVsZWdh
dGUqIGRlbGVnYXRlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb250ZW50
TGF5ZXJQYWludGVyKGRlbGVnYXRlKSk7CiAgICAgfQpAQCAtNjUsMjEgKzY1LDIyIEBAIHB1Ymxp
YzoKICAgICAgICAgUGxhdGZvcm1TdXBwb3J0OjpoaXN0b2dyYW1DdXN0b21Db3VudHMoIlJlbmRl
cmVyNC5BY2NlbENvbnRlbnRQYWludE1lZ2FwaXhQZXJTZWNvbmQiLCBwaXhlbHNQZXJTZWMgLyAx
MDAwMDAwLCAxMCwgMjEwLCAzMCk7CiAgICAgfQogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDb250
ZW50TGF5ZXJQYWludGVyKENDTGF5ZXJEZWxlZ2F0ZSogZGVsZWdhdGUpCisgICAgZXhwbGljaXQg
Q29udGVudExheWVyUGFpbnRlcihDb250ZW50TGF5ZXJEZWxlZ2F0ZSogZGVsZWdhdGUpCiAgICAg
ICAgIDogbV9kZWxlZ2F0ZShkZWxlZ2F0ZSkKICAgICB7CiAgICAgfQogCi0gICAgQ0NMYXllckRl
bGVnYXRlKiBtX2RlbGVnYXRlOworICAgIENvbnRlbnRMYXllckRlbGVnYXRlKiBtX2RlbGVnYXRl
OwogfTsKIAotUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJDaHJvbWl1bT4gQ29udGVudExheWVyQ2hy
b21pdW06OmNyZWF0ZShDQ0xheWVyRGVsZWdhdGUqIGRlbGVnYXRlKQorUGFzc1JlZlB0cjxDb250
ZW50TGF5ZXJDaHJvbWl1bT4gQ29udGVudExheWVyQ2hyb21pdW06OmNyZWF0ZShDb250ZW50TGF5
ZXJEZWxlZ2F0ZSogZGVsZWdhdGUpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDb250ZW50
TGF5ZXJDaHJvbWl1bShkZWxlZ2F0ZSkpOwogfQogCi1Db250ZW50TGF5ZXJDaHJvbWl1bTo6Q29u
dGVudExheWVyQ2hyb21pdW0oQ0NMYXllckRlbGVnYXRlKiBkZWxlZ2F0ZSkKLSAgICA6IFRpbGVk
TGF5ZXJDaHJvbWl1bShkZWxlZ2F0ZSkKK0NvbnRlbnRMYXllckNocm9taXVtOjpDb250ZW50TGF5
ZXJDaHJvbWl1bShDb250ZW50TGF5ZXJEZWxlZ2F0ZSogZGVsZWdhdGUpCisgICAgOiBUaWxlZExh
eWVyQ2hyb21pdW0oKQorICAgICwgbV9kZWxlZ2F0ZShkZWxlZ2F0ZSkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExh
eWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0NvbnRlbnRMYXllckNocm9taXVtLmgKaW5kZXggMDhmMDgyYWFmNTVlMDlmNDk1MTNkYmRhNjZi
ZTFlMDIzMzNjOGYwMS4uY2ZiMGZkN2M5MDY3YzIxNDBkZDEzZDM1NmZiZWY3ZGZjOTdlMzJkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29u
dGVudExheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5oCkBAIC00MiwyNSArNDIsMzQgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTGF5ZXJUaWxlckNocm9taXVtOwogY2xhc3MgTGF5ZXJU
ZXh0dXJlVXBkYXRlcjsKIAorY2xhc3MgQ29udGVudExheWVyRGVsZWdhdGUgeworcHVibGljOgor
ICAgIHZpcnR1YWwgfkNvbnRlbnRMYXllckRlbGVnYXRlKCkgeyB9CisgICAgdmlydHVhbCB2b2lk
IHBhaW50Q29udGVudHMoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYgY2xpcCkgPSAw
OworfTsKKwogLy8gQSBMYXllciB0aGF0IHJlcXVpcmVzIGEgR3JhcGhpY3NDb250ZXh0IHRvIHJl
bmRlciBpdHMgY29udGVudHMuCiBjbGFzcyBDb250ZW50TGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBU
aWxlZExheWVyQ2hyb21pdW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnRl
bnRMYXllckNocm9taXVtPiBjcmVhdGUoQ0NMYXllckRlbGVnYXRlKik7CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q29udGVudExheWVyQ2hyb21pdW0+IGNyZWF0ZShDb250ZW50TGF5ZXJEZWxlZ2F0
ZSopOwogCiAgICAgdmlydHVhbCB+Q29udGVudExheWVyQ2hyb21pdW0oKTsKIAorICAgIHZvaWQg
Y2xlYXJEZWxlZ2F0ZSgpIHsgbV9kZWxlZ2F0ZSA9IDA7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBw
YWludENvbnRlbnRzSWZEaXJ0eSgpOwogICAgIHZpcnR1YWwgdm9pZCBpZGxlUGFpbnRDb250ZW50
c0lmRGlydHkoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRPcGFxdWUoYm9vbCk7CiAKIHByb3Rl
Y3RlZDoKLSAgICBleHBsaWNpdCBDb250ZW50TGF5ZXJDaHJvbWl1bShDQ0xheWVyRGVsZWdhdGUq
KTsKKyAgICBleHBsaWNpdCBDb250ZW50TGF5ZXJDaHJvbWl1bShDb250ZW50TGF5ZXJEZWxlZ2F0
ZSopOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVUZXh0dXJlVXBkYXRlcihj
b25zdCBDQ0xheWVyVHJlZUhvc3QqKTsKICAgICB2aXJ0dWFsIExheWVyVGV4dHVyZVVwZGF0ZXIq
IHRleHR1cmVVcGRhdGVyKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJlVXBkYXRlci5nZXQoKTsg
fQogCisgICAgQ29udGVudExheWVyRGVsZWdhdGUqIG1fZGVsZWdhdGU7CiAgICAgUmVmUHRyPExh
eWVyVGV4dHVyZVVwZGF0ZXI+IG1fdGV4dHVyZVVwZGF0ZXI7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hy
b21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJh
d2luZ0J1ZmZlckNocm9taXVtLmNwcAppbmRleCBlYWQ2YWEzYTI1MDMxZjc4NGM0Nzc1YTUzYjRh
MzNhMDQyYmViZGVjLi41NTFhZGY3Njk3NjI5NWM5OTYwMzIwNDIzZjk2MTk5NDIwYjU0Nzk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EcmF3
aW5nQnVmZmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAKQEAgLTE0Myw3ICsxNDMsNyBA
QCB2b2lkIERyYXdpbmdCdWZmZXI6OnB1Ymxpc2hUb1BsYXRmb3JtTGF5ZXIoKQogUGxhdGZvcm1M
YXllciogRHJhd2luZ0J1ZmZlcjo6cGxhdGZvcm1MYXllcigpCiB7CiAgICAgaWYgKCFtX3BsYXRm
b3JtTGF5ZXIpIHsKLSAgICAgICAgbV9wbGF0Zm9ybUxheWVyID0gV2ViR0xMYXllckNocm9taXVt
OjpjcmVhdGUoMCk7CisgICAgICAgIG1fcGxhdGZvcm1MYXllciA9IFdlYkdMTGF5ZXJDaHJvbWl1
bTo6Y3JlYXRlKCk7CiAgICAgICAgIG1fcGxhdGZvcm1MYXllci0+c2V0RHJhd2luZ0J1ZmZlcih0
aGlzKTsKICAgICAgICAgbV9wbGF0Zm9ybUxheWVyLT5zZXRPcGFxdWUoIW1fY29udGV4dC0+Z2V0
Q29udGV4dEF0dHJpYnV0ZXMoKS5hbHBoYSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5
ZXJDaHJvbWl1bS5jcHAKaW5kZXggNjdlMDVmOGRjZTRhZmNiMGU4MjI1YzkyY2ZlNTQ0ZDMzMTFk
MDk5YS4uMzFhNTExOGZmZDAzZDE4MjQ4ZDA3ZTUxZTI0YWVlZDMyYWZlOTcwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXll
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwCkBAIC04MiwxNyArODIsMTMgQEAgR3JhcGhp
Y3NMYXllckNocm9taXVtOjpHcmFwaGljc0xheWVyQ2hyb21pdW0oR3JhcGhpY3NMYXllckNsaWVu
dCogY2xpZW50KQogR3JhcGhpY3NMYXllckNocm9taXVtOjp+R3JhcGhpY3NMYXllckNocm9taXVt
KCkKIHsKICAgICBpZiAobV9sYXllcikgewotICAgICAgICBtX2xheWVyLT5zZXREZWxlZ2F0ZSgw
KTsKKyAgICAgICAgbV9sYXllci0+Y2xlYXJEZWxlZ2F0ZSgpOwogICAgICAgICBtX2xheWVyLT5j
bGVhclJlbmRlclN1cmZhY2UoKTsKICAgICB9Ci0gICAgaWYgKG1fY29udGVudHNMYXllcikgewot
ICAgICAgICBtX2NvbnRlbnRzTGF5ZXItPnNldERlbGVnYXRlKDApOworICAgIGlmIChtX2NvbnRl
bnRzTGF5ZXIpCiAgICAgICAgIG1fY29udGVudHNMYXllci0+Y2xlYXJSZW5kZXJTdXJmYWNlKCk7
Ci0gICAgfQotICAgIGlmIChtX3RyYW5zZm9ybUxheWVyKSB7Ci0gICAgICAgIG1fdHJhbnNmb3Jt
TGF5ZXItPnNldERlbGVnYXRlKDApOworICAgIGlmIChtX3RyYW5zZm9ybUxheWVyKQogICAgICAg
ICBtX3RyYW5zZm9ybUxheWVyLT5jbGVhclJlbmRlclN1cmZhY2UoKTsKLSAgICB9CiB9CiAKIHZv
aWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXROYW1lKGNvbnN0IFN0cmluZyYgaW5OYW1lKQpA
QCAtMzI3LDcgKzMyMyw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRDb250ZW50
c1RvSW1hZ2UoSW1hZ2UqIGltYWdlKQogICAgIGJvb2wgY2hpbGRyZW5DaGFuZ2VkID0gZmFsc2U7
CiAgICAgaWYgKGltYWdlKSB7CiAgICAgICAgIGlmICghbV9jb250ZW50c0xheWVyLmdldCgpIHx8
IG1fY29udGVudHNMYXllclB1cnBvc2UgIT0gQ29udGVudHNMYXllckZvckltYWdlKSB7Ci0gICAg
ICAgICAgICBSZWZQdHI8SW1hZ2VMYXllckNocm9taXVtPiBpbWFnZUxheWVyID0gSW1hZ2VMYXll
ckNocm9taXVtOjpjcmVhdGUodGhpcyk7CisgICAgICAgICAgICBSZWZQdHI8SW1hZ2VMYXllckNo
cm9taXVtPiBpbWFnZUxheWVyID0gSW1hZ2VMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICAg
ICAgICAgIHNldHVwQ29udGVudHNMYXllcihpbWFnZUxheWVyLmdldCgpKTsKICAgICAgICAgICAg
IG1fY29udGVudHNMYXllclB1cnBvc2UgPSBDb250ZW50c0xheWVyRm9ySW1hZ2U7CiAgICAgICAg
ICAgICBjaGlsZHJlbkNoYW5nZWQgPSB0cnVlOwpAQCAtMzUzLDcgKzM0OSw2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllckNocm9taXVtOjpzZXRDb250ZW50c1RvQ2FudmFzKFBsYXRmb3JtTGF5ZXIqIHBs
YXRmb3JtTGF5ZXIpCiB7CiAgICAgYm9vbCBjaGlsZHJlbkNoYW5nZWQgPSBmYWxzZTsKICAgICBp
ZiAocGxhdGZvcm1MYXllcikgewotICAgICAgICBwbGF0Zm9ybUxheWVyLT5zZXREZWxlZ2F0ZSh0
aGlzKTsKICAgICAgICAgaWYgKG1fY29udGVudHNMYXllci5nZXQoKSAhPSBwbGF0Zm9ybUxheWVy
KSB7CiAgICAgICAgICAgICBzZXR1cENvbnRlbnRzTGF5ZXIocGxhdGZvcm1MYXllcik7CiAgICAg
ICAgICAgICBtX2NvbnRlbnRzTGF5ZXJQdXJwb3NlID0gQ29udGVudHNMYXllckZvckNhbnZhczsK
QEAgLTM4Myw3ICszNzgsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVu
dHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqIGxheWVyKQogICAgICAgICAgICAgbV9jb250ZW50c0xh
eWVyUHVycG9zZSA9IENvbnRlbnRzTGF5ZXJGb3JWaWRlbzsKICAgICAgICAgICAgIGNoaWxkcmVu
Q2hhbmdlZCA9IHRydWU7CiAgICAgICAgIH0KLSAgICAgICAgbGF5ZXItPnNldERlbGVnYXRlKHRo
aXMpOwogICAgICAgICBsYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7CiAgICAgICAgIHVwZGF0ZUNv
bnRlbnRzUmVjdCgpOwogICAgIH0gZWxzZSB7CkBAIC01MjgsNyArNTIyLDcgQEAgdm9pZCBHcmFw
aGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZUxheWVyUHJlc2VydmVzM0QoKQogewogICAgIGlmICht
X3ByZXNlcnZlczNEICYmICFtX3RyYW5zZm9ybUxheWVyKSB7CiAgICAgICAgIC8vIENyZWF0ZSB0
aGUgdHJhbnNmb3JtIGxheWVyLgotICAgICAgICBtX3RyYW5zZm9ybUxheWVyID0gTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKHRoaXMpOworICAgICAgICBtX3RyYW5zZm9ybUxheWVyID0gTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKCk7CiAgICAgICAgIG1fdHJhbnNmb3JtTGF5ZXItPnNldFByZXNlcnZlczNE
KHRydWUpOwogCiAgICAgICAgIC8vIENvcHkgdGhlIHBvc2l0aW9uIGZyb20gdGhpcyBsYXllci4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dy
YXBoaWNzTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKaW5kZXggZGZhMTA5ZDNlMDM5ZTcwYTZk
NWZkZTg3ZWFmNzY4MTQzMDEzYWJiNy4uMzliMzY3YjlkM2YwZTJmODNhMzIwZjkwMmI1NDA2MmZi
OTMxZTg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKQEAgLTMzLDYgKzMz
LDcgQEAKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAorI2luY2x1ZGUgIkNv
bnRlbnRMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTQx
LDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBMYXllckNocm9taXVtOwog
Ci1jbGFzcyBHcmFwaGljc0xheWVyQ2hyb21pdW0gOiBwdWJsaWMgR3JhcGhpY3NMYXllciwgcHVi
bGljIENDTGF5ZXJEZWxlZ2F0ZSB7CitjbGFzcyBHcmFwaGljc0xheWVyQ2hyb21pdW0gOiBwdWJs
aWMgR3JhcGhpY3NMYXllciwgcHVibGljIENvbnRlbnRMYXllckRlbGVnYXRlIHsKIHB1YmxpYzoK
ICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW0oR3JhcGhpY3NMYXllckNsaWVudCopOwogICAgIHZp
cnR1YWwgfkdyYXBoaWNzTGF5ZXJDaHJvbWl1bSgpOwpAQCAtOTcsNyArOTgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldERlYnVnQm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9y
ZGVyV2lkdGgpOwogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5n
ZWQoKTsKIAotICAgIC8vIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGltcGxlbWVudCB0aGUgQ0NM
YXllckRlbGVnYXRlIGludGVyZmFjZS4KKyAgICAvLyBDb250ZW50TGF5ZXJEZWxlZ2F0ZSBpbXBs
ZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRl
eHQmLCBjb25zdCBJbnRSZWN0JiBjbGlwKTsKIAogICAgIC8vIEV4cG9zZWQgZm9yIHRlc3RzLgpA
QCAtMTMwLDcgKzEzMSw3IEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcgbV9uYW1lQmFzZTsKIAot
ICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBtX2xheWVyOworICAgIFJlZlB0cjxDb250ZW50TGF5
ZXJDaHJvbWl1bT4gbV9sYXllcjsKICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbV90cmFuc2Zv
cm1MYXllcjsKICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbV9jb250ZW50c0xheWVyOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFn
ZUxheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcAppbmRleCAzNzliNjZmYzkzMTEzYjNhMmE0MzU0
NzYwOWU4ZThjYzg3ODY4ODgxLi4wMTU0ZmIyODMxNGYzZTZjOTI0MDQ3YmI0ODM2NzM2OTJkZmNm
YWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9JbWFnZUxheWVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTEyOSwxMyArMTI5LDEz
IEBAIHByaXZhdGU6CiAgICAgTGF5ZXJUZXh0dXJlU3ViSW1hZ2UgbV90ZXhTdWJJbWFnZTsKIH07
CiAKLVBhc3NSZWZQdHI8SW1hZ2VMYXllckNocm9taXVtPiBJbWFnZUxheWVyQ2hyb21pdW06OmNy
ZWF0ZShDQ0xheWVyRGVsZWdhdGUqIGRlbGVnYXRlKQorUGFzc1JlZlB0cjxJbWFnZUxheWVyQ2hy
b21pdW0+IEltYWdlTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEltYWdlTGF5ZXJDaHJvbWl1bShkZWxlZ2F0ZSkpOworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgSW1hZ2VMYXllckNocm9taXVtKCkpOwogfQogCi1JbWFnZUxheWVyQ2hyb21pdW06Oklt
YWdlTGF5ZXJDaHJvbWl1bShDQ0xheWVyRGVsZWdhdGUqIGRlbGVnYXRlKQotICAgIDogVGlsZWRM
YXllckNocm9taXVtKGRlbGVnYXRlKQorSW1hZ2VMYXllckNocm9taXVtOjpJbWFnZUxheWVyQ2hy
b21pdW0oKQorICAgIDogVGlsZWRMYXllckNocm9taXVtKCkKICAgICAsIG1faW1hZ2VGb3JDdXJy
ZW50RnJhbWUoMCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmgKaW5kZXggMTI1OWE2
NjNjNGNhMzZkNTkwN2Q0ZGFhZTY0NzFhZTk0MTczNGNjNi4uZDcxMjkyNDUxYzM1NTVlYWYwYzE2
Y2Y5ZjJjM2YzOTViZTA3NTMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmgKQEAgLTQ5
LDcgKzQ5LDcgQEAgY2xhc3MgSW1hZ2VMYXllclRleHR1cmVVcGRhdGVyOwogLy8gQSBMYXllciB0
aGF0IGNvbnRhaW5zIG9ubHkgYW4gSW1hZ2UgZWxlbWVudC4KIGNsYXNzIEltYWdlTGF5ZXJDaHJv
bWl1bSA6IHB1YmxpYyBUaWxlZExheWVyQ2hyb21pdW0gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEltYWdlTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKENDTGF5ZXJEZWxlZ2F0ZSopOwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEltYWdlTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKCk7CiAgICAg
dmlydHVhbCB+SW1hZ2VMYXllckNocm9taXVtKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgZHJhd3ND
b250ZW50KCkgY29uc3Q7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENv
bnRlbnRzKEltYWdlKiBpbWFnZSk7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgSW1hZ2VMYXll
ckNocm9taXVtKENDTGF5ZXJEZWxlZ2F0ZSopOworICAgIEltYWdlTGF5ZXJDaHJvbWl1bSgpOwog
CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZVRleHR1cmVVcGRhdGVyKGNvbnN0IENDTGF5ZXJUcmVl
SG9zdCopOwogICAgIHZvaWQgc2V0VGlsaW5nT3B0aW9uKFRpbGluZ09wdGlvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uY3BwCmluZGV4IDJkZjA1YjU5Y2I4NWFkN2MwODcwMThjYzI1NmVlMTc0MDk0Yjli
ZDUuLjYyMjBlMjdiYWIwM2Q1MDMyOTRlNGQ2M2Y5NTYyMjczMGM5NjM5ZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
Q2hyb21pdW0uY3BwCkBAIC00OSwxNCArNDksMTMgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
c3RhdGljIGludCBzX25leHRMYXllcklkID0gMTsKIAotUGFzc1JlZlB0cjxMYXllckNocm9taXVt
PiBMYXllckNocm9taXVtOjpjcmVhdGUoQ0NMYXllckRlbGVnYXRlKiBkZWxlZ2F0ZSkKK1Bhc3NS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IExheWVyQ2hyb21pdW0oZGVsZWdhdGUpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IExheWVyQ2hyb21pdW0oKSk7CiB9CiAKLUxheWVyQ2hyb21pdW06OkxheWVyQ2hy
b21pdW0oQ0NMYXllckRlbGVnYXRlKiBkZWxlZ2F0ZSkKLSAgICA6IG1fZGVsZWdhdGUoZGVsZWdh
dGUpCi0gICAgLCBtX25lZWRzRGlzcGxheShmYWxzZSkKK0xheWVyQ2hyb21pdW06OkxheWVyQ2hy
b21pdW0oKQorICAgIDogbV9uZWVkc0Rpc3BsYXkoZmFsc2UpCiAgICAgLCBtX2xheWVySWQoc19u
ZXh0TGF5ZXJJZCsrKQogICAgICwgbV9wYXJlbnQoMCkKICAgICAsIG1fc2Nyb2xsYWJsZShmYWxz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyQ2hyb21pdW0uaAppbmRleCA4OTg0NWE1MThlYzc0ZGNmNDQ1NGZhOWRlY2QxMDVh
MGQzNjg5Mjg3Li4yMGM4MTJiZTM1ZDlkYmIwOGNjNmRlYTYzNjgzMjhjN2RhZjlmNThjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNo
cm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJDaHJvbWl1bS5oCkBAIC01NiwxOCArNTYsMTIgQEAgY2xhc3MgQ0NMYXllclRyZWVIb3N0
OwogY2xhc3MgQ0NUZXh0dXJlVXBkYXRlcjsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogCi1j
bGFzcyBDQ0xheWVyRGVsZWdhdGUgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNDTGF5ZXJEZWxl
Z2F0ZSgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBwYWludENvbnRlbnRzKEdyYXBoaWNzQ29udGV4
dCYsIGNvbnN0IEludFJlY3QmIGNsaXApID0gMDsKLX07Ci0KIC8vIEJhc2UgY2xhc3MgZm9yIGNv
bXBvc2l0ZWQgbGF5ZXJzLiBTcGVjaWFsIGxheWVyIHR5cGVzIGFyZSBkZXJpdmVkIGZyb20KIC8v
IHRoaXMgY2xhc3MuCiBjbGFzcyBMYXllckNocm9taXVtIDogcHVibGljIFJlZkNvdW50ZWQ8TGF5
ZXJDaHJvbWl1bT4gewogICAgIGZyaWVuZCBjbGFzcyBMYXllclRpbGVyQ2hyb21pdW07CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY3JlYXRlKENDTGF5ZXJE
ZWxlZ2F0ZSopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IGNyZWF0ZSgp
OwogCiAgICAgdmlydHVhbCB+TGF5ZXJDaHJvbWl1bSgpOwogCkBAIC0xNDksOCArMTQzLDYgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldExheWVyVHJlZUhvc3QoQ0NMYXllclRyZWVI
b3N0Kik7CiAKLSAgICB2b2lkIHNldERlbGVnYXRlKENDTGF5ZXJEZWxlZ2F0ZSogZGVsZWdhdGUp
IHsgbV9kZWxlZ2F0ZSA9IGRlbGVnYXRlOyB9Ci0KICAgICB2b2lkIHNldElzRHJhd2FibGUoYm9v
bCk7CiAKICAgICB2b2lkIHNldFJlcGxpY2FMYXllcihMYXllckNocm9taXVtKik7CkBAIC0yMDQs
OCArMTk2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYW51cFJlc291cmNlc1JlY3Vyc2l2ZSgp
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgQ0NMYXllckRlbGVnYXRlKiBtX2RlbGVnYXRlOwotICAgIGV4
cGxpY2l0IExheWVyQ2hyb21pdW0oQ0NMYXllckRlbGVnYXRlKik7CisgICAgTGF5ZXJDaHJvbWl1
bSgpOwogCiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgdG8gY2xlYW4gdXAgcmVzb3VyY2VzIGJlaW5n
IGhlbGQgaW4gdGhlIHNhbWUgY29udGV4dCBhcwogICAgIC8vIGxheWVyUmVuZGVyZXJDb250ZXh0
KCkuIFN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGlmIHRoZXkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1BsdWdpbkxh
eWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUGx1Z2luTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZTNjNWM0OGY3OTIwZmVlYzcwOGU0ZGFj
N2FlZjY0ZTIzZThhYWYwMC4uMDc5YWQyZWRlOTU0NzU1ODJiODcwNzI5YTcxYTVkNjFiZDI4YWI0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
UGx1Z2luTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vUGx1Z2luTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTM2LDEzICszNiwxMyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UGx1Z2luTGF5ZXJDaHJvbWl1
bT4gUGx1Z2luTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKENDTGF5ZXJEZWxlZ2F0ZSogZGVsZWdhdGUp
CitQYXNzUmVmUHRyPFBsdWdpbkxheWVyQ2hyb21pdW0+IFBsdWdpbkxheWVyQ2hyb21pdW06OmNy
ZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQbHVnaW5MYXllckNocm9taXVtKGRl
bGVnYXRlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQbHVnaW5MYXllckNocm9taXVtKTsK
IH0KIAotUGx1Z2luTGF5ZXJDaHJvbWl1bTo6UGx1Z2luTGF5ZXJDaHJvbWl1bShDQ0xheWVyRGVs
ZWdhdGUqIGRlbGVnYXRlKQotICAgIDogTGF5ZXJDaHJvbWl1bShkZWxlZ2F0ZSkKK1BsdWdpbkxh
eWVyQ2hyb21pdW06OlBsdWdpbkxheWVyQ2hyb21pdW0oKQorICAgIDogTGF5ZXJDaHJvbWl1bSgp
CiAgICAgLCBtX3RleHR1cmVJZCgwKQogICAgICwgbV9mbGlwcGVkKHRydWUpCiAgICAgLCBtX3V2
UmVjdCgwLCAwLCAxLCAxKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vUGx1Z2luTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUGx1Z2luTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDBmMmY0
YmU3ZjQ2Yjc4YjZlODFiMzMyMmY3YWMzYTQ3MjJhZDY1ZjAuLjg0MzY1Njk1YmIxZGRjNjUyMzFh
ZGQwNGY2ZjBkODMwMDA5MWUwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1BsdWdpbkxheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9QbHVnaW5MYXllckNocm9taXVtLmgKQEAg
LTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQSBMYXllciBjb250YWluaW5n
IGEgdGhlIHJlbmRlcmVkIG91dHB1dCBvZiBhIHBsdWdpbiBpbnN0YW5jZS4KIGNsYXNzIFBsdWdp
bkxheWVyQ2hyb21pdW0gOiBwdWJsaWMgTGF5ZXJDaHJvbWl1bSB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8UGx1Z2luTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKENDTGF5ZXJEZWxlZ2F0
ZSogPSAwKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQbHVnaW5MYXllckNocm9taXVtPiBjcmVh
dGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ29tcG9zaXRvclJlc291cmNlcyhHcmFwaGlj
c0NvbnRleHQzRCosIENDVGV4dHVyZVVwZGF0ZXImKTsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxDQ0xheWVySW1wbD4gY3JlYXRlQ0NMYXllckltcGwoKTsKQEAgLTU4LDcgKzU4LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgaW52YWxpZGF0ZVJlY3QoY29uc3QgRmxvYXRSZWN0JiBkaXJ0eVJlY3Qp
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgUGx1Z2luTGF5ZXJDaHJvbWl1bShDQ0xheWVy
RGVsZWdhdGUqKTsKKyAgICBQbHVnaW5MYXllckNocm9taXVtKCk7CiAKIHByaXZhdGU6CiAgICAg
dW5zaWduZWQgbV90ZXh0dXJlSWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmNwcAppbmRl
eCA3MTNiNGUwZjIxM2IzNmQ3OTZhNDMxMzQyNjJjYjBmNjBjYjA2Yjg3Li4xNDMwYTYxNjc4OTMy
ODM5ZjQwYzViM2QxYjliYjc0Zjc3YTlhNTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UaWxlZExheWVyQ2hyb21pdW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVkTGF5ZXJDaHJvbWl1
bS5jcHAKQEAgLTcxLDggKzcxLDggQEAgcHJpdmF0ZToKICAgICBPd25QdHI8TGF5ZXJUZXh0dXJl
VXBkYXRlcjo6VGV4dHVyZT4gbV90ZXh0dXJlOwogfTsKIAotVGlsZWRMYXllckNocm9taXVtOjpU
aWxlZExheWVyQ2hyb21pdW0oQ0NMYXllckRlbGVnYXRlKiBkZWxlZ2F0ZSkKLSAgICA6IExheWVy
Q2hyb21pdW0oZGVsZWdhdGUpCitUaWxlZExheWVyQ2hyb21pdW06OlRpbGVkTGF5ZXJDaHJvbWl1
bSgpCisgICAgOiBMYXllckNocm9taXVtKCkKICAgICAsIG1fdGV4dHVyZUZvcm1hdChHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNKQogICAgICwgbV9za2lwc0RyYXcoZmFsc2UpCiAgICAg
LCBtX3NraXBzSWRsZVBhaW50KGZhbHNlKQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgVGlsZWRM
YXllckNocm9taXVtOjpzZXRCb3JkZXJUZXhlbE9wdGlvbihDQ0xheWVyVGlsaW5nRGF0YTo6Qm9y
ZGVyVGV4ZWxPcHRpCiAKIGJvb2wgVGlsZWRMYXllckNocm9taXVtOjpkcmF3c0NvbnRlbnQoKSBj
b25zdAogewotICAgIGlmICghTGF5ZXJDaHJvbWl1bTo6ZHJhd3NDb250ZW50KCkgfHwgIW1fZGVs
ZWdhdGUpCisgICAgaWYgKCFMYXllckNocm9taXVtOjpkcmF3c0NvbnRlbnQoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fdGlsaW5nT3B0aW9uID09IE5ldmVyVGlsZSAmJiBt
X3RpbGVyLT5udW1UaWxlcygpID4gMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1RpbGVkTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmgKaW5kZXgg
ZjBhYjA1N2VmZjIzMDYyNzcxNTMzZDA3ZDg3NDIwYzM1OGFmNWNmNC4uYzEyZTkxYWE0ZjgyNjli
YmM1OTI1M2FmMzZlMWJhNmUyNzRkMDA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGlsZWRMYXllckNocm9taXVtLmgK
QEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJvdGVjdFRpbGVUZXh0dXJlcyhj
b25zdCBJbnRSZWN0JiBsYXllclJlY3QpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgVGls
ZWRMYXllckNocm9taXVtKENDTGF5ZXJEZWxlZ2F0ZSopOworICAgIFRpbGVkTGF5ZXJDaHJvbWl1
bSgpOwogCiAgICAgdmlydHVhbCB2b2lkIGNsZWFudXBSZXNvdXJjZXMoKTsKICAgICB2b2lkIHVw
ZGF0ZVRpbGVTaXplQW5kVGlsaW5nT3B0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9MYXllckNocm9taXVt
LmNwcAppbmRleCAwZTBmY2I2NjViNDA0MTM0M2QzZGQxY2ZjNGFmODMzOGFhNjUwYjljLi5hZTJh
ZThjODBlMjJhMTkzOGFlYjQ5YTQ2NzkzZTIzMGUyOGI4MjhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5
ZXJDaHJvbWl1bS5jcHAKQEAgLTM2LDE0ICszNiwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBhc3NSZWZQdHI8VmlkZW9MYXllckNocm9taXVtPiBWaWRlb0xheWVyQ2hyb21pdW06OmNy
ZWF0ZShDQ0xheWVyRGVsZWdhdGUqIGRlbGVnYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvRnJhbWVQcm92aWRlciogcHJv
dmlkZXIpCitQYXNzUmVmUHRyPFZpZGVvTGF5ZXJDaHJvbWl1bT4gVmlkZW9MYXllckNocm9taXVt
OjpjcmVhdGUoVmlkZW9GcmFtZVByb3ZpZGVyKiBwcm92aWRlcikKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFZpZGVvTGF5ZXJDaHJvbWl1bShkZWxlZ2F0ZSwgcHJvdmlkZXIpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFZpZGVvTGF5ZXJDaHJvbWl1bShwcm92aWRlcikpOwogfQogCi1W
aWRlb0xheWVyQ2hyb21pdW06OlZpZGVvTGF5ZXJDaHJvbWl1bShDQ0xheWVyRGVsZWdhdGUqIGRl
bGVnYXRlLCBWaWRlb0ZyYW1lUHJvdmlkZXIqIHByb3ZpZGVyKQotICAgIDogTGF5ZXJDaHJvbWl1
bShkZWxlZ2F0ZSkKK1ZpZGVvTGF5ZXJDaHJvbWl1bTo6VmlkZW9MYXllckNocm9taXVtKFZpZGVv
RnJhbWVQcm92aWRlciogcHJvdmlkZXIpCisgICAgOiBMYXllckNocm9taXVtKCkKICAgICAsIG1f
cHJvdmlkZXIocHJvdmlkZXIpCiB7CiAgICAgQVNTRVJUKG1fcHJvdmlkZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9MYXllckNo
cm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRl
b0xheWVyQ2hyb21pdW0uaAppbmRleCBkM2JlZDJiMTAzZTE4ODQ0NjMzNWMyMzQ1ZDU4Mjg2N2Fh
MjdlMGNjLi44Nzg4MDZlMjZkYjU0NzMwMjI0MTYyMzBlYzEwNWZhYmY5YjhlNjRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xheWVy
Q2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9WaWRlb0xheWVyQ2hyb21pdW0uaApAQCAtNDUsMTQgKzQ1LDEzIEBAIGNsYXNzIFZpZGVvRnJh
bWVQcm92aWRlcjsKIGNsYXNzIFZpZGVvTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBMYXllckNocm9t
aXVtIHsKIHB1YmxpYzoKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZpZGVvTGF5ZXJDaHJvbWl1
bT4gY3JlYXRlKENDTGF5ZXJEZWxlZ2F0ZSogPSAwLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFZpZGVvRnJhbWVQcm92aWRlciogPSAwKTsKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxWaWRlb0xheWVyQ2hyb21pdW0+IGNyZWF0ZShWaWRlb0ZyYW1lUHJv
dmlkZXIqID0gMCk7CiAgICAgdmlydHVhbCB+VmlkZW9MYXllckNocm9taXVtKCk7CiAKICAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8Q0NMYXllckltcGw+IGNyZWF0ZUNDTGF5ZXJJbXBsKCk7CiAKIHBy
aXZhdGU6Ci0gICAgVmlkZW9MYXllckNocm9taXVtKENDTGF5ZXJEZWxlZ2F0ZSosIFZpZGVvRnJh
bWVQcm92aWRlciopOworICAgIGV4cGxpY2l0IFZpZGVvTGF5ZXJDaHJvbWl1bShWaWRlb0ZyYW1l
UHJvdmlkZXIqKTsKIAogICAgIC8vIFRoaXMgcG9pbnRlciBpcyBvbmx5IGZvciBwYXNzaW5nIHRv
IENDVmlkZW9MYXllckltcGwncyBjb25zdHJ1Y3Rvci4gSXQgc2hvdWxkIG5ldmVyIGJlIGRlcmVm
ZXJlbmNlZCBieSB0aGlzIGNsYXNzLgogICAgIFZpZGVvRnJhbWVQcm92aWRlciogbV9wcm92aWRl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwCmluZGV4IDcwODRkNjZmZjFmNzFkM2Vi
MjljZDAyZWZjYTljMmNiMmQ3OTk2ODcuLjc0ZGI3ZjEzZWM0ZjhmNGNhYWY2OGU1YWQ3NDc0NWJl
OTNiNzJmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmNwcApAQCAtNDIsMTMgKzQy
LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxXZWJHTExheWVyQ2hy
b21pdW0+IFdlYkdMTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKENDTGF5ZXJEZWxlZ2F0ZSogZGVsZWdh
dGUpCitQYXNzUmVmUHRyPFdlYkdMTGF5ZXJDaHJvbWl1bT4gV2ViR0xMYXllckNocm9taXVtOjpj
cmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR0xMYXllckNocm9taXVtKGRl
bGVnYXRlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJHTExheWVyQ2hyb21pdW0oKSk7
CiB9CiAKLVdlYkdMTGF5ZXJDaHJvbWl1bTo6V2ViR0xMYXllckNocm9taXVtKENDTGF5ZXJEZWxl
Z2F0ZSogZGVsZWdhdGUpCi0gICAgOiBDYW52YXNMYXllckNocm9taXVtKGRlbGVnYXRlKQorV2Vi
R0xMYXllckNocm9taXVtOjpXZWJHTExheWVyQ2hyb21pdW0oKQorICAgIDogQ2FudmFzTGF5ZXJD
aHJvbWl1bSgpCiAgICAgLCBtX2hhc0FscGhhKHRydWUpCiAgICAgLCBtX3ByZW11bHRpcGxpZWRB
bHBoYSh0cnVlKQogICAgICwgbV90ZXh0dXJlSWQoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVt
LmgKaW5kZXggZWI1MTQ2ZWI3MzkwMzBmYWJhYzQzOTYyN2U1YzdjMDQxNmY1YTU2MS4uNGRjNjhh
MzMwOGUzZjIzMzdiNGIyNjVjNDY1ZDc1ZGIyZGM2YTdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNo
cm9taXVtLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgV2ViR0xMYXllckNocm9taXVtUmF0ZUxp
bWl0VGFzazsKIC8vIEEgTGF5ZXIgY29udGFpbmluZyBhIFdlYkdMIGNhbnZhcwogY2xhc3MgV2Vi
R0xMYXllckNocm9taXVtIDogcHVibGljIENhbnZhc0xheWVyQ2hyb21pdW0gewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkdMTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKENDTGF5ZXJE
ZWxlZ2F0ZSogPSAwKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJHTExheWVyQ2hyb21pdW0+
IGNyZWF0ZSgpOwogCiAgICAgdmlydHVhbCB+V2ViR0xMYXllckNocm9taXVtKCk7CiAKQEAgLTYz
LDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RHJhd2luZ0J1ZmZlcihEcmF3aW5nQnVm
ZmVyKik7CiAgICAgRHJhd2luZ0J1ZmZlciogZHJhd2luZ0J1ZmZlcigpIGNvbnN0IHsgcmV0dXJu
IG1fZHJhd2luZ0J1ZmZlcjsgfQogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJHTExheWVyQ2hy
b21pdW0oQ0NMYXllckRlbGVnYXRlKik7CisgICAgV2ViR0xMYXllckNocm9taXVtKCk7CiAgICAg
ZnJpZW5kIGNsYXNzIFdlYkdMTGF5ZXJDaHJvbWl1bVJhdGVMaW1pdFRhc2s7CiAKICAgICBHcmFw
aGljc0NvbnRleHQzRCogbGF5ZXJSZW5kZXJlckNvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbnRlbnRMYXllckltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ29udGVudExheWVySW1wbC5jcHAKaW5kZXggZWEwODNkZTU2
MmE3ZWZhYTBhZjRkOGVjMjJlMmEwMGRlNzVjZjY2Ni4uNGY2NGQ1NDcxZTM5NjY1MGY3Y2E3NWU5
ZTE2MjVjNjZkNzJmMTFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViQ29udGVudExheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViQ29udGVudExheWVySW1wbC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgV2ViQ29udGVudExheWVy
SW1wbDo6V2ViQ29udGVudExheWVySW1wbChXZWJDb250ZW50TGF5ZXJDbGllbnQqIGNvbnRlbnRD
bGllbnQpCiAKIFdlYkNvbnRlbnRMYXllckltcGw6On5XZWJDb250ZW50TGF5ZXJJbXBsKCkKIHsK
LSAgICBzZXREZWxlZ2F0ZSgwKTsKKyAgICBjbGVhckRlbGVnYXRlKCk7CiB9CiAKIHZvaWQgV2Vi
Q29udGVudExheWVySW1wbDo6c2V0RHJhd3NDb250ZW50KGJvb2wgZHJhd3NDb250ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29udGVudExheWVySW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29udGVudExheWVySW1wbC5oCmluZGV4
IGJjMWUyNjAwODhiNDc4OTI4OWUyNWVhNDlkNDM4M2M3ZTAyMTdiNjIuLjUxZjM0NGY3Y2FmMTI3
MTEyNmFjN2I0MjY4ZWQ1NDYxMjE0MjE5ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkNvbnRlbnRMYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJDb250ZW50TGF5ZXJJbXBsLmgKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgV2ViQ29udGVudExheWVyQ2xpZW50OwogCi1jbGFzcyBXZWJDb250
ZW50TGF5ZXJJbXBsIDogcHVibGljIFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtLCBwdWJs
aWMgV2ViQ29yZTo6Q0NMYXllckRlbGVnYXRlIHsKK2NsYXNzIFdlYkNvbnRlbnRMYXllckltcGwg
OiBwdWJsaWMgV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21pdW0sIHB1YmxpYyBXZWJDb3JlOjpD
b250ZW50TGF5ZXJEZWxlZ2F0ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
Q29udGVudExheWVySW1wbD4gY3JlYXRlKFdlYkNvbnRlbnRMYXllckNsaWVudCogY29udGVudENs
aWVudCk7CiAKQEAgLTQxLDYgKzQxLDggQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIGV4cGxp
Y2l0IFdlYkNvbnRlbnRMYXllckltcGwoV2ViQ29udGVudExheWVyQ2xpZW50KiBjb250ZW50Q2xp
ZW50KTsKICAgICB2aXJ0dWFsIH5XZWJDb250ZW50TGF5ZXJJbXBsKCk7CisKKyAgICAvLyBDb250
ZW50TGF5ZXJEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRD
b250ZW50cyhXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBjbGlwKTsKIAogICAgIFdlYkNvbnRlbnRMYXllckNsaWVudCogbV9jb250ZW50Q2xpZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRXh0ZXJuYWxUZXh0dXJl
TGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4
dHVyZUxheWVySW1wbC5jcHAKaW5kZXggNGQ0MzlmZDQzNGJlYzNmNTE2NDk5ZGFiNDEzMzUyYzRj
ZDZkMTJhOC4uZWM2YzI5MDYwMDUyMzU2MzY0ZGJkNjJlNjNjNGExNDMzOTBjMDQ5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFeHRlcm5hbFRleHR1
cmVMYXllckltcGwuY3BwCkBAIC0zOSw3ICszOSw3IEBAIFBhc3NSZWZQdHI8V2ViRXh0ZXJuYWxU
ZXh0dXJlTGF5ZXJJbXBsPiBXZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGw6OmNyZWF0ZSgpCiB9
CiAKIFdlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbDo6V2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJ
bXBsKCkKLSAgICA6IFBsdWdpbkxheWVyQ2hyb21pdW0odGhpcykKKyAgICA6IFBsdWdpbkxheWVy
Q2hyb21pdW0oKQogewogICAgIHNldEZsaXBwZWQoZmFsc2UpOwogICAgIHNldElzRHJhd2FibGUo
dHJ1ZSk7CkBAIC00Nyw3ICs0Nyw2IEBAIFdlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbDo6V2Vi
RXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsKCkKIAogV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBs
Ojp+V2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsKCkKIHsKLSAgICBzZXREZWxlZ2F0ZSgwKTsK
IH0KIAogYm9vbCBXZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGw6OmRyYXdzQ29udGVudCgpIGNv
bnN0CkBAIC01NSw4ICs1NCw0IEBAIGJvb2wgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsOjpk
cmF3c0NvbnRlbnQoKSBjb25zdAogICAgIHJldHVybiAhIXRleHR1cmVJZCgpICYmIExheWVyQ2hy
b21pdW06OmRyYXdzQ29udGVudCgpOwogfQogCi12b2lkIFdlYkV4dGVybmFsVGV4dHVyZUxheWVy
SW1wbDo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JikKLXsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCmluZGV4IDFhZDJiODE5
OThmMzBkZjZjOWVjYTA5M2EwYzJmZjVhYmVlOTFjZWEuLjdiNzNlNzA4MGRkNmYxZjA1ODRjNGM2
MjFkZjNhNmVlMzRhNzViNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCkBAIC0zMSwxNCArMzEsMTMgQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYkV4dGVybmFsVGV4dHVyZUxheWVySW1w
bCA6IHB1YmxpYyBXZWJDb3JlOjpQbHVnaW5MYXllckNocm9taXVtLCBwdWJsaWMgV2ViQ29yZTo6
Q0NMYXllckRlbGVnYXRlIHsKK2NsYXNzIFdlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbCA6IHB1
YmxpYyBXZWJDb3JlOjpQbHVnaW5MYXllckNocm9taXVtIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxXZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGw+IGNyZWF0ZSgpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsKCk7CiAgICAgdmlydHVhbCB+
V2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsKCk7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50Q29u
dGVudHMoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
Y2xpcCk7CiAgICAgdmlydHVhbCBib29sIGRyYXdzQ29udGVudCgpIGNvbnN0OwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVySW1wbC5jcHAKaW5kZXggMDdhMTYyZDY0
MWFjYmI1YjlhNDFhY2VlMjZkNzEwNjUzNjY0ZDY1YS4uMTM3MjFiZTBjYzVhNWMzN2YxNjM5Y2Fi
N2E1MWY5NDYwYzRkNTRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViTGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXll
ckltcGwuY3BwCkBAIC0zNiw3ICszNiw3IEBAIFBhc3NSZWZQdHI8V2ViTGF5ZXJJbXBsPiBXZWJM
YXllckltcGw6OmNyZWF0ZSgpCiB9CiAKIFdlYkxheWVySW1wbDo6V2ViTGF5ZXJJbXBsKCkKLSAg
ICA6IExheWVyQ2hyb21pdW0odGhpcykKKyAgICA6IExheWVyQ2hyb21pdW0oKQogewogICAgIC8v
IE1ha2Ugc3VyZSB0aGF0IHRoaXMgbGF5ZXIgZG9lcyBub3QgZHJhdyBjb250ZW50LiBUaGlzIHdh
eSB3ZSBkb24ndCBoYXZlIHRvIG92ZXJyaWRlCiAgICAgLy8gdGhlIGJhc2UgY2xhc3MgaW1wbGVt
ZW50YXRpb24gb2YgZHJhd3NDb250ZW50KCkuCkBAIC00NSw3ICs0NSw2IEBAIFdlYkxheWVySW1w
bDo6V2ViTGF5ZXJJbXBsKCkKIAogV2ViTGF5ZXJJbXBsOjp+V2ViTGF5ZXJJbXBsKCkKIHsKLSAg
ICBzZXREZWxlZ2F0ZSgwKTsKIH0KIAogdm9pZCBXZWJMYXllckltcGw6OnBhaW50Q29udGVudHMo
R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYgY2xpcCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmgKaW5kZXggNmJkYTgzZjU0N2MzMTg1MGEwYTdiMDljMTUz
MmEyOWU2YmMyODViZC4uMzg4NGM0MmJjZmFmNGNmYjVjMTMzZjhlMGUzMjE2YWU5OTg5MTg5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJJbXBsLmgKQEAgLTMxLDcgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYkxheWVySW1wbCA6IHB1Ymxp
YyBXZWJDb3JlOjpMYXllckNocm9taXVtLCBwdWJsaWMgV2ViQ29yZTo6Q0NMYXllckRlbGVnYXRl
IHsKK2NsYXNzIFdlYkxheWVySW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpMYXllckNocm9taXVtIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJMYXllckltcGw+IGNyZWF0ZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNs
aWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsLmNwcAppbmRleCA4OTFjMzFmM2ZiNzI0ZWMzM2JkODQ1N2Y4NmY3NmIxYmJmMmIy
ZDg2Li45YmNmMmJjZTc3OGE0MDczMTA3YThiYTk2ZjhlOWJlOGU0OGY1MDNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bC5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
cmVhZHlTdGF0ZUNoYW5nZWQoKQogICAgIG1fbWVkaWFQbGF5ZXItPnJlYWR5U3RhdGVDaGFuZ2Vk
KCk7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChoYXNWaWRlbygp
ICYmIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSAmJiAhbV92aWRlb0xheWVyKSB7Ci0g
ICAgICAgIG1fdmlkZW9MYXllciA9IFZpZGVvTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDAsIHRoaXMp
OworICAgICAgICBtX3ZpZGVvTGF5ZXIgPSBWaWRlb0xheWVyQ2hyb21pdW06OmNyZWF0ZSh0aGlz
KTsKICAgICAgICAgbV92aWRlb0xheWVyLT5zZXRPcGFxdWUobV9vcGFxdWUpOwogICAgIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmNwcAppbmRleCA5NWVjYTg4OTE1MTAxYWNiMzk4NWM1YzUzMDUxODk1YzU2NTBl
ZGZjLi5hOGY2ZDEyNmJjYTM0NTFkM2Q2YTcyYmIyZDQ1ZjdlNmJkN2QwYTc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNw
cApAQCAtNTM3LDcgKzUzNyw3IEBAIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OldlYlBsdWdpbkNv
bnRhaW5lckltcGwoV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQqIGVsZW1lCiAgICAgLCBtX2Vs
ZW1lbnQoZWxlbWVudCkKICAgICAsIG1fd2ViUGx1Z2luKHdlYlBsdWdpbikKICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgLCBtX3BsYXRmb3JtTGF5ZXIoUGx1Z2luTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKDApKQorICAgICwgbV9wbGF0Zm9ybUxheWVyKFBsdWdpbkxheWVyQ2hy
b21pdW06OmNyZWF0ZSgpKQogI2VuZGlmCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJJdGVyYXRvclRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0xheWVySXRlcmF0b3JUZXN0LmNwcAppbmRleCA0N2E2ZmQ0ZGM3OTBh
ODJlMzZiMTc4NzFhYzI1YmQzNjYxODgyNzc3Li5iZmY3ZTFiYTk3MTE0NTY4Y2FiZTM5NmNmYWU3
NzQ2ZjA3MzQwOThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
TGF5ZXJJdGVyYXRvclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NMYXllckl0ZXJhdG9yVGVzdC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIFRlc3RMYXllckNocm9taXVtKCkKLSAgICAgICAgOiBMYXllckNocm9taXVtKDAp
CisgICAgICAgIDogTGF5ZXJDaHJvbWl1bSgpCiAgICAgICAgICwgbV9kcmF3c0NvbnRlbnQodHJ1
ZSkKICAgICB7CiAgICAgICAgIHNldEJvdW5kcyhJbnRTaXplKDEwMCwgMTAwKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdENvbW1vblRl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RDb21t
b25UZXN0LmNwcAppbmRleCBhMzVkOTY1MjI0ZmJlNmRmNzk5NDY4NzI1ZjdkYjYwMjYwNDUwNDQ4
Li5kMmUxY2ZlZjkzZTI4MjE2NmRhODUxMjU2Yzk1YzBlNjUxMmM2OWJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0Q29tbW9u
VGVzdC5jcHAKQEAgLTcxLDggKzcxLDggQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggcmVtb3ZlM0RD
b21wb25lbnRPZk1hdHJpeChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0KQogCiBjbGFz
cyBMYXllckNocm9taXVtV2l0aEZvcmNlZERyYXdzQ29udGVudCA6IHB1YmxpYyBMYXllckNocm9t
aXVtIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBMYXllckNocm9taXVtV2l0aEZvcmNlZERyYXdz
Q29udGVudChDQ0xheWVyRGVsZWdhdGUqIGRlbGVnYXRlKQotICAgICAgICA6IExheWVyQ2hyb21p
dW0oZGVsZWdhdGUpCisgICAgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQoKQor
ICAgICAgICA6IExheWVyQ2hyb21pdW0oKQogICAgIHsKICAgICB9CiAKQEAgLTg2LDkgKzg2LDkg
QEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlUcmFuc2Zvcm1zRm9yTm9P
cExheWVyKQogICAgIC8vIHNjcmVlblNwYWNlVHJhbnNmb3JtLCBhbmQgdGhlIGhpZXJhcmNoeSBw
YXNzZWQgb24gdG8gY2hpbGRyZW4KICAgICAvLyBsYXllcnMgc2hvdWxkIGFsc28gYmUgaWRlbnRp
dHkgdHJhbnNmb3Jtcy4KIAotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBMYXll
ckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkID0g
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBncmFu
ZENoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9t
aXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJD
aHJvbWl1bT4gY2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5
ZXJDaHJvbWl1bT4gZ3JhbmRDaGlsZCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogICAgIHBh
cmVudC0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOwogICAgIHBhcmVudC0+YWRkQ2hpbGQoY2hpbGQp
OwogICAgIGNoaWxkLT5hZGRDaGlsZChncmFuZENoaWxkKTsKQEAgLTExNiw3ICsxMTYsNyBAQCBU
RVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVRyYW5zZm9ybXNGb3JTaW5nbGVM
YXllcikKICAgICAvLyBkaWZmZXJlbnQgcG9zaXRpb24uIFdoZW4gd2UgaW5pdGlhbGl6ZSBsYXll
cnMgZm9yIHRlc3RpbmcgaGVyZSwgd2UgbmVlZCB0byBpbml0aWFsaXplIHRoYXQgdW5pbnR1dGl2
ZSBwb3NpdGlvbiB2YWx1ZS4KIAogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0
cml4OwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBsYXllciA9IExheWVyQ2hyb21pdW06OmNy
ZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbGF5ZXIgPSBMYXllckNocm9taXVt
OjpjcmVhdGUoKTsKICAgICBsYXllci0+Y3JlYXRlUmVuZGVyU3VyZmFjZSgpOwogCiAgICAgLy8g
Q2FzZSAxOiBzZXR0aW5nIHRoZSBzdWJsYXllciB0cmFuc2Zvcm0gc2hvdWxkIG5vdCBhZmZlY3Qg
dGhpcyBsYXllcidzIGRyYXcgdHJhbnNmb3JtIG9yIHNjcmVlbi1zcGFjZSB0cmFuc2Zvcm0uCkBA
IC0xODEsOSArMTgxLDkgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlU
cmFuc2Zvcm1zRm9yU2luZ2xlTGF5ZXIpCiBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3Qs
IHZlcmlmeVRyYW5zZm9ybXNGb3JTaW1wbGVIaWVyYXJjaHkpCiB7CiAgICAgVHJhbnNmb3JtYXRp
b25NYXRyaXggaWRlbnRpdHlNYXRyaXg7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHBhcmVu
dCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4g
Y2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21p
dW0+IGdyYW5kQ2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7CisgICAgUmVmUHRyPExh
eWVyQ2hyb21pdW0+IHBhcmVudCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0
cjxMYXllckNocm9taXVtPiBjaGlsZCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJl
ZlB0cjxMYXllckNocm9taXVtPiBncmFuZENoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7
CiAgICAgcGFyZW50LT5jcmVhdGVSZW5kZXJTdXJmYWNlKCk7CiAgICAgcGFyZW50LT5hZGRDaGls
ZChjaGlsZCk7CiAgICAgY2hpbGQtPmFkZENoaWxkKGdyYW5kQ2hpbGQpOwpAQCAtMjYzLDkgKzI2
Myw5IEBAIFRFU1QoQ0NMYXllclRyZWVIb3N0Q29tbW9uVGVzdCwgdmVyaWZ5VHJhbnNmb3Jtc0Zv
clNpbXBsZUhpZXJhcmNoeSkKIAogVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJp
ZnlUcmFuc2Zvcm1zRm9yU2luZ2xlUmVuZGVyU3VyZmFjZSkKIHsKLSAgICBSZWZQdHI8TGF5ZXJD
aHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBjaGlsZCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQ
dHI8TGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQ+IGdyYW5kQ2hpbGQgPSBhZG9w
dFJlZihuZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQoMCkpOworICAgIFJl
ZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAg
ICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsK
KyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQ+IGdyYW5kQ2hp
bGQgPSBhZG9wdFJlZihuZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQoKSk7
CiAgICAgcGFyZW50LT5jcmVhdGVSZW5kZXJTdXJmYWNlKCk7CiAgICAgcGFyZW50LT5hZGRDaGls
ZChjaGlsZCk7CiAgICAgY2hpbGQtPmFkZENoaWxkKGdyYW5kQ2hpbGQpOwpAQCAtMzE4LDE1ICsz
MTgsMTUgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0LCB2ZXJpZnlUcmFuc2Zvcm1z
Rm9yUmVuZGVyU3VyZmFjZUhpZXJhcmNoeSkKICAgICAvLyAgIC0gU2FuaXR5IGNoZWNrIG9uIHJl
Y3Vyc2lvbjogdmVyaWZ5IHRyYW5zZm9ybXMgb2YgbGF5ZXJzIGRlc2NyaWJlZCB3LnIudC4gYSBy
ZW5kZXIgc3VyZmFjZSB0aGF0IGlzIGRlc2NyaWJlZCB3LnIudC4gYW4gYW5jZXN0b3IgcmVuZGVy
IHN1cmZhY2UuCiAgICAgLy8gICAtIHZlcmlmeWluZyB0aGF0IGVhY2ggbGF5ZXIgaGFzIGEgcmVm
ZXJlbmNlIHRvIHRoZSBjb3JyZWN0IHJlbmRlclN1cmZhY2UgYW5kIHRhcmdldFJlbmRlclN1cmZh
Y2UgdmFsdWVzLgogCi0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHBhcmVudCA9IExheWVyQ2hy
b21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcmVuZGVyU3VyZmFj
ZTEgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+
IHJlbmRlclN1cmZhY2UyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBjaGlsZE9mUm9vdCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAg
ICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRPZlJTMSA9IExheWVyQ2hyb21pdW06OmNyZWF0
ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRPZlJTMiA9IExheWVyQ2hyb21p
dW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gZ3JhbmRDaGlsZE9mUm9v
dCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bVdp
dGhGb3JjZWREcmF3c0NvbnRlbnQ+IGdyYW5kQ2hpbGRPZlJTMSA9IGFkb3B0UmVmKG5ldyBMYXll
ckNocm9taXVtV2l0aEZvcmNlZERyYXdzQ29udGVudCgwKSk7Ci0gICAgUmVmUHRyPExheWVyQ2hy
b21pdW1XaXRoRm9yY2VkRHJhd3NDb250ZW50PiBncmFuZENoaWxkT2ZSUzIgPSBhZG9wdFJlZihu
ZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQoMCkpOworICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQ
dHI8TGF5ZXJDaHJvbWl1bT4gcmVuZGVyU3VyZmFjZTEgPSBMYXllckNocm9taXVtOjpjcmVhdGUo
KTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcmVuZGVyU3VyZmFjZTIgPSBMYXllckNocm9t
aXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRPZlJvb3QgPSBM
YXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRP
ZlJTMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0cjxMYXllckNocm9taXVt
PiBjaGlsZE9mUlMyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVy
Q2hyb21pdW0+IGdyYW5kQ2hpbGRPZlJvb3QgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAg
ICBSZWZQdHI8TGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQ+IGdyYW5kQ2hpbGRP
ZlJTMSA9IGFkb3B0UmVmKG5ldyBMYXllckNocm9taXVtV2l0aEZvcmNlZERyYXdzQ29udGVudCgp
KTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQ+IGdyYW5k
Q2hpbGRPZlJTMiA9IGFkb3B0UmVmKG5ldyBMYXllckNocm9taXVtV2l0aEZvcmNlZERyYXdzQ29u
dGVudCgpKTsKICAgICBwYXJlbnQtPmNyZWF0ZVJlbmRlclN1cmZhY2UoKTsKICAgICBwYXJlbnQt
PmFkZENoaWxkKHJlbmRlclN1cmZhY2UxKTsKICAgICBwYXJlbnQtPmFkZENoaWxkKGNoaWxkT2ZS
b290KTsKQEAgLTQ1NCw5ICs0NTQsOSBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3Qs
IHZlcmlmeVRyYW5zZm9ybXNGb3JSZW5kZXJTdXJmYWNlSGllcmFyY2h5KQogCiBURVNUKENDTGF5
ZXJUcmVlSG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VMaXN0Rm9yQ2xpcExheWVy
KQogewotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpj
cmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHJlbmRlclN1cmZhY2UxID0gTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtV2l0aEZvcmNl
ZERyYXdzQ29udGVudD4gY2hpbGQgPSBhZG9wdFJlZihuZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3Jj
ZWREcmF3c0NvbnRlbnQoMCkpOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBM
YXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcmVuZGVy
U3VyZmFjZTEgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJv
bWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQ+IGNoaWxkID0gYWRvcHRSZWYobmV3IExheWVyQ2hy
b21pdW1XaXRoRm9yY2VkRHJhd3NDb250ZW50KCkpOwogICAgIHJlbmRlclN1cmZhY2UxLT5zZXRP
cGFjaXR5KDAuOSk7CiAKICAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBpZGVudGl0eU1h
dHJpeDsKQEAgLTQ4Myw5ICs0ODMsOSBAQCBURVNUKENDTGF5ZXJUcmVlSG9zdENvbW1vblRlc3Qs
IHZlcmlmeVJlbmRlclN1cmZhY2VMaXN0Rm9yQ2xpcExheWVyKQogCiBURVNUKENDTGF5ZXJUcmVl
SG9zdENvbW1vblRlc3QsIHZlcmlmeVJlbmRlclN1cmZhY2VMaXN0Rm9yVHJhbnNwYXJlbnRDaGls
ZCkKIHsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6
Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiByZW5kZXJTdXJmYWNlMSA9IExh
eWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bVdpdGhGb3Jj
ZWREcmF3c0NvbnRlbnQ+IGNoaWxkID0gYWRvcHRSZWYobmV3IExheWVyQ2hyb21pdW1XaXRoRm9y
Y2VkRHJhd3NDb250ZW50KDApKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0g
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHJlbmRl
clN1cmZhY2UxID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hy
b21pdW1XaXRoRm9yY2VkRHJhd3NDb250ZW50PiBjaGlsZCA9IGFkb3B0UmVmKG5ldyBMYXllckNo
cm9taXVtV2l0aEZvcmNlZERyYXdzQ29udGVudCgpKTsKICAgICByZW5kZXJTdXJmYWNlMS0+c2V0
T3BhY2l0eSgwKTsKIAogICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0
cml4OwpAQCAtNTI2LDEyICs1MjYsMTIgQEAgVEVTVChDQ0xheWVyVHJlZUhvc3RDb21tb25UZXN0
LCB2ZXJpZnlDbGlwUmVjdEN1bGxzUmVuZGVyU3VyZmFjZXMpCiAgICAgLy8KIAogICAgIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4IGlkZW50aXR5TWF0cml4OwotICAgIFJlZlB0cjxMYXllckNo
cm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExh
eWVyQ2hyb21pdW0+IGNoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0
cjxMYXllckNocm9taXVtPiBncmFuZENoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwot
ICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBncmVhdEdyYW5kQ2hpbGQgPSBMYXllckNocm9taXVt
OjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW1XaXRoRm9yY2VkRHJhd3NDb250
ZW50PiBsZWFmTm9kZTEgPSBhZG9wdFJlZihuZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3
c0NvbnRlbnQoMCkpOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtV2l0aEZvcmNlZERyYXdzQ29u
dGVudD4gbGVhZk5vZGUyID0gYWRvcHRSZWYobmV3IExheWVyQ2hyb21pdW1XaXRoRm9yY2VkRHJh
d3NDb250ZW50KDApKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkID0gTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGdyYW5kQ2hp
bGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4g
Z3JlYXRHcmFuZENoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExh
eWVyQ2hyb21pdW1XaXRoRm9yY2VkRHJhd3NDb250ZW50PiBsZWFmTm9kZTEgPSBhZG9wdFJlZihu
ZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQoKSk7CisgICAgUmVmUHRyPExh
eWVyQ2hyb21pdW1XaXRoRm9yY2VkRHJhd3NDb250ZW50PiBsZWFmTm9kZTIgPSBhZG9wdFJlZihu
ZXcgTGF5ZXJDaHJvbWl1bVdpdGhGb3JjZWREcmF3c0NvbnRlbnQoKSk7CiAgICAgcGFyZW50LT5j
cmVhdGVSZW5kZXJTdXJmYWNlKCk7CiAgICAgcGFyZW50LT5hZGRDaGlsZChjaGlsZCk7CiAgICAg
Y2hpbGQtPmFkZENoaWxkKGdyYW5kQ2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKaW5kZXggYmZhMWIwODIyMmU3ZWJk
MGZiZGU3Zjk4MGUxMjdkYzQwZmEwYzQyYS4uOTUxODU5NjUwNjI2OTQ4ZDBiNmQ1ZjY2ZTkzYjI3
YTkwOGNiMTA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xh
eWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
TGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0zOTUsNyArMzk1LDcgQEAgdm9pZCBDQ0xheWVyVHJl
ZUhvc3RUZXN0Ojpkb0JlZ2luVGVzdCgpCiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAg
ICBtX2NsaWVudCA9IE1vY2tMYXllclRyZWVIb3N0Q2xpZW50OjpjcmVhdGUodGhpcyk7CiAKLSAg
ICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcm9vdExheWVyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
KDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiByb290TGF5ZXIgPSBMYXllckNocm9taXVt
OjpjcmVhdGUoKTsKICAgICBtX2xheWVyVHJlZUhvc3QgPSBNb2NrTGF5ZXJUcmVlSG9zdDo6Y3Jl
YXRlKHRoaXMsIG1fY2xpZW50LmdldCgpLCByb290TGF5ZXIsIG1fc2V0dGluZ3MpOwogICAgIEFT
U0VSVF9UUlVFKG1fbGF5ZXJUcmVlSG9zdCk7CiAgICAgcm9vdExheWVyLT5zZXRMYXllclRyZWVI
b3N0KG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7CkBAIC05MTIsNyArOTEyLDcgQEAgVEVTVF9GKEND
TGF5ZXJUcmVlSG9zdFRlc3RTZXRWaXNpYmxlLCBydW5NdWx0aVRocmVhZCkKICAgICBydW5UZXN0
KHRydWUpOwogfQogCi1jbGFzcyBUZXN0T3BhY2l0eUNoYW5nZUxheWVyRGVsZWdhdGUgOiBwdWJs
aWMgQ0NMYXllckRlbGVnYXRlIHsKK2NsYXNzIFRlc3RPcGFjaXR5Q2hhbmdlTGF5ZXJEZWxlZ2F0
ZSA6IHB1YmxpYyBDb250ZW50TGF5ZXJEZWxlZ2F0ZSB7CiBwdWJsaWM6CiAgICAgVGVzdE9wYWNp
dHlDaGFuZ2VMYXllckRlbGVnYXRlKENDTGF5ZXJUcmVlSG9zdFRlc3QqIHRlc3QpCiAgICAgICAg
IDogbV90ZXN0KHRlc3QpCkBAIC05MzMsNyArOTMzLDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgQ29u
dGVudExheWVyQ2hyb21pdW1XaXRoVXBkYXRlVHJhY2tpbmcgOiBwdWJsaWMgQ29udGVudExheWVy
Q2hyb21pdW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENvbnRlbnRMYXllckNo
cm9taXVtV2l0aFVwZGF0ZVRyYWNraW5nPiBjcmVhdGUoQ0NMYXllckRlbGVnYXRlICpkZWxlZ2F0
ZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENvbnRlbnRMYXllckNocm9taXVtV2l0aFVwZGF0ZVRy
YWNraW5nKGRlbGVnYXRlKSk7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDb250ZW50TGF5ZXJD
aHJvbWl1bVdpdGhVcGRhdGVUcmFja2luZz4gY3JlYXRlKENvbnRlbnRMYXllckRlbGVnYXRlICpk
ZWxlZ2F0ZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENvbnRlbnRMYXllckNocm9taXVtV2l0aFVw
ZGF0ZVRyYWNraW5nKGRlbGVnYXRlKSk7IH0KIAogICAgIGludCBwYWludENvbnRlbnRzQ291bnQo
KSB7IHJldHVybiBtX3BhaW50Q29udGVudHNDb3VudDsgfQogICAgIGludCBpZGxlUGFpbnRDb250
ZW50c0NvdW50KCkgeyByZXR1cm4gbV9pZGxlUGFpbnRDb250ZW50c0NvdW50OyB9CkBAIC05NjEs
NyArOTYxLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBDb250
ZW50TGF5ZXJDaHJvbWl1bVdpdGhVcGRhdGVUcmFja2luZyhDQ0xheWVyRGVsZWdhdGUgKmRlbGVn
YXRlKQorICAgIGV4cGxpY2l0IENvbnRlbnRMYXllckNocm9taXVtV2l0aFVwZGF0ZVRyYWNraW5n
KENvbnRlbnRMYXllckRlbGVnYXRlKiBkZWxlZ2F0ZSkKICAgICAgICAgOiBDb250ZW50TGF5ZXJD
aHJvbWl1bShkZWxlZ2F0ZSkKICAgICAgICAgLCBtX3BhaW50Q29udGVudHNDb3VudCgwKQogICAg
ICAgICAsIG1faWRsZVBhaW50Q29udGVudHNDb3VudCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9MYXllckNocm9taXVtVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0xheWVyQ2hyb21pdW1UZXN0LmNwcAppbmRleCBiYzI3YzQzMjk5Njdj
YWFjNjgxYjM1MGRhMGJhMjQ3NTFjN2IyYzdjLi43YWRhZTRlODFmYTBlY2E3ZmJhYmFmYTdiYzk4
MDc0OGJjMDViZjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xh
eWVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xh
eWVyQ2hyb21pdW1UZXN0LmNwcApAQCAtMTM1LDEzICsxMzUsMTMgQEAgcHJvdGVjdGVkOgogCiAg
ICAgdm9pZCBjcmVhdGVTaW1wbGVUZXN0VHJlZSgpCiAgICAgewotICAgICAgICBtX3BhcmVudCA9
IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICAgICAgbV9jaGlsZDEgPSBMYXllckNocm9t
aXVtOjpjcmVhdGUoMCk7Ci0gICAgICAgIG1fY2hpbGQyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
KDApOwotICAgICAgICBtX2NoaWxkMyA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICAg
ICAgbV9ncmFuZENoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICAgICAgbV9n
cmFuZENoaWxkMiA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICAgICAgbV9ncmFuZENo
aWxkMyA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICAgICAgbV9wYXJlbnQgPSBMYXll
ckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICAgICAgbV9jaGlsZDEgPSBMYXllckNocm9taXVtOjpj
cmVhdGUoKTsKKyAgICAgICAgbV9jaGlsZDIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAg
ICAgICAgbV9jaGlsZDMgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICAgICAgbV9ncmFu
ZENoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgICAgICBtX2dyYW5kQ2hpbGQy
ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgICAgIG1fZ3JhbmRDaGlsZDMgPSBMYXll
ckNocm9taXVtOjpjcmVhdGUoKTsKIAogICAgICAgICBFWFBFQ1RfQ0FMTCgqbV9sYXllclRyZWVI
b3N0LCBzZXROZWVkc0NvbW1pdCgpKS5UaW1lcyhBbnlOdW1iZXIoKSk7CiAgICAgICAgIG1fbGF5
ZXJUcmVlSG9zdC0+c2V0Um9vdExheWVyKG1fcGFyZW50KTsKQEAgLTE2NCw3ICsxNjQsNyBAQCBw
cm90ZWN0ZWQ6CiAKIFRFU1RfRihMYXllckNocm9taXVtVGVzdCwgYmFzaWNDcmVhdGVBbmREZXN0
cm95KQogewotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBMYXllckNocm9t
aXVtOjpjcmVhdGUoMCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHRlc3RMYXllciA9IExh
eWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogICAgIEFTU0VSVF9UUlVFKHRlc3RMYXllcik7CiAKICAg
ICBFWFBFQ1RfQ0FMTCgqbV9sYXllclRyZWVIb3N0LCBzZXROZWVkc0NvbW1pdCgpKS5UaW1lcygw
KTsKQEAgLTE3Myw4ICsxNzMsOCBAQCBURVNUX0YoTGF5ZXJDaHJvbWl1bVRlc3QsIGJhc2ljQ3Jl
YXRlQW5kRGVzdHJveSkKIAogVEVTVF9GKExheWVyQ2hyb21pdW1UZXN0LCBhZGRBbmRSZW1vdmVD
aGlsZCkKIHsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1
bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZCA9IExheWVyQ2hy
b21pdW06OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkID0g
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CiAKICAgICAvLyBVcG9uIGNyZWF0aW9uLCBsYXllcnMg
c2hvdWxkIG5vdCBoYXZlIGNoaWxkcmVuIG9yIHBhcmVudC4KICAgICBBU1NFUlRfRVEoc3RhdGlj
X2Nhc3Q8c2l6ZV90PigwKSwgcGFyZW50LT5jaGlsZHJlbigpLnNpemUoKSk7CkBAIC0xOTQsMTEg
KzE5NCwxMSBAQCBURVNUX0YoTGF5ZXJDaHJvbWl1bVRlc3QsIGFkZEFuZFJlbW92ZUNoaWxkKQog
CiBURVNUX0YoTGF5ZXJDaHJvbWl1bVRlc3QsIGluc2VydENoaWxkKQogewotICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVm
UHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAg
ICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDAp
OwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDMgPSBMYXllckNocm9taXVtOjpjcmVh
dGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkNCA9IExheWVyQ2hyb21pdW06
OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IExheWVy
Q2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDIgPSBM
YXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQz
ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNo
aWxkNCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogCiAgICAgcGFyZW50LT5zZXRMYXllclRy
ZWVIb3N0KG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7CiAKQEAgLTI0MCw5ICsyNDAsOSBAQCBURVNU
X0YoTGF5ZXJDaHJvbWl1bVRlc3QsIGluc2VydENoaWxkKQogCiBURVNUX0YoTGF5ZXJDaHJvbWl1
bVRlc3QsIGluc2VydENoaWxkUGFzdEVuZE9mTGlzdCkKIHsKLSAgICBSZWZQdHI8TGF5ZXJDaHJv
bWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXll
ckNocm9taXVtPiBjaGlsZDEgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRy
PExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICBS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7Cisg
ICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgp
OworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDIgPSBMYXllckNocm9taXVtOjpjcmVh
dGUoKTsKIAogICAgIEFTU0VSVF9FUShzdGF0aWNfY2FzdDxzaXplX3Q+KDApLCBwYXJlbnQtPmNo
aWxkcmVuKCkuc2l6ZSgpKTsKIApAQCAtMjYyLDkgKzI2Miw5IEBAIFRFU1RfRihMYXllckNocm9t
aXVtVGVzdCwgaW5zZXJ0Q2hpbGRQYXN0RW5kT2ZMaXN0KQogCiBURVNUX0YoTGF5ZXJDaHJvbWl1
bVRlc3QsIGluc2VydFNhbWVDaGlsZFR3aWNlKQogewotICAgIFJlZlB0cjxMYXllckNocm9taXVt
PiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hy
b21pdW0+IGNoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5
ZXJDaHJvbWl1bT4gY2hpbGQyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOworICAgIFJlZlB0
cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQxID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7Cisg
ICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgp
OwogCiAgICAgcGFyZW50LT5zZXRMYXllclRyZWVIb3N0KG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7
CiAKQEAgLTI5MSw3ICsyOTEsNyBAQCBURVNUX0YoTGF5ZXJDaHJvbWl1bVRlc3QsIGluc2VydFNh
bWVDaGlsZFR3aWNlKQogVEVTVF9GKExheWVyQ2hyb21pdW1UZXN0LCByZXBsYWNlQ2hpbGRXaXRo
TmV3Q2hpbGQpCiB7CiAgICAgY3JlYXRlU2ltcGxlVGVzdFRyZWUoKTsKLSAgICBSZWZQdHI8TGF5
ZXJDaHJvbWl1bT4gY2hpbGQ0ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOworICAgIFJlZlB0
cjxMYXllckNocm9taXVtPiBjaGlsZDQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKIAogICAg
IEVYUEVDVF9GQUxTRShjaGlsZDQtPnBhcmVudCgpKTsKIApAQCAtMzExLDggKzMxMSw4IEBAIFRF
U1RfRihMYXllckNocm9taXVtVGVzdCwgcmVwbGFjZUNoaWxkV2l0aE5ld0NoaWxkVGhhdEhhc090
aGVyUGFyZW50KQogICAgIGNyZWF0ZVNpbXBsZVRlc3RUcmVlKCk7CiAKICAgICAvLyBjcmVhdGUg
YW5vdGhlciBzaW1wbGUgdHJlZSB3aXRoIHRlc3RMYXllciBhbmQgY2hpbGQ0LgotICAgIFJlZlB0
cjxMYXllckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0g
ICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkNCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgw
KTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gdGVzdExheWVyID0gTGF5ZXJDaHJvbWl1bTo6
Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkNCA9IExheWVyQ2hyb21p
dW06OmNyZWF0ZSgpOwogICAgIHRlc3RMYXllci0+YWRkQ2hpbGQoY2hpbGQ0KTsKICAgICBBU1NF
UlRfRVEoc3RhdGljX2Nhc3Q8c2l6ZV90PigxKSwgdGVzdExheWVyLT5jaGlsZHJlbigpLnNpemUo
KSk7CiAgICAgRVhQRUNUX0VRKGNoaWxkNCwgdGVzdExheWVyLT5jaGlsZHJlbigpWzBdKTsKQEAg
LTM1NiwxMSArMzU2LDExIEBAIFRFU1RfRihMYXllckNocm9taXVtVGVzdCwgcmVtb3ZlQWxsQ2hp
bGRyZW4pCiAKIFRFU1RfRihMYXllckNocm9taXVtVGVzdCwgc2V0Q2hpbGRyZW4pCiB7Ci0gICAg
UmVmUHRyPExheWVyQ2hyb21pdW0+IG9sZFBhcmVudCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgw
KTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbmV3UGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6
Y3JlYXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBvbGRQYXJlbnQgPSBMYXllckNo
cm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbmV3UGFyZW50ID0g
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CiAKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hp
bGQxID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVt
PiBjaGlsZDIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7CisgICAgUmVmUHRyPExheWVyQ2hy
b21pdW0+IGNoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0cjxMYXll
ckNocm9taXVtPiBjaGlsZDIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKIAogICAgIFZlY3Rv
cjxSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gPiBuZXdDaGlsZHJlbjsKICAgICBuZXdDaGlsZHJlbi5h
cHBlbmQoY2hpbGQxKTsKQEAgLTM5MCw3ICszOTAsNyBAQCBURVNUX0YoTGF5ZXJDaHJvbWl1bVRl
c3QsIGdldFJvb3RMYXllckFmdGVyVHJlZU1hbmlwdWxhdGlvbnMpCiAgICAgLy8gRm9yIHRoaXMg
dGVzdCB3ZSBkb24ndCBjYXJlIGFib3V0IHNldE5lZWRzQ29tbWl0IGNhbGxzLgogICAgIEVYUEVD
VF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIHNldE5lZWRzQ29tbWl0KCkpLlRpbWVzKEF0TGVhc3Qo
MSkpOwogCi0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkNCA9IExheWVyQ2hyb21pdW06
OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQ0ID0gTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKCk7CiAKICAgICBFWFBFQ1RfRVEobV9wYXJlbnQuZ2V0KCksIG1fcGFyZW50
LT5yb290TGF5ZXIoKSk7CiAgICAgRVhQRUNUX0VRKG1fcGFyZW50LmdldCgpLCBtX2NoaWxkMS0+
cm9vdExheWVyKCkpOwpAQCAtNDQzLDcgKzQ0Myw3IEBAIFRFU1RfRihMYXllckNocm9taXVtVGVz
dCwgY2hlY2tTZXROZWVkc0Rpc3BsYXlDYXVzZXNDb3JyZWN0QmVoYXZpb3IpCiAgICAgLy8gICAx
LiBzZXRzIG5lZWRzRGlzcGxheSBmbGFnIGFwcHJvcHJpYXRlbHkuCiAgICAgLy8gICAyLiBpbmRp
cmVjdGx5IGNhbGxzIHNldE5lZWRzQ29tbWl0LCBleGFjdGx5IG9uY2UgZm9yIGVhY2ggY2FsbCB0
byBzZXROZWVkc0Rpc3BsYXkuCiAKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gdGVzdExheWVy
ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiB0
ZXN0TGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICB0ZXN0TGF5ZXItPnNldExh
eWVyVHJlZUhvc3QobV9sYXllclRyZWVIb3N0LmdldCgpKTsKIAogICAgIEludFNpemUgdGVzdEJv
dW5kcyA9IEludFNpemUoNTAxLCA1MDgpOwpAQCAtNDU4LDcgKzQ1OCw3IEBAIFRFU1RfRihMYXll
ckNocm9taXVtVGVzdCwgY2hlY2tTZXROZWVkc0Rpc3BsYXlDYXVzZXNDb3JyZWN0QmVoYXZpb3Ip
CiAKICAgICAvLyBUaGlzIGlzIGp1c3QgaW5pdGlhbGl6YXRpb24sIGJ1dCBzZXROZWVkc0NvbW1p
dCBiZWhhdmlvciBpcyB2ZXJpZmllZCBhbnl3YXkgdG8gYXZvaWQgd2FybmluZ3MuCiAgICAgRVhF
Q1VURV9BTkRfVkVSSUZZX1NFVF9ORUVEU19DT01NSVRfQkVIQVZJT1IoMSwgdGVzdExheWVyLT5z
ZXRCb3VuZHModGVzdEJvdW5kcykpOwotICAgIHRlc3RMYXllciA9IExheWVyQ2hyb21pdW06OmNy
ZWF0ZSgwKTsKKyAgICB0ZXN0TGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICB0
ZXN0TGF5ZXItPnNldExheWVyVHJlZUhvc3QobV9sYXllclRyZWVIb3N0LmdldCgpKTsKICAgICBF
WFBFQ1RfRkFMU0UodGVzdExheWVyLT5uZWVkc0Rpc3BsYXkoKSk7CiAKQEAgLTQ3Nyw0MyArNDc3
LDI2IEBAIFRFU1RfRihMYXllckNocm9taXVtVGVzdCwgY2hlY2tTZXROZWVkc0Rpc3BsYXlDYXVz
ZXNDb3JyZWN0QmVoYXZpb3IpCiAgICAgRVhQRUNUX1RSVUUodGVzdExheWVyLT5uZWVkc0Rpc3Bs
YXkoKSk7CiAKICAgICAvLyBDYXNlIDQ6IExheWVyQ2hyb21pdW0gc2hvdWxkIGFjY2VwdCBkaXJ0
eSByZWN0cyB0aGF0IGdvIGJleW9uZCBpdHMgYm91bmRzLgotICAgIHRlc3RMYXllciA9IExheWVy
Q2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICB0ZXN0TGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVh
dGUoKTsKICAgICB0ZXN0TGF5ZXItPnNldExheWVyVHJlZUhvc3QobV9sYXllclRyZWVIb3N0Lmdl
dCgpKTsKICAgICBFWEVDVVRFX0FORF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigx
LCB0ZXN0TGF5ZXItPnNldEJvdW5kcyh0ZXN0Qm91bmRzKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVS
SUZZX1NFVF9ORUVEU19DT01NSVRfQkVIQVZJT1IoMSwgdGVzdExheWVyLT5zZXROZWVkc0Rpc3Bs
YXlSZWN0KG91dE9mQm91bmRzRGlydHlSZWN0KSk7CiAgICAgRVhQRUNUX1RSVUUodGVzdExheWVy
LT5uZWVkc0Rpc3BsYXkoKSk7CiAKICAgICAvLyBDYXNlIDU6IHNldE5lZWRzRGlzcGxheSgpIHdp
dGhvdXQgdGhlIGRpcnR5IHJlY3QgYXJnLgotICAgIHRlc3RMYXllciA9IExheWVyQ2hyb21pdW06
OmNyZWF0ZSgwKTsKKyAgICB0ZXN0TGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAg
ICB0ZXN0TGF5ZXItPnNldExheWVyVHJlZUhvc3QobV9sYXllclRyZWVIb3N0LmdldCgpKTsKICAg
ICBFWEVDVVRFX0FORF9WRVJJRllfU0VUX05FRURTX0NPTU1JVF9CRUhBVklPUigxLCB0ZXN0TGF5
ZXItPnNldEJvdW5kcyh0ZXN0Qm91bmRzKSk7CiAgICAgRVhFQ1VURV9BTkRfVkVSSUZZX1NFVF9O
RUVEU19DT01NSVRfQkVIQVZJT1IoMSwgdGVzdExheWVyLT5zZXROZWVkc0Rpc3BsYXkoKSk7CiAg
ICAgRVhQRUNUX1RSVUUodGVzdExheWVyLT5uZWVkc0Rpc3BsYXkoKSk7CiB9CiAKLVRFU1RfRihM
YXllckNocm9taXVtVGVzdCwgY2hlY2tTZXROZWVkc0Rpc3BsYXlXaXRoTnVsbERlbGVnYXRlKQot
ewotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBMYXllckNocm9taXVtOjpj
cmVhdGUoMCk7Ci0gICAgSW50U2l6ZSB0ZXN0Qm91bmRzID0gSW50U2l6ZSg1MDEsIDUwOCk7Ci0K
LSAgICBGbG9hdFJlY3QgZGlydHkgPSBGbG9hdFJlY3QoMTAuMGYsIDE1LjBmLCAxLjBmLCAyLjBm
KTsKLQotICAgIHRlc3RMYXllci0+c2V0Qm91bmRzKHRlc3RCb3VuZHMpOwotICAgIEVYUEVDVF9U
UlVFKHRlc3RMYXllci0+bmVlZHNEaXNwbGF5KCkpOwotCi0gICAgdGVzdExheWVyID0gTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIEVYUEVDVF9GQUxTRSh0ZXN0TGF5ZXItPm5lZWRzRGlz
cGxheSgpKTsKLQotICAgIHRlc3RMYXllci0+c2V0TmVlZHNEaXNwbGF5UmVjdChkaXJ0eSk7Ci0g
ICAgRVhQRUNUX1RSVUUodGVzdExheWVyLT5uZWVkc0Rpc3BsYXkoKSk7Ci19Ci0KIFRFU1RfRihM
YXllckNocm9taXVtVGVzdCwgY2hlY2tQcm9wZXJ0eUNoYW5nZUNhdXNlc0NvcnJlY3RCZWhhdmlv
cikKIHsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gdGVzdExheWVyID0gTGF5ZXJDaHJvbWl1
bTo6Y3JlYXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBMYXll
ckNocm9taXVtOjpjcmVhdGUoKTsKICAgICB0ZXN0TGF5ZXItPnNldExheWVyVHJlZUhvc3QobV9s
YXllclRyZWVIb3N0LmdldCgpKTsKIAotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBkdW1teUxh
eWVyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOyAvLyBqdXN0IGEgZHVtbXkgbGF5ZXIgZm9y
IHRoaXMgdGVzdCBjYXNlLgorICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBkdW1teUxheWVyID0g
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7IC8vIGp1c3QgYSBkdW1teSBsYXllciBmb3IgdGhpcyB0
ZXN0IGNhc2UuCiAKICAgICAvLyBzYW5pdHkgY2hlY2sgb2YgaW5pdGlhbCB0ZXN0IGNvbmRpdGlv
bgogICAgIEVYUEVDVF9GQUxTRSh0ZXN0TGF5ZXItPm5lZWRzRGlzcGxheSgpKTsKQEAgLTU1OCw4
ICs1NDEsOCBAQCBURVNUX0YoTGF5ZXJDaHJvbWl1bVRlc3QsIGNoZWNrUHJvcGVydHlDaGFuZ2VD
YXVzZXNDb3JyZWN0QmVoYXZpb3IpCiAKIGNsYXNzIExheWVyQ2hyb21pdW1XaXRoQ29udGVudFNj
YWxpbmcgOiBwdWJsaWMgTGF5ZXJDaHJvbWl1bSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgTGF5
ZXJDaHJvbWl1bVdpdGhDb250ZW50U2NhbGluZyhDQ0xheWVyRGVsZWdhdGUqIGRlbGVnYXRlKQot
ICAgICAgICA6IExheWVyQ2hyb21pdW0oZGVsZWdhdGUpCisgICAgZXhwbGljaXQgTGF5ZXJDaHJv
bWl1bVdpdGhDb250ZW50U2NhbGluZygpCisgICAgICAgIDogTGF5ZXJDaHJvbWl1bSgpCiAgICAg
ewogICAgIH0KIApAQCAtNTc2LDcgKzU1OSw3IEBAIHB1YmxpYzoKIAogVEVTVF9GKExheWVyQ2hy
b21pdW1UZXN0LCBjaGVja0NvbnRlbnRzU2NhbGVDaGFuZ2VUcmlnZ2Vyc05lZWRzRGlzcGxheSkK
IHsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bVdpdGhDb250ZW50U2NhbGluZz4gdGVzdExheWVy
ID0gYWRvcHRSZWYobmV3IExheWVyQ2hyb21pdW1XaXRoQ29udGVudFNjYWxpbmcoMCkpOworICAg
IFJlZlB0cjxMYXllckNocm9taXVtV2l0aENvbnRlbnRTY2FsaW5nPiB0ZXN0TGF5ZXIgPSBhZG9w
dFJlZihuZXcgTGF5ZXJDaHJvbWl1bVdpdGhDb250ZW50U2NhbGluZygpKTsKICAgICB0ZXN0TGF5
ZXItPnNldExheWVyVHJlZUhvc3QobV9sYXllclRyZWVIb3N0LmdldCgpKTsKIAogICAgIEludFNp
emUgdGVzdEJvdW5kcyA9IEludFNpemUoMzIwLCAyNDApOwpAQCAtNjI2LDExICs2MDksMTEgQEAg
dm9pZCBhc3NlcnRMYXllclRyZWVIb3N0TWF0Y2hlc0ZvclN1YnRyZWUoTGF5ZXJDaHJvbWl1bSog
bGF5ZXIsIENDTGF5ZXJUcmVlSG9zdCoKIFRFU1QoTGF5ZXJDaHJvbWl1bUxheWVyVHJlZUhvc3RU
ZXN0LCBlbnRlcmluZ1RyZWUpCiB7CiAgICAgV2ViS2l0OjpXZWJDb21wb3NpdG9yOjppbml0aWFs
aXplKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVt
OjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkID0gTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBtYXNrID0gTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNhID0g
TGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiByZXBs
aWNhTWFzayA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJv
bWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVy
Q2hyb21pdW0+IGNoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExh
eWVyQ2hyb21pdW0+IG1hc2sgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gcmVwbGljYSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJl
ZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNhTWFzayA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgp
OwogCiAgICAgLy8gU2V0IHVwIGEgZGV0YWNoZWQgdHJlZSBvZiBsYXllcnMuIFRoZSBob3N0IHBv
aW50ZXIgc2hvdWxkIGJlIG5pbCBmb3IgdGhlc2UgbGF5ZXJzLgogICAgIHBhcmVudC0+YWRkQ2hp
bGQoY2hpbGQpOwpAQCAtNjU4LDcgKzY0MSw3IEBAIFRFU1QoTGF5ZXJDaHJvbWl1bUxheWVyVHJl
ZUhvc3RUZXN0LCBlbnRlcmluZ1RyZWUpCiBURVNUKExheWVyQ2hyb21pdW1MYXllclRyZWVIb3N0
VGVzdCwgYWRkaW5nTGF5ZXJTdWJ0cmVlKQogewogICAgIFdlYktpdDo6V2ViQ29tcG9zaXRvcjo6
aW5pdGlhbGl6ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBM
YXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICBSZWZQdHI8RmFrZUNDTGF5ZXJUcmVlSG9zdD4g
bGF5ZXJUcmVlSG9zdCA9IEZha2VDQ0xheWVyVHJlZUhvc3Q6OmNyZWF0ZSgpOwogCiAgICAgbGF5
ZXJUcmVlSG9zdC0+c2V0Um9vdExheWVyKHBhcmVudC5nZXQoKSk7CkBAIC02NjYsMTYgKzY0OSwx
NiBAQCBURVNUKExheWVyQ2hyb21pdW1MYXllclRyZWVIb3N0VGVzdCwgYWRkaW5nTGF5ZXJTdWJ0
cmVlKQogICAgIEVYUEVDVF9FUShwYXJlbnQtPmxheWVyVHJlZUhvc3QoKSwgbGF5ZXJUcmVlSG9z
dC5nZXQoKSk7CiAKICAgICAvLyBBZGRpbmcgYSBzdWJ0cmVlIHRvIGEgbGF5ZXIgYWxyZWFkeSBh
c3NvY2lhdGVkIHdpdGggYSBob3N0IHNob3VsZCBzZXQgdGhlIGhvc3QgcG9pbnRlciBvbiBhbGwg
bGF5ZXJzIGluIHRoYXQgc3VidHJlZS4KLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQg
PSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGdy
YW5kQ2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7CisgICAgUmVmUHRyPExheWVyQ2hy
b21pdW0+IGNoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVy
Q2hyb21pdW0+IGdyYW5kQ2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICBjaGls
ZC0+YWRkQ2hpbGQoZ3JhbmRDaGlsZCk7CiAKICAgICAvLyBNYXNrcywgcmVwbGljYXMsIGFuZCBy
ZXBsaWNhIG1hc2tzIHNob3VsZCBwaWNrIHVwIHRoZSBuZXcgaG9zdCB0b28uCi0gICAgUmVmUHRy
PExheWVyQ2hyb21pdW0+IGNoaWxkTWFzayA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAg
ICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRNYXNrID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
KCk7CiAgICAgY2hpbGQtPnNldE1hc2tMYXllcihjaGlsZE1hc2suZ2V0KCkpOwotICAgIFJlZlB0
cjxMYXllckNocm9taXVtPiBjaGlsZFJlcGxpY2EgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7
CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkUmVwbGljYSA9IExheWVyQ2hyb21pdW06
OmNyZWF0ZSgpOwogICAgIGNoaWxkLT5zZXRSZXBsaWNhTGF5ZXIoY2hpbGRSZXBsaWNhLmdldCgp
KTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRSZXBsaWNhTWFzayA9IExheWVyQ2hy
b21pdW06OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRSZXBsaWNh
TWFzayA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogICAgIGNoaWxkUmVwbGljYS0+c2V0TWFz
a0xheWVyKGNoaWxkUmVwbGljYU1hc2suZ2V0KCkpOwogCiAgICAgcGFyZW50LT5hZGRDaGlsZChj
aGlsZCk7CkBAIC02ODksMTEgKzY3MiwxMSBAQCBURVNUKExheWVyQ2hyb21pdW1MYXllclRyZWVI
b3N0VGVzdCwgYWRkaW5nTGF5ZXJTdWJ0cmVlKQogVEVTVChMYXllckNocm9taXVtTGF5ZXJUcmVl
SG9zdFRlc3QsIGNoYW5nZUhvc3QpCiB7CiAgICAgV2ViS2l0OjpXZWJDb21wb3NpdG9yOjppbml0
aWFsaXplKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9t
aXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkID0gTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBtYXNrID0gTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNh
ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBy
ZXBsaWNhTWFzayA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJD
aHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExh
eWVyQ2hyb21pdW0+IGNoaWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRy
PExheWVyQ2hyb21pdW0+IG1hc2sgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQ
dHI8TGF5ZXJDaHJvbWl1bT4gcmVwbGljYSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAg
IFJlZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNhTWFzayA9IExheWVyQ2hyb21pdW06OmNyZWF0
ZSgpOwogCiAgICAgLy8gU2FtZSBzZXR1cCBhcyB0aGUgcHJldmlvdXMgdGVzdC4KICAgICBwYXJl
bnQtPmFkZENoaWxkKGNoaWxkKTsKQEAgLTcyMiwxMSArNzA1LDExIEBAIFRFU1QoTGF5ZXJDaHJv
bWl1bUxheWVyVHJlZUhvc3RUZXN0LCBjaGFuZ2VIb3N0KQogVEVTVChMYXllckNocm9taXVtTGF5
ZXJUcmVlSG9zdFRlc3QsIGNoYW5nZUhvc3RJblN1YnRyZWUpCiB7CiAgICAgV2ViS2l0OjpXZWJD
b21wb3NpdG9yOjppbml0aWFsaXplKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBmaXJz
dFBhcmVudCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJv
bWl1bT4gZmlyc3RDaGlsZCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKLSAgICBSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gc2Vjb25kUGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwot
ICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBzZWNvbmRDaGlsZCA9IExheWVyQ2hyb21pdW06OmNy
ZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gc2Vjb25kR3JhbmRDaGlsZCA9IExh
eWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gZmlyc3RQ
YXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1
bT4gZmlyc3RDaGlsZCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0cjxMYXll
ckNocm9taXVtPiBzZWNvbmRQYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gc2Vjb25kQ2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUo
KTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gc2Vjb25kR3JhbmRDaGlsZCA9IExheWVyQ2hy
b21pdW06OmNyZWF0ZSgpOwogCiAgICAgLy8gRmlyc3QgcHV0IGFsbCBjaGlsZHJlbiB1bmRlciB0
aGUgZmlyc3QgcGFyZW50IGFuZCBzZXQgdGhlIGZpcnN0IGhvc3QuCiAgICAgZmlyc3RQYXJlbnQt
PmFkZENoaWxkKGZpcnN0Q2hpbGQpOwpAQCAtNzU5LDEzICs3NDIsMTMgQEAgVEVTVChMYXllckNo
cm9taXVtTGF5ZXJUcmVlSG9zdFRlc3QsIGNoYW5nZUhvc3RJblN1YnRyZWUpCiBURVNUKExheWVy
Q2hyb21pdW1MYXllclRyZWVIb3N0VGVzdCwgcmVwbGFjZU1hc2tBbmRSZXBsaWNhTGF5ZXIpCiB7
CiAgICAgV2ViS2l0OjpXZWJDb21wb3NpdG9yOjppbml0aWFsaXplKDApOwotICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBwYXJlbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVm
UHRyPExheWVyQ2hyb21pdW0+IG1hc2sgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAg
UmVmUHRyPExheWVyQ2hyb21pdW0+IHJlcGxpY2EgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7
Ci0gICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IG1hc2tDaGlsZCA9IExheWVyQ2hyb21pdW06OmNy
ZWF0ZSgwKTsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcmVwbGljYUNoaWxkID0gTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKDApOwotICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBtYXNrUmVwbGFj
ZW1lbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAgUmVmUHRyPExheWVyQ2hyb21p
dW0+IHJlcGxpY2FSZXBsYWNlbWVudCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICBS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcGFyZW50ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7Cisg
ICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IG1hc2sgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsK
KyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcmVwbGljYSA9IExheWVyQ2hyb21pdW06OmNyZWF0
ZSgpOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBtYXNrQ2hpbGQgPSBMYXllckNocm9taXVt
OjpjcmVhdGUoKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcmVwbGljYUNoaWxkID0gTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IG1hc2tSZXBs
YWNlbWVudCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0cjxMYXllckNocm9t
aXVtPiByZXBsaWNhUmVwbGFjZW1lbnQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKIAogICAg
IHBhcmVudC0+c2V0TWFza0xheWVyKG1hc2suZ2V0KCkpOwogICAgIHBhcmVudC0+c2V0UmVwbGlj
YUxheWVyKHJlcGxpY2EuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9UaWxlZExheWVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvVGlsZWRMYXllckNocm9taXVtVGVzdC5jcHAKaW5kZXggZTE3NjcwYzkwMzQxYjRi
NTUyOWUzNWFiODc5ZjEzMDM5ZDAzZDU1My4uMGRhYzNhYWY4YzY3YmZkYWExMGZlMWExYjZiZGQy
ZDc3NTk0MmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9UaWxl
ZExheWVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L1RpbGVkTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIGNs
YXNzIEZha2VUaWxlZExheWVyQ2hyb21pdW0gOiBwdWJsaWMgVGlsZWRMYXllckNocm9taXVtIHsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBGYWtlVGlsZWRMYXllckNocm9taXVtKFRleHR1cmVNYW5h
Z2VyKiB0ZXh0dXJlTWFuYWdlcikKLSAgICAgICAgOiBUaWxlZExheWVyQ2hyb21pdW0oMCkKKyAg
ICAgICAgOiBUaWxlZExheWVyQ2hyb21pdW0oKQogICAgICAgICAsIG1fZmFrZVRleHR1cmVVcGRh
dGVyKGFkb3B0UmVmKG5ldyBGYWtlTGF5ZXJUZXh0dXJlVXBkYXRlcikpCiAgICAgICAgICwgbV90
ZXh0dXJlTWFuYWdlcih0ZXh0dXJlTWFuYWdlcikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1RyZWVTeW5jaHJvbml6ZXJUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvVHJlZVN5bmNocm9uaXplclRlc3QuY3BwCmluZGV4IGNhODM4
NDZjMjJjNmYzNmM4Njk5OTJhZDI5MjNkZGQ3ZjMxNDBjMDkuLjE1NTdhN2Q5MzIyY2M2YmUyMDZi
ZjUwYjAwYzBmNDcwNjNjNTQ3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvVHJlZVN5bmNocm9uaXplclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvVHJlZVN5bmNocm9uaXplclRlc3QuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHB1Ymxp
YzoKICAgICB9CiBwcml2YXRlOgogICAgIE1vY2tMYXllckNocm9taXVtKFZlY3RvcjxpbnQ+KiBj
Y0xheWVyRGVzdHJ1Y3Rpb25MaXN0KQotICAgICAgICA6IExheWVyQ2hyb21pdW0oMCkKKyAgICAg
ICAgOiBMYXllckNocm9taXVtKCkKICAgICAgICAgLCBtX2NjTGF5ZXJEZXN0cnVjdGlvbkxpc3Qo
Y2NMYXllckRlc3RydWN0aW9uTGlzdCkKICAgICB7CiAgICAgfQpAQCAtMTE5LDkgKzExOSw5IEBA
IHZvaWQgZXhwZWN0VHJlZXNBcmVJZGVudGljYWwoTGF5ZXJDaHJvbWl1bSogbGF5ZXIsIENDTGF5
ZXJJbXBsKiBjY0xheWVyKQogVEVTVChUcmVlU3luY2hyb25pemVyVGVzdCwgc3luY1NpbXBsZVRy
ZWVGcm9tRW1wdHkpCiB7CiAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7Ci0gICAg
UmVmUHRyPExheWVyQ2hyb21pdW0+IGxheWVyVHJlZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVh
dGUoMCk7Ci0gICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
KDApKTsKLSAgICBsYXllclRyZWVSb290LT5hZGRDaGlsZChMYXllckNocm9taXVtOjpjcmVhdGUo
MCkpOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBsYXllclRyZWVSb290ID0gTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKCk7CisgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoTGF5ZXJDaHJvbWl1
bTo6Y3JlYXRlKCkpOworICAgIGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKExheWVyQ2hyb21pdW06
OmNyZWF0ZSgpKTsKIAogICAgIFJlZlB0cjxDQ0xheWVySW1wbD4gY2NMYXllclRyZWVSb290ID0g
VHJlZVN5bmNocm9uaXplcjo6c3luY2hyb25pemVUcmVlcyhsYXllclRyZWVSb290LmdldCgpLCAw
KTsKIApAQCAtMTU4LDkgKzE1OCw5IEBAIFRFU1QoVHJlZVN5bmNocm9uaXplclRlc3QsIHN5bmNT
aW1wbGVUcmVlUmV1c2luZ0xheWVycykKIFRFU1QoVHJlZVN5bmNocm9uaXplclRlc3QsIHN5bmNT
aW1wbGVUcmVlQW5kUHJvcGVydGllcykKIHsKICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQg
aW1wbDsKLSAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbGF5ZXJUcmVlUm9vdCA9IExheWVyQ2hy
b21pdW06OmNyZWF0ZSgwKTsKLSAgICBsYXllclRyZWVSb290LT5hZGRDaGlsZChMYXllckNocm9t
aXVtOjpjcmVhdGUoMCkpOwotICAgIGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKExheWVyQ2hyb21p
dW06OmNyZWF0ZSgwKSk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGxheWVyVHJlZVJvb3Qg
PSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKKyAgICBsYXllclRyZWVSb290LT5hZGRDaGlsZChM
YXllckNocm9taXVtOjpjcmVhdGUoKSk7CisgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlKCkpOwogCiAgICAgLy8gUGljayBzb21lIHJhbmRvbSBwcm9wZXJ0
aWVzIHRvIHNldC4gVGhlIHZhbHVlcyBhcmUgbm90IGltcG9ydGFudCwgd2UncmUganVzdCB0ZXN0
aW5nIHRoYXQgYXQgbGVhc3Qgc29tZSBwcm9wZXJ0aWVzIGFyZSBtYWtpbmcgaXQgdGhyb3VnaC4K
ICAgICBGbG9hdFBvaW50IHJvb3RQb3NpdGlvbiA9IEZsb2F0UG9pbnQoMi4zLCA3LjQpOwpAQCAt
MjU0LDcgKzI1NCw3IEBAIFRFU1QoVHJlZVN5bmNocm9uaXplclRlc3QsIHN5bmNTaW1wbGVUcmVl
VGhlbkRlc3Ryb3kpCiAgICAgb2xkTGF5ZXJUcmVlUm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsK
IAogICAgIC8vIFN5bmNocm9uaXplIGFnYWluLiBBZnRlciB0aGUgc3luYyBhbGwgQ0NMYXllcklt
cGxzIGZyb20gdGhlIG9sZCB0cmVlIHNob3VsZCBiZSBkZWxldGVkLgotICAgIFJlZlB0cjxMYXll
ckNocm9taXVtPiBuZXdMYXllclRyZWVSb290ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwor
ICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBuZXdMYXllclRyZWVSb290ID0gTGF5ZXJDaHJvbWl1
bTo6Y3JlYXRlKCk7CiAgICAgY2NMYXllclRyZWVSb290ID0gVHJlZVN5bmNocm9uaXplcjo6c3lu
Y2hyb25pemVUcmVlcyhuZXdMYXllclRyZWVSb290LmdldCgpLCBjY0xheWVyVHJlZVJvb3QucmVs
ZWFzZSgpKTsKICAgICBleHBlY3RUcmVlc0FyZUlkZW50aWNhbChuZXdMYXllclRyZWVSb290Lmdl
dCgpLCBjY0xheWVyVHJlZVJvb3QuZ2V0KCkpOwogCkBAIC0yNjgsMjIgKzI2OCwyMiBAQCBURVNU
KFRyZWVTeW5jaHJvbml6ZXJUZXN0LCBzeW5jU2ltcGxlVHJlZVRoZW5EZXN0cm95KQogVEVTVChU
cmVlU3luY2hyb25pemVyVGVzdCwgc3luY01hc2tSZXBsaWNhQW5kUmVwbGljYU1hc2tMYXllcnMp
CiB7CiAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7Ci0gICAgUmVmUHRyPExheWVy
Q2hyb21pdW0+IGxheWVyVHJlZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Ci0gICAg
bGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApKTsKLSAgICBs
YXllclRyZWVSb290LT5hZGRDaGlsZChMYXllckNocm9taXVtOjpjcmVhdGUoMCkpOwotICAgIGxh
eWVyVHJlZVJvb3QtPmFkZENoaWxkKExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKSk7CisgICAgUmVm
UHRyPExheWVyQ2hyb21pdW0+IGxheWVyVHJlZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVhdGUo
KTsKKyAgICBsYXllclRyZWVSb290LT5hZGRDaGlsZChMYXllckNocm9taXVtOjpjcmVhdGUoKSk7
CisgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCkpOwor
ICAgIGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKExheWVyQ2hyb21pdW06OmNyZWF0ZSgpKTsKIAog
ICAgIC8vIEZpcnN0IGNoaWxkIGdldHMgYSBtYXNrIGxheWVyLgotICAgIFJlZlB0cjxMYXllckNo
cm9taXVtPiBtYXNrTGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7CisgICAgUmVmUHRy
PExheWVyQ2hyb21pdW0+IG1hc2tMYXllciA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogICAg
IGxheWVyVHJlZVJvb3QtPmNoaWxkcmVuKClbMF0tPnNldE1hc2tMYXllcihtYXNrTGF5ZXIuZ2V0
KCkpOwogCiAgICAgLy8gU2Vjb25kIGNoaWxkIGdldHMgYSByZXBsaWNhIGxheWVyLgotICAgIFJl
ZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNhTGF5ZXIgPSBMYXllckNocm9taXVtOjpjcmVhdGUo
MCk7CisgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHJlcGxpY2FMYXllciA9IExheWVyQ2hyb21p
dW06OmNyZWF0ZSgpOwogICAgIGxheWVyVHJlZVJvb3QtPmNoaWxkcmVuKClbMV0tPnNldFJlcGxp
Y2FMYXllcihyZXBsaWNhTGF5ZXIuZ2V0KCkpOwogCiAgICAgLy8gVGhpcmQgY2hpbGQgZ2V0cyBh
IHJlcGxpY2EgbGF5ZXIgd2l0aCBhIG1hc2sgbGF5ZXIuCi0gICAgUmVmUHRyPExheWVyQ2hyb21p
dW0+IHJlcGxpY2FMYXllcldpdGhNYXNrID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwotICAg
IFJlZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNhTWFza0xheWVyID0gTGF5ZXJDaHJvbWl1bTo6
Y3JlYXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiByZXBsaWNhTGF5ZXJXaXRoTWFz
ayA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBy
ZXBsaWNhTWFza0xheWVyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CiAgICAgcmVwbGljYUxh
eWVyV2l0aE1hc2stPnNldE1hc2tMYXllcihyZXBsaWNhTWFza0xheWVyLmdldCgpKTsKICAgICBs
YXllclRyZWVSb290LT5jaGlsZHJlbigpWzJdLT5zZXRSZXBsaWNhTGF5ZXIocmVwbGljYUxheWVy
V2l0aE1hc2suZ2V0KCkpOwogCg==
</data>
<flag name="review"
          id="124190"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>