<?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>91073</bug_id>
          
          <creation_ts>2012-07-12 04:30:27 -0700</creation_ts>
          <short_desc>Add accessible for QWebView.</short_desc>
          <delta_ts>2012-07-16 00:46:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Frederik Gladhorn">gladhorn</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>667622</commentid>
    <comment_count>0</comment_count>
    <who name="Frederik Gladhorn">gladhorn</who>
    <bug_when>2012-07-12 04:30:27 -0700</bug_when>
    <thetext>Add accessible for QWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667624</commentid>
    <comment_count>1</comment_count>
      <attachid>151908</attachid>
    <who name="Frederik Gladhorn">gladhorn</who>
    <bug_when>2012-07-12 04:33:12 -0700</bug_when>
    <thetext>Created attachment 151908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667627</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 04:35:37 -0700</bug_when>
    <thetext>Attachment 151908 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/ChangeLog&apos;, u&apos;Source/WebKit/...&quot; exit_code: 1
Source/WebKit/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit/qt/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit/qt/Api/qwebviewaccessible_p.h:23:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667685</commentid>
    <comment_count>3</comment_count>
      <attachid>151926</attachid>
    <who name="Frederik Gladhorn">gladhorn</who>
    <bug_when>2012-07-12 05:53:19 -0700</bug_when>
    <thetext>Created attachment 151926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668858</commentid>
    <comment_count>4</comment_count>
      <attachid>151926</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-07-13 04:22:51 -0700</bug_when>
    <thetext>Comment on attachment 151926
Patch

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

A few comments. I like the approach of doing this in small steps, this being the first one. Let&apos;s do one more round because of the coding style and the accesslbeInterfaceFactory function placement. I think ideally it should be static somewhere, alternatively it should be namespaced.

&gt; Source/WebKit/qt/Api/qwebviewaccessible.cpp:28
&gt; +QAccessibleInterface* accessibleInterfaceFactory(const QString&amp; key, QObject* object)

Would it make perhaps sense to move this into qwebpage.cpp where it is called/used and make it a static function there?

&gt; Source/WebKit/qt/Api/qwebviewaccessible.cpp:32
&gt; +    if (QWebPage *page = qobject_cast&lt;QWebPage*&gt;(object))

Coding style nitpick, * placement :)

&gt; Source/WebKit/qt/Api/qwebviewaccessible.cpp:35
&gt; +    if (QWebView *view = qobject_cast&lt;QWebView*&gt;(object))

Ditto.

&gt; Source/WebKit/qt/Api/qwebviewaccessible.cpp:38
&gt; +    if (QWebFrame *frame = qobject_cast&lt;QWebFrame*&gt;(object))

Ditto.

&gt; Source/WebKit/qt/Api/qwebviewaccessible.cpp:71
&gt; +//    WebCore::Document* document = frame()-&gt;d-&gt;frame-&gt;document();
&gt; +//    if (!document || !document-&gt;axObjectCache())
&gt; +//        return 0;
&gt; +//    WebCore::AccessibilityObject* rootAccessible = document-&gt;axObjectCache()-&gt;rootObject();
&gt; +//    return rootAccessible ? 1 : 0;

We probably shouldn&apos;t land the code that is commented out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669009</commentid>
    <comment_count>5</comment_count>
      <attachid>152256</attachid>
    <who name="Frederik Gladhorn">gladhorn</who>
    <bug_when>2012-07-13 07:29:39 -0700</bug_when>
    <thetext>Created attachment 152256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669010</commentid>
    <comment_count>6</comment_count>
    <who name="Frederik Gladhorn">gladhorn</who>
    <bug_when>2012-07-13 07:30:09 -0700</bug_when>
    <thetext>Thanks for the feedback :) I hope I&apos;ve addressed the issues mentioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670167</commentid>
    <comment_count>7</comment_count>
      <attachid>152256</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 00:46:04 -0700</bug_when>
    <thetext>Comment on attachment 152256
Patch

Clearing flags on attachment: 152256

Committed r122702: &lt;http://trac.webkit.org/changeset/122702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670168</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 00:46:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151908</attachid>
            <date>2012-07-12 04:33:12 -0700</date>
            <delta_ts>2012-07-12 05:53:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91073-20120712133305.patch</filename>
            <type>text/plain</type>
            <size>12675</size>
            <attacher name="Frederik Gladhorn">gladhorn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlNTMwMTM1ZDBjMjVjN2Rm
