<?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>74814</bug_id>
          
          <creation_ts>2011-12-18 10:42:00 -0800</creation_ts>
          <short_desc>Add a scrolling thread to the scrolling coordinator</short_desc>
          <delta_ts>2011-12-19 06:26:06 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>efidler</cc>
    
    <cc>gmak</cc>
    
    <cc>levin+threading</cc>
    
    <cc>manyoso</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>523490</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-12-18 10:42:00 -0800</bug_when>
    <thetext>Add a scrolling thread to the scrolling coordinator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523492</commentid>
    <comment_count>1</comment_count>
      <attachid>119768</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-12-18 10:45:09 -0800</bug_when>
    <thetext>Created attachment 119768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523493</commentid>
    <comment_count>2</comment_count>
      <attachid>119768</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-12-18 10:53:39 -0800</bug_when>
    <thetext>Comment on attachment 119768
Patch

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

r=me with the preprocessor guard.

&gt; Source/WebCore/page/mac/ScrollingCoordinatorMac.mm:156
&gt; +    static ScrollingThread&amp; scrollingThread = *new ScrollingThread();

Y U NO DEFINE_STATIC_LOCAL?

&gt; Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp:92
&gt; +    MutexLocker locker(m_scrollingCoordinatorsMutex);
&gt; +    if (ScrollingCoordinator* scrollingCoordinator = m_scrollingCoordinators.get(pageID).get()) {
&gt; +        PlatformWheelEvent platformWheelEvent = platform(wheelEvent);
&gt; +
&gt; +        if (scrollingCoordinator-&gt;handleWheelEvent(platformWheelEvent)) {
&gt; +            sendDidHandleEvent(pageID, wheelEvent);
&gt; +            return;
&gt; +        }
&gt; +    }
&gt; +

This block needs an ENABLE(THREADED_SCROLLING) guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523494</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-12-18 10:56:30 -0800</bug_when>
    <thetext>Committed r103180: &lt;http://trac.webkit.org/changeset/103180&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523818</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-12-19 03:21:05 -0800</bug_when>
    <thetext>Little build fix: http://trac.webkit.org/changeset/103227</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119768</attachid>
            <date>2011-12-18 10:45:09 -0800</date>
            <delta_ts>2011-12-18 10:53:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74814-20111218104516.patch</filename>
            <type>text/plain</type>
            <size>14646</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkMjdiZWNlZDQyZmNm
N2JkMjI4YzY3MDA3ZjBlNjEwODRiZDhlMC4uNTJkZTg0Y2NjMjA1Mzc1ZWY3NWNkYzc2NzNkMWQw
OWRkMDhmMTA2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDExLTEyLTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIGEgc2Nyb2xs
aW5nIHRocmVhZCB0byB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAg
IEV4cG9ydCBTY3JvbGxpbmdDb29yZGluYXRvcjo6aGFuZGxlV2hlZWxFdmVudC4KKworICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisKKyAgICAgICAgKiBwYWdlL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpoYW5kbGVX
aGVlbEV2ZW50KToKKyAgICAgICAgQWRkIGEgc3R1YiBmdW5jdGlvbi4KKworICAgICAgICAqIHBh
Z2UvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TY3JvbGxpbmdD
b29yZGluYXRvck1hYy5tbTogQWRkZWQuCisgICAgICAgIEFkZCBhIFNjcm9sbGluZ1RocmVhZCBv
YmplY3Qgd2hpY2ggY3JlYXRlcyBhIHRocmVhZCBhbmQgYXR0YWNoZXMgYSBydW4gbG9vcCBzb3Vy
Y2UKKyAgICAgICAgdG8gaXQsIGFsbG93aW5nIGZvciBmdW5jdGlvbnMgdG8gYmUgZGlzcGF0Y2hl
ZCBhbmQgcnVuIG9uIHNhaWQgdGhyZWFkLgorCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdD
b29yZGluYXRvcjo6aXNTY3JvbGxpbmdUaHJlYWQpOgorICAgICAgICBDYWxsIFNjcm9sbGluZ1Ro
cmVhZDo6aXNDdXJyZW50VGhyZWFkLgorCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29y
ZGluYXRvcjo6ZGlzcGF0Y2hPblNjcm9sbGluZ1RocmVhZCk6CisgICAgICAgIENhbGwgU2Nyb2xs
aW5nVGhyZWFkOjpkaXNwYXRjaC4KKworMjAxMS0xMi0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEV2ZW50RGlzcGF0Y2hlciBzaG91bGQga2VlcCB0
cmFjayBvZiBhbGwgc2Nyb2xsaW5nIGNvb3JkaW5hdG9ycwogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGY5ZGI3ODBi
ZjQ5MDRkMWNmMDY3ZGFjNzczMTE1MGQxNTg1ZDMyNzAuLjdkZDU4YjU2YzhiZDFlZmE1NTc1YWQy
MjU2NDg2MDIyOWJmOTIxY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOCBAQAogMjAxMS0xMi0x
OCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBh
IHNjcm9sbGluZyB0aHJlYWQgdG8gdGhlIHNjcm9sbGluZyBjb29yZGluYXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBpZiB0aGUgc2Nyb2xs
aW5nIGNvb3JkaW5hdG9yIGNhbiBoYW5kbGUgdGhlIHdoZWVsIGV2ZW50IGJlZm9yZSBkaXNwYXRj
aGluZyBpdAorICAgICAgICB0byB0aGUgbWFpbiB0aHJlYWQuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RXZlbnRE
aXNwYXRjaGVyOjp3aGVlbEV2ZW50KToKKworMjAxMS0xMi0xOCAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEV2ZW50RGlzcGF0Y2hlciBzaG91bGQga2Vl
cCB0cmFjayBvZiBhbGwgc2Nyb2xsaW5nIGNvb3JkaW5hdG9ycwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpp
bmRleCBiNTgxMjdhYjk3NjFkMmUyYWIwMTNjNDNhZjcwMDgxYzY1ODQ1N2UzLi5jODc5MTI2OTc4
NjUzYTU2NDgyNzI2ZTU5NjJkZjIxMmQxNjhhYzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
MjAxOSw2ICsyMDE5LDcgQEAgX19aTjdXZWJDb3JlMTJOb3RpZmljYXRpb24xOGRpc3BhdGNoQ2xv
c2VFdmVudEV2CiAjZW5kaWYKIAogI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCitfX1pO
N1dlYkNvcmUyMFNjcm9sbGluZ0Nvb3JkaW5hdG9yMTZoYW5kbGVXaGVlbEV2ZW50RVJLTlNfMThQ
bGF0Zm9ybVdoZWVsRXZlbnRFCiBfX1pON1dlYkNvcmUyMFNjcm9sbGluZ0Nvb3JkaW5hdG9yRDFF
dgogX19aTjdXZWJDb3JlNFBhZ2UyMHNjcm9sbGluZ0Nvb3JkaW5hdG9yRXYKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDc4NWU1OTI1MjJhY2ZjMjc3MzE2NWQ2OWMyYTc1OTk3MjZiZWU0OTQuLmYxNzQzMmI0M2NlNTJi
YWRiMzJmNGFiZWI4MmM4Njk1NzcxZTViNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1Nyw2ICszNTcsNyBAQAogCQkxQTE0
MTRCNjEzQTBGMDUwMDAxOTk5NkMgLyogV2ViS2l0Rm9udEZhbWlseU5hbWVzLmggaW4gQ29weSBH
ZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTE0
MTRCNDEzQTBGMDUwMDAxOTk5NkMgLyogV2ViS2l0Rm9udEZhbWlseU5hbWVzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJMUExRDEzODAwQTUzMjU1MjAwNjRCRjVG
IC8qIERPTVhQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTFEMTM3RTBBNTMyNTUyMDA2NEJGNUYgLyogRE9NWFBhdGguaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxQTFEMTM4MTBBNTMyNTUyMDA2
NEJGNUYgLyogRE9NWFBhdGgubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTFEMTM3RjBBNTMyNTUyMDA2NEJGNUYgLyogRE9NWFBhdGgubW0gKi87IH07
CisJCTFBMUYyOEExMTQ5RTYyOTgwMEZCQzM1RiAvKiBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUYyODlG
MTQ5RTYyOTgwMEZCQzM1RiAvKiBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSAqLzsgfTsKIAkJ
MUEyMTlCM0IwRENBODdBQjAwNDBFM0EwIC8qIG5wZnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIxOUIzQTBEQ0E4N0FCMDA0MEUzQTAg
LyogbnBmdW5jdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQTIyNDY0OTBDQzk4RERCMDBDMDUyNDAgLyogU1FMaXRlRGF0YWJhc2UuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMjQ2NDMw
Q0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZURhdGFiYXNlLmNwcCAqLzsgfTsKIAkJMUEyMjQ2NEEw
Q0M5OEREQjAwQzA1MjQwIC8qIFNRTGl0ZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIyNDY0NDBDQzk4RERCMDBDMDUyNDAgLyogU1FM
aXRlRGF0YWJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNzQ4Nyw2ICs3NDg4LDcgQEAKIAkJMUExNDE0QjQxM0EwRjA1MDAwMTk5OTZDIC8q
IFdlYktpdEZvbnRGYW1pbHlOYW1lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRGb250RmFtaWx5
TmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUExRDEzN0UwQTUzMjU1MjAw
NjRCRjVGIC8qIERPTVhQYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TVhQYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMUQxMzdGMEE1MzI1NTIw
MDY0QkY1RiAvKiBET01YUGF0aC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTVhQYXRoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTFGMjg5
RjE0OUU2Mjk4MDBGQkMzNUYgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMTlCM0EwRENBODdBQjAwNDBFM0Ew
IC8qIG5wZnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IG5wZnVu
Y3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjI0NjQzMENDOThEREIw
MEMwNTI0MCAvKiBTUUxpdGVEYXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBTUUxpdGVEYXRhYmFzZS5jcHA7IHBhdGggPSBzcWwvU1FMaXRlRGF0YWJhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTIyNDY0NDBDQzk4RERCMDBDMDUy
NDAgLyogU1FMaXRlRGF0YWJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
U1FMaXRlRGF0YWJhc2UuaDsgcGF0aCA9IHNxbC9TUUxpdGVEYXRhYmFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTcxODksNiArMTcxOTEsNyBAQAogCQkJCTkzQzA5QTdFMEIw
NjRFRUYwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXJNYWMubW0gKi8sCiAJCQkJNjVCRjAyM0MwOTc0
ODE5MDAwQzQzMTk2IC8qIEZyYW1lTWFjLm1tICovLAogCQkJCTFDMjY0OTdCMEQ3RTI0RUMwMEJE
MTBGMiAvKiBQYWdlTWFjLmNwcCAqLywKKwkJCQkxQTFGMjg5RjE0OUU2Mjk4MDBGQkMzNUYgLyog
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gKi8sCiAJCQkJRjU4Nzg1NEMwMkRFMzc1OTAxRUE0
MTIyIC8qIFdlYkNvcmVGcmFtZVZpZXcuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwpAQCAt
Mjc4MzgsNiArMjc4NDEsNyBAQAogCQkJCTFBMkY5RDc5MTQ5NjhDNzQwMDY1QUM2MyAvKiBTY3Jv
bGxpbmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE3MTYwQTE0OUJDNERC
MDAxNkVDMTkgLyogVGlsZUNhY2hlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBNzE2MUUxNDlC
RjJGQTAwMTZFQzE5IC8qIFdlYlRpbGVMYXllci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFBMUYy
OEExMTQ5RTYyOTgwMEZCQzM1RiAvKiBTY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApp
bmRleCA0ODVjYThhNGFkMDRkYWFhNDA1MTViOTdmOTgxZmE2MGU3NTNkNDRhLi4xYzhjZDMwMjYz
NzM5ZmE5NDE2YTMxMmVkYTk3NTczY2M4MmExNmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjQsMTIgKzI0LDE0IEBACiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKwogI2lu
Y2x1ZGUgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8U2Nyb2xsaW5n
Q29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKQEAg
LTUzLDYgKzU1LDEyIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnBhZ2VEZXN0cm95ZWQo
KQogICAgIG1fcGFnZSA9IDA7CiB9CiAKK2Jvb2wgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmhhbmRs
ZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikKK3sKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50LgorICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBhNTJlOWY2ZTMzYmE4MTRkNGRjMmQz
MzI2YjRiM2M0Y2U3NGQ0NDc3Li45NmIzNDc3NzQwMTcxNzg2YjQ2ZTAwYWE3MzAyZTNkMDE1OGJl
ODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC00
NCw5ICs0NCwxOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHBhZ2VEZXN0cm95ZWQoKTsKIAorICAg
IC8vIENhbiBiZSBjYWxsZWQgZnJvbSBhbnkgdGhyZWFkLiBXaWxsIHRyeSB0byBoYW5kbGUgdGhl
IHdoZWVsIGV2ZW50IG9uIHRoZSBzY3JvbGxpbmcgdGhyZWFkLAorICAgIC8vIGFuZCByZXR1cm4g
ZmFsc2UgaWYgdGhlIGV2ZW50IG11c3QgYmUgc2VudCBhZ2FpbiB0byB0aGUgV2ViQ29yZSBldmVu
dCBoYW5kbGVyLgorICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvcihQ
YWdlKik7CiAKKyAgICAvLyBGSVhNRTogT25jZSB3ZSBoYXZlIGEgcHJvcGVyIHRocmVhZC9ydW4g
bG9vcCBhYnN0cmFjdGlvbiB3ZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGVzZQorICAgIC8vIGZ1bmN0
aW9ucyBhbmQganVzdCB1c2Ugc29tZXRoaW5nIGxpa2Ugc2Nyb2xsaW5nUnVuTG9vcCgpLT5kaXNw
YXRjaChmdW5jdGlvbik7CisgICAgc3RhdGljIGJvb2wgaXNTY3JvbGxpbmdUaHJlYWQoKTsKKyAg
ICBzdGF0aWMgdm9pZCBkaXNwYXRjaE9uU2Nyb2xsaW5nVGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZv
aWQoKT4mKTsKKwogcHJpdmF0ZToKICAgICBQYWdlKiBtX3BhZ2U7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43MGUwYmQ2N2VjODBiMzU2YWMyMzVlOGM2NTIxZjIxZWI3MjlkODMwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0K
QEAgLTAsMCArMSwxNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorCisjaW1wb3J0ICJTY3JvbGxpbmdDb29yZGlu
YXRvci5oIgorCisjaW1wb3J0IDx3dGYvRnVuY3Rpb25hbC5oPgorI2ltcG9ydCA8d3RmL01haW5U
aHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JvbGxpbmdUaHJlYWQgeworcHVi
bGljOgorICAgIFNjcm9sbGluZ1RocmVhZCgpCisgICAgICAgIDogbV90aHJlYWRJZGVudGlmaWVy
KDApCisgICAgeworICAgIH0KKworICAgIGJvb2wgaXNDdXJyZW50VGhyZWFkKCkgY29uc3Q7Cisg
ICAgdm9pZCBkaXNwYXRjaChjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisKK3ByaXZhdGU6Cisg
ICAgdm9pZCBjcmVhdGVUaHJlYWRJZk5lZWRlZCgpOworCisgICAgc3RhdGljIHZvaWQqIHRocmVh
ZENhbGxiYWNrKHZvaWQqIHNjcm9sbGluZ1RocmVhZCk7CisgICAgdm9pZCB0aHJlYWRCb2R5KCk7
CisKKyAgICBzdGF0aWMgdm9pZCB0aHJlYWRSdW5Mb29wU291cmNlQ2FsbGJhY2sodm9pZCogc2Ny
b2xsaW5nVGhyZWFkKTsKKyAgICB2b2lkIHRocmVhZFJ1bkxvb3BTb3VyY2VDYWxsYmFjaygpOwor
CisgICAgVGhyZWFkSWRlbnRpZmllciBtX3RocmVhZElkZW50aWZpZXI7CisKKyAgICBUaHJlYWRD
b25kaXRpb24gbV9pbml0aWFsaXplUnVuTG9vcENvbmRpdGlvbjsKKyAgICBNdXRleCBtX2luaXRp
YWxpemVSdW5Mb29wQ29uZGl0aW9uTXV0ZXg7CisgICAgCisgICAgUmV0YWluUHRyPENGUnVuTG9v
cFJlZj4gbV90aHJlYWRSdW5Mb29wOworICAgIFJldGFpblB0cjxDRlJ1bkxvb3BTb3VyY2VSZWY+
IG1fdGhyZWFkUnVuTG9vcFNvdXJjZTsKKworICAgIE11dGV4IG1fZnVuY3Rpb25zTXV0ZXg7Cisg
ICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQoKT4gPiBtX2Z1bmN0aW9uczsKK307CisKK2Jvb2wgU2Ny
b2xsaW5nVGhyZWFkOjppc0N1cnJlbnRUaHJlYWQoKSBjb25zdAoreworICAgIGlmICghbV90aHJl
YWRJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gY3VycmVu
dFRocmVhZCgpID09IG1fdGhyZWFkSWRlbnRpZmllcjsKK30KKwordm9pZCBTY3JvbGxpbmdUaHJl
YWQ6OmNyZWF0ZVRocmVhZElmTmVlZGVkKCkKK3sKKyAgICBpZiAobV90aHJlYWRJZGVudGlmaWVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3RocmVhZElkZW50aWZpZXIgPSBjcmVhdGVUaHJl
YWQodGhyZWFkQ2FsbGJhY2ssIHRoaXMsICJXZWJDb3JlOiBTY3JvbGxpbmciKTsKKworICAgIC8v
IFdhaXQgZm9yIHRoZSB0aHJlYWQgdG8gaW5pdGlhbGl6ZSB0aGUgcnVuIGxvb3AuCisgICAgewor
ICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9pbml0aWFsaXplUnVuTG9vcENvbmRpdGlvbk11
dGV4KTsKKworICAgICAgICB3aGlsZSAoIW1fdGhyZWFkUnVuTG9vcCkKKyAgICAgICAgICAgIG1f
aW5pdGlhbGl6ZVJ1bkxvb3BDb25kaXRpb24ud2FpdChtX2luaXRpYWxpemVSdW5Mb29wQ29uZGl0
aW9uTXV0ZXgpOworICAgIH0KK30KKwordm9pZCogU2Nyb2xsaW5nVGhyZWFkOjp0aHJlYWRDYWxs
YmFjayh2b2lkICpzY3JvbGxpbmdUaHJlYWQpCit7CisgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsaW5n
VGhyZWFkKj4oc2Nyb2xsaW5nVGhyZWFkKS0+dGhyZWFkQm9keSgpOworCisgICAgcmV0dXJuIDA7
Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVGhyZWFkOjp0aHJlYWRCb2R5KCkKK3sKKyAgICBBU1NFUlQo
aXNDdXJyZW50VGhyZWFkKCkpOworCisgICAgLy8gSW5pdGlhbGl6ZSB0aGUgcnVuIGxvb3AuCisg
ICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9pbml0aWFsaXplUnVuTG9vcENvbmRp
dGlvbk11dGV4KTsKKworICAgICAgICBtX3RocmVhZFJ1bkxvb3AgPSBDRlJ1bkxvb3BHZXRDdXJy
ZW50KCk7CisKKyAgICAgICAgQ0ZSdW5Mb29wU291cmNlQ29udGV4dCBjb250ZXh0ID0geyAwLCB0
aGlzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCB0aHJlYWRSdW5Mb29wU291cmNlQ2FsbGJhY2sgfTsK
KyAgICAgICAgbV90aHJlYWRSdW5Mb29wU291cmNlID0gYWRvcHRDRihDRlJ1bkxvb3BTb3VyY2VD
cmVhdGUoMCwgMCwgJmNvbnRleHQpKTsKKyAgICAgICAgQ0ZSdW5Mb29wQWRkU291cmNlKENGUnVu
TG9vcEdldEN1cnJlbnQoKSwgbV90aHJlYWRSdW5Mb29wU291cmNlLmdldCgpLCBrQ0ZSdW5Mb29w
RGVmYXVsdE1vZGUpOworCisgICAgICAgIG1faW5pdGlhbGl6ZVJ1bkxvb3BDb25kaXRpb24uYnJv
YWRjYXN0KCk7CisgICAgfQorCisgICAgQ0ZSdW5Mb29wUnVuKCk7Cit9CisKK3ZvaWQgU2Nyb2xs
aW5nVGhyZWFkOjp0aHJlYWRSdW5Mb29wU291cmNlQ2FsbGJhY2sodm9pZCogc2Nyb2xsaW5nVGhy
ZWFkKQoreworICAgIHN0YXRpY19jYXN0PFNjcm9sbGluZ1RocmVhZCo+KHNjcm9sbGluZ1RocmVh
ZCktPnRocmVhZFJ1bkxvb3BTb3VyY2VDYWxsYmFjaygpOworfQorCit2b2lkIFNjcm9sbGluZ1Ro
cmVhZDo6dGhyZWFkUnVuTG9vcFNvdXJjZUNhbGxiYWNrKCkKK3sKKyAgICBBU1NFUlQoaXNDdXJy
ZW50VGhyZWFkKCkpOworCisgICAgVmVjdG9yPEZ1bmN0aW9uPHZvaWQgKCk+ID4gZnVuY3Rpb25z
OworCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9mdW5jdGlvbnNNdXRleCk7
CisgICAgICAgIG1fZnVuY3Rpb25zLnN3YXAoZnVuY3Rpb25zKTsKKyAgICB9CisKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGZ1bmN0aW9ucy5zaXplKCk7ICsraSkKKyAgICAgICAgZnVuY3Rp
b25zW2ldKCk7Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChjb25zdCBGdW5j
dGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3sKKyAgICBjcmVhdGVUaHJlYWRJZk5lZWRlZCgpOwor
CisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9mdW5jdGlvbnNNdXRleCk7Cisg
ICAgICAgIG1fZnVuY3Rpb25zLmFwcGVuZChmdW5jdGlvbik7CisgICAgfQorCisgICAgQ0ZSdW5M
b29wU291cmNlU2lnbmFsKG1fdGhyZWFkUnVuTG9vcFNvdXJjZS5nZXQoKSk7CisgICAgQ0ZSdW5M
b29wV2FrZVVwKG1fdGhyZWFkUnVuTG9vcC5nZXQoKSk7Cit9CisKK3N0YXRpYyBTY3JvbGxpbmdU
aHJlYWQmIHNjcm9sbGluZ1RocmVhZCgpCit7CisgICAgc3RhdGljIFNjcm9sbGluZ1RocmVhZCYg
c2Nyb2xsaW5nVGhyZWFkID0gKm5ldyBTY3JvbGxpbmdUaHJlYWQoKTsKKyAgICByZXR1cm4gc2Ny
b2xsaW5nVGhyZWFkOworfQorCitib29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjppc1Njcm9sbGlu
Z1RocmVhZCgpCit7CisgICAgcmV0dXJuIHNjcm9sbGluZ1RocmVhZCgpLmlzQ3VycmVudFRocmVh
ZCgpOworfQorCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpkaXNwYXRjaE9uU2Nyb2xsaW5n
VGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQoreworICAgIHJldHVybiBz
Y3JvbGxpbmdUaHJlYWQoKS5kaXNwYXRjaChmdW5jdGlvbik7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3Bw
CmluZGV4IDM3OTVlOGE3ZjhiNTViNmY3OTczODQ1ODU1Yzc0M2U3YTg4ODA2ZWIuLmNiZTA3ZTEz
YTY3MTcxYThkNWM1Y2FkNDk5ODQxMDU4M2VlMzRmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC04MCw2ICs4
MCwxNiBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2VPbkNvbm5lY3Rp
b25Xb3JrUXVldWUoQ29yZUlQQzo6Q29ubmVjdGlvbgogCiB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6
d2hlZWxFdmVudCh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYldoZWVsRXZlbnQmIHdoZWVsRXZl
bnQpCiB7CisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3JzTXV0
ZXgpOworICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3Ig
PSBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9ycy5nZXQocGFnZUlEKS5nZXQoKSkgeworICAgICAgICBQ
bGF0Zm9ybVdoZWVsRXZlbnQgcGxhdGZvcm1XaGVlbEV2ZW50ID0gcGxhdGZvcm0od2hlZWxFdmVu
dCk7CisKKyAgICAgICAgaWYgKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5oYW5kbGVXaGVlbEV2ZW50
KHBsYXRmb3JtV2hlZWxFdmVudCkpIHsKKyAgICAgICAgICAgIHNlbmREaWRIYW5kbGVFdmVudChw
YWdlSUQsIHdoZWVsRXZlbnQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorCiAgICAgUnVuTG9vcDo6bWFpbigpLT5kaXNwYXRjaChiaW5kKCZFdmVudERpc3BhdGNoZXI6
OmRpc3BhdGNoV2hlZWxFdmVudCwgdGhpcywgcGFnZUlELCB3aGVlbEV2ZW50KSk7CiB9CiAK
</data>
<flag name="review"
          id="119877"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="119878"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>