<?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>33708</bug_id>
          
          <creation_ts>2010-01-15 01:41:59 -0800</creation_ts>
          <short_desc>[Qt] Custom select popups usage example.</short_desc>
          <delta_ts>2010-01-29 06:33:48 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>33418</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>girish</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181150</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-15 01:41:59 -0800</bug_when>
    <thetext>Custom select popups usage example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181171</commentid>
    <comment_count>1</comment_count>
      <attachid>46661</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-15 02:45:05 -0800</bug_when>
    <thetext>Created attachment 46661
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181172</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-15 02:47:11 -0800</bug_when>
    <thetext>Attachment 46661 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/qt/QGVLauncher/main.cpp:35:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit/qt/QGVLauncher/custompopup.cpp:21:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181174</commentid>
    <comment_count>3</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-15 02:49:07 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 46661 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebKit/qt/QGVLauncher/main.cpp:35:  Found other header before WebCore config.h.
&gt; Should be: config.h, primary header, blank line, and then alphabetically
&gt; sorted.  [build/include_order] [4]
&gt; WebKit/qt/QGVLauncher/custompopup.cpp:21:  Found header this file implements
&gt; before WebCore config.h. Should be: config.h, primary header, blank line, and
&gt; then alphabetically sorted.  [build/include_order] [4]
&gt; Total errors found: 2

I will ignore those style problems because those files are in QGVLauncher and cannot include config.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181206</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-15 04:58:11 -0800</bug_when>
    <thetext>Attachment 46661 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/190140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181207</commentid>
    <comment_count>5</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-15 05:05:24 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Attachment 46661 [details] did not build on qt:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/190140

The build did not succeeded because this bug depends on bug 33418.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182011</commentid>
    <comment_count>6</comment_count>
      <attachid>46856</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-18 14:53:33 -0800</bug_when>
    <thetext>Created attachment 46856
proposed patch.

Adaptation to the new API proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182013</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 14:59:06 -0800</bug_when>
    <thetext>Attachment 46856 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/qt/QGVLauncher/main.cpp:35:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit/qt/QGVLauncher/custompopup.cpp:21:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 2


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182014</commentid>
    <comment_count>8</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-18 15:09:21 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Attachment 46856 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebKit/qt/QGVLauncher/main.cpp:35:  Found other header before WebCore config.h.
&gt; Should be: config.h, primary header, blank line, and then alphabetically
&gt; sorted.  [build/include_order] [4]
&gt; WebKit/qt/QGVLauncher/custompopup.cpp:21:  Found header this file implements
&gt; before WebCore config.h. Should be: config.h, primary header, blank line, and
&gt; then alphabetically sorted.  [build/include_order] [4]
&gt; Total errors found: 2
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

those style errors were expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182118</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 20:29:17 -0800</bug_when>
    <thetext>Attachment 46856 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/198350</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182149</commentid>
    <comment_count>10</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-18 23:21:09 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Attachment 46856 [details] did not build on qt:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/198350

The build did not succeeded because this bug depends on bug 33418</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182785</commentid>
    <comment_count>11</comment_count>
      <attachid>47025</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-20 07:15:10 -0800</bug_when>
    <thetext>Created attachment 47025
Usage example

Will wait until dependencies are there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185854</commentid>
    <comment_count>12</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-01-29 06:33:48 -0800</bug_when>
    <thetext>As the public API was canceled this example is now invalid.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46661</attachid>
            <date>2010-01-15 02:45:05 -0800</date>
            <delta_ts>2010-01-18 14:53:33 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>0001-Qt-Custom-select-popups-usage-example.patch</filename>
            <type>text/plain</type>
            <size>13814</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAwNDlkY2JkNjkwYzEwZjcxNTY2NTUxZDIzOTQ3N2Q2MmJjZTk0YTc5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IEZyaSwgMTUgSmFuIDIwMTAgMDc6NDA6MzUgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIEN1c3RvbSBzZWxlY3QgcG9wdXBzIHVzYWdlIGV4YW1wbGUuCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM3MDgKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKUUdWTGF1bmNoZXIgY2hhbmdlZCB0byBiZSBhIHVzYWdlIGV4YW1wbGUgb2YgY3Vz
