AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 1023 |
r3wp | 10555 |
total: | 11578 |
results window for this page: [start: 2001 end: 2100]
world-name: r3wp
Group: RAMBO ... The REBOL bug and enhancement database [web-public] | ||
Carl: 14-Apr-2005 | Yep, path requires valid REBOL. So, use dir/"042" if you need to do that. | |
Anton: 15-Apr-2005 | Why couldn't paths do that for us ? ie. to-path "042" becomes a word... | |
Anton: 19-Apr-2005 | All I want to do is smooth it out, so sparing others these surprising error messages. | |
Volker: 19-Apr-2005 | that could be solvable: convert the part to a string (or file). block then has a string. if you do to-path block, you get dir/"042", but that should be ok (with new pathes). its not more "buggy" than making 42 from 042 IMHO. would be nice to get this, and pathes ending with "/" :) | |
sqlab: 25-Apr-2005 | How safe is catch? I have some rebol applications serving message communication (around 1000 to 2000 messages per day mostly) running for more than half a year on Windows2000 Server without interruption since the last update of the OS for security reasons. Recently I had to add some message splitting: one-message --> [message-part-1 message-part-2 message-part-3] I used a construct similar to this forever [ until [new-messages-available] foreach message new-messages [ catch [ if not important [throw] do-some-heavy-message-processing-and data-completion-using-odbc if some-tests [throw] message-parts: split-messages message until [ catch [ message: first message-parts do-more-conversions if other-tests [throw] deliver message emtpy? message-parts: next message-parts ] ] ] ] ] Now I saw two crashes in one day. I was somehow able to reproduce the crash Invalid data type during recycle by playing again the history of one to two weeks. But the crash happened always processing another message. | |
Anton: 25-Apr-2005 | By saying "by playing again the history of one to two weeks", do you mean that this removes all the network activity ? Is ODBC removed too ? Is the crash always on the same message ? | |
Anton: 25-Apr-2005 | And just do some minimal ODBC activity to see if that still triggers it. | |
Anton: 28-Apr-2005 | It doesn't seem to do much that is useful.. | |
Anton: 9-May-2005 | (DO first tries to LOAD the decompressed string.) | |
Anton: 9-May-2005 | The decompressed string was identical to the original string. The compression/decompression has nothing to do with it. The problem is in loading a string of code copied straight from an editor or somewhere. If that code had been MOLDed first it would have been OK. >> mold #"^M" == {#"^^M"} ;<--------- note the double escape, this string loads properly. | |
Gabriele: 10-May-2005 | Peter: about your ticket -211 about GET... GET has nothing to do with that :) | |
Volker: 11-May-2005 | 3130 Bug: On Linux, CALL interferes with TCP port wakeup, 3159 Bug: Linux: system port interferes with TCP ports using it for some hours to do remote calls thru tcp, works. did not work with older rebol. IMO fixed. | |
Gabriele: 13-May-2005 | about: http://www.rebol.net/cgi-bin/rambo.r?id=3363&do you think FIND should stay as it is for compatibility? or it's better to change it? | |
Volker: 13-May-2005 | i have a wish: integrating 'comment in some more dialects. parse, layout come to mind. could then be used for embedded documentation. what do you think? | |
sqlab: 18-May-2005 | [Cyphre | Gabriele]: Do you still need more information about the Win98 crash or is it solved? If needed I can send an echoed trace log file to your email address. | |
Cyphre: 18-May-2005 | Romano, Anton: the new error!s were introduced to rebol instead of "face in more than one pane" and simmilar console prints. regarding this error ** Script Error: Invalid graphics face object ** Where: view ** Near: show scr-face if new [do-events] I have got it when one of face/size coordinates are lesser than 1. | |
Vincent: 18-May-2005 | #3687 : bitwise ops - it was submitted at the start of the /View 1.3 project (2003/2004). Both MacOS 9 and Amiga /View 12.1 (big-endian MC 680xx / PowerPC) have this bug for bitwise operations on series. I had to do a workaround for %gzip.r (painful slow byte per byte operations) and %rebzip.r (calculations with integers.) | |
Anton: 24-May-2005 | Yes, Hooray for Romano's FTP! Just remember to disable your previous Romano FTP patch (if you have one) from your user.r. I added a version check around mine: if (system/version * 1.1.1.0.0) < 1.2.110.0.0 [ ; View1.2.110 has Romano's FTP handler built in. do load-thru site/patch/ftp-romano-patch/ftp-patch53.r ; the old patch ] | |
sqlab: 27-May-2005 | I do not know, if this is comparable. If I work with ODBC, pull out the network connector and catch the error with try [], sooner or later I can observe a consecutive fault either at a different part of the program doing something totally unconnected with that or a GC fault. Either way the process is no longer able to work as expected. In server processes I help myself in this case with automatic closing and starting a new instance of the program. | |
shadwolf: 3-Jun-2005 | For norman new submition bug about error (unrecognised symbol ) when loading libraries .so files I have maybe the solution or explanation to this problem.... When you look to the error message on loading libraries submitted by norman in his post we can see that the problem is related to external needed library for example libSDL, libncurse, libogg do not need other libs But GTK and gthread need previous load of glib, libgdk, libpango, libgmodule, libpng, libint, libgtrhread and the list is long ;)... | |
sqlab: 3-Jun-2005 | write/append does not give back an error when writing to a disk without enough space just do this insert/dup mem-st: make string! 100'000 "1" 100'000 counter: 0 forever [ write/append %/A/mem-tst mem-st probe counter: counter + 1 ] then you will see that it runs without writing | |
BrianH: 3-Jun-2005 | But OSes often signal the program of such an error after they detect it. Do the REBOL internals react to such a signal? | |
sqlab: 5-Jun-2005 | BrianH: Yes, I do not expect write to check for available disk space. But I expect an error, if an action is not successful. And this I do check and react according to the outcome. | |
Ammon: 6-Jun-2005 | From what I can determine the bug where select/skip on a string locks up the interpreter is related to bug #3327 My guess is that because /skip isn't skipping properly then it sometimes finds itself in a forever loop trying skip at the same point repeatedly. Shall I submit this as a new bug references the expected relationship between these two or do we want to extend the description of #3327 to include this information as well? | |
Brett: 8-Jun-2005 | Install but do not select .r association option, then uninstall - problems. To fix this situation, rename currentuser/software/rebol/view key to viewold - this allows reinstall which you should do this time with .r association then uninstal works ok. | |
Anton: 27-Jun-2005 | Did Dide submit his bug above ? It sounded like he wanted me to do it. :) | |
Ladislav: 1-Jul-2005 | this looks strange: >> o: make object! [test-word: none] >> do bind probe reduce [to set-path! 'test-word to lit-word! 'test-contents] in o 'self [test-word: 'test-contents] == test-contents >> probe o make object! [ test-word: none ] | |
Ladislav: 1-Jul-2005 | simplified: >> do probe reduce [to set-path! 'tst-word 1] [tst-word: 1] ** Script Error: tst-word has no value ** Near: tst-word: 1 | |
Ladislav: 1-Jul-2005 | do probe reduce [to set-path! 'tst-word 1] should set tst-word without protests | |
Ladislav: 1-Jul-2005 | I needed to handle this: foreach [path value] [a 1 o/b 2] [do reduce [to set-path! path value]] | |
Ladislav: 1-Jul-2005 | funny and "stupid" example: do reduce [sp: to set-path! [] 1] | |
Izkata: 2-Jul-2005 | yarg... 'try was changed.. I just spent a half hour trying to figure out why a -short- peice of code would work! >> try [to-time {Hi}] == none >> ? try USAGE: TRY block DESCRIPTION: Tries to DO a block and returns its value or an error. ;What happend to the error? TRY is a native value. | |
Allen: 2-Jul-2005 | It has nothing to do with TRY at all. | |
Group: Core ... Discuss core issues [web-public] | ||
Graham: 12-Mar-2005 | what does this mean? * Generate 64 bits of randomness from a good, well-seeded random number generator; ie. how large a seed do I need to get 64 bits ? | |
Graham: 12-Mar-2005 | http://www.jwz.org/doc/mid.html In summary, one possible approach to generating a Message-ID would be: * Append "<". * Get the current (wall-clock) time in the highest resolution to which you have access (most systems can give it to you in milliseconds, but seconds will do); * Generate 64 bits of randomness from a good, well-seeded random number generator; * Convert these two numbers to base 36 (0-9 and A-Z) and append the first number, a ".", the second number, and an "@". This makes the left hand side of the message ID be only about 21 characters long. * Append the FQDN of the local host, or the host name in the user's return address. * Append ">". | |
Graham: 14-Mar-2005 | what do you want to do? | |
Pekr: 21-Mar-2005 | I am not sure if rebol serial ports do work without that. I wanted simply my rebol tool to find our device on whatever port (autoscan) and it imo hangeg the app, even if I used open/direct/no-wait | |
Group: Linux ... [web-public] group for linux REBOL users | ||
Maxim: 8-Dec-2006 | I used to do so for python scripts... it was really cool... no one saw the shell, until a crash occured, in which case all the prints where available for copy/paste. | |
Graham: 8-Dec-2006 | My up cursor gives me an escape sequence on the screen in the rebol console. How do I configure my console to recall the last line? | |
Graham: 9-Dec-2006 | Do you see any text ? Or, do you have to install some postscript fonts? | |
Graham: 10-Dec-2006 | Do you have an idea of how hard it would be to do a port ? | |
Graham: 11-Dec-2006 | Do you know how to print in Linux ? | |
Graham: 15-Dec-2006 | How do you get browse to invoke the default browser? | |
Anton: 17-Dec-2006 | I always thought it would be better to do the requester in rebol anyway, then we are all concerned to improve it. | |
btiffin: 17-Dec-2006 | Go for it. I must admit Gnome and KDE are getting that 'smooth' feel. What are us crusty old CLI coders going to do :) | |
Anton: 18-Dec-2006 | I think there's no need for that, however. All you need to do is this: | |
Gabriele: 2-Feb-2007 | then you symlink it in the /etc/rcx.d/ dirs (your distro will have ways to do this automatically) | |
PhilB: 4-Mar-2007 | but how do I acess files on drives other than the Root ?? (I am copletely new to linux, so bear with me if I am missing something completely obvious) | |
Ingo: 4-Mar-2007 | Hi Phil, *nix doesn't use drive-letters, so _all_ drives show up somewhere under the root as directories. _Where_ they show up is up to you ;-) Drives are "named" /dev/hda1 (first paritiion on first disk), /dev/hdb3 (third partitiion on second drive), etc ... There's a file, which describes the mapping, where your drives are put, in Rebol print read %/etc/fstab the first two columns show where ich drive is put in the directory tree (and then some more info) or you can do call "mount" which displays the currently mounted drives. | |
btiffin: 5-Apr-2007 | Pekr; On my Debian system, I had to do an apt-get install libstdc++5 to get an older sdk version running. I don't know Fedora's package manager but under Debian you would apt-get install libstdc++6 to get the shared libraries required. Under GNU/Linux, having various shared libraries around isn't great, but it rarely hurts things. the ldd command will show what shared libraries are required. | |
Maxim: 9-Apr-2007 | well, its not that we can't right now... like you show, load can be called anywhere. (though I am going to admit I would not have figured out such an elegent way to do it, *I* am not yet able to use the force... <ahem> parse with such skill, MASTER JEDI ;-) ... but did you see how much is needed to make that work and the twist of redefining a rule within the evaluated expression? parse is supposed to scream in speed... having a load directive integrated would be MUCH faster IMHO, and would be MUCH simpler for the new guys on the block and us oldies too... try to explain the above to the average joe and well... there goes the parser... I only 'SEE' your example cause I've become able to fit parser in my mind, and I realize that even within the advanced REBOLer crowd... not everyone really grasps the parser... one question though, does the set [value pos] define the word globally even if the entire above code is within a context which has a value and pos defined? | |
Graham: 13-Apr-2007 | do I need to return some value, or run cheyenne with some options ? | |
Sunanda: 13-Apr-2007 | If you are trying to run a CGI, best to do it with Core, not View Looks like your script *has* started, but fails. | |
Graham: 13-Apr-2007 | I've got this other little project to do. | |
Graham: 13-Apr-2007 | but I want to do that on the box itself using Cheyenne. | |
Gabriele: 14-Apr-2007 | brian, you can do like me, and just forward your address to gmail :) i did so for the spam filtering. and now i'm starting to appreciate the rest of gmail. | |
btiffin: 14-Apr-2007 | Things do seem to be getting better in email land. My canada.com account I had delegated as the 'send spam here' as I got harvested when they changed to a new service. Today, expecting to troll through the hundreds of viagra ads, I got none. I haven't cleard the mailbox in a few weeks, and all I got was a job offer. A real one. This job was not for me, it was .Net related but no spam. Hmmm. | |
Maxim: 14-Apr-2007 | I think gmail use humans as the training... any spam I get I tell the gmail about... thus with millions of users... they have a perfect trraining engine, which allows them to get only "real" spam and they probably just do a content match. | |
Anton: 16-Apr-2007 | Gabriele, I've just been going through http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions and I'm attracted to distros that aren't too far from a root distro, eg. Ututo based on Gentoo, or Ubuntu based on Debian. Also, I've tried Slackware on some older machines recently and it has spawned several distros, so Slackware might be good. I want to do audio work so I'll be looking for a kernel compiled for low-latency audio. | |
Ladislav: 16-Apr-2007 | Linux DLL interface question: it looks to me, that if I declare settimeofday: make routine! [tv [struct! []] tz [struct! []] return: [integer!]] libc.so "settimeofday" and tv: make struct! [tv_sec [int] tv_usec [int]] reduce [seconds 0] then settimeofday tv null-struct works, but if I do instead: settimeofday make struct! [tv_sec [int] tv_usec [int]] reduce [...] null-struct , then it doesn't work. Can somebody confirm this? | |
Pekr: 15-Jun-2007 | anyway - it would be cool to have really small thingy, which is able to do webserving, proxy (eventually), sendmail .... well, as for webserving purposes, I can imagine very small distro, with just cheyenne and rebol :-) | |
Pekr: 15-Jun-2007 | I don't care about the firewall too much, because I don't want my server to do it at all - that is what is router and DMZ for. | |
Kaj: 15-Jun-2007 | Yes, generic servers make you do a lot of work for such things. SME Server and indeed ClarkConnect are custom-made for the things you want. SME Server has more integrated user management, but ClarkConnect is easier to put extra software on that is not part of the standard distribution | |
Maxim: 15-Jun-2007 | well, we will have the flexibility to do so being able to link INTO rebol. but obviously not for the beginners. | |
Graham: 17-Jun-2007 | Do I need to add my machine name to the users ? | |
Graham: 21-Jun-2007 | My Windows 2003 server failed to update to service pack 2. Either I find a way to revert the changes, or I need to reinstall :( I'm thinking I should setup a Linux server and run my 2003 as vmware instead. Anyone can suggest the "best" or "most" compatible linux platform? I do have Suse10 on another box and was running vmware server on it... but when I did some kernel updates ( I wasn't thinking ), it all stopped working and I have to reinstall the Suse10 again :( | |
Kaj: 2-Jul-2007 | Unfortunately, this indeed seems to be how it behaves from the command line. So you can't do that, or start it automatically, unless you never start it from the graphical desktop | |
Kaj: 2-Jul-2007 | It's a long-standing bug, and even the current Windows version seems to do something similar | |
PhilB: 6-Jul-2007 | Newbie to Ubuntu ... how do I install Rebol on Ubuntu s that I can double click on a .r file and it to run Rebol ? I have downloaded the Debian version of View ... if I double click on the Rebol executable I getthe desktop .... if I then click on the Console the desktop dissapears but I dont get a console. Any ideas ? | |
Henrik: 26-Jul-2007 | the thing is, one thing is to do it generally, because you don't have the energy for design, but another thing is to actually defend it as a good development method. that is why I think also that Linux as a desktop won't move forward. Perhaps now the best parts of Linux is actually what came out in the beginning, with the original GNU tools and not new tools being developed today. | |
Anton: 30-Jul-2007 | I've been playing with Kubuntu on and off for a month or so. Sometimes, after updates to the system, something breaks. I would like to know what is the best way of backing up and restoring the system. I think the best way might be to copy partitions back and forth. I have a few LiveCDs like the System Rescue CD. What do you guys do ? | |
Kaj: 30-Jul-2007 | When you do a new installation, it's good to put your /home directory on a different partition. That way, you can backup just your data, or wipe the root partition and re-install the system withoug loosing your data and settings | |
Kaj: 31-Aug-2007 | That has been the way to do it for many years... | |
DanielSz: 9-Sep-2007 | The filename "syncro.r" indicates that this file is of type "r document". The contents of the file indicate that the file is of type "plain text document". If you open this file, the file might present a security risk to your system. Do not open the file unless you created the file yourself, or received the file from a trusted source. To open the file, rename the file to the correct extension for "plain text document", then open the file normally. Alternatively, use the Open With menu to choose a specific application for the file. | |
DanielSz: 13-Sep-2007 | I'm looking to replace my mailer (The Bat! on windows) to a linux solution for ubuntu. what would you guys recommend? Claws? Evolution? Sunbird? Or something like mutt or pine? Or even some emacs solution? What do you think? | |
DanielSz: 13-Sep-2007 | To help do the transition, I wrote a rebol script that converts a native The Bat! mail database to a directory tree structure mirroring the contents in the open Berkeley format, mbox, as found in the Unix world. | |
Robert: 22-Dec-2007 | But I want to do it a bit different these days. I want use a totally stripped down Debian with XEN support. Any further server applications like web-server, mail-server, xpeers etc. will go into one or more virtual machines. | |
Kaj: 23-Dec-2007 | Regarding EC2: yes, you have to do persistent storage outside of EC2. The logical choice for that is Amazon S3. You can install an S3 driver for the FUSE filesystem on Linux and use it transparently, if you keep the performance characteristics in mind | |
Kaj: 24-Dec-2007 | Syllable Server doesn't have graphics, sound, etc. beyond just the standard audio system that comes with the Linux kernel and the lightweight DirectFB and SDL libraries. You need SDL to run QEmu, which we include to do virtualisation. You can still run QEmu as a daemon and control it remotely, via VNC for example | |
Kaj: 25-Dec-2007 | Usually in this case, an older X11 library needs to be installed as well. But you can do: | |
Oldes: 25-Dec-2007 | I wanted to do some image processing.. I will have to write it in core than | |
Pekr: 16-Feb-2008 | I just downloaded vmware image of CentOS (based upon RedHat enterprise) and would like to run httpd automatically after my system starts. How do I do that? I can log into X, start services config tool and start httpd manually, but I would like to run it after the system boot. httpd is configured in /etc/rc.d/init.d/httpd .... don't remember where to put it to have it started automatically .... | |
Geomol: 18-Feb-2008 | Here under OS X, <Home> returns #"^A", so I can do this to use it: view layout [key with [keycode: #"^A"] [alert "Home was pressed"]] | |
Graham: 23-Feb-2008 | Anyone know what I need to do to get view running on Ubuntu 7.10 ? libstdc++.so.5 is missing. And sym linking to ibstdc++.so.6.0.9 doesn't work. | |
Graham: 4-Mar-2008 | If one wishes to run a View encapped application on a server distro of ubuntu, is this all one has to do http://softinnov.org/cheyenne/blog.cgi?view=0014 ? | |
btiffin: 9-Mar-2008 | imho; Ubuntu is the current up and comer. Ubuntu ships with a defaut set of packages more tuned for running Gnome as the desktop. Kubuntu ships with a default KDE setup. The Ubuntu family is spin off of Debian ... Debian is my personal favourite. The RHEL branches don't seem to do it for me quite as much. Ubuntu is well supported with a growing community and a fairly well off benefactor. Canonical is funded. I'm pretty sure they still support the WeShipIt program where you can order CD's for free - shipping paid by Canonical. Pretty sweet. But imho Debian is a little more solid; years between releases. Canonical likes to stick to a 6 month updgrade schedule. So you get new shiny every 6 months, but ... running a business on it, I prefer the soak time Debian affords. GNU/Linux commands are fairly standard across the board. It's the config, and helper apps that diverge the most. (That alone causes a mess in GNU/Linux land but POSIX is POSIX). Things don't really diverge low-level till you enter the other free unix clones like FreeBSD. One thing to watch on the horizon is OpenSolaris. If it rolls out as it should, it could well be the player to take in Linus. And Ian Murdoch (the man beside Debra in Debian) works at Sun now, so ... In short, Ubuntu good. :) But, I prefer it's parent, Debian. If you check the IRC channels on Freenode, #debian is ruthless, brooks no guff, with awesome technical support. #ubuntu seems a little more people friendly and perhaps more likely to effectively help new users. Umm, don't go asking Ubuntu questions on #debian. They seem to have a little bit of jealousy toward the younger upstart with all the flash cash. :) distrowatch.com will tell you pretty much anything you want to know. | |
btiffin: 9-Mar-2008 | Oh, and if do have a spare hour or two, don't forget to test Syllable. There is a group here for it. Some of the principals of Syllable development are rebols at heart. :) The Desktop can be tested from a Live Boot. | |
btiffin: 9-Mar-2008 | Crappy. I had Kubuntu 6 Live do that on a lot of the machines I tried, but that was X and the mouse duking it out. Never had a Debian install fail, but I have had to boot single user to tweak X11 config, but that all went away with the transition to Xorg. ... knocks on wooden brain ... so far. | |
Alan: 15-Mar-2008 | I justed installed Kubuntu on this machine BUT the installed leaves a lot of room for improvement.If I had never installed a Linux distro before,Kubuntu for the normal Windows user would have them saying "f*** Linux. The install gui does not have a progress bar and when it is done installing, it does not let the user know the install is done and what to do next :( Mandriva on the other hand has an excellent install gui. If the major distros could work on a unified install gui it would be worth its weight in salt. I did see an effort to that end by 2 different ppl but they can not work together because of design/programming ideas :( Linux on the desktop works well once installed/configed but still it not made for joe six pack | |
btiffin: 15-Mar-2008 | yeah; one of the last frontiers; ease of use. But it is progressing. It's a little bit too sad that the y2k thing gutted IT money (not that the whole .com thing didn't need a good slap to the face) but there were some corporate players taking all their funny money and setting up OSS departments. That died an untimely death imho, while corporate got mad about spending billions to protect against fudiciary responsibility around legacy code and then got nothing in return. No more funny money for the IT department ... since? So now we rely on one of "us" to get the itch and dig in. Some do. But it is time consuming and somewhat boring clicking through the same installer screen 1000 times to cover (some fraction of) all the bases. :) | |
btiffin: 27-Mar-2008 | Yeah if you do go bash, (I'm not sure how you get your file list) ls -F will append @ to links instead of looping over test -h | |
Graham: 30-Mar-2008 | or do I need to use a shell script ? | |
btiffin: 11-Apr-2008 | Yes; there are quite a few ways to secure Secure Shell ... but you do have to stay on your toes. Just turning it on ... bad idea. ;) With most distros that is ... Cygwin included. There are copies that default to lockdown and you have to work to open them up, but those are the exception still. Assigning ports above 1024 is always smart, and the $40 firewall routers can easily be setup to forward port 22 or 80 etc, to a usermode port. You might still get broken into, but at least not with root access. And hey, iptables is fun stuff. Light reading. :) And, just because I'm being gabby ... rsync is a wonderful tool if you have multiple nodes and want hot backups. This article expalins how to set it up, and while doing so, explains setting up ssh keys and locking things down. http://www.debianhelp.co.uk/rsync.htm | |
Anton: 12-Apr-2008 | btiffin, ok, so using a key with ssh looks like a good thing to do then. It's on my list.... :) | |
Group: Printing ... [web-public] | ||
Dockimbel: 9-Sep-2008 | Thanks but this isn't really such a great piece of code (Windows API is doing the real job), even if it fills a gap in REBOL (at least for Windows). Btw, in my company, we're using Gab's pdf-maker for years now to generate and print all our documents. I made this library only because I needed a direct printing solution for a customer and I must admit it was a fun work to do. | |
Pavel: 9-Sep-2008 | But this is the merit, everybody could do it (OK almost everybody, not me for example), but you did it. Printing points up dual problem, first it is definitely against Cross-platformity, but second if anybody intents to work seriously (make real aplications) definitely need it. | |
Gregg: 9-Sep-2008 | who wants to clone Crystal Reports ? We would need a /bloat refinement to do that. :-) | |
Dockimbel: 16-Sep-2008 | That shouldn't be hard to code in PS. Anyway, now I just need to code it in Draw, and let the printer:// scheme do the work. | |
Graham: 29-Sep-2008 | What I tried to do was create a print template that the user can define. | |
Graham: 29-Sep-2008 | gonzo is a postscript utility to do micro justification and other goodies |
2001 / 11578 | 1 | 2 | 3 | 4 | 5 | ... | 19 | 20 | [21] | 22 | 23 | ... | 112 | 113 | 114 | 115 | 116 |