ZDliMDczYzYwYjgxYTA3ZWZhYjY2NDQuLjFhODdhYTRmODQ4ZWUzOTk5MjZkNjBkMmNjYjE3Njg0
NDY0NTc3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDctMTIgIEZyZWRlcmlr
IEdsYWRob3JuICA8ZnJlZGVyaWsuZ2xhZGhvcm5Abm9raWEuY29tPgorCisgICAgICAgIEFjY2Vz
c2libGUgV2lkZ2V0IGZvciBRV2ViVmlldworCisgICAgICAgIEFkZCBjbGFzc2VzIHRvIGVuYWJs
ZSBhY2Nlc3NpYmlsaXR5IG9uIHRoZSB3aWRnZXQgbGV2ZWwuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQucHJpOgorICAgICAgICAqIFdl
YktpdDEucHJvOgorCiAyMDEyLTA3LTA4ICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIFtFRkxdIENoYW5nZSBub3RpZmljYXRpb25zIGRpcmVjdG9yeSBw
YXRoIG9mIFdlYktpdF9JTkNMVURFX0RJUkVDVE9SSUVTIGluIHRoZSBQbGF0Zm9ybUVmbC5jbWFr
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCBhMDljNGZiNjEwOGU4ZDhmZDI2NmUxNjdiZDhiNmNiNTA1NThk
NzcxLi42ZmUwMzEwZmVmMWVhNDE3NTVmY2UzNjA3M2YxYmJhMDAwNGY2ZDdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA3LTEyICBGcmVkZXJpayBHbGFkaG9ybiAgPGZy
ZWRlcmlrLmdsYWRob3JuQG5va2lhLmNvbT4KKworICAgICAgICBBY2Nlc3NpYmxlIFdpZGdldCBm
b3IgUVdlYlZpZXcKKworICAgICAgICBBZGRlZCBjbGFzc2VzIHRoYXQgYWxsb3cgbmF2aWdhdGlv
biB0byB0aGUgd2ViIHZpZXcgd2lkZ2V0LgorICAgICAgICBUaGlzIGlzIHRoZSBnbHVlIHRvIGxh
dGVyIGFjY2VzcyB3ZWJraXQncyBhY2Nlc3NpYmxlIG9iamVjdHMKKyAgICAgICAgdGhvdWdoIHRo
ZSBRdCBhY2Nlc3NpYmlsaXR5IGZyYW1ld29yay4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6CisgICAgICAgIChRV2Vi
Vmlldzo6UVdlYlZpZXcpOgorICAgICAgICAqIEFwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKGFjY2Vzc2libGVJbnRlcmZhY2VGYWN0b3J5KToKKyAgICAgICAgKFFX
ZWJGcmFtZUFjY2Vzc2libGU6OlFXZWJGcmFtZUFjY2Vzc2libGUpOgorICAgICAgICAoUVdlYkZy
YW1lQWNjZXNzaWJsZTo6ZnJhbWUpOgorICAgICAgICAoUVdlYkZyYW1lQWNjZXNzaWJsZTo6cGFy
ZW50KToKKyAgICAgICAgKFFXZWJGcmFtZUFjY2Vzc2libGU6OnRleHQpOgorICAgICAgICAoUVdl
YkZyYW1lQWNjZXNzaWJsZTo6Y2hpbGRDb3VudCk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3Np
YmxlOjpjaGlsZCk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQp
OgorICAgICAgICAoUVdlYkZyYW1lQWNjZXNzaWJsZTo6c3RhdGUpOgorICAgICAgICAoUVdlYkZy
YW1lQWNjZXNzaWJsZTo6cm9sZSk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjpuYXZp
Z2F0ZSk6CisgICAgICAgIChRV2ViUGFnZUFjY2Vzc2libGU6OlFXZWJQYWdlQWNjZXNzaWJsZSk6
CisgICAgICAgIChRV2ViUGFnZUFjY2Vzc2libGU6OnBhZ2UpOgorICAgICAgICAoUVdlYlBhZ2VB
Y2Nlc3NpYmxlOjp0ZXh0KToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6cGFyZW50KToK
KyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6Y2hpbGQpOgorICAgICAgICAoUVdlYlBhZ2VB
Y2Nlc3NpYmxlOjpjaGlsZENvdW50KToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6aW5k
ZXhPZkNoaWxkKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6bmF2aWdhdGUpOgorICAg
ICAgICAoUVdlYlBhZ2VBY2Nlc3NpYmxlOjpyb2xlKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNz
aWJsZTo6c3RhdGUpOgorICAgICAgICAoUVdlYlZpZXdBY2Nlc3NpYmxlOjpRV2ViVmlld0FjY2Vz
c2libGUpOgorICAgICAgICAoUVdlYlZpZXdBY2Nlc3NpYmxlOjp2aWV3KToKKyAgICAgICAgKFFX
ZWJWaWV3QWNjZXNzaWJsZTo6Y2hpbGRDb3VudCk6CisgICAgICAgIChRV2ViVmlld0FjY2Vzc2li
bGU6OmNoaWxkKToKKyAgICAgICAgKiBBcGkvcXdlYnZpZXdhY2Nlc3NpYmxlX3AuaDogQWRkZWQu
CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNz
aWJsZSk6CisgICAgICAgIChRV2ViVmlld0FjY2Vzc2libGUpOgorCiAyMDEyLTA3LTA2ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBCdWlsZGZp
eCBmb3IgbmV3ZXIgUXQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC5wcmkgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC5wcmkKaW5kZXggM2MwZGJkZjNkODIxMjQ0OTA0NDA1YzViNTlm
Y2YzYzgzYTdhYTBhYS4uYTJkOWQ0YmRmNWY0NTZhMTQ5ZTgxYjZkZjFlZDFhNDc5YWVlZjU5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0LnByaQpAQCAtMzcsMyArMzcsOCBAQCBIRUFERVJTICs9IFwKICAgICAkJFBXRC9xdC9B
cGkvcXdlYnBsdWdpbmRhdGFiYXNlX3AuaCBcCiAgICAgJCRQV0QvcXQvQXBpL3FodHRwaGVhZGVy
X3AuaAogCitoYXZlUXQoNSk6IGNvbnRhaW5zKENPTkZJRywgYWNjZXNzaWJpbGl0eSkgeworICAg
IFNPVVJDRVMgKz0gJCRQV0QvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAKKyAgICBIRUFE
RVJTICs9ICQkUFdEL3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGVfcC5oCit9CisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0MS5wcm8gYi9Tb3VyY2UvV2ViS2l0L1dlYktpdDEucHJv
CmluZGV4IGI4ZjU0YjFmNTcwNGNiZjdkNTMzMTEyOTlmYjI5ZTcxOWVmYzNhOTkuLjhiMDMwYmZj
OTRhY2FlODFjMmZmN2JhMmY3NDZlMGFhYmRmNjZhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0MS5wcm8KKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQxLnBybwpAQCAtOTQsNiAr
OTQsMTEgQEAgSEVBREVSUyArPSBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzUXQuaCBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRD
b252ZXJzaW9uLmgKIAoraGF2ZVF0KDUpOiBjb250YWlucyhRVF9DT05GSUcsYWNjZXNzaWJpbGl0
eSkgeworICAgIFNPVVJDRVMgKz0gJCRQV0QvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAK
KyAgICBIRUFERVJTICs9ICQkUFdEL3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGVfcC5oIAorfQor
CiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRQV0QvcXQvQXBpIFwKICAgICAkJFBXRC9xdC9XZWJD
b3JlU3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IDI5NjY2MWFhNDJiYzM3
MjM4ZDJiY2ZjZjFlYzhjYmRlMDg0YzljZTguLjc1MTQzZDE2OWM0Nzc0NmZlYmE2NjBmNmZmNTg5
NWM5ZGQ3OTBjODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTMzLDYgKzMzLDEx
IEBACiAjaW5jbHVkZSAicXByaW50ZXIuaCIKICNpbmNsdWRlICJxZGlyLmgiCiAjaW5jbHVkZSAi
cWZpbGUuaCIKKyNpZm5kZWYgUVRfTk9fQUNDRVNTSUJJTElUWQorI2lmIFFUX1ZFUlNJT04gPj0g
UVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2luY2x1ZGUgInF3ZWJ2aWV3YWNjZXNzaWJsZV9w
LmgiCisjZW5kaWYKKyNlbmRpZgogCiBjbGFzcyBRV2ViVmlld1ByaXZhdGUgewogcHVibGljOgpA
QCAtMTY3LDYgKzE3MiwxMiBAQCBRV2ViVmlldzo6UVdlYlZpZXcoUVdpZGdldCAqcGFyZW50KQog
CiAgICAgc2V0TW91c2VUcmFja2luZyh0cnVlKTsKICAgICBzZXRGb2N1c1BvbGljeShRdDo6V2hl
ZWxGb2N1cyk7CisKKyNpZm5kZWYgUVRfTk9fQUNDRVNTSUJJTElUWQorI2lmIFFUX1ZFUlNJT04g
Pj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorICAgIFFBY2Nlc3NpYmxlOjppbnN0YWxsRmFj
dG9yeShhY2Nlc3NpYmxlSW50ZXJmYWNlRmFjdG9yeSk7CisjZW5kaWYKKyNlbmRpZgogfQogCiAv
KiEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNmMzM3YzU2ODg5ZThhOTJlYzdkODgwNTE2ZGMzNDc4ZTllNzRmYjgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwCkBAIC0w
LDAgKzEsMTg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAicXdl
YnZpZXdhY2Nlc3NpYmxlX3AuaCIKKworI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgorI2luY2x1ZGUg
InF3ZWJmcmFtZV9wLmgiCisjaW5jbHVkZSAicXdlYnBhZ2UuaCIKKyNpbmNsdWRlICJxd2Vidmll
dy5oIgorCitRQWNjZXNzaWJsZUludGVyZmFjZSogYWNjZXNzaWJsZUludGVyZmFjZUZhY3Rvcnko
Y29uc3QgUVN0cmluZyYga2V5LCBRT2JqZWN0KiBvYmplY3QpCit7CisgICAgUV9VTlVTRUQoa2V5
KQorCisgICAgaWYgKFFXZWJQYWdlICpwYWdlID0gcW9iamVjdF9jYXN0PFFXZWJQYWdlKj4ob2Jq
ZWN0KSkKKyAgICAgICAgcmV0dXJuIG5ldyBRV2ViUGFnZUFjY2Vzc2libGUocGFnZSk7CisKKyAg
ICBpZiAoUVdlYlZpZXcgKnZpZXcgPSBxb2JqZWN0X2Nhc3Q8UVdlYlZpZXcqPihvYmplY3QpKQor
ICAgICAgICByZXR1cm4gbmV3IFFXZWJWaWV3QWNjZXNzaWJsZSh2aWV3KTsKKworICAgIGlmIChR
V2ViRnJhbWUgKmZyYW1lID0gcW9iamVjdF9jYXN0PFFXZWJGcmFtZSo+KG9iamVjdCkpCisgICAg
ICAgIHJldHVybiBuZXcgUVdlYkZyYW1lQWNjZXNzaWJsZShmcmFtZSk7CisgICAgcmV0dXJuIDA7
Cit9CisKK1FXZWJGcmFtZUFjY2Vzc2libGU6OlFXZWJGcmFtZUFjY2Vzc2libGUoUVdlYkZyYW1l
KiBmcmFtZSkKKyAgICA6IFFBY2Nlc3NpYmxlT2JqZWN0KGZyYW1lKQoreworLy8gICAgaWYgKCFX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorLy8gICAgICAg
IFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKK30KKworUVdl
YkZyYW1lKiBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHFvYmplY3RfY2FzdDxRV2ViRnJhbWUqPihvYmplY3QoKSk7Cit9CisKK1FBY2Nlc3NpYmxlSW50
ZXJmYWNlKiBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpwYXJlbnQoKSBjb25zdAoreworICAgIHJldHVy
biBRQWNjZXNzaWJsZTo6cXVlcnlBY2Nlc3NpYmxlSW50ZXJmYWNlKG9iamVjdCgpLT5wYXJlbnQo
KSk7Cit9CisKK1FTdHJpbmcgUVdlYkZyYW1lQWNjZXNzaWJsZTo6dGV4dChRQWNjZXNzaWJsZTo6
VGV4dCkgY29uc3QKK3sKKyAgICByZXR1cm4gUVN0cmluZygpOworfQorCitpbnQgUVdlYkZyYW1l
QWNjZXNzaWJsZTo6Y2hpbGRDb3VudCgpIGNvbnN0Cit7CisvLyAgICBXZWJDb3JlOjpEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLT5kLT5mcmFtZS0+ZG9jdW1lbnQoKTsKKy8vICAgIGlmICgh
ZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5heE9iamVjdENhY2hlKCkpCisvLyAgICAgICAgcmV0dXJu
IDA7CisvLyAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290QWNjZXNzaWJsZSA9
IGRvY3VtZW50LT5heE9iamVjdENhY2hlKCktPnJvb3RPYmplY3QoKTsKKy8vICAgIHJldHVybiBy
b290QWNjZXNzaWJsZSA/IDEgOiAwOworICAgIHJldHVybiAwOworfQorCitRQWNjZXNzaWJsZUlu
dGVyZmFjZSogUVdlYkZyYW1lQWNjZXNzaWJsZTo6Y2hpbGQoaW50IGluZGV4KSBjb25zdAorewor
ICAgIGlmIChpbmRleCkKKyAgICAgICAgcmV0dXJuIDA7CisKKy8vICAgIFdlYkNvcmU6OkRvY3Vt
ZW50KiBkb2N1bWVudCA9IGZyYW1lKCktPmQtPmZyYW1lLT5kb2N1bWVudCgpOworLy8gICAgaWYg
KCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPmF4T2JqZWN0Q2FjaGUoKSkKKy8vICAgICAgICByZXR1
cm4gMDsKKworLy8gICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdEFjY2Vzc2li
bGUgPSBkb2N1bWVudC0+YXhPYmplY3RDYWNoZSgpLT5yb290T2JqZWN0KCk7CisvLyAgICBpZiAo
cm9vdEFjY2Vzc2libGUpCisvLyAgICAgICAgcmV0dXJuIG5ldyBXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlcihyb290QWNjZXNzaWJsZSk7CisgICAgcmV0dXJuIDA7Cit9CisKK2lu
dCBRV2ViRnJhbWVBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQoY29uc3QgUUFjY2Vzc2libGVJbnRl
cmZhY2UqKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitRQWNjZXNzaWJsZTo6U3RhdGUg
UVdlYkZyYW1lQWNjZXNzaWJsZTo6c3RhdGUoKSBjb25zdAoreworICAgIHJldHVybiBRQWNjZXNz
aWJsZTo6U3RhdGUoKTsKK30KKworUUFjY2Vzc2libGU6OlJvbGUgUVdlYkZyYW1lQWNjZXNzaWJs
ZTo6cm9sZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFFBY2Nlc3NpYmxlOjpDbGllbnQ7Cit9CisK
K2ludCBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpuYXZpZ2F0ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25G
bGFnLCBpbnQsIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiogdGFyZ2V0KSBjb25zdAoreworICAgICp0
YXJnZXQgPSAwOworICAgIHJldHVybiAtMTsKK30KKworUVdlYlBhZ2VBY2Nlc3NpYmxlOjpRV2Vi
UGFnZUFjY2Vzc2libGUoUVdlYlBhZ2UqIHBhZ2UpCisgICAgOiBRQWNjZXNzaWJsZU9iamVjdChw
YWdlKQoreworfQorCitRV2ViUGFnZSogUVdlYlBhZ2VBY2Nlc3NpYmxlOjpwYWdlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFXZWJQYWdlKj4ob2JqZWN0KCkpOworfQorCitR
U3RyaW5nIFFXZWJQYWdlQWNjZXNzaWJsZTo6dGV4dChRQWNjZXNzaWJsZTo6VGV4dCB0KSBjb25z
dAoreworICAgIHJldHVybiBRU3RyaW5nKCk7Cit9CisKK1FBY2Nlc3NpYmxlSW50ZXJmYWNlKiBR
V2ViUGFnZUFjY2Vzc2libGU6OnBhcmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFFBY2Nlc3Np
YmxlOjpxdWVyeUFjY2Vzc2libGVJbnRlcmZhY2Uob2JqZWN0KCktPnBhcmVudCgpKTsKK30KKwor
UUFjY2Vzc2libGVJbnRlcmZhY2UqIFFXZWJQYWdlQWNjZXNzaWJsZTo6Y2hpbGQoaW50IGluZGV4
KSBjb25zdAoreworICAgIGlmICghaW5kZXggJiYgcGFnZSgpLT5tYWluRnJhbWUoKSkKKyAgICAg
ICAgcmV0dXJuIG5ldyBRV2ViRnJhbWVBY2Nlc3NpYmxlKHBhZ2UoKS0+bWFpbkZyYW1lKCkpOwor
ICAgIHJldHVybiAwOworfQorCitpbnQgUVdlYlBhZ2VBY2Nlc3NpYmxlOjpjaGlsZENvdW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gcGFnZSgpLT5tYWluRnJhbWUoKSA/IDEgOiAwOworfQorCitp
bnQgUVdlYlBhZ2VBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQoY29uc3QgUUFjY2Vzc2libGVJbnRl
cmZhY2UqKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitpbnQgUVdlYlBhZ2VBY2Nlc3Np
YmxlOjpuYXZpZ2F0ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25GbGFnLCBpbnQsIFFBY2Nlc3NpYmxl
SW50ZXJmYWNlKiogdGFyZ2V0KSBjb25zdAoreworICAgICp0YXJnZXQgPSAwOworICAgIHJldHVy
biAtMTsKK30KKworUUFjY2Vzc2libGU6OlJvbGUgUVdlYlBhZ2VBY2Nlc3NpYmxlOjpyb2xlKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gUUFjY2Vzc2libGU6OkNsaWVudDsKK30KKworUUFjY2Vzc2li
bGU6OlN0YXRlIFFXZWJQYWdlQWNjZXNzaWJsZTo6c3RhdGUoKSBjb25zdAoreworICAgIHJldHVy
biBRQWNjZXNzaWJsZTo6U3RhdGUoKTsKK30KKworUVdlYlZpZXdBY2Nlc3NpYmxlOjpRV2ViVmll
d0FjY2Vzc2libGUoUVdlYlZpZXcqIHZpZXcpCisgICAgOiBRQWNjZXNzaWJsZVdpZGdldCh2aWV3
LCBRQWNjZXNzaWJsZTo6RG9jdW1lbnQpCit7Cit9CisKK1FXZWJWaWV3KiBRV2ViVmlld0FjY2Vz
c2libGU6OnZpZXcoKSBjb25zdAoreworICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UVdlYlZpZXcq
PihvYmplY3QoKSk7Cit9CisKK2ludCBRV2ViVmlld0FjY2Vzc2libGU6OmNoaWxkQ291bnQoKSBj
b25zdAoreworICAgIHJldHVybiB2aWV3KCktPnBhZ2UoKSA/IDEgOiAwOworfQorCitRQWNjZXNz
aWJsZUludGVyZmFjZSogUVdlYlZpZXdBY2Nlc3NpYmxlOjpjaGlsZChpbnQgaW5kZXgpIGNvbnN0
Cit7CisgICAgaWYgKCFpbmRleCAmJiB2aWV3KCktPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIG5l
dyBRV2ViUGFnZUFjY2Vzc2libGUodmlldygpLT5wYWdlKCkpOworICAgIHJldHVybiAwOworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXdhY2Nlc3NpYmxlX3AuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZV9wLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODY1NWE0ZmNkMjExNGMyNzNhZGQ0MjhkMzg1OGJmNjc3Yjg2M2JlMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZV9wLmgKQEAgLTAsMCAr
MSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBxd2Vidmlld2FjY2Vzc2libGVfcF9oCisjZGVmaW5l
IHF3ZWJ2aWV3YWNjZXNzaWJsZV9wX2gKKworI2luY2x1ZGUgPHFnbG9iYWwuaD4KKyNpbmNsdWRl
IDxxYWNjZXNzaWJsZS5oPgorI2luY2x1ZGUgPHFhY2Nlc3NpYmxlb2JqZWN0Lmg+CisjaW5jbHVk
ZSA8cWFjY2Vzc2libGV3aWRnZXQuaD4KKworY2xhc3MgUVdlYkZyYW1lOworY2xhc3MgUVdlYlBh
Z2U7CitjbGFzcyBRV2ViVmlldzsKKworUUFjY2Vzc2libGVJbnRlcmZhY2UqIGFjY2Vzc2libGVJ
bnRlcmZhY2VGYWN0b3J5KGNvbnN0IFFTdHJpbmcmIGtleSwgUU9iamVjdCopOworCisvKgorICog
Q2xhc3NlcyByZXByZXNlbnRpbmcgYWNjZXNzaWJsZSBvYmplY3RzIGZvciBWaWV3LCBGcmFtZSBh
bmQgUGFnZS4KKyAqCisgKiBFYWNoIG9mIHRoZXNlIGp1c3QgcmV0dXJucyBvbmUgY2hpbGQgd2hp
Y2ggbGV0cyB0aGUgYWNjZXNzaWJpbGl0eQorICogZnJhbXdvcmsgbmF2aWdhdGUgdG93YXJkcyB0
aGUgYWN0dWFsIGNvbnRlbnRzIGluIHRoZSBmcmFtZS4KKyAqLworCitjbGFzcyBRV2ViRnJhbWVB
Y2Nlc3NpYmxlIDogcHVibGljIFFBY2Nlc3NpYmxlT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBRV2Vi
RnJhbWVBY2Nlc3NpYmxlKFFXZWJGcmFtZSopOworCisgICAgUVdlYkZyYW1lKiBmcmFtZSgpIGNv
bnN0OworCisgICAgUUFjY2Vzc2libGVJbnRlcmZhY2UqIHBhcmVudCgpIGNvbnN0OworICAgIGlu
dCBjaGlsZENvdW50KCkgY29uc3Q7CisgICAgUUFjY2Vzc2libGVJbnRlcmZhY2UqIGNoaWxkKGlu
dCBpbmRleCkgY29uc3Q7CisgICAgaW50IGluZGV4T2ZDaGlsZChjb25zdCBRQWNjZXNzaWJsZUlu
dGVyZmFjZSopIGNvbnN0OworICAgIGludCBuYXZpZ2F0ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25G
bGFnLCBpbnQsIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiogdGFyZ2V0KSBjb25zdDsKKworICAgIFFT
dHJpbmcgdGV4dChRQWNjZXNzaWJsZTo6VGV4dCkgY29uc3Q7CisgICAgUUFjY2Vzc2libGU6OlJv
bGUgcm9sZSgpIGNvbnN0OworICAgIFFBY2Nlc3NpYmxlOjpTdGF0ZSBzdGF0ZSgpIGNvbnN0Owor
fTsKKworY2xhc3MgUVdlYlBhZ2VBY2Nlc3NpYmxlIDogcHVibGljIFFBY2Nlc3NpYmxlT2JqZWN0
IHsKK3B1YmxpYzoKKyAgICBRV2ViUGFnZUFjY2Vzc2libGUoUVdlYlBhZ2UqKTsKKworICAgIFFX
ZWJQYWdlKiBwYWdlKCkgY29uc3Q7CisKKyAgICBRQWNjZXNzaWJsZUludGVyZmFjZSogcGFyZW50
KCkgY29uc3Q7CisgICAgaW50IGNoaWxkQ291bnQoKSBjb25zdDsKKyAgICBRQWNjZXNzaWJsZUlu
dGVyZmFjZSogY2hpbGQoaW50IGluZGV4KSBjb25zdDsKKyAgICBpbnQgaW5kZXhPZkNoaWxkKGNv
bnN0IFFBY2Nlc3NpYmxlSW50ZXJmYWNlKikgY29uc3Q7CisgICAgaW50IG5hdmlnYXRlKFFBY2Nl
c3NpYmxlOjpSZWxhdGlvbkZsYWcsIGludCwgUUFjY2Vzc2libGVJbnRlcmZhY2UqKiB0YXJnZXQp
IGNvbnN0OworCisgICAgUVN0cmluZyB0ZXh0KFFBY2Nlc3NpYmxlOjpUZXh0KSBjb25zdDsKKyAg
ICBRQWNjZXNzaWJsZTo6Um9sZSByb2xlKCkgY29uc3Q7CisgICAgUUFjY2Vzc2libGU6OlN0YXRl
IHN0YXRlKCkgY29uc3Q7Cit9OworCitjbGFzcyBRV2ViVmlld0FjY2Vzc2libGUgOiBwdWJsaWMg
UUFjY2Vzc2libGVXaWRnZXQgeworcHVibGljOgorICAgIFFXZWJWaWV3QWNjZXNzaWJsZShRV2Vi
VmlldyopOworCisgICAgUVdlYlZpZXcqIHZpZXcoKSBjb25zdDsKKworICAgIGludCBjaGlsZENv
dW50KCkgY29uc3Q7CisgICAgUUFjY2Vzc2libGVJbnRlcmZhY2UqIGNoaWxkKGludCBpbmRleCkg
Y29uc3Q7Cit9OworCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151926</attachid>
            <date>2012-07-12 05:53:19 -0700</date>
            <delta_ts>2012-07-13 07:29:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91073-20120712145311.patch</filename>
            <type>text/plain</type>
            <size>12761</size>
            <attacher name="Frederik Gladhorn">gladhorn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlNTMwMTM1ZDBjMjVjN2Rm