dG9tIHNlbGVjdCBwb3B1cHMuCkN1c3RvbSBzZWxlY3QgcG9wdXBzIGNhbiBiZSBlbmFibGVkIGFu
ZCBkaXNhYmxlZCBpbiBFZmZlY3RzIG1lbnUuCgoqIFFHVkxhdW5jaGVyL1FHVkxhdW5jaGVyLnBy
bzoKKiBRR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5jcHA6IEFkZGVkLgooQ3VzdG9tTGlzdFdpZGdl
dDo6Q3VzdG9tTGlzdFdpZGdldCk6CihDdXN0b21MaXN0V2lkZ2V0Ojpmb2N1c091dEV2ZW50KToK
KEN1c3RvbVBvcHVwOjpDdXN0b21Qb3B1cCk6CihDdXN0b21Qb3B1cDo6fkN1c3RvbVBvcHVwKToK
KEN1c3RvbVBvcHVwOjpzaG93KToKKEN1c3RvbVBvcHVwOjpoaWRlKToKKEN1c3RvbVBvcHVwOjpw
b3B1bGF0ZSk6CihDdXN0b21Qb3B1cDo6aW5BbmltYXRpb25FbmQpOgooQ3VzdG9tUG9wdXA6Om91
dEFuaW1hdGlvbkVuZCk6CihDdXN0b21Qb3B1cDo6aXRlbUNoYW5nZWQpOgoqIFFHVkxhdW5jaGVy
L2N1c3RvbXBvcHVwLmg6IEFkZGVkLgooQ3VzdG9tUG9wdXA6OmZvY3VzT3V0KToKKEN1c3RvbVBv
cHVwRmFjdG9yeTo6Y3JlYXRlKToKKiBRR1ZMYXVuY2hlci9tYWluLmNwcDoKKGZhY3RvcnkpOgoo
V2ViUGFnZTo6V2ViUGFnZSk6CihXZWJQYWdlOjpzZXRQb3B1cEZhY3RvcnkpOgooU2hhcmVkU2Nl
bmU6OnNldFBvcHVwRmFjdG9yeSk6CihNYWluV2luZG93Ojp1c2VDdXN0b21Qb3B1cCk6CihNYWlu
V2luZG93Ojp1c2VEZWZhdWx0UG9wdXApOgooTWFpbldpbmRvdzo6YnVpbGRVSSk6Ci0tLQogV2Vi
S2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysKIFdlYktp
dC9xdC9RR1ZMYXVuY2hlci9RR1ZMYXVuY2hlci5wcm8gfCAgICAzICstCiBXZWJLaXQvcXQvUUdW
TGF1bmNoZXIvY3VzdG9tcG9wdXAuY3BwIHwgIDE0OCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIFdlYktpdC9xdC9RR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5oICAgfCAgIDczICsr
KysrKysrKysrKysrKysKIFdlYktpdC9xdC9RR1ZMYXVuY2hlci9tYWluLmNwcCAgICAgICAgfCAg
IDUwICsrKysrKysrKysrLQogNSBmaWxlcyBjaGFuZ2VkLCAzMDQgaW5zZXJ0aW9ucygrKSwgNCBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvUUdWTGF1bmNoZXIvY3Vz
dG9tcG9wdXAuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1
c3RvbXBvcHVwLmgKCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0
L0NoYW5nZUxvZwppbmRleCA2ZDAyN2ZjLi5lZDkwYzBlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTIsNiArMiw0MCBAQAogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gQ3VzdG9t
IHNlbGVjdCBwb3B1cHMgdXNhZ2UgZXhhbXBsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNzA4CisKKyAgICAgICAgUUdWTGF1bmNoZXIgY2hhbmdl
ZCB0byBiZSBhIHVzYWdlIGV4YW1wbGUgb2YgY3VzdG9tIHNlbGVjdCBwb3B1cHMuCisgICAgICAg
IEN1c3RvbSBzZWxlY3QgcG9wdXBzIGNhbiBiZSBlbmFibGVkIGFuZCBkaXNhYmxlZCBpbiBFZmZl
Y3RzIG1lbnUuCisKKyAgICAgICAgKiBRR1ZMYXVuY2hlci9RR1ZMYXVuY2hlci5wcm86CisgICAg
ICAgICogUUdWTGF1bmNoZXIvY3VzdG9tcG9wdXAuY3BwOiBBZGRlZC4KKyAgICAgICAgKEN1c3Rv
bUxpc3RXaWRnZXQ6OkN1c3RvbUxpc3RXaWRnZXQpOgorICAgICAgICAoQ3VzdG9tTGlzdFdpZGdl
dDo6Zm9jdXNPdXRFdmVudCk6CisgICAgICAgIChDdXN0b21Qb3B1cDo6Q3VzdG9tUG9wdXApOgor
ICAgICAgICAoQ3VzdG9tUG9wdXA6On5DdXN0b21Qb3B1cCk6CisgICAgICAgIChDdXN0b21Qb3B1
cDo6c2hvdyk6CisgICAgICAgIChDdXN0b21Qb3B1cDo6aGlkZSk6CisgICAgICAgIChDdXN0b21Q
b3B1cDo6cG9wdWxhdGUpOgorICAgICAgICAoQ3VzdG9tUG9wdXA6OmluQW5pbWF0aW9uRW5kKToK
KyAgICAgICAgKEN1c3RvbVBvcHVwOjpvdXRBbmltYXRpb25FbmQpOgorICAgICAgICAoQ3VzdG9t
UG9wdXA6Oml0ZW1DaGFuZ2VkKToKKyAgICAgICAgKiBRR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5o
OiBBZGRlZC4KKyAgICAgICAgKEN1c3RvbVBvcHVwOjpmb2N1c091dCk6CisgICAgICAgIChDdXN0
b21Qb3B1cEZhY3Rvcnk6OmNyZWF0ZSk6CisgICAgICAgICogUUdWTGF1bmNoZXIvbWFpbi5jcHA6
CisgICAgICAgIChmYWN0b3J5KToKKyAgICAgICAgKFdlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAg
ICAoV2ViUGFnZTo6c2V0UG9wdXBGYWN0b3J5KToKKyAgICAgICAgKFNoYXJlZFNjZW5lOjpzZXRQ
b3B1cEZhY3RvcnkpOgorICAgICAgICAoTWFpbldpbmRvdzo6dXNlQ3VzdG9tUG9wdXApOgorICAg
ICAgICAoTWFpbldpbmRvdzo6dXNlRGVmYXVsdFBvcHVwKToKKyAgICAgICAgKE1haW5XaW5kb3c6
OmJ1aWxkVUkpOgorCisyMDEwLTAxLTE1ICBMdWl6IEFnb3N0aW5pICA8bHVpei5hZ29zdGluaUBv
cGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAg
ICAgICAgIFtRdF0gQ3VzdG9tIHNlbGVjdCBwb3B1cHMuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzQxOAogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
UUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL1FHVkxh
dW5jaGVyLnBybwppbmRleCAwNTllYzFhLi45YmRmYWQ5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
UUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvCisrKyBiL1dlYktpdC9xdC9RR1ZMYXVuY2hlci9R
R1ZMYXVuY2hlci5wcm8KQEAgLTEsNSArMSw2IEBACiBURU1QTEFURSA9IGFwcAotU09VUkNFUyAr
PSBtYWluLmNwcAorU09VUkNFUyArPSBtYWluLmNwcCBjdXN0b21wb3B1cC5jcHAKK0hFQURFUlMg
Kz0gY3VzdG9tcG9wdXAuaAogQ09ORklHIC09IGFwcF9idW5kbGUKIENPTkZJRyArPSB1aXRvb2xz
CiBERVNURElSID0gLi4vLi4vLi4vYmluCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvUUdWTGF1bmNo
ZXIvY3VzdG9tcG9wdXAuY3BwIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTMwZGYxCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmNwcApAQCAtMCwwICsx
LDE0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjdXN0b21wb3B1cC5oIgorCisj
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCisjaW5jbHVkZSA8UVBy
b3BlcnR5QW5pbWF0aW9uPgorI2VuZGlmCisjaW5jbHVkZSA8UVN0YW5kYXJkSXRlbU1vZGVsPgor
CitDdXN0b21MaXN0V2lkZ2V0OjpDdXN0b21MaXN0V2lkZ2V0KCkKK3sKK30KKwordm9pZCBDdXN0
b21MaXN0V2lkZ2V0Ojpmb2N1c091dEV2ZW50KFFGb2N1c0V2ZW50KiBldmVudCkKK3sKKyAgICBl
bWl0IGZvY3VzT3V0KCk7CisgICAgUUxpc3RXaWRnZXQ6OmZvY3VzT3V0RXZlbnQoZXZlbnQpOwor
fQorCitDdXN0b21Qb3B1cDo6Q3VzdG9tUG9wdXAoKQorI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVS
U0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIDogbV9hbmltYXRpb24oMCkKKyNlbmRpZgoreworICAg
IGNvbm5lY3QoJm1fbGlzdCwgU0lHTkFMKGl0ZW1DbGlja2VkKFFMaXN0V2lkZ2V0SXRlbSopKSwg
dGhpcywgU0xPVChpdGVtQ2hhbmdlZCgpKSk7CisgICAgY29ubmVjdCgmbV9saXN0LCBTSUdOQUwo
Zm9jdXNPdXQoKSksIHRoaXMsIFNMT1QoZm9jdXNPdXQoKSkpOworfQorCitDdXN0b21Qb3B1cDo6
fkN1c3RvbVBvcHVwKCkKK3sKK30KKwordm9pZCBDdXN0b21Qb3B1cDo6c2hvdyhjb25zdCBRUmVj
dCYgZ2VvbWV0cnksIGludCBzZWxlY3RlZEluZGV4KQoreworICAgIG1fbGlzdC5zZXRHZW9tZXRy
eShRUmVjdCgwLCAwLCBnZW9tZXRyeS53aWR0aCgpLCAyNTApKTsKKyAgICBtX2xpc3Quc2V0Q3Vy
cmVudFJvdyhzZWxlY3RlZEluZGV4KTsKKyAgICBRUG9pbnQgZW5kID0gZ2VvbWV0cnkudG9wTGVm
dCgpOworICAgIFFXaWRnZXQqIHBhcmVudCA9IG1fbGlzdC5wYXJlbnRXaWRnZXQoKTsKKyAgICBp
ZiAocGFyZW50KSB7CisgICAgICAgIGVuZC5zZXRYKHFNaW4oZW5kLngoKSwgcGFyZW50LT53aWR0
aCgpIC0gbV9saXN0LndpZHRoKCkpKTsKKyAgICAgICAgZW5kLnNldFkocU1pbihlbmQueSgpLCBw
YXJlbnQtPmhlaWdodCgpIC0gbV9saXN0LmhlaWdodCgpKSk7CisgICAgfQorICAgIG1fbGlzdC5z
ZXRHZW9tZXRyeShRUmVjdChlbmQueCgpLCBlbmQueSgpLCBnZW9tZXRyeS53aWR0aCgpLCAyNTAp
KTsKKyNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKKyAgICBpZiAo
bV9hbmltYXRpb24pCisgICAgICAgIG1fYW5pbWF0aW9uLT5zdG9wKCk7CisKKyAgICBRUG9pbnQg
c3RhcnQgPSBRUG9pbnQoLW1fbGlzdC53aWR0aCgpLCAtbV9saXN0LmhlaWdodCgpKTsKKworICAg
IGlmIChwYXJlbnQpIHsKKyAgICAgICAgc3RhcnQuc2V0WCgyICogZW5kLngoKSA8IHBhcmVudC0+
d2lkdGgoKSA/IC1tX2xpc3Qud2lkdGgoKSA6IHBhcmVudC0+d2lkdGgoKSk7CisgICAgICAgIHN0
YXJ0LnNldFkoMiAqIGVuZC55KCkgPCBwYXJlbnQtPmhlaWdodCgpID8gLW1fbGlzdC5oZWlnaHQo
KSA6IHBhcmVudC0+aGVpZ2h0KCkpOworICAgIH0KKworICAgIFFQcm9wZXJ0eUFuaW1hdGlvbiog
YW5pbWF0aW9uID0gbmV3IFFQcm9wZXJ0eUFuaW1hdGlvbigpOworICAgIGFuaW1hdGlvbi0+c2V0
VGFyZ2V0T2JqZWN0KCZtX2xpc3QpOworICAgIGFuaW1hdGlvbi0+c2V0UHJvcGVydHlOYW1lKCJw
b3MiKTsKKyAgICBhbmltYXRpb24tPnNldEVhc2luZ0N1cnZlKFFFYXNpbmdDdXJ2ZTo6T3V0Qm91
bmNlKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0aW9uKDEwMDApOworICAgIGFuaW1hdGlvbi0+
c2V0U3RhcnRWYWx1ZShzdGFydCk7CisgICAgYW5pbWF0aW9uLT5zZXRFbmRWYWx1ZShlbmQpOwor
CisgICAgbV9hbmltYXRpb24gPSBhbmltYXRpb247CisgICAgY29ubmVjdChhbmltYXRpb24sIFNJ
R05BTChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChpbkFuaW1hdGlvbkVuZCgpKSk7CisgICAgbV9h
bmltYXRpb24tPnN0YXJ0KFFBYnN0cmFjdEFuaW1hdGlvbjo6RGVsZXRlV2hlblN0b3BwZWQpOwor
I2Vsc2UKKyAgICBpbkFuaW1hdGlvbkVuZCgpOworI2VuZGlmCisgICAgbV9saXN0LnNldFBhcmVu
dChwYXJlbnRXaWRnZXQoKSk7CisgICAgbV9saXN0LnNldFZpc2libGUodHJ1ZSk7CisKK30KKwor
dm9pZCBDdXN0b21Qb3B1cDo6aGlkZSgpCit7CisjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9O
X0NIRUNLKDQsIDYsIDApCisgICAgaWYgKG1fYW5pbWF0aW9uKQorICAgICAgICBtX2FuaW1hdGlv
bi0+c3RvcCgpOworCisgICAgUVByb3BlcnR5QW5pbWF0aW9uKiBhbmltYXRpb24gPSBuZXcgUVBy
b3BlcnR5QW5pbWF0aW9uOworICAgIGFuaW1hdGlvbi0+c2V0VGFyZ2V0T2JqZWN0KCZtX2xpc3Qp
OworICAgIGFuaW1hdGlvbi0+c2V0UHJvcGVydHlOYW1lKCJwb3MiKTsKKyAgICBhbmltYXRpb24t
PnNldEVhc2luZ0N1cnZlKFFFYXNpbmdDdXJ2ZTo6T3V0Q3ViaWMpOworICAgIGFuaW1hdGlvbi0+
c2V0RHVyYXRpb24oNTAwKTsKKyAgICBhbmltYXRpb24tPnNldEVuZFZhbHVlKFFQb2ludCgtbV9s
aXN0LndpZHRoKCksIC1tX2xpc3QuaGVpZ2h0KCkpKTsKKworICAgIG1fYW5pbWF0aW9uID0gYW5p
bWF0aW9uOworICAgIGNvbm5lY3QoYW5pbWF0aW9uLCBTSUdOQUwoZmluaXNoZWQoKSksIHRoaXMs
IFNMT1Qob3V0QW5pbWF0aW9uRW5kKCkpKTsKKyAgICBtX2FuaW1hdGlvbi0+c3RhcnQoUUFic3Ry
YWN0QW5pbWF0aW9uOjpEZWxldGVXaGVuU3RvcHBlZCk7CisjZWxzZQorICAgIG91dEFuaW1hdGlv
bkVuZCgpOworI2VuZGlmCit9CisKK3ZvaWQgQ3VzdG9tUG9wdXA6OnBvcHVsYXRlKGNvbnN0IFFM
aXN0PEl0ZW0+JiBpdGVtcykKK3sKKworICAgIG1fbGlzdC5jbGVhcigpOworCisgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBpdGVtcy5zaXplKCk7IGkrKykgeworICAgICAgICBpZiAoaXRlbXNbaV0u
dHlwZSA9PSBRV2ViU2VsZWN0UG9wdXBEZWxlZ2F0ZTo6SXRlbTo6U2VwYXJhdG9yKQorICAgICAg
ICAgICAgbV9saXN0LmFkZEl0ZW0oIi0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIG1fbGlzdC5hZGRJdGVtKGl0ZW1zW2ldLnRleHQpOworICAgIH0KK30KKwordm9p
ZCBDdXN0b21Qb3B1cDo6aW5BbmltYXRpb25FbmQoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRf
VkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIG1fYW5pbWF0aW9uID0gMDsKKyNlbmRpZgorICAg
IG1fbGlzdC5zZXRGb2N1cygpOworfQorCit2b2lkIEN1c3RvbVBvcHVwOjpvdXRBbmltYXRpb25F
bmQoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAg
IG1fYW5pbWF0aW9uID0gMDsKKyNlbmRpZgorICAgIGRpZEhpZGUodHJ1ZSk7CisgICAgbV9saXN0
LnNldFBhcmVudCgwKTsKKyAgICBtX2xpc3Quc2V0VmlzaWJsZShmYWxzZSk7Cit9CisKK3ZvaWQg
Q3VzdG9tUG9wdXA6Oml0ZW1DaGFuZ2VkKCkKK3sKKyAgICBzZXRJbmRleChtX2xpc3QuY3VycmVu
dEluZGV4KCkucm93KCkpOworICAgIGhpZGUoKTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9R
R1ZMYXVuY2hlci9jdXN0b21wb3B1cC5oIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBv
cHVwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM1M2Q2ZgotLS0gL2Rl
di9udWxsCisrKyBiL1dlYktpdC9xdC9RR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5oCkBAIC0wLDAg
KzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIGN1c3RvbXBvcHVwX2gKKyNkZWZp
bmUgY3VzdG9tcG9wdXBfaAorCisjaW5jbHVkZSAicXdlYnNlbGVjdHBvcHVwZGVsZWdhdGUuaCIK
KworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorI2luY2x1ZGUg
PFFBYnN0cmFjdEFuaW1hdGlvbj4KKyNlbmRpZgorI2luY2x1ZGUgPFFMaXN0V2lkZ2V0PgorCitj
bGFzcyBDdXN0b21MaXN0V2lkZ2V0IDogcHVibGljIFFMaXN0V2lkZ2V0IHsKKyAgICBRX09CSkVD
VAorcHVibGljOgorICAgIEN1c3RvbUxpc3RXaWRnZXQoKTsKKworc2lnbmFsczoKKyAgICB2b2lk
IGZvY3VzT3V0KCk7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZvaWQgZm9jdXNPdXRFdmVu
dChRRm9jdXNFdmVudCogZXZlbnQpOworfTsKKworY2xhc3MgQ3VzdG9tUG9wdXAgOiBwdWJsaWMg
UU9iamVjdCwgcHVibGljIFFXZWJTZWxlY3RQb3B1cERlbGVnYXRlIHsKKyAgICBRX09CSkVDVAor
cHVibGljOgorICAgIEN1c3RvbVBvcHVwKCk7CisgICAgfkN1c3RvbVBvcHVwKCk7CisKKyAgICB2
aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBRUmVjdCYgZ2VvbWV0cnksIGludCBzZWxlY3RlZEluZGV4
KTsKKyAgICB2aXJ0dWFsIHZvaWQgaGlkZSgpOworICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZShj
b25zdCBRTGlzdDxJdGVtPiYgaXRlbXMpOworCitwcml2YXRlOgorICAgIEN1c3RvbUxpc3RXaWRn
ZXQgbV9saXN0OworICAgIFFMaXN0PEl0ZW0+IG1faXRlbXM7CisKKyNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKKyAgICBRQWJzdHJhY3RBbmltYXRpb24qIG1fYW5p
bWF0aW9uOworI2VuZGlmCisKK3ByaXZhdGUgc2xvdHM6CisgICAgdm9pZCBpbkFuaW1hdGlvbkVu
ZCgpOworICAgIHZvaWQgb3V0QW5pbWF0aW9uRW5kKCk7CisgICAgdm9pZCBpdGVtQ2hhbmdlZCgp
OworICAgIHZvaWQgZm9jdXNPdXQoKSB7IGhpZGUoKTsgfQorfTsKKworY2xhc3MgQ3VzdG9tUG9w
dXBGYWN0b3J5IDogcHVibGljIFFXZWJTZWxlY3RQb3B1cERlbGVnYXRlRmFjdG9yeSB7CitwdWJs
aWM6CisgICAgdmlydHVhbCBRV2ViU2VsZWN0UG9wdXBEZWxlZ2F0ZSogY3JlYXRlKCkgeyByZXR1
cm4gbmV3IEN1c3RvbVBvcHVwOyB9Cit9OworCisjZW5kaWYgLy8gY3VzdG9tcG9wdXBfaApkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL21haW4uY3BwIGIvV2ViS2l0L3F0L1FHVkxh
dW5jaGVyL21haW4uY3BwCmluZGV4IGI4MjM0N2UuLmRmNWYxMjcgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9RR1ZMYXVuY2hlci9tYWluLmNwcAorKysgYi9XZWJLaXQvcXQvUUdWTGF1bmNoZXIvbWFp
bi5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJpZ2h0IChDKSAy
MDA5LCAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQog
ICogQ29weXJpZ2h0IChDKSAyMDA2IEdlb3JnZSBTdGFpa29zIDxzdGFpa29zQGtkZS5vcmc+CiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgRGlyayBNdWVsbGVyIDxtdWVsbGVyQGtkZS5vcmc+CiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgWmFjayBSdXNpbiA8emFja0BrZGUub3JnPgpAQCAtMzIsNyArMzIs
NyBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW5jbHVkZSA8UURlYnVnPgorI2luY2x1ZGUg
ImN1c3RvbXBvcHVwLmgiCiAjaW5jbHVkZSA8UUZpbGU+CiAjaW5jbHVkZSA8UUdyYXBoaWNzU2Nl
bmU+CiAjaW5jbHVkZSA8UUdyYXBoaWNzVmlldz4KQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRl
IDxxd2ViZnJhbWUuaD4KICNpbmNsdWRlIDxxZ3JhcGhpY3N3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8
cXdlYnBhZ2UuaD4KKyNpbmNsdWRlIDxxd2Vic2VsZWN0cG9wdXBkZWxlZ2F0ZS5oPgogI2luY2x1
ZGUgPHF3ZWJzZXR0aW5ncy5oPgogI2luY2x1ZGUgPHF3ZWJ2aWV3Lmg+CiAKQEAgLTkzLDYgKzk0
LDEyIEBAIHByaXZhdGU6CiAgICAgcXJlYWwgbV95Um90YXRpb247CiB9OwogCitzdGF0aWMgUVdl
YlNlbGVjdFBvcHVwRGVsZWdhdGVGYWN0b3J5KiBmYWN0b3J5KCkKK3sKKyAgICBzdGF0aWMgUVdl
YlNlbGVjdFBvcHVwRGVsZWdhdGVGYWN0b3J5KiByZXN1bHQobmV3IEN1c3RvbVBvcHVwRmFjdG9y
eSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogY2xhc3MgV2ViUGFnZSA6IHB1YmxpYyBRV2Vi
UGFnZSB7CiAgICAgUV9PQkpFQ1QKIApAQCAtMTAxLDkgKzEwOCwxNSBAQCBwdWJsaWM6CiAgICAg
ICAgIDogUVdlYlBhZ2UocGFyZW50KQogICAgIHsKICAgICAgICAgYXBwbHlQcm94eSgpOworICAg
ICAgICBzZXRQb3B1cEZhY3RvcnkoZmFsc2UpOwogICAgIH0KICAgICB2aXJ0dWFsIFFXZWJQYWdl
KiBjcmVhdGVXaW5kb3coUVdlYlBhZ2U6OldlYldpbmRvd1R5cGUpOwogCisgICAgdm9pZCBzZXRQ
b3B1cEZhY3RvcnkoYm9vbCB1c2VDdXN0b21Qb3B1cCkKKyAgICB7CisgICAgICAgIFFXZWJQYWdl
OjpzZXRTZWxlY3RQb3B1cERlbGVnYXRlRmFjdG9yeSh1c2VDdXN0b21Qb3B1cCA/IGZhY3Rvcnko
KSA6IDApOworICAgIH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGFwcGx5UHJveHkoKQogICAgIHsK
QEAgLTIyMiw2ICsyMzUsMTEgQEAgcHVibGljOgogICAgIFFHcmFwaGljc1NjZW5lKiBzY2VuZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2NlbmU7IH0KICAgICBXZWJWaWV3KiB3ZWJWaWV3KCkgY29uc3Qg
eyByZXR1cm4gbV9pdGVtOyB9CiAKKyAgICB2b2lkIHNldFBvcHVwRmFjdG9yeShib29sIHVzZUN1
c3RvbVBvcHVwKQorICAgIHsKKyAgICAgICAgbV9wYWdlLT5zZXRQb3B1cEZhY3RvcnkodXNlQ3Vz
dG9tUG9wdXApOworICAgIH0KKwogcHJpdmF0ZToKICAgICBRR3JhcGhpY3NTY2VuZSogbV9zY2Vu
ZTsKICAgICBXZWJWaWV3KiBtX2l0ZW07CkBAIC0zODIsNiArNDAwLDIyIEBAIHB1YmxpYyBzbG90
czoKICAgICAgICAgdmlldy0+YW5pbWF0ZWRZRmxpcCgpOwogICAgIH0KIAorICAgIHZvaWQgdXNl
Q3VzdG9tUG9wdXAoKQorICAgIHsKKyAgICAgICAgbV91c2VDdXN0b21Qb3B1cC0+c2V0VmlzaWJs
ZShmYWxzZSk7CisgICAgICAgIG1fdXNlRGVmYXVsdFBvcHVwLT5zZXRWaXNpYmxlKHRydWUpOwor
ICAgICAgICBzY2VuZS0+c2V0UG9wdXBGYWN0b3J5KHRydWUpOworICAgICAgICBtX3JlbG9hZC0+
dHJpZ2dlcigpOworICAgIH0KKworICAgIHZvaWQgdXNlRGVmYXVsdFBvcHVwKCkKKyAgICB7Cisg
ICAgICAgIG1fdXNlQ3VzdG9tUG9wdXAtPnNldFZpc2libGUodHJ1ZSk7CisgICAgICAgIG1fdXNl
RGVmYXVsdFBvcHVwLT5zZXRWaXNpYmxlKGZhbHNlKTsKKyAgICAgICAgc2NlbmUtPnNldFBvcHVw
RmFjdG9yeShmYWxzZSk7CisgICAgICAgIG1fcmVsb2FkLT50cmlnZ2VyKCk7CisgICAgfQorCiBw
cml2YXRlOgogCiAgICAgdm9pZCBsb2FkVVJMKGNvbnN0IFFVcmwmIHVybCkKQEAgLTQwNCw3ICs0
MzgsOCBAQCBwcml2YXRlOgogICAgICAgICBRVG9vbEJhciogYmFyID0gYWRkVG9vbEJhcigiTmF2
aWdhdGlvbiIpOwogICAgICAgICBiYXItPmFkZEFjdGlvbihwYWdlLT5hY3Rpb24oUVdlYlBhZ2U6
OkJhY2spKTsKICAgICAgICAgYmFyLT5hZGRBY3Rpb24ocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpG
b3J3YXJkKSk7Ci0gICAgICAgIGJhci0+YWRkQWN0aW9uKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6
UmVsb2FkKSk7CisgICAgICAgIG1fcmVsb2FkID0gcGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpSZWxv
YWQpOworICAgICAgICBiYXItPmFkZEFjdGlvbihtX3JlbG9hZCk7CiAgICAgICAgIGJhci0+YWRk
QWN0aW9uKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6U3RvcCkpOwogICAgICAgICBiYXItPmFkZFdp
ZGdldCh1cmxFZGl0KTsKIApAQCAtNDI4LDEyICs0NjMsMjEgQEAgcHJpdmF0ZToKICAgICAgICAg
ZnhNZW51LT5hZGRBY3Rpb24oIkZsaXAiLCB0aGlzLCBTTE9UKGZsaXAoKSkpOwogICAgICAgICBm
eE1lbnUtPmFkZEFjdGlvbigiQW5pbWF0ZWQgRmxpcCIsIHRoaXMsIFNMT1QoYW5pbWF0ZWRGbGlw
KCkpLCBRS2V5U2VxdWVuY2UoIkN0cmwrUiIpKTsKICAgICAgICAgZnhNZW51LT5hZGRBY3Rpb24o
IkFuaW1hdGVkIFktRmxpcCIsIHRoaXMsIFNMT1QoYW5pbWF0ZWRZRmxpcCgpKSwgUUtleVNlcXVl
bmNlKCJDdHJsK1kiKSk7CisKKyAgICAgICAgbV91c2VDdXN0b21Qb3B1cCA9IGZ4TWVudS0+YWRk
QWN0aW9uKCJVc2UgY3VzdG9tIHBvcHVwIiwgdGhpcywgU0xPVCh1c2VDdXN0b21Qb3B1cCgpKSk7
CisgICAgICAgIG1fdXNlRGVmYXVsdFBvcHVwID0gZnhNZW51LT5hZGRBY3Rpb24oIlVzZSBkZWZh
dWx0IHBvcHVwIiwgdGhpcywgU0xPVCh1c2VEZWZhdWx0UG9wdXAoKSkpOworCisgICAgICAgIHVz
ZURlZmF1bHRQb3B1cCgpOwogICAgIH0KIAogcHJpdmF0ZToKICAgICBNYWluVmlldyogdmlldzsK
ICAgICBRRXhwbGljaXRseVNoYXJlZERhdGFQb2ludGVyPFNoYXJlZFNjZW5lPiBzY2VuZTsKIAor
ICAgIFFBY3Rpb24qIG1fdXNlQ3VzdG9tUG9wdXA7CisgICAgUUFjdGlvbiogbV91c2VEZWZhdWx0
UG9wdXA7CisgICAgUUFjdGlvbiogbV9yZWxvYWQ7CisKICAgICBRTGluZUVkaXQqIHVybEVkaXQ7
CiB9OwogCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46856</attachid>
            <date>2010-01-18 14:53:33 -0800</date>
            <delta_ts>2010-01-20 07:15:10 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>0001-combobox-popup-delegate-usage-example.patch</filename>
            <type>text/plain</type>
            <size>13639</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAxMTQ3OTcyNGI3NmJkMmZjOWQ3NzcyODliNjY2MTZhNWYyMGJiY2VmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IE1vbiwgMTggSmFuIDIwMTAgMTk6NDk6MzMgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBjb21ib2JveCBwb3B1cCBkZWxlZ2F0ZSB1c2FnZSBleGFtcGxlLgogY3VzdG9tIGNvbWJv
