From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#22105: 25.1.50; REGRESSION - `modify-frame-parameters' Date: Sun, 6 Dec 2015 22:03:12 -0800 (PST) Message-ID: <29534178-ce2c-4d5d-b663-75e1fddcb043@default> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__14494681937457944abhmp0010.oracle.com" X-Trace: ger.gmane.org 1449468270 27724 80.91.229.3 (7 Dec 2015 06:04:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Dec 2015 06:04:30 +0000 (UTC) To: 22105@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 07 07:04:17 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a5ouE-0000pD-C7 for geb-bug-gnu-emacs@m.gmane.org; Mon, 07 Dec 2015 07:04:14 +0100 Original-Received: from localhost ([::1]:52740 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5ouD-0000mg-Ko for geb-bug-gnu-emacs@m.gmane.org; Mon, 07 Dec 2015 01:04:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5ou7-0000fp-1n for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:04:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a5ou2-0007eO-Pg for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:04:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51484) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5ou2-0007e3-NI for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:04:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1a5ou2-0007ku-DJ for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:04:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 07 Dec 2015 06:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 22105 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.144946822429786 (code B ref -1); Mon, 07 Dec 2015 06:04:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 7 Dec 2015 06:03:44 +0000 Original-Received: from localhost ([127.0.0.1]:41192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a5otj-0007kM-T2 for submit@debbugs.gnu.org; Mon, 07 Dec 2015 01:03:44 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:44147) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a5otO-0007jw-WA for submit@debbugs.gnu.org; Mon, 07 Dec 2015 01:03:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a5otN-0007T9-O0 for submit@debbugs.gnu.org; Mon, 07 Dec 2015 01:03:22 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:35695) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5otN-0007Sr-LK for submit@debbugs.gnu.org; Mon, 07 Dec 2015 01:03:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54116) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5otM-0007dl-7x for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:03:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a5otI-0007I5-5Z for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:03:20 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:47826) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5otH-0007Gd-Sh for bug-gnu-emacs@gnu.org; Mon, 07 Dec 2015 01:03:16 -0500 Original-Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id tB763Evq023796 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 7 Dec 2015 06:03:14 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id tB763ECk025457 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Mon, 7 Dec 2015 06:03:14 GMT Original-Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id tB763DXB008529 for ; Mon, 7 Dec 2015 06:03:13 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0021.oracle.com [141.146.126.233] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:109700 Archived-At: --__14494681937457944abhmp0010.oracle.com Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable I really hope that you can fix this problem. It is important to the way I use Emacs. I'm reporting this from a dev snapshot (master), but the same recipe exhibits the same problem with (pre)release 25 builds. Starting with a build of 2014-10-20, my code that thumbifies frames (shrinks them to thumbnail size, and restores them) has been broken. There is no problem with release 24.5 (which came out after 2014-10-20, IIRC, but from a different dev branch) or with earlier releases or builds. All builds since then have problems for frame thumbifying, but there has seemingly been a lot of changes to the frame code, so the broken behavior has changed in different ways over the past year or so. For this reason of instability (dev changes), and because debugging these problem(s) seems to take me a long time, I've not filed a bug report about this until now. I have a recipe to reproduce a problem, but I don't know whether it is the only problem. In general, thumbifying not only does not resize frames properly, it even changes - if I thumbify & dethumbify the same frame repeatedly - the thumb size can change a lot. But such wild changes are not what you will see with this test recipe. The recipe here reports a single problem that is easy to see. [This is not the same as bug #14032, which was fixed, though I see now (after long hours of debugging) that the description seems a bit similar. In particular, suppressing the use of scroll bars does not help.] To reproduce the problem, use the attached file, test-thumb.el. Start with: runemacs.exe -Q --debug-init -l "/PATH/TO/test-thumb.el" You will use `C-z' to thumbify and dethumbify the *scratch* frame (it's a toggle). There is a call to `debug' in `thumfr-thumbify-frame', which thumbifies. To see the problem quickly you can comment that out. The intended behavior (and the behavior in Emacs release 24.5 and prior) is that once a frame has been thumbified, thumbifying it again, after dethumbifying, should show it in the same way - its frame parameters should be restored to those it had when first thumbified. And this, regardless of whether the dethumbified frame has changed parameter values. IOW, the shape etc. of a thumbnail frame should be determined once and for all the first time the frame is thumbified. The behavior instead is that thumbifying results in mirroring the latest unthumbified frame parameters (with only the `font' parameter changed). At least that's what I see with the recipe, which shows this problem for parameter `height'. Essentially the recipe is this: 1. Thumbify, then dethumbify, to see the expected behavior (can be repeated). 2. Then when unthumbified, manually resize the frame, to reduce its height noticeably. Then thumbify. The thumbnail frame should be the same size (e.g., same height) as before, but instead it mirrors the aspet ratio of the frame before thumbifying (reduced height). Below is the detailed recipe. Note that if you comment-out the call to `(debug)', or if you just use `c' when the debugger opens, then you can see the problem - the call to `modify-frame-parameters' after `(debug)' seems to do nothing. If instead you use `d' to step through the debugger, so that the first sexp (the call to `modify-frame-parameters) is stepped through, then there is no problem - the frame gets the proper size because of that call. It is as if the call to `modify-frame-parameters' is ignored (or optimized away?), unless the debugger steps through it. RECIPE 1: 1. runemacs.exe -Q --debug-init -l "/PATH/TO/test-thumb.el" 2. Optional, to see frame parameters using `C-o' (command `foo', at end of file): `C-x 5 b *Messages*'. 3. With buffer *scratch* selected (focused): `C-z', to thumbify. Then `c' to skip through the debugger. 4. `C-z', to dethumbify. 5. Repeat #3 and #4 as many times as you like. No problem, so far. 6. With the frame normal size (dethumbified), manually (e.g., with the mouse) resize it to reduce the height noticeably. 7. `C-z', to thumbify. Use `c' to skip through the debugger. You will see that the thumbified height (e.g. aspect ratio) reflects what the unthumbified height had. This is the bug. The thumbnail should be the same as before - its height should not change. The call to `enlarge-font' just before that `modify-frame-parameters' shrinks the frame proportionately, so after manually reducing the height, the result is a similarly reduced-height thumbnail. But the `modify-frame-parameters' that follows `enlarge-font' should correct this by restoring the set of frame parameters that were recorded from the first thumbifying. (They are recorded in frame parameter `thumfr-non-thumbnail-frame'.) RECIPE 2: Same as RECIPE 1, but this time, at step 7, step through the debugger. You will see that there is no bug - the thumbified frame has the right height. The code is correct, I think. But that call to `modify-frame-parameters' does not seem to do what it should, unless you step through it with the debugger. The behavior without using the debugger at all (e.g., with `(debug)' commented out) shows the bug too. The call to `modify-parameters' seems to be optimized away or otherwise neglects to apply the parameter changes. The height parameter (as an example) is left as it was after the call to `enlarge-font'. Here is perhaps a clue to the problem: Variable `thumfr-frame-parameters' has value ((menu-bar-lines . 0)). If you comment-out that line, to give it a value of (()), then there is no bug. You can also uncomment the commented-out lines, to give it a value of, say, ((tool-bar-lines . 0) (scroll-bar-width . 6) (scroll-bar-height . 6)), and then there is no bug either. It seems that it is the presence of the `menu-bar-lines' sexp that is problematic. I think this bug was introduced on or before 2014-10-20. At least that's when I started seeing similar problems. Thanks for taking a look. In GNU Emacs 25.1.50.1 (i686-pc-mingw32) of 2015-12-04 Bzr revision: ffefb6e899fbcdcbd79cb34292d57b7bc3043fcc Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=3D/c/Devel/emacs/snapshot/trunk --enable-checking=3Dye= s --enable-check-lisp-object-type --without-compress-install 'CFLAGS=3D-Og -ggdb3' LDFLAGS=3D-Lc:/Devel/emacs/lib 'CPPFLAGS=3D-DGC_MCHECK=3D1 -Ic:/Devel/emacs/include'' --__14494681937457944abhmp0010.oracle.com Content-Type: application/octet-stream; name="test-thumb.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-thumb.el" OzsgUkVDSVBFIDE6Cgo7OyAxLiBydW5lbWFjcy5leGUgLVEgLS1kZWJ1Zy1pbml0IC1sICIvUEFU SC9UTy90ZXN0LXRodW1iLmVsIgoKOzsgMi4gT3B0aW9uYWwsIHRvIGNoZWNrIGZyYW1lIHBhcmFt ZXRlcnMsIHVzaW5nIGBmb28nIChhdCBlbmQgb2YgZmlsZSk6Cjs7ICAgIEMteCA1IGIgKk1lc3Nh Z2VzCgo7OyAzLiBXaXRoIGJ1ZmZlciAqc2NyYXRjaCogc2VsZWN0ZWQ6IEMteiAgOyBUbyB0aHVt YmlmeS4gIFRoZW4gYGMnIHRvIHNraXAgdGhyb3VnaCB0aGUgZGVidWdnZXIuCgo7OyA0LiBDLXog IDsgVG8gZGV0aHVtYmlmeQoKOzsgNS4gUmVwZWF0ICMzIGFuZCAjNCwgaWYgeW91IGxpa2UuCgo7 OyA2LiBXaXRoIHRoZSBmcmFtZSBub3JtYWwgc2l6ZSAoZGV0aHVtYmlmaWVkKSwgbWFudWFsbHkg KGUuZy4sIHdpdGggdGhlCjs7ICAgIG1vdXNlKSByZXNpemUgaXQgdG8gcmVkdWNlIHRoZSBoZWln aHQuCgo7OyA3LiBDLXogIDsgVG8gdGh1bWJpZnkuICBVc2UgYGMnIHRvIHNraXAgdGhyb3VnaCB0 aGUgZGVidWdnZXIuCgo7OyBZb3Ugd2lsbCBzZWUgdGhhdCB0aGUgdGh1bWJpZmllZCBoZWlnaHQg KGUuZy4gYXNwZWN0IHJhdGlvKSByZWZsZWN0cwo7OyB3aGF0IHRoZSB1bnRodW1iaWZpZWQgaGVp Z2h0IHdhcy4gIFRoaXMgaXMgdGhlIGJ1Zy4gIFRoZSB0aHVtYm5haWwKOzsgc2hvdWxkIGJlIHRo ZSBzYW1lIGFzIGJlZm9yZSAtIGl0cyBoZWlnaHQgc2hvdWxkIG5vdCBjaGFuZ2UuCgo7OyBSRUNJ UEUgMjogU2FtZSBhcyByZWNpcGUgMSwgYnV0IHRoaXMgdGltZSwgYXQgc3RlcCA3LCBzdGVwIHRo cm91Z2ggdGhlCjs7IGRlYnVnZ2VyLiAgWW91IHdpbGwgc2VlIHRoYXQgdGhlcmUgaXMgbm8gYnVn IC0gdGhlIHRodW1iaWZpZWQgZnJhbWUKOzsgaGFzIHRoZSByaWdodCBoZWlnaHQuCgo7OyBUaGUg YmVoYXZpb3Igd2l0aG91dCB1c2luZyB0aGUgZGVidWdnZXIgYXQgYWxsIHNob3dzIHRoZSBidWcu ICBUaGUKOzsgY2FsbCB0byBgbW9kaWZ5LXBhcmFtZXRlcnMnIHNlZW1zIHRvIGJlIG9wdGltaXpl ZCBhd2F5IG9yIG90aGVyd2lzZQo7OyBuZWdsZWN0cyB0byBhcHBseSB0aGUgcGFyYW1ldGVyIGNo YW5nZXMuICBUaGUgaGVpZ2h0IHBhcmFtZXRlciAoYXMKOzsgYW4gZXhhbXBsZSkgaXMgbGVmdCBh cyBpdCB3YXMgYWZ0ZXIgdGhlIGNhbGwgdG8gYGVubGFyZ2UtZm9udCcuCgo7OyBJIHRoaW5rIHRo aXMgYnVnIHdhcyBpbnRyb2R1Y2VkIG9uIG9yIGJlZm9yZSAyMDE0LTEwLTIwLiAgQXQgbGVhc3QK OzsgdGhhdCdzIHdoZW4gSSBzdGFydGVkIHNlZWluZyBzaW1pbGFyIHByb2JsZW1zLgoKCgooZGVm dW4gZW5sYXJnZS1mb250ICgmb3B0aW9uYWwgaW5jcmVtZW50IGZyYW1lKQogICIiCiAgKGludGVy YWN0aXZlICJwIikKICAoc2V0cSBmcmFtZSAgKG9yIGZyYW1lICAoc2VsZWN0ZWQtZnJhbWUpKSkK ICAobGV0ICgoZm9udG5hbWUgIChjZHIgKGFzc3EgJ2ZvbnQgKGZyYW1lLXBhcmFtZXRlcnMgZnJh bWUpKSkpCiAgICAgICAgKGNvdW50ICAgICAxMDApKQogICAgKHNldHEgZm9udG5hbWUgIChmcmNt ZHMtZW5sYXJnZWQtZm9udC1uYW1lIGZvbnRuYW1lIGZyYW1lIGluY3JlbWVudCkpCiAgICAod2hp bGUgKGFuZCAobm90ICh4LWxpc3QtZm9udHMgZm9udG5hbWUpKSAgKHdob2xlbnVtcCAoc2V0cSBj b3VudCAgKDEtIGNvdW50KSkpKQogICAgICAoc2V0cSBmb250bmFtZSAgKGZyY21kcy1lbmxhcmdl ZC1mb250LW5hbWUgZm9udG5hbWUgZnJhbWUgaW5jcmVtZW50KSkpCiAgICAodW5sZXNzICh4LWxp c3QtZm9udHMgZm9udG5hbWUpIChlcnJvciAiQ2Fubm90IGNoYW5nZSBmb250IHNpemUiKSkKICAg IChtb2RpZnktZnJhbWUtcGFyYW1ldGVycyBmcmFtZSAobGlzdCAoY29ucyAnZm9udCBmb250bmFt ZSkpKSkpCgooZGVmdW4gZnJjbWRzLWVubGFyZ2VkLWZvbnQtbmFtZSAoZm9udG5hbWUgZnJhbWUg aW5jcmVtZW50KQogICIiCiAgKHdoZW4gKHF1ZXJ5LWZvbnRzZXQgZm9udG5hbWUpCiAgICAobGV0 ICgoYXNjaWkgIChhc3NxICdhc2NpaSAoYXJlZiAoZm9udHNldC1pbmZvIGZvbnRuYW1lIGZyYW1l KSAyKSkpKQogICAgICAod2hlbiBhc2NpaSAoc2V0cSBmb250bmFtZSAgKG50aCAyIGFzY2lpKSkp KSkKICAobGV0ICgoeGxmZC1maWVsZHMgICh4LWRlY29tcG9zZS1mb250LW5hbWUgZm9udG5hbWUp KSkKICAgICh1bmxlc3MgeGxmZC1maWVsZHMgKGVycm9yICJDYW5ub3QgZGVjb21wb3NlIGZvbnQg bmFtZSIpKQogICAgKGxldCAoKG5ldy1zaXplICAoKyAoc3RyaW5nLXRvLW51bWJlciAoYXJlZiB4 bGZkLWZpZWxkcyB4bGZkLXJlZ2V4cC1waXhlbHNpemUtc3VibnVtKSkKICAgICAgICAgICAgICAg ICAgICAgICAgaW5jcmVtZW50KSkpCiAgICAgICh1bmxlc3MgKD4gbmV3LXNpemUgMCkgKHNpZ25h bCAnZm9udC10b28tc21hbGwgKGxpc3QgbmV3LXNpemUpKSkKICAgICAgKGFzZXQgeGxmZC1maWVs ZHMgeGxmZC1yZWdleHAtcGl4ZWxzaXplLXN1Ym51bSAobnVtYmVyLXRvLXN0cmluZyBuZXctc2l6 ZSkpKQogICAgOzsgU2V0IHBvaW50IHNpemUgJiB3aWR0aCB0byAiKiIsIHNvIGZyYW1lIHdpZHRo IHdpbGwgYWRqdXN0IHRvIG5ldyBmb250IHNpemUKICAgIChhc2V0IHhsZmQtZmllbGRzIHhsZmQt cmVnZXhwLXBvaW50c2l6ZS1zdWJudW0gIioiKQogICAgKGFzZXQgeGxmZC1maWVsZHMgeGxmZC1y ZWdleHAtYXZnd2lkdGgtc3VibnVtICIqIikKICAgICh4LWNvbXBvc2UtZm9udC1uYW1lIHhsZmQt ZmllbGRzKSkpCgooZGVmdmFyIHRodW1mci1mb250LWRpZmZlcmVuY2UgOCAiIikKCihkZWZ1biB0 aHVtZnItLWZyYW1lLXBhcmFtZXRlcnMtOnNldC1mdW5jdGlvbiAoc3ltIGRlZnMpCiAgIiIKICAo Y3VzdG9tLXNldC1kZWZhdWx0IHN5bSBkZWZzKQogIChkb2xpc3QgKGZybSAgKGZyYW1lLWxpc3Qp KQogICAgKHdoZW4gKGFuZCAoZnJhbWUtbGl2ZS1wIGZybSkgIChmcmFtZS1wYXJhbWV0ZXIgZnJt ICd0aHVtZnItdGh1bWJuYWlsLWZyYW1lKSkKICAgICAgKG1vZGlmeS1mcmFtZS1wYXJhbWV0ZXJz IGZybSB0aHVtZnItZnJhbWUtcGFyYW1ldGVycykpKSkKCihkZWZjdXN0b20gdGh1bWZyLWZyYW1l LXBhcmFtZXRlcnMKICAnKAogICAgKG1lbnUtYmFyLWxpbmVzIC4gMCkgOyA8PT09PT09PT09PT09 PT09PT09PT09PQo7Ozs7ICAgICh0b29sLWJhci1saW5lcyAuIDApCjs7OyAgICAgKHNjcm9sbC1i YXItd2lkdGggLiA2KQo7OzsgICAgIChzY3JvbGwtYmFyLWhlaWdodCAuIDYpCiAgICApCiAgIiIK ICA6dHlwZSAnKHJlcGVhdCAoY29ucyBzeW1ib2wgc2V4cCkpCiAgOmdyb3VwICdjb252ZW5pZW5j ZQogIDpzZXQgJ3RodW1mci0tZnJhbWUtcGFyYW1ldGVycy06c2V0LWZ1bmN0aW9uKQoKKGRlZnVu IHRodW1mci10aHVtZnItcGFyYW1ldGVyLXAgKHBhcmFtZXRlcit2YWx1ZSkKICAiIgogIChtZW1x IChjYXIgcGFyYW1ldGVyK3ZhbHVlKSAnKDs7IHRodW1mci1pcy1hLXRodW1ibmFpbC1mcmFtZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRodW1mci10aHVtYm5haWwtZnJhbWUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHVtZnItbm9uLXRodW1ibmFpbC1mcmFtZSkp KQoKKGRlZnVuIHRodW1mci10aHVtYm5haWwtZnJhbWUtcCAoJm9wdGlvbmFsIGZyYW1lKQogICIi CiAgKGludGVyYWN0aXZlKQogIChmcmFtZS1wYXJhbWV0ZXIgZnJhbWUgJ3RodW1mci1pcy1hLXRo dW1ibmFpbC1mcmFtZSkpCgooZGVmdW4gdGh1bWZyLXRvZ2dsZS10aHVtYm5haWwtZnJhbWUgKCZv cHRpb25hbCBmcmFtZSkKICAiIgogIChpbnRlcmFjdGl2ZSkKICAoc2V0cSBmcmFtZSAgKG9yIGZy YW1lICAoc2VsZWN0ZWQtZnJhbWUpKSkKICAoaWYgKHRodW1mci10aHVtYm5haWwtZnJhbWUtcCBm cmFtZSkKICAgICAgKHRodW1mci1kZXRodW1iaWZ5LWZyYW1lIGZyYW1lKQogICAgKHRodW1mci10 aHVtYmlmeS1mcmFtZSBmcmFtZSkpKQoKKGRlZnVuIHRodW1mci1yZW1vdmUtaWYgKHByZWQgeHMp CiAgIiIKICAobGV0ICgocmVzdWx0ICAoKSkpCiAgICAoZG9saXN0ICh4ICB4cykgICh1bmxlc3Mg KGZ1bmNhbGwgcHJlZCB4KSAocHVzaCB4IHJlc3VsdCkpKQogICAgKG5yZXZlcnNlIHJlc3VsdCkp KQoKKGRlZnVuIHRodW1mci10aHVtYmlmeS1mcmFtZSAoJm9wdGlvbmFsIGZyYW1lKQogICIiCiAg KGludGVyYWN0aXZlKQogIChtZXNzYWdlICJUSCAxLCBUSFVNQk5BSUwtUDogJVMiICh0aHVtZnIt dGh1bWJuYWlsLWZyYW1lLXApKQogIChzZXRxIGZyYW1lICAob3IgZnJhbWUgIChzZWxlY3RlZC1m cmFtZSkpKQogIChsZXQqICgoZnItcGFyYW1zICAoZnJhbWUtcGFyYW1ldGVycyBmcmFtZSkpCiAg ICAgICAgICh0by10aHVtYiAgIChmcmFtZS1wYXJhbWV0ZXIgZnJhbWUgJ3RodW1mci1ub24tdGh1 bWJuYWlsLWZyYW1lKSkKICAgICAgICAgKG90aGVyICAgICAgKHRodW1mci1yZW1vdmUtaWYgIyd0 aHVtZnItdGh1bWZyLXBhcmFtZXRlci1wIGZyLXBhcmFtcykpKQoKICAgICh1bmxlc3MgKHRodW1m ci10aHVtYm5haWwtZnJhbWUtcCkKICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgZnJhbWUgJ3Ro dW1mci10aHVtYm5haWwtZnJhbWUgb3RoZXIpCiAgICAgIChjb25kaXRpb24tY2FzZSB0aHVtZnIt dGh1bWJpZnktZnJhbWUKICAgICAgICAgIChwcm9nbgogICAgICAgICAgICAoZW5sYXJnZS1mb250 ICgtIHRodW1mci1mb250LWRpZmZlcmVuY2UpIGZyYW1lKQogICAgICAgICAgICAoZGVidWcpIDsg QEBAQEAgQ29tbWVudCBvdXQgYChkZWJ1ZyknLCBvciB1c2UgYGMnIGluIGRlYnVnZ2VyLCB0byBz ZWUgdGhlIHByb2JsZW0uCiAgICAgICAgICAgIDs7IEBAQEBAQCBUSElTIENBTEwgVE8gYG1vZGlm eS1mcmFtZS1wYXJhbWV0ZXJzJyBkb2VzIG5vdCB3b3JrIChkb2VzIG5vdGhpbmcpLgogICAgICAg ICAgICAod2hlbiB0by10aHVtYiAobW9kaWZ5LWZyYW1lLXBhcmFtZXRlcnMgZnJhbWUgdG8tdGh1 bWIpKQogICAgICAgICAgICAobW9kaWZ5LWZyYW1lLXBhcmFtZXRlcnMgZnJhbWUgdGh1bWZyLWZy YW1lLXBhcmFtZXRlcnMpCiAgICAgICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIGZyYW1lICd0 aHVtZnItaXMtYS10aHVtYm5haWwtZnJhbWUgdCkpIDsgU1VDQ0VTU0ZVTCAtIHRodW1iaWZpZWQK ICAgICAgICAoZm9udC10b28tc21hbGwgICAgICAgICAgICAgICAgIDsgVHJ5IGFnYWluLCB3aXRo IGEgbGFyZ2VyIGZvbnQuCiAgICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIGZyYW1lICd0aHVt ZnItbm9uLXRodW1ibmFpbC1mcmFtZSB0by10aHVtYikKICAgICAgICAgKHNldC1mcmFtZS1wYXJh bWV0ZXIgZnJhbWUgJ3RodW1mci1pcy1hLXRodW1ibmFpbC1mcmFtZSBuaWwpCiAgICAgICAgICh1 bmxlc3MgKD4gdGh1bWZyLWZvbnQtZGlmZmVyZW5jZSAwKQogICAgICAgICAgIChlcnJvciAoZXJy b3ItbWVzc2FnZS1zdHJpbmcgdGh1bWZyLXRodW1iaWZ5LWZyYW1lKSkpCiAgICAgICAgIChsZXQg KCh0aHVtZnItZm9udC1kaWZmZXJlbmNlICAoMS0gdGh1bWZyLWZvbnQtZGlmZmVyZW5jZSkpKQog ICAgICAgICAgICh0aHVtZnItdGh1bWJpZnktZnJhbWUgZnJhbWUpKSkKICAgICAgICAoZXJyb3IK ICAgICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgZnJhbWUgJ3RodW1mci1ub24tdGh1bWJuYWls LWZyYW1lIHRvLXRodW1iKQogICAgICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBmcmFtZSAndGh1 bWZyLWlzLWEtdGh1bWJuYWlsLWZyYW1lIG5pbCkKICAgICAgICAgKGVycm9yIChlcnJvci1tZXNz YWdlLXN0cmluZyB0aHVtZnItdGh1bWJpZnktZnJhbWUpKSkpKSkKICAobWVzc2FnZSAiVEggMiwg VEhVTUJOQUlMLVA6ICVTIiAodGh1bWZyLXRodW1ibmFpbC1mcmFtZS1wKSkpCgooZGVmdW4gdGh1 bWZyLWRldGh1bWJpZnktZnJhbWUgKCZvcHRpb25hbCBmcmFtZSkKICAiUmVzdG9yZSB0aHVtYm5h aWwgRlJBTUUgdG8gb3JpZ2luYWwgc2l6ZSAoZGVmYXVsdDogc2VsZWN0ZWQgZnJhbWUpLiIKICAo aW50ZXJhY3RpdmUpCiAgKG1lc3NhZ2UgIkRFIDEsIFRIVU1CTkFJTC1QOiAlUyIgKHRodW1mci10 aHVtYm5haWwtZnJhbWUtcCkpCiAgKHNldHEgZnJhbWUgIChvciBmcmFtZSAgKHNlbGVjdGVkLWZy YW1lKSkpCiAgKGxldCogKChmci1wYXJhbXMgIChmcmFtZS1wYXJhbWV0ZXJzIGZyYW1lKSkKICAg ICAgICAgKHRvLW5vcm1hbCAgKGZyYW1lLXBhcmFtZXRlciBmcmFtZSAndGh1bWZyLXRodW1ibmFp bC1mcmFtZSkpCiAgICAgICAgIChvdGhlciAgICAgICh0aHVtZnItcmVtb3ZlLWlmICMndGh1bWZy LXRodW1mci1wYXJhbWV0ZXItcCBmci1wYXJhbXMpKSkKICAgICh3aGVuICh0aHVtZnItdGh1bWJu YWlsLWZyYW1lLXApICAgIDsgTm8tb3AgaWYgbm90IGEgdGh1bWJuYWlsLgogICAgICAoc2V0LWZy YW1lLXBhcmFtZXRlciBmcmFtZSAndGh1bWZyLW5vbi10aHVtYm5haWwtZnJhbWUgb3RoZXIpIDsg Pz8/PwogICAgICAoY29uZGl0aW9uLWNhc2UgdGh1bWZyLWRldGh1bWJpZnktZnJhbWUKICAgICAg ICAgIChwcm9nbgogICAgICAgICAgICAoZW5sYXJnZS1mb250IHRodW1mci1mb250LWRpZmZlcmVu Y2UgZnJhbWUpIDsgSW4gYGZyYW1lLWNtZHMuZWwnLgogICAgICAgICAgICAobW9kaWZ5LWZyYW1l LXBhcmFtZXRlcnMgZnJhbWUgdG8tbm9ybWFsKQogICAgICAgICAgICAoc2V0LWZyYW1lLXBhcmFt ZXRlciBmcmFtZSAndGh1bWZyLWlzLWEtdGh1bWJuYWlsLWZyYW1lIG5pbCkpIDsgU1VDQ0VTU0ZV TCAtIGRldGh1bWJpZmllZAogICAgICAgIChlcnJvcgogICAgICAgICAoc2V0LWZyYW1lLXBhcmFt ZXRlciBmcmFtZSAndGh1bWZyLXRodW1ibmFpbC1mcmFtZSB0by1ub3JtYWwpCiAgICAgICAgIChz ZXQtZnJhbWUtcGFyYW1ldGVyIGZyYW1lICd0aHVtZnItaXMtYS10aHVtYm5haWwtZnJhbWUgdCkK ICAgICAgICAgKGVycm9yIChlcnJvci1tZXNzYWdlLXN0cmluZyB0aHVtZnItZGV0aHVtYmlmeS1m cmFtZSkpKSkKICAgICAgKHNlbGVjdC1mcmFtZS1zZXQtaW5wdXQtZm9jdXMgZnJhbWUpKSkKICAo bWVzc2FnZSAiREUgMiwgVEhVTUJOQUlMLVA6ICVTIiAodGh1bWZyLXRodW1ibmFpbC1mcmFtZS1w KSkpCgoKOzsgVGhpcyBzZXR0aW5nIGRpZG4ndCBoZWxwLiAgSSB0cmllZCBpdCwgaG9waW5nIHRo YXQgcGVyaGFwcyB0aGlzIGJ1ZyB3YXMgcmVsYXRlZCB0byBidWcgIzE0MDMyLgo7OyAoc2V0cSBk ZWZhdWx0LWZyYW1lLWFsaXN0ICcoKHZlcnRpY2FsLXNjcm9sbC1iYXJzKSAoaG9yaXpvbnRhbC1z Y3JvbGwtYmFycykKOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzY3JvbGwtYmFyLWhl aWdodCAuIDApIChzY3JvbGwtYmFyLXdpZHRoIC4gMCkpKQoKCjs7IE1pc2MuIGRlYnVnIGhlbHAu CihzZXRxIHBvcC11cC1mcmFtZXMgdCkgOyBUbyBzZWUgKk1lc3NhZ2VzKgooZ2xvYmFsLXNldC1r ZXkgIlxDLXoiICd0aHVtZnItdG9nZ2xlLXRodW1ibmFpbC1mcmFtZSkKKGRlZnZhciBmb28gbmls ICIiKQooc2V0cSBwb3AtdXAtZnJhbWVzIHQpCihkZWZ1biBmb28gKCkKICAoaW50ZXJhY3RpdmUp CiAgKHNldHEgZm9vIChmcmFtZS1wYXJhbWV0ZXJzKSkKICAoZGVzY3JpYmUtdmFyaWFibGUgJ2Zv bykpCihnbG9iYWwtc2V0LWtleSAiXEMtbyIgJ2ZvbykKCihwcm92aWRlICd0ZXN0LXRodW1iKQoK --__14494681937457944abhmp0010.oracle.com--