ZDliMDczYzYwYjgxYTA3ZWZhYjY2NDQuLjZmNjE0Mzk2ZmQ3N2FhMjQ0ZmU5ZTc4NmYxYzdhNzVj
Mzg3NzlhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDctMTIgIEZyZWRlcmlr
IEdsYWRob3JuICA8ZnJlZGVyaWsuZ2xhZGhvcm5Abm9raWEuY29tPgorCisgICAgICAgIEFkZCBh
Y2Nlc3NpYmxlIGZvciBRV2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkxMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGNsYXNzZXMgdG8gZW5hYmxlIGFjY2Vzc2liaWxpdHkgb24gdGhl
IHdpZGdldCBsZXZlbC4KKworICAgICAgICAqIFdlYktpdC5wcmk6CisgICAgICAgICogV2ViS2l0
MS5wcm86CisKIDIwMTItMDctMDggIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gQ2hhbmdlIG5vdGlmaWNhdGlvbnMgZGlyZWN0b3J5IHBhdGgg
b2YgV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMgaW4gdGhlIFBsYXRmb3JtRWZsLmNtYWtlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IGEwOWM0ZmI2MTA4ZThkOGZkMjY2ZTE2N2JkOGI2Y2I1MDU1OGQ3NzEu
LmEzNzM1NWI2ZDQ2MjcwYzVjOTU0YmY0NzcxNjk4MDc2NWJmZDM1ZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDcgQEAKKzIwMTItMDctMTIgIEZyZWRlcmlrIEdsYWRob3JuICA8ZnJlZGVy
aWsuZ2xhZGhvcm5Abm9raWEuY29tPgorCisgICAgICAgIEFjY2Vzc2libGUgV2lkZ2V0IGZvciBR
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTEwNzMKKworICAgICAgICBBZGRlZCBjbGFzc2VzIHRoYXQgYWxsb3cgbmF2aWdhdGlvbiB0byB0
aGUgd2ViIHZpZXcgd2lkZ2V0LgorICAgICAgICBUaGlzIGlzIHRoZSBnbHVlIHRvIGxhdGVyIGFj
Y2VzcyB3ZWJraXQncyBhY2Nlc3NpYmxlIG9iamVjdHMKKyAgICAgICAgdGhvdWdoIHRoZSBRdCBh
Y2Nlc3NpYmlsaXR5IGZyYW1ld29yay4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6CisgICAgICAgIChRV2ViVmlldzo6
UVdlYlZpZXcpOgorICAgICAgICAqIEFwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwOiBBZGRlZC4K
KyAgICAgICAgKGFjY2Vzc2libGVJbnRlcmZhY2VGYWN0b3J5KToKKyAgICAgICAgKFFXZWJGcmFt
ZUFjY2Vzc2libGU6OlFXZWJGcmFtZUFjY2Vzc2libGUpOgorICAgICAgICAoUVdlYkZyYW1lQWNj
ZXNzaWJsZTo6ZnJhbWUpOgorICAgICAgICAoUVdlYkZyYW1lQWNjZXNzaWJsZTo6cGFyZW50KToK
KyAgICAgICAgKFFXZWJGcmFtZUFjY2Vzc2libGU6OnRleHQpOgorICAgICAgICAoUVdlYkZyYW1l
QWNjZXNzaWJsZTo6Y2hpbGRDb3VudCk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjpj
aGlsZCk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQpOgorICAg
ICAgICAoUVdlYkZyYW1lQWNjZXNzaWJsZTo6c3RhdGUpOgorICAgICAgICAoUVdlYkZyYW1lQWNj
ZXNzaWJsZTo6cm9sZSk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjpuYXZpZ2F0ZSk6
CisgICAgICAgIChRV2ViUGFnZUFjY2Vzc2libGU6OlFXZWJQYWdlQWNjZXNzaWJsZSk6CisgICAg
ICAgIChRV2ViUGFnZUFjY2Vzc2libGU6OnBhZ2UpOgorICAgICAgICAoUVdlYlBhZ2VBY2Nlc3Np
YmxlOjp0ZXh0KToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6cGFyZW50KToKKyAgICAg
ICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6Y2hpbGQpOgorICAgICAgICAoUVdlYlBhZ2VBY2Nlc3Np
YmxlOjpjaGlsZENvdW50KToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6aW5kZXhPZkNo
aWxkKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6bmF2aWdhdGUpOgorICAgICAgICAo
UVdlYlBhZ2VBY2Nlc3NpYmxlOjpyb2xlKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6
c3RhdGUpOgorICAgICAgICAoUVdlYlZpZXdBY2Nlc3NpYmxlOjpRV2ViVmlld0FjY2Vzc2libGUp
OgorICAgICAgICAoUVdlYlZpZXdBY2Nlc3NpYmxlOjp2aWV3KToKKyAgICAgICAgKFFXZWJWaWV3
QWNjZXNzaWJsZTo6Y2hpbGRDb3VudCk6CisgICAgICAgIChRV2ViVmlld0FjY2Vzc2libGU6OmNo
aWxkKToKKyAgICAgICAgKiBBcGkvcXdlYnZpZXdhY2Nlc3NpYmxlX3AuaDogQWRkZWQuCisgICAg
ICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZSk6
CisgICAgICAgIChRV2ViVmlld0FjY2Vzc2libGUpOgorCiAyMDEyLTA3LTA2ICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBCdWlsZGZpeCBmb3Ig
bmV3ZXIgUXQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC5wcmkgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC5wcmkKaW5kZXggM2MwZGJkZjNkODIxMjQ0OTA0NDA1YzViNTlmY2YzYzgz
YTdhYTBhYS4uYTJkOWQ0YmRmNWY0NTZhMTQ5ZTgxYjZkZjFlZDFhNDc5YWVlZjU5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
LnByaQpAQCAtMzcsMyArMzcsOCBAQCBIRUFERVJTICs9IFwKICAgICAkJFBXRC9xdC9BcGkvcXdl
YnBsdWdpbmRhdGFiYXNlX3AuaCBcCiAgICAgJCRQV0QvcXQvQXBpL3FodHRwaGVhZGVyX3AuaAog
CitoYXZlUXQoNSk6IGNvbnRhaW5zKENPTkZJRywgYWNjZXNzaWJpbGl0eSkgeworICAgIFNPVVJD
RVMgKz0gJCRQV0QvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAKKyAgICBIRUFERVJTICs9
ICQkUFdEL3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGVfcC5oCit9CisKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0MS5wcm8gYi9Tb3VyY2UvV2ViS2l0L1dlYktpdDEucHJvCmluZGV4
IGI4ZjU0YjFmNTcwNGNiZjdkNTMzMTEyOTlmYjI5ZTcxOWVmYzNhOTkuLjhiMDMwYmZjOTRhY2Fl
ODFjMmZmN2JhMmY3NDZlMGFhYmRmNjZhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0MS5wcm8KKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQxLnBybwpAQCAtOTQsNiArOTQsMTEg
QEAgSEVBREVSUyArPSBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzUXQuaCBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJz
aW9uLmgKIAoraGF2ZVF0KDUpOiBjb250YWlucyhRVF9DT05GSUcsYWNjZXNzaWJpbGl0eSkgewor
ICAgIFNPVVJDRVMgKz0gJCRQV0QvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAKKyAgICBI
RUFERVJTICs9ICQkUFdEL3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGVfcC5oIAorfQorCiBJTkNM
VURFUEFUSCArPSBcCiAgICAgJCRQV0QvcXQvQXBpIFwKICAgICAkJFBXRC9xdC9XZWJDb3JlU3Vw
cG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IDI5NjY2MWFhNDJiYzM3MjM4ZDJi
Y2ZjZjFlYzhjYmRlMDg0YzljZTguLjc1MTQzZDE2OWM0Nzc0NmZlYmE2NjBmNmZmNTg5NWM5ZGQ3
OTBjODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTMzLDYgKzMzLDExIEBACiAj
aW5jbHVkZSAicXByaW50ZXIuaCIKICNpbmNsdWRlICJxZGlyLmgiCiAjaW5jbHVkZSAicWZpbGUu
aCIKKyNpZm5kZWYgUVRfTk9fQUNDRVNTSUJJTElUWQorI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVS
U0lPTl9DSEVDSyg1LCAwLCAwKQorI2luY2x1ZGUgInF3ZWJ2aWV3YWNjZXNzaWJsZV9wLmgiCisj
ZW5kaWYKKyNlbmRpZgogCiBjbGFzcyBRV2ViVmlld1ByaXZhdGUgewogcHVibGljOgpAQCAtMTY3
LDYgKzE3MiwxMiBAQCBRV2ViVmlldzo6UVdlYlZpZXcoUVdpZGdldCAqcGFyZW50KQogCiAgICAg
c2V0TW91c2VUcmFja2luZyh0cnVlKTsKICAgICBzZXRGb2N1c1BvbGljeShRdDo6V2hlZWxGb2N1
cyk7CisKKyNpZm5kZWYgUVRfTk9fQUNDRVNTSUJJTElUWQorI2lmIFFUX1ZFUlNJT04gPj0gUVRf
VkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorICAgIFFBY2Nlc3NpYmxlOjppbnN0YWxsRmFjdG9yeShh
Y2Nlc3NpYmxlSW50ZXJmYWNlRmFjdG9yeSk7CisjZW5kaWYKKyNlbmRpZgogfQogCiAvKiEKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNm
MzM3YzU2ODg5ZThhOTJlYzdkODgwNTE2ZGMzNDc4ZTllNzRmYjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwCkBAIC0wLDAgKzEs
MTg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAicXdlYnZpZXdh
Y2Nlc3NpYmxlX3AuaCIKKworI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgorI2luY2x1ZGUgInF3ZWJm
cmFtZV9wLmgiCisjaW5jbHVkZSAicXdlYnBhZ2UuaCIKKyNpbmNsdWRlICJxd2Vidmlldy5oIgor
CitRQWNjZXNzaWJsZUludGVyZmFjZSogYWNjZXNzaWJsZUludGVyZmFjZUZhY3RvcnkoY29uc3Qg
UVN0cmluZyYga2V5LCBRT2JqZWN0KiBvYmplY3QpCit7CisgICAgUV9VTlVTRUQoa2V5KQorCisg
ICAgaWYgKFFXZWJQYWdlICpwYWdlID0gcW9iamVjdF9jYXN0PFFXZWJQYWdlKj4ob2JqZWN0KSkK
KyAgICAgICAgcmV0dXJuIG5ldyBRV2ViUGFnZUFjY2Vzc2libGUocGFnZSk7CisKKyAgICBpZiAo
UVdlYlZpZXcgKnZpZXcgPSBxb2JqZWN0X2Nhc3Q8UVdlYlZpZXcqPihvYmplY3QpKQorICAgICAg
ICByZXR1cm4gbmV3IFFXZWJWaWV3QWNjZXNzaWJsZSh2aWV3KTsKKworICAgIGlmIChRV2ViRnJh
bWUgKmZyYW1lID0gcW9iamVjdF9jYXN0PFFXZWJGcmFtZSo+KG9iamVjdCkpCisgICAgICAgIHJl
dHVybiBuZXcgUVdlYkZyYW1lQWNjZXNzaWJsZShmcmFtZSk7CisgICAgcmV0dXJuIDA7Cit9CisK
K1FXZWJGcmFtZUFjY2Vzc2libGU6OlFXZWJGcmFtZUFjY2Vzc2libGUoUVdlYkZyYW1lKiBmcmFt
ZSkKKyAgICA6IFFBY2Nlc3NpYmxlT2JqZWN0KGZyYW1lKQoreworLy8gICAgaWYgKCFXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorLy8gICAgICAgIFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKK30KKworUVdlYkZyYW1l
KiBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHFvYmpl
Y3RfY2FzdDxRV2ViRnJhbWUqPihvYmplY3QoKSk7Cit9CisKK1FBY2Nlc3NpYmxlSW50ZXJmYWNl
KiBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpwYXJlbnQoKSBjb25zdAoreworICAgIHJldHVybiBRQWNj
ZXNzaWJsZTo6cXVlcnlBY2Nlc3NpYmxlSW50ZXJmYWNlKG9iamVjdCgpLT5wYXJlbnQoKSk7Cit9
CisKK1FTdHJpbmcgUVdlYkZyYW1lQWNjZXNzaWJsZTo6dGV4dChRQWNjZXNzaWJsZTo6VGV4dCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gUVN0cmluZygpOworfQorCitpbnQgUVdlYkZyYW1lQWNjZXNz
aWJsZTo6Y2hpbGRDb3VudCgpIGNvbnN0Cit7CisvLyAgICBXZWJDb3JlOjpEb2N1bWVudCogZG9j
dW1lbnQgPSBmcmFtZSgpLT5kLT5mcmFtZS0+ZG9jdW1lbnQoKTsKKy8vICAgIGlmICghZG9jdW1l
bnQgfHwgIWRvY3VtZW50LT5heE9iamVjdENhY2hlKCkpCisvLyAgICAgICAgcmV0dXJuIDA7Cisv
LyAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0KiByb290QWNjZXNzaWJsZSA9IGRvY3Vt
ZW50LT5heE9iamVjdENhY2hlKCktPnJvb3RPYmplY3QoKTsKKy8vICAgIHJldHVybiByb290QWNj
ZXNzaWJsZSA/IDEgOiAwOworICAgIHJldHVybiAwOworfQorCitRQWNjZXNzaWJsZUludGVyZmFj
ZSogUVdlYkZyYW1lQWNjZXNzaWJsZTo6Y2hpbGQoaW50IGluZGV4KSBjb25zdAoreworICAgIGlm
IChpbmRleCkKKyAgICAgICAgcmV0dXJuIDA7CisKKy8vICAgIFdlYkNvcmU6OkRvY3VtZW50KiBk
b2N1bWVudCA9IGZyYW1lKCktPmQtPmZyYW1lLT5kb2N1bWVudCgpOworLy8gICAgaWYgKCFkb2N1
bWVudCB8fCAhZG9jdW1lbnQtPmF4T2JqZWN0Q2FjaGUoKSkKKy8vICAgICAgICByZXR1cm4gMDsK
KworLy8gICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCogcm9vdEFjY2Vzc2libGUgPSBk
b2N1bWVudC0+YXhPYmplY3RDYWNoZSgpLT5yb290T2JqZWN0KCk7CisvLyAgICBpZiAocm9vdEFj
Y2Vzc2libGUpCisvLyAgICAgICAgcmV0dXJuIG5ldyBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlcihyb290QWNjZXNzaWJsZSk7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBRV2Vi
RnJhbWVBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQoY29uc3QgUUFjY2Vzc2libGVJbnRlcmZhY2Uq
KSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitRQWNjZXNzaWJsZTo6U3RhdGUgUVdlYkZy
YW1lQWNjZXNzaWJsZTo6c3RhdGUoKSBjb25zdAoreworICAgIHJldHVybiBRQWNjZXNzaWJsZTo6
U3RhdGUoKTsKK30KKworUUFjY2Vzc2libGU6OlJvbGUgUVdlYkZyYW1lQWNjZXNzaWJsZTo6cm9s
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFFBY2Nlc3NpYmxlOjpDbGllbnQ7Cit9CisKK2ludCBR
V2ViRnJhbWVBY2Nlc3NpYmxlOjpuYXZpZ2F0ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25GbGFnLCBp
bnQsIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiogdGFyZ2V0KSBjb25zdAoreworICAgICp0YXJnZXQg
PSAwOworICAgIHJldHVybiAtMTsKK30KKworUVdlYlBhZ2VBY2Nlc3NpYmxlOjpRV2ViUGFnZUFj
Y2Vzc2libGUoUVdlYlBhZ2UqIHBhZ2UpCisgICAgOiBRQWNjZXNzaWJsZU9iamVjdChwYWdlKQor
eworfQorCitRV2ViUGFnZSogUVdlYlBhZ2VBY2Nlc3NpYmxlOjpwYWdlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gcW9iamVjdF9jYXN0PFFXZWJQYWdlKj4ob2JqZWN0KCkpOworfQorCitRU3RyaW5n
IFFXZWJQYWdlQWNjZXNzaWJsZTo6dGV4dChRQWNjZXNzaWJsZTo6VGV4dCB0KSBjb25zdAorewor
ICAgIHJldHVybiBRU3RyaW5nKCk7Cit9CisKK1FBY2Nlc3NpYmxlSW50ZXJmYWNlKiBRV2ViUGFn
ZUFjY2Vzc2libGU6OnBhcmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFFBY2Nlc3NpYmxlOjpx
dWVyeUFjY2Vzc2libGVJbnRlcmZhY2Uob2JqZWN0KCktPnBhcmVudCgpKTsKK30KKworUUFjY2Vz
c2libGVJbnRlcmZhY2UqIFFXZWJQYWdlQWNjZXNzaWJsZTo6Y2hpbGQoaW50IGluZGV4KSBjb25z
dAoreworICAgIGlmICghaW5kZXggJiYgcGFnZSgpLT5tYWluRnJhbWUoKSkKKyAgICAgICAgcmV0
dXJuIG5ldyBRV2ViRnJhbWVBY2Nlc3NpYmxlKHBhZ2UoKS0+bWFpbkZyYW1lKCkpOworICAgIHJl
dHVybiAwOworfQorCitpbnQgUVdlYlBhZ2VBY2Nlc3NpYmxlOjpjaGlsZENvdW50KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gcGFnZSgpLT5tYWluRnJhbWUoKSA/IDEgOiAwOworfQorCitpbnQgUVdl
YlBhZ2VBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQoY29uc3QgUUFjY2Vzc2libGVJbnRlcmZhY2Uq
KSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitpbnQgUVdlYlBhZ2VBY2Nlc3NpYmxlOjpu
YXZpZ2F0ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25GbGFnLCBpbnQsIFFBY2Nlc3NpYmxlSW50ZXJm
YWNlKiogdGFyZ2V0KSBjb25zdAoreworICAgICp0YXJnZXQgPSAwOworICAgIHJldHVybiAtMTsK
K30KKworUUFjY2Vzc2libGU6OlJvbGUgUVdlYlBhZ2VBY2Nlc3NpYmxlOjpyb2xlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gUUFjY2Vzc2libGU6OkNsaWVudDsKK30KKworUUFjY2Vzc2libGU6OlN0
YXRlIFFXZWJQYWdlQWNjZXNzaWJsZTo6c3RhdGUoKSBjb25zdAoreworICAgIHJldHVybiBRQWNj
ZXNzaWJsZTo6U3RhdGUoKTsKK30KKworUVdlYlZpZXdBY2Nlc3NpYmxlOjpRV2ViVmlld0FjY2Vz
c2libGUoUVdlYlZpZXcqIHZpZXcpCisgICAgOiBRQWNjZXNzaWJsZVdpZGdldCh2aWV3LCBRQWNj
ZXNzaWJsZTo6RG9jdW1lbnQpCit7Cit9CisKK1FXZWJWaWV3KiBRV2ViVmlld0FjY2Vzc2libGU6
OnZpZXcoKSBjb25zdAoreworICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UVdlYlZpZXcqPihvYmpl
Y3QoKSk7Cit9CisKK2ludCBRV2ViVmlld0FjY2Vzc2libGU6OmNoaWxkQ291bnQoKSBjb25zdAor
eworICAgIHJldHVybiB2aWV3KCktPnBhZ2UoKSA/IDEgOiAwOworfQorCitRQWNjZXNzaWJsZUlu
dGVyZmFjZSogUVdlYlZpZXdBY2Nlc3NpYmxlOjpjaGlsZChpbnQgaW5kZXgpIGNvbnN0Cit7Cisg
ICAgaWYgKCFpbmRleCAmJiB2aWV3KCktPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIG5ldyBRV2Vi
UGFnZUFjY2Vzc2libGUodmlldygpLT5wYWdlKCkpOworICAgIHJldHVybiAwOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXdhY2Nlc3NpYmxlX3AuaCBiL1NvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZV9wLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI0N2Ex
OTI5MTliZWQ0Njg4YzIwNWUzYjBjMDRlMGM0Nzc2YjA4NwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZV9wLmgKQEAgLTAsMCArMSw4NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKKworICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworI2lmbmRlZiBxd2Vidmlld2FjY2Vzc2libGVfcF9oCisjZGVmaW5lIHF3ZWJ2
aWV3YWNjZXNzaWJsZV9wX2gKKworI2luY2x1ZGUgPHFhY2Nlc3NpYmxlLmg+CisjaW5jbHVkZSA8
cWFjY2Vzc2libGVvYmplY3QuaD4KKyNpbmNsdWRlIDxxYWNjZXNzaWJsZXdpZGdldC5oPgorCitj
bGFzcyBRV2ViRnJhbWU7CitjbGFzcyBRV2ViUGFnZTsKK2NsYXNzIFFXZWJWaWV3OworCitRQWNj
ZXNzaWJsZUludGVyZmFjZSogYWNjZXNzaWJsZUludGVyZmFjZUZhY3RvcnkoY29uc3QgUVN0cmlu
ZyYga2V5LCBRT2JqZWN0Kik7CisKKy8qCisgKiBDbGFzc2VzIHJlcHJlc2VudGluZyBhY2Nlc3Np
YmxlIG9iamVjdHMgZm9yIFZpZXcsIEZyYW1lIGFuZCBQYWdlLgorICoKKyAqIEVhY2ggb2YgdGhl
c2UganVzdCByZXR1cm5zIG9uZSBjaGlsZCB3aGljaCBsZXRzIHRoZSBhY2Nlc3NpYmlsaXR5Cisg
KiBmcmFtd29yayBuYXZpZ2F0ZSB0b3dhcmRzIHRoZSBhY3R1YWwgY29udGVudHMgaW4gdGhlIGZy
YW1lLgorICovCisKK2NsYXNzIFFXZWJGcmFtZUFjY2Vzc2libGUgOiBwdWJsaWMgUUFjY2Vzc2li
bGVPYmplY3QgeworcHVibGljOgorICAgIFFXZWJGcmFtZUFjY2Vzc2libGUoUVdlYkZyYW1lKik7
CisKKyAgICBRV2ViRnJhbWUqIGZyYW1lKCkgY29uc3Q7CisKKyAgICBRQWNjZXNzaWJsZUludGVy
ZmFjZSogcGFyZW50KCkgY29uc3Q7CisgICAgaW50IGNoaWxkQ291bnQoKSBjb25zdDsKKyAgICBR
QWNjZXNzaWJsZUludGVyZmFjZSogY2hpbGQoaW50IGluZGV4KSBjb25zdDsKKyAgICBpbnQgaW5k
ZXhPZkNoaWxkKGNvbnN0IFFBY2Nlc3NpYmxlSW50ZXJmYWNlKikgY29uc3Q7CisgICAgaW50IG5h
dmlnYXRlKFFBY2Nlc3NpYmxlOjpSZWxhdGlvbkZsYWcsIGludCwgUUFjY2Vzc2libGVJbnRlcmZh
Y2UqKiB0YXJnZXQpIGNvbnN0OworCisgICAgUVN0cmluZyB0ZXh0KFFBY2Nlc3NpYmxlOjpUZXh0
KSBjb25zdDsKKyAgICBRQWNjZXNzaWJsZTo6Um9sZSByb2xlKCkgY29uc3Q7CisgICAgUUFjY2Vz
c2libGU6OlN0YXRlIHN0YXRlKCkgY29uc3Q7Cit9OworCitjbGFzcyBRV2ViUGFnZUFjY2Vzc2li
bGUgOiBwdWJsaWMgUUFjY2Vzc2libGVPYmplY3QgeworcHVibGljOgorICAgIFFXZWJQYWdlQWNj
ZXNzaWJsZShRV2ViUGFnZSopOworCisgICAgUVdlYlBhZ2UqIHBhZ2UoKSBjb25zdDsKKworICAg
IFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiBwYXJlbnQoKSBjb25zdDsKKyAgICBpbnQgY2hpbGRDb3Vu
dCgpIGNvbnN0OworICAgIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiBjaGlsZChpbnQgaW5kZXgpIGNv
bnN0OworICAgIGludCBpbmRleE9mQ2hpbGQoY29uc3QgUUFjY2Vzc2libGVJbnRlcmZhY2UqKSBj
b25zdDsKKyAgICBpbnQgbmF2aWdhdGUoUUFjY2Vzc2libGU6OlJlbGF0aW9uRmxhZywgaW50LCBR
QWNjZXNzaWJsZUludGVyZmFjZSoqIHRhcmdldCkgY29uc3Q7CisKKyAgICBRU3RyaW5nIHRleHQo
UUFjY2Vzc2libGU6OlRleHQpIGNvbnN0OworICAgIFFBY2Nlc3NpYmxlOjpSb2xlIHJvbGUoKSBj
b25zdDsKKyAgICBRQWNjZXNzaWJsZTo6U3RhdGUgc3RhdGUoKSBjb25zdDsKK307CisKK2NsYXNz
IFFXZWJWaWV3QWNjZXNzaWJsZSA6IHB1YmxpYyBRQWNjZXNzaWJsZVdpZGdldCB7CitwdWJsaWM6
CisgICAgUVdlYlZpZXdBY2Nlc3NpYmxlKFFXZWJWaWV3Kik7CisKKyAgICBRV2ViVmlldyogdmll
dygpIGNvbnN0OworCisgICAgaW50IGNoaWxkQ291bnQoKSBjb25zdDsKKyAgICBRQWNjZXNzaWJs
ZUludGVyZmFjZSogY2hpbGQoaW50IGluZGV4KSBjb25zdDsKK307CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152256</attachid>
            <date>2012-07-13 07:29:39 -0700</date>
            <delta_ts>2012-07-16 00:46:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91073-20120713162936.patch</filename>
            <type>text/plain</type>
            <size>12186</size>
            <attacher name="Frederik Gladhorn">gladhorn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlNTMwMTM1ZDBjMjVjN2Rm
