<?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>57388</bug_id>
          
          <creation_ts>2011-03-29 14:13:44 -0700</creation_ts>
          <short_desc>Need a way to specify that a ShareableBitmap has no alpha channel</short_desc>
          <delta_ts>2011-03-30 08:08:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>57397</dependson>
          <blocked>45567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375746</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 14:13:44 -0700</bug_when>
    <thetext>ShareableBitmap currently always honors the alpha channel of its underlying data. This doesn&apos;t work well for use with APIs like GDI, which don&apos;t support alpha channels. (See bug 45567 comment 17 for one specific bug that this causes.)

We should have a way of specifying that a particular ShareableBitmap doesn&apos;t have an alpha channel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375747</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 14:15:38 -0700</bug_when>
    <thetext>In theory, this should make blitting into the window&apos;s backing store faster on Windows, since CG will be able to ignore the alpha channel entirely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375856</commentid>
    <comment_count>2</comment_count>
      <attachid>87426</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-29 16:14:24 -0700</bug_when>
    <thetext>Created attachment 87426
Add a way to specify that a ShareableBitmap has no alpha channel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376309</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 07:43:41 -0700</bug_when>
    <thetext>Committed r82442: &lt;http://trac.webkit.org/changeset/82442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376331</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-30 08:08:06 -0700</bug_when>
    <thetext>Mac build fix

Committed r82445: &lt;http://trac.webkit.org/changeset/82445&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87426</attachid>
            <date>2011-03-29 16:14:24 -0700</date>
            <delta_ts>2011-03-29 16:20:48 -0700</delta_ts>
            <desc>Add a way to specify that a ShareableBitmap has no alpha channel</desc>
            <filename>bug-57388-20110329191422.patch</filename>
            <type>text/plain</type>
            <size>18498</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIzMjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhNTZhYjIwNTFkODE1ODlh
ZGY4ZjcwMDMzNDJhNTEzMTMyYjJmN2NmLi41N2I2YjI1MWMzZWEzMzI4NThjNDk0MzczMDBiMzhl
MGMxN2EwYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjQgQEAKIDIwMTEtMDMtMjkgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBhIHdheSB0byBzcGVjaWZ5
IHRoYXQgYSBTaGFyZWFibGVCaXRtYXAgaGFzIG5vIGFscGhhIGNoYW5uZWwKKworICAgICAgICBC
ZWZvcmUgdGhpcyBwYXRjaCwgYWxsIFNoYXJlYWJsZUJpdG1hcHMgaGFkIGFuIGFscGhhIGNoYW5u
ZWwuIFdpdGggdGhpcyBwYXRjaCwgYWxsCisgICAgICAgIFNoYXJlYWJsZUJpdG1hcHMgKnN0aWxs
KiBoYXZlIGFuIGFscGhhIGNoYW5uZWwuIEJ1dCBub3cgdGhlcmUncyBhIHdheSB0byBzcGVjaWZ5
IHlvdSBkb24ndAorICAgICAgICB3YW50IG9uZSAod2hpY2ggd2lsbCBiZSB1c2VkIGluIHRoZSBm
dXR1cmUpIQorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU3Mzg4PiBOZWVk
IGEgd2F5IHRvIHNwZWNpZnkgdGhhdCBhIFNoYXJlYWJsZUJpdG1hcCBoYXMgbm8gYWxwaGEKKyAg
ICAgICAgY2hhbm5lbAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNo
YXJlYWJsZUJpdG1hcDo6SGFuZGxlOjpIYW5kbGUpOiBNb3ZlZCBoZXJlIGZyb20gdGhlIGhlYWRl
ciBmaWxlLCBhbmQgYWRkZWQKKyAgICAgICAgaW5pdGlhbGl6YXRpb24gb2YgbV9mbGFncy4KKwor
ICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZTo6ZW5jb2RlKToKKyAgICAg
ICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGU6OmRlY29kZSk6CisgICAgICAgIEVu
Y29kZS9kZWNvZGUgbV9mbGFncy4KKworICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVh
YmxlKToKKyAgICAgICAgUGFzcyBhbG9uZyB0aGUgbmV3IEZsYWdzIGFyZ3VtZW50LgorCisgICAg
ICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlSGFuZGxlKTogU3RvcmUgb3VyIEZs
YWdzIG9uIHRoZSBIYW5kbGUuCisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6U2hh
cmVhYmxlQml0bWFwKTogU3RvcmUgdGhlIEZsYWdzIGluIG1fZmxhZ3MuCisKKyAgICAgICAgKiBT
aGFyZWQvU2hhcmVhYmxlQml0bWFwLmg6IEFkZGVkIEZsYWcsIEZsYWdzLCBhbmQgbV9mbGFncywg
YW5kIGFkZGVkIGEgRmxhZ3MgYXJndW1lbnQgdG8KKyAgICAgICAgc29tZSBjcmVhdGUgZnVuY3Rp
b25zLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAg
ICAgIChDb3JlSVBDOjplbmNvZGVJbWFnZSk6CisgICAgICAgICogU2hhcmVkL1dlYkltYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW1hZ2U6OmNyZWF0ZSk6CisgICAgICAgIFNwZWNpZnkg
dGhhdCB3ZSB3YW50IGEgYml0bWFwIHRoYXQgc3VwcG9ydHMgYWxwaGEgdG8gbWFpbnRhaW4gY3Vy
cmVudCBiZWhhdmlvci4KKworICAgICAgICAqIFNoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OmJpdG1hcEluZm8pOiBOZXcgaGVscGVyIGZ1bmN0aW9uLiBJ
bmNsdWRlcyBhbiBhbHBoYSBjaGFubmVsIG9ubHkgaWYgc3BlY2lmaWVkIGluCisgICAgICAgIHRo
ZSBmbGFncy4KKworICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUdyYXBo
aWNzQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6bWFrZUNHSW1h
Z2UpOgorICAgICAgICBVc2UgdGhlIG5ldyBoZWxwZXIgZnVuY3Rpb24uCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6c25hcHNob3QpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb3h5Ojpn
ZW9tZXRyeURpZENoYW5nZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViRHJhZ0NsaWVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Y29udmVydEltYWdlVG9C
aXRtYXApOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVw
TWVudVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9y
bURhdGEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXkpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkZpbmRDb250cm9sbGVyOjp1cGRhdGVGaW5kSW5kaWNhdG9yKToKKyAgICAgICAgU3BlY2lmeSB0
aGF0IHdlIHdhbnQgYSBiaXRtYXAgdGhhdCBzdXBwb3J0cyBhbHBoYSB0byBtYWludGFpbiBjdXJy
ZW50IGJlaGF2aW9yLgorCisyMDExLTAzLTI5ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNv
bT4KKwogICAgICAgICBBZGQgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUKIAogICAgICAgICBUaGlz
IG9iamVjdCBpcyB1c2VkIGZvciBlbmNvZGluZy9kZWNvZGluZyBhIFNoYXJlYWJsZUJpdG1hcCB2
aWEgQ29yZUlQQy4gSXQgY3VycmVudGx5IGp1c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJl
YWJsZUJpdG1hcC5jcHAKaW5kZXggZDIxZGExMmQ1NzdiZDNiZGQ3NmY1MmNlNzNlYTgwMjgzZjNk
NDI1OS4uY2RlM2FhMTY1NzMwNjBiMGE4YmVjMzY1NGIwYmVjNDNjMmZkNDAxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKQEAgLTM0LDEwICszNCwxNiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK1NoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlOjpIYW5kbGUoKQorICAgIDogbV9mbGFncygwKQoreworfQorCiB2b2lk
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
KiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXItPmVuY29kZShtX2hhbmRsZSk7CiAgICAg
ZW5jb2Rlci0+ZW5jb2RlKG1fc2l6ZSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKG1fZmxhZ3MpOwog
fQogCiBib29sIFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBIYW5kbGUmIGhhbmRsZSkKQEAgLTQ2LDEwICs1MiwxMiBAQCBi
b29sIFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNv
ZGVyKiBkZWNvZGVyLCBIYW5kbGUmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRl
Y29kZXItPmRlY29kZShoYW5kbGUubV9zaXplKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKGhhbmRsZS5tX2ZsYWdzKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIHJldHVybiB0cnVlOwogfQogCi1QYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4g
U2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK1Bh
c3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShjb25zdCBJ
bnRTaXplJiBzaXplLCBGbGFncyBmbGFncykKIHsKICAgICBzaXplX3QgbnVtQnl0ZXMgPSBudW1C
eXRlc0ZvclNpemUoc2l6ZSk7CiAgICAgCkBAIC01NywxMCArNjUsMTAgQEAgUGFzc1JlZlB0cjxT
aGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIHNpemUKICAgICBpZiAoIXRyeUZhc3RNYWxsb2MobnVtQnl0ZXMpLmdldFZhbHVlKGRh
dGEpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVh
YmxlQml0bWFwKHNpemUsIGRhdGEpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlYWJs
ZUJpdG1hcChzaXplLCBmbGFncywgZGF0YSkpOwogfQogCi1QYXNzUmVmUHRyPFNoYXJlYWJsZUJp
dG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUoY29uc3QgSW50U2l6ZSYgc2l6
ZSkKK1Bhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNo
YXJlYWJsZShjb25zdCBJbnRTaXplJiBzaXplLCBGbGFncyBmbGFncykKIHsKICAgICBzaXplX3Qg
bnVtQnl0ZXMgPSBudW1CeXRlc0ZvclNpemUoc2l6ZSk7CiAKQEAgLTY4LDE3ICs3NiwxNyBAQCBQ
YXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFi
bGUoY29uc3QgSW50U2l6ZSYgc2l6ZQogICAgIGlmICghc2hhcmVkTWVtb3J5KQogICAgICAgICBy
ZXR1cm4gMDsKIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVhYmxlQml0bWFwKHNpemUs
IHNoYXJlZE1lbW9yeSkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVhYmxlQml0bWFw
KHNpemUsIGZsYWdzLCBzaGFyZWRNZW1vcnkpKTsKIH0KIAotUGFzc1JlZlB0cjxTaGFyZWFibGVC
aXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNp
emUsIFBhc3NSZWZQdHI8U2hhcmVkTWVtb3J5PiBzaGFyZWRNZW1vcnkpCitQYXNzUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6
ZSwgRmxhZ3MgZmxhZ3MsIFBhc3NSZWZQdHI8U2hhcmVkTWVtb3J5PiBzaGFyZWRNZW1vcnkpCiB7
CiAgICAgQVNTRVJUKHNoYXJlZE1lbW9yeSk7CiAKICAgICBzaXplX3QgbnVtQnl0ZXMgPSBudW1C
eXRlc0ZvclNpemUoc2l6ZSk7CiAgICAgQVNTRVJUX1VOVVNFRChudW1CeXRlcywgc2hhcmVkTWVt
b3J5LT5zaXplKCkgPj0gbnVtQnl0ZXMpOwogICAgIAotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U2hhcmVhYmxlQml0bWFwKHNpemUsIHNoYXJlZE1lbW9yeSkpOworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU2hhcmVhYmxlQml0bWFwKHNpemUsIGZsYWdzLCBzaGFyZWRNZW1vcnkpKTsKIH0KIAog
UGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGNvbnN0
IEhhbmRsZSYgaGFuZGxlKQpAQCAtODgsNyArOTYsNyBAQCBQYXNzUmVmUHRyPFNoYXJlYWJsZUJp
dG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoY29uc3QgSGFuZGxlJiBoYW5kbGUpCiAgICAg
aWYgKCFzaGFyZWRNZW1vcnkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIGNyZWF0
ZShoYW5kbGUubV9zaXplLCBzaGFyZWRNZW1vcnkucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gY3Jl
YXRlKGhhbmRsZS5tX3NpemUsIGhhbmRsZS5tX2ZsYWdzLCBzaGFyZWRNZW1vcnkucmVsZWFzZSgp
KTsKIH0KIAogYm9vbCBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUhhbmRsZShIYW5kbGUmIGhhbmRs
ZSkKQEAgLTk4LDE3ICsxMDYsMjAgQEAgYm9vbCBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUhhbmRs
ZShIYW5kbGUmIGhhbmRsZSkKICAgICBpZiAoIW1fc2hhcmVkTWVtb3J5LT5jcmVhdGVIYW5kbGUo
aGFuZGxlLm1faGFuZGxlLCBTaGFyZWRNZW1vcnk6OlJlYWRXcml0ZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBoYW5kbGUubV9zaXplID0gbV9zaXplOworICAgIGhhbmRsZS5tX2ZsYWdz
ID0gbV9mbGFnczsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotU2hhcmVhYmxlQml0bWFwOjpTaGFy
ZWFibGVCaXRtYXAoY29uc3QgSW50U2l6ZSYgc2l6ZSwgdm9pZCogZGF0YSkKK1NoYXJlYWJsZUJp
dG1hcDo6U2hhcmVhYmxlQml0bWFwKGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdzIGZsYWdzLCB2
b2lkKiBkYXRhKQogICAgIDogbV9zaXplKHNpemUpCisgICAgLCBtX2ZsYWdzKGZsYWdzKQogICAg
ICwgbV9kYXRhKGRhdGEpCiB7CiB9CiAKLVNoYXJlYWJsZUJpdG1hcDo6U2hhcmVhYmxlQml0bWFw
KGNvbnN0IEludFNpemUmIHNpemUsIFBhc3NSZWZQdHI8U2hhcmVkTWVtb3J5PiBzaGFyZWRNZW1v
cnkpCitTaGFyZWFibGVCaXRtYXA6OlNoYXJlYWJsZUJpdG1hcChjb25zdCBJbnRTaXplJiBzaXpl
LCBGbGFncyBmbGFncywgUGFzc1JlZlB0cjxTaGFyZWRNZW1vcnk+IHNoYXJlZE1lbW9yeSkKICAg
ICA6IG1fc2l6ZShzaXplKQorICAgICwgbV9mbGFncyhmbGFncykKICAgICAsIG1fc2hhcmVkTWVt
b3J5KHNoYXJlZE1lbW9yeSkKICAgICAsIG1fZGF0YSgwKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5oCmluZGV4IGQ2YjcxYWVmYTkzM2EzZWQ2YmQyODlhNDE5ODAyOGE3
ZGQ1MzBhZDYuLmZlN2ZhMGFiODUzZTljOGRlYTVjNzhhYzRhMTdkZWEwNzE3MjU3MjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgKQEAgLTQ1LDEwICs0NSwxNSBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKICAgICAKIGNsYXNzIFNoYXJlYWJsZUJpdG1hcCA6IHB1YmxpYyBS
ZWZDb3VudGVkPFNoYXJlYWJsZUJpdG1hcD4gewogcHVibGljOgorICAgIGVudW0gRmxhZyB7Cisg
ICAgICAgIFN1cHBvcnRzQWxwaGEgPSAxIDw8IDAsCisgICAgfTsKKyAgICB0eXBlZGVmIHVuc2ln
bmVkIEZsYWdzOworCiAgICAgY2xhc3MgSGFuZGxlIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSGFuZGxlKTsKICAgICBwdWJsaWM6Ci0gICAgICAgIEhhbmRsZSgpIHsgfQorICAgICAg
ICBIYW5kbGUoKTsKIAogICAgICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1faGFu
ZGxlLmlzTnVsbCgpOyB9CiAKQEAgLTYwLDE2ICs2NSwxNyBAQCBwdWJsaWM6CiAKICAgICAgICAg
bXV0YWJsZSBTaGFyZWRNZW1vcnk6OkhhbmRsZSBtX2hhbmRsZTsKICAgICAgICAgV2ViQ29yZTo6
SW50U2l6ZSBtX3NpemU7CisgICAgICAgIEZsYWdzIG1fZmxhZ3M7CiAgICAgfTsKIAogICAgIC8v
IENyZWF0ZSBhIHNoYXJlYWJsZSBiaXRtYXAgdGhhdCB1c2VzIG1hbGxvY2VkIG1lbW9yeS4KLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNyZWF0ZShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBjcmVh
dGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIEZsYWdzKTsKIAogICAgIC8vIENyZWF0ZSBhIHNo
YXJlYWJsZSBiaXRtYXAgd2hvc2UgYmFja2luZyBtZW1vcnkgY2FuIGJlIHNoYXJlZCB3aXRoIGFu
b3RoZXIgcHJvY2Vzcy4KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNy
ZWF0ZVNoYXJlYWJsZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBjcmVhdGVTaGFyZWFibGUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIEZsYWdzKTsKIAogICAgIC8vIENyZWF0ZSBhIHNoYXJlYWJsZSBiaXRtYXAgZnJvbSBh
biBhbHJlYWR5IGV4aXN0aW5nIHNoYXJlZCBtZW1vcnkgYmxvY2suCi0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFBh
c3NSZWZQdHI8U2hhcmVkTWVtb3J5Pik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVhYmxl
Qml0bWFwPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIEZsYWdzLCBQYXNzUmVmUHRy
PFNoYXJlZE1lbW9yeT4pOwogCiAgICAgLy8gQ3JlYXRlIGEgc2hhcmVhYmxlIGJpdG1hcCBmcm9t
IGEgaGFuZGxlLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gY3JlYXRl
KGNvbnN0IEhhbmRsZSYpOwpAQCAtMTAyLDggKzEwOCw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiBw
cml2YXRlOgotICAgIFNoYXJlYWJsZUJpdG1hcChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgdm9p
ZCopOwotICAgIFNoYXJlYWJsZUJpdG1hcChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgUGFzc1Jl
ZlB0cjxTaGFyZWRNZW1vcnk+KTsKKyAgICBTaGFyZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYsIEZsYWdzLCB2b2lkKik7CisgICAgU2hhcmVhYmxlQml0bWFwKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmLCBGbGFncywgUGFzc1JlZlB0cjxTaGFyZWRNZW1vcnk+KTsKIAogICAgIHN0
YXRpYyBzaXplX3QgbnVtQnl0ZXNGb3JTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUp
IHsgcmV0dXJuIHNpemUud2lkdGgoKSAqIHNpemUuaGVpZ2h0KCkgKiA0OyB9CiAKQEAgLTExNiw2
ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIHNpemVfdCBzaXplSW5CeXRlcygpIGNvbnN0IHsgcmV0
dXJuIG51bUJ5dGVzRm9yU2l6ZShtX3NpemUpOyB9CiAKICAgICBXZWJDb3JlOjpJbnRTaXplIG1f
c2l6ZTsKKyAgICBGbGFncyBtX2ZsYWdzOwogCiAgICAgLy8gSWYgdGhlIHNoYXJlYWJsZSBiaXRt
YXAgaXMgYmFja2VkIGJ5IHNoYXJlZCBtZW1vcnksIHRoaXMgcG9pbnRzIHRvIHRoZSBzaGFyZWQg
bWVtb3J5IG9iamVjdC4KICAgICBSZWZQdHI8U2hhcmVkTWVtb3J5PiBtX3NoYXJlZE1lbW9yeTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5k
ZXggNTZjNzIzNTE5NWVmZDQ1ZmY1YzUzNzE5YjFhY2U4MDdiY2U3YTc4Mi4uOTliM2MwMGRmZjg1
ZDM0MjZkMzIzM2U2Y2RhNjgxOTA0OGVjZWFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNl
IENvcmVJUEMgewogCiB2b2lkIGVuY29kZUltYWdlKEFyZ3VtZW50RW5jb2RlciogZW5jb2Rlciwg
SW1hZ2UqIGltYWdlKQogewotICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNo
YXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKGltYWdlLT5zaXplKCkpOworICAgIFJlZlB0
cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVh
YmxlKGltYWdlLT5zaXplKCksIFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9ydHNBbHBoYSk7CiAgICAg
Yml0bWFwLT5jcmVhdGVHcmFwaGljc0NvbnRleHQoKS0+ZHJhd0ltYWdlKGltYWdlLCBDb2xvclNw
YWNlRGV2aWNlUkdCLCBJbnRQb2ludCgpKTsKICAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBo
YW5kbGU7CiAgICAgYml0bWFwLT5jcmVhdGVIYW5kbGUoaGFuZGxlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViSW1hZ2UuY3BwCmluZGV4IGUyNDUyNjg3MDgwMTY5NTk3M2IxYThmNzk2MzA3ZDYxZGM2ZGI4
MGEuLmIwZTRiZmY2MTEyMTUxNGIxYWNiZDU3ZjYwMWI1MjkwZmQ2N2M2OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkltYWdlLmNwcApAQCAtMzUsOCArMzUsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IFBhc3NSZWZQdHI8V2ViSW1hZ2U+IFdlYkltYWdlOjpjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6
ZSwgSW1hZ2VPcHRpb25zIG9wdGlvbnMpCiB7CiAgICAgaWYgKG9wdGlvbnMgJiBJbWFnZU9wdGlv
bnNTaGFyZWFibGUpCi0gICAgICAgIHJldHVybiBXZWJJbWFnZTo6Y3JlYXRlKFNoYXJlYWJsZUJp
dG1hcDo6Y3JlYXRlU2hhcmVhYmxlKHNpemUpKTsKLSAgICByZXR1cm4gV2ViSW1hZ2U6OmNyZWF0
ZShTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShzaXplKSk7CisgICAgICAgIHJldHVybiBXZWJJbWFn
ZTo6Y3JlYXRlKFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKHNpemUsIFNoYXJlYWJs
ZUJpdG1hcDo6U3VwcG9ydHNBbHBoYSkpOworICAgIHJldHVybiBXZWJJbWFnZTo6Y3JlYXRlKFNo
YXJlYWJsZUJpdG1hcDo6Y3JlYXRlKHNpemUsIFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9ydHNBbHBo
YSkpOwogfQogCiBQYXNzUmVmUHRyPFdlYkltYWdlPiBXZWJJbWFnZTo6Y3JlYXRlKFBhc3NSZWZQ
dHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2Nn
L1NoYXJlYWJsZUJpdG1hcENHLmNwcAppbmRleCBkMGM5MjczOWQ1OWI0NzQxYmNmMjNkYjFhN2Ex
N2UxNmZkZWI2MGFjLi42YmNjMTA4MmI4MDM1Zjk4OTMzZjY0N2YyZDAyMThmNzU2MTYxMmE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKQEAg
LTM0LDE0ICszNCwyNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKK3N0YXRpYyBDR0JpdG1hcEluZm8gYml0bWFwSW5mbyhTaGFyZWFibGVCaXRtYXA6
OkZsYWdzIGZsYWdzKQoreworICAgIENHQml0bWFwSW5mbyBpbmZvID0ga0NHQml0bWFwQnl0ZU9y
ZGVyMzJIb3N0OworICAgIGlmIChmbGFncyAmIFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9ydHNBbHBo
YSkKKyAgICAgICAgaW5mbyB8PSBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0OworICAg
IGVsc2UKKyAgICAgICAgaW5mbyB8PSBrQ0dJbWFnZUFscGhhTm9uZVNraXBGaXJzdDsKKworICAg
IHJldHVybiBpbmZvOworfQorCiBQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gU2hhcmVhYmxl
Qml0bWFwOjpjcmVhdGVHcmFwaGljc0NvbnRleHQoKQogewogICAgIFJldGFpblB0cjxDR0NvbG9y
U3BhY2VSZWY+IGNvbG9yU3BhY2UoQWRvcHRDRiwgQ0dDb2xvclNwYWNlQ3JlYXRlRGV2aWNlUkdC
KCkpOwogCisKICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYgaW4gcmVsZWFzZUJpdG1h
cENvbnRleHREYXRhLgogICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IGJpdG1hcENvbnRleHQo
QWRvcHRDRiwgQ0dCaXRtYXBDb250ZXh0Q3JlYXRlV2l0aERhdGEoZGF0YSgpLAogICAgICAgICBt
X3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCA4LCBtX3NpemUud2lkdGgoKSAqIDQsIGNv
bG9yU3BhY2UuZ2V0KCksCi0gICAgICAgIGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkRmlyc3Qg
fCBrQ0dCaXRtYXBCeXRlT3JkZXIzMkhvc3QsIHJlbGVhc2VCaXRtYXBDb250ZXh0RGF0YSwgdGhp
cykpOworICAgICAgICBiaXRtYXBJbmZvKG1fZmxhZ3MpLCByZWxlYXNlQml0bWFwQ29udGV4dERh
dGEsIHRoaXMpKTsKIAogICAgIC8vIFdlIHdhbnQgdGhlIG9yaWdpbiB0byBiZSBpbiB0aGUgdG9w
IGxlZnQgY29ybmVyIHNvIHdlIGZsaXAgdGhlIGJhY2tpbmcgc3RvcmUgY29udGV4dC4KICAgICBD
R0NvbnRleHRUcmFuc2xhdGVDVE0oYml0bWFwQ29udGV4dC5nZXQoKSwgMCwgbV9zaXplLmhlaWdo
dCgpKTsKQEAgLTY4LDcgKzgwLDcgQEAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IFNoYXJlYWJsZUJp
dG1hcDo6bWFrZUNHSW1hZ2UoKQogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlcj4gZGF0YVBy
b3ZpZGVyKEFkb3B0Q0YsIENHRGF0YVByb3ZpZGVyQ3JlYXRlV2l0aERhdGEodGhpcywgZGF0YSgp
LCBzaXplSW5CeXRlcygpLCByZWxlYXNlRGF0YVByb3ZpZGVyRGF0YSkpOwogCiAgICAgUmV0YWlu
UHRyPENHQ29sb3JTcGFjZVJlZj4gY29sb3JTcGFjZShBZG9wdENGLCBDR0NvbG9yU3BhY2VDcmVh
dGVEZXZpY2VSR0IoKSk7Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0Ys
IENHSW1hZ2VDcmVhdGUobV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSwgOCwgMzIsIG1f
c2l6ZS53aWR0aCgpICogNCwgY29sb3JTcGFjZS5nZXQoKSwga0NHSW1hZ2VBbHBoYVByZW11bHRp
cGxpZWRGaXJzdCB8IGtDR0JpdG1hcEJ5dGVPcmRlcjMySG9zdCwgZGF0YVByb3ZpZGVyLmdldCgp
LCAwLCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIFJldGFpblB0cjxD
R0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBDR0ltYWdlQ3JlYXRlKG1fc2l6ZS53aWR0aCgpLCBt
X3NpemUuaGVpZ2h0KCksIDgsIDMyLCBtX3NpemUud2lkdGgoKSAqIDQsIGNvbG9yU3BhY2UuZ2V0
KCksIGJpdG1hcEluZm8obV9mbGFncyksIGRhdGFQcm92aWRlci5nZXQoKSwgMCwgZmFsc2UsIGtD
R1JlbmRlcmluZ0ludGVudERlZmF1bHQpKTsKICAgICByZXR1cm4gaW1hZ2U7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IGY5NTg5YjQyNzI1YmU3MzQyOGFmZjcxNWE3YTQwMGNl
MTYxYjBjMWUuLjdkMDAyMTk4YTk1MjNlOTEyMTgyYzA2ZDViNTBmNTMzN2Q0YWUzMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAtNTEzLDcgKzUxMyw3IEBAIFBhc3NSZWZQdHI8U2hh
cmVhYmxlQml0bWFwPiBOZXRzY2FwZVBsdWdpbjo6c25hcHNob3QoKQogCiAgICAgQVNTRVJUKG1f
aXNTdGFydGVkKTsKICAgICAKLSAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBT
aGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShtX2ZyYW1lUmVjdC5zaXplKCkpOworICAg
IFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRl
U2hhcmVhYmxlKG1fZnJhbWVSZWN0LnNpemUoKSwgU2hhcmVhYmxlQml0bWFwOjpTdXBwb3J0c0Fs
cGhhKTsKICAgICBPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBjb250ZXh0ID0gYml0bWFwLT5jcmVh
dGVHcmFwaGljc0NvbnRleHQoKTsKIAogICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtbV9mcmFtZVJl
Y3QueCgpLCAtbV9mcmFtZVJlY3QueSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCmluZGV4IDhmMDJjZjVkMjc2NGM1N2YwOGZlNzA3
OTFmNTYwMjViYmQzNDBhYjMuLjAyZmI0ZGRhNzJkNWFkYTcxMTgyMTExMDdiN2FmOGI4Mjg0MjJh
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b3h5LmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgUGx1Z2luUHJveHk6Omdlb21ldHJ5RGlk
Q2hhbmdlKGNvbnN0IEludFJlY3QmIGZyYW1lUmVjdCwgY29uc3QgSW50UmVjdCYgY2xpCiAKICAg
ICBpZiAoZGlkVXBkYXRlQmFja2luZ1N0b3JlKSB7CiAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBw
bHVnLWluIGJhY2tpbmcgc3RvcmUuCi0gICAgICAgIG1fcGx1Z2luQmFja2luZ1N0b3JlID0gU2hh
cmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUoZnJhbWVSZWN0LnNpemUoKSk7CisgICAgICAg
IG1fcGx1Z2luQmFja2luZ1N0b3JlID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUo
ZnJhbWVSZWN0LnNpemUoKSwgU2hhcmVhYmxlQml0bWFwOjpTdXBwb3J0c0FscGhhKTsKICAgICAg
ICAgaWYgKCFtX3BsdWdpbkJhY2tpbmdTdG9yZSkKICAgICAgICAgICAgIHJldHVybjsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2Vi
RHJhZ0NsaWVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0KaW5kZXggNTc1ZTg4Yjg2YzQ4MjEzN2JiZGZkNTM1
MGQ3OGM5ZjhjZTU4OGYxZi4uNzVkOTJlMjg1MzE3OTY0OGJkOTM1NWRhMGZjNmJiMzY0ZDlkYzNh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViRHJhZ0NsaWVudE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCkBAIC03Nyw3ICs3Nyw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNv
bnZlcnRJbWFnZVRvQml0bWFwKE5TSW1hZ2UgKmltYWdlKQogewotICAgIFJlZlB0cjxTaGFyZWFi
bGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKEludFNp
emUoW2ltYWdlIHNpemVdKSk7CisgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0g
U2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUoSW50U2l6ZShbaW1hZ2Ugc2l6ZV0pLCBT
aGFyZWFibGVCaXRtYXA6OlN1cHBvcnRzQWxwaGEpOwogICAgIE93blB0cjxHcmFwaGljc0NvbnRl
eHQ+IGdyYXBoaWNzQ29udGV4dCA9IGJpdG1hcC0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCk7CiAK
ICAgICBSZXRhaW5QdHI8TlNHcmFwaGljc0NvbnRleHQ+IHNhdmVkQ29udGV4dCA9IFtOU0dyYXBo
aWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNw
cAppbmRleCBmNzkxZmQ5ZWRhMGQzMTZlYjgwNjcxNmZhM2UyZjg2ZGZiNzlhZThmLi44NTEyMDNj
NDRlYjVlOTZiMTgzYzA1MzkwOWVkZDAxOWJjMmMzN2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVw
TWVudVdpbi5jcHAKQEAgLTc5LDggKzc5LDggQEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNldFVwUGxh
dGZvcm1EYXRhKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHBhZ2VDb29yZGluYXRlcywgUGwKICAg
ICBpbnQgYmFja2luZ1N0b3JlV2lkdGggPSBtYXgocGFnZUNvb3JkaW5hdGVzLndpZHRoKCkgLSBt
X3BvcHVwQ2xpZW50LT5jbGllbnRJbnNldExlZnQoKSAtIG1fcG9wdXBDbGllbnQtPmNsaWVudElu
c2V0UmlnaHQoKSwgcG9wdXBXaWR0aCk7CiAKICAgICBJbnRTaXplIGJhY2tpbmdTdG9yZVNpemUo
YmFja2luZ1N0b3JlV2lkdGgsIChpdGVtQ291bnQgKiBkYXRhLm1faXRlbUhlaWdodCkpOwotICAg
IGRhdGEubV9ub3RTZWxlY3RlZEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRl
U2hhcmVhYmxlKGJhY2tpbmdTdG9yZVNpemUpOwotICAgIGRhdGEubV9zZWxlY3RlZEJhY2tpbmdT
dG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKGJhY2tpbmdTdG9yZVNpemUp
OworICAgIGRhdGEubV9ub3RTZWxlY3RlZEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6
Y3JlYXRlU2hhcmVhYmxlKGJhY2tpbmdTdG9yZVNpemUsIFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9y
dHNBbHBoYSk7CisgICAgZGF0YS5tX3NlbGVjdGVkQmFja2luZ1N0b3JlID0gU2hhcmVhYmxlQml0
bWFwOjpjcmVhdGVTaGFyZWFibGUoYmFja2luZ1N0b3JlU2l6ZSwgU2hhcmVhYmxlQml0bWFwOjpT
dXBwb3J0c0FscGhhKTsKIAogICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQ+IG5vdFNlbGVjdGVk
QmFja2luZ1N0b3JlQ29udGV4dCA9IGRhdGEubV9ub3RTZWxlY3RlZEJhY2tpbmdTdG9yZS0+Y3Jl
YXRlR3JhcGhpY3NDb250ZXh0KCk7CiAgICAgT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gc2VsZWN0
ZWRCYWNraW5nU3RvcmVDb250ZXh0ID0gZGF0YS5tX3NlbGVjdGVkQmFja2luZ1N0b3JlLT5jcmVh
dGVHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNjI2YWIxNGYzNzA2MTNjMzg4YTU4
Y2NmNjAyYzNlMDUxZTc3MzM4MS4uNDgzNTBmNDA2Y2Q5NDYwOWI3NmY0Y2ViYmUyNDcyZTRiODdm
Yjg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAKQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1w
bDo6ZGlzcGxheShVcGRhdGVJbmZvJiB1cGRhdGVJbmZvKQogICAgIEludFJlY3QgYm91bmRzID0g
bV9kaXJ0eVJlZ2lvbi5ib3VuZHMoKTsKICAgICBBU1NFUlQobV93ZWJQYWdlLT5ib3VuZHMoKS5j
b250YWlucyhib3VuZHMpKTsKIAotICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9
IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKGJvdW5kcy5zaXplKCkpOworICAgIFJl
ZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlU2hh
cmVhYmxlKGJvdW5kcy5zaXplKCksIFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9ydHNBbHBoYSk7CiAg
ICAgaWYgKCFiaXRtYXAtPmNyZWF0ZUhhbmRsZSh1cGRhdGVJbmZvLmJpdG1hcEhhbmRsZSkpCiAg
ICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kQ29udHJvbGxlci5jcHAKaW5kZXggNTBjZjZjYmVhMjMxNzQ4YjgyODQ5MjBhMjhk
MGM5Njg2YmUwMjA2Yy4uM2U3YjI2OGM1Mzg4NzZhNzNkNjIxN2QzMGJmZTcxMDA3ZWQ5YmFjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRy
b2xsZXIuY3BwCkBAIC0xNjUsNyArMTY1LDcgQEAgYm9vbCBGaW5kQ29udHJvbGxlcjo6dXBkYXRl
RmluZEluZGljYXRvcihGcmFtZSogc2VsZWN0ZWRGcmFtZSwgYm9vbCBpc1Nob3dpbmdPdmUKICAg
ICBzZWxlY3RlZEZyYW1lLT5zZWxlY3Rpb24oKS0+Z2V0Q2xpcHBlZFZpc2libGVUZXh0UmVjdGFu
Z2xlcyh0ZXh0UmVjdHMpOwogCiAgICAgLy8gQ3JlYXRlIGEgYmFja2luZyBzdG9yZSBhbmQgcGFp
bnQgdGhlIGZpbmQgaW5kaWNhdG9yIHRleHQgaW50byBpdC4KLSAgICBSZWZQdHI8U2hhcmVhYmxl
Qml0bWFwPiBmaW5kSW5kaWNhdG9yVGV4dEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1hcDo6
Y3JlYXRlU2hhcmVhYmxlKHNlbGVjdGlvblJlY3Quc2l6ZSgpKTsKKyAgICBSZWZQdHI8U2hhcmVh
YmxlQml0bWFwPiBmaW5kSW5kaWNhdG9yVGV4dEJhY2tpbmdTdG9yZSA9IFNoYXJlYWJsZUJpdG1h
cDo6Y3JlYXRlU2hhcmVhYmxlKHNlbGVjdGlvblJlY3Quc2l6ZSgpLCBTaGFyZWFibGVCaXRtYXA6
OlN1cHBvcnRzQWxwaGEpOwogICAgIGlmICghZmluZEluZGljYXRvclRleHRCYWNraW5nU3RvcmUp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAK
</data>
<flag name="review"
          id="79861"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>