Ym94IHBvcHVwIHVzYWdlIGNhbiBiZSB0dXJuZWQgb24vb2ZmIGluIEVmZmVjdHMgbWVudS4KClJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKW1F0XSBDdXN0b20gc2VsZWN0IHBvcHVwcyB1c2Fn
ZSBleGFtcGxlLgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM3MDgK
CiogUUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvOgoqIFFHVkxhdW5jaGVyL2N1c3RvbXBvcHVw
LmNwcDogQWRkZWQuCihDdXN0b21MaXN0V2lkZ2V0OjpDdXN0b21MaXN0V2lkZ2V0KToKKEN1c3Rv
bUxpc3RXaWRnZXQ6OmZvY3VzT3V0RXZlbnQpOgooQ3VzdG9tUG9wdXA6OkN1c3RvbVBvcHVwKToK
KEN1c3RvbVBvcHVwOjp+Q3VzdG9tUG9wdXApOgooQ3VzdG9tUG9wdXA6Om9wZW4pOgooQ3VzdG9t
UG9wdXA6OmNsb3NlKToKKEN1c3RvbVBvcHVwOjpwb3B1bGF0ZSk6CihDdXN0b21Qb3B1cDo6aW5B
bmltYXRpb25FbmQpOgooQ3VzdG9tUG9wdXA6Om91dEFuaW1hdGlvbkVuZCk6CihDdXN0b21Qb3B1
cDo6aXRlbUNoYW5nZWQpOgoqIFFHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmg6IEFkZGVkLgooQ3Vz
dG9tUG9wdXA6OmZvY3VzT3V0KToKKEN1c3RvbVBvcHVwRmFjdG9yeTo6Y3JlYXRlKToKKiBRR1ZM
YXVuY2hlci9tYWluLmNwcDoKKGZhY3RvcnkpOgooV2ViUGFnZTo6V2ViUGFnZSk6CihXZWJQYWdl
OjpzZXRQb3B1cEZhY3RvcnkpOgooU2hhcmVkU2NlbmU6OnNldFBvcHVwRmFjdG9yeSk6CihNYWlu
V2luZG93Ojp1c2VDdXN0b21Qb3B1cCk6CihNYWluV2luZG93Ojp1c2VEZWZhdWx0UG9wdXApOgoo
TWFpbldpbmRvdzo6YnVpbGRVSSk6Ci0tLQogV2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICB8ICAgMzQgKysrKysrKysKIFdlYktpdC9xdC9RR1ZMYXVuY2hlci9RR1ZMYXVuY2hl
ci5wcm8gfCAgICAzICstCiBXZWJLaXQvcXQvUUdWTGF1bmNoZXIvY3VzdG9tcG9wdXAuY3BwIHwg
IDE0OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFdlYktpdC9xdC9RR1ZMYXVu
Y2hlci9jdXN0b21wb3B1cC5oICAgfCAgIDczICsrKysrKysrKysrKysrKysKIFdlYktpdC9xdC9R
R1ZMYXVuY2hlci9tYWluLmNwcCAgICAgICAgfCAgIDUwICsrKysrKysrKysrLQogNSBmaWxlcyBj
aGFuZ2VkLCAzMDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBXZWJLaXQvcXQvUUdWTGF1bmNoZXIvY3VzdG9tcG9wdXAuY3BwCiBjcmVhdGUgbW9kZSAx
MDA2NDQgV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmgKCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAxOWRjZjAxLi4y
Zjc3ZWVmIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9D
aGFuZ2VMb2cKQEAgLTIsNiArMiw0MCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgogCisgICAgICAgIGNvbWJvYm94IHBvcHVwIGRlbGVnYXRlIHVzYWdlIGV4YW1wbGUu
CisgICAgICAgIGN1c3RvbSBjb21ib2JveCBwb3B1cCB1c2FnZSBjYW4gYmUgdHVybmVkIG9uL29m
ZiBpbiBFZmZlY3RzIG1lbnUuCisKKyAgICAgICAgW1F0XSBDdXN0b20gc2VsZWN0IHBvcHVwcyB1
c2FnZSBleGFtcGxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzM3MDgKKworICAgICAgICAqIFFHVkxhdW5jaGVyL1FHVkxhdW5jaGVyLnBybzoKKyAg
ICAgICAgKiBRR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5jcHA6IEFkZGVkLgorICAgICAgICAoQ3Vz
dG9tTGlzdFdpZGdldDo6Q3VzdG9tTGlzdFdpZGdldCk6CisgICAgICAgIChDdXN0b21MaXN0V2lk
Z2V0Ojpmb2N1c091dEV2ZW50KToKKyAgICAgICAgKEN1c3RvbVBvcHVwOjpDdXN0b21Qb3B1cCk6
CisgICAgICAgIChDdXN0b21Qb3B1cDo6fkN1c3RvbVBvcHVwKToKKyAgICAgICAgKEN1c3RvbVBv
cHVwOjpvcGVuKToKKyAgICAgICAgKEN1c3RvbVBvcHVwOjpjbG9zZSk6CisgICAgICAgIChDdXN0
b21Qb3B1cDo6cG9wdWxhdGUpOgorICAgICAgICAoQ3VzdG9tUG9wdXA6OmluQW5pbWF0aW9uRW5k
KToKKyAgICAgICAgKEN1c3RvbVBvcHVwOjpvdXRBbmltYXRpb25FbmQpOgorICAgICAgICAoQ3Vz
dG9tUG9wdXA6Oml0ZW1DaGFuZ2VkKToKKyAgICAgICAgKiBRR1ZMYXVuY2hlci9jdXN0b21wb3B1
cC5oOiBBZGRlZC4KKyAgICAgICAgKEN1c3RvbVBvcHVwOjpmb2N1c091dCk6CisgICAgICAgIChD
dXN0b21Qb3B1cEZhY3Rvcnk6OmNyZWF0ZSk6CisgICAgICAgICogUUdWTGF1bmNoZXIvbWFpbi5j
cHA6CisgICAgICAgIChmYWN0b3J5KToKKyAgICAgICAgKFdlYlBhZ2U6OldlYlBhZ2UpOgorICAg
ICAgICAoV2ViUGFnZTo6c2V0UG9wdXBGYWN0b3J5KToKKyAgICAgICAgKFNoYXJlZFNjZW5lOjpz
ZXRQb3B1cEZhY3RvcnkpOgorICAgICAgICAoTWFpbldpbmRvdzo6dXNlQ3VzdG9tUG9wdXApOgor
ICAgICAgICAoTWFpbldpbmRvdzo6dXNlRGVmYXVsdFBvcHVwKToKKyAgICAgICAgKE1haW5XaW5k
b3c6OmJ1aWxkVUkpOgorCisyMDEwLTAxLTE4ICBMdWl6IEFnb3N0aW5pICA8bHVpei5hZ29zdGlu
aUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CiAgICAgICAgIFtRdF0gQ3VzdG9tIHNlbGVjdCBwb3B1cHMuCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzQxOAogCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvUUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL1FH
VkxhdW5jaGVyLnBybwppbmRleCAwNTllYzFhLi45YmRmYWQ5IDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvUUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvCisrKyBiL1dlYktpdC9xdC9RR1ZMYXVuY2hl
ci9RR1ZMYXVuY2hlci5wcm8KQEAgLTEsNSArMSw2IEBACiBURU1QTEFURSA9IGFwcAotU09VUkNF
UyArPSBtYWluLmNwcAorU09VUkNFUyArPSBtYWluLmNwcCBjdXN0b21wb3B1cC5jcHAKK0hFQURF
UlMgKz0gY3VzdG9tcG9wdXAuaAogQ09ORklHIC09IGFwcF9idW5kbGUKIENPTkZJRyArPSB1aXRv
b2xzCiBERVNURElSID0gLi4vLi4vLi4vYmluCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvUUdWTGF1
bmNoZXIvY3VzdG9tcG9wdXAuY3BwIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVw
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGI3MjY5Ci0tLSAvZGV2
L251bGwKKysrIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmNwcApAQCAtMCww
ICsxLDE0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjdXN0b21wb3B1cC5oIgor
CisjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCisjaW5jbHVkZSA8
UVByb3BlcnR5QW5pbWF0aW9uPgorI2VuZGlmCisjaW5jbHVkZSA8UVN0YW5kYXJkSXRlbU1vZGVs
PgorCitDdXN0b21MaXN0V2lkZ2V0OjpDdXN0b21MaXN0V2lkZ2V0KCkKK3sKK30KKwordm9pZCBD
dXN0b21MaXN0V2lkZ2V0Ojpmb2N1c091dEV2ZW50KFFGb2N1c0V2ZW50KiBldmVudCkKK3sKKyAg
ICBlbWl0IGZvY3VzT3V0KCk7CisgICAgUUxpc3RXaWRnZXQ6OmZvY3VzT3V0RXZlbnQoZXZlbnQp
OworfQorCitDdXN0b21Qb3B1cDo6Q3VzdG9tUG9wdXAoKQorI2lmIFFUX1ZFUlNJT04gPj0gUVRf
VkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIDogbV9hbmltYXRpb24oMCkKKyNlbmRpZgorewor
ICAgIGNvbm5lY3QoJm1fbGlzdCwgU0lHTkFMKGl0ZW1DbGlja2VkKFFMaXN0V2lkZ2V0SXRlbSop
KSwgdGhpcywgU0xPVChpdGVtQ2hhbmdlZCgpKSk7CisgICAgY29ubmVjdCgmbV9saXN0LCBTSUdO
QUwoZm9jdXNPdXQoKSksIHRoaXMsIFNMT1QoZm9jdXNPdXQoKSkpOworfQorCitDdXN0b21Qb3B1
cDo6fkN1c3RvbVBvcHVwKCkKK3sKK30KKwordm9pZCBDdXN0b21Qb3B1cDo6b3BlbigpCit7Cisg
ICAgbV9saXN0LnNldFBhcmVudCh2aWV3KCkpOworICAgIG1fbGlzdC5zZXRHZW9tZXRyeShRUmVj
dCgwLCAwLCBnZW9tZXRyeSgpLndpZHRoKCksIDI1MCkpOworICAgIFFQb2ludCBlbmQgPSBnZW9t
ZXRyeSgpLnRvcExlZnQoKTsKKyAgICBRV2lkZ2V0KiBwYXJlbnQgPSBtX2xpc3QucGFyZW50V2lk
Z2V0KCk7CisgICAgaWYgKHBhcmVudCkgeworICAgICAgICBlbmQuc2V0WChxTWluKGVuZC54KCks
IHBhcmVudC0+d2lkdGgoKSAtIG1fbGlzdC53aWR0aCgpKSk7CisgICAgICAgIGVuZC5zZXRZKHFN
aW4oZW5kLnkoKSwgcGFyZW50LT5oZWlnaHQoKSAtIG1fbGlzdC5oZWlnaHQoKSkpOworICAgIH0K
KyAgICBtX2xpc3Quc2V0R2VvbWV0cnkoUVJlY3QoZW5kLngoKSwgZW5kLnkoKSwgZ2VvbWV0cnko
KS53aWR0aCgpLCAyNTApKTsKKyNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwg
NiwgMCkKKyAgICBpZiAobV9hbmltYXRpb24pCisgICAgICAgIG1fYW5pbWF0aW9uLT5zdG9wKCk7
CisKKyAgICBRUG9pbnQgc3RhcnQgPSBRUG9pbnQoLW1fbGlzdC53aWR0aCgpLCAtbV9saXN0Lmhl
aWdodCgpKTsKKworICAgIGlmIChwYXJlbnQpIHsKKyAgICAgICAgc3RhcnQuc2V0WCgyICogZW5k
LngoKSA8IHBhcmVudC0+d2lkdGgoKSA/IC1tX2xpc3Qud2lkdGgoKSA6IHBhcmVudC0+d2lkdGgo
KSk7CisgICAgICAgIHN0YXJ0LnNldFkoMiAqIGVuZC55KCkgPCBwYXJlbnQtPmhlaWdodCgpID8g
LW1fbGlzdC5oZWlnaHQoKSA6IHBhcmVudC0+aGVpZ2h0KCkpOworICAgIH0KKworICAgIFFQcm9w
ZXJ0eUFuaW1hdGlvbiogYW5pbWF0aW9uID0gbmV3IFFQcm9wZXJ0eUFuaW1hdGlvbigpOworICAg
IGFuaW1hdGlvbi0+c2V0VGFyZ2V0T2JqZWN0KCZtX2xpc3QpOworICAgIGFuaW1hdGlvbi0+c2V0
UHJvcGVydHlOYW1lKCJwb3MiKTsKKyAgICBhbmltYXRpb24tPnNldEVhc2luZ0N1cnZlKFFFYXNp
bmdDdXJ2ZTo6T3V0Qm91bmNlKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0aW9uKDEwMDApOwor
ICAgIGFuaW1hdGlvbi0+c2V0U3RhcnRWYWx1ZShzdGFydCk7CisgICAgYW5pbWF0aW9uLT5zZXRF
bmRWYWx1ZShlbmQpOworCisgICAgbV9hbmltYXRpb24gPSBhbmltYXRpb247CisgICAgY29ubmVj
dChhbmltYXRpb24sIFNJR05BTChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChpbkFuaW1hdGlvbkVu
ZCgpKSk7CisgICAgbV9hbmltYXRpb24tPnN0YXJ0KFFBYnN0cmFjdEFuaW1hdGlvbjo6RGVsZXRl
V2hlblN0b3BwZWQpOworI2Vsc2UKKyAgICBpbkFuaW1hdGlvbkVuZCgpOworI2VuZGlmCisgICAg
cG9wdWxhdGUoKTsKKyAgICBtX2xpc3Quc2V0Q3VycmVudFJvdyhjdXJyZW50SW5kZXgoKSk7Cisg
ICAgbV9saXN0LnNldFZpc2libGUodHJ1ZSk7CisKK30KKwordm9pZCBDdXN0b21Qb3B1cDo6Y2xv
c2UoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAg
IGlmIChtX2FuaW1hdGlvbikKKyAgICAgICAgbV9hbmltYXRpb24tPnN0b3AoKTsKKworICAgIFFQ
cm9wZXJ0eUFuaW1hdGlvbiogYW5pbWF0aW9uID0gbmV3IFFQcm9wZXJ0eUFuaW1hdGlvbjsKKyAg
ICBhbmltYXRpb24tPnNldFRhcmdldE9iamVjdCgmbV9saXN0KTsKKyAgICBhbmltYXRpb24tPnNl
dFByb3BlcnR5TmFtZSgicG9zIik7CisgICAgYW5pbWF0aW9uLT5zZXRFYXNpbmdDdXJ2ZShRRWFz
aW5nQ3VydmU6Ok91dEN1YmljKTsKKyAgICBhbmltYXRpb24tPnNldER1cmF0aW9uKDUwMCk7Cisg
ICAgYW5pbWF0aW9uLT5zZXRFbmRWYWx1ZShRUG9pbnQoLW1fbGlzdC53aWR0aCgpLCAtbV9saXN0
LmhlaWdodCgpKSk7CisKKyAgICBtX2FuaW1hdGlvbiA9IGFuaW1hdGlvbjsKKyAgICBjb25uZWN0
KGFuaW1hdGlvbiwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0aGlzLCBTTE9UKG91dEFuaW1hdGlvbkVu
ZCgpKSk7CisgICAgbV9hbmltYXRpb24tPnN0YXJ0KFFBYnN0cmFjdEFuaW1hdGlvbjo6RGVsZXRl
V2hlblN0b3BwZWQpOworI2Vsc2UKKyAgICBvdXRBbmltYXRpb25FbmQoKTsKKyNlbmRpZgorfQor
Cit2b2lkIEN1c3RvbVBvcHVwOjpwb3B1bGF0ZSgpCit7CisKKyAgICBtX2xpc3QuY2xlYXIoKTsK
KyAgICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZW1Db3VudCgpOyBpKyspIHsKKyAgICAgICAgaWYg
KGl0ZW1UeXBlKGkpID09IFFXZWJEZWxlZ2F0ZVNlbGVjdFBvcHVwOjpTZXBhcmF0b3IpCisgICAg
ICAgICAgICBtX2xpc3QuYWRkSXRlbSgiLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgbV9saXN0LmFkZEl0ZW0oaXRlbVRleHQoaSkpOworICAgIH0KK30KKwordm9p
ZCBDdXN0b21Qb3B1cDo6aW5BbmltYXRpb25FbmQoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRf
VkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIG1fYW5pbWF0aW9uID0gMDsKKyNlbmRpZgorICAg
IG1fbGlzdC5zZXRGb2N1cygpOworfQorCit2b2lkIEN1c3RvbVBvcHVwOjpvdXRBbmltYXRpb25F
bmQoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAg
IG1fYW5pbWF0aW9uID0gMDsKKyNlbmRpZgorICAgIGluZm9ybUNsb3NlZCgpOworICAgIG1fbGlz
dC5zZXRQYXJlbnQoMCk7CisgICAgbV9saXN0LnNldFZpc2libGUoZmFsc2UpOworfQorCit2b2lk
IEN1c3RvbVBvcHVwOjppdGVtQ2hhbmdlZCgpCit7CisgICAgc2V0Q3VycmVudEluZGV4KG1fbGlz
dC5jdXJyZW50SW5kZXgoKS5yb3coKSk7CisgICAgY2xvc2UoKTsKK30KZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9RR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5oIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVy
L2N1c3RvbXBvcHVwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUxOWMw
MgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9xdC9RR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5o
CkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIGN1c3RvbXBvcHVw
X2gKKyNkZWZpbmUgY3VzdG9tcG9wdXBfaAorCisjaW5jbHVkZSAicXdlYmRlbGVnYXRlc2VsZWN0
cG9wdXAuaCIKKworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQor
I2luY2x1ZGUgPFFBYnN0cmFjdEFuaW1hdGlvbj4KKyNlbmRpZgorI2luY2x1ZGUgPFFMaXN0V2lk
Z2V0PgorCitjbGFzcyBDdXN0b21MaXN0V2lkZ2V0IDogcHVibGljIFFMaXN0V2lkZ2V0IHsKKyAg
ICBRX09CSkVDVAorcHVibGljOgorICAgIEN1c3RvbUxpc3RXaWRnZXQoKTsKKworc2lnbmFsczoK
KyAgICB2b2lkIGZvY3VzT3V0KCk7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIHZvaWQgZm9j
dXNPdXRFdmVudChRRm9jdXNFdmVudCogZXZlbnQpOworfTsKKworY2xhc3MgQ3VzdG9tUG9wdXAg
OiBwdWJsaWMgUU9iamVjdCwgcHVibGljIFFXZWJEZWxlZ2F0ZVNlbGVjdFBvcHVwIHsKKyAgICBR
X09CSkVDVAorcHVibGljOgorICAgIEN1c3RvbVBvcHVwKCk7CisgICAgfkN1c3RvbVBvcHVwKCk7
CisKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbigpOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgpOwor
Citwcml2YXRlOgorICAgIEN1c3RvbUxpc3RXaWRnZXQgbV9saXN0OworCisjaWYgUVRfVkVSU0lP
TiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCisgICAgUUFic3RyYWN0QW5pbWF0aW9uKiBt
X2FuaW1hdGlvbjsKKyNlbmRpZgorCisgICAgdm9pZCBwb3B1bGF0ZSgpOworCitwcml2YXRlIHNs
b3RzOgorICAgIHZvaWQgaW5BbmltYXRpb25FbmQoKTsKKyAgICB2b2lkIG91dEFuaW1hdGlvbkVu
ZCgpOworICAgIHZvaWQgaXRlbUNoYW5nZWQoKTsKKyAgICB2b2lkIGZvY3VzT3V0KCkgeyBjbG9z
ZSgpOyB9Cit9OworCitjbGFzcyBDdXN0b21Qb3B1cEZhY3RvcnkgOiBwdWJsaWMgUVdlYkRlbGVn
YXRlU2VsZWN0UG9wdXBGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIFFXZWJEZWxlZ2F0
ZVNlbGVjdFBvcHVwKiBjcmVhdGUoKSB7IHJldHVybiBuZXcgQ3VzdG9tUG9wdXA7IH0KK307CisK
KyNlbmRpZiAvLyBjdXN0b21wb3B1cF9oCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvUUdWTGF1bmNo
ZXIvbWFpbi5jcHAgYi9XZWJLaXQvcXQvUUdWTGF1bmNoZXIvbWFpbi5jcHAKaW5kZXggYjgyMzQ3
ZS4uMzI2NmRiOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL21haW4uY3BwCisr
KyBiL1dlYktpdC9xdC9RR1ZMYXVuY2hlci9tYWluLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRp
YXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgR2Vvcmdl
IFN0YWlrb3MgPHN0YWlrb3NAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNiBEaXJrIE11
ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNiBaYWNrIFJ1c2lu
IDx6YWNrQGtkZS5vcmc+CkBAIC0zMiw3ICszMiw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
LSNpbmNsdWRlIDxRRGVidWc+CisjaW5jbHVkZSAiY3VzdG9tcG9wdXAuaCIKICNpbmNsdWRlIDxR
RmlsZT4KICNpbmNsdWRlIDxRR3JhcGhpY3NTY2VuZT4KICNpbmNsdWRlIDxRR3JhcGhpY3NWaWV3
PgpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPHF3ZWJlbGVtZW50Lmg+CiAjaW5jbHVkZSA8
cXdlYmZyYW1lLmg+CiAjaW5jbHVkZSA8cWdyYXBoaWNzd2Vidmlldy5oPgorI2luY2x1ZGUgPHF3
ZWJkZWxlZ2F0ZXNlbGVjdHBvcHVwLmg+CiAjaW5jbHVkZSA8cXdlYnBhZ2UuaD4KICNpbmNsdWRl
IDxxd2Vic2V0dGluZ3MuaD4KICNpbmNsdWRlIDxxd2Vidmlldy5oPgpAQCAtOTMsNiArOTQsMTIg
QEAgcHJpdmF0ZToKICAgICBxcmVhbCBtX3lSb3RhdGlvbjsKIH07CiAKK3N0YXRpYyBRV2ViRGVs
ZWdhdGVTZWxlY3RQb3B1cEZhY3RvcnkqIGZhY3RvcnkoKQoreworICAgIHN0YXRpYyBRV2ViRGVs
ZWdhdGVTZWxlY3RQb3B1cEZhY3RvcnkqIHJlc3VsdChuZXcgQ3VzdG9tUG9wdXBGYWN0b3J5KTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCiBjbGFzcyBXZWJQYWdlIDogcHVibGljIFFXZWJQYWdl
IHsKICAgICBRX09CSkVDVAogCkBAIC0xMDEsOSArMTA4LDE1IEBAIHB1YmxpYzoKICAgICAgICAg
OiBRV2ViUGFnZShwYXJlbnQpCiAgICAgewogICAgICAgICBhcHBseVByb3h5KCk7CisgICAgICAg
IHNldFBvcHVwRmFjdG9yeShmYWxzZSk7CiAgICAgfQogICAgIHZpcnR1YWwgUVdlYlBhZ2UqIGNy
ZWF0ZVdpbmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSk7CiAKKyAgICB2b2lkIHNldFBvcHVw
RmFjdG9yeShib29sIHVzZUN1c3RvbVBvcHVwKQorICAgIHsKKyAgICAgICAgUVdlYlBhZ2U6OnNl
dFNlbGVjdFBvcHVwRGVsZWdhdGVGYWN0b3J5KHVzZUN1c3RvbVBvcHVwID8gZmFjdG9yeSgpIDog
MCk7CisgICAgfQorCiBwcml2YXRlOgogICAgIHZvaWQgYXBwbHlQcm94eSgpCiAgICAgewpAQCAt
MjIyLDYgKzIzNSwxMSBAQCBwdWJsaWM6CiAgICAgUUdyYXBoaWNzU2NlbmUqIHNjZW5lKCkgY29u
c3QgeyByZXR1cm4gbV9zY2VuZTsgfQogICAgIFdlYlZpZXcqIHdlYlZpZXcoKSBjb25zdCB7IHJl
dHVybiBtX2l0ZW07IH0KIAorICAgIHZvaWQgc2V0UG9wdXBGYWN0b3J5KGJvb2wgdXNlQ3VzdG9t
UG9wdXApCisgICAgeworICAgICAgICBtX3BhZ2UtPnNldFBvcHVwRmFjdG9yeSh1c2VDdXN0b21Q
b3B1cCk7CisgICAgfQorCiBwcml2YXRlOgogICAgIFFHcmFwaGljc1NjZW5lKiBtX3NjZW5lOwog
ICAgIFdlYlZpZXcqIG1faXRlbTsKQEAgLTM4Miw2ICs0MDAsMjIgQEAgcHVibGljIHNsb3RzOgog
ICAgICAgICB2aWV3LT5hbmltYXRlZFlGbGlwKCk7CiAgICAgfQogCisgICAgdm9pZCB1c2VDdXN0
b21Qb3B1cCgpCisgICAgeworICAgICAgICBtX3VzZUN1c3RvbVBvcHVwLT5zZXRWaXNpYmxlKGZh
bHNlKTsKKyAgICAgICAgbV91c2VEZWZhdWx0UG9wdXAtPnNldFZpc2libGUodHJ1ZSk7CisgICAg
ICAgIHNjZW5lLT5zZXRQb3B1cEZhY3RvcnkodHJ1ZSk7CisgICAgICAgIG1fcmVsb2FkLT50cmln
Z2VyKCk7CisgICAgfQorCisgICAgdm9pZCB1c2VEZWZhdWx0UG9wdXAoKQorICAgIHsKKyAgICAg
ICAgbV91c2VDdXN0b21Qb3B1cC0+c2V0VmlzaWJsZSh0cnVlKTsKKyAgICAgICAgbV91c2VEZWZh
dWx0UG9wdXAtPnNldFZpc2libGUoZmFsc2UpOworICAgICAgICBzY2VuZS0+c2V0UG9wdXBGYWN0
b3J5KGZhbHNlKTsKKyAgICAgICAgbV9yZWxvYWQtPnRyaWdnZXIoKTsKKyAgICB9CisKIHByaXZh
dGU6CiAKICAgICB2b2lkIGxvYWRVUkwoY29uc3QgUVVybCYgdXJsKQpAQCAtNDA0LDcgKzQzOCw4
IEBAIHByaXZhdGU6CiAgICAgICAgIFFUb29sQmFyKiBiYXIgPSBhZGRUb29sQmFyKCJOYXZpZ2F0
aW9uIik7CiAgICAgICAgIGJhci0+YWRkQWN0aW9uKHBhZ2UtPmFjdGlvbihRV2ViUGFnZTo6QmFj
aykpOwogICAgICAgICBiYXItPmFkZEFjdGlvbihwYWdlLT5hY3Rpb24oUVdlYlBhZ2U6OkZvcndh
cmQpKTsKLSAgICAgICAgYmFyLT5hZGRBY3Rpb24ocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpSZWxv
YWQpKTsKKyAgICAgICAgbV9yZWxvYWQgPSBwYWdlLT5hY3Rpb24oUVdlYlBhZ2U6OlJlbG9hZCk7
CisgICAgICAgIGJhci0+YWRkQWN0aW9uKG1fcmVsb2FkKTsKICAgICAgICAgYmFyLT5hZGRBY3Rp
b24ocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTdG9wKSk7CiAgICAgICAgIGJhci0+YWRkV2lkZ2V0
KHVybEVkaXQpOwogCkBAIC00MjgsMTIgKzQ2MywyMSBAQCBwcml2YXRlOgogICAgICAgICBmeE1l
bnUtPmFkZEFjdGlvbigiRmxpcCIsIHRoaXMsIFNMT1QoZmxpcCgpKSk7CiAgICAgICAgIGZ4TWVu
dS0+YWRkQWN0aW9uKCJBbmltYXRlZCBGbGlwIiwgdGhpcywgU0xPVChhbmltYXRlZEZsaXAoKSks
IFFLZXlTZXF1ZW5jZSgiQ3RybCtSIikpOwogICAgICAgICBmeE1lbnUtPmFkZEFjdGlvbigiQW5p
bWF0ZWQgWS1GbGlwIiwgdGhpcywgU0xPVChhbmltYXRlZFlGbGlwKCkpLCBRS2V5U2VxdWVuY2Uo
IkN0cmwrWSIpKTsKKworICAgICAgICBtX3VzZUN1c3RvbVBvcHVwID0gZnhNZW51LT5hZGRBY3Rp
b24oIlVzZSBjdXN0b20gcG9wdXAiLCB0aGlzLCBTTE9UKHVzZUN1c3RvbVBvcHVwKCkpKTsKKyAg
ICAgICAgbV91c2VEZWZhdWx0UG9wdXAgPSBmeE1lbnUtPmFkZEFjdGlvbigiVXNlIGRlZmF1bHQg
cG9wdXAiLCB0aGlzLCBTTE9UKHVzZURlZmF1bHRQb3B1cCgpKSk7CisKKyAgICAgICAgdXNlRGVm
YXVsdFBvcHVwKCk7CiAgICAgfQogCiBwcml2YXRlOgogICAgIE1haW5WaWV3KiB2aWV3OwogICAg
IFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8U2hhcmVkU2NlbmU+IHNjZW5lOwogCisgICAg
UUFjdGlvbiogbV91c2VDdXN0b21Qb3B1cDsKKyAgICBRQWN0aW9uKiBtX3VzZURlZmF1bHRQb3B1
cDsKKyAgICBRQWN0aW9uKiBtX3JlbG9hZDsKKwogICAgIFFMaW5lRWRpdCogdXJsRWRpdDsKIH07
CiAKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47025</attachid>
            <date>2010-01-20 07:15:10 -0800</date>
            <delta_ts>2010-01-20 07:15:10 -0800</delta_ts>
            <desc>Usage example</desc>
            <filename>0001-Qt-Custom-select-popups-usage-example.patch</filename>
            <type>text/plain</type>
            <size>13657</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBkYWM0NzA3YzA5YTQzN2IwOWJhZmUyMjNlMTU2YzMwZTYyNTRiZTMzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFdlZCwgMjAgSmFuIDIwMTAgMTI6MTM6MjMgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIEN1c3RvbSBzZWxlY3QgcG9wdXBzIHVzYWdlIGV4YW1wbGUuCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM3MDgKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKQ29tYm9ib3ggZGVsZWdhdGUgdXNhZ2UgZXhhbXBsZSBpbiBRR1ZMYXVuY2hlci4K