ZDliMDczYzYwYjgxYTA3ZWZhYjY2NDQuLjZmNjE0Mzk2ZmQ3N2FhMjQ0ZmU5ZTc4NmYxYzdhNzVj
Mzg3NzlhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDctMTIgIEZyZWRlcmlr
IEdsYWRob3JuICA8ZnJlZGVyaWsuZ2xhZGhvcm5Abm9raWEuY29tPgorCisgICAgICAgIEFkZCBh
Y2Nlc3NpYmxlIGZvciBRV2ViVmlldy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkxMDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGNsYXNzZXMgdG8gZW5hYmxlIGFjY2Vzc2liaWxpdHkgb24gdGhl
IHdpZGdldCBsZXZlbC4KKworICAgICAgICAqIFdlYktpdC5wcmk6CisgICAgICAgICogV2ViS2l0
MS5wcm86CisKIDIwMTItMDctMDggIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gQ2hhbmdlIG5vdGlmaWNhdGlvbnMgZGlyZWN0b3J5IHBhdGgg
b2YgV2ViS2l0X0lOQ0xVREVfRElSRUNUT1JJRVMgaW4gdGhlIFBsYXRmb3JtRWZsLmNtYWtlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IGEwOWM0ZmI2MTA4ZThkOGZkMjY2ZTE2N2JkOGI2Y2I1MDU1OGQ3NzEu
LmEzNzM1NWI2ZDQ2MjcwYzVjOTU0YmY0NzcxNjk4MDc2NWJmZDM1ZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDcgQEAKKzIwMTItMDctMTIgIEZyZWRlcmlrIEdsYWRob3JuICA8ZnJlZGVy
aWsuZ2xhZGhvcm5Abm9raWEuY29tPgorCisgICAgICAgIEFjY2Vzc2libGUgV2lkZ2V0IGZvciBR
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTEwNzMKKworICAgICAgICBBZGRlZCBjbGFzc2VzIHRoYXQgYWxsb3cgbmF2aWdhdGlvbiB0byB0
aGUgd2ViIHZpZXcgd2lkZ2V0LgorICAgICAgICBUaGlzIGlzIHRoZSBnbHVlIHRvIGxhdGVyIGFj
Y2VzcyB3ZWJraXQncyBhY2Nlc3NpYmxlIG9iamVjdHMKKyAgICAgICAgdGhvdWdoIHRoZSBRdCBh
Y2Nlc3NpYmlsaXR5IGZyYW1ld29yay4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEFwaS9xd2Vidmlldy5jcHA6CisgICAgICAgIChRV2ViVmlldzo6
UVdlYlZpZXcpOgorICAgICAgICAqIEFwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwOiBBZGRlZC4K
KyAgICAgICAgKGFjY2Vzc2libGVJbnRlcmZhY2VGYWN0b3J5KToKKyAgICAgICAgKFFXZWJGcmFt
ZUFjY2Vzc2libGU6OlFXZWJGcmFtZUFjY2Vzc2libGUpOgorICAgICAgICAoUVdlYkZyYW1lQWNj
ZXNzaWJsZTo6ZnJhbWUpOgorICAgICAgICAoUVdlYkZyYW1lQWNjZXNzaWJsZTo6cGFyZW50KToK
KyAgICAgICAgKFFXZWJGcmFtZUFjY2Vzc2libGU6OnRleHQpOgorICAgICAgICAoUVdlYkZyYW1l
QWNjZXNzaWJsZTo6Y2hpbGRDb3VudCk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjpj
aGlsZCk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQpOgorICAg
ICAgICAoUVdlYkZyYW1lQWNjZXNzaWJsZTo6c3RhdGUpOgorICAgICAgICAoUVdlYkZyYW1lQWNj
ZXNzaWJsZTo6cm9sZSk6CisgICAgICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlOjpuYXZpZ2F0ZSk6
CisgICAgICAgIChRV2ViUGFnZUFjY2Vzc2libGU6OlFXZWJQYWdlQWNjZXNzaWJsZSk6CisgICAg
ICAgIChRV2ViUGFnZUFjY2Vzc2libGU6OnBhZ2UpOgorICAgICAgICAoUVdlYlBhZ2VBY2Nlc3Np
YmxlOjp0ZXh0KToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6cGFyZW50KToKKyAgICAg
ICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6Y2hpbGQpOgorICAgICAgICAoUVdlYlBhZ2VBY2Nlc3Np
YmxlOjpjaGlsZENvdW50KToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6aW5kZXhPZkNo
aWxkKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6bmF2aWdhdGUpOgorICAgICAgICAo
UVdlYlBhZ2VBY2Nlc3NpYmxlOjpyb2xlKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZTo6
c3RhdGUpOgorICAgICAgICAoUVdlYlZpZXdBY2Nlc3NpYmxlOjpRV2ViVmlld0FjY2Vzc2libGUp
OgorICAgICAgICAoUVdlYlZpZXdBY2Nlc3NpYmxlOjp2aWV3KToKKyAgICAgICAgKFFXZWJWaWV3
QWNjZXNzaWJsZTo6Y2hpbGRDb3VudCk6CisgICAgICAgIChRV2ViVmlld0FjY2Vzc2libGU6OmNo
aWxkKToKKyAgICAgICAgKiBBcGkvcXdlYnZpZXdhY2Nlc3NpYmxlX3AuaDogQWRkZWQuCisgICAg
ICAgIChRV2ViRnJhbWVBY2Nlc3NpYmxlKToKKyAgICAgICAgKFFXZWJQYWdlQWNjZXNzaWJsZSk6
CisgICAgICAgIChRV2ViVmlld0FjY2Vzc2libGUpOgorCiAyMDEyLTA3LTA2ICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBCdWlsZGZpeCBmb3Ig
bmV3ZXIgUXQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC5wcmkgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC5wcmkKaW5kZXggM2MwZGJkZjNkODIxMjQ0OTA0NDA1YzViNTlmY2YzYzgz
YTdhYTBhYS4uYTJkOWQ0YmRmNWY0NTZhMTQ5ZTgxYjZkZjFlZDFhNDc5YWVlZjU5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQucHJpCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
LnByaQpAQCAtMzcsMyArMzcsOCBAQCBIRUFERVJTICs9IFwKICAgICAkJFBXRC9xdC9BcGkvcXdl
YnBsdWdpbmRhdGFiYXNlX3AuaCBcCiAgICAgJCRQV0QvcXQvQXBpL3FodHRwaGVhZGVyX3AuaAog
CitoYXZlUXQoNSk6IGNvbnRhaW5zKENPTkZJRywgYWNjZXNzaWJpbGl0eSkgeworICAgIFNPVVJD
RVMgKz0gJCRQV0QvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAKKyAgICBIRUFERVJTICs9
ICQkUFdEL3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGVfcC5oCit9CisKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0MS5wcm8gYi9Tb3VyY2UvV2ViS2l0L1dlYktpdDEucHJvCmluZGV4
IGI4ZjU0YjFmNTcwNGNiZjdkNTMzMTEyOTlmYjI5ZTcxOWVmYzNhOTkuLjhiMDMwYmZjOTRhY2Fl
ODFjMmZmN2JhMmY3NDZlMGFhYmRmNjZhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0MS5wcm8KKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQxLnBybwpAQCAtOTQsNiArOTQsMTEg
QEAgSEVBREVSUyArPSBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzUXQuaCBcCiAgICAgJCRQV0QvcXQvV2ViQ29yZVN1cHBvcnQvV2ViRXZlbnRDb252ZXJz
aW9uLmgKIAoraGF2ZVF0KDUpOiBjb250YWlucyhRVF9DT05GSUcsYWNjZXNzaWJpbGl0eSkgewor
ICAgIFNPVVJDRVMgKz0gJCRQV0QvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAKKyAgICBI
RUFERVJTICs9ICQkUFdEL3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGVfcC5oIAorfQorCiBJTkNM
VURFUEFUSCArPSBcCiAgICAgJCRQV0QvcXQvQXBpIFwKICAgICAkJFBXRC9xdC9XZWJDb3JlU3Vw
cG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4IDI5NjY2MWFhNDJiYzM3MjM4ZDJi
Y2ZjZjFlYzhjYmRlMDg0YzljZTguLmE2MDgyY2Y2MzI4ZDE2NTA2ZmU4YjllN2VhNmRiMjgwODkw
ZDgyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTMzLDYgKzMzLDExIEBACiAj
aW5jbHVkZSAicXByaW50ZXIuaCIKICNpbmNsdWRlICJxZGlyLmgiCiAjaW5jbHVkZSAicWZpbGUu
aCIKKyNpZm5kZWYgUVRfTk9fQUNDRVNTSUJJTElUWQorI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVS
U0lPTl9DSEVDSyg1LCAwLCAwKQorI2luY2x1ZGUgInF3ZWJ2aWV3YWNjZXNzaWJsZV9wLmgiCisj
ZW5kaWYKKyNlbmRpZgogCiBjbGFzcyBRV2ViVmlld1ByaXZhdGUgewogcHVibGljOgpAQCAtMTQ4
LDYgKzE1MywyMyBAQCB2b2lkIFFXZWJWaWV3UHJpdmF0ZTo6X3FfcGFnZURlc3Ryb3llZCgpCiAg
ICAge0dvb2dsZSBDaGF0IEV4YW1wbGV9LCB7RmFuY3kgQnJvd3NlciBFeGFtcGxlfQogKi8KIAor
I2lmbmRlZiBRVF9OT19BQ0NFU1NJQklMSVRZCisjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9O
X0NIRUNLKDUsIDAsIDApCitzdGF0aWMgUUFjY2Vzc2libGVJbnRlcmZhY2UqIGFjY2Vzc2libGVJ
bnRlcmZhY2VGYWN0b3J5KGNvbnN0IFFTdHJpbmcmIGtleSwgUU9iamVjdCogb2JqZWN0KQorewor
ICAgIFFfVU5VU0VEKGtleSkKKworICAgIGlmIChRV2ViUGFnZSogcGFnZSA9IHFvYmplY3RfY2Fz
dDxRV2ViUGFnZSo+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBuZXcgUVdlYlBhZ2VBY2Nlc3Np
YmxlKHBhZ2UpOworICAgIGlmIChRV2ViVmlldyogdmlldyA9IHFvYmplY3RfY2FzdDxRV2ViVmll
dyo+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBuZXcgUVdlYlZpZXdBY2Nlc3NpYmxlKHZpZXcp
OworICAgIGlmIChRV2ViRnJhbWUqIGZyYW1lID0gcW9iamVjdF9jYXN0PFFXZWJGcmFtZSo+KG9i
amVjdCkpCisgICAgICAgIHJldHVybiBuZXcgUVdlYkZyYW1lQWNjZXNzaWJsZShmcmFtZSk7Cisg
ICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKyNlbmRpZgorCiAvKiEKICAgICBDb25zdHJ1Y3RzIGFu
IGVtcHR5IFFXZWJWaWV3IHdpdGggcGFyZW50IFxhIHBhcmVudC4KIApAQCAtMTY3LDYgKzE4OSwx
MiBAQCBRV2ViVmlldzo6UVdlYlZpZXcoUVdpZGdldCAqcGFyZW50KQogCiAgICAgc2V0TW91c2VU
cmFja2luZyh0cnVlKTsKICAgICBzZXRGb2N1c1BvbGljeShRdDo6V2hlZWxGb2N1cyk7CisKKyNp
Zm5kZWYgUVRfTk9fQUNDRVNTSUJJTElUWQorI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg1LCAwLCAwKQorICAgIFFBY2Nlc3NpYmxlOjppbnN0YWxsRmFjdG9yeShhY2Nlc3NpYmxl
SW50ZXJmYWNlRmFjdG9yeSk7CisjZW5kaWYKKyNlbmRpZgogfQogCiAvKiEKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjYWUxOWExYTQy
MjE0YmRhNDI5MWU4N2FiMTE0NmI3YjUzN2RhMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2Vidmlld2FjY2Vzc2libGUuY3BwCkBAIC0wLDAgKzEsMTUyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQorCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAicXdlYnZpZXdhY2Nlc3NpYmxl
X3AuaCIKKworI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgorI2luY2x1ZGUgInF3ZWJmcmFtZV9wLmgi
CisjaW5jbHVkZSAicXdlYnBhZ2UuaCIKKyNpbmNsdWRlICJxd2Vidmlldy5oIgorCitRV2ViRnJh
bWVBY2Nlc3NpYmxlOjpRV2ViRnJhbWVBY2Nlc3NpYmxlKFFXZWJGcmFtZSogZnJhbWUpCisgICAg
OiBRQWNjZXNzaWJsZU9iamVjdChmcmFtZSkKK3sKK30KKworUVdlYkZyYW1lKiBRV2ViRnJhbWVB
Y2Nlc3NpYmxlOjpmcmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHFvYmplY3RfY2FzdDxRV2Vi
RnJhbWUqPihvYmplY3QoKSk7Cit9CisKK1FBY2Nlc3NpYmxlSW50ZXJmYWNlKiBRV2ViRnJhbWVB
Y2Nlc3NpYmxlOjpwYXJlbnQoKSBjb25zdAoreworICAgIHJldHVybiBRQWNjZXNzaWJsZTo6cXVl
cnlBY2Nlc3NpYmxlSW50ZXJmYWNlKG9iamVjdCgpLT5wYXJlbnQoKSk7Cit9CisKK1FTdHJpbmcg
UVdlYkZyYW1lQWNjZXNzaWJsZTo6dGV4dChRQWNjZXNzaWJsZTo6VGV4dCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gUVN0cmluZygpOworfQorCitpbnQgUVdlYkZyYW1lQWNjZXNzaWJsZTo6Y2hpbGRD
b3VudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK1FBY2Nlc3NpYmxlSW50ZXJmYWNl
KiBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpjaGlsZChpbnQgaW5kZXgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIDA7Cit9CisKK2ludCBRV2ViRnJhbWVBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQoY29uc3Qg
UUFjY2Vzc2libGVJbnRlcmZhY2UqKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitRQWNj
ZXNzaWJsZTo6U3RhdGUgUVdlYkZyYW1lQWNjZXNzaWJsZTo6c3RhdGUoKSBjb25zdAoreworICAg
IHJldHVybiBRQWNjZXNzaWJsZTo6U3RhdGUoKTsKK30KKworUUFjY2Vzc2libGU6OlJvbGUgUVdl
YkZyYW1lQWNjZXNzaWJsZTo6cm9sZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFFBY2Nlc3NpYmxl
OjpDbGllbnQ7Cit9CisKK2ludCBRV2ViRnJhbWVBY2Nlc3NpYmxlOjpuYXZpZ2F0ZShRQWNjZXNz
aWJsZTo6UmVsYXRpb25GbGFnLCBpbnQsIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiogdGFyZ2V0KSBj
b25zdAoreworICAgICp0YXJnZXQgPSAwOworICAgIHJldHVybiAtMTsKK30KKworUVdlYlBhZ2VB
Y2Nlc3NpYmxlOjpRV2ViUGFnZUFjY2Vzc2libGUoUVdlYlBhZ2UqIHBhZ2UpCisgICAgOiBRQWNj
ZXNzaWJsZU9iamVjdChwYWdlKQoreworfQorCitRV2ViUGFnZSogUVdlYlBhZ2VBY2Nlc3NpYmxl
OjpwYWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFXZWJQYWdlKj4ob2Jq
ZWN0KCkpOworfQorCitRU3RyaW5nIFFXZWJQYWdlQWNjZXNzaWJsZTo6dGV4dChRQWNjZXNzaWJs
ZTo6VGV4dCB0KSBjb25zdAoreworICAgIHJldHVybiBRU3RyaW5nKCk7Cit9CisKK1FBY2Nlc3Np
YmxlSW50ZXJmYWNlKiBRV2ViUGFnZUFjY2Vzc2libGU6OnBhcmVudCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIFFBY2Nlc3NpYmxlOjpxdWVyeUFjY2Vzc2libGVJbnRlcmZhY2Uob2JqZWN0KCktPnBh
cmVudCgpKTsKK30KKworUUFjY2Vzc2libGVJbnRlcmZhY2UqIFFXZWJQYWdlQWNjZXNzaWJsZTo6
Y2hpbGQoaW50IGluZGV4KSBjb25zdAoreworICAgIGlmICghaW5kZXggJiYgcGFnZSgpLT5tYWlu
RnJhbWUoKSkKKyAgICAgICAgcmV0dXJuIG5ldyBRV2ViRnJhbWVBY2Nlc3NpYmxlKHBhZ2UoKS0+
bWFpbkZyYW1lKCkpOworICAgIHJldHVybiAwOworfQorCitpbnQgUVdlYlBhZ2VBY2Nlc3NpYmxl
OjpjaGlsZENvdW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGFnZSgpLT5tYWluRnJhbWUoKSA/
IDEgOiAwOworfQorCitpbnQgUVdlYlBhZ2VBY2Nlc3NpYmxlOjppbmRleE9mQ2hpbGQoY29uc3Qg
UUFjY2Vzc2libGVJbnRlcmZhY2UqKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitpbnQg
UVdlYlBhZ2VBY2Nlc3NpYmxlOjpuYXZpZ2F0ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25GbGFnLCBp
bnQsIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiogdGFyZ2V0KSBjb25zdAoreworICAgICp0YXJnZXQg
PSAwOworICAgIHJldHVybiAtMTsKK30KKworUUFjY2Vzc2libGU6OlJvbGUgUVdlYlBhZ2VBY2Nl
c3NpYmxlOjpyb2xlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUUFjY2Vzc2libGU6OkNsaWVudDsK
K30KKworUUFjY2Vzc2libGU6OlN0YXRlIFFXZWJQYWdlQWNjZXNzaWJsZTo6c3RhdGUoKSBjb25z
dAoreworICAgIHJldHVybiBRQWNjZXNzaWJsZTo6U3RhdGUoKTsKK30KKworUVdlYlZpZXdBY2Nl
c3NpYmxlOjpRV2ViVmlld0FjY2Vzc2libGUoUVdlYlZpZXcqIHZpZXcpCisgICAgOiBRQWNjZXNz
aWJsZVdpZGdldCh2aWV3LCBRQWNjZXNzaWJsZTo6RG9jdW1lbnQpCit7Cit9CisKK1FXZWJWaWV3
KiBRV2ViVmlld0FjY2Vzc2libGU6OnZpZXcoKSBjb25zdAoreworICAgIHJldHVybiBxb2JqZWN0
X2Nhc3Q8UVdlYlZpZXcqPihvYmplY3QoKSk7Cit9CisKK2ludCBRV2ViVmlld0FjY2Vzc2libGU6
OmNoaWxkQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiB2aWV3KCktPnBhZ2UoKSA/IDEgOiAw
OworfQorCitRQWNjZXNzaWJsZUludGVyZmFjZSogUVdlYlZpZXdBY2Nlc3NpYmxlOjpjaGlsZChp
bnQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKCFpbmRleCAmJiB2aWV3KCktPnBhZ2UoKSkKKyAg
ICAgICAgcmV0dXJuIG5ldyBRV2ViUGFnZUFjY2Vzc2libGUodmlldygpLT5wYWdlKCkpOworICAg
IHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnZpZXdh
Y2Nlc3NpYmxlX3AuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJsZV9w
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2NiZjQ0ODcwNzNmNjZiZWRmODFiNTU0YTRhZWVkMTlmYjRkYjM2Mwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3YWNjZXNzaWJs
ZV9wLmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKworICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBxd2Vidmlld2FjY2Vzc2li
bGVfcF9oCisjZGVmaW5lIHF3ZWJ2aWV3YWNjZXNzaWJsZV9wX2gKKworI2luY2x1ZGUgPHFhY2Nl
c3NpYmxlLmg+CisjaW5jbHVkZSA8cWFjY2Vzc2libGVvYmplY3QuaD4KKyNpbmNsdWRlIDxxYWNj
ZXNzaWJsZXdpZGdldC5oPgorCitjbGFzcyBRV2ViRnJhbWU7CitjbGFzcyBRV2ViUGFnZTsKK2Ns
YXNzIFFXZWJWaWV3OworCisvKgorICogQ2xhc3NlcyByZXByZXNlbnRpbmcgYWNjZXNzaWJsZSBv
YmplY3RzIGZvciBWaWV3LCBGcmFtZSBhbmQgUGFnZS4KKyAqCisgKiBFYWNoIG9mIHRoZXNlIGp1
c3QgcmV0dXJucyBvbmUgY2hpbGQgd2hpY2ggbGV0cyB0aGUgYWNjZXNzaWJpbGl0eQorICogZnJh
bXdvcmsgbmF2aWdhdGUgdG93YXJkcyB0aGUgYWN0dWFsIGNvbnRlbnRzIGluIHRoZSBmcmFtZS4K
KyAqLworCitjbGFzcyBRV2ViRnJhbWVBY2Nlc3NpYmxlIDogcHVibGljIFFBY2Nlc3NpYmxlT2Jq
ZWN0IHsKK3B1YmxpYzoKKyAgICBRV2ViRnJhbWVBY2Nlc3NpYmxlKFFXZWJGcmFtZSopOworCisg
ICAgUVdlYkZyYW1lKiBmcmFtZSgpIGNvbnN0OworCisgICAgUUFjY2Vzc2libGVJbnRlcmZhY2Uq
IHBhcmVudCgpIGNvbnN0OworICAgIGludCBjaGlsZENvdW50KCkgY29uc3Q7CisgICAgUUFjY2Vz
c2libGVJbnRlcmZhY2UqIGNoaWxkKGludCBpbmRleCkgY29uc3Q7CisgICAgaW50IGluZGV4T2ZD
aGlsZChjb25zdCBRQWNjZXNzaWJsZUludGVyZmFjZSopIGNvbnN0OworICAgIGludCBuYXZpZ2F0
ZShRQWNjZXNzaWJsZTo6UmVsYXRpb25GbGFnLCBpbnQsIFFBY2Nlc3NpYmxlSW50ZXJmYWNlKiog
dGFyZ2V0KSBjb25zdDsKKworICAgIFFTdHJpbmcgdGV4dChRQWNjZXNzaWJsZTo6VGV4dCkgY29u
c3Q7CisgICAgUUFjY2Vzc2libGU6OlJvbGUgcm9sZSgpIGNvbnN0OworICAgIFFBY2Nlc3NpYmxl
OjpTdGF0ZSBzdGF0ZSgpIGNvbnN0OworfTsKKworY2xhc3MgUVdlYlBhZ2VBY2Nlc3NpYmxlIDog
cHVibGljIFFBY2Nlc3NpYmxlT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBRV2ViUGFnZUFjY2Vzc2li
bGUoUVdlYlBhZ2UqKTsKKworICAgIFFXZWJQYWdlKiBwYWdlKCkgY29uc3Q7CisKKyAgICBRQWNj
ZXNzaWJsZUludGVyZmFjZSogcGFyZW50KCkgY29uc3Q7CisgICAgaW50IGNoaWxkQ291bnQoKSBj
b25zdDsKKyAgICBRQWNjZXNzaWJsZUludGVyZmFjZSogY2hpbGQoaW50IGluZGV4KSBjb25zdDsK
KyAgICBpbnQgaW5kZXhPZkNoaWxkKGNvbnN0IFFBY2Nlc3NpYmxlSW50ZXJmYWNlKikgY29uc3Q7
CisgICAgaW50IG5hdmlnYXRlKFFBY2Nlc3NpYmxlOjpSZWxhdGlvbkZsYWcsIGludCwgUUFjY2Vz
c2libGVJbnRlcmZhY2UqKiB0YXJnZXQpIGNvbnN0OworCisgICAgUVN0cmluZyB0ZXh0KFFBY2Nl
c3NpYmxlOjpUZXh0KSBjb25zdDsKKyAgICBRQWNjZXNzaWJsZTo6Um9sZSByb2xlKCkgY29uc3Q7
CisgICAgUUFjY2Vzc2libGU6OlN0YXRlIHN0YXRlKCkgY29uc3Q7Cit9OworCitjbGFzcyBRV2Vi
Vmlld0FjY2Vzc2libGUgOiBwdWJsaWMgUUFjY2Vzc2libGVXaWRnZXQgeworcHVibGljOgorICAg
IFFXZWJWaWV3QWNjZXNzaWJsZShRV2ViVmlldyopOworCisgICAgUVdlYlZpZXcqIHZpZXcoKSBj
b25zdDsKKworICAgIGludCBjaGlsZENvdW50KCkgY29uc3Q7CisgICAgUUFjY2Vzc2libGVJbnRl
cmZhY2UqIGNoaWxkKGludCBpbmRleCkgY29uc3Q7Cit9OworCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>