Q3VzdG9tIGNvbWJvYm94IHBvcHVwIHVzYWdlIGNhbiBiZSB0dXJuZWQgb24vb2ZmIGluIEVmZmVj
dHMgbWVudS4KCiogUUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvOgoqIFFHVkxhdW5jaGVyL2N1
c3RvbXBvcHVwLmNwcDogQWRkZWQuCihDdXN0b21MaXN0V2lkZ2V0OjpDdXN0b21MaXN0V2lkZ2V0
KToKKEN1c3RvbUxpc3RXaWRnZXQ6OmZvY3VzT3V0RXZlbnQpOgooQ3VzdG9tUG9wdXA6OkN1c3Rv
bVBvcHVwKToKKEN1c3RvbVBvcHVwOjp+Q3VzdG9tUG9wdXApOgooQ3VzdG9tUG9wdXA6Om9wZW4p
OgooQ3VzdG9tUG9wdXA6OmNsb3NlKToKKEN1c3RvbVBvcHVwOjpwb3B1bGF0ZSk6CihDdXN0b21Q
b3B1cDo6aW5BbmltYXRpb25FbmQpOgooQ3VzdG9tUG9wdXA6Om91dEFuaW1hdGlvbkVuZCk6CihD
dXN0b21Qb3B1cDo6aXRlbUNoYW5nZWQpOgoqIFFHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmg6IEFk
ZGVkLgooQ3VzdG9tUG9wdXA6OmZvY3VzT3V0KToKKEN1c3RvbVBvcHVwRmFjdG9yeTo6Y3JlYXRl
KToKKiBRR1ZMYXVuY2hlci9tYWluLmNwcDoKKGZhY3RvcnkpOgooV2ViUGFnZTo6V2ViUGFnZSk6
CihXZWJQYWdlOjpzZXRQb3B1cEZhY3RvcnkpOgooU2hhcmVkU2NlbmU6OnNldFBvcHVwRmFjdG9y
eSk6CihNYWluV2luZG93Ojp1c2VDdXN0b21Qb3B1cCk6CihNYWluV2luZG93Ojp1c2VEZWZhdWx0
UG9wdXApOgooTWFpbldpbmRvdzo6YnVpbGRVSSk6Ci0tLQogV2ViS2l0L3F0L0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysKIFdlYktpdC9xdC9RR1ZMYXVuY2hlci9R
R1ZMYXVuY2hlci5wcm8gfCAgICAzICstCiBXZWJLaXQvcXQvUUdWTGF1bmNoZXIvY3VzdG9tcG9w
dXAuY3BwIHwgIDE0OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFdlYktpdC9x
dC9RR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5oICAgfCAgIDczICsrKysrKysrKysrKysrKysKIFdl
YktpdC9xdC9RR1ZMYXVuY2hlci9tYWluLmNwcCAgICAgICAgfCAgIDUwICsrKysrKysrKysrLQog
NSBmaWxlcyBjaGFuZ2VkLCAzMDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvUUdWTGF1bmNoZXIvY3VzdG9tcG9wdXAuY3BwCiBjcmVh
dGUgbW9kZSAxMDA2NDQgV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmgKCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA3
NzFjZDg1Li5hOTUyYzgxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTIsNiArMiw0MCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtRdF0gQ3VzdG9tIHNlbGVjdCBwb3B1cHMgdXNh
Z2UgZXhhbXBsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMzNzA4CisKKyAgICAgICAgQ29tYm9ib3ggZGVsZWdhdGUgdXNhZ2UgZXhhbXBsZSBpbiBR
R1ZMYXVuY2hlci4KKyAgICAgICAgQ3VzdG9tIGNvbWJvYm94IHBvcHVwIHVzYWdlIGNhbiBiZSB0
dXJuZWQgb24vb2ZmIGluIEVmZmVjdHMgbWVudS4KKworICAgICAgICAqIFFHVkxhdW5jaGVyL1FH
VkxhdW5jaGVyLnBybzoKKyAgICAgICAgKiBRR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5jcHA6IEFk
ZGVkLgorICAgICAgICAoQ3VzdG9tTGlzdFdpZGdldDo6Q3VzdG9tTGlzdFdpZGdldCk6CisgICAg
ICAgIChDdXN0b21MaXN0V2lkZ2V0Ojpmb2N1c091dEV2ZW50KToKKyAgICAgICAgKEN1c3RvbVBv
cHVwOjpDdXN0b21Qb3B1cCk6CisgICAgICAgIChDdXN0b21Qb3B1cDo6fkN1c3RvbVBvcHVwKToK
KyAgICAgICAgKEN1c3RvbVBvcHVwOjpvcGVuKToKKyAgICAgICAgKEN1c3RvbVBvcHVwOjpjbG9z
ZSk6CisgICAgICAgIChDdXN0b21Qb3B1cDo6cG9wdWxhdGUpOgorICAgICAgICAoQ3VzdG9tUG9w
dXA6OmluQW5pbWF0aW9uRW5kKToKKyAgICAgICAgKEN1c3RvbVBvcHVwOjpvdXRBbmltYXRpb25F
bmQpOgorICAgICAgICAoQ3VzdG9tUG9wdXA6Oml0ZW1DaGFuZ2VkKToKKyAgICAgICAgKiBRR1ZM
YXVuY2hlci9jdXN0b21wb3B1cC5oOiBBZGRlZC4KKyAgICAgICAgKEN1c3RvbVBvcHVwOjpmb2N1
c091dCk6CisgICAgICAgIChDdXN0b21Qb3B1cEZhY3Rvcnk6OmNyZWF0ZSk6CisgICAgICAgICog
UUdWTGF1bmNoZXIvbWFpbi5jcHA6CisgICAgICAgIChmYWN0b3J5KToKKyAgICAgICAgKFdlYlBh
Z2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViUGFnZTo6c2V0UG9wdXBGYWN0b3J5KToKKyAgICAg
ICAgKFNoYXJlZFNjZW5lOjpzZXRQb3B1cEZhY3RvcnkpOgorICAgICAgICAoTWFpbldpbmRvdzo6
dXNlQ3VzdG9tUG9wdXApOgorICAgICAgICAoTWFpbldpbmRvdzo6dXNlRGVmYXVsdFBvcHVwKToK
KyAgICAgICAgKE1haW5XaW5kb3c6OmJ1aWxkVUkpOgorCisyMDEwLTAxLTIwICBMdWl6IEFnb3N0
aW5pICA8bHVpei5hZ29zdGluaUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFtRdF0gQ3VzdG9tIHNlbGVjdCBwb3B1cHMuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzQxOAogCmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvUUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvIGIvV2ViS2l0
L3F0L1FHVkxhdW5jaGVyL1FHVkxhdW5jaGVyLnBybwppbmRleCAwNTllYzFhLi45YmRmYWQ5IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvUUdWTGF1bmNoZXIvUUdWTGF1bmNoZXIucHJvCisrKyBiL1dl
YktpdC9xdC9RR1ZMYXVuY2hlci9RR1ZMYXVuY2hlci5wcm8KQEAgLTEsNSArMSw2IEBACiBURU1Q
TEFURSA9IGFwcAotU09VUkNFUyArPSBtYWluLmNwcAorU09VUkNFUyArPSBtYWluLmNwcCBjdXN0
b21wb3B1cC5jcHAKK0hFQURFUlMgKz0gY3VzdG9tcG9wdXAuaAogQ09ORklHIC09IGFwcF9idW5k
bGUKIENPTkZJRyArPSB1aXRvb2xzCiBERVNURElSID0gLi4vLi4vLi4vYmluCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvUUdWTGF1bmNoZXIvY3VzdG9tcG9wdXAuY3BwIGIvV2ViS2l0L3F0L1FHVkxh
dW5jaGVyL2N1c3RvbXBvcHVwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lOGI3MjY5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L1FHVkxhdW5jaGVyL2N1c3Rv
bXBvcHVwLmNwcApAQCAtMCwwICsxLDE0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRl
ICJjdXN0b21wb3B1cC5oIgorCisjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQs
IDYsIDApCisjaW5jbHVkZSA8UVByb3BlcnR5QW5pbWF0aW9uPgorI2VuZGlmCisjaW5jbHVkZSA8
UVN0YW5kYXJkSXRlbU1vZGVsPgorCitDdXN0b21MaXN0V2lkZ2V0OjpDdXN0b21MaXN0V2lkZ2V0
KCkKK3sKK30KKwordm9pZCBDdXN0b21MaXN0V2lkZ2V0Ojpmb2N1c091dEV2ZW50KFFGb2N1c0V2
ZW50KiBldmVudCkKK3sKKyAgICBlbWl0IGZvY3VzT3V0KCk7CisgICAgUUxpc3RXaWRnZXQ6OmZv
Y3VzT3V0RXZlbnQoZXZlbnQpOworfQorCitDdXN0b21Qb3B1cDo6Q3VzdG9tUG9wdXAoKQorI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIDogbV9hbmltYXRp
b24oMCkKKyNlbmRpZgoreworICAgIGNvbm5lY3QoJm1fbGlzdCwgU0lHTkFMKGl0ZW1DbGlja2Vk
KFFMaXN0V2lkZ2V0SXRlbSopKSwgdGhpcywgU0xPVChpdGVtQ2hhbmdlZCgpKSk7CisgICAgY29u
bmVjdCgmbV9saXN0LCBTSUdOQUwoZm9jdXNPdXQoKSksIHRoaXMsIFNMT1QoZm9jdXNPdXQoKSkp
OworfQorCitDdXN0b21Qb3B1cDo6fkN1c3RvbVBvcHVwKCkKK3sKK30KKwordm9pZCBDdXN0b21Q
b3B1cDo6b3BlbigpCit7CisgICAgbV9saXN0LnNldFBhcmVudCh2aWV3KCkpOworICAgIG1fbGlz
dC5zZXRHZW9tZXRyeShRUmVjdCgwLCAwLCBnZW9tZXRyeSgpLndpZHRoKCksIDI1MCkpOworICAg
IFFQb2ludCBlbmQgPSBnZW9tZXRyeSgpLnRvcExlZnQoKTsKKyAgICBRV2lkZ2V0KiBwYXJlbnQg
PSBtX2xpc3QucGFyZW50V2lkZ2V0KCk7CisgICAgaWYgKHBhcmVudCkgeworICAgICAgICBlbmQu
c2V0WChxTWluKGVuZC54KCksIHBhcmVudC0+d2lkdGgoKSAtIG1fbGlzdC53aWR0aCgpKSk7Cisg
ICAgICAgIGVuZC5zZXRZKHFNaW4oZW5kLnkoKSwgcGFyZW50LT5oZWlnaHQoKSAtIG1fbGlzdC5o
ZWlnaHQoKSkpOworICAgIH0KKyAgICBtX2xpc3Quc2V0R2VvbWV0cnkoUVJlY3QoZW5kLngoKSwg
ZW5kLnkoKSwgZ2VvbWV0cnkoKS53aWR0aCgpLCAyNTApKTsKKyNpZiBRVF9WRVJTSU9OID49IFFU
X1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKKyAgICBpZiAobV9hbmltYXRpb24pCisgICAgICAgIG1f
YW5pbWF0aW9uLT5zdG9wKCk7CisKKyAgICBRUG9pbnQgc3RhcnQgPSBRUG9pbnQoLW1fbGlzdC53
aWR0aCgpLCAtbV9saXN0LmhlaWdodCgpKTsKKworICAgIGlmIChwYXJlbnQpIHsKKyAgICAgICAg
c3RhcnQuc2V0WCgyICogZW5kLngoKSA8IHBhcmVudC0+d2lkdGgoKSA/IC1tX2xpc3Qud2lkdGgo
KSA6IHBhcmVudC0+d2lkdGgoKSk7CisgICAgICAgIHN0YXJ0LnNldFkoMiAqIGVuZC55KCkgPCBw
YXJlbnQtPmhlaWdodCgpID8gLW1fbGlzdC5oZWlnaHQoKSA6IHBhcmVudC0+aGVpZ2h0KCkpOwor
ICAgIH0KKworICAgIFFQcm9wZXJ0eUFuaW1hdGlvbiogYW5pbWF0aW9uID0gbmV3IFFQcm9wZXJ0
eUFuaW1hdGlvbigpOworICAgIGFuaW1hdGlvbi0+c2V0VGFyZ2V0T2JqZWN0KCZtX2xpc3QpOwor
ICAgIGFuaW1hdGlvbi0+c2V0UHJvcGVydHlOYW1lKCJwb3MiKTsKKyAgICBhbmltYXRpb24tPnNl
dEVhc2luZ0N1cnZlKFFFYXNpbmdDdXJ2ZTo6T3V0Qm91bmNlKTsKKyAgICBhbmltYXRpb24tPnNl
dER1cmF0aW9uKDEwMDApOworICAgIGFuaW1hdGlvbi0+c2V0U3RhcnRWYWx1ZShzdGFydCk7Cisg
ICAgYW5pbWF0aW9uLT5zZXRFbmRWYWx1ZShlbmQpOworCisgICAgbV9hbmltYXRpb24gPSBhbmlt
YXRpb247CisgICAgY29ubmVjdChhbmltYXRpb24sIFNJR05BTChmaW5pc2hlZCgpKSwgdGhpcywg
U0xPVChpbkFuaW1hdGlvbkVuZCgpKSk7CisgICAgbV9hbmltYXRpb24tPnN0YXJ0KFFBYnN0cmFj
dEFuaW1hdGlvbjo6RGVsZXRlV2hlblN0b3BwZWQpOworI2Vsc2UKKyAgICBpbkFuaW1hdGlvbkVu
ZCgpOworI2VuZGlmCisgICAgcG9wdWxhdGUoKTsKKyAgICBtX2xpc3Quc2V0Q3VycmVudFJvdyhj
dXJyZW50SW5kZXgoKSk7CisgICAgbV9saXN0LnNldFZpc2libGUodHJ1ZSk7CisKK30KKwordm9p
ZCBDdXN0b21Qb3B1cDo6Y2xvc2UoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA2LCAwKQorICAgIGlmIChtX2FuaW1hdGlvbikKKyAgICAgICAgbV9hbmltYXRpb24t
PnN0b3AoKTsKKworICAgIFFQcm9wZXJ0eUFuaW1hdGlvbiogYW5pbWF0aW9uID0gbmV3IFFQcm9w
ZXJ0eUFuaW1hdGlvbjsKKyAgICBhbmltYXRpb24tPnNldFRhcmdldE9iamVjdCgmbV9saXN0KTsK
KyAgICBhbmltYXRpb24tPnNldFByb3BlcnR5TmFtZSgicG9zIik7CisgICAgYW5pbWF0aW9uLT5z
ZXRFYXNpbmdDdXJ2ZShRRWFzaW5nQ3VydmU6Ok91dEN1YmljKTsKKyAgICBhbmltYXRpb24tPnNl
dER1cmF0aW9uKDUwMCk7CisgICAgYW5pbWF0aW9uLT5zZXRFbmRWYWx1ZShRUG9pbnQoLW1fbGlz
dC53aWR0aCgpLCAtbV9saXN0LmhlaWdodCgpKSk7CisKKyAgICBtX2FuaW1hdGlvbiA9IGFuaW1h
dGlvbjsKKyAgICBjb25uZWN0KGFuaW1hdGlvbiwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0aGlzLCBT
TE9UKG91dEFuaW1hdGlvbkVuZCgpKSk7CisgICAgbV9hbmltYXRpb24tPnN0YXJ0KFFBYnN0cmFj
dEFuaW1hdGlvbjo6RGVsZXRlV2hlblN0b3BwZWQpOworI2Vsc2UKKyAgICBvdXRBbmltYXRpb25F
bmQoKTsKKyNlbmRpZgorfQorCit2b2lkIEN1c3RvbVBvcHVwOjpwb3B1bGF0ZSgpCit7CisKKyAg
ICBtX2xpc3QuY2xlYXIoKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZW1Db3VudCgpOyBp
KyspIHsKKyAgICAgICAgaWYgKGl0ZW1UeXBlKGkpID09IFFXZWJEZWxlZ2F0ZVNlbGVjdFBvcHVw
OjpTZXBhcmF0b3IpCisgICAgICAgICAgICBtX2xpc3QuYWRkSXRlbSgiLS0tLS0tLS0tLS0tLS0i
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9saXN0LmFkZEl0ZW0oaXRlbVRleHQoaSkp
OworICAgIH0KK30KKwordm9pZCBDdXN0b21Qb3B1cDo6aW5BbmltYXRpb25FbmQoKQoreworI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQorICAgIG1fYW5pbWF0aW9u
ID0gMDsKKyNlbmRpZgorICAgIG1fbGlzdC5zZXRGb2N1cygpOworfQorCit2b2lkIEN1c3RvbVBv
cHVwOjpvdXRBbmltYXRpb25FbmQoKQoreworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA2LCAwKQorICAgIG1fYW5pbWF0aW9uID0gMDsKKyNlbmRpZgorICAgIGluZm9ybUNs
b3NlZCgpOworICAgIG1fbGlzdC5zZXRQYXJlbnQoMCk7CisgICAgbV9saXN0LnNldFZpc2libGUo
ZmFsc2UpOworfQorCit2b2lkIEN1c3RvbVBvcHVwOjppdGVtQ2hhbmdlZCgpCit7CisgICAgc2V0
Q3VycmVudEluZGV4KG1fbGlzdC5jdXJyZW50SW5kZXgoKS5yb3coKSk7CisgICAgY2xvc2UoKTsK
K30KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9RR1ZMYXVuY2hlci9jdXN0b21wb3B1cC5oIGIvV2Vi
S2l0L3F0L1FHVkxhdW5jaGVyL2N1c3RvbXBvcHVwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uYTUxOWMwMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9xdC9RR1ZMYXVu
Y2hlci9jdXN0b21wb3B1cC5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisj
aWZuZGVmIGN1c3RvbXBvcHVwX2gKKyNkZWZpbmUgY3VzdG9tcG9wdXBfaAorCisjaW5jbHVkZSAi
cXdlYmRlbGVnYXRlc2VsZWN0cG9wdXAuaCIKKworI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lP
Tl9DSEVDSyg0LCA2LCAwKQorI2luY2x1ZGUgPFFBYnN0cmFjdEFuaW1hdGlvbj4KKyNlbmRpZgor
I2luY2x1ZGUgPFFMaXN0V2lkZ2V0PgorCitjbGFzcyBDdXN0b21MaXN0V2lkZ2V0IDogcHVibGlj
IFFMaXN0V2lkZ2V0IHsKKyAgICBRX09CSkVDVAorcHVibGljOgorICAgIEN1c3RvbUxpc3RXaWRn
ZXQoKTsKKworc2lnbmFsczoKKyAgICB2b2lkIGZvY3VzT3V0KCk7CisKK3Byb3RlY3RlZDoKKyAg
ICB2aXJ0dWFsIHZvaWQgZm9jdXNPdXRFdmVudChRRm9jdXNFdmVudCogZXZlbnQpOworfTsKKwor
Y2xhc3MgQ3VzdG9tUG9wdXAgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIFFXZWJEZWxlZ2F0ZVNl
bGVjdFBvcHVwIHsKKyAgICBRX09CSkVDVAorcHVibGljOgorICAgIEN1c3RvbVBvcHVwKCk7Cisg
ICAgfkN1c3RvbVBvcHVwKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbigpOworICAgIHZpcnR1
YWwgdm9pZCBjbG9zZSgpOworCitwcml2YXRlOgorICAgIEN1c3RvbUxpc3RXaWRnZXQgbV9saXN0
OworCisjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCisgICAgUUFi
c3RyYWN0QW5pbWF0aW9uKiBtX2FuaW1hdGlvbjsKKyNlbmRpZgorCisgICAgdm9pZCBwb3B1bGF0
ZSgpOworCitwcml2YXRlIHNsb3RzOgorICAgIHZvaWQgaW5BbmltYXRpb25FbmQoKTsKKyAgICB2
b2lkIG91dEFuaW1hdGlvbkVuZCgpOworICAgIHZvaWQgaXRlbUNoYW5nZWQoKTsKKyAgICB2b2lk
IGZvY3VzT3V0KCkgeyBjbG9zZSgpOyB9Cit9OworCitjbGFzcyBDdXN0b21Qb3B1cEZhY3Rvcnkg
OiBwdWJsaWMgUVdlYkRlbGVnYXRlU2VsZWN0UG9wdXBGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIFFXZWJEZWxlZ2F0ZVNlbGVjdFBvcHVwKiBjcmVhdGUoKSB7IHJldHVybiBuZXcgQ3Vz
dG9tUG9wdXA7IH0KK307CisKKyNlbmRpZiAvLyBjdXN0b21wb3B1cF9oCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvUUdWTGF1bmNoZXIvbWFpbi5jcHAgYi9XZWJLaXQvcXQvUUdWTGF1bmNoZXIvbWFp
bi5jcHAKaW5kZXggYjgyMzQ3ZS4uMzI2NmRiOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1FHVkxh
dW5jaGVyL21haW4uY3BwCisrKyBiL1dlYktpdC9xdC9RR1ZMYXVuY2hlci9tYWluLmNwcApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDYgR2VvcmdlIFN0YWlrb3MgPHN0YWlrb3NAa2RlLm9yZz4KICAqIENvcHlyaWdo
dCAoQykgMjAwNiBEaXJrIE11ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KICAqIENvcHlyaWdodCAo
QykgMjAwNiBaYWNrIFJ1c2luIDx6YWNrQGtkZS5vcmc+CkBAIC0zMiw3ICszMiw3IEBACiAgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlIDxRRGVidWc+CisjaW5jbHVkZSAiY3VzdG9tcG9w
dXAuaCIKICNpbmNsdWRlIDxRRmlsZT4KICNpbmNsdWRlIDxRR3JhcGhpY3NTY2VuZT4KICNpbmNs
dWRlIDxRR3JhcGhpY3NWaWV3PgpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPHF3ZWJlbGVt
ZW50Lmg+CiAjaW5jbHVkZSA8cXdlYmZyYW1lLmg+CiAjaW5jbHVkZSA8cWdyYXBoaWNzd2Vidmll
dy5oPgorI2luY2x1ZGUgPHF3ZWJkZWxlZ2F0ZXNlbGVjdHBvcHVwLmg+CiAjaW5jbHVkZSA8cXdl
YnBhZ2UuaD4KICNpbmNsdWRlIDxxd2Vic2V0dGluZ3MuaD4KICNpbmNsdWRlIDxxd2Vidmlldy5o
PgpAQCAtOTMsNiArOTQsMTIgQEAgcHJpdmF0ZToKICAgICBxcmVhbCBtX3lSb3RhdGlvbjsKIH07
CiAKK3N0YXRpYyBRV2ViRGVsZWdhdGVTZWxlY3RQb3B1cEZhY3RvcnkqIGZhY3RvcnkoKQorewor
ICAgIHN0YXRpYyBRV2ViRGVsZWdhdGVTZWxlY3RQb3B1cEZhY3RvcnkqIHJlc3VsdChuZXcgQ3Vz
dG9tUG9wdXBGYWN0b3J5KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBjbGFzcyBXZWJQYWdl
IDogcHVibGljIFFXZWJQYWdlIHsKICAgICBRX09CSkVDVAogCkBAIC0xMDEsOSArMTA4LDE1IEBA
IHB1YmxpYzoKICAgICAgICAgOiBRV2ViUGFnZShwYXJlbnQpCiAgICAgewogICAgICAgICBhcHBs
eVByb3h5KCk7CisgICAgICAgIHNldFBvcHVwRmFjdG9yeShmYWxzZSk7CiAgICAgfQogICAgIHZp
cnR1YWwgUVdlYlBhZ2UqIGNyZWF0ZVdpbmRvdyhRV2ViUGFnZTo6V2ViV2luZG93VHlwZSk7CiAK
KyAgICB2b2lkIHNldFBvcHVwRmFjdG9yeShib29sIHVzZUN1c3RvbVBvcHVwKQorICAgIHsKKyAg
ICAgICAgUVdlYlBhZ2U6OnNldFNlbGVjdFBvcHVwRGVsZWdhdGVGYWN0b3J5KHVzZUN1c3RvbVBv
cHVwID8gZmFjdG9yeSgpIDogMCk7CisgICAgfQorCiBwcml2YXRlOgogICAgIHZvaWQgYXBwbHlQ
cm94eSgpCiAgICAgewpAQCAtMjIyLDYgKzIzNSwxMSBAQCBwdWJsaWM6CiAgICAgUUdyYXBoaWNz
U2NlbmUqIHNjZW5lKCkgY29uc3QgeyByZXR1cm4gbV9zY2VuZTsgfQogICAgIFdlYlZpZXcqIHdl
YlZpZXcoKSBjb25zdCB7IHJldHVybiBtX2l0ZW07IH0KIAorICAgIHZvaWQgc2V0UG9wdXBGYWN0
b3J5KGJvb2wgdXNlQ3VzdG9tUG9wdXApCisgICAgeworICAgICAgICBtX3BhZ2UtPnNldFBvcHVw
RmFjdG9yeSh1c2VDdXN0b21Qb3B1cCk7CisgICAgfQorCiBwcml2YXRlOgogICAgIFFHcmFwaGlj
c1NjZW5lKiBtX3NjZW5lOwogICAgIFdlYlZpZXcqIG1faXRlbTsKQEAgLTM4Miw2ICs0MDAsMjIg
QEAgcHVibGljIHNsb3RzOgogICAgICAgICB2aWV3LT5hbmltYXRlZFlGbGlwKCk7CiAgICAgfQog
CisgICAgdm9pZCB1c2VDdXN0b21Qb3B1cCgpCisgICAgeworICAgICAgICBtX3VzZUN1c3RvbVBv
cHVwLT5zZXRWaXNpYmxlKGZhbHNlKTsKKyAgICAgICAgbV91c2VEZWZhdWx0UG9wdXAtPnNldFZp
c2libGUodHJ1ZSk7CisgICAgICAgIHNjZW5lLT5zZXRQb3B1cEZhY3RvcnkodHJ1ZSk7CisgICAg
ICAgIG1fcmVsb2FkLT50cmlnZ2VyKCk7CisgICAgfQorCisgICAgdm9pZCB1c2VEZWZhdWx0UG9w
dXAoKQorICAgIHsKKyAgICAgICAgbV91c2VDdXN0b21Qb3B1cC0+c2V0VmlzaWJsZSh0cnVlKTsK
KyAgICAgICAgbV91c2VEZWZhdWx0UG9wdXAtPnNldFZpc2libGUoZmFsc2UpOworICAgICAgICBz
Y2VuZS0+c2V0UG9wdXBGYWN0b3J5KGZhbHNlKTsKKyAgICAgICAgbV9yZWxvYWQtPnRyaWdnZXIo
KTsKKyAgICB9CisKIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWRVUkwoY29uc3QgUVVybCYgdXJs
KQpAQCAtNDA0LDcgKzQzOCw4IEBAIHByaXZhdGU6CiAgICAgICAgIFFUb29sQmFyKiBiYXIgPSBh
ZGRUb29sQmFyKCJOYXZpZ2F0aW9uIik7CiAgICAgICAgIGJhci0+YWRkQWN0aW9uKHBhZ2UtPmFj
dGlvbihRV2ViUGFnZTo6QmFjaykpOwogICAgICAgICBiYXItPmFkZEFjdGlvbihwYWdlLT5hY3Rp
b24oUVdlYlBhZ2U6OkZvcndhcmQpKTsKLSAgICAgICAgYmFyLT5hZGRBY3Rpb24ocGFnZS0+YWN0
aW9uKFFXZWJQYWdlOjpSZWxvYWQpKTsKKyAgICAgICAgbV9yZWxvYWQgPSBwYWdlLT5hY3Rpb24o
UVdlYlBhZ2U6OlJlbG9hZCk7CisgICAgICAgIGJhci0+YWRkQWN0aW9uKG1fcmVsb2FkKTsKICAg
ICAgICAgYmFyLT5hZGRBY3Rpb24ocGFnZS0+YWN0aW9uKFFXZWJQYWdlOjpTdG9wKSk7CiAgICAg
ICAgIGJhci0+YWRkV2lkZ2V0KHVybEVkaXQpOwogCkBAIC00MjgsMTIgKzQ2MywyMSBAQCBwcml2
YXRlOgogICAgICAgICBmeE1lbnUtPmFkZEFjdGlvbigiRmxpcCIsIHRoaXMsIFNMT1QoZmxpcCgp
KSk7CiAgICAgICAgIGZ4TWVudS0+YWRkQWN0aW9uKCJBbmltYXRlZCBGbGlwIiwgdGhpcywgU0xP
VChhbmltYXRlZEZsaXAoKSksIFFLZXlTZXF1ZW5jZSgiQ3RybCtSIikpOwogICAgICAgICBmeE1l
bnUtPmFkZEFjdGlvbigiQW5pbWF0ZWQgWS1GbGlwIiwgdGhpcywgU0xPVChhbmltYXRlZFlGbGlw
KCkpLCBRS2V5U2VxdWVuY2UoIkN0cmwrWSIpKTsKKworICAgICAgICBtX3VzZUN1c3RvbVBvcHVw
ID0gZnhNZW51LT5hZGRBY3Rpb24oIlVzZSBjdXN0b20gcG9wdXAiLCB0aGlzLCBTTE9UKHVzZUN1
c3RvbVBvcHVwKCkpKTsKKyAgICAgICAgbV91c2VEZWZhdWx0UG9wdXAgPSBmeE1lbnUtPmFkZEFj
dGlvbigiVXNlIGRlZmF1bHQgcG9wdXAiLCB0aGlzLCBTTE9UKHVzZURlZmF1bHRQb3B1cCgpKSk7
CisKKyAgICAgICAgdXNlRGVmYXVsdFBvcHVwKCk7CiAgICAgfQogCiBwcml2YXRlOgogICAgIE1h
aW5WaWV3KiB2aWV3OwogICAgIFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8U2hhcmVkU2Nl
bmU+IHNjZW5lOwogCisgICAgUUFjdGlvbiogbV91c2VDdXN0b21Qb3B1cDsKKyAgICBRQWN0aW9u
KiBtX3VzZURlZmF1bHRQb3B1cDsKKyAgICBRQWN0aW9uKiBtX3JlbG9hZDsKKwogICAgIFFMaW5l
RWRpdCogdXJsRWRpdDsKIH07CiAKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>