ia64/xen-unstable

changeset 17464:2b3d3aaf8be4

merge with xen-unstable.hg
author Alex Williamson <alex.williamson@hp.com>
date Tue Apr 15 11:09:46 2008 -0600 (2008-04-15)
parents c0f77a657547 08e010c3f251
children 1fbc9073a566
files tools/firmware/etherboot/make-eb-rom-list tools/security/policies/DEFAULT-UL-security_policy.xml tools/xenstore/xsls.c xen/drivers/passthrough/pci-direct.h xen/include/asm-ia64/linux-xen/linux/pci.h xen/include/asm-ia64/linux/asm/sn/pcidev.h
line diff
     1.1 --- a/.hgignore	Mon Apr 14 14:04:58 2008 -0600
     1.2 +++ b/.hgignore	Tue Apr 15 11:09:46 2008 -0600
     1.3 @@ -150,6 +150,7 @@
     1.4  ^tools/ioemu/qemu-tech\.html$
     1.5  ^tools/ioemu/qemu\.1$
     1.6  ^tools/ioemu/qemu\.pod$
     1.7 +^tools/ioemu/tapdisk-ioemu$
     1.8  ^tools/libxc/ia64/asm/.*\.h$
     1.9  ^tools/libxc/ia64/acpi/.*\.h$
    1.10  ^tools/libxc/ia64/acpi/platform/.*\.h$
    1.11 @@ -198,6 +199,7 @@
    1.12  ^tools/vtpm/tpm_emulator/.*$
    1.13  ^tools/vtpm/vtpm/.*$
    1.14  ^tools/vtpm_manager/manager/vtpm_managerd$
    1.15 +^tools/xcutils/lsevtchn$
    1.16  ^tools/xcutils/xc_restore$
    1.17  ^tools/xcutils/xc_save$
    1.18  ^tools/xcutils/readnotes$
    1.19 @@ -208,6 +210,7 @@
    1.20  ^tools/xenstat/xentop/xentop$
    1.21  ^tools/xenstore/testsuite/tmp/.*$
    1.22  ^tools/xenstore/xen$
    1.23 +^tools/xenstore/xenstore$
    1.24  ^tools/xenstore/xenstore-chmod$
    1.25  ^tools/xenstore/xenstore-exists$
    1.26  ^tools/xenstore/xenstore-list$
     2.1 --- a/docs/misc/VMX_changes.txt	Mon Apr 14 14:04:58 2008 -0600
     2.2 +++ b/docs/misc/VMX_changes.txt	Tue Apr 15 11:09:46 2008 -0600
     2.3 @@ -79,7 +79,7 @@ Changes to the existing code:
     2.4  
     2.5      * include/asm-x86/processor.h: struct arch_vmx_struct arch_vmx has
     2.6        been added to the thread_struct data structure. The arch_vmx has
     2.7 -      the addtional VMX-related CPU context.
     2.8 +      the additional VMX-related CPU context.
     2.9  
    2.10      * arch/x86/io_apic.c: reverse mapping between vector and irq has
    2.11        been added. We will revisit this code when considering MSI
     3.1 --- a/docs/misc/hg-cheatsheet.txt	Mon Apr 14 14:04:58 2008 -0600
     3.2 +++ b/docs/misc/hg-cheatsheet.txt	Tue Apr 15 11:09:46 2008 -0600
     3.3 @@ -12,7 +12,7 @@ control.  This note aims to provide a qu
     3.4  running with the new tools as quickly as possible, and is written from
     3.5  the perspective of someone who has been using BK.
     3.6  
     3.7 -For a more detailed exposition, see the mecurial tutorial:
     3.8 +For a more detailed exposition, see the mercurial tutorial:
     3.9   http://www.serpentine.com/mercurial/index.cgi?Tutorial
    3.10  
    3.11  The Hg manpage is available at:
    3.12 @@ -69,7 +69,7 @@ descendent in one repository -- somethin
    3.13  actually pretty neat. For example, it would in principle enable you to
    3.14  have both the 2.0-testing and unstable trees in a single
    3.15  repository. We shyed away from doing this as we thought the risk of
    3.16 -commiting to the wrong head was too great.
    3.17 +committing to the wrong head was too great.
    3.18  
    3.19  One slightly confusing aspect of Hg is that many of the commands have
    3.20  aliases, and hence when looking things up in the man page its not
    3.21 @@ -81,7 +81,7 @@ more sense, at least to RCS refugees lik
    3.22  Getting Xen
    3.23  -----------
    3.24  
    3.25 -The URL for the mainline Xen mercurial respository is:
    3.26 +The URL for the mainline Xen mercurial repository is:
    3.27  
    3.28     http://xenbits.xensource.com/xen-unstable.hg
    3.29     (similarly for xen-2.0 and xen-2.0-testing)
    3.30 @@ -273,9 +273,9 @@ Pushing changesets to a parent repositor
    3.31  
    3.32  Pushes changes up to a parent. You can't push if you pulled the
    3.33  repository off the web interface. In fact, you can currently only push
    3.34 -to an ssh target -- filesystem drectory targets don't work, but this
    3.35 +to an ssh target -- filesystem directory targets don't work, but this
    3.36  will be fixed soon.
    3.37 -For now it is possible to set up assymetric pull/push paths. Pulls can
    3.38 +For now it is possible to set up asymmetric pull/push paths. Pulls can
    3.39  be done via web interface while pushes via ssh. Example of .hg/hgrc config
    3.40  file:
    3.41    | [paths]
    3.42 @@ -332,7 +332,7 @@ by other checked-out versions. This can 
    3.43  system. Hg will probably get fixed soon, but in the meantime you can
    3.44  cleanup with "find -depth -type d -print | xargs -r rmdir".
    3.45  
    3.46 -You can return to the tip by ommiting an explicit changeset id.
    3.47 +You can return to the tip by omitting an explicit changeset id.
    3.48     
    3.49  The manifest command lets you see the contents of the repository for 
    3.50  the current changeset.
    3.51 @@ -347,7 +347,7 @@ This will print a bunch of records of th
    3.52     | 7fc869aae2945a9f4626fad96552db3103e61cb9 644 README
    3.53     | ...
    3.54  
    3.55 -This lists the hash of each file, its 1-bit 'executable' atribute
    3.56 +This lists the hash of each file, its 1-bit 'executable' attribute
    3.57  (either file permission mode 644 or 755), and the file name.  So, to
    3.58  determine the files that change across two changesets, you would dump
    3.59  the respective manifests to files, and use diff.
     4.1 --- a/docs/misc/vtpm.txt	Mon Apr 14 14:04:58 2008 -0600
     4.2 +++ b/docs/misc/vtpm.txt	Tue Apr 15 11:09:46 2008 -0600
     4.3 @@ -143,7 +143,7 @@ PCR-07: 00 00 00 00 00 00 00 00 00 00 00
     4.4  PCR-08: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     4.5  [...]
     4.6  
     4.7 -At this point the user domain has been sucessfully connected to its
     4.8 +At this point the user domain has been successfully connected to its
     4.9  virtual TPM instance.
    4.10  
    4.11  For further information please read the documentation in 
     5.1 --- a/docs/misc/xenstore.txt	Mon Apr 14 14:04:58 2008 -0600
     5.2 +++ b/docs/misc/xenstore.txt	Tue Apr 15 11:09:46 2008 -0600
     5.3 @@ -129,7 +129,7 @@ The following are the actual type values
     5.4  reply payloads as applicable:
     5.5  
     5.6  
     5.7 ----------- Database read, write and permissions operatons ----------
     5.8 +---------- Database read, write and permissions operations ----------
     5.9  
    5.10  READ			<path>|			<value|>
    5.11  WRITE			<path>|<value|>
    5.12 @@ -206,7 +206,7 @@ WATCH_EVENT					<epath>|<token>|
    5.13  	as described above.  req_id and tx_id are both 0.
    5.14  
    5.15  	<epath> is the event's path, ie the actual path that was
    5.16 -	modifed; however if the event was the recursive removal of an
    5.17 +	modified; however if the event was the recursive removal of an
    5.18  	parent of <wpath>, <epath> is just
    5.19  	<wpath> (rather than the actual path which was removed).  So
    5.20  	<epath> is a child of <wpath>, regardless.
     6.1 --- a/docs/src/interface.tex	Mon Apr 14 14:04:58 2008 -0600
     6.2 +++ b/docs/src/interface.tex	Tue Apr 15 11:09:46 2008 -0600
     6.3 @@ -470,7 +470,7 @@ typedef struct shared_info {
     6.4       * are delivered by this mechanism:
     6.5       *  1. Bi-directional inter- and intra-domain connections. Domains must
     6.6       *     arrange out-of-band to set up a connection (usually by allocating
     6.7 -     *     an unbound 'listener' port and avertising that via a storage service
     6.8 +     *     an unbound 'listener' port and advertising that via a storage service
     6.9       *     such as xenstore).
    6.10       *  2. Physical interrupts. A domain with suitable hardware-access
    6.11       *     privileges can bind an event-channel port to a physical interrupt
    6.12 @@ -915,7 +915,7 @@ These activities include:
    6.13    (e.g. performance-related statistics, etc).
    6.14  \end{itemize}
    6.15  
    6.16 -The store is arranged as a hierachical collection of key-value pairs.
    6.17 +The store is arranged as a hierarchical collection of key-value pairs.
    6.18  Each domain has a directory hierarchy containing data related to its
    6.19  configuration.  Domains are permitted to register for notifications
    6.20  about changes in subtrees of the store, and to apply changes to the
    6.21 @@ -1114,9 +1114,9 @@ This path contains:
    6.22            \end{description}
    6.23          \end{description}
    6.24  	
    6.25 -      \item[device-misc/] miscellanous information for devices 
    6.26 +      \item[device-misc/] miscellaneous information for devices 
    6.27  	\begin{description}
    6.28 -	\item[vif/] miscellanous information for vif devices
    6.29 +	\item[vif/] miscellaneous information for vif devices
    6.30  	  \begin{description}
    6.31  	  \item[nextDeviceID] the next device id to use 
    6.32  	  \end{description}
    6.33 @@ -1511,7 +1511,7 @@ Otherwise an error message is automatica
    6.34  The virtual TPM implementation listens for TPM request on /dev/vtpm. Since
    6.35  it must be able to apply the TPM request packet to the virtual TPM instance
    6.36  associated with the virtual machine, a 4-byte virtual TPM instance
    6.37 -identifier is prepended to each packet by the backend driver (in network
    6.38 +identifier is pretended to each packet by the backend driver (in network
    6.39  byte order) for internal routing of the request.
    6.40  
    6.41  \subsection{Virtual TPM ring interface}
     7.1 --- a/docs/src/user.tex	Mon Apr 14 14:04:58 2008 -0600
     7.2 +++ b/docs/src/user.tex	Tue Apr 15 11:09:46 2008 -0600
     7.3 @@ -3394,7 +3394,7 @@ or \verb|A-Bank.MarketAnalysis| workload
     7.4  Alternatively, a system that has two hard-drives does not need a VIO
     7.5  domain but can directly assign one hardware storage device to each of
     7.6  the workloads if the platform offers an IO-MMU, cf
     7.7 -Section~\ref{s:ddsecurity}.  Sharing hardware through virtualizated devices
     7.8 +Section~\ref{s:ddsecurity}.  Sharing hardware through virtualized devices
     7.9  is a trade-off between the amount of trusted code (size of the trusted
    7.10  computing base) and the amount of acceptable over-provisioning. This
    7.11  holds both for peripherals and for system platforms.
    7.12 @@ -4652,7 +4652,7 @@ answering the questions as follows:
    7.13  
    7.14  \begin{enumerate}
    7.15  \item When the program asks for \textbf{model},
    7.16 -scroll down and selese \textbf{SummaSketch (MM Compatible)}.
    7.17 +scroll down and select \textbf{SummaSketch (MM Compatible)}.
    7.18  
    7.19  \item When the program asks for \textbf{COM Port} specify \textbf{com2}.
    7.20  
     8.1 --- a/docs/xen-api/presentation.tex	Mon Apr 14 14:04:58 2008 -0600
     8.2 +++ b/docs/xen-api/presentation.tex	Tue Apr 15 11:09:46 2008 -0600
     8.3 @@ -69,7 +69,7 @@ VM object to be updated automatically.
     8.4  The API reference explicitly lists the fields that are
     8.5  bound together in this way. It also contains a diagram that shows
     8.6  relationships between classes. In this diagram an edge signifies the
     8.7 -existance of a pair of fields that are bound together, using standard
     8.8 +existence of a pair of fields that are bound together, using standard
     8.9  crows-foot notation to signify the type of relationship (e.g.\
    8.10  one-many, many-many).
    8.11  
     9.1 --- a/docs/xen-api/todo.tex	Mon Apr 14 14:04:58 2008 -0600
     9.2 +++ b/docs/xen-api/todo.tex	Tue Apr 15 11:09:46 2008 -0600
     9.3 @@ -32,7 +32,7 @@ code, potential error description, but o
     9.4  
     9.5  \item Clarify session behaviour wrt timeouts and disconnects.
     9.6  
     9.7 -\item Clarify behaviour of progress field on asyncrhonous request polling when
     9.8 +\item Clarify behaviour of progress field on asynchronous request polling when
     9.9  that request fails.
    9.10  
    9.11  \item Clarify which calls have asynchronous counterparts by marking them as such in the reference. (Individual getters and setters are too small and quick to justify having async versions)
    10.1 --- a/docs/xen-api/wire-protocol.tex	Mon Apr 14 14:04:58 2008 -0600
    10.2 +++ b/docs/xen-api/wire-protocol.tex	Tue Apr 15 11:09:46 2008 -0600
    10.3 @@ -185,7 +185,7 @@ you must login and initiate a session. F
    10.4  Where {\tt uname} and {\tt password} refer to your username and password
    10.5  respectively, as defined by the Xen administrator.
    10.6  The {\tt session\_id} returned by {\tt session.login\_with\_password} is passed
    10.7 -to subequent RPC calls as an authentication token.
    10.8 +to subsequent RPC calls as an authentication token.
    10.9  
   10.10  A session can be terminated with the {\tt session.logout} function:
   10.11  \begin{verbatim}
   10.12 @@ -210,7 +210,7 @@ Async.VM.clone(...)}, that is non-blocki
   10.13  
   10.14  Instead of returning its result directly, an asynchronous RPC call
   10.15  returns a {\tt task-id}; this identifier is subsequently used
   10.16 -to track the status of a running asynchronous RPC. Note that an asychronous
   10.17 +to track the status of a running asynchronous RPC. Note that an asynchronous
   10.18  call may fail immediately, before a {\tt task-id} has even been created---to
   10.19  represent this eventuality, the returned {\tt task-id}
   10.20  is wrapped in an XML-RPC struct with a {\tt Status}, {\tt ErrorDescription} and
   10.21 @@ -248,7 +248,7 @@ Create a python object referencing the r
   10.22  \end{verbatim}
   10.23  
   10.24  Acquire a session token by logging in with a username and password
   10.25 -(error-handling ommitted for brevity; the session token is pointed to by the
   10.26 +(error-handling omitted for brevity; the session token is pointed to by the
   10.27  key {\tt 'Value'} in the returned dictionary)
   10.28  
   10.29  \begin{verbatim}
    11.1 --- a/docs/xen-api/xenapi-datamodel.tex	Mon Apr 14 14:04:58 2008 -0600
    11.2 +++ b/docs/xen-api/xenapi-datamodel.tex	Tue Apr 15 11:09:46 2008 -0600
    11.3 @@ -75,7 +75,7 @@ host.host\_CPUs & host\_cpu.host & many-
    11.4  \hline
    11.5  \end{tabular}\end{center}
    11.6  
    11.7 -The following represents bound fields (as specified above) diagramatically, using crows-foot notation to specify one-to-one, one-to-many or many-to-many
    11.8 +The following represents bound fields (as specified above) diagrammatically, using crows-foot notation to specify one-to-one, one-to-many or many-to-many
    11.9                     relationships:
   11.10  
   11.11  \begin{center}\resizebox{0.8\textwidth}{!}{
   11.12 @@ -444,7 +444,7 @@ returned.  Also returned is a developer-
   11.13  
   11.14  \subsubsection{VLAN\_TAG\_INVALID}
   11.15  
   11.16 -You tried to create a VLAN, but the tag you gave was invalid -- it mmust be
   11.17 +You tried to create a VLAN, but the tag you gave was invalid -- it must be
   11.18  between 0 and 4095.  The parameter echoes the VLAN tag you gave.
   11.19  
   11.20  \vspace{0.3cm}
   11.21 @@ -1390,7 +1390,7 @@ Quals & Field & Type & Description \\
   11.22  $\mathit{RW}$ &  {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
   11.23  $\mathit{RW}$ &  {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
   11.24  $\mathit{RW}$ &  {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
   11.25 -$\mathit{RW}$ &  {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum (bytes) \\
   11.26 +$\mathit{RW}$ &  {\tt memory/static\_min} & int & Statically-set (i.e. absolute) minimum (bytes) \\
   11.27  $\mathit{RW}$ &  {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\
   11.28  $\mathit{RW}$ &  {\tt VCPUs/max} & int & Max number of VCPUs \\
   11.29  $\mathit{RW}$ &  {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
   11.30 @@ -14954,7 +14954,7 @@ Check whether a VM with the given securi
   11.31  \begin{tabular}{|c|c|p{7cm}|}
   11.32   \hline
   11.33  {\bf type} & {\bf name} & {\bf description} \\ \hline
   11.34 -{\tt string } & security_label & reference to the object \\ \hline
   11.35 +{\tt string } & security\_label & reference to the object \\ \hline
   11.36  
   11.37  \end{tabular}
   11.38  
    12.1 --- a/extras/mini-os/blkfront.c	Mon Apr 14 14:04:58 2008 -0600
    12.2 +++ b/extras/mini-os/blkfront.c	Tue Apr 15 11:09:46 2008 -0600
    12.3 @@ -48,11 +48,7 @@ struct blkfront_dev {
    12.4  
    12.5      char *nodename;
    12.6      char *backend;
    12.7 -    unsigned sector_size;
    12.8 -    unsigned sectors;
    12.9 -    int mode;
   12.10 -    int barrier;
   12.11 -    int flush;
   12.12 +    struct blkfront_info info;
   12.13  
   12.14  #ifdef HAVE_LIBC
   12.15      int fd;
   12.16 @@ -70,7 +66,7 @@ void blkfront_handler(evtchn_port_t port
   12.17      wake_up(&blkfront_queue);
   12.18  }
   12.19  
   12.20 -struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned *sector_size, int *mode, int *info)
   12.21 +struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info)
   12.22  {
   12.23      xenbus_transaction_t xbt;
   12.24      char* err;
   12.25 @@ -163,9 +159,9 @@ done:
   12.26              return NULL;
   12.27          }
   12.28          if (*c == 'w')
   12.29 -            *mode = dev->mode = O_RDWR;
   12.30 +            dev->info.mode = O_RDWR;
   12.31          else
   12.32 -            *mode = dev->mode = O_RDONLY;
   12.33 +            dev->info.mode = O_RDONLY;
   12.34          free(c);
   12.35  
   12.36          snprintf(path, sizeof(path), "%s/state", dev->backend);
   12.37 @@ -177,24 +173,26 @@ done:
   12.38          xenbus_unwatch_path(XBT_NIL, path);
   12.39  
   12.40          snprintf(path, sizeof(path), "%s/info", dev->backend);
   12.41 -        *info = xenbus_read_integer(path);
   12.42 +        dev->info.info = xenbus_read_integer(path);
   12.43  
   12.44          snprintf(path, sizeof(path), "%s/sectors", dev->backend);
   12.45          // FIXME: read_integer returns an int, so disk size limited to 1TB for now
   12.46 -        *sectors = dev->sectors = xenbus_read_integer(path);
   12.47 +        dev->info.sectors = xenbus_read_integer(path);
   12.48  
   12.49          snprintf(path, sizeof(path), "%s/sector-size", dev->backend);
   12.50 -        *sector_size = dev->sector_size = xenbus_read_integer(path);
   12.51 +        dev->info.sector_size = xenbus_read_integer(path);
   12.52  
   12.53          snprintf(path, sizeof(path), "%s/feature-barrier", dev->backend);
   12.54 -        dev->barrier = xenbus_read_integer(path);
   12.55 +        dev->info.barrier = xenbus_read_integer(path);
   12.56  
   12.57          snprintf(path, sizeof(path), "%s/feature-flush-cache", dev->backend);
   12.58 -        dev->flush = xenbus_read_integer(path);
   12.59 +        dev->info.flush = xenbus_read_integer(path);
   12.60 +
   12.61 +        *info = dev->info;
   12.62      }
   12.63      unmask_evtchn(dev->evtchn);
   12.64  
   12.65 -    printk("%u sectors of %u bytes\n", dev->sectors, dev->sector_size);
   12.66 +    printk("%u sectors of %u bytes\n", dev->info.sectors, dev->info.sector_size);
   12.67      printk("**************************\n");
   12.68  
   12.69      return dev;
   12.70 @@ -258,11 +256,11 @@ void blkfront_aio(struct blkfront_aiocb 
   12.71      uintptr_t start, end;
   12.72  
   12.73      // Can't io at non-sector-aligned location
   12.74 -    ASSERT(!(aiocbp->aio_offset & (dev->sector_size-1)));
   12.75 +    ASSERT(!(aiocbp->aio_offset & (dev->info.sector_size-1)));
   12.76      // Can't io non-sector-sized amounts
   12.77 -    ASSERT(!(aiocbp->aio_nbytes & (dev->sector_size-1)));
   12.78 +    ASSERT(!(aiocbp->aio_nbytes & (dev->info.sector_size-1)));
   12.79      // Can't io non-sector-aligned buffer
   12.80 -    ASSERT(!((uintptr_t) aiocbp->aio_buf & (dev->sector_size-1)));
   12.81 +    ASSERT(!((uintptr_t) aiocbp->aio_buf & (dev->info.sector_size-1)));
   12.82  
   12.83      start = (uintptr_t)aiocbp->aio_buf & PAGE_MASK;
   12.84      end = ((uintptr_t)aiocbp->aio_buf + aiocbp->aio_nbytes + PAGE_SIZE - 1) & PAGE_MASK;
   12.85 @@ -280,7 +278,7 @@ void blkfront_aio(struct blkfront_aiocb 
   12.86      req->nr_segments = n;
   12.87      req->handle = dev->handle;
   12.88      req->id = (uintptr_t) aiocbp;
   12.89 -    req->sector_number = aiocbp->aio_offset / dev->sector_size;
   12.90 +    req->sector_number = aiocbp->aio_offset / dev->info.sector_size;
   12.91  
   12.92      for (j = 0; j < n; j++) {
   12.93  	uintptr_t data = start + j * PAGE_SIZE;
   12.94 @@ -292,10 +290,10 @@ void blkfront_aio(struct blkfront_aiocb 
   12.95  	aiocbp->gref[j] = req->seg[j].gref =
   12.96              gnttab_grant_access(dev->dom, virtual_to_mfn(data), write);
   12.97  	req->seg[j].first_sect = 0;
   12.98 -	req->seg[j].last_sect = PAGE_SIZE / dev->sector_size - 1;
   12.99 +	req->seg[j].last_sect = PAGE_SIZE / dev->info.sector_size - 1;
  12.100      }
  12.101 -    req->seg[0].first_sect = ((uintptr_t)aiocbp->aio_buf & ~PAGE_MASK) / dev->sector_size;
  12.102 -    req->seg[n-1].last_sect = (((uintptr_t)aiocbp->aio_buf + aiocbp->aio_nbytes - 1) & ~PAGE_MASK) / dev->sector_size;
  12.103 +    req->seg[0].first_sect = ((uintptr_t)aiocbp->aio_buf & ~PAGE_MASK) / dev->info.sector_size;
  12.104 +    req->seg[n-1].last_sect = (((uintptr_t)aiocbp->aio_buf + aiocbp->aio_nbytes - 1) & ~PAGE_MASK) / dev->info.sector_size;
  12.105  
  12.106      dev->ring.req_prod_pvt = i + 1;
  12.107  
  12.108 @@ -315,6 +313,62 @@ void blkfront_aio_read(struct blkfront_a
  12.109      blkfront_aio(aiocbp, 0);
  12.110  }
  12.111  
  12.112 +static void blkfront_push_operation(struct blkfront_dev *dev, uint8_t op, uint64_t id)
  12.113 +{
  12.114 +    int i;
  12.115 +    struct blkif_request *req;
  12.116 +    int notify;
  12.117 +
  12.118 +    blkfront_wait_slot(dev);
  12.119 +    i = dev->ring.req_prod_pvt;
  12.120 +    req = RING_GET_REQUEST(&dev->ring, i);
  12.121 +    req->operation = op;
  12.122 +    req->nr_segments = 0;
  12.123 +    req->handle = dev->handle;
  12.124 +    req->id = id;
  12.125 +    /* Not needed anyway, but the backend will check it */
  12.126 +    req->sector_number = 0;
  12.127 +    dev->ring.req_prod_pvt = i + 1;
  12.128 +    wmb();
  12.129 +    RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&dev->ring, notify);
  12.130 +    if (notify) notify_remote_via_evtchn(dev->evtchn);
  12.131 +}
  12.132 +
  12.133 +void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op)
  12.134 +{
  12.135 +    struct blkfront_dev *dev = aiocbp->aio_dev;
  12.136 +    blkfront_push_operation(dev, op, (uintptr_t) aiocbp);
  12.137 +}
  12.138 +
  12.139 +void blkfront_sync(struct blkfront_dev *dev)
  12.140 +{
  12.141 +    unsigned long flags;
  12.142 +
  12.143 +    if (dev->info.mode == O_RDWR) {
  12.144 +        if (dev->info.barrier == 1)
  12.145 +            blkfront_push_operation(dev, BLKIF_OP_WRITE_BARRIER, 0);
  12.146 +
  12.147 +        if (dev->info.flush == 1)
  12.148 +            blkfront_push_operation(dev, BLKIF_OP_FLUSH_DISKCACHE, 0);
  12.149 +    }
  12.150 +
  12.151 +    /* Note: This won't finish if another thread enqueues requests.  */
  12.152 +    local_irq_save(flags);
  12.153 +    DEFINE_WAIT(w);
  12.154 +    while (1) {
  12.155 +	blkfront_aio_poll(dev);
  12.156 +	if (RING_FREE_REQUESTS(&dev->ring) == RING_SIZE(&dev->ring))
  12.157 +	    break;
  12.158 +
  12.159 +	add_waiter(w, blkfront_queue);
  12.160 +	local_irq_restore(flags);
  12.161 +	schedule();
  12.162 +	local_irq_save(flags);
  12.163 +    }
  12.164 +    remove_waiter(w);
  12.165 +    local_irq_restore(flags);
  12.166 +}
  12.167 +
  12.168  int blkfront_aio_poll(struct blkfront_dev *dev)
  12.169  {
  12.170      RING_IDX rp, cons;
  12.171 @@ -337,95 +391,47 @@ moretodo:
  12.172  	rsp = RING_GET_RESPONSE(&dev->ring, cons);
  12.173  	nr_consumed++;
  12.174  
  12.175 -        if (rsp->status != BLKIF_RSP_OKAY)
  12.176 -            printk("block error %d for op %d\n", rsp->status, rsp->operation);
  12.177 +        struct blkfront_aiocb *aiocbp = (void*) (uintptr_t) rsp->id;
  12.178 +        int status = rsp->status;
  12.179 +
  12.180 +        if (status != BLKIF_RSP_OKAY)
  12.181 +            printk("block error %d for op %d\n", status, rsp->operation);
  12.182  
  12.183          switch (rsp->operation) {
  12.184          case BLKIF_OP_READ:
  12.185          case BLKIF_OP_WRITE:
  12.186          {
  12.187 -            struct blkfront_aiocb *aiocbp = (void*) (uintptr_t) rsp->id;
  12.188 -            int status = rsp->status;
  12.189              int j;
  12.190  
  12.191              for (j = 0; j < aiocbp->n; j++)
  12.192                  gnttab_end_access(aiocbp->gref[j]);
  12.193  
  12.194 -            dev->ring.rsp_cons = ++cons;
  12.195 -            /* Nota: callback frees aiocbp itself */
  12.196 -            aiocbp->aio_cb(aiocbp, status ? -EIO : 0);
  12.197 -            if (dev->ring.rsp_cons != cons)
  12.198 -                /* We reentered, we must not continue here */
  12.199 -                goto out;
  12.200              break;
  12.201          }
  12.202 -        default:
  12.203 -            printk("unrecognized block operation %d response\n", rsp->operation);
  12.204 +
  12.205          case BLKIF_OP_WRITE_BARRIER:
  12.206          case BLKIF_OP_FLUSH_DISKCACHE:
  12.207 -            dev->ring.rsp_cons = ++cons;
  12.208              break;
  12.209 +
  12.210 +        default:
  12.211 +            printk("unrecognized block operation %d response\n", rsp->operation);
  12.212          }
  12.213 +
  12.214 +        dev->ring.rsp_cons = ++cons;
  12.215 +        /* Nota: callback frees aiocbp itself */
  12.216 +        if (aiocbp && aiocbp->aio_cb)
  12.217 +            aiocbp->aio_cb(aiocbp, status ? -EIO : 0);
  12.218 +        if (dev->ring.rsp_cons != cons)
  12.219 +            /* We reentered, we must not continue here */
  12.220 +            break;
  12.221      }
  12.222  
  12.223 -out:
  12.224      RING_FINAL_CHECK_FOR_RESPONSES(&dev->ring, more);
  12.225      if (more) goto moretodo;
  12.226  
  12.227      return nr_consumed;
  12.228  }
  12.229  
  12.230 -static void blkfront_push_operation(struct blkfront_dev *dev, uint8_t op)
  12.231 -{
  12.232 -    int i;
  12.233 -    struct blkif_request *req;
  12.234 -    int notify;
  12.235 -
  12.236 -    blkfront_wait_slot(dev);
  12.237 -    i = dev->ring.req_prod_pvt;
  12.238 -    req = RING_GET_REQUEST(&dev->ring, i);
  12.239 -    req->operation = op;
  12.240 -    req->nr_segments = 0;
  12.241 -    req->handle = dev->handle;
  12.242 -    /* Not used */
  12.243 -    req->id = 0;
  12.244 -    /* Not needed anyway, but the backend will check it */
  12.245 -    req->sector_number = 0;
  12.246 -    dev->ring.req_prod_pvt = i + 1;
  12.247 -    wmb();
  12.248 -    RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&dev->ring, notify);
  12.249 -    if (notify) notify_remote_via_evtchn(dev->evtchn);
  12.250 -}
  12.251 -
  12.252 -void blkfront_sync(struct blkfront_dev *dev)
  12.253 -{
  12.254 -    unsigned long flags;
  12.255 -
  12.256 -    if (dev->mode == O_RDWR) {
  12.257 -        if (dev->barrier == 1)
  12.258 -            blkfront_push_operation(dev, BLKIF_OP_WRITE_BARRIER);
  12.259 -
  12.260 -        if (dev->flush == 1)
  12.261 -            blkfront_push_operation(dev, BLKIF_OP_FLUSH_DISKCACHE);
  12.262 -    }
  12.263 -
  12.264 -    /* Note: This won't finish if another thread enqueues requests.  */
  12.265 -    local_irq_save(flags);
  12.266 -    DEFINE_WAIT(w);
  12.267 -    while (1) {
  12.268 -	blkfront_aio_poll(dev);
  12.269 -	if (RING_FREE_REQUESTS(&dev->ring) == RING_SIZE(&dev->ring))
  12.270 -	    break;
  12.271 -
  12.272 -	add_waiter(w, blkfront_queue);
  12.273 -	local_irq_restore(flags);
  12.274 -	schedule();
  12.275 -	local_irq_save(flags);
  12.276 -    }
  12.277 -    remove_waiter(w);
  12.278 -    local_irq_restore(flags);
  12.279 -}
  12.280 -
  12.281  #ifdef HAVE_LIBC
  12.282  int blkfront_open(struct blkfront_dev *dev)
  12.283  {
    13.1 --- a/extras/mini-os/include/blkfront.h	Mon Apr 14 14:04:58 2008 -0600
    13.2 +++ b/extras/mini-os/include/blkfront.h	Tue Apr 15 11:09:46 2008 -0600
    13.3 @@ -15,13 +15,23 @@ struct blkfront_aiocb
    13.4  
    13.5      void (*aio_cb)(struct blkfront_aiocb *aiocb, int ret);
    13.6  };
    13.7 -struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned *sector_size, int *mode, int *info);
    13.8 +struct blkfront_info
    13.9 +{
   13.10 +    uint64_t sectors;
   13.11 +    unsigned sector_size;
   13.12 +    int mode;
   13.13 +    int info;
   13.14 +    int barrier;
   13.15 +    int flush;
   13.16 +};
   13.17 +struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info);
   13.18  #ifdef HAVE_LIBC
   13.19  int blkfront_open(struct blkfront_dev *dev);
   13.20  #endif
   13.21  void blkfront_aio(struct blkfront_aiocb *aiocbp, int write);
   13.22  void blkfront_aio_read(struct blkfront_aiocb *aiocbp);
   13.23  void blkfront_aio_write(struct blkfront_aiocb *aiocbp);
   13.24 +void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op);
   13.25  int blkfront_aio_poll(struct blkfront_dev *dev);
   13.26  void blkfront_sync(struct blkfront_dev *dev);
   13.27  void shutdown_blkfront(struct blkfront_dev *dev);
    14.1 --- a/extras/mini-os/kernel.c	Mon Apr 14 14:04:58 2008 -0600
    14.2 +++ b/extras/mini-os/kernel.c	Tue Apr 15 11:09:46 2008 -0600
    14.3 @@ -91,9 +91,7 @@ static void netfront_thread(void *p)
    14.4  }
    14.5  
    14.6  static struct blkfront_dev *blk_dev;
    14.7 -static uint64_t blk_sectors;
    14.8 -static unsigned blk_sector_size;
    14.9 -static int blk_mode;
   14.10 +static struct blkfront_info blk_info;
   14.11  static uint64_t blk_size_read;
   14.12  static uint64_t blk_size_write;
   14.13  
   14.14 @@ -111,9 +109,9 @@ static struct blk_req *blk_alloc_req(uin
   14.15  {
   14.16      struct blk_req *req = xmalloc(struct blk_req);
   14.17      req->aiocb.aio_dev = blk_dev;
   14.18 -    req->aiocb.aio_buf = _xmalloc(blk_sector_size, blk_sector_size);
   14.19 -    req->aiocb.aio_nbytes = blk_sector_size;
   14.20 -    req->aiocb.aio_offset = sector * blk_sector_size;
   14.21 +    req->aiocb.aio_buf = _xmalloc(blk_info.sector_size, blk_info.sector_size);
   14.22 +    req->aiocb.aio_nbytes = blk_info.sector_size;
   14.23 +    req->aiocb.aio_offset = sector * blk_info.sector_size;
   14.24      req->aiocb.data = req;
   14.25      req->next = NULL;
   14.26      return req;
   14.27 @@ -125,7 +123,7 @@ static void blk_read_completed(struct bl
   14.28      if (ret)
   14.29          printk("got error code %d when reading at offset %ld\n", ret, aiocb->aio_offset);
   14.30      else
   14.31 -        blk_size_read += blk_sector_size;
   14.32 +        blk_size_read += blk_info.sector_size;
   14.33      free(aiocb->aio_buf);
   14.34      free(req);
   14.35  }
   14.36 @@ -154,10 +152,10 @@ static void blk_write_read_completed(str
   14.37          free(req);
   14.38          return;
   14.39      }
   14.40 -    blk_size_read += blk_sector_size;
   14.41 +    blk_size_read += blk_info.sector_size;
   14.42      buf = (int*) aiocb->aio_buf;
   14.43      rand_value = req->rand_value;
   14.44 -    for (i = 0; i < blk_sector_size / sizeof(int); i++) {
   14.45 +    for (i = 0; i < blk_info.sector_size / sizeof(int); i++) {
   14.46          if (buf[i] != rand_value) {
   14.47              printk("bogus data at offset %ld\n", aiocb->aio_offset + i);
   14.48              break;
   14.49 @@ -177,7 +175,7 @@ static void blk_write_completed(struct b
   14.50          free(req);
   14.51          return;
   14.52      }
   14.53 -    blk_size_write += blk_sector_size;
   14.54 +    blk_size_write += blk_info.sector_size;
   14.55      /* Push write check */
   14.56      req->next = blk_to_read;
   14.57      blk_to_read = req;
   14.58 @@ -195,7 +193,7 @@ static void blk_write_sector(uint64_t se
   14.59      req->rand_value = rand_value = rand();
   14.60  
   14.61      buf = (int*) req->aiocb.aio_buf;
   14.62 -    for (i = 0; i < blk_sector_size / sizeof(int); i++) {
   14.63 +    for (i = 0; i < blk_info.sector_size / sizeof(int); i++) {
   14.64          buf[i] = rand_value;
   14.65          rand_value *= RAND_MIX;
   14.66      }
   14.67 @@ -207,35 +205,34 @@ static void blk_write_sector(uint64_t se
   14.68  static void blkfront_thread(void *p)
   14.69  {
   14.70      time_t lasttime = 0;
   14.71 -    int blk_info;
   14.72  
   14.73 -    blk_dev = init_blkfront(NULL, &blk_sectors, &blk_sector_size, &blk_mode, &blk_info);
   14.74 +    blk_dev = init_blkfront(NULL, &blk_info);
   14.75      if (!blk_dev)
   14.76          return;
   14.77  
   14.78 -    if (blk_info & VDISK_CDROM)
   14.79 +    if (blk_info.info & VDISK_CDROM)
   14.80          printk("Block device is a CDROM\n");
   14.81 -    if (blk_info & VDISK_REMOVABLE)
   14.82 +    if (blk_info.info & VDISK_REMOVABLE)
   14.83          printk("Block device is removable\n");
   14.84 -    if (blk_info & VDISK_READONLY)
   14.85 +    if (blk_info.info & VDISK_READONLY)
   14.86          printk("Block device is read-only\n");
   14.87  
   14.88  #ifdef BLKTEST_WRITE
   14.89 -    if (blk_mode == O_RDWR) {
   14.90 +    if (blk_info.mode == O_RDWR) {
   14.91          blk_write_sector(0);
   14.92 -        blk_write_sector(blk_sectors-1);
   14.93 +        blk_write_sector(blk_info.sectors-1);
   14.94      } else
   14.95  #endif
   14.96      {
   14.97          blk_read_sector(0);
   14.98 -        blk_read_sector(blk_sectors-1);
   14.99 +        blk_read_sector(blk_info.sectors-1);
  14.100      }
  14.101  
  14.102      while (1) {
  14.103 -        uint64_t sector = rand() % blk_sectors;
  14.104 +        uint64_t sector = rand() % blk_info.sectors;
  14.105          struct timeval tv;
  14.106  #ifdef BLKTEST_WRITE
  14.107 -        if (blk_mode == O_RDWR)
  14.108 +        if (blk_info.mode == O_RDWR)
  14.109              blk_write_sector(sector);
  14.110          else
  14.111  #endif
    15.1 --- a/extras/mini-os/lib/xmalloc.c	Mon Apr 14 14:04:58 2008 -0600
    15.2 +++ b/extras/mini-os/lib/xmalloc.c	Tue Apr 15 11:09:46 2008 -0600
    15.3 @@ -208,6 +208,13 @@ void xfree(const void *p)
    15.4      pad = (struct xmalloc_pad *)p - 1;
    15.5      hdr = (struct xmalloc_hdr *)((char *)p - pad->hdr_size);
    15.6  
    15.7 +    /* Big allocs free directly. */
    15.8 +    if ( hdr->size >= PAGE_SIZE )
    15.9 +    {
   15.10 +        free_pages(hdr, get_order(hdr->size));
   15.11 +        return;
   15.12 +    }
   15.13 +
   15.14      /* We know hdr will be on same page. */
   15.15      if(((long)p & PAGE_MASK) != ((long)hdr & PAGE_MASK))
   15.16      {
   15.17 @@ -222,13 +229,6 @@ void xfree(const void *p)
   15.18          *(int*)0=0;
   15.19      }
   15.20  
   15.21 -    /* Big allocs free directly. */
   15.22 -    if ( hdr->size >= PAGE_SIZE )
   15.23 -    {
   15.24 -        free_pages(hdr, get_order(hdr->size));
   15.25 -        return;
   15.26 -    }
   15.27 -
   15.28      /* Merge with other free block, or put in list. */
   15.29      /* spin_lock_irqsave(&freelist_lock, flags); */
   15.30      list_for_each_entry_safe( i, tmp, &freelist, freelist )
    16.1 --- a/stubdom/stubdom-dm	Mon Apr 14 14:04:58 2008 -0600
    16.2 +++ b/stubdom/stubdom-dm	Tue Apr 15 11:09:46 2008 -0600
    16.3 @@ -74,7 +74,7 @@ done
    16.4  
    16.5  creation="xm create -c stubdom-$domname target=$domid memory=32 extra=\"$extra\""
    16.6  
    16.7 -(while true ; do sleep 60 ; done) | $creation &
    16.8 +(while true ; do sleep 60 ; done) | /bin/sh -c "$creation" &
    16.9  #xterm -geometry +0+0 -e /bin/sh -c "$creation ; echo ; echo press ENTER to shut down ; read" &
   16.10  consolepid=$!
   16.11  
    17.1 --- a/tools/blktap/drivers/block-qcow.c	Mon Apr 14 14:04:58 2008 -0600
    17.2 +++ b/tools/blktap/drivers/block-qcow.c	Tue Apr 15 11:09:46 2008 -0600
    17.3 @@ -1112,7 +1112,7 @@ int qcow_create(const char *filename, ui
    17.4  	int shift, length, adjust, flags = 0, ret = 0;
    17.5  	QCowHeader header;
    17.6  	QCowHeader_ext exthdr;
    17.7 -	char backing_filename[1024], *ptr;
    17.8 +	char backing_filename[PATH_MAX], *ptr;
    17.9  	uint64_t tmp, size, total_length;
   17.10  	struct stat st;
   17.11  
    18.1 --- a/tools/examples/xend-config-xenapi.sxp	Mon Apr 14 14:04:58 2008 -0600
    18.2 +++ b/tools/examples/xend-config-xenapi.sxp	Tue Apr 15 11:09:46 2008 -0600
    18.3 @@ -167,11 +167,14 @@
    18.4  #(network-script network-nat)
    18.5  #(vif-script     vif-nat)
    18.6  
    18.7 +# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
    18.8 +# This is a minimum both for auto-ballooning (as enabled by
    18.9 +# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
   18.10 +(dom0-min-mem 196)
   18.11  
   18.12 -# Dom0 will balloon out when needed to free memory for domU.
   18.13 -# dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
   18.14 -# If dom0-min-mem=0, dom0 will never balloon out.
   18.15 -(dom0-min-mem 196)
   18.16 +# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
   18.17 +# If enable-dom0-ballooning = no, dom0 will never balloon out.
   18.18 +(enable-dom0-ballooning yes)
   18.19  
   18.20  # In SMP system, dom0 will use dom0-cpus # of CPUS
   18.21  # If dom0-cpus = 0, dom0 will take all cpus available
    19.1 --- a/tools/examples/xend-config.sxp	Mon Apr 14 14:04:58 2008 -0600
    19.2 +++ b/tools/examples/xend-config.sxp	Tue Apr 15 11:09:46 2008 -0600
    19.3 @@ -165,11 +165,14 @@
    19.4  #(network-script network-nat)
    19.5  #(vif-script     vif-nat)
    19.6  
    19.7 +# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
    19.8 +# This is a minimum both for auto-ballooning (as enabled by
    19.9 +# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
   19.10 +(dom0-min-mem 196)
   19.11  
   19.12 -# Dom0 will balloon out when needed to free memory for domU.
   19.13 -# dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
   19.14 -# If dom0-min-mem=0, dom0 will never balloon out.
   19.15 -(dom0-min-mem 196)
   19.16 +# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
   19.17 +# If enable-dom0-ballooning = no, dom0 will never balloon out.
   19.18 +(enable-dom0-ballooning yes)
   19.19  
   19.20  # In SMP system, dom0 will use dom0-cpus # of CPUS
   19.21  # If dom0-cpus = 0, dom0 will take all cpus available
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/tools/firmware/Rules.mk	Tue Apr 15 11:09:46 2008 -0600
    20.3 @@ -0,0 +1,17 @@
    20.4 +# Firmware is a 32-bit target
    20.5 +override XEN_TARGET_ARCH = x86_32
    20.6 +
    20.7 +# User-supplied CFLAGS are not useful here.
    20.8 +CFLAGS :=
    20.9 +
   20.10 +include $(XEN_ROOT)/tools/Rules.mk
   20.11 +
   20.12 +CFLAGS += -Werror
   20.13 +
   20.14 +# Disable PIE/SSP if GCC supports them. They can break us.
   20.15 +CFLAGS += $(call cc-option,$(CC),-nopie,)
   20.16 +CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
   20.17 +CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
   20.18 +
   20.19 +# Extra CFLAGS suitable for an embedded type of environment.
   20.20 +CFLAGS += -fno-builtin -msoft-float
    21.1 --- a/tools/firmware/etherboot/Makefile	Mon Apr 14 14:04:58 2008 -0600
    21.2 +++ b/tools/firmware/etherboot/Makefile	Tue Apr 15 11:09:46 2008 -0600
    21.3 @@ -10,21 +10,16 @@ D=etherboot-$(EB_VERSION)
    21.4  T=etherboot-$(EB_VERSION).tar.gz
    21.5  E=etherboot-build
    21.6  
    21.7 -ROM_ZHS = $(addprefix eb-, $(addsuffix .zrom.h, $(NICS)))
    21.8 +ROMS = $(addprefix $E/src/bin/, $(addsuffix .zrom, $(NICS)))
    21.9  
   21.10  .PHONY: all
   21.11  all: eb-roms.h
   21.12  
   21.13 -eb-%.zrom.h: $E/src/Config
   21.14 -	$(MAKE) -C $E/src bin/$*.zrom
   21.15 -	../hvmloader/mkhex etherboot_$* <$E/src/bin/$*.zrom >$@.new
   21.16 -	mv -f $@.new $@
   21.17 +%.zrom: $E/src/Config
   21.18 +	$(MAKE) -C $E/src bin/$(*F).zrom
   21.19  
   21.20 -eb-rom-list.h: make-eb-rom-list $E/src/bin/Roms
   21.21 -	./$^ $(NICS) >$@.new && mv -f $@.new $@
   21.22 -
   21.23 -eb-roms.h.new: eb-rom-list.h $(ROM_ZHS)
   21.24 -	cat $^ >$@
   21.25 +eb-roms.h.new: $(ROMS)
   21.26 +	cat $^ | ../hvmloader/mkhex etherboot >$@
   21.27  
   21.28  eb-roms.h: Config
   21.29  	$(MAKE) $@.new
    22.1 --- a/tools/firmware/etherboot/eb-roms.h	Mon Apr 14 14:04:58 2008 -0600
    22.2 +++ b/tools/firmware/etherboot/eb-roms.h	Tue Apr 15 11:09:46 2008 -0600
    22.3 @@ -1,11 +1,5 @@
    22.4 -/* autogenerated - do not edit */
    22.5 -#define ETHERBOOT_ROM_LIST \
    22.6 -  ETHERBOOT_ROM(rtl8139, 0x10ec,0x8139) \
    22.7 -  ETHERBOOT_ROM(eepro100, 0x8086,0x1229) \
    22.8 -
    22.9 -/*end.*/
   22.10 -unsigned etherboot_rtl8139[] = {
   22.11 -0xeb40aa55, 0xbfe94b65, 0x68744500, 0x6f627265,
   22.12 +unsigned etherboot[] = {
   22.13 +0xeb40aa55, 0xbfe9ca65, 0x68744500, 0x6f627265,
   22.14  0x0000746f, 0x00540000, 0x0034001c, 0x52494350,
   22.15  0x813910ec, 0x00180000, 0x00000200, 0x00010040,
   22.16  0x00008000, 0x506e5024, 0x00000201, 0x00008a00,
   22.17 @@ -24,7 +18,7 @@ 0x50581f06, 0x6a086a66, 0x0060e900, 0x16
   22.18  0x55506650, 0x468be589, 0x02468910, 0x8912468b,
   22.19  0x685d0446, 0x5066104d, 0x0f2e0e50, 0x000206b6,
   22.20  0x5009e0c1, 0xe6e8146a, 0x8f2e5800, 0x2e064a06,
   22.21 -0x0648068f, 0xc72e6658, 0x00038406, 0x66000000,
   22.22 +0x0648068f, 0xc72e6658, 0x00038006, 0x66000000,
   22.23  0x00020168, 0x50686600, 0xe8000178, 0xc4830010,
   22.24  0x89175b12, 0x3ce85bdc, 0x0002ca01, 0x6650006a,
   22.25  0xc0200f50, 0x586601a8, 0x832d7458, 0x0000247c,
   22.26 @@ -39,18 +33,18 @@ 0x00000282, 0x010f5858, 0x835d0256, 0xa9
   22.27  0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x6604e0c1,
   22.28  0x00038005, 0x0ba36600, 0x1f586604, 0x500179e9,
   22.29  0xbb061e60, 0xc38e0040, 0x131e8b26, 0x06e3c100,
   22.30 -0x14d1eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
   22.31 -0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x99878d15,
   22.32 +0x1511eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
   22.33 +0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0xd9878d15,
   22.34  0xbfc08e13, 0xc1831000, 0x8ecf291a, 0xfcfc89d0,
   22.35 -0x6066a4f3, 0x1f0ec38e, 0x5f4fb966, 0x89660000,
   22.36 +0x6066a4f3, 0x1f0ec38e, 0x5b7fb966, 0x89660000,
   22.37  0xcf8966ce, 0xf3fd4166, 0x66fca467, 0x66506661,
   22.38 -0xd889c031, 0x04e0c166, 0x84a32666, 0xc7266603,
   22.39 -0x10038006, 0x6600014d, 0x87e58958, 0x5e89165e,
   22.40 +0xd889c031, 0x04e0c166, 0x80a32666, 0xc7266603,
   22.41 +0x10038406, 0x66000151, 0x87e58958, 0x5e89165e,
   22.42  0x611f0714, 0xb80650cb, 0xc08e0040, 0x0013a126,
   22.43 -0x0506e0c1, 0xe8c11510, 0x13a32606, 0xc3580700,
   22.44 -0x0000e860, 0x815d0000, 0x0002b6ed, 0xfab9fd00,
   22.45 -0x8d000058, 0x06530db4, 0xbc8d0000, 0x0050d90d,
   22.46 -0xfca4f300, 0x50dab58d, 0xbd8d0000, 0x00000650,
   22.47 +0x0506e0c1, 0xe8c11550, 0x13a32606, 0xc3580700,
   22.48 +0x0000e860, 0x815d0000, 0x0002b6ed, 0x21b9fd00,
   22.49 +0x8d000055, 0x06530db4, 0xbc8d0000, 0x0059320d,
   22.50 +0xfca4f300, 0x5933b58d, 0xbd8d0000, 0x00000650,
   22.51  0xffffffbd, 0xa405ebff, 0x0775db01, 0xee831e8b,
   22.52  0x72db11fc, 0x40c031f2, 0x0775db01, 0xee831e8b,
   22.53  0x11db11fc, 0x75db01c0, 0x831e8b07, 0xdb11fcee,
   22.54 @@ -106,7 +100,7 @@ 0xff00cf9f, 0x000000ff, 0x6f00cf93, 0x08
   22.55  0x00000000, 0x00000000, 0x00000000, 0x00000000,
   22.56  0x00000000, 0x00000000, 0x00000000, 0x00000000,
   22.57  0x02000000, 0x0002bd01, 0x00000000, 0x90909090,
   22.58 -0x000090ec, 0xffedffff, 0xf8835858, 0xcb017500,
   22.59 +0x000094ec, 0xffedffff, 0xf8835858, 0xcb017500,
   22.60  0x0804c483, 0xcd027502, 0xfb18cd19, 0xfbfa9090,
   22.61  0x15cdf958, 0xbbf6edfd, 0x0eb4069c, 0x0001bb66,
   22.62  0x0c10cd00, 0x16cdc031, 0x4bffe430, 0xb407b973,
   22.63 @@ -138,1398 +132,1398 @@ 0xb7640700, 0x1ed76f86, 0x38f8003e, 0x3a
   22.64  0x0bfdc1c8, 0x500342dd, 0xc88c66d7, 0x04244487,
   22.65  0xdda17d03, 0xec837eee, 0x08010f08, 0x02a80f66,
   22.66  0x435c66a0, 0x7eddb777, 0x600e6616, 0x8938128d,
   22.67 -0x44070c03, 0xae3be850, 0x5dfdbedb, 0x050ced81,
   22.68 -0x98ad8906, 0x168b0591, 0x6fffbca9, 0x7400fedf,
   22.69 -0x90b58d21, 0xbd8d0739, 0x39054990, 0x390472f4,
   22.70 -0x890d76fc, 0x76fdb9e6, 0x3248bbfc, 0xfc89cf29,
   22.71 -0xe3e8a4f3, 0x362d8b51, 0xb3db6c29, 0xe868bdcd,
   22.72 -0x3f450c4f, 0xb70f1220, 0x6db7240a, 0x5c046ff7,
   22.73 -0x8d502624, 0x50608085, 0x7c548ffa, 0xfb7fd38e,
   22.74 -0xec01fb6d, 0x936158cb, 0x66a102a9, 0xe61f6607,
   22.75 -0x648b9d0c, 0xa37dd424, 0xf79cdcd0, 0xbe852696,
   22.76 -0xca9dcb9d, 0xbff62db5, 0x57565507, 0x10247c8b,
   22.77 -0x61983d2b, 0x8336a810, 0x68affbbb, 0xe8550e48,
   22.78 -0x5b217cba, 0xd637df40, 0x42a30eed, 0xbe778904,
   22.79 -0x29b4b923, 0xb6dbf77b, 0x732ea3f1, 0xf8ea2015,
   22.80 -0xb8000881, 0x6ddd1c10, 0xd88ebfff, 0xd08ec08e,
   22.81 -0xe88ee08e, 0xc35d5e5f, 0x89e64035, 0x77ee4435,
   22.82 -0x3d05f9f3, 0x584c1d48, 0x250b50a3, 0xfbac0554,
   22.83 -0xbb59e17b, 0x0300e968, 0x68535f1d, 0xe4514328,
   22.84 -0xf770fbf7, 0x890bb1e8, 0xa5282ca5, 0x6ca52f20,
   22.85 -0xde977b29, 0xe4cf615c, 0x8100768d, 0xa88fbcfc,
   22.86 -0x74d7ba15, 0xed0c6020, 0x02341b22, 0xbb7b1919,
   22.87 -0x17072db7, 0x7e8bd0ff, 0xf23b8b8b, 0x8b8b191c,
   22.88 -0x3ca18b15, 0x28d0bb04, 0x8be2ffbc, 0x68d6da4c,
   22.89 -0xfd025189, 0x597ff1b8, 0x08618904, 0x890c6989,
   22.90 -0x14796071, 0x6dc3006f, 0x1bcd0bdb, 0x8b08431f,
   22.91 -0x095a374a, 0xebf4f662, 0x0c6a08bf, 0x8b10728b,
   22.92 -0x051c147a, 0x4389ffb8, 0xb6959c2d, 0xbea29c28,
   22.93 -0x840c5401, 0xce8b664b, 0xb8bb188d, 0xef181f30,
   22.94 -0x21a29687, 0x2e9d5d58, 0xc3c2e428, 0x2b07357b,
   22.95 -0x38815080, 0x0f0d2300, 0x82858907, 0x68956ffa,
   22.96 -0x921b11d7, 0x284f2907, 0xd4bd530c, 0x5350ee68,
   22.97 -0x2c1d9da9, 0x2f024389, 0x03d4bedf, 0x88101f0a,
   22.98 -0x0c020443, 0x0f076388, 0xc231585b, 0x90c3db8d,
   22.99 -0xc6535600, 0x6cd6a10c, 0xbddaddfa, 0x70bb0010,
  22.100 -0x29c62904, 0xb801006a, 0xe6dfc2e8, 0x2d062e66,
  22.101 -0x056850e4, 0x6c0986e8, 0x38de176f, 0x18c03b80,
  22.102 -0xc03903c6, 0xb0050f93, 0x7f5d6500, 0x0921188d,
  22.103 -0x055a0603, 0x5bd30aa1, 0x145db6eb, 0x047f1887,
  22.104 -0x13026a10, 0x6c7dd7b6, 0x1c065016, 0x4eefb850,
  22.105 -0xe859602d, 0x793d2dbf, 0x66c2892c, 0x010a20f6,
  22.106 -0xb10f0374, 0xb6c730ed, 0x8843bbc6, 0xce961203,
  22.107 -0x3f7cb3c8, 0xefeffc1e, 0x95f7b072, 0x2e2c3f8e,
  22.108 -0x250304bd, 0x282f6cf3, 0x32c8fc23, 0xb0b937b5,
  22.109 -0x2d0c26c0, 0x30be0526, 0xa1e805fb, 0x83063126,
  22.110 -0x19b901f0, 0x01b0b939, 0x0c0c152f, 0xecb0ccb9,
  22.111 -0x29535671, 0x19e4b817, 0x47151539, 0x196d2f57,
  22.112 -0x66287b7e, 0x8dca13c7, 0x0a6a1887, 0xbbeeef4a,
  22.113 -0x2474db57, 0x2a24bb22, 0x3eeb8156, 0x2b186f0d,
  22.114 -0xdcd805f0, 0x01181820, 0x35fb3975, 0x14881dfc,
  22.115 -0x74d28566, 0x16186617, 0x0506e0a9, 0x6e0bad62,
  22.116 -0x017220d2, 0xbd16f9d0, 0x20debec5, 0x24e475c0,
  22.117 -0x10321d12, 0x1b07deeb, 0x0e6dfd73, 0x6cba8800,
  22.118 -0x07b15d56, 0x22c5cdb1, 0x55404d3f, 0x636e8f9c,
  22.119 -0x3b2c2c83, 0x06334440, 0xc36c619e, 0x31657df7,
  22.120 -0x7f1e39ed, 0x1406500c, 0x3dafd986, 0xb0034673,
  22.121 -0x65e805e1, 0x03fdb74b, 0x02d081db, 0xf63a75fb,
  22.122 -0x34b22404, 0xb5deef91, 0x23e4405a, 0xb9fc0adf,
  22.123 -0xa5f34e05, 0xae868343, 0x14c5dffb, 0x850c7d60,
  22.124 -0x21a574db, 0x1b9db206, 0xdb5ae70d, 0x5f87d889,
  22.125 -0x0e070939, 0xb07c08fc, 0xe81c8f5d, 0x140101ed,
  22.126 -0xfffe98e8, 0x0bdbb9fd, 0x2f60a3ea, 0x0ab4e80f,
  22.127 -0x6c682096, 0xdbf36d06, 0x1364a30e, 0x10c4ff3c,
  22.128 -0xc2fb704e, 0x3284dcdb, 0x072a05d3, 0x74a3990a,
  22.129 -0x7dc27608, 0x0d64a1b6, 0x086805c7, 0x90790924,
  22.130 -0x003cbded, 0x15897009, 0x73db6378, 0x057c0f9b,
  22.131 -0x19800911, 0x83b1b210, 0x23840975, 0x8c2288a3,
  22.132 -0x1bedb73c, 0xa12c906c, 0xf8843159, 0xd8f9867c,
  22.133 -0x0f726896, 0x89fc1489, 0xdb4f0805, 0x0c4e6bff,
  22.134 -0x470ceb2b, 0x3914c183, 0xe7d91ff8, 0xefdb7fb9,
  22.135 -0xeb756663, 0x837f918b, 0x928131fa, 0x5f3d5277,
  22.136 -0xff86f0db, 0xbd4b772d, 0xf6318400, 0x372b941e,
  22.137 -0xa9bf6bf8, 0x23d6391b, 0x770c72ce, 0xd876c53c,
  22.138 -0x06ef12d8, 0xc30da98b, 0x3fc70729, 0xbdac3b16,
  22.139 -0x19d20935, 0x2fef623d, 0xff4b472d, 0x8944777c,
  22.140 -0x399903c3, 0xf7c2fc37, 0xb113d689, 0x0cab3b27,
  22.141 -0x06772e72, 0x267608a3, 0x8d6ed977, 0x4367413b,
  22.142 -0x77440d72, 0xd9b1cf3b, 0x260856dd, 0xd619218b,
  22.143 -0x30333589, 0xf762c1c2, 0x862787d8, 0xf8675a1c,
  22.144 -0x18a3cc8d, 0x34ace5e9, 0x64c82c14, 0x9879f65f,
  22.145 -0x097481c7, 0x5d760c78, 0x4bb3eb3a, 0x2b9013b8,
  22.146 -0xbc6fef05, 0x36b2c3a7, 0xeb9b14be, 0x6dc5811b,
  22.147 -0x213fffeb, 0x75455246, 0x5703662e, 0x21116204,
  22.148 -0xb58e044f, 0x3d09c344, 0x89d3aa3b, 0x4aeffdf1,
  22.149 -0x170bb72d, 0x0ae7c1fa, 0x8166c729, 0xbadd80fa,
  22.150 -0xcabb0b75, 0x8944c38e, 0x150369d3, 0xfc777d6c,
  22.151 -0xffe28125, 0x1a8c8db8, 0xd6fc8906, 0x5c3768ea,
  22.152 -0xf2893942, 0x772096a6, 0x465edf7f, 0x5c12ebc9,
  22.153 -0x02c7044a, 0x00c2816c, 0x7549667c, 0xb772c40b,
  22.154 -0x70e946ec, 0xcc42e4df, 0x5c3bb3af, 0xa109bdf2,
  22.155 -0xb90408d0, 0x660d83ee, 0xc99c69b8, 0xf0662c89,
  22.156 -0x33e8ed1a, 0x232404fd, 0xfbe177b5, 0x535723de,
  22.157 -0xd3bf7705, 0x1ce88151, 0xfb85c826, 0x2bf9897b,
  22.158 -0xebc1390d, 0x1676be0a, 0x915d0b73, 0xda832472,
  22.159 -0x5fcad7e3, 0xd2b796db, 0xc2e2c117, 0xf31ecb07,
  22.160 -0x140b60d7, 0x5f72a732, 0x0f63738d, 0x25742a72,
  22.161 -0x5b9082a1, 0x37bb870d, 0x97032fb6, 0xe9821ca3,
  22.162 -0xd2a6fc9e, 0x8a6b160d, 0x2e7c9d24, 0xbbb7ad61,
  22.163 -0x51d1753b, 0x10883a68, 0x473058e7, 0xa6ee4dde,
  22.164 -0xe8088cfe, 0x10b41e05, 0xbdb239e8, 0xb9db1a67,
  22.165 -0xbc084657, 0xb1421983, 0xe8a77e1b, 0xd9e8f291,
  22.166 -0x22c962fe, 0x23b82894, 0xc1781d7b, 0xdc11f0fd,
  22.167 -0x9a8dd029, 0x00e3810b, 0x86ffe41b, 0x0d8bb705,
  22.168 -0xecde8715, 0xc839ce29, 0xd8390c77, 0xa36df847,
  22.169 -0x12fb6477, 0x0476000a, 0x56086e58, 0xfa4c5afd,
  22.170 -0xe851d129, 0x2f4de497, 0x18473529, 0x1e44ef7b,
  22.171 -0x438b599b, 0xcdb2c829, 0x07537899, 0x6904764f,
  22.172 -0x74ddcfd8, 0xda34d039, 0xafb10574, 0xaf40ff08,
  22.173 -0x05a97b30, 0x573fe852, 0x0d8b2c08, 0x06d549a3,
  22.174 -0x140a602c, 0xc849db0c, 0xc0847a25, 0x5af60d75,
  22.175 -0x8c675045, 0x1f845b34, 0xb95c0958, 0x2e5a7ce8,
  22.176 -0x8b56c4a0, 0x086808c5, 0x2bcc2620, 0x99b5f1b6,
  22.177 -0x5359563d, 0xb7efa412, 0x21856bef, 0x5230262d,
  22.178 -0xbe7974ed, 0x6c1a1054, 0x892408fd, 0x89d729f7,
  22.179 -0xdd0e0715, 0x54fe3eb1, 0xab898389, 0xf7839f82,
  22.180 -0xdd36b80b, 0x2d8943de, 0x3354550f, 0xdefb8386,
  22.181 -0x21fd2c5c, 0x8c8a1554, 0xeac1fed5, 0xb1e37d04,
  22.182 -0x960313db, 0x43688b89, 0x352b0257, 0xe0db966f,
  22.183 -0x3e060c59, 0x5b788fd9, 0xaa9d629c, 0x370f1d3a,
  22.184 -0xfdd62946, 0xbb73061c, 0x6e36da92, 0x53e2f1a5,
  22.185 -0x06047902, 0x685dfb0b, 0x007e1db4, 0x74b5153b,
  22.186 -0x6d80d602, 0xea8177e7, 0x03828ba0, 0xa041585b,
  22.187 -0xcb3ca114, 0x85b3ebc5, 0x2822191a, 0x11048ddb,
  22.188 -0x7432377a, 0x47207b14, 0x8dcd87cd, 0x00be9691,
  22.189 -0x2b9a1915, 0xd0408934, 0x4f1b56f4, 0x290c2bc7,
  22.190 -0xf7fe91df, 0x28b5386c, 0xbf6687d3, 0x760d8f01,
  22.191 -0x5678c7b0, 0xc65915e8, 0x180475ff, 0xdd0bc601,
  22.192 -0x17bb22ed, 0xc31458fd, 0xf45e5502, 0xcf730403,
  22.193 -0xc13321ad, 0x181be101, 0x305d0e93, 0xe0062da1,
  22.194 -0x9fd917d8, 0x2f485721, 0xf8890603, 0x2b061712,
  22.195 -0x095bcfb5, 0x1045fb43, 0x02a66e31, 0xc19946c9,
  22.196 -0xde0d6203, 0x181c5b6a, 0x1c42d213, 0xad0cc903,
  22.197 -0x3d03dee0, 0x3c497611, 0xe36c584b, 0xe7338190,
  22.198 -0xdfd66189, 0xd2b01c76, 0x526e2d84, 0x5708b150,
  22.199 -0xd7c74be8, 0xa495736e, 0x17e9910c, 0x3da7312d,
  22.200 -0x2904d8b0, 0xbbeb4246, 0xb7c2d82e, 0x03ec0dbe,
  22.201 -0x0ac9104d, 0x46fe26d4, 0x03014c2c, 0x9bfce183,
  22.202 -0xa4c45504, 0x2910be8d, 0x5b5154cc, 0xaee27c84,
  22.203 -0xf59ab745, 0x066bd054, 0x875dec89, 0xe860a13f,
  22.204 -0x8b4c9294, 0x79a4249c, 0x6e015a9a, 0xc4f76435,
  22.205 -0x4260b94b, 0x6cf85e2e, 0x7408998d, 0xc8979d65,
  22.206 -0xe6815b12, 0x06ba0c05, 0xe85b51b8, 0x83d3c283,
  22.207 -0x4f75cd0f, 0x5b71363f, 0xc2ef8b19, 0x8e886b04,
  22.208 -0xddc1c695, 0xfec2835e, 0x17dd1f02, 0x8e108c42,
  22.209 -0x1bdff0b0, 0x7cf13941, 0x535250f0, 0x70125955,
  22.210 -0xf1fae381, 0x2a64f6ed, 0x4c0c2775, 0x75f0895b,
  22.211 -0x427645c7, 0x266f458e, 0xd97411dd, 0x4fbf8b6c,
  22.212 -0x00e8d10c, 0x6a20a86a, 0x8cf67c10, 0x02e47350,
  22.213 -0xe8d0dfd0, 0x5fdc91e9, 0x83542036, 0x6ae903c0,
  22.214 -0x90dbb3f5, 0xd1821301, 0x2cc51534, 0x9a36b75f,
  22.215 -0x5bc9beff, 0xc8b30e76, 0x1ac118a4, 0xf0ec16bf,
  22.216 -0x7b10bba9, 0x25008ba3, 0x09086841, 0x10cf08ff,
  22.217 -0xa98045bb, 0x2b7b9856, 0x60a1b1c1, 0x0abef339,
  22.218 -0x613f4ae2, 0xe20c5782, 0xebd93917, 0xa37e06db,
  22.219 -0x1604c109, 0xbec10142, 0xc10b5bf5, 0x8b0f850a,
  22.220 -0x40a1c85e, 0xa331ba2b, 0x651a36e5, 0x499cd330,
  22.221 -0xbf020847, 0x7d9c6c30, 0x830f026e, 0x03e5f0e7,
  22.222 -0x89ef4b86, 0xb964273d, 0xdce07580, 0x97257ef0,
  22.223 -0x0e838d0f, 0x8e2d189d, 0x36fd3a18, 0x05b88d32,
  22.224 -0x1ae19605, 0x76674098, 0x1e04d00b, 0x6f588289,
  22.225 -0xad1ef785, 0xe58309cb, 0x1dfaa4f0, 0xa57328d0,
  22.226 -0x68046a51, 0xb95d8855, 0xcfacfdb1, 0xf5c60555,
  22.227 -0x0707c658, 0x5d73a464, 0x05d3431d, 0xaf490e08,
  22.228 -0xa10c6c11, 0xba288883, 0x1c896c5b, 0x7b0aa62b,
  22.229 -0x74162210, 0x28c6c44b, 0xff510514, 0x74601805,
  22.230 -0x1c50adbb, 0x0d071d54, 0xc5b6cc1e, 0x283cb3ba,
  22.231 -0x070f2003, 0xaeb2022a, 0x8222c18b, 0x26032e13,
  22.232 -0x10ccdb6a, 0x7f11309b, 0x75321014, 0xe457b64f,
  22.233 -0x3643057f, 0x3ec6405f, 0x43757413, 0x054680ae,
  22.234 -0x06c6f948, 0x4e4a12f9, 0x52125005, 0x0436163b,
  22.235 -0x01586ad3, 0x738d3c3d, 0xfd18e196, 0x05432860,
  22.236 -0x68f104c7, 0x742b195a, 0xb5efff64, 0x06462554,
  22.237 -0x46c60201, 0x46942c08, 0xee9276d9, 0x461486ae,
  22.238 -0x5a0e2c0a, 0xec0f7583, 0x46ed1246, 0xe2140320,
  22.239 -0xeb1b1946, 0x160322ba, 0x1a281822, 0xf6131c05,
  22.240 -0x651e184a, 0x46e92446, 0x89560382, 0x46ac6526,
  22.241 -0xb7db172a, 0xe3833a47, 0x285e0c0f, 0x70b42c6a,
  22.242 -0x8f060868, 0x09462871, 0x8c80c768, 0xb63c77bf,
  22.243 -0xdf891cc1, 0x24d23468, 0x9d76d6e8, 0x375389b1,
  22.244 -0xd4df6a5a, 0x842c8971, 0x14ddac5c, 0x3b07f918,
  22.245 -0x96e0c1dc, 0x24ba3030, 0x09c6d1f0, 0xf7592dd7,
  22.246 -0x001ac225, 0xa705c2c0, 0xeb6b47dd, 0x6c8e62d9,
  22.247 -0x685fbaf0, 0xe9e804e3, 0xf91d21f6, 0x441bcc02,
  22.248 -0x235b1822, 0x36f415fb, 0x56567df8, 0x0b745339,
  22.249 -0xdddd9a9a, 0xb095be87, 0x97047401, 0xe80e68be,
  22.250 -0xf73df8da, 0x66241a14, 0xafcfc529, 0x4ef06e0f,
  22.251 -0x48cdb503, 0x81cd250b, 0x8d0af4e1, 0x02090a94,
  22.252 -0x9ad4f8e3, 0x4e83e0cd, 0x7f38de0b, 0x8a17a3c1,
  22.253 -0xbad0361e, 0x75d044a9, 0x01f38e17, 0x4c835fd0,
  22.254 -0x06296027, 0x80833062, 0xaeb4fc1d, 0x42845981,
  22.255 -0xa4d2e743, 0x91d4a0da, 0x9eb1c082, 0xfbd0c811,
  22.256 -0xeb291c1a, 0x70acb85a, 0xe3837d0b, 0x0b899392,
  22.257 -0x684bbac0, 0xd61d31b1, 0x5d7c325c, 0xebba178c,
  22.258 -0xe8671857, 0x23c3541b, 0x21dafc22, 0x05527716,
  22.259 -0xefc4e82d, 0x3634222c, 0x1c6de3c7, 0xfb30d08a,
  22.260 -0x7b6168d0, 0x66104f6b, 0x1102c010, 0x0af31982,
  22.261 -0xde180c1a, 0xdad4a9a0, 0xb1fbe083, 0xd46c36e0,
  22.262 -0x1204bef6, 0x800fe283, 0x106df6a9, 0x040e140a,
  22.263 -0x02334fbc, 0xb508947c, 0x2f46464d, 0xaf343018,
  22.264 -0xd8bf38ef, 0xcbeb2de8, 0xd820acd0, 0x4114abc6,
  22.265 -0xad036019, 0x81c55424, 0x77052a38, 0x20e277c7,
  22.266 -0x028b4676, 0x04428b43, 0xe898795c, 0x08076d8a,
  22.267 -0xdc04f57a, 0x302d6d0b, 0xd14a6b23, 0x989a0471,
  22.268 -0xe26f0ae0, 0x80c6b622, 0x8b0ddf83, 0x245d6317,
  22.269 -0x68167d5b, 0x8b0db89b, 0x0640b243, 0xbee1e927,
  22.270 -0x7fd76a6d, 0xaf09135b, 0x0a031072, 0x3790baeb,
  22.271 -0x2d1b0c35, 0xcb3c8c68, 0x49fae8b3, 0x753b6f99,
  22.272 -0x78cad904, 0xb05a15c4, 0x0bd9b239, 0x1fa8000a,
  22.273 -0x4e42888b, 0x9c09b46f, 0x638e5728, 0xbe02f8c0,
  22.274 -0xbbf4f8db, 0x07771aa1, 0xa085348b, 0xed147b27,
  22.275 -0x77761940, 0x7718651b, 0x1b741e54, 0x07760a48,
  22.276 -0xb81d6c7a, 0x19ff2cb8, 0x72db8c14, 0x02bae874,
  22.277 -0x921d6f86, 0x0dddb87a, 0xb81789ad, 0x3a397440,
  22.278 -0xd81ecdeb, 0xa73f0364, 0xa1247b8d, 0xf6530024,
  22.279 -0x75ecf25c, 0x497a33ac, 0x0b2994b2, 0x35b86306,
  22.280 -0xa0928e0c, 0x6a6461e2, 0x0c866303, 0x7d193153,
  22.281 -0x037ba054, 0xc377906d, 0x85a3208d, 0x205c6868,
  22.282 -0x851906bf, 0xc5ffffff, 0x09e7d350, 0xb0f631d7,
  22.283 -0xeeea8980, 0xedee88b0, 0xc383cb89, 0x872f7804,
  22.284 -0x4a2df05c, 0xd98877bc, 0xddb6f8d3, 0x89dedc3f,
  22.285 -0x4ff7c019, 0x8ba602e0, 0xc8832414, 0xed778a29,
  22.286 -0x080b7365, 0xd5794b8c, 0xbbed3e39, 0xeb65ee10,
  22.287 -0x8cbf5276, 0xf80fb1f8, 0x3dece6d1, 0xf725f78b,
  22.288 -0xc888c609, 0xeb7f9b24, 0xd426f7b0, 0xc49b306c,
  22.289 -0xc35f9155, 0x060b9e97, 0x534307cb, 0x4fa9538b,
  22.290 -0xb068c4df, 0x68ee37f1, 0xd4fb2e9a, 0xe31f4293,
  22.291 -0x09d80ec1, 0xfe690ae8, 0x8d686b8b, 0xf528b698,
  22.292 -0xa8ec3755, 0x48fc983c, 0x35c97f42, 0x3b13ec04,
  22.293 -0x8a5c5b8b, 0xfd920b04, 0x0dffefed, 0x8341ee00,
  22.294 -0xf27e05f9, 0x758d62bf, 0xf2899a37, 0x8400b9ee,
  22.295 -0xd8df00b6, 0x63445d0c, 0xb8efda89, 0x6245038b,
  22.296 -0x40e24f77, 0x99c8b4ef, 0xef30551a, 0xb858e028,
  22.297 -0x4c0d20c5, 0x1aef7266, 0xeebfdef6, 0x0704a5d6,
  22.298 -0x840eb866, 0x08210b3d, 0x08dd95bd, 0x05ef0c25,
  22.299 -0xb8ef663c, 0xb2c0d0d0, 0xa32c74e1, 0x35d8e830,
  22.300 -0x685c7bb8, 0x4be5bc9e, 0x85c243a5, 0x30559e16,
  22.301 -0x68f2fc22, 0xb30cce8a, 0x4288fc0b, 0x321c896c,
  22.302 -0xa3d7437e, 0x16d85c5a, 0xc0c85106, 0x0aee5206,
  22.303 -0x95b83b81, 0x39e88971, 0x81293d5a, 0x5e25c280,
  22.304 -0xb62694a8, 0x3fe15af8, 0x7296bc06, 0x8d57fb9b,
  22.305 -0x3a610756, 0x46e31e1a, 0x1452a150, 0x5ebda8d5,
  22.306 -0x3ebdca58, 0x17e47e58, 0x51224812, 0x9788ec58,
  22.307 -0xd766140a, 0x666251b6, 0x6fb86ee0, 0x01c4f67d,
  22.308 -0x31892eba, 0xfb0633ba, 0x9dbd8eeb, 0x0e38b852,
  22.309 -0x50063bb8, 0x5c72ff98, 0x68da7b63, 0x0750935b,
  22.310 -0x3029ec31, 0x3f04ccb4, 0xe852dc93, 0xc1a28041,
  22.311 -0xa016b7df, 0x7504a85c, 0x00c7182c, 0x1afe7e59,
  22.312 -0x40c776dc, 0x4c064948, 0x20501bf3, 0x1811061e,
  22.313 -0x1a5fcc8c, 0xdb166204, 0x8d1c683d, 0xee4adb54,
  22.314 -0x44fd301c, 0x2c0aa312, 0x0edec486, 0x3746b876,
  22.315 -0x6a233b7c, 0x17425d06, 0x682ce3bb, 0x66e803dc,
  22.316 -0x7712524d, 0x208a6454, 0x5411e2df, 0xf93bbbd8,
  22.317 -0xe868d42e, 0x37534013, 0x11ea6838, 0xe7c0777e,
  22.318 -0x7f0ec32e, 0x4a83c608, 0xfe014300, 0x3bebadf8,
  22.319 -0x358bf376, 0xb5148d5b, 0xcff7f114, 0x6630d6e0,
  22.320 -0x81687703, 0x6e8d25c1, 0x8182d620, 0xefea0bde,
  22.321 -0x7230cb81, 0xde1ad910, 0x1eefc0b0, 0x1270faeb,
  22.322 -0x3e614f8b, 0x157378ea, 0x2515f758, 0xef1b800c,
  22.323 -0x95a186e0, 0x95500700, 0x870beae0, 0xf02537b9,
  22.324 -0x6224db72, 0x5b1032b1, 0x850a0df1, 0x8d1374df,
  22.325 -0xf0031846, 0xa3e10d06, 0xe81f93d8, 0x2be3e8f8,
  22.326 -0x49488c05, 0x6ec0b642, 0x7942dc34, 0x0ceb664e,
  22.327 -0x60c301a8, 0xc52d2580, 0x42f0f5aa, 0xb26dc7b3,
  22.328 -0xdbb7840d, 0x15389082, 0x52e8db68, 0x35dd80ae,
  22.329 -0x2d5c0d1e, 0xd47ad495, 0xad81fed5, 0xc11e252f,
  22.330 -0x3ea810ef, 0xc0771140, 0xff83653f, 0x35860f3b,
  22.331 -0x6deeff81, 0x1ed12ff7, 0x8d3a0e7d, 0x003dfc4f,
  22.332 -0x644e2d20, 0x77f70d1b, 0xfcbb8d9b, 0x50d32941,
  22.333 -0xcc828d53, 0x9bba1045, 0x6076d4a3, 0x29a80b21,
  22.334 -0x1983a5d8, 0x05142bfa, 0x5e035e6c, 0xf1d7ff60,
  22.335 -0xbc18cad7, 0x07478d79, 0xb60aa3db, 0xb8b83815,
  22.336 -0x38a2cde3, 0xff618398, 0xac519fbe, 0x0001baef,
  22.337 -0x4f031af7, 0x081447db, 0xc51f3f49, 0xf21b5825,
  22.338 -0xfb1cf0c6, 0x23f5ffff, 0xecbc752d, 0xeb855153,
  22.339 -0xdc088291, 0x6d028101, 0x06765113, 0xdbaf8008,
  22.340 -0x9146cc97, 0x25ed8352, 0x49267fac, 0xdbc36f85,
  22.341 -0xc3660374, 0xeb8a530d, 0x6fb01af6, 0xf02185e6,
  22.342 -0xc3ee36c2, 0x76e8ae35, 0x23d7f1fb, 0x73987059,
  22.343 -0xc864aae8, 0x988bdcbf, 0x09601719, 0xc0649be8,
  22.344 -0xebc08887, 0xb9f42151, 0x3c173a19, 0x52a6fe96,
  22.345 -0xd7765e68, 0x44ef0b15, 0xe819f840, 0x2e5be811,
  22.346 -0xcf8c10da, 0x796aa1bf, 0x1d6d6faf, 0x080c89c7,
  22.347 -0x0131f8ca, 0xfadb3b00, 0xc38aa5db, 0x0c4384db,
  22.348 -0x08743a3c, 0x0b1eb343, 0x7e1eec2e, 0x64bff475,
  22.349 -0x056c9486, 0xff791f73, 0x36243f37, 0xd114c03a,
  22.350 -0x8331f24a, 0x57e108c7, 0x721e67e2, 0xf65653e1,
  22.351 -0x3a526859, 0xf6fd1fa4, 0x5a04478a, 0x34986859,
  22.352 -0xb229ef73, 0x41ec1a96, 0xaad24c85, 0x70589603,
  22.353 -0xe928092d, 0xbc42461e, 0x50c3c344, 0x0843ba75,
  22.354 -0x03428dfe, 0x4fe2ddc2, 0x037a8082, 0x25740d2f,
  22.355 -0xd59377d2, 0xe851e847, 0x180c17c2, 0x3a388031,
  22.356 -0x77e8f07e, 0x3980311f, 0x5280752f, 0x516568a8,
  22.357 -0x56ebf764, 0x05e889a3, 0x3e585e84, 0xd3eb42f0,
  22.358 -0xe9040500, 0x01402773, 0xfd0aaeb7, 0x756a525f,
  22.359 -0x33815251, 0x78783917, 0xa308ee58, 0x92f3eb10,
  22.360 -0x332d7f11, 0xfc053d36, 0x61a8dfb9, 0x47850343,
  22.361 -0xb84af0e4, 0xbbb7bb17, 0xc604eb17, 0x903d4004,
  22.362 -0xfff5726d, 0xa501bc1f, 0xbbe8fb69, 0x06153d65,
  22.363 -0xc8c268f8, 0x6e56bc02, 0x9a8eeed1, 0x0462dbdd,
  22.364 -0x74ed179a, 0x04e9f3e8, 0x8860c1f8, 0xaeeea093,
  22.365 -0x02e647e8, 0x6ac61db3, 0xf479c03d, 0xf4b7b406,
  22.366 -0x8515b2b4, 0xcd8c6447, 0x0b21db22, 0x0d1f99e0,
  22.367 -0x2e26f75b, 0xf9097e3a, 0x01b58e0f, 0x8408fe72,
  22.368 -0xbbda1ad9, 0x4a7f6f35, 0x6f09f685, 0xf17a1800,
  22.369 -0xf3d1efdd, 0x04e4a13c, 0xbe0c50ff, 0xd8ec46ff,
  22.370 -0x71f07519, 0x33219875, 0x375fc2c6, 0x09a1c202,
  22.371 -0xb8f8658d, 0xa7bf66c9, 0x04feedcd, 0x8c020d4a,
  22.372 -0x79fea9a2, 0x04f72774, 0x71b97c3e, 0x414599f0,
  22.373 -0xbb33ec3d, 0xa10b4075, 0x3d927ffd, 0x742e0df0,
  22.374 -0x9f7ef06b, 0x9beb621e, 0xba9290e3, 0xe5076c4f,
  22.375 -0x053bd548, 0x08940418, 0x5029b41f, 0x926d1943,
  22.376 -0x4755cc68, 0x7a58532d, 0x6bc14644, 0xe8a37731,
  22.377 -0x4e22a443, 0x8e105b24, 0x95e005fc, 0x09badc09,
  22.378 -0x30d8cdb7, 0x2ee90333, 0x73344553, 0x7666ec10,
  22.379 -0xda46b9e0, 0x2e09befb, 0x49ca0406, 0xe78e7ab5,
  22.380 -0x9429856e, 0x4df200ee, 0x5f85e9d9, 0x6b782b81,
  22.381 -0x396fc985, 0x63d02042, 0xe75f3ec1, 0x9644b17a,
  22.382 -0x75fbe991, 0xbec4ba87, 0xb80b57be, 0x7afdc4ca,
  22.383 -0x0e047bf1, 0xe9103e63, 0xfdfe8c2d, 0xbbdf6360,
  22.384 -0xb8fed002, 0xecae0356, 0xecd9d809, 0x18b7e9ef,
  22.385 -0xfb011442, 0x22a753ae, 0xa10d873c, 0xe25e78a6,
  22.386 -0x06bbdcde, 0x6a36147b, 0x8dd46801, 0x344c686e,
  22.387 -0x3b63ba01, 0x2826fa3f, 0x6885f9e9, 0x1323ab23,
  22.388 -0xc2ae3730, 0xfd9cccd4, 0xf0ea4860, 0xc86f2243,
  22.389 -0x425e1318, 0x372be94b, 0x2231ef24, 0x2999084d,
  22.390 -0x34d3880f, 0xb3cdb043, 0xfdc9ee01, 0x5d31fcd5,
  22.391 -0xe19868ba, 0xacc746e8, 0xef87a5ae, 0xf1f829df,
  22.392 -0x950c8d42, 0x16a3a162, 0xd3c5f02f, 0x7f0f05e8,
  22.393 -0x21ebc107, 0xd0ac61f0, 0xa322d0fa, 0xc60a7e0f,
  22.394 -0x17963719, 0x4f0d75e2, 0xf14ac503, 0x0ba1778e,
  22.395 -0x89687fe6, 0xbecdb6c2, 0x6082058e, 0x8ba6a331,
  22.396 -0x5bd8b50a, 0x14e77ae2, 0xbf7b86ab, 0x31fd8fb3,
  22.397 -0x0d105089, 0xa11c5889, 0xbe8a2021, 0x7845a803,
  22.398 -0xd301c767, 0x84fd3991, 0xebccc6c7, 0xfe98e9ec,
  22.399 -0x3be802c9, 0x07849c15, 0x3634ac17, 0x2efa85dd,
  22.400 -0x689dca78, 0xac4c9c2a, 0xfbb03fdd, 0x48fa81d1,
  22.401 -0x247c7669, 0xbe0f1869, 0xb896401d, 0x6fe01621,
  22.402 -0x746f4813, 0x7e307728, 0xc76f3855, 0x8d566172,
  22.403 -0x4e87c5b6, 0x622005c6, 0x4d6ee483, 0x8c26425b,
  22.404 -0x27613488, 0xfa2c047b, 0x74237850, 0x5f673a2d,
  22.405 -0x27e87b0f, 0xf7caeb33, 0xaa012757, 0xe8ee91ee,
  22.406 -0xb712fb58, 0x0bf308e8, 0xcf6893ab, 0x60fec36a,
  22.407 -0xcb10e206, 0x83be017e, 0x3950783c, 0x4dc589da,
  22.408 -0x07870f34, 0x061f0301, 0x0488af21, 0x1620d939,
  22.409 -0x247a043f, 0x8ac4820f, 0x0e76cb39, 0x6db9aa39,
  22.410 -0xf53985a0, 0x35010f17, 0x3396e51b, 0x28f4fe16,
  22.411 -0x2c416c12, 0x98f56a3a, 0xcbb6bc1c, 0x0bd8cea8,
  22.412 -0x27fe1e14, 0x03d421cc, 0x6c811ea3, 0xf50e01c1,
  22.413 -0xde380d8a, 0xbb3dd6dd, 0x09789113, 0x390d8b2c,
  22.414 -0x281f1c03, 0xf74dfba0, 0x7c76b972, 0x77142c0f,
  22.415 -0x8b0a72ad, 0x1b753913, 0x77f3eede, 0x346c3ba1,
  22.416 -0x34781376, 0xc82b092b, 0xa90c85d5, 0xc3d989c5,
  22.417 -0x47c05f6a, 0x8d3eebe9, 0x80ee98b0, 0xc1fd3eab,
  22.418 -0x5351561b, 0x10706855, 0xc42f40df, 0x3c3a1053,
  22.419 -0xf69febfb, 0xff8bb122, 0xfac03119, 0xb4fb191b,
  22.420 -0xa38bdce0, 0xd482d86f, 0xdf0471e9, 0x50ae9b61,
  22.421 -0xd1eba446, 0xa90ddc54, 0x2de8f508, 0x98c29d24,
  22.422 -0x80f47091, 0xa0794e53, 0xd080c155, 0x36f4d0d3,
  22.423 -0x10ce3a2b, 0x500c0707, 0x80f990b8, 0x4d2d791d,
  22.424 -0xd2ef4dce, 0x81baee17, 0x6838142d, 0x009f9aaf,
  22.425 -0xb42ab14b, 0xe86cdb64, 0x3075f94c, 0x4899187a,
  22.426 -0x5b08cb5f, 0x583d58c2, 0xbea4a1fa, 0xa19724d6,
  22.427 -0x2422f1cb, 0xdda24aa1, 0x1b92ddf1, 0xb0291cb4,
  22.428 -0x09cf8905, 0x1b7674d7, 0xd518a085, 0x392e2bee,
  22.429 -0x6dda5df1, 0x0e726fdc, 0x3986821c, 0x037ab0c2,
  22.430 -0x86085a5c, 0xa9249b29, 0x0ee0beb0, 0xb47a0876,
  22.431 -0x08b8a109, 0x34743374, 0x445d4b3f, 0x77d8428a,
  22.432 -0xbc329436, 0x5352c3df, 0xa1ba8d08, 0x24c62ca0,
  22.433 -0x445220e8, 0xdbd632c3, 0x01c350b0, 0x1d1d01b7,
  22.434 -0xada2663c, 0x4115a337, 0x5ea2e418, 0x8ce9d46b,
  22.435 -0x69bd81ba, 0x416dbaca, 0x160ff7ac, 0x770269c2,
  22.436 -0x6f442d0b, 0xa8efedee, 0xac2d131a, 0x72140324,
  22.437 -0x1cc4a605, 0x700750b4, 0x1636460d, 0x5cea203d,
  22.438 -0x7efe6fdd, 0xa0ba8363, 0x063a014a, 0x5aeb6f75,
  22.439 -0xac1398b4, 0x60640edd, 0x823a37ff, 0x95398fdb,
  22.440 -0x06774048, 0xf939c872, 0x7fdcc472, 0x742708e8,
  22.441 -0xe0c15716, 0xa4808b05, 0xfef43526, 0x413970af,
  22.442 -0x89a77340, 0x10458b35, 0x8d8e1067, 0x7f624661,
  22.443 -0xd8c25b9d, 0x1b76dcd7, 0x8637e6c1, 0x8bdba3ac,
  22.444 -0xf62ceda4, 0x8e8b31a9, 0xb0dbae4c, 0xff4c3611,
  22.445 -0xea11f801, 0xd319c129, 0x8d0d1f42, 0x845b6dd6,
  22.446 -0x440f991d, 0x392bb040, 0x5b09ea09, 0x085c7fab,
  22.447 -0x1638821a, 0xfcfb1e01, 0x25f02835, 0xb7290900,
  22.448 -0x3ddedf8b, 0xc1014f33, 0xcd01fb11, 0x5e4d5c11,
  22.449 -0xf07dd43b, 0x09f8ac0f, 0x5b5d0c1d, 0x85740171,
  22.450 -0x3a489e1a, 0x6d8dff38, 0x1584d7b4, 0xa34d8294,
  22.451 -0xdc1a154e, 0xc143eda7, 0x780de31d, 0xb91c6a79,
  22.452 -0x09dbfb82, 0x3db715bc, 0x88881072, 0x2e2c7c3e,
  22.453 -0x55068406, 0x68346a08, 0x3aa3e84f, 0xd30a6d03,
  22.454 -0x0e9458c7, 0x68746c5a, 0x6fc23218, 0xd6ed0c0e,
  22.455 -0xde290598, 0x2f50c706, 0x06b82ded, 0x2dd8112e,
  22.456 -0xaeb81127, 0x34d5b440, 0x3226f996, 0x088017f8,
  22.457 -0x688dcf69, 0x31697e34, 0x9f91d4db, 0x58c3c049,
  22.458 -0xea75bb83, 0xf0fe2304, 0xff57833a, 0xb9bab4b3,
  22.459 -0x6d85f628, 0x55692051, 0xef9350e8, 0x867bd3d9,
  22.460 -0x16726ca1, 0x38ab0351, 0x63a1aefb, 0xaea87f57,
  22.461 -0x3966dfc0, 0x383474fa, 0xa24f7607, 0x8e0c3155,
  22.462 -0x8e3cbebc, 0x02e14221, 0x5d6deb41, 0x026ce0f1,
  22.463 -0x16e9b44e, 0xc889d29c, 0x2ad58e24, 0xe8671a39,
  22.464 -0x25740e59, 0x6b0dc220, 0x72844005, 0x59de08c5,
  22.465 -0x57e34bff, 0xa850e2b8, 0xec5b7eac, 0x052ee52d,
  22.466 -0xcf1b7420, 0x604f3ce3, 0x4e6ff329, 0x55b0533b,
  22.467 -0x63e952dc, 0xc8bb516c, 0x19da29de, 0xc61ca78f,
  22.468 -0xa1b36918, 0x10ce154a, 0x2b5381b8, 0xfdebe928,
  22.469 -0xc0ddb1df, 0x3d802cfd, 0x25377f45, 0x0544af81,
  22.470 -0xec1c0d62, 0x2d021020, 0xe0a1ece0, 0x81146cc0,
  22.471 -0xf8f4cbca, 0x402d0914, 0xa553b58e, 0xd6804d4f,
  22.472 -0xed85ce48, 0xdd1bdb82, 0x1d8ad94f, 0x32eb1d44,
  22.473 -0xfc4c8ac8, 0x87e1c1a3, 0x34ce488f, 0x38a3f887,
  22.474 -0xdde25cc1, 0x881a99a2, 0x25992315, 0xb625e9f0,
  22.475 -0xc1dce20e, 0x90148da8, 0xbbf0c8f3, 0x2d840cb1,
  22.476 -0x84263c15, 0xb6bd2522, 0x7593dc06, 0xdc58756e,
  22.477 -0x9808232f, 0x222017ea, 0x9f1c85a2, 0x4ae80268,
  22.478 -0xb5a07304, 0x72b44ded, 0x7a8b47d5, 0x13468a0c,
  22.479 -0xc0da5762, 0x7c0336b0, 0xad7af50a, 0xb61a376f,
  22.480 -0x80186c4f, 0x047474e8, 0x0a7b7402, 0xa1bfe10c,
  22.481 -0xe9c82992, 0xbd9bff58, 0x1d35c01a, 0x7544869b,
  22.482 -0x7bc0486a, 0xe433a177, 0xeb89fb3b, 0x3ded0476,
  22.483 -0xb1b7868c, 0x488fcda1, 0x743d9242, 0x97cf5b6d,
  22.484 -0x2129945f, 0xaf509854, 0x254ab5e1, 0xa3ad269a,
  22.485 -0x5f6de019, 0xfed3e9c3, 0x6e01faa1, 0x036d0be9,
  22.486 -0x7d8484da, 0x251f10c0, 0xd5b86717, 0x28461213,
  22.487 -0x71b1323b, 0x783424a4, 0x4b60522a, 0x16fd3c0c,
  22.488 -0x3573282e, 0xb9d21b2c, 0x0d121e08, 0xda65a05b,
  22.489 -0xf88c77db, 0x8d05eb00, 0x29522e90, 0x26b07030,
  22.490 -0xdf940536, 0xd9733550, 0x07630763, 0x335a58a6,
  22.491 -0xf69c3a1a, 0xdfba3c1b, 0x74932505, 0x5106e60a,
  22.492 -0x1e2bbb88, 0x518973db, 0xd7169e0a, 0x82eefc04,
  22.493 -0x6b400d50, 0x5031048d, 0x0dc1998d, 0x511cd0b8,
  22.494 -0x845233a8, 0xd837f7e2, 0x756919e9, 0xd292d50f,
  22.495 -0xc37c026a, 0x2b56507b, 0x1827901d, 0x3c70e853,
  22.496 -0xa6bddc2e, 0x4a35c020, 0x5b5e0831, 0x3edc193b,
  22.497 -0x05c35e6d, 0xd98c52e8, 0x87d809e5, 0x98a3683f,
  22.498 -0x0e022404, 0x2e3a3deb, 0x6cae6fc5, 0x428d1c32,
  22.499 -0x77d766fc, 0xf6706b07, 0xeb046dff, 0xe9a8e890,
  22.500 -0x840bffff, 0x90420bf6, 0xeb1986ea, 0x49f8d5db,
  22.501 -0x64c4d81b, 0x1033ff8c, 0x35347760, 0x2fd52829,
  22.502 -0xa91b5e1b, 0x5553d59e, 0x6e3bd384, 0xb7f80d3d,
  22.503 -0x457fffdf, 0x3e74464c, 0x752ec031, 0x7d8175d1,
  22.504 -0x03133600, 0x31f4f11b, 0x60d639da, 0xbc75d389,
  22.505 -0xbd8eb5af, 0xd6533c41, 0x2cc8bba2, 0xe105c73d,
  22.506 -0xd6f16383, 0x1ca19bba, 0xb5b14525, 0x3d00bb41,
  22.507 -0xb1350001, 0x36b17049, 0xe80bfb1a, 0xa3a2bc02,
  22.508 -0x2dda9274, 0x7299b6e8, 0xb6340888, 0xa3238d75,
  22.509 -0x2707742b, 0x058c0320, 0xbe60ee06, 0xe8776013,
  22.510 -0x816a6bbb, 0x12d7cc06, 0x325e0bc0, 0xc2af0a8a,
  22.511 -0x11151811, 0x3da2d0af, 0x006b811d, 0xd37d8c53,
  22.512 -0x4e05a780, 0xbf0414ab, 0x7ccec46f, 0xc668cb47,
  22.513 -0xb823203d, 0x9df276c0, 0xe6e9dcdd, 0x19de63fe,
  22.514 -0xba128106, 0x2fbaf6dd, 0x093a1fba, 0x5920bf84,
  22.515 -0x23f859b9, 0x5c00e7e8, 0x39106a53, 0x318dc320,
  22.516 -0x883a99f6, 0x8b0ce82a, 0x78a3c6a5, 0x8c6af7d0,
  22.517 -0xbc2e3e9f, 0xa352d405, 0xe8b9a38d, 0x167a71b0,
  22.518 -0x5f31f58c, 0xc60ba984, 0xecea156a, 0xc10a0251,
  22.519 -0x17b785be, 0x95548d27, 0x80021c3d, 0x7442be99,
  22.520 -0x36ffe36a, 0x3907bd76, 0x514676df, 0x43924b8b,
  22.521 -0x5fdde056, 0x010814cb, 0x0c5651f1, 0x51044b03,
  22.522 -0xa5ad5647, 0x7c741ff8, 0x0303438a, 0x1ed90873,
  22.523 -0x15f67b65, 0x5d5503b0, 0xb6755493, 0xc19ac524,
  22.524 -0x2682219a, 0x7facb052, 0x555c6348, 0x0039bbd6,
  22.525 -0xa224a100, 0x2e7ac5dc, 0x6e9c01e8, 0xc52aafba,
  22.526 -0x25087c0c, 0x49dfe901, 0xb0b06051, 0x5009cb2b,
  22.527 -0xcc298a52, 0xe0910a3d, 0xf7d63972, 0x0c0d8b06,
  22.528 -0x5fdc9b5d, 0x41a4353f, 0xdb196368, 0x0ebc3cf6,
  22.529 -0xf14da2df, 0xd4e91375, 0x2f015a13, 0x8d0fc339,
  22.530 -0x89e0e128, 0xe5d86e19, 0x4a3faddc, 0xa46c4a3d,
  22.531 -0xee407983, 0xf8b185c2, 0x8bd975da, 0x1e491298,
  22.532 -0x60f30b04, 0x77fdb6d9, 0x1d5c8dc9, 0xcb0a0c21,
  22.533 -0x1a833050, 0x9c301568, 0xdb81a728, 0x00c4ff12,
  22.534 -0x60eb1572, 0x3987082f, 0xe214c103, 0x0c241a9b,
  22.535 -0x8b277330, 0x3efd4613, 0x8dfb46fc, 0x348d0c4b,
  22.536 -0x0ec08363, 0x762ef001, 0xbad94e9b, 0x76073930,
  22.537 -0xd57417c6, 0x992cadc5, 0x281b1e74, 0x963f16a0,
  22.538 -0x2c9e1f70, 0x44e4d203, 0x106b35c1, 0xde80119b,
  22.539 -0xe84bb56d, 0x1fe9ed5d, 0x0026badd, 0x364a8e00,
  22.540 -0xa8096d19, 0x3809ac0c, 0x2032b6c8, 0x39e9b809,
  22.541 -0x90774304, 0x0c8e5c2c, 0x1d3c6434, 0x757db4a1,
  22.542 -0xb8a4eb0e, 0x7d31ae01, 0x8410ab98, 0xe1c1c54b,
  22.543 -0xb4ae232d, 0x2f423a5a, 0xdb6d407b, 0xa7fb703c,
  22.544 -0xc181fd4f, 0x505b8b9d, 0x4902718b, 0xd406fc40,
  22.545 -0x2203ceb0, 0x04ecdb20, 0xc6c60153, 0x516f1120,
  22.546 -0x3df30ee8, 0xb7dced84, 0x4a31a1c3, 0xa1187466,
  22.547 -0x8ded08c4, 0x20ff205e, 0x73a40d72, 0x70996609,
  22.548 -0xc091616a, 0x4e89e3ea, 0x92db92c4, 0x688b801b,
  22.549 -0x86443841, 0x376b518e, 0x5853a1bc, 0x4307eb3c,
  22.550 -0x467d3c7e, 0x1fbdb4ac, 0xe2c13e8c, 0xe5757405,
  22.551 -0x596c8a8d, 0x1aeee52f, 0x7348763c, 0x82132f04,
  22.552 -0xdbb9bab4, 0x448663be, 0x1c440f76, 0x76400c50,
  22.553 -0xd0ddd5b9, 0xb3eb40bd, 0xa248058b, 0x10c18540,
  22.554 -0x2201941c, 0x94f545b4, 0x627ba378, 0x412ba6f7,
  22.555 -0x3838f983, 0x41213486, 0x98050b80, 0x5dceaf86,
  22.556 -0x47052601, 0x76101887, 0xae1121ee, 0x572eff17,
  22.557 -0xe29a8334, 0x1411ed8d, 0x5a7b3339, 0x351ab845,
  22.558 -0xdc9e011a, 0x1300f120, 0x039001a0, 0x120edba6,
  22.559 -0x6e1392d1, 0x6c10bd77, 0x2df7f886, 0x2689a731,
  22.560 -0xd1015905, 0x398bc839, 0x738dbff7, 0x76d03906,
  22.561 -0x181e4102, 0x201ef70e, 0x0c137376, 0x1f23d088,
  22.562 -0x6ec44b0a, 0x76953bc2, 0x0f108e0a, 0xebfc0739,
  22.563 -0x7609108f, 0x68153b0c, 0x87eefe11, 0x546c0dc2,
  22.564 -0x1c07ff02, 0xc221d0f7, 0xdd6cd139, 0x3efb8d86,
  22.565 -0x3bd1297f, 0x55320b38, 0x570e250b, 0xd0bbde64,
  22.566 -0xc0cae188, 0x42c04666, 0x7e83e3ec, 0x930105e3,
  22.567 -0xca0e8b28, 0x0c234b47, 0xb87cc943, 0xbc72de15,
  22.568 -0x46e9e381, 0x68084018, 0x1c7ef1fd, 0xb37cdc16,
  22.569 -0x31aec035, 0xb23e0843, 0x4954a9bd, 0x10481e77,
  22.570 -0x7c80049d, 0x6c01c930, 0x8f0d0d0d, 0x56dc2e60,
  22.571 -0x86e9b1e0, 0x7d11eaca, 0x1edf8f08, 0x6d12ad93,
  22.572 -0x66ee2906, 0xd84c57a3, 0x6eb1168f, 0x4f3f5de9,
  22.573 -0x9d889dbb, 0xe29b8028, 0x7d032950, 0x4c69ba66,
  22.574 -0x7c684c7e, 0x17e9c316, 0x65cc89fa, 0x12ac2927,
  22.575 -0x26859404, 0x24703576, 0x02281501, 0x8f8546c0,
  22.576 -0x00e800ce, 0x76160ca8, 0xe8bafe1b, 0x82fb3909,
  22.577 -0x730c0835, 0xd410014d, 0x45afed16, 0x222e73eb,
  22.578 -0xac7b05da, 0xc2f98ffe, 0x3109eac1, 0x19d629c9,
  22.579 -0xd80142cf, 0xd2f62c89, 0x3f891b1b, 0x29882fa3,
  22.580 -0x513989eb, 0xb8344922, 0xc8df6f27, 0xf06f06f1,
  22.581 -0xfde4ad72, 0x09f031fa, 0xecef5b6d, 0x5e4074c2,
  22.582 -0x09df3ea1, 0x58e80149, 0x295a36bf, 0x55304ec5,
  22.583 -0x57001553, 0x41416338, 0x332a1561, 0x8c6dbd83,
  22.584 -0x2594a191, 0xb2d8a592, 0x77f166c5, 0xb951e9b5,
  22.585 -0x1e08293d, 0x090b6496, 0xd7e83d0c, 0x2c3bc2c4,
  22.586 -0x5964a3b9, 0x250134f7, 0xe1550882, 0x71f82330,
  22.587 -0x37e9c712, 0x8eda9090, 0xd2382960, 0x0ddcda31,
  22.588 -0x73f02fda, 0xa0c1f625, 0x740e04b6, 0x2687b903,
  22.589 -0xc2c33468, 0x95315b81, 0x46fed1a6, 0x2bfc1083,
  22.590 -0xd93941d0, 0x9e0edb72, 0x7ea004e0, 0x0ccb54ea,
  22.591 -0x2ad12edd, 0xd2f71cc1, 0xd8027416, 0x25475c05,
  22.592 -0x02ba1cd2, 0x891d3d3d, 0x2d05efba, 0xc03df706,
  22.593 -0x78c80de7, 0x787817ab, 0x55b85f69, 0xe9f713ed,
  22.594 -0xa160dfdb, 0x1fc5c8b3, 0x290cfbc1, 0xdb5b35c3,
  22.595 -0x026c475a, 0x6f07d583, 0xe086c309, 0x027ad0be,
  22.596 -0xbbcbc129, 0xca2903e2, 0xdcdb4086, 0x16c24fd6,
  22.597 -0x800223db, 0xddbdb115, 0xd17711c8, 0x89430be2,
  22.598 -0xf67827d1, 0xeaac4149, 0xf5e8c05b, 0xbd0579d0,
  22.599 -0x646dab69, 0x15bf0f40, 0x05b6c268, 0x100c6cde,
  22.600 -0xab288aeb, 0xe3297f16, 0xb744700d, 0x841e8aa1,
  22.601 -0xf8d6fc30, 0x74144346, 0x9f418a1c, 0x88da8818,
  22.602 -0x06ff7ec8, 0x2bdf1c4b, 0x75c238df, 0x1f47460a,
  22.603 -0xf0bfe475, 0x7d1bd52f, 0xc3be0fdf, 0x04dfe183,
  22.604 -0x295ed1be, 0x721a3bd0, 0xdbf27814, 0x5b0a147f,
  22.605 -0x5e01eef7, 0x5b0e744c, 0x229bce5e, 0xc2f6fad2,
  22.606 -0x3842be06, 0x058d118a, 0xec76093c, 0x64b4382f,
  22.607 -0xad0eee92, 0xe005f495, 0x18b0518e, 0x31e1ea89,
  22.608 -0x15ff31f6, 0x884a184a, 0x7013644a, 0x021a00e5,
  22.609 -0xd07d34b2, 0x9d68e11b, 0x9a3b74d1, 0xffff6f77,
  22.610 -0x02ffa86f, 0x8942097f, 0x39802414, 0xc126752e,
  22.611 -0x094708e6, 0x7e0313c6, 0xf6ebf1c4, 0x7bf089c2,
  22.612 -0x0410c8c1, 0x8922c689, 0x0dc6bc30, 0x29a23947,
  22.613 -0x4407a4e8, 0xd1430a1f, 0xe9cfdee1, 0xf8bfedd6,
  22.614 -0x02eb1258, 0x64e460e4, 0xe1a8c09e, 0x0cd7a804,
  22.615 -0x097b86e0, 0x6f18c5e8, 0x0cb5e872, 0x18f89ba9,
  22.616 -0xe8f50168, 0x7f0bd00f, 0xfd51fbbf, 0xb097b8e8,
  22.617 -0xe864e6d1, 0xe6df08af, 0x08f8ec60, 0xa6eb1576,
  22.618 -0x834db627, 0x8b7bddfb, 0xf01d2e6e, 0x890d743a,
  22.619 -0x26e94b0e, 0x10bd4dd1, 0xe80d0642, 0xe29d67d5,
  22.620 -0xf619c3c8, 0xda3d80cf, 0x9bf9360e, 0xe82e2961,
  22.621 -0x23e810ab, 0xe5db6f7d, 0xc0958842, 0x6f13c064,
  22.622 -0x51cef7bb, 0x45eb5b7c, 0xe8187507, 0x92b34cff,
  22.623 -0xef2921bb, 0xae08cfe8, 0xc059e217, 0xfbce74b7,
  22.624 -0xfb07740d, 0x12280ab3, 0x74cb8c96, 0xf777fb70,
  22.625 -0xe8f33c77, 0x1bf878a2, 0x04041174, 0x789bba74,
  22.626 -0x75cc7dab, 0xff93badf, 0xba0b0aeb, 0x0f6baacf,
  22.627 -0x527c61f0, 0xbecdbe13, 0x861061d0, 0xe8db8410,
  22.628 -0x1361ce81, 0x1c5c1bf1, 0xe805eb58, 0xce72eb9a,
  22.629 -0xa306ee52, 0x1462f218, 0x1f681c27, 0x9f15f6c2,
  22.630 -0x1a2d708c, 0x07181a20, 0xd22ab041, 0xe05c8fb9,
  22.631 -0xd41fa7c1, 0x8dd0868d, 0xe20626be, 0xf8d63e0e,
  22.632 -0x688d08e4, 0xc1a350ed, 0xf00a818e, 0x433036ff,
  22.633 -0x990e80fc, 0xb900b08f, 0xddc6d7c1, 0x14c3a7c1,
  22.634 -0xa4a0c049, 0x4060cfbb, 0x8bedc19f, 0xdc831c93,
  22.635 -0xbf6c873c, 0xd577403d, 0xc4747817, 0x9d9a016f,
  22.636 -0x934b26bd, 0x4b4bc016, 0x04758385, 0x39f00af0,
  22.637 -0x0d72dfc2, 0x9e6a735c, 0x9672ea99, 0x6c68dbf7,
  22.638 -0x75e4c280, 0xa9656911, 0xefdfbf0a, 0xea8130c2,
  22.639 -0x47e28107, 0x6d2c543b, 0xe4135fff, 0x14208d0c,
  22.640 -0x40d70b61, 0xce7ea3af, 0x9e7f56e9, 0xe8066be3,
  22.641 -0x39748976, 0xf75557f8, 0x03558ff1, 0x685350fc,
  22.642 -0x864acfdc, 0x6e75e820, 0xe5a24553, 0xcb1a775f,
  22.643 -0x2e00cb44, 0x4b629b01, 0x7f061cac, 0x72badc1b,
  22.644 -0x0fff65e9, 0x62c6d61c, 0x540c3906, 0x8b810937,
  22.645 -0x3058bc21, 0xd8a71301, 0xc993b20e, 0x426467fc,
  22.646 -0xbb89d3f8, 0x0131fc2d, 0xc3a19148, 0x85bb267f,
  22.647 -0x8be375ff, 0xe0a73ab3, 0xd9ad1230, 0x2abbff09,
  22.648 -0x5db0febb, 0xf2f73905, 0x76f21fa4, 0x73113932,
  22.649 -0xb7c2df2c, 0x66b439b9, 0x48fa139a, 0x0df88ea1,
  22.650 -0xf5143a85, 0xbb14d338, 0x39b9b007, 0xe7893309,
  22.651 -0xf73bf019, 0x9a77a068, 0x81750a77, 0x868d79a5,
  22.652 -0x2a604b68, 0xa07ceee8, 0x168046bc, 0x18a26fd3,
  22.653 -0xd8b1a81d, 0xba15cf02, 0x038275b6, 0x289f78fc,
  22.654 -0x582b115e, 0x7d237d0e, 0x4be2e17a, 0x06a328a1,
  22.655 -0x2041a27b, 0x52e0bffc, 0x0fbc0e04, 0x9c0d999f,
  22.656 -0x0672e9d6, 0x8275035f, 0x32a13d08, 0xc2ae7e29,
  22.657 -0x508dc8f1, 0x6a1c02fc, 0xc6821972, 0x51d31559,
  22.658 -0x70269489, 0x1532b6f6, 0x4ec31024, 0x3b62dc5f,
  22.659 -0x168b0cea, 0xb1da29e6, 0x2302b08d, 0x3ef84add,
  22.660 -0x3e78230d, 0x42ec15db, 0x0afc42f1, 0x480d89b2,
  22.661 -0x2c0cea60, 0x9604e722, 0x2f8cd062, 0x408bc2d9,
  22.662 -0xd94687fc, 0x070d63a1, 0x3cc239ce, 0x1d4ca57d,
  22.663 -0xf1bacaa8, 0x6817b5e2, 0x528b3050, 0xe87523f8,
  22.664 -0xcea450ac, 0x78c12f8f, 0x8c766095, 0xa2e6a164,
  22.665 -0x2289f417, 0x70d4dba4, 0x10b87ab5, 0xa71ae084,
  22.666 -0xa8971021, 0xb99e92e8, 0xbafbd832, 0x03281a20,
  22.667 -0xec230453, 0x35d30293, 0xf2086d20, 0x5f8f67b0,
  22.668 -0xb2fb24db, 0x5fe4e84a, 0x26417e00, 0x603515f0,
  22.669 -0xe8780375, 0x55bb4334, 0x375a5827, 0x4b1a0edf,
  22.670 -0x114b68a2, 0x397ea143, 0xa10d3883, 0x66ec8f01,
  22.671 -0xefbe7c83, 0x2256346a, 0x75337820, 0xee740fd4,
  22.672 -0x1a74a17b, 0x0a4f5f08, 0xe6c75be8, 0xf4a722b6,
  22.673 -0x2aa722cc, 0xa186df28, 0xebe80abf, 0x6128a9e0,
  22.674 -0x0927dc43, 0x594f00b8, 0xdfe83658, 0x8b3be605,
  22.675 -0x1d773ec8, 0x708b40be, 0xdc30be83, 0x17df305f,
  22.676 -0x26d715b0, 0x939e1f84, 0xc821ac67, 0x8b91128e,
  22.677 -0x8f633c83, 0x9d15b2e9, 0x551a3a75, 0x9f37320b,
  22.678 -0x297891e3, 0x0806189a, 0x5b590637, 0x74036805,
  22.679 -0x3d125e61, 0xf1761c04, 0x5b9be951, 0x21080007,
  22.680 -0x0200147b, 0xffc42475, 0xaf049db0, 0x501c438d,
  22.681 -0x422b13e8, 0xdb6c06f8, 0x140618ca, 0x8db63116,
  22.682 -0x1a020084, 0x1ff39db0, 0x22a1c5d2, 0x94d3cdb0,
  22.683 -0x403fa5a9, 0x18407209, 0x7e0946e0, 0xc6661c2b,
  22.684 -0x59784503, 0xede25841, 0x8845fe28, 0x0143c603,
  22.685 -0x05000437, 0xa689544c, 0x664ac88b, 0xa7c5f6c5,
  22.686 -0xe74388ac, 0x10090618, 0x4148c3b5, 0xda1baca1,
  22.687 -0x0fed0170, 0x14c46b06, 0xde899a07, 0xf6aae8b3,
  22.688 -0x4cd42190, 0xfd12f8e5, 0xa2eb0342, 0x10fe1363,
  22.689 -0x51a4e16d, 0x10403e0f, 0x410b0539, 0x643ef42b,
  22.690 -0x02411f80, 0x324236a6, 0x2df620c0, 0xee78342d,
  22.691 -0xaa14c294, 0x2feb29bf, 0xec2da8d1, 0xad4194b6,
  22.692 -0xcd408a02, 0x02dbf6f0, 0x3c23f83c, 0xe9ec753c,
  22.693 -0x46a56809, 0x609c76ee, 0x0fe302b6, 0xb074d4f0,
  22.694 -0x68891b01, 0xe5737b31, 0xed15441c, 0x0c6d5b50,
  22.695 -0x8819a370, 0x8a54d6db, 0x110688bf, 0xa89ad8c6,
  22.696 -0x4379b377, 0xe514e883, 0x01db0c85, 0xe801a0fd,
  22.697 -0x58c648e7, 0x5c16dd1e, 0x225a9837, 0xe8034356,
  22.698 -0x30ed10cd, 0xc65219c8, 0x2f112686, 0xf79ee228,
  22.699 -0x84e9c44e, 0x28272445, 0xa160991f, 0xb53f11ca,
  22.700 -0x110fb1e8, 0x4bc37ea0, 0xb7727e8d, 0x46c3eedb,
  22.701 -0xeb835114, 0x0edf860c, 0x5f030247, 0x0fc07304,
  22.702 -0x79475d0b, 0x6e3de8f0, 0x4536ebd5, 0x8f110aaf,
  22.703 -0x0623c35f, 0x823a7d07, 0x008925c4, 0x1f16c70f,
  22.704 -0x4fe50ca3, 0xc702e804, 0x030e0369, 0x33e8017e,
  22.705 -0x2a06eefc, 0xc7fa163c, 0x0df9834e, 0x5015e276,
  22.706 -0x40b475bd, 0x66e40c4c, 0x090d5a07, 0x6e9db321,
  22.707 -0xc066ed09, 0xd188002b, 0xad510bf6, 0x097d800a,
  22.708 -0xd8640f11, 0xd827db53, 0xe4555600, 0x0340c4c3,
  22.709 -0xcae76af6, 0x8f5dce54, 0x103cdfc6, 0xbd8d028c,
  22.710 -0x785fb3b0, 0x74b52c0f, 0x05663d39, 0x26778d04,
  22.711 -0x821fe336, 0x6f8db656, 0xfa3ee80e, 0x00d81330,
  22.712 -0xbae77dda, 0x7eddca4b, 0x11088cdb, 0xc7f63b0f,
  22.713 -0x51021b45, 0xdfb18eff, 0x531c5f38, 0x310ce856,
  22.714 -0x1677de0c, 0x20c78356, 0x1b60e857, 0x27fad9ef,
  22.715 -0x34680411, 0x5a0fea74, 0x06f336ec, 0xda316468,
  22.716 -0x666a550f, 0xd6b708e0, 0x402d0792, 0xe0e979fb,
  22.717 -0x26c08eda, 0xdbf70595, 0x0fc4852c, 0x16d18857,
  22.718 -0x740cc58c, 0x0b6a1b81, 0xc0316243, 0x12212548,
  22.719 -0xbff1bfc4, 0x0e6a8d38, 0xc60e528a, 0x0f0a3cbb,
  22.720 -0x42fea087, 0xc6e28d53, 0x7b899390, 0xa755682c,
  22.721 -0xb0544ecd, 0xa9433734, 0xf7fe7fbb, 0x2716c13f,
  22.722 -0xc674821a, 0x6ac1c3f4, 0x6519617b, 0xaf8f0c84,
  22.723 -0x62b380cf, 0xf4582478, 0x7046e91c, 0x1e7843a8,
  22.724 -0x7bcd8f3a, 0x3afc6c9b, 0x8422c683, 0x04560845,
  22.725 -0xa5df742b, 0xd6867572, 0x1387805c, 0x6be1836b,
  22.726 -0x277e8501, 0x26e89706, 0x6316d839, 0x4e0f30fd,
  22.727 -0xf88aaf6c, 0x0ba4f7b0, 0x4c1de3e9, 0xdb05dc3d,
  22.728 -0xff6dc286, 0x3e13cf8f, 0x093414ea, 0x14cffdb8,
  22.729 -0x0c8b74ae, 0x08748d24, 0x012278f3, 0x31cf12e0,
  22.730 -0x73cfd129, 0x736db60e, 0x15297785, 0x2034450e,
  22.731 -0x0efe030e, 0x0f7cf6f4, 0xfc15fdff, 0x01dfe7eb,
  22.732 -0x623f3468, 0xc42ba04d, 0x186ee8fd, 0xf8982fc4,
  22.733 -0x057e074c, 0xf81e07b9, 0x84a5fc52, 0xe8e3d3c3,
  22.734 -0xc751f2f6, 0xaa071c71, 0xa437d3a5, 0x29f9f799,
  22.735 -0xd1125fb1, 0xa4c1bbda, 0x8b54273c, 0xd6381048,
  22.736 -0x77d341b1, 0xa173748f, 0xca12c134, 0xa04323c8,
  22.737 -0xfe248b54, 0x96b5dbaa, 0xaa4f8db1, 0x460813b8,
  22.738 -0x5b046ec4, 0x07fe766d, 0x6274a1f3, 0x0616fc78,
  22.739 -0xe0d1c307, 0x1318bc80, 0xb6225ede, 0x05550618,
  22.740 -0x0604f07e, 0x41e06174, 0x54c03af7, 0xb4682303,
  22.741 -0x43c4cb80, 0x1917eb30, 0xec40b703, 0x54e72ba3,
  22.742 -0xd486d91b, 0x61101980, 0xf8e6f8fc, 0x31770fa1,
  22.743 -0x6851df03, 0x22a664c3, 0x01831487, 0xdc663804,
  22.744 -0x397df6ae, 0x43120601, 0x0406146d, 0x1554ed8c,
  22.745 -0x57171640, 0xd5b8c0a9, 0x55241414, 0x94cd252c,
  22.746 -0x13dd2c8a, 0x7450182a, 0xa96c019a, 0x4f0ebe22,
  22.747 -0x438d68d8, 0xf876506c, 0xb801b3d6, 0x217016e0,
  22.748 -0xc3db0ada, 0x0b39638f, 0xf6810b86, 0x7c3045b6,
  22.749 -0xb4199175, 0x2ee26b27, 0xb1df7526, 0x3e546856,
  22.750 -0x5914b80c, 0xee526b60, 0x18ede9c3, 0x7d28b977,
  22.751 -0x39197a5d, 0x3c6a78c5, 0xc69a50b8, 0x6604fc36,
  22.752 -0xe8823ca3, 0x9318341b, 0xe22c0452, 0x5b14cdb1,
  22.753 -0xc7000f5e, 0x9e6315d7, 0x1c02ea69, 0xe71a2971,
  22.754 -0xbf1c4a24, 0x8cfc360b, 0x06427437, 0x32ff2550,
  22.755 -0x6834df68, 0x2078e81e, 0x2be818ee, 0x592a1f1e,
  22.756 -0x665ac442, 0x671fbe5b, 0xdd10e71e, 0xec473ae7,
  22.757 -0xec112040, 0xc7220b14, 0x0722d9ef, 0x713a0224,
  22.758 -0x1354cf04, 0xbfa805a0, 0xcdbddb88, 0x4413abc2,
  22.759 -0x61932c35, 0xc5e8ff23, 0x23113b68, 0x22e9d99d,
  22.760 -0x3de0f01a, 0xcd04e38e, 0xc7b4ce0a, 0x502bfa6e,
  22.761 -0xd163e9ac, 0x19500176, 0xddb0b40d, 0x987ee013,
  22.762 -0xfb2d9136, 0xee12c76a, 0xc7561544, 0x2ec5eb37,
  22.763 -0xfa72e105, 0x0088e245, 0xb5b6dec9, 0x40b43de2,
  22.764 -0x0ca3affa, 0x9764aed9, 0x5002efaa, 0xf100f4e0,
  22.765 -0x6c14ef73, 0x5bc1ace8, 0x7b01ecfe, 0xba0750ee,
  22.766 -0xfe5de8cc, 0x0e1b7d68, 0xcc45843c, 0x0d028b5b,
  22.767 -0x71164848, 0x95dbdecc, 0xc1d4b8c2, 0x3d791302,
  22.768 -0xe118c30e, 0xf1bdd59d, 0x08f6688d, 0x5aa34714,
  22.769 -0x1ae9154a, 0x1c19e724, 0x6db10744, 0x204e0512,
  22.770 -0xb2f0602c, 0x84c076c7, 0x200da8e9, 0x206aa0c1,
  22.771 -0x984d9e10, 0x869a0263, 0x73ede4cd, 0xce04ed87,
  22.772 -0xc60fd40d, 0x03b1b520, 0xfda7c09d, 0xeb3a4d79,
  22.773 -0xc07fed04, 0x065d0fe9, 0x578da475, 0xc301492c,
  22.774 -0x0873752e, 0x6aff101a, 0x2f03426c, 0x105c8dd9,
  22.775 -0xf29ae732, 0x60c76ecc, 0x98fd61db, 0x16dc87a0,
  22.776 -0x1b52c261, 0xd009d82f, 0x010e8bb3, 0x8af67360,
  22.777 -0x2e1cef38, 0x13116c0d, 0x1f073622, 0x96a6ba29,
  22.778 -0x01780d72, 0x38124c59, 0xbb16e284, 0xdaf07549,
  22.779 -0x58c6bdeb, 0x7d05820a, 0xb05742b8, 0x1e10691d,
  22.780 -0x0249d039, 0xc6c0f040, 0xd5192458, 0xef790206,
  22.781 -0x12205e16, 0x2e472560, 0x69a1e789, 0x36f1b669,
  22.782 -0xaa3da3a6, 0x528ca541, 0xfe42768e, 0xa6e74805,
  22.783 -0x704d72d8, 0x85b19c0f, 0x7c0ac919, 0xb9c14188,
  22.784 -0x9ae9885b, 0x0ec1bef1, 0x59950bc7, 0x8b832115,
  22.785 -0xb4771aea, 0x4f72537e, 0x416dc50d, 0xce7d8a06,
  22.786 -0x2038fece, 0x098461dc, 0x6c057363, 0x86d26e08,
  22.787 -0xe0e8f197, 0x21c00d1a, 0x12107e42, 0xbf1e17c6,
  22.788 -0x7878b64d, 0xfc18306c, 0x87c49d38, 0x063c36e8,
  22.789 -0x7fd7e92d, 0xb1a58055, 0x5010da17, 0x26e857c5,
  22.790 -0x9a1819ee, 0x14afd885, 0xb4e997ab, 0x202520ae,
  22.791 -0xbd5285c2, 0x1a25522e, 0x809a9c1f, 0x531df08b,
  22.792 -0x28cc7569, 0x1ffd84fe, 0x63e9018b, 0x6a1c6efd,
  22.793 -0x35f65e80, 0x10a18a34, 0x0c040fb9, 0xd2c1c245,
  22.794 -0x428258a3, 0xad74d3ed, 0xd05ba841, 0xeefbae5a,
  22.795 -0xa3d84f63, 0xd703e535, 0x7e1adb31, 0xaf747df3,
  22.796 -0xcc22a31a, 0x257d2097, 0x8291a12f, 0x6c21209f,
  22.797 -0xfbf4fc8b, 0x8c24bce3, 0x8024b42f, 0xa4249c06,
  22.798 -0xdfffff83, 0x981583c6, 0x1e1e2c8d, 0xd8841a9f,
  22.799 -0x24d14f06, 0x44740b84, 0x7d3e0abc, 0x1801db04,
  22.800 -0xd02ce380, 0xd2711a04, 0x9ebe945f, 0x0d020886,
  22.801 -0xdb90a148, 0x44afc83d, 0x011f28a1, 0x520a9b4a,
  22.802 -0x816c7d17, 0x511868a5, 0x0c553089, 0xec3e4153,
  22.803 -0xc140ef61, 0x0131ec09, 0xc9f525c4, 0x47e83988,
  22.804 -0x8eb7cb1f, 0xf9b16b94, 0xbc9da004, 0x2fc5a874,
  22.805 -0xea0e8edb, 0x1b88b6f4, 0x0b73ee39, 0x3edd93bd,
  22.806 -0x0a467786, 0x89b8f572, 0x2854a82d, 0x8e05afc5,
  22.807 -0x20524c75, 0x2e186a15, 0xbd5744c2, 0x6c34e840,
  22.808 -0xb8c868b8, 0x2c6c50be, 0x2e0452f4, 0x5c1ebb64,
  22.809 -0x0141b67e, 0xbab60dbf, 0xf130047b, 0xd178225e,
  22.810 -0x44de1bdd, 0x687700dd, 0x423a49a8, 0x15fffffe,
  22.811 -0xd4c362c6, 0xa180d988, 0x27badf7e, 0x6a30a090,
  22.812 -0x804bac84, 0x75d8313d, 0x56c33042, 0x541a7f02,
  22.813 -0xe1b61135, 0x0330e5ff, 0x568a2b75, 0x03fa8001,
  22.814 -0x8d131776, 0x8b9b8346, 0xba68c4fd, 0xee1e37e8,
  22.815 -0xb3c2851b, 0xff0be027, 0x22e90230, 0xaf5c12c1,
  22.816 -0x576a580b, 0x156e837b, 0xcaab9b49, 0x75d284f6,
  22.817 -0xfb351a7f, 0x55bb3608, 0x08c050ac, 0x0801841d,
  22.818 -0x196465df, 0xb3810e2b, 0xfd308001, 0xa02361db,
  22.819 -0x961a9789, 0xff6a9275, 0xdfd805c6, 0x7318ee85,
  22.820 -0x006a1246, 0xfdd0e88e, 0xaa1c05e6, 0x560019b3,
  22.821 -0xc1f0ccdb, 0x8ee9b656, 0x01c18202, 0xdfb1eadf,
  22.822 -0x08954e74, 0xeb948f01, 0x5256ed89, 0xad1f6fe8,
  22.823 -0xa1791d0e, 0xff9ca47a, 0xbd287c22, 0x86cf0ba3,
  22.824 -0xc735c589, 0x32d84461, 0x891a483d, 0x54d7e0cb,
  22.825 -0xec04e96c, 0xfbad8a6e, 0x88609d09, 0x108b0e66,
  22.826 -0x5eb70310, 0x1409c218, 0xfedae78c, 0x48aa5edb,
  22.827 -0x311a7a86, 0x99ec8ec9, 0x95bfc1da, 0x73d13830,
  22.828 -0x3200b817, 0xed1839e8, 0xaf1616df, 0x1144dd41,
  22.829 -0xf980f372, 0x08487405, 0x09b68380, 0x31d14817,
  22.830 -0x0bad7607, 0xc9148db5, 0xf23db92a, 0x4b4535df,
  22.831 -0x4cd2c047, 0x3c02416c, 0x63db763c, 0xb002ebb5,
  22.832 -0x5051a13c, 0x5003c08d, 0x54309ad4, 0xd51c8091,
  22.833 -0x16e81964, 0x10bf3cd4, 0x510dd503, 0xa8cf4388,
  22.834 -0xafa3e916, 0xfe1d1f83, 0xc9fef7c8, 0xabd3fd80,
  22.835 -0x7e803e05, 0xea86a301, 0x9d981e00, 0x008680f0,
  22.836 -0x9a4f6b62, 0x1b724762, 0x150625c6, 0x1346fe58,
  22.837 -0x9c3df6e9, 0x285347b6, 0xa39a16a3, 0x3a31493d,
  22.838 -0xe8476915, 0xaf4b1c27, 0x3b1f24b6, 0x8323db93,
  22.839 -0xfb3e4e1e, 0x5ae904eb, 0x93143bfc, 0xa4b8e400,
  22.840 -0xead1a16e, 0xce6f803b, 0x060af009, 0xf80f2479,
  22.841 -0x31fbd731, 0x46e0dc37, 0x8d7d2771, 0x0180027e,
  22.842 -0x55c139f8, 0x76c7aa3f, 0x758e5d83, 0x042c241d,
  22.843 -0x25781f80, 0xbab83034, 0xef6e7408, 0x4b731c77,
  22.844 -0x7b472843, 0x6f2d40ca, 0x7552385f, 0xb6641b44,
  22.845 -0x877c5147, 0x175d3b03, 0x5e7cb7c0, 0xfae9a572,
  22.846 -0x44c0b61e, 0x0f7520dd, 0x570dec09, 0xe871e827,
  22.847 -0xbbe90d4f, 0xd3e9340f, 0x3dfffffc, 0xc425e80b,
  22.848 -0x1af9dd36, 0x8842bd15, 0xbe01e998, 0xf8838952,
  22.849 -0x6181e99c, 0x8db76f64, 0xa2d1f041, 0x2f5c1e21,
  22.850 -0xadc518c0, 0x74c9ed20, 0x75631326, 0x85813316,
  22.851 -0x0ed03115, 0x2a5ff899, 0xf8b41176, 0x1ba81d3c,
  22.852 -0x2c3baf1b, 0x04290674, 0x036ff77c, 0x75022a7f,
  22.853 -0x1a38a1f4, 0x75044339, 0x1456c3ea, 0x0fab816e,
  22.854 -0xb000f269, 0xc3edc549, 0x3e47f7ec, 0x2e1a73f1,
  22.855 -0x81a0b96d, 0xb49fc558, 0xe3260756, 0x1a599819,
  22.856 -0x7d7ff511, 0x9d16ba82, 0xbfac1422, 0xa0c3636e,
  22.857 -0xc03104de, 0x1a7a06b9, 0x85db6874, 0x4053783c,
  22.858 -0xaa7076d2, 0x48570990, 0xd9a2fa3b, 0xf0a3e44b,
  22.859 -0xc108afbe, 0x945bddc4, 0xba7f6b48, 0x107e21ff,
  22.860 -0x55a83a3d, 0xba6630fb, 0x00c58ef7, 0xa5805829,
  22.861 -0x5306c0bc, 0x118ab587, 0xa1573fda, 0x85e2acb6,
  22.862 -0xf9b14800, 0xf01ddfe8, 0x13fd2ac4, 0xc1011a87,
  22.863 -0xf8f602ef, 0xea848f44, 0xba0f49ec, 0x43aa8570,
  22.864 -0x6e72685a, 0x2b6c388c, 0x44671396, 0x4e275718,
  22.865 -0x244a66b8, 0x09210547, 0x0656558f, 0x27194be8,
  22.866 -0xd385df0f, 0xe91a996e, 0xa314f2eb, 0xcf82f57e,
  22.867 -0x047316ba, 0x52f5d7f3, 0x056c4359, 0x5660d02b,
  22.868 -0xbba0c5ed, 0x57b1386e, 0x81d7c25c, 0x680078ec,
  22.869 -0xe06dba9c, 0x1608d403, 0x0492a8ac, 0xe16e20a2,
  22.870 -0xa1fa1f7c, 0x1e210aa4, 0x47803408, 0x22a2d8cf,
  22.871 -0x3723a616, 0x2d7eedca, 0x24a21ab6, 0x4740b90c,
  22.872 -0xeb95dba7, 0xc279ef82, 0x3d04013c, 0xf8184d0c,
  22.873 -0x96e8063e, 0x51d02ab6, 0xd1ed91f3, 0x6e010c96,
  22.874 -0x7818ff10, 0x1554c107, 0x18050385, 0x03958378,
  22.875 -0x0fa3f7d3, 0x0261b669, 0x2d2f2295, 0x0d0c9ae6,
  22.876 -0x73ce8d06, 0x3232182b, 0x5416c1f2, 0x3887e068,
  22.877 -0x4dfbf201, 0x800f1037, 0x680d6a52, 0xe917931c,
  22.878 -0xcd006017, 0xff8dc632, 0xf4e010dc, 0xe814bec7,
  22.879 -0x713df15c, 0xed9b70e9, 0x89ba2e1c, 0x284b5ff7,
  22.880 -0x31cba13b, 0x8f50fe9c, 0x7d581f9a, 0x242cfbfb,
  22.881 -0x436afb68, 0xe8ffb66a, 0xcafaf2dc, 0x7ea26bbd,
  22.882 -0x246a28ff, 0x6a561ce8, 0xc91bd175, 0xb58ee8c7,
  22.883 -0x6c4838f2, 0x687f04f8, 0x5728eb00, 0x0c4ece0c,
  22.884 -0xc4ddee51, 0x09cf587b, 0x1adc8ca1, 0xd8225ee8,
  22.885 -0x892fde0d, 0x2dc729df, 0xd615d47f, 0x638455ab,
  22.886 -0x5a7f0424, 0x85ee8484, 0x13570c03, 0x6384e32b,
  22.887 -0xfa2b1cf1, 0x71611d16, 0x420760d6, 0x0416e31d,
  22.888 -0x9192643a, 0xcc3d162e, 0x64109bf0, 0x43b543e4,
  22.889 -0x66c27316, 0x319e99a4, 0x409a4cdb, 0xebff8b38,
  22.890 -0x13fb8309, 0xf9858f0f, 0x0c581455, 0x02c7e118,
  22.891 -0xf69f5f18, 0x010ec612, 0x0750f5f0, 0x4a11ed49,
  22.892 -0x43c2767c, 0x05e5b108, 0x2426a875, 0xde3f65b6,
  22.893 -0xf939f685, 0x4ae4bd81, 0x7548423c, 0x6c348143,
  22.894 -0x025d0f82, 0x38ec3d8c, 0x16b70513, 0x970a6d45,
  22.895 -0x20641d8e, 0x4ced9df3, 0x9a941d1a, 0xbb08ece7,
  22.896 -0x5d1ab323, 0x3b703102, 0x5d008316, 0xffe53374,
  22.897 -0x27536fb3, 0x838d993e, 0x00831f1b, 0xb6050807,
  22.898 -0x2e7768df, 0x470412d3, 0xd78ed23c, 0xc36cbfad,
  22.899 -0xcf483944, 0x42c8daa1, 0x50ba8110, 0x77024c03,
  22.900 -0xc64784fb, 0x155abd51, 0xa068495a, 0xbc0dc22f,
  22.901 -0x41575a92, 0xad86a7a3, 0x03841af0, 0xbe681535,
  22.902 -0x03418df0, 0x02756dd2, 0x0267682e, 0x6899fa78,
  22.903 -0x7342c5bc, 0x0d3411ae, 0x0e6aa3eb, 0x8158f796,
  22.904 -0xa91f30c1, 0x78048368, 0xff3bf840, 0x28e82835,
  22.905 -0x6ce89ef0, 0xf24c21ee, 0xebb49448, 0x307b6a8a,
  22.906 -0xd0533642, 0x1482e8d9, 0x303d82d7, 0x0068453e,
  22.907 -0xc9146b77, 0xc1c8c23b, 0xfffe3cbc, 0xbddc68de,
  22.908 -0xfd848d67, 0x00001184, 0xe81e3fa7, 0xd81e48e4,
  22.909 -0xc7a4ef83, 0xedaa0fed, 0xe9a2be88, 0xb21f69e2,
  22.910 -0xf809a804, 0x39ba09bb, 0xf738e38e, 0x01029be2,
  22.911 -0xc211eeb7, 0x20e7e944, 0xc0310090, 0x182144d1,
  22.912 -0x3867f292, 0x3aa9044b, 0xd1d2ccca, 0x548c04f1,
  22.913 -0xf6fb040f, 0x1d102d02, 0x132703a3, 0x7f16aaa9,
  22.914 -0xd3518be1, 0x5c418bf2, 0x2ce50e77, 0x771806e8,
  22.915 -0xc1ad8665, 0x451d51de, 0x8b150c7f, 0x80835457,
  22.916 -0x0c8dfc5b, 0xd5891c76, 0xf78dd889, 0x51a96df5,
  22.917 -0x07df57db, 0x1119cf32, 0xba69ba97, 0x446c277c,
  22.918 -0x9f396868, 0xfdd86478, 0x7877c442, 0x7277df03,
  22.919 -0x4213548b, 0x5008b758, 0x68e28a21, 0x316b5e72,
  22.920 -0x1977b788, 0xa35876d8, 0x9788d44d, 0x6110ae80,
  22.921 -0x4703e41c, 0x6ac1536c, 0xfe10786b, 0x2ce2d913,
  22.922 -0xc77bdb15, 0x22ff5378, 0x04ac3860, 0x44f43c14,
  22.923 -0x33906c38, 0x608207fc, 0xc3299b90, 0x4ae9d619,
  22.924 -0x00db6f60, 0x04e1a37c, 0x77034651, 0x20c0336c,
  22.925 -0x4e481197, 0x46528879, 0x79f858fc, 0x7b5650ad,
  22.926 -0x0fe0f281, 0x3109e0c5, 0x89da486c, 0x751721c7,
  22.927 -0xed31879b, 0xbd3bd62e, 0x7860d168, 0xe200aa8d,
  22.928 -0xeb0e2034, 0xe86d16c6, 0x1f75d829, 0xecd65c07,
  22.929 -0x07b7a0bb, 0xd875c289, 0xf7de75eb, 0x20a11889,
  22.930 -0x3f505420, 0x18954bee, 0x0341ed50, 0x104c40ff,
  22.931 -0x6e2b187c, 0x30c12a36, 0x1c42928b, 0x0038005f,
  22.932 -0x8948dcde, 0x82277842, 0x4257001b, 0x41db6774,
  22.933 -0x688b6774, 0x68b57c3e, 0x7360b19b, 0xa22ee4c0,
  22.934 -0x0aa77838, 0x3642856d, 0x84358fe0, 0x40dc2076,
  22.935 -0x3f45038b, 0x86eebb71, 0x4cf3a753, 0x4819db31,
  22.936 -0x6f394c31, 0xd3c7ff86, 0x06720fb9, 0xc1396f77,
  22.937 -0x441a6b77, 0xabb87451, 0xa7403609, 0xd17ee281,
  22.938 -0xaafa5ac7, 0x4428d06e, 0x18131ca9, 0xc41d6c70,
  22.939 -0xb32c2655, 0xec3ecf78, 0x66602558, 0xc3f6ae9c,
  22.940 -0xb59d4b74, 0xfebddf6b, 0x2b514674, 0x86502826,
  22.941 -0x9dc2a74c, 0x5a582bdd, 0x2c8f0c53, 0xee1bec78,
  22.942 -0x8b5c46fe, 0xc8296056, 0xda194876, 0xc8014c56,
  22.943 -0xd7a5da11, 0xe93e0f04, 0x36b3ff6e, 0x47588250,
  22.944 -0x525470fc, 0x40ba4a50, 0x6efdd0c7, 0x280fc7bd,
  22.945 -0xcd880f0c, 0xb717c3a6, 0x849ff1e0, 0xb18d71dd,
  22.946 -0x203dfbec, 0xba50415e, 0x3a3db8d4, 0x28712360,
  22.947 -0x4124b3fe, 0x3e4d8f84, 0x686e831c, 0x0dda53b3,
  22.948 -0xe20e1da0, 0xbd392ba3, 0x0a025120, 0xbb36c1b1,
  22.949 -0xd5781639, 0x02964ca0, 0xda8aa7e8, 0xfca5287b,
  22.950 -0xdd6e5a83, 0x9b6a9d05, 0xd374a3e9, 0x9e9ace01,
  22.951 -0x11625fa7, 0x0afa53df, 0x0a3df007, 0x29f137db,
  22.952 -0xdad719c6, 0x4655cf01, 0xd29c1702, 0xbddc8b50,
  22.953 -0x2fc217be, 0x41a279c9, 0x6c93100a, 0x2a41614e,
  22.954 -0xfd4bdce0, 0x4041b458, 0x2c5b284b, 0x44f59ac4,
  22.955 -0x961bd8f7, 0x300040c5, 0x55165763, 0xd76274bf,
  22.956 -0x31de98b0, 0x7c887ff8, 0xdcaf8946, 0x855d202c,
  22.957 -0x7bb1bec0, 0x94c60222, 0x50047a83, 0x0fb1c03d,
  22.958 -0x25502823, 0x309cdd02, 0x46ddc8ee, 0x3c2d02ae,
  22.959 -0x1b84bd2b, 0x76e80206, 0x072d3cdb, 0x3a800d89,
  22.960 -0xa4c5ac3e, 0x7b8de78b, 0x41387c74, 0x0f200aec,
  22.961 -0x3f6b0740, 0x5202c3b8, 0x89980954, 0x9b18502d,
  22.962 -0x49a97c55, 0x36bab62d, 0x296bc043, 0x5c7c20a3,
  22.963 -0xfc5330c0, 0x3a1da3be, 0x2715d772, 0xfbb7e203,
  22.964 -0x05b83589, 0xc232b4a3, 0xed83adfc, 0x57be26f8,
  22.965 -0x57206142, 0x4efc52c3, 0x41e8e11a, 0x481834dc,
  22.966 -0x5484ab20, 0x19ad8ff6, 0x12c5987e, 0x00000bc7,
  22.967 -0xf43c2141, 0x844a1c60, 0x9061e423, 0x7d0e91ea,
  22.968 -0x8e061a42, 0xe7272470, 0xe54802db, 0x1d8376fe,
  22.969 -0x71e952a4, 0xeb66e3db, 0xe82cd197, 0x8df909f9,
  22.970 -0x108631b8, 0x842b66d0, 0x0ad871e3, 0xdb241e5a,
  22.971 -0xdd1074dc, 0x7a80890d, 0xbefe4e1b, 0xaef17df7,
  22.972 -0x72071111, 0x41d1e915, 0x87dfbb7c, 0x2b7838dd,
  22.973 -0xfb813b43, 0x118779fe, 0x66c3f634, 0x07eeb7f4,
  22.974 -0x2ba4df75, 0x57530eab, 0x5223d9e8, 0x8986bb18,
  22.975 -0xb910cd8a, 0xe055ec24, 0x8d34f05f, 0xfdf8fd46,
  22.976 -0xaddcb877, 0x1d56fa23, 0x10edc124, 0xba040899,
  22.977 -0xec110a8d, 0x8d2b087b, 0x7954da0b, 0x18ba2d44,
  22.978 -0xa805c1b7, 0xfa68bf15, 0xb678a030, 0x042c0c13,
  22.979 -0x230a2706, 0x177384ed, 0x345c02a0, 0x051acf01,
  22.980 -0xe9722468, 0x7f62cf04, 0x4274d2c4, 0x35731440,
  22.981 -0xdf64ece0, 0x08e9c16e, 0x73280beb, 0xee753f21,
  22.982 -0x8758235d, 0x3943dbed, 0x1ee175d5, 0x02b06105,
  22.983 -0x21df4998, 0x1e2f014b, 0x5a303f4d, 0xe2980bba,
  22.984 -0x2d428819, 0x066602c3, 0x7ba91d0a, 0x04428ddc,
  22.985 -0x45060727, 0xf6dc306a, 0xc7c5d91a, 0xc9693023,
  22.986 -0xee93c40a, 0x42b21758, 0x146ae814, 0x61d5a71f,
  22.987 -0x643c9a01, 0xfb52be05, 0x24d6f04d, 0xeb0c2418,
  22.988 -0x24fe8608, 0x56552e7f, 0xe089ff29, 0x45287da4,
  22.989 -0x74fce283, 0xe1cda8e1, 0x7401ee4e, 0x268622dd,
  22.990 -0xb0383579, 0x1050f0d0, 0x174fd27e, 0xd4873d42,
  22.991 -0x612ddd02, 0x1a045019, 0x43424d55, 0x8a47236c,
  22.992 -0xdd6a172c, 0x688446f5, 0xc418c30b, 0xdb5b547c,
  22.993 -0xf758d488, 0x3bdbbc1a, 0xedafd76b, 0xd0b5e9fd,
  22.994 -0x58456110, 0xb708ad0a, 0x1a700319, 0x1adf2ddd,
  22.995 -0x0f0d837b, 0xf6e8def8, 0x5d544721, 0x74a68a7b,
  22.996 -0x6dc6f842, 0xbc571903, 0xfb008af1, 0xbee9474f,
  22.997 -0x468295b4, 0x18e44241, 0x52a3601a, 0x805b56db,
  22.998 -0x7457c272, 0x410adfdf, 0x4c0e0c39, 0xc3ca44f7,
  22.999 -0xe7ab7516, 0x44aece04, 0xb7b6d0d9, 0xce443970,
 22.1000 -0xd277e08d, 0xb1ae3c1c, 0xc8da76f0, 0x0816ae04,
 22.1001 -0xc8b62fd8, 0x3e39886d, 0xfd093b84, 0x6dec3e14,
 22.1002 -0x2fb5630d, 0xeb042f54, 0x4b090ed2, 0x3c15a7e1,
 22.1003 -0x01214705, 0x704901f0, 0x5e094053, 0xae06f58c,
 22.1004 -0xf9a6145e, 0x4329114a, 0x1b55de95, 0xca6f140e,
 22.1005 -0xd0398605, 0x4d9b1874, 0x26368b98, 0x8a4350ac,
 22.1006 -0x05ad901c, 0x20dd0d18, 0x6e08441a, 0x761f052d,
 22.1007 -0xd88273b8, 0xf821c264, 0x87178b1a, 0x6a8d3627,
 22.1008 -0xf9ac0849, 0x5350b05a, 0x824629b8, 0xc2e8a564,
 22.1009 -0xf6f48bee, 0x891af4c2, 0x6730a6a3, 0x1dd1fca6,
 22.1010 -0x034421dc, 0x3124a8d0, 0x013f0643, 0x075b1d7f,
 22.1011 -0xdaebf023, 0x04538d76, 0xb01905cb, 0x1a334e52,
 22.1012 -0x6717c15c, 0x2d560baf, 0x4614d0ac, 0x18b002f5,
 22.1013 -0x2de86100, 0x34d6f907, 0x9da40d97, 0xc756745c,
 22.1014 -0x0326ad60, 0x321419e4, 0x0c709361, 0xb72c0c17,
 22.1015 -0x68784aee, 0xf62d5634, 0x45e35463, 0x9913df6c,
 22.1016 -0xa341bee1, 0x980d9768, 0xc35ed021, 0xce40d082,
 22.1017 -0x0642f012, 0x62ebc0cc, 0x503b970a, 0x3145fcd6,
 22.1018 -0x1018f281, 0xeae60875, 0x2d7e0182, 0x05299c09,
 22.1019 -0x340326d7, 0x7e3c190c, 0x7f8026d2, 0x858b84e0,
 22.1020 -0x346a5508, 0xc064c77d, 0x083c0a29, 0x2fbe3f3c,
 22.1021 -0xdaad011d, 0x235b7623, 0xd80e88fa, 0x57137452,
 22.1022 -0xdb2e50e9, 0xdb70091e, 0xef3c0743, 0xec0f1d31,
 22.1023 -0x247bfb01, 0x08693e74, 0x4e2a5540, 0x042bafe8,
 22.1024 -0xc6d2b6cf, 0x775f0828, 0x2cc408a9, 0x338a2709,
 22.1025 -0xb1001ea6, 0xac8bee3d, 0x53d78e02, 0x84c39dbb,
 22.1026 -0xf89682c7, 0x731a1e6a, 0xc7596d67, 0x6c54e885,
 22.1027 -0x5fc38337, 0x57021d10, 0xe272e325, 0xdc85526a,
 22.1028 -0x689abfab, 0x29ff8c0e, 0x1eda1434, 0xff921481,
 22.1029 -0x4fa35e8d, 0xa0155c3f, 0x1574915b, 0xc1171a43,
 22.1030 -0xc2e99637, 0x46c7131f, 0xa0fae70c, 0x1113c09d,
 22.1031 -0x73651ac7, 0x5c0bbbb0, 0x3810466c, 0x483e3874,
 22.1032 -0x041bcf75, 0x729f1885, 0x405b5ae4, 0x16d8b3aa,
 22.1033 -0x4663f87b, 0xdb4d2224, 0x97076178, 0x05f0147e,
 22.1034 -0x135646ff, 0xbee100bb, 0x912172e5, 0xe0092fb0,
 22.1035 -0x023abe8d, 0xcb8b5859, 0x21560c70, 0x070563a1,
 22.1036 -0xea701775, 0x41eaa8d5, 0x37501734, 0x4112da62,
 22.1037 -0x527ec76b, 0xc26a892b, 0x76d688a5, 0x18bbd40d,
 22.1038 -0xe7922e1b, 0x18045015, 0x21636e26, 0x042689fc,
 22.1039 -0xc9ab1c1b, 0x0b2dd54a, 0x8f20071c, 0x7d8ce262,
 22.1040 -0xdf06d6d1, 0xce784d20, 0xc3023e03, 0x6601bcce,
 22.1041 -0x67048c3f, 0x09eb98db, 0x060c7e06, 0xcbe40884,
 22.1042 -0x44ae6d97, 0x5340e0ce, 0xea0e3fdf, 0xeb0a2724,
 22.1043 -0x49735694, 0x76ffd5b8, 0x371df7ae, 0x12422e33,
 22.1044 -0x7577160e, 0x68076988, 0x200326c1, 0x508b0623,
 22.1045 -0x439d139a, 0x4e4b8a43, 0xe91c669d, 0xa74a4b30,
 22.1046 -0x28137705, 0xe8510e84, 0xa84d5b04, 0xa3f35259,
 22.1047 -0xe0dff18a, 0xee8416d4, 0x1b74c784, 0x7425fa80,
 22.1048 -0xc006bb2f, 0xffed9914, 0x6b178829, 0x47df83c7,
 22.1049 -0xe5752046, 0xc60339a7, 0x06d13a43, 0xa0282540,
 22.1050 -0xb170ab1b, 0xf6a91ff6, 0x58a3583d, 0x0b432e61,
 22.1051 -0x62d815bc, 0x85731c01, 0x41bd2308, 0x30f5e800,
 22.1052 -0x11bcb94e, 0x19b9edcf, 0x086c0112, 0xdb6800b8,
 22.1053 -0x010af5be, 0x20c8f477, 0xb20c783c, 0x6465cf15,
 22.1054 -0xfa08641b, 0x2101bd40, 0x2c8cba47, 0x017763f9,
 22.1055 -0xe88830da, 0x3c43542f, 0x3930b345, 0x45830feb,
 22.1056 -0x0462b800, 0xb3f2280e, 0xa6dffa8f, 0x0788038a,
 22.1057 -0xe4eb4743, 0x83dd848b, 0xda26d806, 0x18188106,
 22.1058 -0x2e16843c, 0x0dccc0f0, 0x902c4f46, 0x6c576ebe,
 22.1059 -0x4ee81e6f, 0x30461dd3, 0x8608fef0, 0xda6b954c,
 22.1060 -0xe64d87a7, 0xc60a0a96, 0xb112042f, 0x1ef64602,
 22.1061 -0x64494e85, 0x65a00fa8, 0xaff9eb35, 0xec1b8225,
 22.1062 -0x84ebc980, 0x4149d3d8, 0x0ff1dffc, 0x3839808a,
 22.1063 -0x4588d009, 0xe9834500, 0x76e87904, 0xe5ee0e84,
 22.1064 -0xdef52750, 0x440850fe, 0xedf256a8, 0xab400dbf,
 22.1065 -0xeb89bfd2, 0x4ab9990d, 0x0abb176e, 0x38f9f71e,
 22.1066 -0xe6038a1c, 0x1605db00, 0x67f25514, 0x5ff70066,
 22.1067 -0x1e0c3a30, 0x2e0c8904, 0x6f5536c1, 0x0502fac0,
 22.1068 -0x02c22945, 0x6c37be75, 0xbd478d4b, 0x2a0aef0b,
 22.1069 -0xb60b8802, 0x4aff7343, 0x77da3943, 0x7dace9f1,
 22.1070 -0x58df5edb, 0x0a351d6b, 0x5430649b, 0x2d8b2604,
 22.1071 -0x37e9317b, 0x459b1ee8, 0xee231406, 0x73e9301e,
 22.1072 -0x63b03069, 0x0e3f85c1, 0x8fe995d2, 0xa980c1cb,
 22.1073 -0xc86a2c86, 0x1a0d86ba, 0x1e76d878, 0x4ab10341,
 22.1074 -0xedd67f16, 0x39e855e2, 0x3ac50169, 0xe2771d43,
 22.1075 -0xd419e94d, 0x44600ab7, 0x390653ff, 0xae91d9d3,
 22.1076 -0xde73aafd, 0x4e3f7351, 0xda79fcf9, 0x43b60e5a,
 22.1077 -0x3dbf503b, 0x776bfbdb, 0x45af3d86, 0xcdf45cf7,
 22.1078 -0xaabfe92d, 0x0e5c83b1, 0xb7d16303, 0x9c1314fd,
 22.1079 -0x4e450470, 0x16acf17b, 0x1ec5a12a, 0x50d890c3,
 22.1080 -0x1858018d, 0x52db85ba, 0xb808cfe1, 0x8a307414,
 22.1081 -0x6d32b907, 0x84d2d2f1, 0x74342628, 0x1b5f3822,
 22.1082 -0x0ba5e26f, 0x36c188d2, 0xe720488d, 0xd188c888,
 22.1083 -0x776fd10a, 0x38204a0b, 0x0375ca08, 0xe817754b,
 22.1084 -0x430d6d05, 0x7a15d202, 0x5eba27e1, 0xcb891508,
 22.1085 -0x4201808a, 0x88244541, 0x81f62ead, 0x4f09f452,
 22.1086 -0x89b94c1b, 0x8bb64ade, 0x74c2b7ba, 0x41034ea6,
 22.1087 -0x66f02343, 0x9d34d577, 0xd34c543d, 0x4204eb94,
 22.1088 -0x76eec06c, 0x24fa7505, 0x48424102, 0x43f6ce4c,
 22.1089 -0xc93746c1, 0x1b74d63f, 0x2cdfa52c, 0x74430307,
 22.1090 -0xf3754906, 0x5dda34c6, 0x955760b0, 0x1a2ac34a,
 22.1091 -0x15f4161e, 0xf0993a02, 0x0efdc2d3, 0x20da51b5,
 22.1092 -0xa8ef05eb, 0x025ed8a9, 0xd738108a, 0xa05728f5,
 22.1093 -0xa92db300, 0xbac1b05c, 0xa01ff144, 0xf7aef2df,
 22.1094 -0x38d849d1, 0x836d1510, 0x3b4827da, 0xab9d19f7,
 22.1095 -0xb8ab1cf8, 0x89d6384a, 0xe9501bbe, 0x111174c8,
 22.1096 -0xe4404a17, 0xdf868a05, 0xf4758002, 0x6ec3c829,
 22.1097 -0x6ed03a56, 0x31a2ba06, 0x60cf7cff, 0x752169a8,
 22.1098 -0x8e03f116, 0x2f6c3510, 0x74f18974, 0x106e161a,
 22.1099 -0xabb58d7f, 0x5bf5ae38, 0x74bbc39d, 0xcd3843f3,
 22.1100 -0x47356dde, 0xe9ebd5b1, 0x64f39556, 0xaf46c2e4,
 22.1101 -0x140d4323, 0x1bf02744, 0xe3752643, 0x30a35a73,
 22.1102 -0x8981384c, 0xbbaa79f0, 0x8130a025, 0xc301d864,
 22.1103 -0xba82ff59, 0x74584c17, 0x169b0f3c, 0x09745a5e,
 22.1104 -0x74117ea9, 0xa3e574b9, 0x552fa7f4, 0x8b3d58ef,
 22.1105 -0xdb540a1d, 0xbf7ef174, 0x282b7597, 0x64c4753b,
 22.1106 -0x001f05c7, 0x410b6200, 0x1ef21280, 0xb6c7672c,
 22.1107 -0x2f10bb0f, 0x595a5b3f, 0x447e8956, 0x5306b178,
 22.1108 -0xeba4f690, 0x8f0a9e06, 0x4301c21b, 0xe2362041,
 22.1109 -0x462c9d5b, 0x203520ca, 0x61855b08, 0xa46a986c,
 22.1110 -0x8265f685, 0x1b6d742b, 0x13020192, 0x4eecd018,
 22.1111 -0x7b170c61, 0x69ef754e, 0xb10c371a, 0xf6c2b636,
 22.1112 -0x02210b74, 0x2c428cc4, 0x06209ff5, 0x318e27d1,
 22.1113 -0xd0885c8b, 0x4e4e7854, 0x60f21815, 0xf502dfb4,
 22.1114 -0x74da89cd, 0xa8031227, 0x89fc4edb, 0x5514ebce,
 22.1115 -0x307ed490, 0x7ade944e, 0x71951761, 0x4fe87dee,
 22.1116 -0x008360b1, 0x7808daf9, 0xefbdbf4b, 0x58f98349,
 22.1117 -0x8d9fb30c, 0x428aff50, 0xa39e3821, 0x0a7e6df8,
 22.1118 -0xc2f27518, 0x1158c484, 0xb8b2f30f, 0x53803e36,
 22.1119 -0xf27753d0, 0x654b110d, 0x10b84080, 0x48822fa2,
 22.1120 -0x42d07989, 0xc81b8206, 0xfddf3d80, 0x8a5f88c3,
 22.1121 -0xe03d83f7, 0x01c84c08, 0x2a92b4a3, 0xe34500fe,
 22.1122 -0xffd2088b, 0x63b23dff, 0xb25c37c3, 0x05c74601,
 22.1123 -0xea07b21d, 0x82c79032, 0x88f10977, 0xaa004182,
 22.1124 -0x1aee2812, 0x12e84f54, 0x4b245bd2, 0x297c4456,
 22.1125 -0x788ac455, 0x45fa7ca8, 0xfe5d7064, 0x7c167457,
 22.1126 -0x3f0b608b, 0x1176c42c, 0xd8e013e8, 0x2138368a,
 22.1127 -0x07111dc3, 0xdb042f7b, 0x1085e89e, 0xab41e8ac,
 22.1128 -0xe56f170a, 0xe6eb7e88, 0xdbaa91e8, 0xc8eb010a,
 22.1129 -0x105820b7, 0x016a6cce, 0x447f0108, 0x92c4bf6f,
 22.1130 -0x556d4149, 0x0f75fb3c, 0x60126a0a, 0xb0a79e0a,
 22.1131 -0xdd63e401, 0xc2c287f0, 0xc1661639, 0xc5c508ea,
 22.1132 -0x15464075, 0xe89b51ac, 0x888c9c91, 0xf9b592d9,
 22.1133 -0xd8dee889, 0x909b5822, 0x1a53681b, 0x155e8c88,
 22.1134 -0xf860972d, 0xbeefbfa2, 0x35de1538, 0x0538b875,
 22.1135 -0xebb007dd, 0x5d4108df, 0x0693e630, 0x6f157bb1,
 22.1136 -0x360c753b, 0x0ba28c03, 0xa7d14921, 0x14c03100,
 22.1137 -0x056db047, 0x2dfed8b6, 0x112daa5b, 0x7c89902c,
 22.1138 -0x6361ec21, 0x741c5fd7, 0x6d853ee3, 0x6c3db081,
 22.1139 -0xb06c0f4f, 0x4a6dc548, 0x6832cffa, 0x2f254843,
 22.1140 -0x69f6fdd4, 0x7c99b648, 0xef30a36b, 0xf006b707,
 22.1141 -0x47b70f03, 0x5706f50a, 0x68a0c608, 0x2957f850,
 22.1142 -0x2a961774, 0x74bf7973, 0x056c2b12, 0x03446122,
 22.1143 -0xeffedf68, 0x02512b76, 0x10348d32, 0x7f80de29,
 22.1144 -0xf5890103, 0x34ba0911, 0x74980088, 0x4e10a91d,
 22.1145 -0xc04c2806, 0xda1fa4d6, 0xaa386ac8, 0x7e13691b,
 22.1146 -0xd1c51638, 0x29817d30, 0x8035b8a9, 0x97604831,
 22.1147 -0x553a4762, 0xcec25e51, 0x07bb43ed, 0xb83407c6,
 22.1148 -0xdeeb1f06, 0x4e8dc43e, 0xe71c73c4, 0x9b83f289,
 22.1149 -0x6ea94b88, 0x0ee9890e, 0x308187eb, 0x003416e9,
 22.1150 -0x4f5c4103, 0xb2e10250, 0x02ff21fc, 0x102d3ec3,
 22.1151 -0xf8e2fcde, 0x8d0124fa, 0x3a0a8430, 0xae400344,
 22.1152 -0x62b125b0, 0x01c8894f, 0x2908a1bc, 0x2d9b9578,
 22.1153 -0x0b0c1995, 0x06e82f41, 0x87dc37b1, 0xa23d0843,
 22.1154 -0x0a857336, 0x8f85895c, 0x5b1b2e59, 0x0c894dde,
 22.1155 -0xdd391c13, 0xa1b4f876, 0x008b86f8, 0x3a2c461c,
 22.1156 -0xc206c82e, 0x01304063, 0x71a4ec00, 0x0e5916c0,
 22.1157 -0x58fb8cc2, 0xef9038ca, 0x4982cd77, 0x57205d78,
 22.1158 -0x092ca142, 0xff787adb, 0x1f69fd15, 0xedb6b702,
 22.1159 -0x260f705d, 0xdde3c8a1, 0x56ca0903, 0x054f5e2b,
 22.1160 -0x482fa1a1, 0xd8c28558, 0x37880a07, 0x52ba424c,
 22.1161 -0xdd5487bf, 0x3d08e21c, 0x78aa0b2a, 0x0942dae8,
 22.1162 -0x0d140a76, 0xf142eeb6, 0x9beb3b72, 0x030a0358,
 22.1163 -0x011ba6bd, 0x08030728, 0xbe222409, 0xbba602a2,
 22.1164 -0x9e439157, 0x85bce01d, 0x54770bfa, 0xbbfb12b4,
 22.1165 -0x54680809, 0xa2138037, 0xdaa7418c, 0x2c547b8d,
 22.1166 -0x3f1ab7c0, 0x98968012, 0x50e01683, 0x976f882d,
 22.1167 -0x22f44620, 0xd8d70466, 0x04143aab, 0xe30ae3a0,
 22.1168 -0xa503f060, 0x76164774, 0x1180bb3e, 0x0c4f5a19,
 22.1169 -0x045b7543, 0x0ea069a0, 0x35d70f03, 0x752bbc05,
 22.1170 -0x4908257e, 0x8b1c0216, 0x03e13819, 0xef596f6c,
 22.1171 -0x3c50a408, 0xf0eb1f83, 0x5add7548, 0x8c18cb6d,
 22.1172 -0x22d587b1, 0x1f024e01, 0x59dc8859, 0xa752c5b1,
 22.1173 -0xb0f67b25, 0x313b0e41, 0xeb653a75, 0x046324d0,
 22.1174 -0x18223b0f, 0xeae6ca74, 0x05bb0582, 0x76247652,
 22.1175 -0x5e33b38f, 0x26c1b2d0, 0x36303150, 0xb7ebde8a,
 22.1176 -0xf204151e, 0x5877b533, 0xd9dd0608, 0x8d041073,
 22.1177 -0xff19c230, 0x20b10513, 0x59fec171, 0x0f12f752,
 22.1178 -0x41080d91, 0xbc160c86, 0xe78a8f0a, 0x885508eb,
 22.1179 -0xfb8d5488, 0xffbe1d13, 0x7f547423, 0x08003d45,
 22.1180 -0x0b7c4420, 0x8d2ff087, 0xf717e856, 0xe9589518,
 22.1181 -0x047384b0, 0xde131f85, 0x9e305f8a, 0xe0ca9636,
 22.1182 -0xbbcce9d6, 0xa7265fbb, 0x24bb7598, 0x05b9eb03,
 22.1183 -0xc607eb02, 0x79b38301, 0x04e3f85e, 0x02018fba,
 22.1184 -0x2e305575, 0xc9a4183c, 0x2e2f181a, 0xa024120d,
 22.1185 -0x57c6d746, 0x48136e8b, 0x77001156, 0xcc0844eb,
 22.1186 -0x9be08a83, 0xb87da237, 0x66260d0c, 0x75088f20,
 22.1187 -0xa28462b1, 0xdc02b444, 0xeb6c3991, 0xd7575018,
 22.1188 -0x154254d1, 0x43be00ec, 0x053ba9eb, 0x57b074eb,
 22.1189 -0x1291efc5, 0xeb18a302, 0x3da00597, 0x7041b2e4,
 22.1190 -0x4c6dbe74, 0xac5d8a00, 0x0e718966, 0x3f54d63d,
 22.1191 -0x7854666b, 0x8912184f, 0x0c3e9490, 0x1c600636,
 22.1192 -0xffb4980e, 0x50761174, 0x05a50fc1, 0xd6d6c79c,
 22.1193 -0xf58ad606, 0x5f8aea2e, 0x89003b20, 0x1bf72107,
 22.1194 -0x5ea02d24, 0xf32ca6c8, 0xf601b0f6, 0x2b7427b0,
 22.1195 -0xa6ba811c, 0x68d71f74, 0x08786d87, 0xd0979e50,
 22.1196 -0x752e3833, 0x1c4fbc55, 0x9c828dca, 0xd9c582af,
 22.1197 -0xe4c7e8af, 0x0c099882, 0x47087ecd, 0x90825113,
 22.1198 -0x4c2a0000, 0xbadf6206, 0x5e0e6ca3, 0x06539cdd,
 22.1199 -0x4b12cde3, 0x41bb8556, 0xed515216, 0x96c0e1d0,
 22.1200 -0xeef4f20a, 0x2778fc18, 0x53561d00, 0xfb509a9d,
 22.1201 -0x200f56f7, 0xb28b2eb0, 0x3e048d7a, 0xd518793b,
 22.1202 -0x7315100f, 0x8dc65128, 0x04ed9366, 0x3b504a33,
 22.1203 -0x250068bb, 0xe3632d7a, 0xa8dababc, 0xc8d1c132,
 22.1204 -0x621f5853, 0xd7498e50, 0x392cadf5, 0x5bbb0a1a,
 22.1205 -0x4551e355, 0xf1158f23, 0xfb53025e, 0x2fba88b0,
 22.1206 -0x868b5873, 0x8b5a1486, 0x422c7843, 0x968becc1,
 22.1207 -0x1841f482, 0xffd20984, 0xae8c0894, 0xf968c01a,
 22.1208 -0x2bd3e751, 0x3ba658b5, 0x08016a0e, 0xc522126d,
 22.1209 -0x9e5bde08, 0x6058cbe3, 0x04f53df0, 0xde82cd5b,
 22.1210 -0x756a00b2, 0x69906d50, 0x911e7c80, 0xa46b38d2,
 22.1211 -0xc7197f87, 0x01fd0026, 0x90163236, 0x898b3ca0,
 22.1212 -0x421d8123, 0xf4a06e28, 0x1fd8479c, 0x05748d29,
 22.1213 -0x013960a3, 0x42446639, 0x19f7205a, 0x2559201a,
 22.1214 -0x78bc8b07, 0x3b016ad7, 0x3b0b5afb, 0x516a1047,
 22.1215 -0x98138b04, 0xda8065aa, 0x12bed6b9, 0x256a6f4b,
 22.1216 -0x39f62ed2, 0x87e275d0, 0xeb342a0c, 0x018b3017,
 22.1217 -0x077062de, 0x8ddec7b6, 0x1018f870, 0xaf0a2b41,
 22.1218 -0x960f1c77, 0x73f0390e, 0x8e8e7e4e, 0x533cd66e,
 22.1219 -0x10ab1214, 0xa178c3a7, 0x51498568, 0x4da35208,
 22.1220 -0xf7d45d15, 0x377367f1, 0xb11207be, 0xff302c08,
 22.1221 -0xc8aa13f3, 0x0711d961, 0xec5aa961, 0xded08908,
 22.1222 -0x8f6aec0d, 0x707608b0, 0xab3276f4, 0x8ec1bbc8,
 22.1223 -0xd993558d, 0x2dd230fe, 0x460a811a, 0x517c1d6e,
 22.1224 -0x6789ee92, 0xba2b6014, 0x779e8905, 0xd3bf01b0,
 22.1225 -0x6d150a5f, 0xe7d18940, 0xbf005d2b, 0x0e0ebb2d,
 22.1226 -0x698d0c77, 0x61819d1c, 0xfd83fdd4, 0x7ec68973,
 22.1227 -0x7e063219, 0x7a3e8e74, 0xce1215bb, 0x6857f365,
 22.1228 -0x97e9d837, 0x83738bef, 0x7286a2c0, 0xf0ff396c,
 22.1229 -0xba5501fb, 0x8a11512d, 0x3e8b7791, 0x343803cc,
 22.1230 -0x4eed1e23, 0x551fa310, 0x74c0316e, 0x01e92d11,
 22.1231 -0x51bb6410, 0xefb4a264, 0xbfa724d7, 0x3d3b6909,
 22.1232 -0x960075db, 0x11ed0059, 0xfb59910f, 0x0ef02a7c,
 22.1233 -0x8ba08476, 0xf6f234cb, 0xd03e9e8d, 0xa8f53d3c,
 22.1234 -0xc6fe5e07, 0xa362ec86, 0x470212fa, 0xc606a501,
 22.1235 -0xc8934408, 0xa3057055, 0x80cd62da, 0xc8f2313a,
 22.1236 -0xa1100783, 0x74a1146a, 0x1e046018, 0xac86ab12,
 22.1237 -0x58ac0c7d, 0x0cc6afb7, 0x08002c4d, 0x2391dc04,
 22.1238 -0xeffc1c5b, 0x660068ef, 0x2876e798, 0x017c18b0,
 22.1239 -0x5122a8d6, 0x9c08041d, 0x5fb7505e, 0x04ec0a44,
 22.1240 -0x57113f74, 0xa6525806, 0xd2c6a680, 0xaff1cbd0,
 22.1241 -0x816184fb, 0xb941ecfa, 0x89027304, 0xadd497d1,
 22.1242 -0x9342bf14, 0x415bbaef, 0x5e81de3b, 0x75e23ef4,
 22.1243 -0x1b5056bc, 0xa764a758, 0x388a7736, 0x22c9da89,
 22.1244 -0x1603046d, 0xeb49dd18, 0x875eacc6, 0xa9866023,
 22.1245 -0xf10be4a4, 0x254054ac, 0x6d8fe840, 0xe1bbb7e8,
 22.1246 -0x76a433d8, 0xe831b7e8, 0xc911bd76, 0x9afb049d,
 22.1247 -0x8fcf66cd, 0xbed6a56f, 0x2a080965, 0xba2841d3,
 22.1248 -0x4ec00fe8, 0x0146d329, 0xdcb836dc, 0xc0d029b0,
 22.1249 -0x2f589865, 0xd42763a1, 0xf0741ef0, 0x883236c8,
 22.1250 -0x9111ff16, 0x9c022ce0, 0xd85bdd10, 0x60c0c581,
 22.1251 -0x291416c8, 0x3ac0c149, 0x86f43f14, 0xf6a1629b,
 22.1252 -0x840f3a12, 0xf4570b0b, 0x417fdb6c, 0xd70a080e,
 22.1253 -0xd48b6d78, 0xafa0d01d, 0x5201368f, 0xe0ab160e,
 22.1254 -0x0f3f036e, 0x4ddef58e, 0xa1bb3552, 0xd3e852f3,
 22.1255 -0x56be80b9, 0xf8562dc1, 0x7a406430, 0xd96c645d,
 22.1256 -0x4072200a, 0x469c6553, 0xa0151f63, 0x3b150ede,
 22.1257 -0xd84c4db6, 0xb003495c, 0x0d18b4eb, 0xdb103b65,
 22.1258 -0x5b361727, 0xb6fd0a0e, 0x3678b191, 0x100e0bcb,
 22.1259 -0x040cf8c6, 0x3fb2138a, 0xf3f2d21c, 0xdb73191b,
 22.1260 -0x42d0711b, 0xdf0e32ab, 0x0f6c646d, 0x0e339942,
 22.1261 -0x700802ba, 0x6e40f30a, 0x6b00d942, 0xd839acfc,
 22.1262 -0x8912810c, 0xb6551bf3, 0x0f6db191, 0x30464b37,
 22.1263 -0x8c600e10, 0x46c65a45, 0x304d9211, 0x936efb49,
 22.1264 -0x050e5ad0, 0x3301f324, 0x1ecb89d6, 0x84e611bb,
 22.1265 -0x75073319, 0x6e8a6362, 0xf093cd9d, 0x84b6feb7,
 22.1266 -0x65bb53d6, 0x0a7b64eb, 0x3d2b5d76, 0xd236ef4d,
 22.1267 -0x34756cbc, 0x89fd572d, 0xdb632222, 0x5d82d8c8,
 22.1268 -0x050e23d3, 0x1ec3255d, 0x44f066a4, 0x8f000302,
 22.1269 -0x64dfb03d, 0x44724e44, 0xf941e9fe, 0xd63d9772,
 22.1270 -0x73573112, 0xe917c475, 0x1d65ee45, 0xad9d0c27,
 22.1271 -0x2eee1516, 0xb09a6ec0, 0x9a234102, 0x12fdefe9,
 22.1272 -0xf3551c10, 0xe6dcf306, 0xdec9cfa4, 0xe95a2141,
 22.1273 -0xaa10fedd, 0xac27ccf0, 0xf147613b, 0x47a734f8,
 22.1274 -0x2361f623, 0x94127597, 0x36957b47, 0x37d84ee9,
 22.1275 -0x36709176, 0x5d12f4dd, 0x09cd2137, 0x5b4afabe,
 22.1276 -0x4e6909f9, 0xa81237d8, 0x776424f2, 0xf00fcd61,
 22.1277 -0x12ed2511, 0xb09bfcfe, 0xe992245d, 0x974b12eb,
 22.1278 -0xf65cf65c, 0xfbbbfcd8, 0xd8ccccd9, 0x03236137,
 22.1279 -0x34445ac8, 0x139a47a3, 0x80b44df6, 0xf8f61290,
 22.1280 -0xdf21307d, 0xefbf5acb, 0x97317e49, 0x3af6137d,
 22.1281 -0x12b93659, 0x90f83646, 0xfa9d1430, 0x6850ab5a,
 22.1282 -0xebe01c85, 0xea21b61c, 0xc6b80641, 0xba87268c,
 22.1283 -0x092dde00, 0x43e5831d, 0xc112f800, 0xfb9ce823,
 22.1284 -0x6ada8381, 0xc96fb78b, 0xb3d89746, 0x719056e8,
 22.1285 -0x8bd3bdeb, 0xb344de8f, 0x08e3c11c, 0xd6c20bb3,
 22.1286 -0x35f5dc44, 0x08b8b348, 0x2d870fb1, 0xff72df54,
 22.1287 -0xfad6ff0e, 0x094de8fc, 0x88e43044, 0xec160e0a,
 22.1288 -0xc4b62d1b, 0x383cc35f, 0x3e434c8a, 0x3c43d603,
 22.1289 -0x0286eb0b, 0x1090585b, 0x726d773a, 0x3a09ef92,
 22.1290 -0xb186d5b0, 0x605c85df, 0x3d0c8b78, 0xc82c0072,
 22.1291 -0x16789724, 0x0aef9264, 0x775c373a, 0x0177e43b,
 22.1292 -0x85fa3c0d, 0x2189771f, 0xd5700b15, 0x5e0b5417,
 22.1293 -0x15fb1f2d, 0x8e02ad5b, 0x1db633b0, 0x6b205ea2,
 22.1294 -0x80480e02, 0x5a8d837e, 0x29f3a80f, 0xfad839f0,
 22.1295 -0xf754519f, 0x811a7212, 0x32335f3b, 0x7d9bbd5f,
 22.1296 -0xf9b04cd8, 0x232510c3, 0x358be673, 0xeaae802e,
 22.1297 -0x9a0d5b25, 0xff64ddb6, 0x5024b8db, 0x70e84943,
 22.1298 -0x89099589, 0xdbd085d6, 0x9725edbe, 0x6f33348d,
 22.1299 -0x2fc02504, 0xabd6b789, 0x99931110, 0xac9d989f,
 22.1300 -0x32c2b1d4, 0xa1bc8562, 0xfe02e110, 0x703abd83,
 22.1301 -0x0c15542f, 0x4857fa81, 0x93dda808, 0x90205322,
 22.1302 -0x0be4ccf0, 0x34a4ec10, 0x2058a948, 0xc1561ee0,
 22.1303 -0xe9fd8c5e, 0xfaa920ab, 0x091f42c5, 0x8c438451,
 22.1304 -0xc156ff6f, 0x107dc24c, 0x42130c02, 0x84f87c07,
 22.1305 -0xb501350a, 0x8a4d92c9, 0xeaabd800, 0x8189d30a,
 22.1306 -0x027dddd1, 0x271218ba, 0x00433d04, 0xb9102177,
 22.1307 -0xa3f7d7a5, 0xd2fee719, 0x70661a51, 0xd6684463,
 22.1308 -0x1237c984, 0x3596542a, 0x91dfea6b, 0x95d3751d,
 22.1309 -0x80c21f15, 0xdfb94374, 0x528c9787, 0x68316850,
 22.1310 -0xe3fc3884, 0x7c0038a1, 0xf4d9c000, 0x23b7cc08,
 22.1311 -0x19ac680e, 0x27bf88e2, 0xe9ac8944, 0xebf08479,
 22.1312 -0x3726e2a0, 0xf4402be6, 0x61e45326, 0x7ff75188,
 22.1313 -0x83fd7b29, 0xd08801ca, 0xb0b261e6, 0xf11a4305,
 22.1314 -0xe67c4362, 0xdad9df42, 0x08df735c, 0xd6e9c3c3,
 22.1315 -0x105e29d9, 0xc454fd05, 0x8ddf6da8, 0xb682d504,
 22.1316 -0xd08f457d, 0xac028208, 0xc9adb82d, 0x033b0880,
 22.1317 -0x7a150410, 0xad0218a9, 0x864b83ba, 0x008eefb3,
 22.1318 -0x538907d8, 0x0002b0e9, 0xd9c83d00, 0x37d2b17f,
 22.1319 -0x4dd3ba3a, 0x06241062, 0xcd51083a, 0xbf10578b,
 22.1320 -0xc7442360, 0x03c46182, 0x06bf0add, 0x68ee11f8,
 22.1321 -0x1b058c78, 0xd54bb007, 0x0e1fdb33, 0x45226409,
 22.1322 -0xba642a68, 0x6a08e008, 0x57003979, 0x7c0739a8,
 22.1323 -0x542ba462, 0x74040939, 0x190f8ac5, 0xe57845b4,
 22.1324 -0x284514d4, 0x4ca7579a, 0xfddbb636, 0xa3219468,
 22.1325 -0x40886684, 0x75f2128c, 0x06099093, 0x1db13740,
 22.1326 -0x68fe84f0, 0xa01db3b0, 0x6eb8513d, 0x09a8a492,
 22.1327 -0x0c11dc8c, 0x9a2dac54, 0xa8edffff, 0x160c1afa,
 22.1328 -0xbc680368, 0x4fb036df, 0x54e4e29b, 0x48482e04,
 22.1329 -0xaa30761d, 0x2e4c6b2e, 0x2a5b5052, 0x0209d7d8,
 22.1330 -0x7131b048, 0x9d98317c, 0x606ce464, 0xf3ae2e64,
 22.1331 -0x1e675f20, 0x7e310309, 0x48826807, 0x80c8c937,
 22.1332 -0x07097874, 0xcd7d82a4, 0x4c31017c, 0x649bbbac,
 22.1333 -0x342490ac, 0xc1098c88, 0x80a13906, 0x66172e1f,
 22.1334 -0xd15725bf, 0x8ce26801, 0x2f14312f, 0x21d5461e,
 22.1335 -0x2f1cbc18, 0x13c72b61, 0xc0e5e85b, 0x87ce68b5,
 22.1336 -0x68e1d6c1, 0x18b0a2e1, 0x1072b575, 0x7be01284,
 22.1337 -0x6bd920e5, 0xa3ca1cea, 0xf8090e10, 0x20968b1b,
 22.1338 -0x8021e803, 0x075f5d12, 0x27e9903f, 0x0481be88,
 22.1339 -0x6e90f0ee, 0x5e18a380, 0x891afbcc, 0x88f46ba8,
 22.1340 -0x607a4b91, 0x2e95d880, 0x4b6eab96, 0x050f4475,
 22.1341 -0xf2573ec3, 0x88805bb7, 0x208a0f4a, 0xb70ee8e8,
 22.1342 -0x903a87b2, 0x000023f2, 0x6dd95ffb, 0x33224d57,
 22.1343 -0x866c0349, 0x7445e41e, 0xd8c813f8, 0x0000ff68,
 22.1344 -0x2b030135, 0xc0d04706, 0x617107fe, 0xadde0011,
 22.1345 -0xff03efbe, 0xe3fc4bff, 0x8701035e, 0x5850203c,
 22.1346 -0x696c4345, 0x3a746e65, 0x68637241, 0xeeb7613a,
 22.1347 -0x3a0030bf, 0x49444e55, 0x3102320a, 0x82585f00,
 22.1348 -0x02394fb0, 0x5f5bdc05, 0x36362caa, 0x0532bd36,
 22.1349 -0xfffd916b, 0x510e37f6, 0x3c112b0c, 0x83828180,
 22.1350 -0x87868584, 0x00670000, 0x017f6db0, 0xffff0d73,
 22.1351 -0xaf726484, 0x41544146, 0x4e203a4c, 0x6572206f,
 22.1352 -0x6ebb6c61, 0x6d2dffe9, 0x2065646f, 0x63617473,
 22.1353 -0x5021906b, 0x564e0300, 0xff736573, 0x6143002b,
 22.1354 -0x746f6e6e, 0x14762023, 0x7fd6fd24, 0x6e25213b,
 22.1355 -0x64006369, 0xa26b7369, 0x70706f6c, 0xfdbfed79,
 22.1356 -0x277230b6, 0x6c6f636f, 0x48445473, 0x54205043,
 22.1357 -0xd9045446, 0x266ff12e, 0x384c5452, 0x51393331,
 22.1358 -0x32076c74, 0x05b6ffdb, 0x663b620f, 0x38333565,
 22.1359 -0x636d7300, 0xed633116, 0x2d31ec36, 0x65180931,
 22.1360 -0x6133626c, 0xedb177ed, 0x55746464, 0x362e0b6e,
 22.1361 -0x78743039, 0xeb1f6f64, 0xd465bbb6, 0x1e787630,
 22.1362 -0x1d64f56c, 0x33776e66, 0xed63cd6f, 0x1e333036,
 22.1363 -0x30303809, 0x656e9763, 0xfb6d4a2d, 0x20006f60,
 22.1364 -0x751b202d, 0xe6fd8b31, 0x6636d816, 0x03023089,
 22.1365 -0x65207872, 0x6ff6f672, 0x207261bf, 0xaa586825,
 22.1366 -0x70746674, 0x756f4c00, 0x11676e69, 0xfb7b2ddd,
 22.1367 -0x73253a40, 0x2f2f3a32, 0x613c0f12, 0x6e6b5b62,
 22.1368 -0x3e742ebb, 0x1298572c, 0xe678ad16, 0x0c6ead0a,
 22.1369 -0x03366e55, 0x6edf8e18, 0x4120f12f, 0x2522b450,
 22.1370 -0x0a220163, 0x656c6970, 0x56b6e673, 0x3e207af8,
 22.1371 -0x073f6d20, 0x0591640f, 0xc35a2a94, 0x05294628,
 22.1372 -0x6c3fe1ff, 0x002e771b, 0x72673a20, 0x68206d61,
 22.1373 -0xd0a17b89, 0x468c4e5a, 0x67696294, 0x6c042f28,
 22.1374 -0x49424eb9, 0x72837f0a, 0x75bb6973, 0x3a446dcd,
 22.1375 -0x42401e0b, 0xc200742a, 0x1687b5b6, 0x2161a712,
 22.1376 -0x6f8469de, 0x69fbb6ee, 0x6967616d, 0x657f733c,
 22.1377 -0x693ead70, 0xff6d5f74, 0x705e7422, 0x662008f1,
 22.1378 -0x2ebc756f, 0xbddc22c1, 0x654d0a1a, 0x2c00404e,
 22.1379 -0xad6b0ab6, 0x0abc0ec5, 0x9243f0d9, 0xb75ee73d,
 22.1380 -0x20856c20, 0x094333d0, 0xb7376f67, 0x2d646d1b,
 22.1381 -0x77f86147, 0x523a7961, 0x0ad63dd8, 0x203b0abe,
 22.1382 -0x29062628, 0x6c68d800, 0x444d9fc9, 0x5a65a112,
 22.1383 -0x3fd0b09b, 0x3e796d2e, 0x16856e21, 0xbc73addb,
 22.1384 -0x614427a4, 0xc7342872, 0x74749bdb, 0xf046e563,
 22.1385 -0x53d6dad6, 0x1006745c, 0x657a6934, 0xc3582371,
 22.1386 -0x5b0b0158, 0xc4204346, 0x38dcbb38, 0x70004932,
 22.1387 -0xdd985dce, 0x3b28a9b6, 0x75130a29, 0xb5bd6e77,
 22.1388 -0x4bbd8b76, 0x4e57706d, 0x747562a4, 0x8da386ec,
 22.1389 -0x641d49c5, 0x0e7373dd, 0x6d0c130c, 0x1a613e53,
 22.1390 -0xd8c61819, 0x656317de, 0xf7641069, 0x3b696a62,
 22.1391 -0x6ec73774, 0x64973a75, 0x010ab98c, 0x14f6085f,
 22.1392 -0x09796441, 0x25783020, 0x8e6b5a1f, 0xc94b136c,
 22.1393 -0x6f66b7eb, 0x84c3464b, 0x0aec9072, 0xdb7b114d,
 22.1394 -0x6d4a2ed6, 0x27502743, 0xf7b4603d, 0x6f4a5bd8,
 22.1395 -0x75572066, 0x14966c72, 0x0ae6c2b5, 0x6e2f1964,
 22.1396 -0xb9baab1d, 0xac90ce0b, 0xd66e6b97, 0xd676650f,
 22.1397 -0x8750d861, 0x8970799f, 0x645a6247, 0x733b98db,
 22.1398 -0x5b5b9f61, 0x85175d07, 0x70f21adf, 0x32156963,
 22.1399 -0x36353433, 0xeb69633d, 0x424139fe, 0x46454443,
 22.1400 -0x68032ed2, 0x1e563a06, 0x6d5ad7dd, 0x2f00edcb,
 22.1401 -0xdc14395f, 0x205b3e37, 0x33534f8a, 0xf53f7032,
 22.1402 -0x91306fb6, 0x342e351e, 0x435b322e, 0x9b10be18,
 22.1403 -0x2037abec, 0x50478119, 0x3587294c, 0x746b3695,
 22.1404 -0x1c654454, 0x36f1ad2e, 0x44d90c0a, 0x0e57c9c5,
 22.1405 -0x377c2877, 0x0d0a8520, 0x08b74fee, 0x6ed4208e,
 22.1406 -0x51784500, 0x46c3b673, 0xc30e3ab0, 0x23c0aa6f,
 22.1407 -0xd0bc36ce, 0x7269c0a4, 0x202ce571, 0x37862112,
 22.1408 -0x7dd6e42c, 0x2d739270, 0x85e37564, 0x7f0d8c47,
 22.1409 -0x58b94300, 0xc61af1f7, 0x20b4c45a, 0x0a896f89,
 22.1410 -0xcdad0b8d, 0x61665fd7, 0xb70d63c4, 0x4938186e,
 22.1411 -0x65d84d4f, 0x9b74de67, 0x607dadb5, 0x67091f78,
 22.1412 -0x18210b28, 0x3d46dce6, 0x23540a63, 0x5b9cdb86,
 22.1413 -0x04846c56, 0xf1c96fe0, 0xb992c045, 0x6c1de27b,
 22.1414 -0xddf612c4, 0x9133340a, 0x94621d65, 0xf645f266,
 22.1415 -0x6ea67bd9, 0x799d2273, 0x37e0676c, 0xd22c2d6b,
 22.1416 -0x9966c120, 0x67a11492, 0x12825f46, 0xbbd8c6f6,
 22.1417 -0x75f53d21, 0xeac119fc, 0x17a03c36, 0x70736164,
 22.1418 -0x2dd0cb7f, 0x0e747b6c, 0xde25296e, 0x1a50b05e,
 22.1419 -0x870f91d6, 0x42b61b69, 0xb4ae2073, 0x6b0e6290,
 22.1420 -0xb521ac0a, 0x61621f63, 0xd38041a5, 0x76e18223,
 22.1421 -0xa5f57853, 0xb9f656bb, 0x2f004da0, 0x6b6e67a9,
 22.1422 -0xe26360b4, 0xd3893c69, 0xc1c1c66e, 0x3932ffc6,
 22.1423 -0x19aef776, 0x5fb88fb6, 0xa62c78be, 0x36bd92bb,
 22.1424 -0x4578f574, 0x0c942978, 0xe06c1adb, 0x6c45ce61,
 22.1425 -0x8348671f, 0x2b16c22e, 0x70cc3d61, 0x06bdb0af,
 22.1426 -0x72ffd89a, 0x7d67c2f0, 0xf2db5c91, 0x9ed27920,
 22.1427 -0x854f9cee, 0x07c0e876, 0x0a8c77c7, 0x5b56ed15,
 22.1428 -0x7419bb70, 0x66662746, 0x03b92319, 0xf5415e1b,
 22.1429 -0xe6003b89, 0x00a49eb6, 0x4f4f42c4, 0x339c2d60,
 22.1430 -0x81c08813, 0x509c1597, 0x00ac859a, 0xdb146b00,
 22.1431 -0x64381c62, 0x632c17f5, 0x88d1aedf, 0x010a3511,
 22.1432 -0x062db9d0, 0x1420af4b, 0xde88531f, 0x1de9b122,
 22.1433 -0x537978be, 0x657571b8, 0x19cb5eb5, 0x447cf981,
 22.1434 -0x6ee3bb06, 0x6c24196b, 0x623436e5, 0x5241424b,
 22.1435 -0xe1e37419, 0x7838307d, 0x52c3043a, 0x073a52d9,
 22.1436 -0xbb86b614, 0x54687916, 0x3c08a761, 0x10d8040f,
 22.1437 -0xdcf4cdd2, 0xf5b7003f, 0xf9736f4a, 0x0861c19b,
 22.1438 -0xc9162143, 0x168dbd67, 0x3aa4688c, 0x5e9976a3,
 22.1439 -0x6a2b9e09, 0xe02a2c30, 0xb80b0b18, 0x9964778a,
 22.1440 -0x606e4a3a, 0x58230ec1, 0x42215758, 0x7589016b,
 22.1441 -0x3f3a2d33, 0x206a71d1, 0xd7816158, 0x81b1736d,
 22.1442 -0x58ee48cb, 0x8c265440, 0x6f42edb0, 0x75292e6f,
 22.1443 -0x73822e6f, 0x55703e7c, 0x3300a0ae, 0xa2a9b741,
 22.1444 -0x031ac0a7, 0xc700e691, 0x3702fde8, 0x07914000,
 22.1445 -0x36cf9fbf, 0x076720d8, 0x93179b93, 0xc026db1f,
 22.1446 -0x02100056, 0x17fb837b, 0x037faed8, 0xec228884,
 22.1447 -0xaa812910, 0xd42e0788, 0x8139fcfd, 0x81388922,
 22.1448 -0xf0860fb2, 0x6bfdbb13, 0x1307ef9a, 0xc2121111,
 22.1449 -0x1543cc12, 0xbed41360, 0x07d96c7b, 0x27de4033,
 22.1450 -0x07ea1340, 0xab0613d1, 0x9b6efef4, 0x1712596f,
 22.1451 -0x14eafda1, 0x0789080f, 0x5712ab07, 0xfc6452f6,
 22.1452 -0x7f891c81, 0x0889b601, 0xd39dc265, 0x0b0d033c,
 22.1453 -0x50a5ee04, 0x0b40ac5b, 0xd74cc83f, 0x031d57a8,
 22.1454 -0x2d580f7a, 0x054fdfb2, 0x962d6704, 0x0056c2bd,
 22.1455 -0x1b033cd0, 0x00f511ca, 0xc15292bf, 0x65601bfd,
 22.1456 -0x82639f2b, 0x0b966353, 0xc81605af, 0xb1778f76,
 22.1457 -0x07390302, 0xf09f5f45, 0xa8547b2a, 0x07403755,
 22.1458 -0x85800000, 0x0002406d, 0xffffff00, 0xffffffff,
 22.1459 +0x44070c03, 0xeb3be850, 0x5dfdbc2e, 0x050ced81,
 22.1460 +0x98ad8906, 0x168b00a5, 0xdbffbca9, 0x7400bfb7,
 22.1461 +0x90b58d21, 0xbd8d073d, 0x39054d90, 0x390472f4,
 22.1462 +0x890d76fc, 0xeeff1dbf, 0x3248b9e6, 0xfc89cf29,
 22.1463 +0xe3e8a4f3, 0x362d8b51, 0x6cf66c29, 0xe8686f73,
 22.1464 +0x3f450caf, 0xb70f1220, 0xfddb6d0a, 0x5c0424db,
 22.1465 +0x8d502624, 0x50608085, 0x7c548ffa, 0xfedb7edf,
 22.1466 +0xec01d38e, 0x936158cb, 0x66a102a9, 0xe61f6607,
 22.1467 +0x648b9d0c, 0xf73428df, 0xf79cd424, 0xbe852696,
 22.1468 +0xca9dcb9d, 0x6ffd8b6d, 0x57565507, 0x10247c8b,
 22.1469 +0x61983d2b, 0xe0cda810, 0x68af7eee, 0xe8550e48,
 22.1470 +0x5b217cba, 0xbb758df7, 0x42a30e40, 0xbe778904,
 22.1471 +0xdeb4b923, 0x29edb6fd, 0x732ea3f1, 0xf8ea2015,
 22.1472 +0xb8000881, 0xffdb7710, 0xd88e1cef, 0xd08ec08e,
 22.1473 +0xe88ee08e, 0xc35d5e5f, 0x89e64035, 0xddfb4435,
 22.1474 +0x3d057e7c, 0x584c1d48, 0x250b50a3, 0xfeeb0554,
 22.1475 +0xbb59b85e, 0x0300e968, 0x68535f1d, 0xe4514328,
 22.1476 +0x3ddc3efd, 0x890bb1e8, 0xa5282ca5, 0x6ca52f20,
 22.1477 +0xd737a5de, 0xe4cf6129, 0x8100768d, 0x858fbcfc,
 22.1478 +0xa8dd35ee, 0xed0c6020, 0x02341b22, 0x6edec646,
 22.1479 +0x17072db7, 0x7e8bd0ff, 0x3c8e8b8b, 0x8b8b4647,
 22.1480 +0x3ca18b15, 0xef0a342e, 0x8be2ff04, 0x68d6da4c,
 22.1481 +0x6e3f5189, 0x5902dffc, 0x08618904, 0x890c6989,
 22.1482 +0x14796071, 0xdbc3006f, 0x1b7342f6, 0x8b08431f,
 22.1483 +0x095a374a, 0xfafd3d62, 0x0c6a086f, 0x8b10728b,
 22.1484 +0x051c147a, 0x0b89ffb8, 0x43ada567, 0xbea29c28,
 22.1485 +0xe10c5401, 0xce62d992, 0xb8bb188d, 0xfbc61f30,
 22.1486 +0x21a225a1, 0x2e9d5d58, 0xf0f0b928, 0x2b07351e,
 22.1487 +0x38815080, 0xc3c34800, 0x82858901, 0x75956ffa,
 22.1488 +0x68e486c4, 0x284f2907, 0x9a352f0c, 0x535053fb,
 22.1489 +0x2c1d9da9, 0xcb024389, 0x03752fb7, 0x88101f0a,
 22.1490 +0x0c020443, 0x0f076388, 0xf6e35b7f, 0x90c3585b,
 22.1491 +0xc6535600, 0xb8ab1525, 0x67a6046c, 0xc66577ff,
 22.1492 +0x70b0d629, 0xd329c389, 0xb801006a, 0x847132e8,
 22.1493 +0xe42dddbf, 0x05685004, 0x6e09e5e8, 0x6f0b3b80,
 22.1494 +0x0dc2bd6f, 0x057703c6, 0xb01097c0, 0x06131800,
 22.1495 +0xb1032e6d, 0x0a230b03, 0xa6d81457, 0x1881d6b7,
 22.1496 +0x6a100479, 0x50160d02, 0xe4679b06, 0xb8501cfb,
 22.1497 +0xe8e851ef, 0xe3c28993, 0x537046df, 0x0a23f666,
 22.1498 +0x0f037401, 0xc5b8c6b6, 0xa39ec1b6, 0x12038849,
 22.1499 +0xcf233d92, 0xfc1e45f2, 0xd24defef, 0x978dec9d,
 22.1500 +0x04bb782c, 0xc8fc2303, 0xfc33cc96, 0x26c03229,
 22.1501 +0xe77b5ed6, 0x05262b0c, 0x0b642694, 0x0631617c,
 22.1502 +0xb901f083, 0xcfb22f01, 0x0c1573c8, 0x5608d20c,
 22.1503 +0x59b26791, 0x151729af, 0x9e4b6f0c, 0x3426a815,
 22.1504 +0x9616c766, 0xc7b708b1, 0xd8170a6a, 0xe60c2422,
 22.1505 +0x1733f919, 0xe61c7417, 0x171a5bfa, 0x0e333518,
 22.1506 +0x367d8800, 0x50d8dde9, 0x39d06a3d, 0x836630eb,
 22.1507 +0xbbe5b4e7, 0x19755741, 0x17111607, 0x6faffbe4,
 22.1508 +0xe2c112ca, 0x01104306, 0x100febc2, 0x77e3f016,
 22.1509 +0xd0891419, 0x1e5755a1, 0x6fdebb3c, 0xa995ef7c,
 22.1510 +0x54513b07, 0x46b87d7d, 0xf48ba46c, 0xbdea71f5,
 22.1511 +0x7f1e9081, 0x06df835b, 0x04665024, 0xb3e82268,
 22.1512 +0x6c1f8407, 0x7b81c063, 0x07740e12, 0xd87956e7,
 22.1513 +0xf639eb7b, 0x8b2b0d7c, 0xdbeefdc8, 0x8d457cd6,
 22.1514 +0xb9fc1a37, 0xa5f31305, 0x14c58343, 0x8fd9f6c6,
 22.1515 +0xdb850b71, 0x96bc9d74, 0x3c4cd889, 0xb106c361,
 22.1516 +0x9f5a5fd6, 0x4bda1bfe, 0xb20df02f, 0xfffe84e8,
 22.1517 +0x3360a3fe, 0xfbf3e886, 0x0aa0bb73, 0x950964a3,
 22.1518 +0x136c6820, 0xfbefff2e, 0xc4684ffe, 0x75c08510,
 22.1519 +0x0c05c773, 0x2005db02, 0x63b042df, 0x097005e5,
 22.1520 +0xc1490508, 0xf77b9b73, 0x74a30ae0, 0x15899907,
 22.1521 +0x7c1f0678, 0x75832105, 0x8009db63, 0x84091029,
 22.1522 +0x6c9ba133, 0x3164b06c, 0x548c2a88, 0xbdbb3490,
 22.1523 +0x28bf0611, 0x8660773d, 0x5ee9055d, 0xa089a983,
 22.1524 +0x0b18145a, 0x19a04508, 0x1c180ca4, 0x88977b6b,
 22.1525 +0x79b9358d, 0x0c011740, 0xedf0d8a6, 0x0a870f1e,
 22.1526 +0xbdb98105, 0x4f7730ff, 0x587df08d, 0x2b0a064a,
 22.1527 +0xafba1299, 0x7dfd8e91, 0x77a4b7eb, 0xc8993b08,
 22.1528 +0x078b0676, 0x61b181c7, 0x2ef3c5cd, 0xe430f309,
 22.1529 +0x29b1b164, 0x6736191e, 0x67de00a2, 0x09ff9dd3,
 22.1530 +0x818b920f, 0x6822918b, 0x72dec738, 0x3803d689,
 22.1531 +0x10cbb113, 0x1bf06f02, 0xd639142d, 0xd8776a72,
 22.1532 +0x376476c3, 0x2dd8fd8e, 0x2f390c11, 0x08722c77,
 22.1533 +0x22773f39, 0x9ddb1b3b, 0x2b1c19db, 0x814f1b0f,
 22.1534 +0xec39194b, 0xeb9189f3, 0x89892128, 0x19108ec1,
 22.1535 +0x78815ec7, 0x08b63809, 0xc18347ed, 0xcca15d71,
 22.1536 +0xeebb1201, 0xc3267370, 0x2bd813b8, 0x42ee3305,
 22.1537 +0x7a9f61d3, 0x97d0850c, 0x230ac632, 0x084a75db,
 22.1538 +0x08a60acc, 0xc1fc607c, 0xff0cca3f, 0x727d9c35,
 22.1539 +0xec2e0000, 0x12dddd91, 0x8c2f6814, 0xeb5d5513,
 22.1540 +0x075203fe, 0xa36f6df6, 0x6efd2835, 0x3935590c,
 22.1541 +0x7420fd86, 0x97cca12c, 0xedcc8f80, 0xf15a9816,
 22.1542 +0x3ae81b9f, 0x8e077837, 0x446a166f, 0x8068d557,
 22.1543 +0x10f4ffb9, 0xc361ff05, 0xe80aebc1, 0xf4c81ee7,
 22.1544 +0xaa8450be, 0x3172189d, 0xb8b114ba, 0x16afacd0,
 22.1545 +0x2ea118a7, 0xb7f6c674, 0xc13ae9c2, 0xfa890ae7,
 22.1546 +0xcbceb809, 0x362da702, 0x55d78923, 0x7aa0dbaa,
 22.1547 +0x1ea19da6, 0x144ce88b, 0xe4db93ee, 0xe81c735e,
 22.1548 +0xa7460b85, 0x836206fc, 0x187b0c1d, 0x8856c35b,
 22.1549 +0x26661447, 0x35bbfbd0, 0x96e2811c, 0x061a8c8d,
 22.1550 +0xc0fc2e99, 0xf289336e, 0xa4227423, 0x0bff817e,
 22.1551 +0x74c98504, 0x2102c714, 0xfb455246, 0xc281044a,
 22.1552 +0xe0c05e00, 0x49669fef, 0x24e8ec75, 0x57711b00,
 22.1553 +0x75c66c32, 0xadc5e898, 0xf58b78a0, 0x1c1f369e,
 22.1554 +0x77d4bed5, 0x6c37fe74, 0x29f1893f, 0xbb01c2d1,
 22.1555 +0xd729c789, 0x80398166, 0xa85e7402, 0x3f4fb6fd,
 22.1556 +0x98187564, 0x044703e0, 0xd4bdf361, 0x4fb71d6d,
 22.1557 +0xebd8e604, 0xd23efbc5, 0x43c1d9b1, 0xc358828d,
 22.1558 +0xe300e381, 0x68ed8f08, 0xde0d0d8b, 0x2955ce29,
 22.1559 +0xb1bd1ad0, 0xc8393ffd, 0xd8392977, 0xfb812577,
 22.1560 +0x1d9c0a13, 0x61e9c889, 0x2719a1a1, 0x1d48ae56,
 22.1561 +0xb312211d, 0x04351c21, 0x2240ccab, 0xf48950b6,
 22.1562 +0xec56e13b, 0x4a4d81ef, 0x34053b52, 0x71393277,
 22.1563 +0x760d8b6e, 0xff522a75, 0xfaf05745, 0xd186d904,
 22.1564 +0x096705c7, 0x83838904, 0xa84f0b60, 0x23631bc8,
 22.1565 +0xc454c8c2, 0x86d7245d, 0xa3975c05, 0x5cef2e8c,
 22.1566 +0xc736ed88, 0x987fed46, 0xb81ec8a1, 0x811d9601,
 22.1567 +0x5b084087, 0x3a01b8c5, 0xb63d9bc6, 0x4c4b8c42,
 22.1568 +0xbbf0a12d, 0x8b7eec54, 0xe9815c36, 0x9654bf4a,
 22.1569 +0x78f23d4c, 0xf529fd35, 0x478979aa, 0xf21e11dd,
 22.1570 +0xf7813386, 0x3800b80b, 0x2dd9ccdd, 0x54f8fb0f,
 22.1571 +0xd6dd9b37, 0xa113fd0c, 0x18e44e8c, 0x30019d03,
 22.1572 +0xf38d0da3, 0x025d9bbe, 0xefd82066, 0xe507be6d,
 22.1573 +0xa9000189, 0x46c070a3, 0x74a2bacb, 0x85e59e56,
 22.1574 +0x8817ab5b, 0x0242e798, 0x2dacef48, 0x0112ee76,
 22.1575 +0x05d6c8e5, 0x436bf7b0, 0xb82e75fa, 0x81120054,
 22.1576 +0xc1ea8112, 0xefd9ac6f, 0x89af928b, 0x01db6810,
 22.1577 +0x060850aa, 0xd74fd087, 0x3575a9b5, 0x57204e6c,
 22.1578 +0x19285a24, 0xff8b74cd, 0x77df3d3a, 0x1a048d11,
 22.1579 +0xed152b90, 0xa8f6f587, 0xeb081d89, 0xe8052523,
 22.1580 +0xd622fbc0, 0xd048083a, 0x283a08ff, 0x3fed86d2,
 22.1581 +0x89dd29c5, 0x0c7f83ee, 0xff9c15be, 0xba395577,
 22.1582 +0xc4748150, 0xeed85be9, 0x0ba1c239, 0x01bfb18d,
 22.1583 +0xfc334c8f, 0xe856ee60, 0x01121bcd, 0xf45e8dc6,
 22.1584 +0x8dce33f0, 0x37395b6d, 0x0435b319, 0x4dfe1f10,
 22.1585 +0x02c3df9e, 0x9a01c132, 0x06548d12, 0x178054e0,
 22.1586 +0x818b56eb, 0x30ac018b, 0x03e833fb, 0x12e88906,
 22.1587 +0x7b6bd906, 0x081436c2, 0xa0107ff3, 0xd8172508,
 22.1588 +0xdb3414a8, 0x14475942, 0x6ddb3704, 0x47301c05,
 22.1589 +0x9174290c, 0x5b7c73ac, 0x03990d66, 0x750803dc,
 22.1590 +0x3fc4da97, 0x8303014c, 0x04e2fce1, 0xcc297155,
 22.1591 +0xc6c08db4, 0xabc35154, 0xf57e0c6c, 0xdddc5c24,
 22.1592 +0x2ce8d024, 0x5dec8906, 0xbd4ea1e7, 0x6140e194,
 22.1593 +0x94249c10, 0x77036308, 0x335437d8, 0xec40ec07,
 22.1594 +0x180d6f0d, 0x745836f7, 0x898f8d48, 0xa97c5b22,
 22.1595 +0x83d67778, 0x060018c2, 0x2f85aea5, 0x2c7630b0,
 22.1596 +0x12c7c2b4, 0x00adb6df, 0xc07c7964, 0xfec1c6d3,
 22.1597 +0x6f6e1602, 0xf1393ec1, 0x551b107d, 0x0f41108c,
 22.1598 +0xb00df07c, 0x52671b75, 0x98145f53, 0x62c631f9,
 22.1599 +0x240cc1b0, 0x264f2e63, 0xf43c58d1, 0xaa10a117,
 22.1600 +0x45f81eb8, 0xd02dd8f8, 0x01e80566, 0xc783c416,
 22.1601 +0x4b8dd6eb, 0x2d4640c4, 0x36241dce, 0x74d285bc,
 22.1602 +0x02c50610, 0xa1d03994, 0xd6284523, 0x8ba3bf49,
 22.1603 +0x05b72c06, 0x4a21041b, 0x6ae30f08, 0xe570f7b9,
 22.1604 +0x150db459, 0x52c9008b, 0xc3d84f86, 0xa7d10abe,
 22.1605 +0x93e8da74, 0x3982b9c4, 0xfe0b73d9, 0xf6f18304,
 22.1606 +0x42c11937, 0xf572da39, 0x5e5bc10a, 0x1bbe1cb4,
 22.1607 +0x3086746e, 0x982f408c, 0x07a10a74, 0x9b831de9,
 22.1608 +0x7599e509, 0x1325b620, 0xd86b822d, 0x80fa21be,
 22.1609 +0x1bf16ac2, 0xee6217fd, 0x23a6840f, 0x0f0264a9,
 22.1610 +0x29f0e783, 0x301989c7, 0x20448b1c, 0x326c80b9,
 22.1611 +0x6bfef0d0, 0x738d1205, 0x11838d60, 0xbefe18a6,
 22.1612 +0x816e2f0d, 0x81a58eef, 0x042d05c7, 0xfb049605,
 22.1613 +0x1bc6eb31, 0x0ad0e714, 0x07011883, 0x9b783fb7,
 22.1614 +0x32e42d12, 0x68056c8d, 0xd478f0e5, 0xe4a35828,
 22.1615 +0xafdb1b28, 0x046a1c6f, 0xad8c4a68, 0xc60558d1,
 22.1616 +0xd0ce58ac, 0x07c695d5, 0x0e431807, 0x91844605,
 22.1617 +0x0c0e0891, 0xfb16ac30, 0x9c05778c, 0x2b6612e2,
 22.1618 +0xb1060abd, 0x107beeb1, 0x142b1625, 0x6edd9405,
 22.1619 +0x05ffdd2b, 0x571c5318, 0x1e0d071d, 0x7690eeb1,
 22.1620 +0x1f97ccfb, 0x0f200328, 0x6dba775d, 0x22022a07,
 22.1621 +0x2e13bca1, 0x02d82603, 0x306a6536, 0xea320d11,
 22.1622 +0x54066c9e, 0x3643057c, 0xb6c6405c, 0x43ceec48,
 22.1623 +0x46078e42, 0xc6f94805, 0x4a12f906, 0x1250054e,
 22.1624 +0xdc2d3752, 0x6a055606, 0x35010158, 0x77054328,
 22.1625 +0xc7e3f0c9, 0x68eb2404, 0xbadf164f, 0x07742257,
 22.1626 +0x0646ffb0, 0x46c60201, 0x46fc2c08, 0x6014830c,
 22.1627 +0x4693b6cf, 0x570e2c0a, 0xd7e71246, 0x467bac1d,
 22.1628 +0xdc140320, 0x16032246, 0xd8c8f622, 0x1a281858,
 22.1629 +0x001e1c05, 0x38956200, 0xe6245361, 0x7b502646,
 22.1630 +0x60603824, 0x83a72a46, 0x8f0c0fe3, 0x5e7dbbb1,
 22.1631 +0xb42c6a28, 0x46c9fd37, 0x80c78e09, 0x08c36c8c,
 22.1632 +0xdf1fc106, 0xbf703a68, 0xe80f377a, 0x6a95fbdb,
 22.1633 +0x938bedf6, 0x2c6aa517, 0xfff91a15, 0xb1063cff,
 22.1634 +0x1cb320c6, 0x7adbf57d, 0xa9e81f6b, 0xdb4a1cf6,
 22.1635 +0x1d19e3c1, 0x060831dd, 0x3c55c7ed, 0x914823de,
 22.1636 +0x1434164c, 0x436762ea, 0x51ed9960, 0x89628eb8,
 22.1637 +0xfdf40d13, 0x7e0ff86c, 0xcba2708f, 0x95eb81d3,
 22.1638 +0x6deb68be, 0x6d063ffa, 0xcf29f789, 0x8389078b,
 22.1639 +0x04260b48, 0xe0bbad0a, 0x4e83ec8e, 0x4c83250c,
 22.1640 +0x60156006, 0x94d3ee83, 0xeac1180a, 0x35d05719,
 22.1641 +0xcd8d2285, 0x1bd04e76, 0xed84067f, 0xa9bad0e3,
 22.1642 +0x0620d0ee, 0x82c0010e, 0x4e810cb5, 0x53dfecb3,
 22.1643 +0xaf5274f6, 0x98ba3f74, 0x9598152b, 0x3bfdcc18,
 22.1644 +0x808b5f16, 0xe802899c, 0xb042c8ce, 0x7650d090,
 22.1645 +0x46687714, 0x8e519c2f, 0x3be86a18, 0x57b5c557,
 22.1646 +0x23740e2c, 0x88052378, 0x34e8d0d0, 0xe7c75cb7,
 22.1647 +0xb060e46c, 0xe8a6eb73, 0xb257ea56, 0x85526cf8,
 22.1648 +0x0b8d147a, 0x9fe662cc, 0x323a1bed, 0xe8d0de38,
 22.1649 +0x00c18960, 0x83024b0c, 0x27dd0de0, 0x01d30db5,
 22.1650 +0x063979f2, 0x5312e283, 0x810e2d80, 0x85086a04,
 22.1651 +0x0f78364d, 0xa24635e8, 0x77f9cc05, 0xda1d1dee,
 22.1652 +0xaee8206b, 0x1409b322, 0x74085e5b, 0x8b6d672d,
 22.1653 +0xdd24ec20, 0xe01bc777, 0x76a83881, 0x4d028b1f,
 22.1654 +0x6904428b, 0x35b62060, 0x72080762, 0x37ed1040,
 22.1655 +0x06a0fe28, 0x138b1beb, 0x362d4314, 0x82438fb0,
 22.1656 +0x93310640, 0x35bb51b0, 0xc109365f, 0x92c81315,
 22.1657 +0xff5a2c7a, 0xd001d144, 0x8370498b, 0xc60e506d,
 22.1658 +0x9466ce25, 0xdc09bddb, 0x18bf7c24, 0x9e908068,
 22.1659 +0x7c04516b, 0x0eb3639b, 0x774c094d, 0x5515b879,
 22.1660 +0xcecd9187, 0x27000a0b, 0xee2e7022, 0x3dce8c47,
 22.1661 +0xbeb7be51, 0x6f7d1486, 0x9f83aded, 0x900a7702,
 22.1662 +0xa0853493, 0x0fc07b72, 0x75f81bae, 0x8d6f9f17,
 22.1663 +0xadd1247b, 0x247e9e45, 0x75161c00, 0x6e0b0e1c,
 22.1664 +0xcc1b6deb, 0x7e144270, 0x17743b64, 0x310775e9,
 22.1665 +0x02219f02, 0x3c91a916, 0x062e4baa, 0xdb99ae68,
 22.1666 +0x76010f48, 0x580f0069, 0x506a4988, 0xb4834c5f,
 22.1667 +0xd190b90f, 0xff53e06f, 0x0003c713, 0x07dff724,
 22.1668 +0x3023d0de, 0x468b2c4e, 0x9768e15c, 0x5dbf64d8,
 22.1669 +0x5750bdba, 0xfbfce027, 0x88608a68, 0x1c896c46,
 22.1670 +0x4b8b18de, 0x2a4820b4, 0x568bf4b0, 0x865b6768,
 22.1671 +0xee52a317, 0xe20be76a, 0xd8373d55, 0x8129c360,
 22.1672 +0xbcc09454, 0x062d09e8, 0x018816c4, 0x8555fef9,
 22.1673 +0x1df6d78b, 0x478d021e, 0xb42d5007, 0x3c68a4b9,
 22.1674 +0x47305dfb, 0x7e02ff83, 0xec584bdd, 0xcfbb7657,
 22.1675 +0x0c0863b6, 0xbded6662, 0xf68a9bba, 0xbbb95ac4,
 22.1676 +0xba052017, 0xb85209a0, 0xb56a05a5, 0x75296ef6,
 22.1677 +0xff5008a8, 0x97695c76, 0xdc3efaeb, 0xe0686807,
 22.1678 +0x864fafa5, 0x8f019b14, 0x161f8fdd, 0x7404a858,
 22.1679 +0x9110e117, 0xaff88a24, 0xf8b83461, 0x00c720f4,
 22.1680 +0x3f521f43, 0x46d26f7f, 0x061db948, 0x501c9b4c,
 22.1681 +0x85541ef5, 0x1b4a1309, 0x82e6d62f, 0x2c761b04,
 22.1682 +0xd1423eb2, 0x78db1681, 0xcf4ec764, 0xbe8dffff,
 22.1683 +0x0be5d30e, 0x80b0596c, 0xb0eefa89, 0x89edee88,
 22.1684 +0x04c683ce, 0x68973878, 0x81ed68b4, 0xd3f10ec5,
 22.1685 +0x88e0bc6e, 0x19ab59f8, 0xe0e2f7c0, 0x152fb402,
 22.1686 +0x1c8ad23e, 0x8888cb2e, 0x76f6add8, 0x02f96db7,
 22.1687 +0x83138a32, 0x4e088cc8, 0x6c42cd79, 0x47bbbb0d,
 22.1688 +0x5a10beed, 0xb1d98cbd, 0xdddbe80f, 0x0c4ea1bd,
 22.1689 +0x49ece3d1, 0x0b89c309, 0x112cc888, 0x85bf7a7b,
 22.1690 +0xb0e37ff6, 0x10512ef7, 0x1f7f84b0, 0x13b96767,
 22.1691 +0x0eb804bb, 0x06b90084, 0x441d9d2b, 0x230807ef,
 22.1692 +0xe8360c09, 0xef37da61, 0xb01fc90a, 0x1aed6eac,
 22.1693 +0x3715573c, 0x97d429ee, 0x821b4fa7, 0x4c97d83c,
 22.1694 +0x6b0b2e9a, 0x082c42f1, 0x10682b68, 0xb8470974,
 22.1695 +0x1323ae04, 0x20b9eb3c, 0xfec35c77, 0x5f8bc6ff,
 22.1696 +0x8d0e0440, 0x41ee0b14, 0x7e05f983, 0x5a0cb0f3,
 22.1697 +0x0ac645ab, 0x0c578f86, 0xf427b0eb, 0x400c036c,
 22.1698 +0x9dc860ef, 0x10ec3f1e, 0x35ef30f6, 0x4c0bb866,
 22.1699 +0x9ee857ef, 0x0ba11845, 0x15de04c2, 0xba31663c,
 22.1700 +0x5fd4ea33, 0x24d81492, 0xd30af8ed, 0x862c620b,
 22.1701 +0x06a7fdc4, 0x3b826c22, 0xdc682c96, 0xed5031d1,
 22.1702 +0xe6ef9068, 0xe268b612, 0xdd021f11, 0x5bc77c9d,
 22.1703 +0x0b13e868, 0x68383753, 0xb4fe8dea, 0x4ff911f9,
 22.1704 +0xfb580ec3, 0x7c0d773b, 0x78d76cde, 0x760c554d,
 22.1705 +0xe110caf3, 0x47050ff7, 0x02e2c13f, 0x209a0366,
 22.1706 +0x91fc71ef, 0x081e406d, 0xe8ef1017, 0x9d28ea5a,
 22.1707 +0x45234cdd, 0x3ec412c6, 0xbf61d10d, 0x252d3119,
 22.1708 +0xffff800c, 0x05bbef12, 0x0edead57, 0x2d2c709d,
 22.1709 +0x1a2df039, 0xd372d91f, 0xc3f6ed47, 0xdf864bf8,
 22.1710 +0x40147d46, 0xeb08a38a, 0x3300bb0c, 0x16280b9e,
 22.1711 +0x282810fe, 0x1b86d8cc, 0xc90b20cf, 0x3188dc18,
 22.1712 +0x127aa867, 0x6c615c01, 0x3c8330c2, 0x42010269,
 22.1713 +0xb11b6d87, 0x5ae8d395, 0x9bef10ae, 0x8268f05a,
 22.1714 +0x8b502c2c, 0x8df03f82, 0xc14cbf0e, 0x922510ef,
 22.1715 +0x68753ea8, 0x0da50bea, 0x810811ef, 0x763beeff,
 22.1716 +0x3c2d7d7d, 0x6dac5197, 0x6034d7f6, 0x5e6e0c17,
 22.1717 +0x98e1fd7f, 0x97dd98e9, 0x472e7ae8, 0x3a98647f,
 22.1718 +0x3220003d, 0xae52ee38, 0x58fcbbdd, 0xec54d329,
 22.1719 +0x345ecc82, 0xfc4de11e, 0x4e7ae860, 0x29f88990,
 22.1720 +0xd7f02dfa, 0x7753861a, 0x2f605e03, 0x5806d861,
 22.1721 +0x18e6188a, 0x3264769b, 0x0d9b6315, 0x03321947,
 22.1722 +0x75fb1ade, 0xea075f6d, 0xa1660aa3, 0x7c92e810,
 22.1723 +0xbb3dc14b, 0x9851e2ef, 0x6924b486, 0x86818263,
 22.1724 +0xbe0c1761, 0x87e18e53, 0x9bd02e31, 0x26740204,
 22.1725 +0x81538b80, 0x0c37eef6, 0xf7f26926, 0x1dd021d2,
 22.1726 +0xf0090275, 0x2ece9918, 0xb18def1c, 0xc4360c01,
 22.1727 +0x30906da1, 0xba1c047d, 0x81a92674, 0x10b0b669,
 22.1728 +0x6f6f841c, 0x1c8325e4, 0xb05367b7, 0x869dcd67,
 22.1729 +0x8fbe19d0, 0xd4b53547, 0x0f18ce0b, 0x7396debe,
 22.1730 +0xeff68b05, 0xd1ef05e0, 0x486948b8, 0x05fa816f,
 22.1731 +0xf5776a6e, 0x77075aac, 0xeb0ce206, 0x70780d2f,
 22.1732 +0x7422a6f6, 0x2e25eb18, 0x6cfc7301, 0x3d2ad810,
 22.1733 +0x540e2c2a, 0xd8fffff8, 0x1df57ab6, 0x0350a4f4,
 22.1734 +0x3a3b48c5, 0x8d42705d, 0xffb8fd3c, 0x47b40681,
 22.1735 +0x768810ec, 0xd431005b, 0x3abb00aa, 0x9ba3e483,
 22.1736 +0x5d54cad8, 0xed023d2b, 0x2ad17ec6, 0xed0a96e6,
 22.1737 +0x410c75a1, 0x02df660b, 0x699ce808, 0x2afba5e0,
 22.1738 +0x74fcfd18, 0xf0556822, 0xdb1e0750, 0x70169edc,
 22.1739 +0x49c0913c, 0x66a1e82b, 0xedd7236e, 0x041a620c,
 22.1740 +0xe96e9c36, 0x741d8b04, 0xa5051ed6, 0xe6180544,
 22.1741 +0x61836ff0, 0x41bdf4f4, 0x1c5bffa8, 0x13b842b0,
 22.1742 +0x7512e320, 0xddbaf8ed, 0x29f84f03, 0xa1892ee8,
 22.1743 +0xa975c909, 0x3ee0a45e, 0x98fe7445, 0xe87deebd,
 22.1744 +0x68b518a3, 0x310a6435, 0x64f915a2, 0x6c877779,
 22.1745 +0x3d589763, 0x766b2efc, 0xffbf3dfc, 0x12e0bf02,
 22.1746 +0x7ea95874, 0x02fe8354, 0x10a14f7f, 0x9f7740c7,
 22.1747 +0x1d14bf78, 0xa50c1d8b, 0xff08e4a1, 0x71760450,
 22.1748 +0x23e7126c, 0x05417883, 0x8dfa3abe, 0x41fe5b11,
 22.1749 +0x68016a16, 0xd46a18d4, 0x79ddf126, 0x33de384c,
 22.1750 +0xeb7653d3, 0x469eb01c, 0x651a5c6e, 0xb1033974,
 22.1751 +0x0ff636dd, 0xfd10598f, 0xe9087219, 0xa0eb0d81,
 22.1752 +0x94049767, 0x8a8c0800, 0x47a1fe4d, 0x14db7ce1,
 22.1753 +0x975e2248, 0x350fa02f, 0xe81b74fc, 0xd10a19ac,
 22.1754 +0x621b12b7, 0xd5f7a26f, 0xe812ba17, 0x31b003bb,
 22.1755 +0x6b8eac16, 0x710c4ddc, 0x36fdeec1, 0xd9e8a33d,
 22.1756 +0x00c9f005, 0x9b6404be, 0xff3d8b10, 0xc1dc0c6d,
 22.1757 +0x541073ae, 0xe9c23009, 0x9859f610, 0x55658535,
 22.1758 +0x1cace884, 0x35a394da, 0x338d3b61, 0xcfd8fbe9,
 22.1759 +0x894157b8, 0x02e1c106, 0xa3d340a1, 0xa036a5dc,
 22.1760 +0xcbe2fe0f, 0xb60fec15, 0x4081ad78, 0x61223603,
 22.1761 +0xc22f0b0a, 0x031364d7, 0x16981285, 0x6b1d9d82,
 22.1762 +0x0d751208, 0x75c219b5, 0x15c5b7a9, 0x71151731,
 22.1763 +0x86bd168c, 0x8ffa59af, 0x1ea12371, 0x1dc3343a,
 22.1764 +0x60908d51, 0x84ab6a08, 0x9f95f082, 0x80cca30b,
 22.1765 +0x5884709f, 0x5089ba82, 0x1c5889c2, 0x08308c21,
 22.1766 +0x0c3e20ee, 0xfe10f0fc, 0x99be0dbe, 0x4f0111e9,
 22.1767 +0x430c1b2e, 0x15428233, 0xb08e1478, 0x55142384,
 22.1768 +0xeccce964, 0xe3c423b0, 0xec33745c, 0x74f4302a,
 22.1769 +0x7a8b6d84, 0x1a74763b, 0xf7cf5a19, 0x7db3fb05,
 22.1770 +0x90e03846, 0xd8860245, 0x0978c43b, 0x803c896e,
 22.1771 +0x3563c7ec, 0x69785208, 0x62ebb3be, 0xcd74231e,
 22.1772 +0x1e340c8e, 0x17eb3647, 0x408cde10, 0x7d83df04,
 22.1773 +0x4f92c20e, 0x7945ff67, 0x4434097f, 0x05b410ec,
 22.1774 +0xd8048d41, 0x9659a1c1, 0x6aa1a17a, 0x0390d6db,
 22.1775 +0x0c897f11, 0xb7f85408, 0x35c637ed, 0x2dbb6301,
 22.1776 +0x12dc3e80, 0x68743a04, 0x0dfb6ef1, 0x1e3c8043,
 22.1777 +0x3a05060b, 0x80bff375, 0xedca5a33, 0x0570ffe4,
 22.1778 +0x0194d808, 0xbd12c4de, 0xe814bf37, 0xb2274863,
 22.1779 +0x8205bb3f, 0x722408c7, 0x00b2e9df, 0xfdc0da31,
 22.1780 +0x036aa6e4, 0x8cb57568, 0x0c6dfa1e, 0x352d34db,
 22.1781 +0xd8a58892, 0x47386f03, 0x06a493b8, 0x2f388085,
 22.1782 +0xd70b1e1a, 0x331d4774, 0xe4cfe852, 0x9ce6b701,
 22.1783 +0x3403ce8b, 0x4020921d, 0x7beed8e1, 0x240a5429,
 22.1784 +0x318a5010, 0x3760f615, 0xe0cf9e29, 0x1f2d7546,
 22.1785 +0x959af03e, 0x687ef2a3, 0x44c83679, 0x04fd18ed,
 22.1786 +0x36a66806, 0x3e401480, 0xc3dd0afd, 0x25740457,
 22.1787 +0x2d905650, 0xa5f18568, 0x9e29f202, 0x001f2015,
 22.1788 +0x86e1e900, 0xe885f425, 0xfc971a13, 0x07759c97,
 22.1789 +0x6a143c24, 0xab02d0fe, 0x480288c1, 0x3e227c80,
 22.1790 +0x34180b7c, 0x3d80382f, 0x29749945, 0x0d631186,
 22.1791 +0xc2b80825, 0xb8775f7e, 0x860f3d46, 0x0bee52f9,
 22.1792 +0x6033c781, 0x8605f5ab, 0x97fabdbc, 0x31785bbb,
 22.1793 +0xf6218b33, 0x8a0c4405, 0x466b46c6, 0x0fd4129a,
 22.1794 +0x8c520a07, 0x26240df8, 0x6abc5c79, 0xa9ba6b6e,
 22.1795 +0x94808dce, 0x30dc5264, 0xee8b9c1a, 0x2c35ef6e,
 22.1796 +0xdf96e806, 0x62dbe0bc, 0x64100d9f, 0x593f43af,
 22.1797 +0xdd821d25, 0xbb3595d4, 0xdb85ffd4, 0xcf7ef608,
 22.1798 +0xd953401a, 0x040de028, 0xb14a5868, 0x28dcc180,
 22.1799 +0xfe47502c, 0x087725c1, 0xcb270001, 0xc695be3c,
 22.1800 +0x89932080, 0x40bc855a, 0x8bb24d85, 0x8b20e84a,
 22.1801 +0x996a0c42, 0x0d8b637a, 0xbb73bad9, 0x6816f895,
 22.1802 +0x9184d8a2, 0x09481d20, 0xb0af6a5b, 0x113248eb,
 22.1803 +0x0738b890, 0x876c64fa, 0x18a3042a, 0x1875022f,
 22.1804 +0xac1b81ca, 0xb91b2b45, 0x567dec3b, 0xa10e20f0,
 22.1805 +0xa1307c34, 0x636c1604, 0x4334a3f6, 0x6f723815,
 22.1806 +0x22b6bf86, 0x0fff243b, 0x543bf025, 0xc1d1bd8a,
 22.1807 +0x9014b0f8, 0x8203bb01, 0xb72fb261, 0xec830f75,
 22.1808 +0x8a3629d6, 0x1e1837f7, 0xa01a7584, 0x74ed8504,
 22.1809 +0x141d8b3a, 0xf6d88241, 0xe776f339, 0x63336bf3,
 22.1810 +0x2d4b1b4d, 0xad14f357, 0x19012129, 0xd763ebee,
 22.1811 +0xdf01de29, 0x04411d36, 0x62105a01, 0x1d5b34ca,
 22.1812 +0x28a09d4c, 0x38246eab, 0x07d419c4, 0x4ec29730,
 22.1813 +0x03416705, 0x6010428f, 0x2df48d13, 0xccb8300c,
 22.1814 +0x7d084d2d, 0x0531bdfd, 0x53e968e8, 0x8c591c3c,
 22.1815 +0xa7b3850f, 0x4cad5f2e, 0xd461e075, 0x614b5650,
 22.1816 +0xf08631f8, 0xbb05bb48, 0x0f1bf3ff, 0x93c22307,
 22.1817 +0x2601da41, 0xb4bc02de, 0xc28f89fb, 0x39d021c8,
 22.1818 +0x720cc405, 0xfa5bc015, 0x730b4fec, 0xc01a6609,
 22.1819 +0xa436c821, 0x14250562, 0x05b974bc, 0x03ad0e8e,
 22.1820 +0x7403df5c, 0x1fb86012, 0x34a5c728, 0x0b5e0508,
 22.1821 +0x73fbd00f, 0xd8bd1baa, 0x8dda8391, 0x62c2fb53,
 22.1822 +0xf12e348d, 0x0baa2e60, 0x9839302c, 0xa5a68587,
 22.1823 +0x3b351fd7, 0x0e767508, 0xd5b894ab, 0x335b19ba,
 22.1824 +0x5fc8cacc, 0x51aec02f, 0x50ce28a1, 0xf1077704,
 22.1825 +0x3b6a176f, 0x064bebf2, 0xeb287403, 0x7d148b44,
 22.1826 +0x180de160, 0xff307c80, 0xeb0f37e1, 0xcdd9bd31,
 22.1827 +0x04241281, 0xc3b11eeb, 0x1bde051d, 0xa3660637,
 22.1828 +0x205456d3, 0xbf761eed, 0xeb89e7a3, 0x2c568284,
 22.1829 +0x1f74b97c, 0xcda9173b, 0x3274c806, 0x68100351,
 22.1830 +0xafc46082, 0x40514c9c, 0x80305d1a, 0xc81c0d4b,
 22.1831 +0x1b111007, 0xa4e349dd, 0xc558ff54, 0xd7772343,
 22.1832 +0x0b0bb4dd, 0x6d05b005, 0x418dff5a, 0x1075345d,
 22.1833 +0x721a15ee, 0x39087728, 0x63909b1b, 0x291e721e,
 22.1834 +0xac241914, 0xe91c4efb, 0x010f7888, 0xd819c71e,
 22.1835 +0x39459d82, 0xb87309b4, 0x4417361a, 0x5c4368c9,
 22.1836 +0x8a5c1dcd, 0xd810f46d, 0xa0c2078b, 0x3dd4d0c2,
 22.1837 +0x3869cb86, 0xf6301840, 0x409a363d, 0x291ecd42,
 22.1838 +0x2b77012a, 0x81d2cb16, 0x010da850, 0x702f4767,
 22.1839 +0xd000d1b1, 0x627b0c9a, 0x253a8c52, 0x3a68b18b,
 22.1840 +0xa88b6ddc, 0xac151325, 0xeb548a52, 0xac8ebc59,
 22.1841 +0xbe40292d, 0x47ea02a0, 0x084a1b60, 0x8b413eb0,
 22.1842 +0x6fbea48e, 0xefb0573b, 0xd3392f55, 0x392972b1,
 22.1843 +0xe107bd6f, 0x442572c1, 0x07a11674, 0x968b0517,
 22.1844 +0x7efec41b, 0x05903b2c, 0x1e890673, 0x125fc661,
 22.1845 +0x1020a97e, 0x7ff839c5, 0x8b5a74a2, 0xb1975ef6,
 22.1846 +0x86e63435, 0x6cdd2fac, 0x06c03f5a, 0x19c129b1,
 22.1847 +0x76cec3d3, 0xb3591d68, 0xdab03a55, 0x3d110d44,
 22.1848 +0x82e63997, 0x759d8f21, 0x3458e865, 0xf02d3546,
 22.1849 +0xf7e70025, 0xa8157847, 0xd311c101, 0x11540d01,
 22.1850 +0xb3f11c1d, 0x0f1ab308, 0x5c09d0ac, 0xed60d8b1,
 22.1851 +0x2901ff2f, 0x721e40a3, 0x721d0d0f, 0xe8265038,
 22.1852 +0x9d207878, 0xeb2df535, 0xa9080a72, 0xb608ceb3,
 22.1853 +0x3473de20, 0x22a38306, 0xe90b63d4, 0x1f7269a6,
 22.1854 +0x3228865a, 0x1949e867, 0xa78a76ec, 0x30edc047,
 22.1855 +0x142b7ee8, 0x0c5b7eef, 0xd0892815, 0x34688d2a,
 22.1856 +0xa958e1bf, 0x00fa0e83, 0xbb83d693, 0x020297a7,
 22.1857 +0x838b373f, 0xb30600ac, 0xf6135ab4, 0xf0e87807,
 22.1858 +0x4955580a, 0xc7788fd8, 0x1eab0357, 0x8d20c3d1,
 22.1859 +0x21bd3a55, 0x3966b198, 0xb5ab6e35, 0x221ed73d,
 22.1860 +0xa50f1a2f, 0x309d0884, 0x3cff93f8, 0x70d9916e,
 22.1861 +0x89a31bb6, 0x7cdef608, 0x22004044, 0x22f163a1,
 22.1862 +0xfaf8231f, 0xe042505f, 0x146ea615, 0x1e92815d,
 22.1863 +0xbf8d4bac, 0x4378b635, 0x04e316aa, 0x53505033,
 22.1864 +0x91c184e8, 0x8530d088, 0x024d0ac0, 0x721edc2d,
 22.1865 +0xc356e6bc, 0x63c9786b, 0x3f2ae816, 0x1b473502,
 22.1866 +0x85b68cef, 0x57c0189b, 0x41985d99, 0xad1afd5d,
 22.1867 +0xf05fe879, 0x9eb341a3, 0x021085ed, 0xc05e20c8,
 22.1868 +0x07a283c0, 0xeab8bae8, 0x3bfc428d, 0x339456f0,
 22.1869 +0x62e8059e, 0xa0c27cc8, 0xb804a4d4, 0x48f5fd38,
 22.1870 +0x681858c0, 0x3be36db5, 0xab55b800, 0x6cba7d82,
 22.1871 +0x4186f74e, 0xf41b4c4d, 0x8ed1a15b, 0x2c82b386,
 22.1872 +0x44a1480c, 0xf30a4176, 0x3dbbd78d, 0x51e9e4a5,
 22.1873 +0x78e9ea90, 0x45e10701, 0x52f16803, 0x3073486a,
 22.1874 +0x3aebcc50, 0x363bade0, 0x07247640, 0x035cfa52,
 22.1875 +0xb87b2f15, 0x9ab46858, 0xe9204064, 0xc3bddaee,
 22.1876 +0x3b48f84e, 0x760a540d, 0x3b406634, 0xe865331d,
 22.1877 +0xd873f000, 0x36f90a02, 0x1c05daf8, 0x3fe86051,
 22.1878 +0x81308c24, 0x361ff703, 0x81d268be, 0x90920e15,
 22.1879 +0xf0561bf0, 0x8969120d, 0x4ad78c4c, 0x2c451656,
 22.1880 +0xaff053aa, 0x7510bfe0, 0x87878b56, 0xc14ff053,
 22.1881 +0x89c13797, 0x878f03d3, 0xef6c5d05, 0x3b0f789f,
 22.1882 +0xe61ca118, 0x93c0865b, 0x267256c3, 0x437d0477,
 22.1883 +0x8f208290, 0x12771c01, 0x47520672, 0x18fdddea,
 22.1884 +0xce990a77, 0x19014608, 0x2db7887c, 0xea9977f5,
 22.1885 +0x25011f75, 0x4cddddd0, 0x18684803, 0x3a4fe8a9,
 22.1886 +0xb789403a, 0x445b25dd, 0x76480339, 0x7a0d0016,
 22.1887 +0xb8e748d8, 0xdad929be, 0x409c1808, 0xe02d2c3b,
 22.1888 +0x0696df03, 0x458d596c, 0x854dbaff, 0x60849cc5,
 22.1889 +0x00f05f5d, 0x00d91195, 0x20801d03, 0xe2205eac,
 22.1890 +0x0d3103f5, 0xd8f7e852, 0x260ac20d, 0x95991a04,
 22.1891 +0xf0882b14, 0xca098103, 0xba25dac6, 0x297c77d6,
 22.1892 +0x211b7777, 0x305817b9, 0xd7011bfc, 0x47f80f07,
 22.1893 +0x0b16d039, 0xc7e91778, 0xe424348b, 0x153bf80e,
 22.1894 +0x090c73ed, 0x3bc21899, 0xbdb62c3d, 0x3b0eee47,
 22.1895 +0x8b2e0715, 0x63fb0d0f, 0x8c15df91, 0x548d0f3d,
 22.1896 +0x5423ff2a, 0x46c3789c, 0x72d7397c, 0x5ad0870a,
 22.1897 +0x43157320, 0x2ba47b3c, 0xff4a1d9c, 0xd089f7ff,
 22.1898 +0x4908683f, 0xb9301442, 0x5827ef89, 0xde89c278,
 22.1899 +0x0833fb5e, 0x3a4f08ab, 0x341116eb, 0x1095ec55,
 22.1900 +0xd75d3d81, 0x7f0d7fe8, 0x75464c45, 0x250a3549,
 22.1901 +0xfaf50052, 0x00896b42, 0xa16638b1, 0x2d638670,
 22.1902 +0x70ba2a7c, 0x74542977, 0x4b8320cc, 0x88346dd1,
 22.1903 +0x75433408, 0xd61fbf14, 0x3f5780e2, 0x0a740609,
 22.1904 +0x6382474f, 0x7a39e975, 0x6341cb68, 0xa46f99c0,
 22.1905 +0x0bd0e938, 0x7e027a57, 0xc33c415d, 0xd0af068a,
 22.1906 +0xe5fa4e3e, 0xf039a466, 0x2a24507a, 0xcfbaaf0a,
 22.1907 +0x25c4b82c, 0x8504e652, 0x86677d81, 0x4ed62118,
 22.1908 +0x30202108, 0x02c4ec7b, 0xf88952e6, 0x5f0bc04b,
 22.1909 +0x3aa7e230, 0xe703d107, 0x61c6294b, 0x184301a4,
 22.1910 +0xcc2e0141, 0x01f12188, 0x43259e00, 0x7708f4e2,
 22.1911 +0x4f687dc1, 0x9896073b, 0xd2b883c0, 0xf7d29071,
 22.1912 +0xfc1dee61, 0x89047318, 0x90032005, 0x7b8436b4,
 22.1913 +0xf3cac358, 0x6c0513d1, 0x05f83e12, 0x763ccd1e,
 22.1914 +0x50408b07, 0xbf03ffbd, 0x2e6ac519, 0x879c7c09,
 22.1915 +0xee048c3e, 0x53048548, 0x37290070, 0xc06e03d2,
 22.1916 +0xb8a2e5de, 0x2bd0152b, 0x981cd378, 0xf2e85110,
 22.1917 +0x1ee6bff1, 0x75ffd2dc, 0xf21c5832, 0x9236f137,
 22.1918 +0xad203333, 0xdccaa309, 0x3b99622e, 0xf3b92bc2,
 22.1919 +0xd8ec3b16, 0xbe237d10, 0x89afea01, 0x226c2756,
 22.1920 +0x6114dd7c, 0xd196c21e, 0x8d0f4bc5, 0x838ffae9,
 22.1921 +0x8d4f899d, 0x7a837590, 0xd8750440, 0xa817c5e0,
 22.1922 +0x888b5052, 0x8b11594e, 0xf95c3fc1, 0x51bd0e77,
 22.1923 +0xf4dde857, 0xb61c7399, 0x63b900ec, 0x51b78c5c,
 22.1924 +0xeca38061, 0xe3feb8b8, 0x8d62bb81, 0x0504170c,
 22.1925 +0x50488be2, 0xad81f901, 0x040def56, 0xd640708b,
 22.1926 +0x43b1146e, 0x52f86b70, 0x203b5156, 0xb7f9f678,
 22.1927 +0x825c0325, 0xe7ca848b, 0xc3b73cce, 0x580cc607,
 22.1928 +0x14f4171c, 0xf3b2bee4, 0x8c0f9db7, 0x93641774,
 22.1929 +0xc7e425f0, 0xac19a805, 0x2b6c8309, 0xb80974a3,
 22.1930 +0xf84609b8, 0xf029eec1, 0xeea0850f, 0xdba4e30b,
 22.1931 +0x36007d1f, 0x131b0313, 0xee540160, 0x261facf9,
 22.1932 +0x21350ef1, 0xfffb81ce, 0xe041d5f0, 0xbf053f6e,
 22.1933 +0xb93dbe20, 0x9a57f62c, 0x10f91766, 0x379be817,
 22.1934 +0x622e80b2, 0x46e12a31, 0x09b0e215, 0xd001b1ee,
 22.1935 +0x3ca30aa3, 0xd07ba1cc, 0x6a469164, 0x3d5207e0,
 22.1936 +0x78458bc0, 0x14f8e1e8, 0x3005fc69, 0xbf56f7c1,
 22.1937 +0x245ba11c, 0x85e0315b, 0x9d5c83e3, 0x012f2c00,
 22.1938 +0xa01bbfdc, 0x8d5fdac3, 0xd8392285, 0x9eb25576,
 22.1939 +0x91995bab, 0xae575079, 0xa5d98907, 0x3aff06c1,
 22.1940 +0xe25b85e8, 0xbf8df01e, 0x087b033b, 0x140343f6,
 22.1941 +0x03b60f25, 0x030f7f7d, 0x80939e16, 0x0a54021c,
 22.1942 +0x7fb1868d, 0xab7727b1, 0x4d742f8d, 0x1b0c07eb,
 22.1943 +0xc256e030, 0x68673ca1, 0xa4d9802a, 0xa8be56ed,
 22.1944 +0x4163ac0b, 0xe8d5c992, 0x0785017d, 0xd3badcb7,
 22.1945 +0xd2858745, 0x9c5165ae, 0xa8f49f15, 0x35406333,
 22.1946 +0x239f4216, 0x292d7cb8, 0x89900c48, 0x221f245c,
 22.1947 +0x36dc21d9, 0x082a4e75, 0x090cd5be, 0x3208011a,
 22.1948 +0x484f7b10, 0x791b8041, 0x96be00a3, 0x30b262ef,
 22.1949 +0x396efadf, 0x0637c96b, 0xa8b33db1, 0x4d15b109,
 22.1950 +0xe2a563b2, 0x61883572, 0xa41b2b72, 0x8bf3f63e,
 22.1951 +0x33d1310d, 0x75c10919, 0x96f81c53, 0x783b1b18,
 22.1952 +0x07355b77, 0xf142f773, 0x071d6db6, 0xc181d90d,
 22.1953 +0x3b1b1d1f, 0x42c889ec, 0x64193a29, 0x5f63e181,
 22.1954 +0x01884fa9, 0x292dc5d9, 0x6385eb3b, 0xa139de37,
 22.1955 +0x03093420, 0xe7c62953, 0x1276efbe, 0xffd020d4,
 22.1956 +0x20a3cc15, 0x80e24189, 0xc4f041c5, 0x7d9abc10,
 22.1957 +0x909243d5, 0x86b41046, 0xeb2d1023, 0xf373f205,
 22.1958 +0xf412b628, 0xc1f60b04, 0x680860b6, 0x21d0c060,
 22.1959 +0x1afde61f, 0x0a0b6350, 0x5c859d10, 0x98205db7,
 22.1960 +0xf70edb72, 0xb147c00b, 0x4d0605dd, 0xd2f70c0a,
 22.1961 +0x9ae6f611, 0x3881336a, 0x1dd28402, 0x7b04013d,
 22.1962 +0xea81064f, 0x3fda3407, 0x09c2e8b5, 0xe8197567,
 22.1963 +0x991bcf44, 0xc8d89bdc, 0xbf0f7564, 0x03066815,
 22.1964 +0xe15ffd0b, 0xb805491b, 0x1389c755, 0xc10be9f7,
 22.1965 +0xc37dad82, 0xf8220cfb, 0x8dc3291f, 0xad8302be,
 22.1966 +0x6cddadb6, 0x092a07e2, 0xe802a7c3, 0x1b6f57db,
 22.1967 +0x030f8941, 0x0903ca29, 0xc05bd178, 0x18e2b6e6,
 22.1968 +0x800225db, 0xda15e1d7, 0xc83902db, 0xc2294309,
 22.1969 +0xb637141d, 0x5855e37d, 0xab050a79, 0xa1697f77,
 22.1970 +0x70da8704, 0x80fd67a8, 0xe0ff543d, 0x3c74fa31,
 22.1971 +0xf00273e8, 0xcc3be833, 0x0c741bf8, 0x68d04b1b,
 22.1972 +0x03abe304, 0xf058eb95, 0xf40a8917, 0xfdba050b,
 22.1973 +0x83156292, 0xcdff52d1, 0x54b6a53f, 0xce209132,
 22.1974 +0xc54d3611, 0x348e6f52, 0x992deb58, 0xa92f5024,
 22.1975 +0xdb1172a5, 0x8e141df2, 0x1d84417d, 0x9d30c573,
 22.1976 +0x1a0fbdf5, 0x1c7203d8, 0x8511d492, 0xe82ef524,
 22.1977 +0xc22a017d, 0xc1b6d3f4, 0x3980bdac, 0x28972d1e,
 22.1978 +0xe377118a, 0xdf57b82d, 0x38df888a, 0x4341cec2,
 22.1979 +0x207eef19, 0x740e13cf, 0x08018ae6, 0x8ac0be0f,
 22.1980 +0xb9b16d08, 0xd2071513, 0x60ce5bdc, 0x200ed49c,
 22.1981 +0xbf3c0389, 0xcbab1d20, 0x3053d68a, 0x50f4c189,
 22.1982 +0x3984d705, 0x76651218, 0x127012e3, 0x7ffd3cfd,
 22.1983 +0x3fb01617, 0x0122d5b4, 0x2e3a80d9, 0xa51b1b74,
 22.1984 +0xc1207fb7, 0xce0908e6, 0x7e032147, 0xc12717ac,
 22.1985 +0xda08fa3f, 0x1a0410c8, 0xe829c502, 0x421b2714,
 22.1986 +0x00bad843, 0x61abab5d, 0x920a33e1, 0x6858e8b7,
 22.1987 +0x3c30f85b, 0xd0147709, 0xa111b692, 0x0e2ad142,
 22.1988 +0x761391d6, 0x03e2b5ec, 0x0bed2ee4, 0xe912ca89,
 22.1989 +0xfc6eb7cc, 0x12c349bf, 0x60e402eb, 0xc0d964e4,
 22.1990 +0xa80416a8, 0xaa5b96e1, 0x1ace5e02, 0xf6e872bc,
 22.1991 +0x042d4d84, 0xe8c70180, 0x1ff7bb12, 0x17365076,
 22.1992 +0xd1b0e0e8, 0xb1e864e6, 0xb09bda08, 0x60e6dff5,
 22.1993 +0x5bd9ff81, 0xa06d164b, 0x1d89d91b, 0x0afbd7f0,
 22.1994 +0xa1042d6f, 0xe2e80d3e, 0x102332ff, 0x8d9c436e,
 22.1995 +0xbb8a184b, 0x1253e8a8, 0x00fbf7db, 0x98cd2342,
 22.1996 +0x7415fb81, 0xd0acfb83, 0x750dfe30, 0x890ab302,
 22.1997 +0x286d83d8, 0x7b8024d5, 0xb2c0950f, 0x54fe0c12,
 22.1998 +0xa8ee9c3c, 0x89b58d0d, 0xf4eb29fb, 0xded8170d,
 22.1999 +0x81f0f60f, 0x76fff082, 0x90e0bf05, 0x7b66164a,
 22.2000 +0xe011a9e2, 0x910cd79d, 0x059c63ba, 0x0cbe06c5,
 22.2001 +0x22d6b116, 0xbadd1f44, 0xc90f473c, 0xa1d8c9c8,
 22.2002 +0x7494781c, 0x37d04e28, 0xc1825184, 0xebee6db1,
 22.2003 +0x831982b1, 0x04648809, 0x387bb1f0, 0xe0f057b5,
 22.2004 +0x730739d0, 0xb477b108, 0x2c384348, 0xf74b7204,
 22.2005 +0xbd9ea70d, 0x810afe00, 0x1deb1764, 0x54b66cba,
 22.2006 +0xa9d829ec, 0x206c0b16, 0x1ecd4a1e, 0x10724836,
 22.2007 +0xbe85e326, 0x8950b741, 0x4104bcc5, 0x58c9c283,
 22.2008 +0xceb61827, 0x1b76298f, 0x1013c598, 0x90ebda03,
 22.2009 +0x78311508, 0xaf5546e8, 0x6789d068, 0x1fe1812e,
 22.2010 +0xd9e820f0, 0xe85574e8, 0xed85c8c7, 0xfe1b8a40,
 22.2011 +0x90024d0a, 0x080cb000, 0x945ec252, 0x75af47d5,
 22.2012 +0xdc00aa4f, 0xc0763900, 0xfc3d4820, 0x1c22ac0a,
 22.2013 +0x6f1c2ee8, 0x4425d8d3, 0xee00de2f, 0xb2210cd1,
 22.2014 +0x0c86a21d, 0xce016cc4, 0x0cb706c6, 0x07aa1974,
 22.2015 +0x0d1e0111, 0x704605a9, 0xf9a5426d, 0x9b105c07,
 22.2016 +0x8abe17a9, 0x7614353b, 0x4613064c, 0x741d7762,
 22.2017 +0x6c9c1405, 0x2eeb6c0b, 0x6e813a07, 0x29109b88,
 22.2018 +0xcd14b0e8, 0xed57615d, 0x47720c3d, 0x8916eb35,
 22.2019 +0xb1bdf7eb, 0x0a0510b1, 0x3117043b, 0xd1bb2b2b,
 22.2020 +0x0c4f00fb, 0x7c392505, 0x31476c65, 0x561918ac,
 22.2021 +0xe1297c8b, 0xf5de01ed, 0x09b5de18, 0x0bb5ffff,
 22.2022 +0xa3184422, 0xaf6f190e, 0xf0c15c25, 0x2dea1d5e,
 22.2023 +0xdac588f0, 0x6851e02b, 0x118061e2, 0xa33c3522,
 22.2024 +0xa89a8076, 0xa1c5d421, 0xf81702f1, 0x83d9c28c,
 22.2025 +0xf0e2ceea, 0xfd1083b8, 0x72528026, 0x59892b19,
 22.2026 +0x08c023b3, 0x0442ae89, 0xa0dd3f10, 0x5d3e6c94,
 22.2027 +0xb2c2217c, 0x44b60725, 0x3b244108, 0x761d9a51,
 22.2028 +0x084c1889, 0xa2c79210, 0xb777e9ad, 0x31034727,
 22.2029 +0x0d01fc40, 0x9a83a51c, 0x58a868e7, 0x762f8cac,
 22.2030 +0xb56e39eb, 0x7d5dbc04, 0x0d03782a, 0xc746daff,
 22.2031 +0xfbfc422f, 0x01812cf8, 0x8d0d3bd1, 0x3260c8c8,
 22.2032 +0x08730d0d, 0x985162b8, 0x1cb6fe8a, 0xd981e431,
 22.2033 +0x4fc09e21, 0x010e12d4, 0x1c9308db, 0x0160dd7d,
 22.2034 +0x281a2050, 0x1aea5303, 0x2304ec19, 0x085c200c,
 22.2035 +0x03ea4560, 0xe548bbe5, 0xbf604c82, 0x5bb9e822,
 22.2036 +0xdbb42110, 0x930026fc, 0x6d042a37, 0xb8471a0b,
 22.2037 +0x38bb8467, 0x35e0181e, 0xff419e21, 0xf0c6b0f0,
 22.2038 +0x19f51d7e, 0x6035ff69, 0xf32a49aa, 0x1c4dbe29,
 22.2039 +0xec35e823, 0x12516862, 0x02dc96e0, 0x257e8c45,
 22.2040 +0xef9016ee, 0x0bc722f7, 0xc11e5c68, 0x5f3cf61e,
 22.2041 +0xab646a15, 0x0e377834, 0x0b4b7ef9, 0x8c1e6f68,
 22.2042 +0x5fbec374, 0x680b53c0, 0x536d1e7b, 0x02f148ee,
 22.2043 +0x3ee80aa3, 0x3dccb86b, 0x12bd50c2, 0x57f00559,
 22.2044 +0xdd3380bf, 0xe3653c27, 0xbecc0530, 0x3b889c0d,
 22.2045 +0x77ccc131, 0xc01297ac, 0x9e683fc5, 0xc203121e,
 22.2046 +0x34292907, 0x17fffff8, 0xb2d14898, 0xe53ac580,
 22.2047 +0xd378a338, 0x08060581, 0x24326375, 0x6a951b0f,
 22.2048 +0x0a952972, 0x40c37b20, 0x0eb0751b, 0x3c067b24,
 22.2049 +0xfedc523f, 0x8d0b6138, 0x92920e43, 0xd528852b,
 22.2050 +0x217503be, 0xba19061d, 0x9702a1c0, 0x8f8db606,
 22.2051 +0x0520e83e, 0xd52bf45b, 0x183110c4, 0x6c1bac50,
 22.2052 +0x4f01db3c, 0x8b54d337, 0xa30ca545, 0x4759551c,
 22.2053 +0x54b1fdd8, 0x84682268, 0xfdaabb8a, 0x8d5be915,
 22.2054 +0x5514d827, 0x0c25c538, 0xc5b087ad, 0xcb0523c3,
 22.2055 +0x5b122f39, 0xe2c5f609, 0x4707a1bd, 0x23b8261e,
 22.2056 +0x36d2f12c, 0x15461a10, 0xdbfe830a, 0xab4120f3,
 22.2057 +0x062b8305, 0xc3ea4060, 0x27ea27ab, 0xeba2fb4e,
 22.2058 +0xbc424365, 0x061e3c80, 0x05ed8168, 0xf47e055b,
 22.2059 +0xb52d0604, 0x0745d7db, 0x06017e08, 0x7cc6a912,
 22.2060 +0x715d76a8, 0x04150406, 0xf101006c, 0x03237a09,
 22.2061 +0xe8fa3d68, 0x5ece5949, 0x04e39788, 0x2a136068,
 22.2062 +0x2d8e0135, 0x788d101c, 0xd9897e22, 0x8f75b386,
 22.2063 +0x0495043a, 0x49102434, 0xb36f17f8, 0x6ade2601,
 22.2064 +0x1706681c, 0x82441b0f, 0xb442d792, 0xfa36bde1,
 22.2065 +0x33cb002b, 0xa956503c, 0x020ddf41, 0x0d9f10ed,
 22.2066 +0x14bb087f, 0x22ebbe7e, 0x096103b1, 0x474a9a59,
 22.2067 +0x521d580c, 0x54b33c80, 0x53c72df5, 0x8d2420d3,
 22.2068 +0x4506c6f3, 0x7eb6017c, 0x7d0379f6, 0x03006c03,
 22.2069 +0xaa7e43c6, 0xc86c350a, 0x43c7fa24, 0xf8031804,
 22.2070 +0x21067580, 0x53e82488, 0x434dfe55, 0x1c2d7109,
 22.2071 +0xf6a16f68, 0x43e8e027, 0x3b5b1a09, 0x56e24542,
 22.2072 +0x2a442da3, 0x9236555c, 0x518b100e, 0x9b026fd4,
 22.2073 +0xa1a96e88, 0x2f34b211, 0x0a1969e8, 0x8db90377,
 22.2074 +0x4229147e, 0xf867ff2c, 0x5b8b0776, 0x83024708,
 22.2075 +0xdf8614eb, 0xcd8ad75f, 0x82477f35, 0x18c92c58,
 22.2076 +0x44306bda, 0x0602d206, 0x7dee3f17, 0x87aca041,
 22.2077 +0x1a6e661c, 0x28f1defb, 0x5440a366, 0x3c6a5653,
 22.2078 +0x726c5067, 0x11b718bc, 0xe814182d, 0x3c9d7d57,
 22.2079 +0x05087552, 0x6e68750c, 0x560ba244, 0xf60c8b03,
 22.2080 +0x11631849, 0xe854450d, 0x6d158927, 0xf4787f15,
 22.2081 +0x10503b0d, 0x47433475, 0x7e58c1d1, 0xb308aec0,
 22.2082 +0xc2d8c01e, 0x8e5b3dc8, 0x182dea24, 0xb3acab51,
 22.2083 +0xbd0b55ad, 0x450440e1, 0x9806404e, 0x93eb8c05,
 22.2084 +0x1c22ab05, 0x51d60375, 0xfd58e0ec, 0x1cc0337e,
 22.2085 +0x7e812e00, 0xd0c7708c, 0x15352519, 0x02c6a6a8,
 22.2086 +0x0d1a1816, 0xb0e2ac44, 0x0585af67, 0x8649622e,
 22.2087 +0x3ee55aa9, 0x9e84bd2e, 0x8bfd184b, 0xdc62decf,
 22.2088 +0xca0000d5, 0x500646b4, 0x2536fff5, 0x68ddbb47,
 22.2089 +0x1e6863e4, 0x9894e81b, 0x99da0b57, 0x1e401f85,
 22.2090 +0x23c52030, 0x1d8b67bb, 0x07082205, 0xff120224,
 22.2091 +0x3b0b8105, 0x8be93488, 0x36a3a046, 0xb702d7cd,
 22.2092 +0x42007c14, 0x9c093b65, 0x0750dd93, 0x60349736,
 22.2093 +0xab5508ac, 0x6c5a5f8c, 0x9d16e890, 0x3dbb0307,
 22.2094 +0x7609375a, 0x5df5115b, 0x3d3407c7, 0x3f6bc51a,
 22.2095 +0x1e665079, 0xa85bf48a, 0x7e0825b6, 0x120636a0,
 22.2096 +0x1e1f4816, 0x5e006ab6, 0x7dbb8b68, 0xab9a210a,
 22.2097 +0x66727857, 0x9f1639ac, 0xf6e2dbd8, 0x14fa4108,
 22.2098 +0x4bba8f2c, 0x3b1db787, 0x83c1a166, 0x09a303d0,
 22.2099 +0x0388c16d, 0xfd8ec160, 0x1d11d02b, 0x023885ec,
 22.2100 +0xbd40e9bc, 0xb71bdd0d, 0x0ec15923, 0x1718417a,
 22.2101 +0x08f6588d, 0x6125d114, 0x1fc486c2, 0x001c1443,
 22.2102 +0x358817bb, 0x1d74051a, 0x060e7f04, 0xd9ad4cd8,
 22.2103 +0x9e477bf7, 0xc64c2f6e, 0x7406f8fe, 0x0194e92d,
 22.2104 +0x8db11e2a, 0x45862051, 0xe552b63f, 0x230b0dfb,
 22.2105 +0xeb47b6ef, 0x27c6deb6, 0x2867268d, 0x70bad4eb,
 22.2106 +0x056c2aa1, 0xbac3b7f4, 0x2b0edb87, 0xa900e9a8,
 22.2107 +0xc00c2546, 0x3ede251b, 0x7783ad55, 0xfdda395b,
 22.2108 +0x73742e04, 0x68103755, 0x1a588f0f, 0x700dd1f2,
 22.2109 +0x297591b0, 0x077a8052, 0x22013170, 0x8ca48ac2,
 22.2110 +0x775ba1e0, 0xaaa323cf, 0x6dd28aff, 0x2e7b4020,
 22.2111 +0xf16939f0, 0xabe11bb1, 0x6bffcb81, 0x3b69107e,
 22.2112 +0x8f198c6e, 0xc08d0f36, 0x0805854b, 0x9a227bb1,
 22.2113 +0x1703081e, 0x7020687e, 0x81f9e4c4, 0x95212212,
 22.2114 +0x46108f14, 0x008dc091, 0xef11affc, 0xe920ee21,
 22.2115 +0xf6f3db08, 0x42849f6e, 0x75d0393b, 0xa1d3064b,
 22.2116 +0x5ad15882, 0x5e02c1b8, 0x202f3c77, 0x73d6856a,
 22.2117 +0x4f28c1cf, 0x80615806, 0x42da1ac1, 0xc04405fe,
 22.2118 +0xd1829cae, 0x111066c4, 0xf80aa90c, 0xc046de1d,
 22.2119 +0x37a1f6bf, 0x7464ecde, 0x0ecdc6ef, 0x206a4520,
 22.2120 +0xc638e8b1, 0x3ffb4e21, 0x1aeb3f83, 0xf7006a24,
 22.2121 +0xd07b084b, 0x120e16d4, 0x3b807694, 0x2f0c329b,
 22.2122 +0x3c04d83c, 0x680984de, 0xd21f2525, 0x02862585,
 22.2123 +0xf723f184, 0x3701b004, 0x2802b46e, 0xd8013c3c,
 22.2124 +0xaa800270, 0x78c4b583, 0x29ce6e02, 0x871e5b08,
 22.2125 +0x2011b0f4, 0xa8026fb9, 0x2c1b10ce, 0xac152a02,
 22.2126 +0x1bfb640d, 0xe45c15ab, 0x0250b705, 0x463740db,
 22.2127 +0xaa0c4308, 0x01c842c2, 0x009b6d13, 0x0d0290eb,
 22.2128 +0x562167f9, 0x2f10cf8a, 0x37f14d3c, 0x5ca685c6,
 22.2129 +0x0fab3a3d, 0x628dff75, 0x838a66c0, 0xaa2baf73,
 22.2130 +0xc98af12d, 0x3ad17c85, 0xc14f87c0, 0x4353a142,
 22.2131 +0xf3f7f9e8, 0xff6f7c6d, 0xe3008068, 0x15ccea6c,
 22.2132 +0x83b313e3, 0xe964b945, 0x97723546, 0x8c6fb6c5,
 22.2133 +0x5814248a, 0x235835e8, 0x608b7893, 0x1c7bad22,
 22.2134 +0x63125457, 0x22c5b30d, 0x571920c5, 0x0ba0e4c4,
 22.2135 +0x39aee83b, 0x36d8aa85, 0xd9664288, 0xa2a3588b,
 22.2136 +0xa97ea0c1, 0xe83d6ebf, 0xd8f3c906, 0x181f6910,
 22.2137 +0xc17874a3, 0x105cb416, 0x82a3f36b, 0x278bb120,
 22.2138 +0x29c2f007, 0xce05dfe0, 0xba89c17e, 0x7ff869ff,
 22.2139 +0xa09b117e, 0xc9f49451, 0x25057e44, 0x0005ca6c,
 22.2140 +0x18c538d1, 0x3e2842f1, 0x000021e0, 0xa7096aad,
 22.2141 +0xef8efbe4, 0x7eaa33eb, 0x04ec828a, 0x090ecc55,
 22.2142 +0xf021984a, 0xf000883f, 0x2ecbc87b, 0xdb82ec81,
 22.2143 +0x136c8ed4, 0xa297c8a0, 0x19fb04ac, 0xc4df3b7b,
 22.2144 +0x08aead0a, 0xc613aea2, 0xe43b950c, 0x7608b0af,
 22.2145 +0xcf2286dd, 0x2d024072, 0x3d04013c, 0x3f829544,
 22.2146 +0xd8e8063e, 0x538fd83e, 0x2066bd93, 0x880fe827,
 22.2147 +0x8b108318, 0x40031538, 0xdeea12e8, 0x443004a3,
 22.2148 +0x3be06467, 0x20853684, 0x8474a467, 0x8147d822,
 22.2149 +0x16ca51a3, 0xdd8c8cdf, 0x168aa0fc, 0x9c8db338,
 22.2150 +0xba019024, 0x1d67dc25, 0x34a8680d, 0xc6169c27,
 22.2151 +0xda861420, 0x8c499d23, 0xea7425a0, 0xd54104e8,
 22.2152 +0x1ecf0932, 0xbf567332, 0x50284f60, 0x256d8cec,
 22.2153 +0x21513753, 0xf0afedf1, 0xf9582cd0, 0xb16a436a,
 22.2154 +0xf777e8ff, 0x63faa3b8, 0x6a46565f, 0x3e03e824,
 22.2155 +0xf4d7e8c3, 0xd46ff120, 0xdf01c789, 0xc2e805c6,
 22.2156 +0x2c7edba8, 0x3a8961b1, 0x0949b503, 0xd78103ce,
 22.2157 +0xb29a8622, 0x76183f72, 0xe82b7bfb, 0x29fb35a1,
 22.2158 +0xd47f2bc3, 0x01681f15, 0xa245f298, 0x86e81d0f,
 22.2159 +0x050b49df, 0x31483d3a, 0xd60a7402, 0xe8446b96,
 22.2160 +0x488512c0, 0x4c2138a7, 0x96337508, 0xb6101b1f,
 22.2161 +0xa061154e, 0x167f338b, 0x05bb1919, 0x16c2ec2d,
 22.2162 +0x4660683d, 0x43f0264e, 0x43919e51, 0x3a9d61d2,
 22.2163 +0x1dbbaa1f, 0x8a4106d5, 0xec555c24, 0x26081d41,
 22.2164 +0xe2a43850, 0x90943519, 0x0acfed43, 0x4421e241,
 22.2165 +0x02b31acf, 0x5874bbc9, 0xea011017, 0x01e8a605,
 22.2166 +0x0088abe4, 0xf68bd709, 0x661086ca, 0xac1e9df8,
 22.2167 +0x74ac0fd8, 0x86f81245, 0xab00001e, 0x6032603b,
 22.2168 +0xa88e2018, 0xb156dd1b, 0x242cc10d, 0xbe0f53b9,
 22.2169 +0xf6032144, 0x8fe81e67, 0xb6fffff5, 0xb0ea5f18,
 22.2170 +0x8001fc78, 0x7e13a105, 0x427080a9, 0x933db16d,
 22.2171 +0x3ec329a0, 0xf80a41d8, 0xd31b4ac4, 0xb72110c4,
 22.2172 +0x743a33e3, 0x40b31136, 0x02838b36, 0xb7ef9805,
 22.2173 +0x00833803, 0x34586807, 0x8c0ac415, 0xef441d11,
 22.2174 +0xb81d35ea, 0xa1cf1d11, 0xd050340a, 0x03d52602,
 22.2175 +0x4dca934c, 0x03803846, 0x3cb71d99, 0x2bc1f0de,
 22.2176 +0xe7bc59d0, 0x68496a11, 0x16b95be0, 0x243106e4,
 22.2177 +0x389d4904, 0xbec10930, 0x45ce9f02, 0x688ff87d,
 22.2178 +0x1a8e1944, 0x808e0e58, 0x6aa3d613, 0x23f78973,
 22.2179 +0x081b1dfc, 0x35ff0432, 0xf459e82b, 0x213909c8,
 22.2180 +0xc608e235, 0x62b5dc00, 0xddcf8e4c, 0xbb8e0f0b,
 22.2181 +0x4dda237f, 0xb78de822, 0xba0c0304, 0x38e38e39,
 22.2182 +0xd1755ebb, 0x021fe2f7, 0xfe832c26, 0x760b3d7a,
 22.2183 +0x15fc3024, 0x2cccc481, 0xf0b26af0, 0x0c240d1c,
 22.2184 +0x53c07ae0, 0x9b904325, 0x2d5b6d49, 0x88c58aa4,
 22.2185 +0x82c01107, 0x83f67117, 0x124b14e8, 0x14e2553d,
 22.2186 +0xe74e925d, 0x1616413b, 0x23e124ba, 0x21147850,
 22.2187 +0x13c15833, 0x0cf31ae5, 0xb0d49615, 0x11270cd2,
 22.2188 +0xc3e0af7f, 0xd4e8d120, 0xc0d8efb6, 0xc8750b15,
 22.2189 +0x1fb68ba5, 0x9e290742, 0x206aee91, 0x3a80f3e8,
 22.2190 +0xf141729a, 0x245a263c, 0xbfebaef8, 0x2e3b259f,
 22.2191 +0x4ae9cf76, 0x1385ba02, 0x760d1e8d, 0xfcb7d1c1,
 22.2192 +0xb7b5de09, 0xc1c3cf42, 0x0d099ce3, 0xc7bdc309,
 22.2193 +0x110a9609, 0xe9d61d81, 0x0e2551df, 0x8d47cc21,
 22.2194 +0x428a0e6a, 0xb7edc52d, 0x3c45bd0e, 0x2f81770a,
 22.2195 +0x14770e52, 0x028b6ea1, 0x04c13238, 0x89c4fd02,
 22.2196 +0x551c3fb1, 0x8ee65ce8, 0xdb460966, 0x66c74df6,
 22.2197 +0x3f0645f7, 0x284c2c1a, 0x02205140, 0x03c94174,
 22.2198 +0xfa7d1087, 0x84188a03, 0xe90cc528, 0xbf09f777,
 22.2199 +0x458b3322, 0x05dc3d2c, 0xff0e8f32, 0xa837dffb,
 22.2200 +0xef6e7c5d, 0x7410bb14, 0x8dbea13c, 0xd11df7fa,
 22.2201 +0x8d592250, 0xa10e0174, 0x29c189a8, 0x80aeedf9,
 22.2202 +0x6307098d, 0x170eeba4, 0x68581ad8, 0x370a8436,
 22.2203 +0x8afc0efd, 0x47afbc08, 0x1eb52605, 0x6037f82c,
 22.2204 +0x097d8063, 0xce5d7511, 0xf5358b54, 0xcb2c7452,
 22.2205 +0x045c22c6, 0x15c2d686, 0x860b1ac9, 0xec6e8134,
 22.2206 +0x8687b8ee, 0x7e839bfe, 0x892674a4, 0xf61c08d3,
 22.2207 +0x74ebfde3, 0x475d6257, 0xb7eceaf5, 0x9f59c817,
 22.2208 +0x601cce79, 0x4555566a, 0x9a54033a, 0x8e559e13,
 22.2209 +0x066ebc8f, 0x6177582c, 0x6e892cf6, 0x2deefe1f,
 22.2210 +0xd1620de2, 0x4c664dc2, 0xd88627c3, 0x2675e0b1,
 22.2211 +0x1a183056, 0xdb921161, 0x81b90bb6, 0x3f018d7f,
 22.2212 +0x00b389ec, 0xef22b9b3, 0x360ddd0e, 0x02edfb38,
 22.2213 +0x56905d3a, 0x336fdbff, 0x494f19a8, 0xc5835616,
 22.2214 +0xd8cfbf20, 0x1982c046, 0x21bf9279, 0x60c5b741,
 22.2215 +0x0faf31a0, 0xdd18f157, 0x3e2d5766, 0x80e96eec,
 22.2216 +0x6ab015fd, 0xfec43848, 0xfb30a146, 0xdf864fd1,
 22.2217 +0x0d3a00b1, 0xbfded4c0, 0x8a187355, 0xb82c0715,
 22.2218 +0x837a97fa, 0x4108742a, 0xd1384436, 0xf980f372,
 22.2219 +0xb6cf52ef, 0x752445b0, 0xa201431a, 0x54d55709,
 22.2220 +0x06d1541b, 0xd97dba04, 0x851c6f67, 0x0346bc33,
 22.2221 +0x048d1a50, 0x5c102585, 0x13040678, 0x96400119,
 22.2222 +0x5657f61f, 0x86c17f53, 0x5e1db3cd, 0x0819679a,
 22.2223 +0x6efbd343, 0xe4991d3a, 0xd3434190, 0xf3feb00c,
 22.2224 +0x89fb1116, 0x3c8df8f8, 0xa4360285, 0xe24ffe8a,
 22.2225 +0x468ac83d, 0x763c3c02, 0x2e3cb002, 0x7cf56b39,
 22.2226 +0x02d3a857, 0x4722a0c9, 0x62da186a, 0x5caeba23,
 22.2227 +0x78ae704a, 0xad0a7cdc, 0x60570416, 0x1b6957a4,
 22.2228 +0xe0b696a3, 0x53977432, 0x243d8717, 0x44dde460,
 22.2229 +0x08ec09c5, 0x35c83c49, 0x013d8801, 0x5202369f,
 22.2230 +0x1822c15c, 0x7bb9086f, 0xdc27ddb0, 0xe95d04c3,
 22.2231 +0x75015986, 0x5c9f3126, 0x17f003c8, 0x04ee8387,
 22.2232 +0xd0b74407, 0x304df089, 0x6ed23d77, 0x7663f357,
 22.2233 +0x93a0e022, 0x2ca190d6, 0xa8926018, 0x501f6c02,
 22.2234 +0xac400b78, 0x3335c920, 0x15cc3bc7, 0xa34056ff,
 22.2235 +0xf4adb004, 0x351dde96, 0x81b7ba8f, 0x916e34ec,
 22.2236 +0x84e31b82, 0xad52f355, 0x460d54c2, 0x6fa99a1b,
 22.2237 +0x9caedd40, 0x10038aab, 0x4306b80a, 0xd4bf87e9,
 22.2238 +0x800f84ba, 0x0d75cbba, 0x1d89df89, 0x87db2316,
 22.2239 +0x1370e9df, 0x7517343d, 0x22350869, 0x7b633576,
 22.2240 +0x381be025, 0xc83868df, 0x8cfd9d80, 0x34a416e7,
 22.2241 +0x4bec3533, 0x032c73ff, 0x7b802575, 0x117b0301,
 22.2242 +0x3d000002, 0xb53ec1d9, 0x3da9e89c, 0x488501f6,
 22.2243 +0x12f54776, 0xe9e80975, 0xc04d01e6, 0x365f61df,
 22.2244 +0x00000081, 0x35251551, 0xd97b0e75, 0x024c2e2f,
 22.2245 +0xbbe960a3, 0xac5a752a, 0x09903438, 0x60323536,
 22.2246 +0x6effb583, 0xc3263387, 0x1d1cf4ae, 0xa32ebf0c,
 22.2247 +0x3ec3bfa0, 0xa3af006c, 0x01580fe0, 0xffb7f080,
 22.2248 +0x2573ff6d, 0x8d2e7508, 0x6b200273, 0x39f50101,
 22.2249 +0x66960eee, 0x373754b1, 0x87e24dd5, 0xaa556c0b,
 22.2250 +0x03862002, 0x019e4870, 0xe872eefb, 0x353d1ae9,
 22.2251 +0x0c932409, 0x9100f972, 0xb90efe30, 0xaa00dcec,
 22.2252 +0x2b46363f, 0x50ac2f75, 0x0b06e801, 0xb95d53e0,
 22.2253 +0x6a77e031, 0x6a50b2ff, 0x834ceb7d, 0x189b1b25,
 22.2254 +0x854794f2, 0x6e33c080, 0x76059628, 0x8a80b128,
 22.2255 +0x67906db4, 0x0e153bb5, 0xc36b061f, 0x7b1a91df,
 22.2256 +0x3456eb21, 0x1e137581, 0xa708a7d8, 0xeb271e28,
 22.2257 +0xfdb69f3c, 0x2a33721d, 0x2375962b, 0xbd98347f,
 22.2258 +0x52572320, 0xd7631934, 0x03d54b8e, 0x64829b02,
 22.2259 +0xd13d89fd, 0xdba43b81, 0xacc52c05, 0x22eb064f,
 22.2260 +0x487612d0, 0x4a423019, 0x412daace, 0x0d4ac085,
 22.2261 +0x033c5b65, 0x18323399, 0xa7d10437, 0xfd20a091,
 22.2262 +0x11874ed0, 0x23a7811a, 0x8e5494a9, 0x24106409,
 22.2263 +0xd7a10e09, 0xe804c65c, 0x86eb1c17, 0xb9057e07,
 22.2264 +0x885f3807, 0xd36bc0be, 0x3f66e8e3, 0x1c71c7ba,
 22.2265 +0x06fc01c0, 0xf799d1f6, 0x8a3629f9, 0x9104d420,
 22.2266 +0x178ad49b, 0xbfc0c941, 0xd04dfb50, 0x83c8f541,
 22.2267 +0x76015478, 0xb4102b19, 0xc6c53247, 0x715471f7,
 22.2268 +0x8f7fffbb, 0xd519c7ca, 0x68703922, 0x05722a77,
 22.2269 +0x77645839, 0x8b20bd23, 0xc1186efc, 0x35305842,
 22.2270 +0x13644103, 0xa5e86851, 0x72724be0, 0x51227706,
 22.2271 +0x8107e81e, 0xca8c5a81, 0x6da82770, 0xff270761,
 22.2272 +0xa7c41152, 0x0a416cc2, 0x5028a516, 0xb13f2971,
 22.2273 +0x09530d74, 0x136c2840, 0x6446e830, 0x1388c911,
 22.2274 +0x0d059187, 0xbb0c38a3, 0x84fd51a9, 0x00bdcd83,
 22.2275 +0xc5393001, 0x460b1f73, 0x0e2461d0, 0x11eb01e0,
 22.2276 +0xddeffdd6, 0x7239ad7f, 0xbd117760, 0x0a775c5a,
 22.2277 +0x5c582bcd, 0xa860701b, 0x52ac780f, 0xfee6e89d,
 22.2278 +0x58aa1853, 0x144331d1, 0xfd631d45, 0x3074de82,
 22.2279 +0x797bb172, 0x0168cf12, 0x7689f59a, 0xc10fe2d4,
 22.2280 +0x58a39dff, 0x82449d98, 0x59c5b828, 0x5a2c7d74,
 22.2281 +0xb58d20ff, 0x23e1be88, 0x89b6fbff, 0x50d829e8,
 22.2282 +0xeb78224c, 0xe8060174, 0xb216d698, 0x6f437a07,
 22.2283 +0xdd75f339, 0xc5f218d8, 0x8b9d9a2b, 0x33eaca6c,
 22.2284 +0x8c0a3c2c, 0x36e838fe, 0x85dc224c, 0x48483039,
 22.2285 +0xb21ce989, 0xeb80fecd, 0xa1df11ce, 0xad6378f8,
 22.2286 +0x7070721c, 0x1abd2912, 0x01a2b05a, 0x3c0668df,
 22.2287 +0xfe2b3f00, 0xfe94e803, 0xb8977987, 0x68911200,
 22.2288 +0x620b6259, 0x851bea3f, 0xff03e01d, 0x9f644c40,
 22.2289 +0x8aaee8bd, 0x832c8554, 0x80b01c7a, 0x02471edf,
 22.2290 +0xc7784288, 0x46f47442, 0xc3ef7808, 0x90c4a8c5,
 22.2291 +0x1f260a66, 0x780e9f42, 0x95b4aa2d, 0xe0371282,
 22.2292 +0x0ced8c20, 0xde30497a, 0x5f741734, 0x3751de82,
 22.2293 +0x3c61380e, 0xdf0010b9, 0x2ac9ba2a, 0x413c3c38,
 22.2294 +0x76c13928, 0x801e25db, 0x4c412a24, 0xf0456051,
 22.2295 +0xd4ed0aa6, 0x1f1cd283, 0xb763202b, 0xda11d86d,
 22.2296 +0x38408c3d, 0x512ae8d1, 0x800d051d, 0xd0e70974,
 22.2297 +0x77058351, 0xd0293445, 0xf70a1850, 0x37f6e223,
 22.2298 +0x116dbee8, 0x29d54fa8, 0xcfaa7007, 0x04dfb144,
 22.2299 +0xf8832754, 0x2d2274fe, 0xf63a2901, 0x9021682f,
 22.2300 +0xabaec510, 0xaa60d498, 0x6248d891, 0xa05c1067,
 22.2301 +0xcb40644c, 0x8bc43175, 0x91ea408a, 0xda8c513a,
 22.2302 +0x83a18865, 0x688e7ad8, 0xe1945935, 0xed7b1e58,
 22.2303 +0x3a3f439d, 0x93e83fb9, 0x5ed0c2fd, 0xe1d588cd,
 22.2304 +0xb20e4326, 0x323479af, 0xdf87c060, 0x2d747060,
 22.2305 +0x1886a868, 0x1a86ba0d, 0x442c2f16, 0x7aba4885,
 22.2306 +0x6aa9dd97, 0x3c78ab20, 0x423520b3, 0xa0efc8f5,
 22.2307 +0xa854020f, 0x9e64c586, 0xc52ebe10, 0xa1827036,
 22.2308 +0x5e448c8b, 0xcc770f99, 0x0ca10438, 0xeb048773,
 22.2309 +0x8d872040, 0x25902510, 0x0f7cfa73, 0xeb060232,
 22.2310 +0x6bbaac1a, 0xb8a4ee0c, 0x910c7ea4, 0x0ea2920a,
 22.2311 +0x5028d8ef, 0xe7dc8c3f, 0xd8347b44, 0x742bcafe,
 22.2312 +0x722d0405, 0x1b6f08f4, 0xf00c903c, 0x442436a8,
 22.2313 +0xa0cd2024, 0x513a6433, 0x1454cd78, 0x01bd2e88,
 22.2314 +0x203546ea, 0xf278cfbf, 0xc526930b, 0xed77c80f,
 22.2315 +0x7cebd819, 0x289740bf, 0x2b083466, 0xd114157c,
 22.2316 +0xe2a75005, 0x230ee40b, 0x54ab7fe0, 0xe021ac09,
 22.2317 +0x502d6e03, 0xc15149a2, 0x3d17e0eb, 0xa36b95e8,
 22.2318 +0x3effc620, 0x94744902, 0x72381d39, 0xb83589d9,
 22.2319 +0x6a91f797, 0xa3083ec0, 0x9f3097b4, 0x767a4e94,
 22.2320 +0x1718a649, 0x909aba98, 0x1e1e3a20, 0x7cdf8b9c,
 22.2321 +0x4bdd6c1a, 0xba6331c0, 0xfa81d10c, 0x12730524,
 22.2322 +0x56fa8da5, 0x47753239, 0xaf4b0b8b, 0xa47b18dd,
 22.2323 +0xb938eb5c, 0x7ed27ad3, 0xaa5f6f2d, 0x3c2d4645,
 22.2324 +0x051e75c8, 0xb002c86c, 0x75d44fb9, 0x1c503a17,
 22.2325 +0x00c80916, 0xdf7b7ff1, 0xeb08420d, 0x4a39416b,
 22.2326 +0x36d37f10, 0x2aacf442, 0x9caa7255, 0xee906953,
 22.2327 +0x7a46074d, 0x08e9c118, 0x71043070, 0x212864fb,
 22.2328 +0x74945439, 0xa2564b1b, 0xcd1459b4, 0x015f63b1,
 22.2329 +0x0b26cb81, 0x4d1bc159, 0x2c825c18, 0x13002b76,
 22.2330 +0xd6c00b10, 0xa9441e60, 0x11808d1c, 0x78db70dc,
 22.2331 +0x4640851b, 0x1d1c52db, 0x1dcf1bb7, 0x1a58081a,
 22.2332 +0x00197003, 0x1da8dd2b, 0xc60eed1b, 0xdbf6f8e0,
 22.2333 +0x5b7f7423, 0xbc548723, 0x42c6441c, 0x8b19031a,
 22.2334 +0x8618c158, 0x3efae7df, 0xb1622ef4, 0xfe81f3e6,
 22.2335 +0x9187e8fe, 0xa8ef6083, 0x7507c32d, 0x6f4e4913,
 22.2336 +0xe878ce2e, 0x0b0d2396, 0x890f9a51, 0xc0180a59,
 22.2337 +0xb3a94850, 0xe9341729, 0xdfc6f31d, 0xb0118741,
 22.2338 +0x32bc013d, 0xc0e0340f, 0xe8d73df8, 0x6bd30406,
 22.2339 +0x0466bace, 0xba08380a, 0x2a6ae89b, 0x18262057,
 22.2340 +0xdb6054d6, 0x209f7144, 0xf5055022, 0x7bb811bc,
 22.2341 +0x64032cc0, 0x28c00ce8, 0xebb12ef2, 0xd75a920c,
 22.2342 +0xdc5a88aa, 0x6d4b88f8, 0xe5d0d117, 0x9d5b0289,
 22.2343 +0xba59a68b, 0x06426363, 0x57302062, 0x8381f0ed,
 22.2344 +0x3026f2c1, 0xd6771d07, 0x8f148afd, 0x391d146a,
 22.2345 +0xb1183c80, 0x644b875c, 0x1667be0c, 0x4e247f11,
 22.2346 +0x191f56ba, 0xe283e228, 0xa81174fc, 0xe80eded6,
 22.2347 +0xcc0d7401, 0x338bd089, 0xbe86f0f5, 0xfe24c6c1,
 22.2348 +0x05cc7e24, 0x3d6a5317, 0x3a1b740b, 0x50190216,
 22.2349 +0x5d6e1a04, 0x4488685b, 0xb1173639, 0x4f2b1f19,
 22.2350 +0x3d3c6486, 0x284f448a, 0xccdbe10c, 0x4327eb18,
 22.2351 +0xc7849ef0, 0x86904770, 0x4709fc6f, 0x06b0ff81,
 22.2352 +0x82708d42, 0x002c0e4f, 0xeb402df3, 0xa7d506b4,
 22.2353 +0x6b435c43, 0x1d4d7782, 0x8316be66, 0x39c405c8,
 22.2354 +0x1cc26c21, 0x201874b5, 0xec83ac26, 0x3fdd6c80,
 22.2355 +0xa00d1805, 0xb09bbc21, 0x1f053f02, 0x1c401677,
 22.2356 +0x82a0353b, 0xea053014, 0x0e410c23, 0x1c5717f8,
 22.2357 +0x4167cd66, 0x47d3462a, 0x00dc18a6, 0x0d073e35,
 22.2358 +0xf25bebfc, 0x60dc50be, 0xbf06e0a2, 0x578d4175,
 22.2359 +0x8396d80c, 0x3a529f29, 0xa1045498, 0x47e02a9a,
 22.2360 +0x104cf54f, 0x2d59f484, 0x27678907, 0x1beb0329,
 22.2361 +0xd609f04c, 0xd9c30b40, 0x48bf783e, 0x024828c9,
 22.2362 +0x6036f584, 0xa774b185, 0x2bd2e510, 0x5607266c,
 22.2363 +0xc914276a, 0xc581e45e, 0x20fe17d4, 0xecc5428b,
 22.2364 +0x2e9a16c0, 0x36dbe376, 0xea0c3d62, 0xa5f00605,
 22.2365 +0x1f8e6c04, 0x21daf7c2, 0xd0093fc2, 0x861e4fa4,
 22.2366 +0xbe5c3af4, 0xcc580030, 0x0e616c06, 0x54540688,
 22.2367 +0x20d4bb6b, 0x7d0eba55, 0xa928d384, 0x0d3a6603,
 22.2368 +0x1fee289f, 0xc16a8ecd, 0x7f091905, 0xd80c9ec7,
 22.2369 +0x6ab925b1, 0xebc82534, 0xcdd20323, 0xe90c27fe,
 22.2370 +0x14244a88, 0x1ad8efa3, 0xe2dc4e27, 0x3f0c0264,
 22.2371 +0x77605d76, 0xce80bdae, 0x0b2fbe1e, 0xb72e5250,
 22.2372 +0x74326019, 0x58342f0a, 0x817b1ddb, 0x9e74f809,
 22.2373 +0x318d4061, 0x1c2d5052, 0x4601b019, 0xa377075c,
 22.2374 +0x1861c503, 0x888fa772, 0xbbc0e940, 0x03650319,
 22.2375 +0xb323e25a, 0x01817d73, 0xb19ecf18, 0xc3140537,
 22.2376 +0xe2721d10, 0x9044b885, 0x5ed0cd80, 0xba418024,
 22.2377 +0x036832bf, 0x7e0a2c90, 0x85821c14, 0x5aa715be,
 22.2378 +0x6d75ed8c, 0x0c063724, 0x52fb1a3b, 0x20aa15b5,
 22.2379 +0x830a857b, 0x8f151003, 0x2a05c27d, 0x7f3b81d5,
 22.2380 +0x37038b61, 0x8ba97d8a, 0x7510463a, 0x462b2dd2,
 22.2381 +0xdb6fb820, 0x7007764e, 0xa3661693, 0x6dcfc058,
 22.2382 +0x89024d41, 0x80560c15, 0xbc420ed6, 0x50311474,
 22.2383 +0xbf68a918, 0x5389c0f1, 0x148c176e, 0x4cf12b1c,
 22.2384 +0x017adbd5, 0x2c1470cd, 0x7211c8c6, 0xff9001f6,
 22.2385 +0xc8c9040c, 0x1b183245, 0xef833904, 0x20d41d76,
 22.2386 +0x0b43ff01, 0x081cb143, 0x1c0743a5, 0x285d6c20,
 22.2387 +0x763fa702, 0xcb209f10, 0x2625ec16, 0x223e10c4,
 22.2388 +0x044a691c, 0xf608092e, 0x1dba4655, 0x4618dad4,
 22.2389 +0x06060904, 0xc613a87b, 0x841e08b2, 0x131b08bd,
 22.2390 +0x1c708432, 0x32201953, 0x93921127, 0x6c2168d4,
 22.2391 +0xe28fd530, 0xea24b48b, 0xeab724bc, 0x8608d4bb,
 22.2392 +0x0802e810, 0x661bf125, 0xcc14fa85, 0x0788068a,
 22.2393 +0xa051e947, 0x101115eb, 0xd68a1dbe, 0xd30c2d9d,
 22.2394 +0x4613b156, 0xb0f6f61e, 0x090ab0b1, 0x2e40f676,
 22.2395 +0xcc180175, 0x7305fe9e, 0x848b4575, 0x06832b24,
 22.2396 +0x1bdd7b0f, 0x3b80186c, 0x735f6578, 0x14ac8a07,
 22.2397 +0xeb039b63, 0x1a03700f, 0xfa607070, 0x752943ee,
 22.2398 +0x023ae9da, 0x6c7b8c69, 0x28e01a84, 0x23bd1c51,
 22.2399 +0xf6110975, 0x5ac3dbd8, 0x756c0d46, 0xeb461708,
 22.2400 +0x7bfe0c13, 0x7568fd9b, 0x170cb90e, 0x04b1030a,
 22.2401 +0x3c20c891, 0x4eca7578, 0xf97e17d9, 0x91137e1c,
 22.2402 +0xef1211eb, 0x875a1636, 0x7cade2cd, 0xc60e7472,
 22.2403 +0x76f52c45, 0x453000fb, 0x5843d088, 0x85450988,
 22.2404 +0xc379a7c9, 0xfb4f040f, 0x808acfd8, 0x7fbdab2e,
 22.2405 +0xd0096fff, 0x04e9831a, 0x5ce9e879, 0x0f649f01,
 22.2406 +0xfd52a485, 0x71d64620, 0xeb705e17, 0x20bf7715,
 22.2407 +0x79311681, 0x452d7309, 0xb81f70f7, 0xeb894f11,
 22.2408 +0x210ab903, 0x25036e05, 0x8a1c05c8, 0xb7b77003,
 22.2409 +0x55886d5b, 0x6667b870, 0x256cf700, 0x2644b777,
 22.2410 +0x038b79f7, 0x3202fac1, 0xa0b808ff, 0xbe75355d,
 22.2411 +0x39ff558d, 0xc4f86fda, 0x18c31212, 0x026d0abe,
 22.2412 +0x80430b88, 0x4ab7c23d, 0xe9f17712, 0x75404caf,
 22.2413 +0x55fd8c46, 0x9f2c7133, 0x76d88b03, 0xa1e17722,
 22.2414 +0xb6db0fc2, 0xf23f68a1, 0x40a03a1d, 0xc5631255,
 22.2415 +0xbfb784a9, 0x77240b00, 0x64eb4de2, 0x3d75214a,
 22.2416 +0xba854f4d, 0x06538da7, 0x92e52088, 0xb1926004,
 22.2417 +0x4368e30f, 0x563b8641, 0xcc6ba5c2, 0x63224172,
 22.2418 +0xe6f13075, 0xeb5d1fde, 0x07068a06, 0x73eb9094,
 22.2419 +0x3936f125, 0xd12a3f85, 0x46db7224, 0xf80661f6,
 22.2420 +0x671885e7, 0x07c6032e, 0x2d80c1dc, 0x842bf8f6,
 22.2421 +0xd46c270e, 0x17b80424, 0x13aa9ec0, 0xc4e82c31,
 22.2422 +0x585eb4fc, 0x1b304447, 0x0a19aab8, 0x732b4146,
 22.2423 +0xde206dcb, 0x1b5c569e, 0xcdb200b0, 0xfa378a30,
 22.2424 +0x1693be97, 0xae844647, 0x74d28426, 0xd1d03822,
 22.2425 +0xef97c188, 0x03c6137f, 0x8820488d, 0xf6d188c8,
 22.2426 +0xca4a0bc2, 0xfa66a038, 0x4b034f52, 0x02cdd075,
 22.2427 +0xbb15260f, 0xed5f5eb5, 0x2b6360ee, 0x028acbfe,
 22.2428 +0x41018842, 0x5b6df6ed, 0xa92c3fda, 0xde89e6c6,
 22.2429 +0x8ffa834a, 0x15bdd46e, 0x038820ce, 0xbdf02343,
 22.2430 +0x82975e5b, 0x543de9a6, 0x742ed34c, 0x9af6b006,
 22.2431 +0xfa344282, 0xea484b24, 0x5e1722be, 0xd6484c5f,
 22.2432 +0x005b036b, 0x4e2c2719, 0xd2ec3d2c, 0x4912741f,
 22.2433 +0x7ec60575, 0x75110aeb, 0xc16fb6ee, 0x56a16382,
 22.2434 +0x1a2ac388, 0xc558db18, 0xa527d7c2, 0x5fc37ef0,
 22.2435 +0xbf068055, 0x20103884, 0x246d683f, 0x40fb7928,
 22.2436 +0x3008200f, 0x5c30233b, 0xfbb121c2, 0xdf00807f,
 22.2437 +0xd1f7aef2, 0x19048d49, 0x5c480a35, 0x6fb83040,
 22.2438 +0x45daf773, 0x806dec68, 0x53c88939, 0xb1bf11f2,
 22.2439 +0x20058e12, 0xf461050b, 0x2c684929, 0x1047c888,
 22.2440 +0xdc11371f, 0x8925b800, 0x8a136cf2, 0x3dedfb08,
 22.2441 +0x740a3af6, 0xebf6db08, 0xd84d0605, 0x404309eb,
 22.2442 +0x10e0833b, 0xd889dbfb, 0xaccf59d1, 0x72d1da23,
 22.2443 +0x0c62da89, 0xd8d8d837, 0xe72b1164, 0xb36b5b93,
 22.2444 +0x322fb7e8, 0x8b0ff985, 0x0335f41d, 0x0d502dc8,
 22.2445 +0x708640fa, 0xb57778d1, 0x4dc4c5ad, 0x05c711c1,
 22.2446 +0x3dd0231f, 0x1eeb0484, 0x089d8c21, 0x0133e0ab,
 22.2447 +0x67047198, 0xaf622a13, 0x7b8d26a3, 0xb0e876c9,
 22.2448 +0x3019531e, 0x48445734, 0x892f2c76, 0xc2f0ba06,
 22.2449 +0x61570461, 0xf0ae0c13, 0xbc287b02, 0x5b0c1a0b,
 22.2450 +0x2c9b0424, 0x08243746, 0x30c152d6, 0xa1689426,
 22.2451 +0xc6db4570, 0x02139811, 0x98c56e01, 0x43e55f84,
 22.2452 +0xef754e41, 0x1a40542f, 0x90a36e0a, 0xb4210fe2,
 22.2453 +0x8b80c857, 0x78a595b8, 0xa1a6f175, 0x6e7c2069,
 22.2454 +0x1829e55c, 0xa3b0f1e7, 0xbacd891d, 0x88eb3a74,
 22.2455 +0xffa74034, 0xce890694, 0x187ce939, 0x4b85554e,
 22.2456 +0x24a88c5d, 0xd2d2f6a8, 0x68a458ee, 0x84e87dc2,
 22.2457 +0x631fa657, 0x6649302b, 0x8a20172b, 0x41420142,
 22.2458 +0x38bfbc68, 0x0bebd089, 0x19b4b216, 0x3f140d14,
 22.2459 +0xaf8acf0c, 0x77010fe8, 0xc03d8372, 0x07e2168f,
 22.2460 +0x02ad0cb9, 0x3d8053eb, 0xa08160ff, 0x53756703,
 22.2461 +0x06dc45d4, 0x331157ab, 0x26409700, 0xc82c8f78,
 22.2462 +0x8416a301, 0x7d662ac1, 0xd97b0a8d, 0xb00c5120,
 22.2463 +0x5d025414, 0x8db2baae, 0x305f4076, 0x76e14480,
 22.2464 +0x041ae845, 0x105524aa, 0x51600c28, 0xbbe80924,
 22.2465 +0xedb63801, 0x2db8230d, 0x79e807b8, 0x682141a7,
 22.2466 +0x7dbbc1fe, 0xe80957df, 0xeb0bfeff, 0x08ff8414,
 22.2467 +0x12b73e80, 0xa80d0a4e, 0xbb75d889, 0x185b4062,
 22.2468 +0xcbe4bb60, 0x0dc822bf, 0x9549d0e0, 0xb441b1ff,
 22.2469 +0x9d0699a5, 0x0dfc5710, 0x7c964280, 0x08eac166,
 22.2470 +0xda17c589, 0x0ad958f8, 0x1e1a5338, 0x31741838,
 22.2471 +0xc03b6c62, 0x068847c7, 0x0ac7ad18, 0x4c830942,
 22.2472 +0xb5bcae0e, 0x3b1b4216, 0x88e88932, 0x60620b55,
 22.2473 +0x620000c5, 0xd2072362, 0x03177d05, 0x2765850a,
 22.2474 +0x08300873, 0xc2382d5b, 0xe9d815b6, 0xbb5b2dfe,
 22.2475 +0x4ae2012d, 0x82248d26, 0x1b089b08, 0x2d454773,
 22.2476 +0x16d95a11, 0xee2d175b, 0x6fb03b23, 0xffcf0b47,
 22.2477 +0x681037ff, 0xc9520105, 0x8848fddc, 0x69f64c83,
 22.2478 +0xe90c2ead, 0x553d1bcd, 0x0a43efbf, 0xd0b153d2,
 22.2479 +0xe88fe00d, 0x032bc189, 0xee798366, 0xba08b1d8,
 22.2480 +0x796c270f, 0x462aa2e9, 0x41e47345, 0xc6025104,
 22.2481 +0xe3b83687, 0xba090d2d, 0x7b80c029, 0x1515f403,
 22.2482 +0x4de93bb9, 0xc2220406, 0xbaec152b, 0x34114a08,
 22.2483 +0x067f0417, 0x5472d00c, 0xda86140e, 0xb728e06e,
 22.2484 +0xaf28eb43, 0xff340a08, 0xb82d756e, 0xb8260606,
 22.2485 +0xdc1f8035, 0x3a0846df, 0xc63c0c84, 0xeb0ee929,
 22.2486 +0xf8225c0c, 0x16eb8e65, 0xa23a5156, 0x23c17fcd,
 22.2487 +0xf1e92225, 0x070300c7, 0x34050984, 0x9cfca96d,
 22.2488 +0x32094d05, 0xb0029c2c, 0x5f50b14d, 0xfad54f1c,
 22.2489 +0x422c1023, 0x545b07ec, 0x0ae4af4b, 0x4a5e548b,
 22.2490 +0x04c0a174, 0xbc288a99, 0xb3705810, 0x0b2c75a5,
 22.2491 +0x07dc263e, 0xc1a36150, 0x12807343, 0x06ec59b5,
 22.2492 +0x8b818500, 0xd972cd70, 0x0c852ad8, 0xa1161c13,
 22.2493 +0xa01df758, 0x2c453518, 0x163f2e39, 0x30f195b2,
 22.2494 +0xa6290001, 0xb01c600e, 0xfb85c445, 0x7d952391,
 22.2495 +0xcc79195b, 0x7267ffff, 0x26b16e32, 0x35355fbe,
 22.2496 +0xa37d77fb, 0x3e879be2, 0x8d4e757e, 0x6bae244e,
 22.2497 +0x022a6c2c, 0xd1598b1b, 0x23560703, 0x05069a16,
 22.2498 +0x3bff24f9, 0xdd0a17e1, 0x24880807, 0xc11a5139,
 22.2499 +0xae4108e2, 0x41b52bad, 0x0b208a19, 0xdd630934,
 22.2500 +0x0abe809e, 0x0f790dfc, 0x2329eb05, 0x53ddd6c0,
 22.2501 +0x501f7502, 0xcd031003, 0xd7c35c07, 0x09080374,
 22.2502 +0x04cd0b2a, 0x9017a41e, 0x27492d10, 0x07653057,
 22.2503 +0x37fffa85, 0xb3c137c2, 0x8690496a, 0x1209f5b0,
 22.2504 +0x83079680, 0x349880d8, 0x1a7bab16, 0x02726c45,
 22.2505 +0x04611007, 0xde980049, 0x041830ed, 0x0ec36b62,
 22.2506 +0x149fa2a7, 0x6b6b0f9b, 0x000001c0, 0x1014058b,
 22.2507 +0xbbb79c3e, 0x0e6ea7a7, 0x02b00f03, 0x7f04513d,
 22.2508 +0xd00e800a, 0xe913574f, 0x210ff672, 0x3704d9a2,
 22.2509 +0xca6bc564, 0x5460d9cc, 0xb6101822, 0xe4118ecf,
 22.2510 +0x4de9104e, 0xc3010268, 0x336c82b6, 0x33375642,
 22.2511 +0x6c548714, 0xeadee94d, 0x4d66e906, 0xa939152d,
 22.2512 +0x30581606, 0xeb40c16e, 0x08da24a1, 0x77c78d7d,
 22.2513 +0xd70eb506, 0xf1ff12c1, 0xfc8b1c54, 0xd49005f3,
 22.2514 +0xd9682b47, 0x1210f117, 0xb231004d, 0x7e160c01,
 22.2515 +0xa5e1564d, 0x2d3d14f1, 0xebc21f74, 0x7f06c7df,
 22.2516 +0x0d003d09, 0x3d1beb0b, 0xdd4a5b3d, 0x12ebe182,
 22.2517 +0x0510b82e, 0x28b5c002, 0x0305e876, 0x76898ef8,
 22.2518 +0xaf7fb0e1, 0xf6ece856, 0xeb5695e8, 0xb070fd44,
 22.2519 +0xc9957e08, 0x2d5dffff, 0x49d984c9, 0x000d3d87,
 22.2520 +0x1c061078, 0x62da1256, 0x710a950e, 0x576460c0,
 22.2521 +0x63f82eba, 0x5681c080, 0x4a85ad04, 0xf8d535da,
 22.2522 +0xf7ff6a3c, 0xbe8eb735, 0x0266dd60, 0x3b778bf8,
 22.2523 +0x362aca05, 0x1a743e11, 0x78d88364, 0x1ba31c5d,
 22.2524 +0x62b60aab, 0x3082ee10, 0xa1188a83, 0xadb11e83,
 22.2525 +0x731154e8, 0x49b74413, 0x00080891, 0xa0ac7602,
 22.2526 +0xf4c01460, 0x0376adcd, 0x613b073d, 0x89660e36,
 22.2527 +0xc10fe83c, 0x669eb822, 0x1b507854, 0x9a6b1ea3,
 22.2528 +0x90891218, 0x0e1ce394, 0x0608c402, 0x6574aa98,
 22.2529 +0x246cf09d, 0xf5ff9c05, 0x6078904e, 0x5f5b243d,
 22.2530 +0x4af6fa8a, 0x034535d2, 0xcc2d2cb2, 0x4849d042,
 22.2531 +0x2800a032, 0x0ec3f788, 0x75abba81, 0x80828d31,
 22.2532 +0x86bc44fb, 0xdcad8247, 0x7e099882, 0x0c3aa984,
 22.2533 +0x90820fff, 0x80b30684, 0x681b8bd7, 0x08f0d84a,
 22.2534 +0xccdbc650, 0xa7403e18, 0x7661910a, 0x0e1a242c,
 22.2535 +0xf9fd935a, 0x09260204, 0x04f306e8, 0xb905bb29,
 22.2536 +0xf451ff2a, 0x0980e6f5, 0xac607600, 0x72216229,
 22.2537 +0xd438dd83, 0x58a91b1c, 0xa33b3da2, 0x87623973,
 22.2538 +0x7439457d, 0xe0a78b2b, 0x26cdba4b, 0x53f3f35d,
 22.2539 +0x08949801, 0xfca47456, 0x425c001c, 0x14b01847,
 22.2540 +0xf5986174, 0x4021f2fc, 0x5efa7953, 0xd1165302,
 22.2541 +0x559d362d, 0xf58686a0, 0x58458f18, 0x968b7cdf,
 22.2542 +0x83081282, 0x1df06131, 0xda434094, 0xb8683c05,
 22.2543 +0xcb24e478, 0x1525c84e, 0x33199f0c, 0x1a4a6306,
 22.2544 +0x76f4ff16, 0xb2ec2d79, 0x986a0001, 0x077a600e,
 22.2545 +0x7cb77986, 0x24e9140b, 0x0ca41bb0, 0x8c13c716,
 22.2546 +0x8e42361d, 0x3c1b8903, 0x8a10ae8b, 0xb620898d,
 22.2547 +0xe91a7960, 0x9b1899ca, 0x6b607e08, 0x3b985725,
 22.2548 +0xea240924, 0x6a762905, 0x40280b18, 0x45c96162,
 22.2549 +0x9016b143, 0x119a029f, 0x6b1a9450, 0x8d3b1551,
 22.2550 +0x222b40c2, 0x261863ff, 0x942f011a, 0xc40148f7,
 22.2551 +0x24c41162, 0xbe2fc098, 0x478b686b, 0x018b840c,
 22.2552 +0xfdb81d45, 0xf01e6f95, 0x47b0ee83, 0xde9ead10,
 22.2553 +0x7630c071, 0xf0390ebb, 0xa3064173, 0x6aa9142b,
 22.2554 +0xcf121398, 0x3901f85d, 0x518d5610, 0x81555208,
 22.2555 +0xdd587df1, 0x0e73af44, 0x5bf0bbbe, 0x3a42c05e,
 22.2556 +0xf335c421, 0x08aa5196, 0x782a7823, 0xea23a02a,
 22.2557 +0x7ac7c352, 0x5304d5fb, 0x3102a494, 0x09eac011,
 22.2558 +0x4f00ba70, 0x20bf5b08, 0x26c508bb, 0xb7f2d95b,
 22.2559 +0xbe231c23, 0x460b8de9, 0xc789de0a, 0x5fec43aa,
 22.2560 +0x15bf05de, 0x0f1d1108, 0x6a66d1be, 0xc34e5ec6,
 22.2561 +0xd3fb811c, 0xbc183142, 0xebcd377e, 0xc81ba0b1,
 22.2562 +0x56e846d9, 0x6d100e0e, 0x450c8b68, 0x40f09481,
 22.2563 +0x387d534b, 0xc71e8d53, 0x0adc109a, 0xc7bc85c8,
 22.2564 +0x10559149, 0xd0014446, 0xb450aef4, 0xb72876a4,
 22.2565 +0x412ece46, 0xbea8fce0, 0x928a05db, 0x3911908d,
 22.2566 +0x11c7bb25, 0xfcc38128, 0xa1f1dbfd, 0x532185ba,
 22.2567 +0x88020324, 0x62eb42a2, 0x0306e701, 0x1161a144,
 22.2568 +0x34e1df4d, 0x6a84160f, 0x10077b80, 0xd0596aa1,
 22.2569 +0xa11423c8, 0x75d51874, 0x7768fd11, 0x2cd6ef9e,
 22.2570 +0x1486b144, 0xe644145e, 0xe81876e7, 0x00151984,
 22.2571 +0xab1b9104, 0x3a8d5a75, 0x9e186b87, 0xe412da0a,
 22.2572 +0x7e41480a, 0xdc54f444, 0x432d757a, 0xd8624775,
 22.2573 +0x0e08d485, 0xc10646df, 0x3474aadd, 0xecb91f04,
 22.2574 +0x37778f52, 0x0608a4e4, 0xfa81040b, 0x5281ed1c,
 22.2575 +0x562a73c1, 0xb0a76d53, 0xeefdc482, 0xf0b04997,
 22.2576 +0x18075b7c, 0x86073d84, 0xd2d67c2e, 0x4e7f76db,
 22.2577 +0x092d218e, 0x673982fa, 0x9a637c15, 0x012be823,
 22.2578 +0x7c60d076, 0x0d4b1f6c, 0x03ed99d7, 0x40b05297,
 22.2579 +0x6312586a, 0xbb0211f6, 0x1d03f389, 0x05bb89c0,
 22.2580 +0x974a510b, 0x94a16401, 0x1686eeb8, 0x25e89807,
 22.2581 +0x5ef911bc, 0x2dd9afbe, 0xe1048b6e, 0xd713b2a6,
 22.2582 +0x90543909, 0xe82aeea0, 0xa0e8be13, 0x3f16dd0c,
 22.2583 +0x1c0e48d6, 0x99d8e405, 0x945550d4, 0xb2f02551,
 22.2584 +0xf016beb8, 0xdcefbbbf, 0x345091d8, 0x11127358,
 22.2585 +0x084c19f0, 0xc0833d83, 0xd85b3860, 0x1416a781,
 22.2586 +0x598a1429, 0x3b7148c1, 0x66dd88ad, 0x2f021afc,
 22.2587 +0x231012f8, 0x02d8f3db, 0xc48f0800, 0x14110800,
 22.2588 +0x8d19c408, 0xb3567fd1, 0xb77fbcb1, 0x66a8d6c8,
 22.2589 +0x08810dcb, 0xa3f7898f, 0x9201a811, 0x039cd25f,
 22.2590 +0x56d9ea15, 0x015005d1, 0x2d8c8c08, 0xe92c5b63,
 22.2591 +0x0708a511, 0x36d8f6ad, 0x0d7328f2, 0x0d16ff0d,
 22.2592 +0x2304297f, 0xf2a5d8b7, 0x080dc184, 0xf20baa8c,
 22.2593 +0x116d8add, 0x84ef08c0, 0x2a3c36c5, 0x0f36ecf2,
 22.2594 +0x0801e40d, 0xa15fcd8c, 0xe055b6c6, 0x284d1108,
 22.2595 +0x731edb13, 0xc3a73023, 0x04577f30, 0x6dce0d20,
 22.2596 +0x201e647b, 0x1404207f, 0xd801ee0d, 0x08dc8db7,
 22.2597 +0x1115d48c, 0x24d73bed, 0xdb60f3db, 0x08120d22,
 22.2598 +0x2301f88c, 0xeb1a1111, 0x0825236e, 0xae280219,
 22.2599 +0xfb64710d, 0x084784da, 0x2d0d32c4, 0x5b91a235,
 22.2600 +0x33168c08, 0xb7d8cb15, 0x2e70088c, 0x750d7736,
 22.2601 +0xa8eb064a, 0x73180866, 0xb5735b1b, 0x7612c6db,
 22.2602 +0x3d08390d, 0xa80aa54d, 0xf8352c8f, 0xdce85202,
 22.2603 +0xc3c9c8ed, 0x103b07c6, 0x202aee56, 0x73720c87,
 22.2604 +0x0e419019, 0xad08c872, 0x3c9c01f7, 0xe6e49064,
 22.2605 +0x72d5ef01, 0x2b8720c8, 0xa47b48c4, 0x0db30ccd,
 22.2606 +0xe904b830, 0x23201ea5, 0xf02e0f27, 0x0c8c7094,
 22.2607 +0x6e86c872, 0x20c8f875, 0x0d678363, 0x1c8359f9,
 22.2608 +0x4bfac836, 0xf23af83a, 0x1e639390, 0x232cf125,
 22.2609 +0x1c8321f1, 0xc7101b76, 0xf20e4e0a, 0xf9f213e4,
 22.2610 +0xe8f3fd00, 0x43c9c879, 0x0fd7f41a, 0x0e4190f5,
 22.2611 +0xb52cc639, 0xf2721c83, 0xdca4f64e, 0xe4e43993,
 22.2612 +0x82f76521, 0x8e4e4690, 0x0d74eb3d, 0xb666f871,
 22.2613 +0x4191c9c8, 0x4af96858, 0xc832393b, 0xfabe3c94,
 22.2614 +0x0b6c0a2e, 0xc219609c, 0x1d0a2395, 0x83639307,
 22.2615 +0xfb1e2318, 0x8288c5b2, 0xdc000240, 0x5520c512,
 22.2616 +0xdfa804e3, 0x44743aee, 0x59e81959, 0xff0e3183,
 22.2617 +0x802dfad6, 0xe8fceead, 0xc589097e, 0x07f841b6,
 22.2618 +0xfa5d044b, 0xeb077458, 0xdd118820, 0x38eb2ba0,
 22.2619 +0xd4322357, 0x5b8b6828, 0xc4087412, 0x14761d7b,
 22.2620 +0x1e6c6790, 0x0d043d38, 0x8a17164a, 0xc88da0ed,
 22.2621 +0xa30be672, 0xdb0eb108, 0x4885f455, 0x8182d77a,
 22.2622 +0x57eda2fc, 0x027209ef, 0x88aee430, 0x97c4550a,
 22.2623 +0xa624d91c, 0x159a093c, 0xbf24c808, 0x325c930a,
 22.2624 +0x5c0a3d90, 0x2c8fd881, 0x4c8a3c20, 0xc8401c24,
 22.2625 +0x0b1c9724, 0x90c9401b, 0x3a772c85, 0x0e40260c,
 22.2626 +0x0581e079, 0x9272120d, 0x81caa54b, 0x0c7e3454,
 22.2627 +0x502468dc, 0x6bc84943, 0x58dbd49c, 0x632fa3c6,
 22.2628 +0x20410d47, 0xe8b64c82, 0xa88e3b69, 0xa9142c15,
 22.2629 +0x46fcd82f, 0x9e03b744, 0x203cfa81, 0xfa89d4b9,
 22.2630 +0x6fcd6030, 0x9250dfe4, 0xca180648, 0x42d82a83,
 22.2631 +0xed164468, 0x36d50bc1, 0x29260e02, 0x05f5b8d3,
 22.2632 +0xf7e642aa, 0x820fd839, 0x3ff8ad89, 0x5f3b8109,
 22.2633 +0x755f3233, 0x2009766a, 0xba88cf5b, 0xdeb16174,
 22.2634 +0x0ca87dc2, 0xdbff1558, 0x7c074213, 0x75c984f8,
 22.2635 +0x087b804a, 0x22dbf163, 0x022953dc, 0xe3ef7f94,
 22.2636 +0x9a2b58fe, 0x756db9d1, 0x047b8123, 0xf7c860ff,
 22.2637 +0x12765fed, 0xcb23dca3, 0x25bc10ac, 0x7525a3e0,
 22.2638 +0x9bb41c83, 0x8387a245, 0x3e02d678, 0x7441cfd0,
 22.2639 +0xe4d4e805, 0x2a055b08, 0x83303276, 0x02bce23d,
 22.2640 +0x22b166c6, 0x53620d29, 0xeb06a04d, 0x1362681b,
 22.2641 +0xe22c1f61, 0xd8f1b057, 0x61e4c301, 0x2c01df88,
 22.2642 +0xb5fd7b10, 0xb261e601, 0x8a9b15b0, 0x43e6086e,
 22.2643 +0xc942e6b5, 0xa1322575, 0x254210b7, 0xc0018e2a,
 22.2644 +0x4d056982, 0xc51bc3c3, 0x0445ee02, 0x7d39c1e8,
 22.2645 +0x8b87a5de, 0x83460870, 0x3edb6275, 0xd002d5a0,
 22.2646 +0xc2028208, 0x035c16d6, 0x033c0889, 0xda150410,
 22.2647 +0xa2020c54, 0xb0774b83, 0x3d448c15, 0xc5020407,
 22.2648 +0x824486ce, 0xdb3bd241, 0x3eff6602, 0x624dd3ba,
 22.2649 +0xa0602810, 0xed452128, 0xbfdd5706, 0xdfedfc60,
 22.2650 +0x03c4e284, 0xb0071239, 0x61090e1f, 0x6499e009,
 22.2651 +0xea680c16, 0x174c1400, 0x00a76a08, 0x2a0ae013,
 22.2652 +0x23052507, 0x092a015d, 0xa7c77404, 0x0b4cca78,
 22.2653 +0x78689d0a, 0x061448ad, 0x2241f0c7, 0x06c076c0,
 22.2654 +0x84a30180, 0xb0880513, 0x40c9926e, 0x0609908c,
 22.2655 +0xe4c05340, 0xa6af9419, 0x2aa4ec64, 0xa440a06a,
 22.2656 +0x9bb114ec, 0x028c09a8, 0xc9de9d9d, 0xb0405973,
 22.2657 +0xe322686e, 0xd53454bb, 0x16bc6843, 0x0761da57,
 22.2658 +0xc9323a29, 0x3b4f324c, 0x50dd566c, 0x482a0209,
 22.2659 +0x649d1254, 0x318381ac, 0x2a326460, 0xae986758,
 22.2660 +0x3103091e, 0x5be7cf24, 0x6c3171a9, 0xba74e3f3,
 22.2661 +0x78dd1548, 0x09c90709, 0xe79e4601, 0x680731c1,
 22.2662 +0x88c18077, 0x49ba1360, 0x1c80098c, 0x090af96d,
 22.2663 +0x3422f6a9, 0x8700068c, 0x1833141c, 0x137ea09d,
 22.2664 +0x5b331c1e, 0xc3680166, 0x8bbbba31, 0x31332068,
 22.2665 +0x6808d05a, 0xf00130de, 0xe8f168c3, 0x2036ae29,
 22.2666 +0xe770409c, 0x28f60991, 0xce819ee8, 0x045f2d20,
 22.2667 +0xf54ef16c, 0x7c290320, 0x87d5560d, 0x849ce8af,
 22.2668 +0xf10118f7, 0xef1a23b2, 0x82f01b84, 0x920f5dd5,
 22.2669 +0x1b8c73f9, 0xa8eb588d, 0xe8c33e9a, 0x114b5b03,
 22.2670 +0x24367dbf, 0x4b779d88, 0xdb475475, 0xda3a4d2d,
 22.2671 +0x9eb377fc, 0x0ed8e820, 0x9d7d887b, 0x004ef299,
 22.2672 +0x02841000, 0x603776c2, 0x44c46670, 0x00008a07,
 22.2673 +0x7e46409e, 0x687445e4, 0x013500ff, 0xffb03801,
 22.2674 +0xdc057585, 0xde001161, 0x03efbead, 0xa5ffff5d,
 22.2675 +0x035e00ee, 0x203c3401, 0x43455850, 0x6e65696c,
 22.2676 +0x72413a74, 0x5bff6863, 0x303adff7, 0x4e553a00,
 22.2677 +0x320a4944, 0x0d373102, 0x2b0c0301, 0x85e0803c,
 22.2678 +0x834406fd, 0x87868584, 0x0336035f, 0xee1ec580,
 22.2679 +0x0e6b0532, 0x3d812c09, 0x5fdf6c11, 0x03b2ab64,
 22.2680 +0x062b5f73, 0xca2c2747, 0xa463db62, 0xfff06e46,
 22.2681 +0x415441ff, 0x4e203a4c, 0x6572206f, 0x6d2d6c61,
 22.2682 +0x2065646f, 0x6b633073, 0x96ebbff7, 0x00412197,
 22.2683 +0x2b564e03, 0x6e614300, 0x23746f6e, 0x365733b7,
 22.2684 +0x24147620, 0x72502521, 0x6fdbfed6, 0x6f636f17,
 22.2685 +0x4444736c, 0x20504348, 0x04544654, 0xadffb716,
 22.2686 +0x63696eff, 0x73696400, 0x6f6cc06b, 0x00797070,
 22.2687 +0x0a202d20, 0xb9bf6c75, 0xfa6c8d6f, 0x31006665,
 22.2688 +0x72030230, 0x72652078, 0x6fdbfd9f, 0x2520723f,
 22.2689 +0x72325868, 0x31386c74, 0x33073932, 0xbec36239,
 22.2690 +0x663f6ffd, 0x38333565, 0x636d7300, 0x2d313116,
 22.2691 +0x85ed0931, 0x65186ed7, 0x02237d6c, 0x40746464,
 22.2692 +0xb177edbb, 0x362e0b6e, 0x78743039, 0xe0656864,
 22.2693 +0x6c7f7630, 0x1e78b5a1, 0x1d640170, 0x33776e66,
 22.2694 +0x35bd3036, 0x1e33b58f, 0x30303809, 0x656e9b63,
 22.2695 +0x8dd8fb2d, 0x54f16f82, 0x6e55074c, 0xf6b27573,
 22.2696 +0x955b6f12, 0x41203974, 0x25229b50, 0xb6de0163,
 22.2697 +0x9f22db77, 0x20676857, 0x787d6e69, 0x62613c0c,
 22.2698 +0xeb7ffb6e, 0x74083e21, 0x00707466, 0x002f2f3a,
 22.2699 +0x698c6f4c, 0xbde2ab20, 0x207325ec, 0x0e3a400b,
 22.2700 +0xab580827, 0x266f4270, 0x9b7523eb, 0x72465edb,
 22.2701 +0x3a506973, 0x8764440b, 0xf0ad6d0a, 0x6c6998bf,
 22.2702 +0x207a7365, 0x666d203e, 0xff280f07, 0x37c0db61,
 22.2703 +0x20002e90, 0x61726765, 0x4268206d, 0xa40ad0a1,
 22.2704 +0xaf712f7e, 0xf77b4334, 0x22676962, 0x2949424e,
 22.2705 +0xb6059005, 0x4a22d0f6, 0x5e61a74f, 0x5dcd69fa,
 22.2706 +0x69bedf76, 0x5867616d, 0x7065733c, 0x5fed7bac,
 22.2707 +0x7469ee84, 0xf170435f, 0x6f662008, 0xb99bd175,
 22.2708 +0x1a2eb5d6, 0x9541530f, 0x458f1011, 0x4d0a7bb8,
 22.2709 +0x00409c65, 0x200ad72c, 0xd8302628, 0x290675c1,
 22.2710 +0x521de512, 0xbb070b6b, 0x0b79618c, 0x77346147,
 22.2711 +0x6bb70c0d, 0x2145c285, 0x6c20a975, 0xcdedb9f4,
 22.2712 +0x65db205e, 0x966d1b09, 0xadb16b5b, 0xaf73a025,
 22.2713 +0x6135f397, 0xb6f1c310, 0x35748e72, 0xbb5a4656,
 22.2714 +0x7716bb11, 0x6d5f3d6e, 0xad5b1670, 0x61dee851,
 22.2715 +0x38747562, 0x0e739073, 0xb5b0b86b, 0x6b2d0674,
 22.2716 +0xa2657a46, 0xdb6d3364, 0x33503182, 0x2a292528,
 22.2717 +0x6085d2ec, 0x4346dc1f, 0x1e3238c9, 0xe925f68e,
 22.2718 +0x49901b00, 0x6f864634, 0x73da1b0d, 0x63060a88,
 22.2719 +0xf9766965, 0x1f0c1bba, 0x8cb462e3, 0x733a756e,
 22.2720 +0xadda9564, 0x09b2b51d, 0x50304455, 0xadd9c629,
 22.2721 +0x6d755827, 0x41ea0a4f, 0xec10bf1c, 0x20077f64,
 22.2722 +0x6c257830, 0xad0fc228, 0x2dd65415, 0x726f66f4,
 22.2723 +0xa3259690, 0x220ad161, 0x7374a111, 0x6e6b3117,
 22.2724 +0x7665f5f0, 0xadb6393c, 0x7079b0d0, 0x588b4a23,
 22.2725 +0xe1277927, 0x52f6b7b1, 0x666f5f89, 0x72756c20,
 22.2726 +0x73614e6c, 0x6e14da05, 0x3f6e4419, 0x5ae70eb1,
 22.2727 +0x2cc4b9c3, 0xdb275a62, 0x6173dcc6, 0x075b5bb3,
 22.2728 +0x6370175d, 0x90d6fc2f, 0x33320669, 0x19363534,
 22.2729 +0x1a424139, 0x43f75b4b, 0xe6464544, 0x8e68032e,
 22.2730 +0xba3cb43a, 0xcb58d687, 0x5f2f0001, 0x6fb82839,
 22.2731 +0x6f205b7c, 0x3233534f, 0x6dfb7ea4, 0x278161df,
 22.2732 +0x2e342e35, 0x18435b32, 0x8d360000, 0x202ec42f,
 22.2733 +0x50478618, 0xc26a294c, 0x74a54d61, 0x1c652425,
 22.2734 +0x2b570b2e, 0x44bd8dbd, 0xcc5605af, 0xc28770e8,
 22.2735 +0x0d098720, 0x74fb20d2, 0x81f9e08b, 0x8a784500,
 22.2736 +0x6d0e3a73, 0xc2046c3b, 0x23bfac6f, 0xc36ceea3,
 22.2737 +0x72690d1b, 0x202cea71, 0xe0d52112, 0x7642c378,
 22.2738 +0x2d73a570, 0xd5307564, 0x7ed8c478, 0x64864300,
 22.2739 +0x61af1a32, 0x20b3c3ac, 0x9a896f88, 0xd0b8d0a1,
 22.2740 +0x616649d6, 0xd76b4d91, 0x2486eb70, 0x65d74d4f,
 22.2741 +0x6074f167, 0xdadb59b4, 0x67091f78, 0x42210b28,
 22.2742 +0x8a6dc117, 0x4bd30a63, 0x16dbd764, 0x707285a4,
 22.2743 +0x42741c97, 0x5d62326e, 0x478d5a73, 0xde24ca0a,
 22.2744 +0x1c533b18, 0xc63d213f, 0xc30b8075, 0x3019c25a,
 22.2745 +0x826ca573, 0xd4738281, 0xe0663004, 0xdc12580a,
 22.2746 +0x1d32cb61, 0x1d906916, 0x2ed83333, 0x16d612c5,
 22.2747 +0x222f3093, 0x5e2d2695, 0x82927e65, 0x3d75cdae,
 22.2748 +0xd76f7a43, 0x6a9c67cf, 0x38787583, 0xbb6f7589,
 22.2749 +0x507342b6, 0xb42e1f4b, 0xb5216230, 0x6b0e1b63,
 22.2750 +0x61621f0a, 0xc520435c, 0x5407b42e, 0xdc696e67,
 22.2751 +0x8d0b78db, 0x3e77c184, 0x042f32b9, 0x220058c3,
 22.2752 +0x8ca88376, 0x2453a775, 0xb764b8b0, 0xd1f0b752,
 22.2753 +0xb7e17638, 0xac783a5f, 0x050ce9a5, 0x78c53772,
 22.2754 +0x7a486b78, 0x0c6f74d9, 0x736f000a, 0xf03866d2,
 22.2755 +0x49c2283a, 0xb0622007, 0x786ed229, 0xb279780d,
 22.2756 +0xdee72578, 0x65757186, 0x24df49d1, 0x66d88442,
 22.2757 +0x73638a2b, 0x58111e79, 0x64158572, 0xd88c2042,
 22.2758 +0x008960d6, 0x832c4531, 0x0d13dc67, 0x618fb611,
 22.2759 +0x1270d658, 0x05074785, 0x2072eaaf, 0xc2b0df26,
 22.2760 +0x2056678e, 0xd0873679, 0x9a1ee74f, 0x77130770,
 22.2761 +0xa48a7670, 0x0db56ed1, 0xd8467449, 0x3a196666,
 22.2762 +0xc2b07b92, 0x9e795741, 0x619a0000, 0x4227c9eb,
 22.2763 +0x2ddd4f4f, 0x20ce3300, 0x46370f02, 0x6ee1003c,
 22.2764 +0x0339b96b, 0x36816c49, 0x6ecb6234, 0x42bb7dee,
 22.2765 +0x30195241, 0x043a7838, 0x736f1320, 0x035eb80b,
 22.2766 +0x18598410, 0x0ce19d64, 0x7027350a, 0xf70aba81,
 22.2767 +0x00b08465, 0x5823d623, 0x7586003f, 0xf92839a9,
 22.2768 +0x063a5225, 0xb614073c, 0xc0c17961, 0xaf61b00f,
 22.2769 +0x10239d08, 0xbd62e832, 0x445e4057, 0xb5887555,
 22.2770 +0x61609016, 0x7472cf6e, 0x615f1a9c, 0x0c6db375,
 22.2771 +0xe06c5cd6, 0x574049cc, 0x5b5cff26, 0x2e6fedd8,
 22.2772 +0x470a7529, 0x5c60b846, 0x46a93830, 0xb86867ed,
 22.2773 +0xb46c3b42, 0x2e76b73c, 0xb6e03d60, 0x3a002da3,
 22.2774 +0x0319b0a7, 0x7dca95c0, 0x002c9995, 0x29400037,
 22.2775 +0x0e76ce41, 0xcf9f04b5, 0xad809307, 0x179bb06c,
 22.2776 +0xdb001f93, 0x104db575, 0x8b108702, 0x228c9003,
 22.2777 +0x02ff7f9f, 0x812910ec, 0x39078cba, 0x388d3281,
 22.2778 +0x85ddf381, 0x860fc2ba, 0x07cb13ec, 0x12111113,
 22.2779 +0x7fbb2dd2, 0x43dc124d, 0xe4136015, 0xee403307,
 22.2780 +0x8f77ddf7, 0xfa134027, 0x0613d107, 0x593f04ab,
 22.2781 +0x0da11712, 0xb1e6db07, 0x0f14ea6d, 0xab070718,
 22.2782 +0x5fffff22, 0xbb28412c, 0x017f8db2, 0x445b75c2,
 22.2783 +0x9a6ed31d, 0xa22e03f0, 0x7850aa26, 0x66464381,
 22.2784 +0x600d2dba, 0xbf0f7e03, 0x4ffd9601, 0x103f0405,
 22.2785 +0x63538263, 0x916a0b96, 0x05afd8fd, 0x0302b16b,
 22.2786 +0xec870000, 0x4dc2b615, 0x033f6800, 0xb7aa0e50,
 22.2787 +0xec0ab200, 0x52cfdb2b, 0x07d02bc5, 0x78427f45,
 22.2788 +0x59049d95, 0x6d0b4037, 0xc0000000, 0x00012000,
 22.2789 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2790 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2791 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2792 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2793 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2794 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2795 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2796 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2797 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2798 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2799 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2800 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2801 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2802 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2803 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2804 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2805 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2806 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2807 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2808 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2809 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2810 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2811 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2812 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2813 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2814 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2815 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2816 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2817 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2818 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2819 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2820 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2821 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2822 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2823 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2824 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2825 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2826 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2827 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2828 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2829 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2830 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2831 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2832 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2833 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2834 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2835 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2836 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2837 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2838 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2839 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2840 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2841 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2842 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2843 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2844 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2845 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2846 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2847 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2848 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2849 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2850 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2851  0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2852  0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2853  0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.2854 @@ -2053,10 +2047,7 @@ 0xffffffff, 0xffffffff, 0xffffffff, 0xff
 22.2855  0xffffffff, 0x72ffffff, 0x31386c74, 0x7a2e3933,
 22.2856  0x206d6f72, 0x2e342e35, 0x47282032, 0x20294c50,
 22.2857  0x65687465, 0x6f6f6272, 0x726f2e74, 0xffff0067,
 22.2858 -
 22.2859 -};
 22.2860 -unsigned etherboot_eepro100[] = {
 22.2861 -0xeb40aa55, 0xbfe9a865, 0x68744500, 0x6f627265,
 22.2862 +0xeb40aa55, 0xbfe9ab65, 0x68744500, 0x6f627265,
 22.2863  0x0000746f, 0x00540000, 0x0034001c, 0x52494350,
 22.2864  0x12298086, 0x00180000, 0x00000200, 0x00010040,
 22.2865  0x00008000, 0x506e5024, 0x00000201, 0x00008b00,
 22.2866 @@ -2075,7 +2066,7 @@ 0x50581f06, 0x6a086a66, 0x0060e900, 0x16
 22.2867  0x55506650, 0x468be589, 0x02468910, 0x8912468b,
 22.2868  0x685d0446, 0x5066104d, 0x0f2e0e50, 0x000206b6,
 22.2869  0x5009e0c1, 0xe6e8146a, 0x8f2e5800, 0x2e064a06,
 22.2870 -0x0648068f, 0xc72e6658, 0x00038406, 0x66000000,
 22.2871 +0x0648068f, 0xc72e6658, 0x00038006, 0x66000000,
 22.2872  0x00020168, 0x50686600, 0xe8000178, 0xc4830010,
 22.2873  0x89175b12, 0x3ce85bdc, 0x0002ca01, 0x6650006a,
 22.2874  0xc0200f50, 0x586601a8, 0x832d7458, 0x0000247c,
 22.2875 @@ -2090,18 +2081,18 @@ 0x00000282, 0x010f5858, 0x835d0256, 0xa9
 22.2876  0x1f07a10f, 0x8cc03166, 0x66d88ec8, 0x6604e0c1,
 22.2877  0x00038005, 0x0ba36600, 0x1f586604, 0x500179e9,
 22.2878  0xbb061e60, 0xc38e0040, 0x131e8b26, 0x06e3c100,
 22.2879 -0x146beb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
 22.2880 -0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x33878d15,
 22.2881 +0x14b9eb81, 0x2606ebc1, 0x00131e89, 0x8c06e3c1,
 22.2882 +0x89d88ed0, 0x4c8b36e6, 0x78c98518, 0x81878d15,
 22.2883  0xbfc08e13, 0xc1831000, 0x8ecf291a, 0xfcfc89d0,
 22.2884 -0x6066a4f3, 0x1f0ec38e, 0x61dfb966, 0x89660000,
 22.2885 +0x6066a4f3, 0x1f0ec38e, 0x5dafb966, 0x89660000,
 22.2886  0xcf8966ce, 0xf3fd4166, 0x66fca467, 0x66506661,
 22.2887 -0xd889c031, 0x04e0c166, 0x84a32666, 0xc7266603,
 22.2888 -0xb0038006, 0x66000146, 0x87e58958, 0x5e89165e,
 22.2889 +0xd889c031, 0x04e0c166, 0x80a32666, 0xc7266603,
 22.2890 +0x90038406, 0x6600014b, 0x87e58958, 0x5e89165e,
 22.2891  0x611f0714, 0xb80650cb, 0xc08e0040, 0x0013a126,
 22.2892 -0x0506e0c1, 0xe8c114aa, 0x13a32606, 0xc3580700,
 22.2893 -0x0000e860, 0x815d0000, 0x0002b6ed, 0x89b9fd00,
 22.2894 -0x8d00005b, 0x06530db4, 0xbc8d0000, 0x0056060d,
 22.2895 -0xfca4f300, 0x5607b58d, 0xbd8d0000, 0x00000650,
 22.2896 +0x0506e0c1, 0xe8c114f8, 0x13a32606, 0xc3580700,
 22.2897 +0x0000e860, 0x815d0000, 0x0002b6ed, 0x5fb9fd00,
 22.2898 +0x8d000057, 0x06530db4, 0xbc8d0000, 0x005fac0d,
 22.2899 +0xfca4f300, 0x5fadb58d, 0xbd8d0000, 0x00000650,
 22.2900  0xffffffbd, 0xa405ebff, 0x0775db01, 0xee831e8b,
 22.2901  0x72db11fc, 0x40c031f2, 0x0775db01, 0xee831e8b,
 22.2902  0x11db11fc, 0x75db01c0, 0x831e8b07, 0xdb11fcee,
 22.2903 @@ -2157,7 +2148,7 @@ 0xff00cf9f, 0x000000ff, 0x6f00cf93, 0x08
 22.2904  0x00000000, 0x00000000, 0x00000000, 0x00000000,
 22.2905  0x00000000, 0x00000000, 0x00000000, 0x00000000,
 22.2906  0x02000000, 0x0002bd01, 0x00000000, 0x90909090,
 22.2907 -0x000097cc, 0xffedffff, 0xf8835858, 0xcb017500,
 22.2908 +0x00009cac, 0xffedffff, 0xf8835858, 0xcb017500,
 22.2909  0x0804c483, 0xcd027502, 0xfb18cd19, 0xfbfa9090,
 22.2910  0x15cdf958, 0xbbf6edfd, 0x0eb4069c, 0x0001bb66,
 22.2911  0x0c10cd00, 0x16cdc031, 0x4bffe430, 0xb407b973,
 22.2912 @@ -2190,1438 +2181,1438 @@ 0x0bfdc1c8, 0x500342dd, 0xc88c66d7, 0x04
 22.2913  0xdda17d03, 0xec837eee, 0x08010f08, 0x02a80f66,
 22.2914  0x435c66a0, 0x7eddb777, 0x600e6616, 0x8938128d,
 22.2915  0x44070c03, 0xae3be850, 0x5dfdbedb, 0x050ced81,
 22.2916 -0xd8ad8906, 0x168b0597, 0x6fffbca9, 0x7400fedf,
 22.2917 -0x30b58d21, 0xbd8d0733, 0x39054330, 0x390472f4,
 22.2918 +0x98ad8906, 0x168b059c, 0x6fffbca9, 0x7400fedf,
 22.2919 +0x10b58d21, 0xbd8d0738, 0x39054810, 0x390472f4,
 22.2920  0x890d76fc, 0x76fdb9e6, 0x3248bbfc, 0xfc89cf29,
 22.2921  0xe3e8a4f3, 0x362d8b51, 0xb3db6c29, 0xe868bdcd,
 22.2922 -0x3f450c4f, 0xb70f1220, 0x6db7240a, 0x5c046ff7,
 22.2923 +0x3f450caf, 0xb70f1220, 0x6db7240a, 0x5c046ff7,
 22.2924  0x8d502624, 0x50608085, 0x7c548ffa, 0xfb7fd38e,
 22.2925  0xec01fb6d, 0x936158cb, 0x66a102a9, 0xe61f6607,
 22.2926  0x648b9d0c, 0xa37dd424, 0xf79cdcd0, 0xbe852696,
 22.2927  0xca9dcb9d, 0xbff62db5, 0x57565507, 0x10247c8b,
 22.2928 -0x61983d2b, 0x8339a810, 0x68affbbb, 0xe8550e88,
 22.2929 -0x5b217cba, 0xdbac6fbf, 0x0482a30e, 0x23be7789,
 22.2930 -0xf129b4b9, 0x6db7eef7, 0x15732ea3, 0x81f8ea20,
 22.2931 -0x10b80008, 0xfedc361c, 0x8ed88e7f, 0x8ed08ec0,
 22.2932 -0x5fe88ee0, 0x35c35d5e, 0x35b832e0, 0xf9bbf7e4,
 22.2933 -0xe83d05fc, 0xa358ec1d, 0xf4250bf0, 0xbdfdd605,
 22.2934 -0x68bb5970, 0x1d0300e9, 0x2868535f, 0xf7e45143,
 22.2935 -0xe87bbbbb, 0xa5890bb1, 0xa58d23cc, 0x6ca52fc0,
 22.2936 -0xde977b29, 0xe4cf615c, 0x8100768d, 0xa88fbcfc,
 22.2937 -0x74d7ba15, 0xed0c6020, 0x02341b22, 0xbb7b1919,
 22.2938 -0x17072db7, 0x7e8bd0ff, 0xf23b8b8b, 0x8b8b191c,
 22.2939 -0xdca18b15, 0x28d0bb04, 0x8be2ffbc, 0x68d6da4c,
 22.2940 -0xfd025189, 0x597ff1b8, 0x08618904, 0x890c6989,
 22.2941 -0x14796071, 0x6dc3006f, 0x1bcd0bdb, 0x8b08431f,
 22.2942 -0x095a374a, 0xebf4f662, 0x0c6a08bf, 0x8b10728b,
 22.2943 -0x051c147a, 0x4389ffb8, 0xb6959c2d, 0xbea29c28,
 22.2944 -0x840c5401, 0xce8b664b, 0xb8bb188d, 0xef181f30,
 22.2945 -0x21a29687, 0x2e9d5d58, 0xc3c2e428, 0x2b07357b,
 22.2946 -0x38815080, 0x0f0d2300, 0x82858907, 0x68956ffa,
 22.2947 -0x921b11d7, 0x284f2907, 0xd4bd530c, 0x5350ee68,
 22.2948 -0x2c1d9da9, 0x2f024389, 0x03d4bedf, 0x88101f0a,
 22.2949 -0x0c020443, 0x0f076388, 0xc231585b, 0x90c3db8d,
 22.2950 -0xc6535600, 0x6cd6a10c, 0xbddaddfa, 0x70bb0010,
 22.2951 -0x29c62904, 0xb801006a, 0xe6dfc2e8, 0x2d062e66,
 22.2952 -0x056850e4, 0x6c0986e8, 0x38de176f, 0x18c03b80,
 22.2953 -0xa03903c6, 0xb0050f9a, 0x7f5d6500, 0x0921188d,
 22.2954 -0x055a0603, 0x5bd30aa1, 0x145db6eb, 0x047f1887,
 22.2955 -0x13026a10, 0x6c7dd7b6, 0x1c065016, 0x4eefb850,
 22.2956 -0xe859602d, 0x793d2dbf, 0x66c2892c, 0x010a20f6,
 22.2957 -0xb10f0374, 0xb6c730ed, 0x8843bbc6, 0xce961203,
 22.2958 -0x3f7cb3c8, 0xefeffc1e, 0x95f7b072, 0x2e2c3f8e,
 22.2959 -0x250304bd, 0x282f6cf3, 0x32c8fc23, 0xb0b937b5,
 22.2960 -0x2d0c26c0, 0x30be0526, 0xa1e805fb, 0x83063126,
 22.2961 -0x19b901f0, 0x01b0b939, 0x0c0c152f, 0xecb0ccb9,
 22.2962 -0x29535671, 0x19e4b817, 0x47151539, 0x196d2f57,
 22.2963 -0x66287b7e, 0x8dca13c7, 0x0a6a1887, 0xbbeeef4a,
 22.2964 -0x2474db57, 0x2a24bb22, 0x3eeb8156, 0x2b186f0d,
 22.2965 -0xdcd805f0, 0x01181820, 0x35fb3975, 0x14881dfc,
 22.2966 -0x74d28566, 0x16186617, 0x0506e0a9, 0x6e0bad62,
 22.2967 -0x017220d2, 0xbd16f9d0, 0x20debec5, 0x24e475c0,
 22.2968 -0x10321d12, 0x1b07deeb, 0x0e6dfd73, 0x6cba8800,
 22.2969 -0x07b15d56, 0x22c5cdb1, 0x55404d3f, 0x636e8f9c,
 22.2970 -0x3b2c2c83, 0x06334440, 0xc36c619e, 0x31657df7,
 22.2971 -0x7f1e39ed, 0x1406500c, 0x3dafd986, 0xb0034673,
 22.2972 -0x65e805e1, 0x03fdb74b, 0x02d081db, 0xf63a75fb,
 22.2973 -0x34b22404, 0xb5deef91, 0x23e4405a, 0xb9fc0adf,
 22.2974 -0xa5f34e05, 0xae868343, 0x14c5dffb, 0x850c7d60,
 22.2975 -0x21a574db, 0x1b9db206, 0xdb5ae70d, 0x5f87d889,
 22.2976 -0x0e070939, 0xb07c08fc, 0xe81c8f5d, 0x140101ed,
 22.2977 -0xfffe98e8, 0x0b1addcf, 0x0faaa3ea, 0x960ab4e8,
 22.2978 -0x8576fcdb, 0xa30e8b20, 0xff3c1304, 0xf04e10c4,
 22.2979 -0x7041b736, 0x05d33284, 0xed9f702a, 0x990a07be,
 22.2980 -0xa10814a3, 0x05c70d04, 0x7b640808, 0x09249daf,
 22.2981 -0x1009003c, 0x1e66dcf6, 0x0f181589, 0x0911051c,
 22.2982 -0xd8dd60ec, 0x09101920, 0x28a32324, 0x9b06fb22,
 22.2983 -0x303c2c6c, 0x3159a12c, 0xdc9a2584, 0x867cf86d,
 22.2984 -0x14890ff9, 0x1afff6fc, 0x080589b6, 0xeb2b0c4e,
 22.2985 -0xc183470c, 0x1ff83914, 0xd3d8fbf6, 0x66b9e7d9,
 22.2986 -0x918beb75, 0x31fa837f, 0xdfe1bc36, 0x52779281,
 22.2987 -0x772dff3d, 0x8400bd4b, 0xdafef631, 0x941ed7ef,
 22.2988 -0x391ba92b, 0x72ce23d6, 0xc4b6770c, 0xc53c0dfb,
 22.2989 -0xa98b0676, 0x0729c30d, 0x362f6b0e, 0x09353fc7,
 22.2990 -0xcb4b19d2, 0x623dc591, 0x777cff4b, 0xfbfdf0bf,
 22.2991 -0x03c38944, 0xd6893999, 0x3b27b113, 0x2e720cab,
 22.2992 -0x5bb60677, 0x08a30de3, 0x413b2676, 0x0d724367,
 22.2993 -0xcd02bb44, 0xcf3b775d, 0x192111e1, 0x62c583d6,
 22.2994 -0x333589b3, 0xf087d8f7, 0x2784611b, 0xa3cc1c86,
 22.2995 -0xbee5e918, 0xacceb5ec, 0x792c1434, 0x1481c798,
 22.2996 -0xc99074ba, 0xb3eb1809, 0x4f13b84b, 0x90ec1987,
 22.2997 -0xb2ef052b, 0xffd6be36, 0x9b1478df, 0x3f811beb,
 22.2998 -0x45524621, 0x03662e75, 0x89620457, 0x11db8b86,
 22.2999 -0x09044f21, 0x5a953b3d, 0xd3aa6b1c, 0x0bb7f189,
 22.3000 -0xdffa16eb, 0xe7c1fa17, 0x66c7290a, 0xbb80fa81,
 22.3001 -0x44c38eca, 0x75bbf8ee, 0x0369d389, 0xe2812515,
 22.3002 -0x8c8db8ff, 0xd8b86e1a, 0xfc8906fa, 0x893942d6,
 22.3003 -0xd4bdbef2, 0x2096a6d1, 0x12ebc946, 0xc7044a5c,
 22.3004 -0xef6ee502, 0xc2816cfe, 0x49667c00, 0xe946ec75,
 22.3005 -0xb877df70, 0x42e48816, 0x09bdf2ac, 0xcc1bb0a1,
 22.3006 -0x0408675e, 0xdc69b8b9, 0x07ddda35, 0xe82c89c9,
 22.3007 -0x2404fd33, 0xe0cdbdf7, 0x5723b523, 0xbf770553,
 22.3008 -0xeef7f7d3, 0xe88151c2, 0xf989261c, 0xc1390d2b,
 22.3009 -0x16be0aeb, 0x760b90ba, 0x83247291, 0x2d6f2dda,
 22.3010 -0xcad7e3e6, 0xe2c117d2, 0xbe6428c2, 0x1ecb07b6,
 22.3011 -0x1ea7d7f3, 0x7216c0e4, 0x742a8d5f, 0x6c6fa125,
 22.3012 -0x9082c6e7, 0x032f0d5b, 0x2c1ca397, 0x82770ed6,
 22.3013 -0xa6fc9ee9, 0x779d248a, 0x7c1ba477, 0xd175612e,
 22.3014 -0x8d1a6851, 0x5b4ddc10, 0x305d936f, 0x088cfe47,
 22.3015 -0x341e05e8, 0xb49bbdb6, 0xb239e810, 0x084657b9,
 22.3016 -0xcf7afc37, 0xa71983bc, 0xe8f291e8, 0x7051fed9,
 22.3017 -0xc9626285, 0x23c27b23, 0x781d2844, 0x8dd029dc,
 22.3018 -0xc1b7050d, 0x00e3813d, 0x0d8be41b, 0xa36d8715,
 22.3019 -0xecde86ff, 0xc839ce29, 0xd8390c77, 0x12fb6477,
 22.3020 -0xf847fa4c, 0x0476000a, 0x56086e58, 0xe851d129,
 22.3021 -0xef7be497, 0x2f4d5afd, 0x1e443529, 0x7899599b,
 22.3022 -0x438b1847, 0x0753c829, 0xcdb274dd, 0x6904764f,
 22.3023 -0xda34d039, 0xa97b0574, 0xafb1cfd8, 0x0540ff08,
 22.3024 -0x573fe852, 0x30af49a3, 0x06d52c08, 0x0d8bdb70,
 22.3025 -0xa849602c, 0x2bd835b5, 0x5a847a50, 0x607e5045,
 22.3026 -0x8c67d701, 0xb95c0934, 0x165f28e8, 0x2e116c23,
 22.3027 -0x0868a4a0, 0x5ad7c620, 0x99cc262d, 0xbe59563d,
 22.3028 -0x53d8adaf, 0x2185a412, 0xf530262d, 0x52dfbc23,
 22.3029 -0xbe7974ed, 0x89241054, 0x89d729f7, 0xb06bf8fa,
 22.3030 -0x540e0715, 0xab898389, 0x750f7b82, 0xf7839fc7,
 22.3031 -0x2d89b80b, 0xf4b4550f, 0x2cf474db, 0x21fb8386,
 22.3032 -0x2c8a1554, 0x737b6ec7, 0xeac1fe5e, 0x96031304,
 22.3033 -0x6e688b89, 0x438df783, 0x352b0257, 0x3e060c59,
 22.3034 -0x59bd8a71, 0xaa9d8fd9, 0x6de358a5, 0xfd0f1d3a,
 22.3035 -0x95b8061c, 0xbb7318de, 0x53e2f192, 0x6ad1a102,
 22.3036 -0x060479db, 0x007e1d0b, 0x77eddf9d, 0x74b5153b,
 22.3037 -0xea81d602, 0x52828ba0, 0x03b60284, 0xcb3c585b,
 22.3038 -0x81046a16, 0x282219c5, 0xcfac51d0, 0x11048ddb,
 22.3039 -0x5a207b7a, 0x47c8defa, 0x00cd87cd, 0x2b9a1915,
 22.3040 -0x46346d5a, 0x4f408934, 0x16a72bc7, 0xdf2cb69a,
 22.3041 -0xd328fe91, 0x9eee3187, 0x01bf660d, 0xe8560d8f,
 22.3042 -0xd74995c1, 0xff0cf60e, 0x01180475, 0xa9170bc6,
 22.3043 -0xbb776b73, 0x5502c314, 0x2103f45e, 0x1701c133,
 22.3044 -0x8ddcc10c, 0x2da1181b, 0xd5c8e006, 0x17d843a4,
 22.3045 -0xf66d4a48, 0x06032f67, 0xcf12f889, 0x85c0a95b,
 22.3046 -0xfb4309c1, 0x46c91045, 0x9b8c56da, 0x6203c199,
 22.3047 -0xb813181c, 0xd2b78377, 0xc9031c42, 0x76113d03,
 22.3048 -0x2b432438, 0x814b3c49, 0x162c0733, 0x6189e7db,
 22.3049 -0x2d84d2d6, 0x1db7e86d, 0xb150526e, 0xf7e85708,
 22.3050 -0x0c75375c, 0xdaf8e09b, 0x2d17e991, 0x4629a731,
 22.3051 -0x1607b6f8, 0xbebbeb42, 0xdf03ec0d, 0x4d5b05c8,
 22.3052 -0x2c0ac910, 0x8303014c, 0xc4da97d1, 0x049bfce1,
 22.3053 -0xcc291055, 0x96eb5154, 0x845bb498, 0x54f59a7c,
 22.3054 -0xc142fbd0, 0x89065dc4, 0x94e85dec, 0x0edc0292,
 22.3055 -0x9c8b4c7f, 0x3579a424, 0xbcc4f764, 0x4bb535f0,
 22.3056 -0x8d6c60b9, 0x65740899, 0x5c8502b6, 0x05e6979d,
 22.3057 -0x91d0b60c, 0x8306ba25, 0x0f83d3c2, 0xa370b6e2,
 22.3058 -0x194f75cd, 0x04c2ef8b, 0x6c7f8506, 0x958e886b,
 22.3059 -0x02fec1c6, 0xbfd1dd1f, 0x4217bdbb, 0x411b108c,
 22.3060 -0xf07cf139, 0x76535250, 0xd2b8477b, 0x817016b0,
 22.3061 -0x752a64e3, 0x22c60c27, 0x5b4cf8fd, 0xc775f089,
 22.3062 -0x89266f45, 0x42f60c4f, 0xd16cd974, 0x735000e8,
 22.3063 -0xa86abf8b, 0x7c106a20, 0x5fd002e4, 0xdf8cf636,
 22.3064 -0x20e9e8d0, 0x03c08354, 0xdc911301, 0xb3f56ae9,
 22.3065 -0x9a36d182, 0x153490db, 0xbeff2cc5, 0x5f1ac1c9,
 22.3066 -0x0e765bb7, 0x16bfc8b3, 0x18a47b10, 0x8ba3f0ec,
 22.3067 -0x45bb2500, 0x6841bba9, 0x08ff0908, 0x985b5580,
 22.3068 -0x10cf60a1, 0xf3392b7b, 0xb1c15782, 0x4ae20abe,
 22.3069 -0x3fa37e0c, 0x3917e261, 0xc109ebd9, 0x01421604,
 22.3070 -0xdb8b0fc1, 0x5bf5be06, 0xc85ec10b, 0x1a36e0a1,
 22.3071 -0xba24850a, 0xd3306531, 0xa36c309c, 0x084749e5,
 22.3072 -0xef4b7d9c, 0x026ebf02, 0xf0e7830f, 0x273d89e5,
 22.3073 -0x257eb964, 0x75808603, 0x8d0f97e0, 0xdc36fd83,
 22.3074 -0x189d0ef0, 0x8d328e2d, 0x960505b8, 0x3a187667,
 22.3075 -0xd00b1ae1, 0xf7851e04, 0x82894098, 0xa2cbad1e,
 22.3076 -0x096f5830, 0xa4f0e583, 0xed8d6401, 0x5188efd7,
 22.3077 -0x3568046a, 0x5a7bac8d, 0x9df5c605, 0x58caeaeb,
 22.3078 -0x1d0707c6, 0x0805d343, 0x2323608d, 0x83a10c0e,
 22.3079 -0x7a4c4b62, 0x2b1c2888, 0xd63622a6, 0x107b0add,
 22.3080 -0x14281622, 0xa56ddb05, 0x05ff515b, 0x541c5018,
 22.3081 -0xd60d071d, 0x1ea3059d, 0x03283ccc, 0x0c5d0f20,
 22.3082 -0x2a072db6, 0x13822202, 0x94d8862e, 0x6a260375,
 22.3083 -0xb27f1130, 0x1466dabd, 0x7fe43210, 0xaba09905,
 22.3084 -0x5f36437b, 0xae437540, 0xf637c836, 0x48054680,
 22.3085 -0x054e4a12, 0x37c83534, 0x56521250, 0xfa3158a5,
 22.3086 -0x3d012c77, 0x60738d3c, 0xc7054328, 0xdffef104,
 22.3087 -0x3a68c32d, 0x59612b19, 0x01064625, 0x0846c602,
 22.3088 -0xe9dd242c, 0xae4694c8, 0xd81e1486, 0x0a46edb3,
 22.3089 -0x465a0e2c, 0x2046ed12, 0xeb0775d6, 0x46e21403,
 22.3090 -0x22160322, 0x30952818, 0x051a3632, 0xac651e1c,
 22.3091 -0x46ec2712, 0x2646e924, 0x8f6fac65, 0x2a460704,
 22.3092 -0x0fe3833a, 0x6a285e0c, 0xb62ee31e, 0x6870b42c,
 22.3093 -0x68094628, 0x6c8c80c7, 0xbf0c1183, 0x68df891c,
 22.3094 -0x78ef1363, 0xe824d234, 0x5a375882, 0xbb58df6a,
 22.3095 -0x71d43aed, 0x18142c89, 0x613b07f9, 0xdcb90860,
 22.3096 -0xd709bac1, 0xf0242ddd, 0xf7fde8d1, 0x001ac225,
 22.3097 -0xc6dda705, 0xeb6b47c0, 0xbaf062d9, 0x688ec25f,
 22.3098 -0xe9e804e3, 0xf91d21f6, 0x6c182244, 0x235bac02,
 22.3099 -0x1b7df836, 0x565615fb, 0x0b745339, 0xbe87dd9a,
 22.3100 -0xb0959af4, 0x97047401, 0xe80e68be, 0xdd66241a,
 22.3101 -0xf73df8da, 0x6ecfc529, 0xaf144ef0, 0x48cdb503,
 22.3102 -0xf4e1810b, 0x8d0a250f, 0x02090a94, 0xcde0cd9a,
 22.3103 -0x4e83f8e3, 0xa338de0b, 0x7fd48a17, 0xbad0361e,
 22.3104 -0x177544a9, 0x01f3c18e, 0x4c835fd0, 0x83306027,
 22.3105 -0x0629d080, 0x5981fc1d, 0x42b46284, 0xd4a0e743,
 22.3106 -0xa4d2ae91, 0x9eb1c082, 0xda1c1afb, 0xeb29c811,
 22.3107 -0x0bacb85a, 0xe3d0837d, 0x0b899392, 0x31b168c0,
 22.3108 -0xd61dba70, 0x178c325c, 0xeb7c4bba, 0xe8671857,
 22.3109 -0xdac358c7, 0x235d1621, 0x05527722, 0xfc34222c,
 22.3110 -0x36c4e82d, 0x306de3c7, 0x1cefd0fb, 0x7b41688a,
 22.3111 -0x02105417, 0x66d08211, 0x0af31910, 0xc0a0de18,
 22.3112 -0xdad4a91a, 0x36fbe083, 0xb10cd46c, 0x1204bef6,
 22.3113 -0xf6a9e283, 0x100fe06d, 0x040e140a, 0x7c0233bc,
 22.3114 -0xb5089480, 0x3430184d, 0xaf46464f, 0x59a138ef,
 22.3115 -0xd8bf2d0b, 0xc6d824aa, 0x97d75a06, 0x244114ab,
 22.3116 -0xef8ec554, 0x3881c032, 0x7620e22a, 0x43028b46,
 22.3117 -0xee0adb15, 0x5c04428b, 0x7a080779, 0xd130605a,
 22.3118 -0x23dc04f5, 0x1615c16b, 0x71d14ada, 0x22e26f04,
 22.3119 -0x31341bbf, 0xc38bc6b6, 0x5b245d67, 0x07017136,
 22.3120 -0x438b0d7d, 0xd40640b2, 0x27d02dae, 0x5b7fe1e9,
 22.3121 -0x37760913, 0x72afdb7c, 0xeb0a0310, 0x682d90ba,
 22.3122 -0x1c9c9220, 0xd8e6df53, 0x4ea604ec, 0x78504d85,
 22.3123 -0x73061558, 0x0b33b364, 0x2454000a, 0x13688d6b,
 22.3124 -0x52ee6138, 0x638e5728, 0xdf77e9f1, 0xbe02f8c0,
 22.3125 -0x07771a81, 0xe085348b, 0xee147b27, 0xedb6ca36,
 22.3126 -0x77181940, 0x1b741e54, 0x703ad848, 0x07760aed,
 22.3127 -0x19ff2cb8, 0xd0e8e514, 0x02ba8cf5, 0x1bbb6f86,
 22.3128 -0x3e1db75a, 0xb817897a, 0x3a397440, 0x06c9cdeb,
 22.3129 -0xa71e707e, 0xa1247b8d, 0xe4b90024, 0x7553b1d9,
 22.3130 -0x4e2633ac, 0x70c60cb2, 0x352994ed, 0xc3928e0c,
 22.3131 -0xa016d4c8, 0x32866303, 0x0cc4a8fa, 0x037ba053,
 22.3132 -0x32b4346d, 0x4b17a344, 0x85e6d315, 0x0b1ef856,
 22.3133 -0xd01d244c, 0x0bc78553, 0x23c9816e, 0xbe10c3e7,
 22.3134 -0x858e74bd, 0xda89ee12, 0x2a1640ef, 0xfea5f66e,
 22.3135 -0x23231af4, 0xed10c2be, 0x85a99e4e, 0x0e78e03b,
 22.3136 -0xdc74bba9, 0x45c3725a, 0x30b0fa93, 0xbd4880fb,
 22.3137 -0xc0e4d551, 0x56e6ec3e, 0x09566753, 0xec0864c1,
 22.3138 -0x41019225, 0x31266463, 0x58a839e4, 0xb1c1ea01,
 22.3139 -0x392d3085, 0x77b30ec5, 0xbdd04b7f, 0xb8f21014,
 22.3140 -0xea654802, 0x10c1ef66, 0x026afba4, 0x0f6ddfe8,
 22.3141 -0xfe8bdd03, 0x89fec50f, 0x6dc8e8ee, 0xf989af49,
 22.3142 -0x01a8f8d3, 0xd8f006bb, 0x7523ee37, 0xd892b302,
 22.3143 -0x9e66f289, 0x16cb8302, 0xdf6ddb01, 0xd889289f,
 22.3144 -0xd8d4f93c, 0xd111bb75, 0x40f26f64, 0x2ca5ed66,
 22.3145 -0x2a2f1dd9, 0xc20901e0, 0x79b0794f, 0xd820703f,
 22.3146 -0x7c62e877, 0x1bde1200, 0x0521bc37, 0x00b9e277,
 22.3147 -0x8f7427ac, 0x1afc25ed, 0x00b81273, 0x02c20801,
 22.3148 -0xc04fc32c, 0x0fd96176, 0xeb3412c3, 0x16ae25e9,
 22.3149 -0x23d6616c, 0x2cf4fad8, 0x81a2831d, 0x8b25d5ee,
 22.3150 -0x2c7e06ee, 0x16058c5b, 0xf1ba0c1c, 0xd50684c0,
 22.3151 -0x6a77a6a5, 0x5c70ff28, 0xdb3812b1, 0x8fe3b752,
 22.3152 -0x82b01186, 0x8a799b50, 0xa3450540, 0xdf867a56,
 22.3153 -0x537ed601, 0x826ef77a, 0x48a34ddb, 0x2c3db911,
 22.3154 -0x0f581589, 0x6e5b7b19, 0xf7045ca3, 0x42082d05,
 22.3155 -0xbee6dfb6, 0x0d89400c, 0x4c0d0744, 0xa7208016,
 22.3156 -0xdc0fd235, 0x540f54f6, 0x538dbf05, 0xa96254de,
 22.3157 -0xb0efc8f6, 0x17eef16c, 0x305ffc6c, 0x06eb36d3,
 22.3158 -0x64f98341, 0x84ec3c7f, 0xe1b6f5b2, 0xbe0a6b57,
 22.3159 -0x5a2e9a9e, 0x73986be0, 0x663bc477, 0x097a64a1,
 22.3160 -0x0812d2e8, 0xac96a6b6, 0x561febec, 0x7eec45c3,
 22.3161 -0x0a85bbfb, 0x097441d8, 0x10f98141, 0xf27e1927,
 22.3162 -0xd8535150, 0xc0851f84, 0xdc4f3126, 0x7bbab6c1,
 22.3163 -0x2f9debe1, 0x09cca156, 0x7440148d, 0x9ae1b409,
 22.3164 -0x608248dd, 0x1164655d, 0x26047b99, 0x7275b3d0,
 22.3165 -0x28365a5a, 0x97bc28d0, 0x601002da, 0x895d2eb7,
 22.3166 -0x2450770c, 0x00009585, 0x87901676, 0x4eba561c,
 22.3167 -0x4d2fbc71, 0x6d400478, 0x848d0910, 0xda957710,
 22.3168 -0x0d0f3059, 0x6ac76b01, 0x6da37777, 0x166c82e3,
 22.3169 -0x5d3fff25, 0xb7296441, 0x38c3561b, 0x19700532,
 22.3170 -0x1d9cc1d4, 0xe860717e, 0x19b75123, 0x3c367e52,
 22.3171 -0x628070f7, 0x5508c070, 0x1d688071, 0x07e5ee84,
 22.3172 -0xa36c1277, 0xecc06e80, 0xf808de05, 0x96428d05,
 22.3173 -0x544203e0, 0xb61ec5d7, 0x003d03d2, 0xb8b35289,
 22.3174 -0x3c022d39, 0x5aef6284, 0x8ef69c77, 0x5cb0085c,
 22.3175 -0xbabc04b0, 0xecd95711, 0x7e6203ba, 0x873f4305,
 22.3176 -0x794a3edd, 0x0f0a4dd3, 0x4e29b08f, 0x513fb824,
 22.3177 -0x09d0e9f1, 0xd84d60d0, 0x59101d49, 0x148a7ae9,
 22.3178 -0x4b0b1baf, 0x081e8a2d, 0x14fe0253, 0x1b01cf48,
 22.3179 -0x15c169f5, 0xb0ad1f51, 0x4a518de9, 0x05c9ca89,
 22.3180 -0x1b8b1838, 0x3a5ba906, 0x8b54f43c, 0x22ad7953,
 22.3181 -0x88751a5d, 0x9c943cc4, 0x1de3868c, 0xe68350ed,
 22.3182 -0x04c68ffc, 0x702ee574, 0x977f6870, 0x8ac95344,
 22.3183 -0x0bfbeded, 0x6c428873, 0x5c001bba, 0x77e8d300,
 22.3184 -0x7a9687fb, 0x00794bdd, 0x3d9a0ffe, 0xff287d07,
 22.3185 -0x141b0e29, 0x9f0f40bd, 0xdb310180, 0xed8aff31,
 22.3186 -0xeb39f14a, 0x11732b7d, 0x833ef009, 0x2435dc5b,
 22.3187 -0x0ffb8339, 0xf3057ffd, 0xbf8bdbb5, 0x0143105c,
 22.3188 -0x3ec681d7, 0x32d77c2a, 0xfd68d85f, 0x5c508b86,
 22.3189 -0xb41f8076, 0xd1d98903, 0xf40b42eb, 0x01e183f8,
 22.3190 -0xe1164485, 0x0edfad03, 0x04887dbc, 0x053e431a,
 22.3191 -0x99fcd77e, 0x5c72ff58, 0xeed27fa1, 0x578eb468,
 22.3192 -0x813f4c38, 0x74babaff, 0xe9364a14, 0x77c71aba,
 22.3193 -0x5c1d1a93, 0xac9132f8, 0x68a69c52, 0x78bec57e,
 22.3194 -0x8b85e86b, 0x045618f3, 0xec3cd879, 0x4106b81b,
 22.3195 -0xb85e8d56, 0x0608c0da, 0xb806f00e, 0x1ed0b78b,
 22.3196 -0x878da67f, 0x833397e0, 0x87e12e40, 0x2dee590c,
 22.3197 -0x60978df1, 0x6023ada1, 0x38bbe3fc, 0x9b649089,
 22.3198 -0x1e3c913e, 0x81472464, 0x915b48c2, 0x4b4d63da,
 22.3199 -0xc676be79, 0xfd836069, 0x90adac1b, 0xa3c00862,
 22.3200 -0x018dad64, 0x200c86d6, 0x60238798, 0x603200c8,
 22.3201 -0xac9812a3, 0xee99c513, 0x4de30001, 0xf6a3ebc3,
 22.3202 -0x5c4254aa, 0x341b048a, 0x8360708c, 0xc0ea9735,
 22.3203 -0x2f16d01c, 0x6ad4cd6d, 0x9cfa833f, 0x966ebd84,
 22.3204 -0x0a0889ed, 0x98eca11b, 0xbb77110f, 0xe805781b,
 22.3205 -0x5d09a208, 0xdf9ac4a1, 0x6883bb13, 0xa00f0ca2,
 22.3206 -0x68c133c0, 0x7b3bb783, 0x9680c0c2, 0x02860da2,
 22.3207 -0x08400206, 0x3c36eeeb, 0x040d4796, 0x1705c607,
 22.3208 -0x70064805, 0x1b669668, 0xc5051d80, 0x22caf208,
 22.3209 -0x0105e179, 0x12725393, 0x58666679, 0xd5b54c66,
 22.3210 -0x3f1cfd44, 0xc2e6ca1f, 0x9a47391c, 0x0ff00b11,
 22.3211 -0xe5a8b843, 0x00c7b947, 0x7ef41e1b, 0x40c8defe,
 22.3212 -0x061c4748, 0x501b174c, 0x21611ada, 0x69eb14bd,
 22.3213 -0x00bd6e5c, 0x33a72701, 0xe9d285c5, 0x1752f7d3,
 22.3214 -0xabc0b87e, 0x15881ab8, 0x22cb07c8, 0x842dd404,
 22.3215 -0xc329da03, 0x3f57050b, 0x174a22b6, 0x4948d460,
 22.3216 -0xeb398175, 0x3a288d3e, 0x9e133b53, 0xfb7513b6,
 22.3217 -0xc7ded194, 0x8d4d1f18, 0x5f28e89a, 0x7a3a5c1c,
 22.3218 -0xafae9031, 0x0520c0be, 0xf075daa5, 0xbe4f08f6,
 22.3219 -0xea565155, 0xd7e91348, 0x726128fe, 0xc15005c8,
 22.3220 -0x947606a8, 0x57e6e93d, 0x43212e92, 0xe94393d8,
 22.3221 -0xb95734df, 0x5dd84ec0, 0x2efd3e63, 0xc1ba8153,
 22.3222 -0x39bb2e0e, 0xc1cd9028, 0x7cf11f40, 0x52fe42b3,
 22.3223 -0x1da2db41, 0x9bff68b0, 0x80ec28e4, 0x408b4219,
 22.3224 -0xe365e8bb, 0x26621b28, 0xf14a09ad, 0xf50aa120,
 22.3225 -0x6b0c89da, 0x088de91c, 0x012b986b, 0xf1068a93,
 22.3226 -0x58d8ee6f, 0x3a3c0cb8, 0x1ef3438d, 0x38bff442,
 22.3227 -0x265b7712, 0x05407017, 0x28501f73, 0xc3017561,
 22.3228 -0x93886637, 0x4aad9e4a, 0x8331fb3c, 0x721e08c7,
 22.3229 -0xc1a288e1, 0x597e1f6f, 0x8a94e868, 0x595a0447,
 22.3230 -0xec394468, 0x1f36a1d4, 0x31f129ef, 0xdd68b64c,
 22.3231 -0x6a51d21f, 0x28f76803, 0x42b9688d, 0xc3d355a0,
 22.3232 -0x73ba7550, 0xd5bbaa08, 0x03d4dabf, 0x037a802e,
 22.3233 -0x2574b92f, 0x8f82c3d2, 0xe8519495, 0x3ab817c2,
 22.3234 -0x18bbbbf0, 0x3a388031, 0x3980311f, 0x8380752f,
 22.3235 -0x9f75fbb2, 0x56fb6854, 0x05e889a3, 0x7b585e84,
 22.3236 -0xa02871a1, 0xe90405a7, 0x16dbeb73, 0x408dbbfc,
 22.3237 -0x6a525f01, 0x52fd8d0a, 0x87c33381, 0x811784ed,
 22.3238 -0x10a3144c, 0x2456aceb, 0xe8717e89, 0x84ed1d36,
 22.3239 -0xc3558bb3, 0x47315286, 0xb84af0e4, 0x7606eec0,
 22.3240 -0xda04ebc3, 0x6d303d40, 0xfa11f572, 0x75ab3456,
 22.3241 -0xbbe80865, 0x9a23f165, 0x02c8d260, 0x7d6e0278,
 22.3242 -0xb766c52e, 0x9a0462db, 0xbdf34117, 0x1f8ce547,
 22.3243 -0x9304ec66, 0xe8aecbff, 0x07e0e19b, 0x3d61db32,
 22.3244 -0x607c79c0, 0xb5ed14b6, 0x47854b68, 0x0b0b2110,
 22.3245 -0x68c8b363, 0x3a0d1f99, 0xa37afb7e, 0x0f55fc12,
 22.3246 -0xfe8eb58e, 0x7b609b08, 0x6f358477, 0xf6854a7f,
 22.3247 -0x8ed68609, 0x267eef7a, 0x3c9f1878, 0xff046ca1,
 22.3248 -0x62be0c50, 0xffa24ec7, 0x7571f021, 0xfe162198,
 22.3249 -0x023331ba, 0x8d09a1c2, 0xc9b8f865, 0x36bb7689,
 22.3250 -0x0d06fe66, 0xa28c4a02, 0xdfbb5222, 0x7479feaf,
 22.3251 -0x8f07b927, 0xe645992f, 0x7bbbaddf, 0x0233743d,
 22.3252 -0x7f2304be, 0x0d783d92, 0x5b896b7e, 0x62229f89,
 22.3253 -0x70e39beb, 0xada7dcbc, 0xd5489090, 0x041805cd,
 22.3254 -0x9fbf082a, 0x1943e8ca, 0x689970ee, 0x66d731dc,
 22.3255 -0x537a185f, 0x4370a346, 0xc5af7b61, 0xb34e22a4,
 22.3256 -0xc1956809, 0x0905b24c, 0x998a6064, 0x4253426e,
 22.3257 -0x3445532e, 0xbb07b040, 0x46b36876, 0xfb241c89,
 22.3258 -0xb84dfdbb, 0x4914433f, 0xff147ab5, 0xf200ee94,
 22.3259 -0x9e3a057e, 0xb22bd94d, 0xfbc9856b, 0x6f17e245,
 22.3260 -0x74204239, 0xb1e74c1c, 0xeab19644, 0xe991058e,
 22.3261 -0x77bebec4, 0x6dfb0f59, 0xc4cab80b, 0xfc637afd,
 22.3262 -0x8d43b3ac, 0xfe8c2ddf, 0xc20a02fd, 0xb1b077f6,
 22.3263 -0x0974ae03, 0x4218b7e9, 0xc3fb0114, 0xae6cec06,
 22.3264 -0xa6a1a753, 0x9e11b6ef, 0x01e25e78, 0x6a36144f,
 22.3265 -0x67d46801, 0x8d7378ed, 0x2dec686e, 0x1a26fa3f,
 22.3266 -0x427827f9, 0xcf688574, 0x9c5a02ca, 0xc28b607d,
 22.3267 -0xf057982c, 0x136f2243, 0xc8cc425e, 0x372be94b,
 22.3268 -0x184d2231, 0x29990824, 0xefb3cdb0, 0x34d3880f,
 22.3269 -0xfdc9ee01, 0x6031fcd5, 0x5d43e198, 0xacc746e8,
 22.3270 -0x06a2f7a3, 0xf1a4a55a, 0xc3e051a0, 0x62950c77,
 22.3271 -0xe8d3a3a1, 0x05f12aee, 0x07d7891a, 0x3c03ebc1,
 22.3272 -0xb58c3e12, 0x0fa32257, 0x67170a7e, 0xbfd0d19c,
 22.3273 -0xc5034f0d, 0xed0a8ba1, 0x7fe60b78, 0xd9625d68,
 22.3274 -0xe355b1d7, 0xa6a33140, 0x09d80a8b, 0x8e7abc1a,
 22.3275 -0x8fb386a1, 0x317bb5fd, 0x0d105089, 0xa11c5889,
 22.3276 -0x67784521, 0xbe8a20bf, 0xd301c703, 0x9ec70691,
 22.3277 -0xeb7839a0, 0x6498e9ec, 0x60170030, 0x58153bea,
 22.3278 -0x7849c9dc, 0x85dd3634, 0xd12a68fa, 0x480ba81b,
 22.3279 -0x81d1584c, 0xeeb748fa, 0x7ca5f81f, 0x0f186924,
 22.3280 -0x96201dbe, 0x6f4813b8, 0xf07502c2, 0x30772874,
 22.3281 -0x56e455e8, 0x8e12bd8d, 0x1dc5b6e5, 0x8820ce4e,
 22.3282 -0x4dbb920d, 0x8c26425b, 0x9d853488, 0xfa2c11ec,
 22.3283 -0x74237850, 0x7d9c3a2d, 0x27e8ec3d, 0xf7caeb33,
 22.3284 -0x74012757, 0xdb4b748f, 0xe8b712fb, 0xab0bee5c,
 22.3285 -0x05d59ed5, 0x5a60fe6f, 0x42fd10dd, 0x502725fc,
 22.3286 -0xc589da39, 0x870f34f9, 0x3e060107, 0x885b060c,
 22.3287 -0x20d93904, 0xf5187e0d, 0xc4820f24, 0x76cb3936,
 22.3288 -0x60aea10e, 0x393151db, 0x780f17f5, 0x803396e1,
 22.3289 -0xf4fec235, 0xa268b128, 0xf56c8675, 0x32be1cf6,
 22.3290 -0xba05ae80, 0x3cca140b, 0xfeed8030, 0x81cacc27,
 22.3291 -0x868bc00c, 0x3db96d01, 0xe40e23bb, 0x1891138a,
 22.3292 -0x4d8b2c09, 0x0dd6ddf7, 0x1f1c0339, 0x76b97228,
 22.3293 -0x142c0f7c, 0xf01d0776, 0x0a72ad77, 0x77f339ff,
 22.3294 -0x106c3ba1, 0x34f0dbad, 0x34781376, 0x072b092b,
 22.3295 -0xaa510a2c, 0x906f5b72, 0x7c40f6ac, 0xb08d3eeb,
 22.3296 -0x1b80ee44, 0x100bd3e0, 0xc06855d9, 0xd340df10,
 22.3297 -0xdb2ce02c, 0x55eb4b3c, 0x35c3dc2c, 0x4f19c561,
 22.3298 -0x86099c16, 0xd86fda45, 0x75d36c82, 0x71e9d49f,
 22.3299 -0xf4465004, 0x8954d1eb, 0x2c3dd2de, 0x24a90d94,
 22.3300 -0x88f0c09d, 0xff448018, 0x4c278a41, 0x7fd07971,
 22.3301 -0x04b75166, 0x10e566b9, 0xa9b14fb3, 0x500c07de,
 22.3302 -0x4d2d25b8, 0x29a94d7a, 0xe634363e, 0x14d83c17,
 22.3303 -0xd8a58838, 0x9a456877, 0xdb64b42a, 0xcf8c3aac,
 22.3304 -0xf94ce818, 0xe8544899, 0x16588213, 0xb844a1a6,
 22.3305 -0x4611178e, 0x2497248e, 0x08dc96a1, 0xdda24a5d,
 22.3306 -0x50291c54, 0xef8d1068, 0x09cf8905, 0x811874d7,
 22.3307 -0xdbb6e36e, 0x392e2bee, 0x0e726ff1, 0x0686821c,
 22.3308 -0x39d2ec31, 0x037ab0c2, 0x43b04729, 0xa924d2e0,
 22.3309 -0x547ab850, 0x01a3a109, 0x0858a177, 0x445d4b3f,
 22.3310 -0xa5e1b08a, 0x77d8429b, 0x5352c3df, 0x26034808,
 22.3311 -0xbac8d745, 0xf0522084, 0x3163c36f, 0xd82932c3,
 22.3312 -0x1d01b701, 0xdeb6ab1d, 0x15a33c58, 0x2b901841,
 22.3313 -0xa29ba701, 0x6981b42c, 0xac456d69, 0xbb43ca5e,
 22.3314 -0x442fbb16, 0x0269c2ba, 0x03edee6f, 0x131a483d,
 22.3315 -0xb923a32d, 0x31054cbb, 0x1ce5c7d2, 0xbb44460d,
 22.3316 -0x16fffb95, 0x3920c283, 0x83637ef0, 0x3d4a40ba,
 22.3317 -0xdf060082, 0x75b8b5d6, 0xac138be4, 0x60040edd,
 22.3318 -0x346ffedb, 0x95393b11, 0x06774048, 0xf939c872,
 22.3319 -0xea5fc472, 0x742711d0, 0x05d65716, 0xf444808b,
 22.3320 -0x267266fe, 0x404124ea, 0x3589a773, 0x8d8e108b,
 22.3321 -0x61104535, 0x9d7f6246, 0x76dcd75b, 0xc11bc267,
 22.3322 -0x4c8637e6, 0x6d8bdba3, 0xa48bd8b8, 0x4c8e1d4f,
 22.3323 -0x7fd30dae, 0x01b0db3b, 0x29ea11f8, 0x42d319c1,
 22.3324 -0x6116db1f, 0x1d8d0d84, 0x40440f99, 0xbb613c50,
 22.3325 -0x09392b75, 0x085c8924, 0xf738821a, 0x2910d63d,
 22.3326 -0x25f02835, 0x294c0c00, 0x5edf8bb7, 0x014f333d,
 22.3327 -0x01fb11c1, 0x4d5c11cd, 0x7dd43b5e, 0xf8ac0ff0,
 22.3328 -0x5d0c1d09, 0x7453715b, 0x489e1a85, 0xb4ff383a,
 22.3329 -0x5ed1b637, 0x4d829415, 0x43154ea3, 0xb69f706b,
 22.3330 -0x0de31dc1, 0x1c6a7918, 0xee0ae409, 0xb7155c6f,
 22.3331 -0x8810123d, 0x1ca9b088, 0x468406b0, 0x68683471,
 22.3332 -0x4ff88baa, 0xc77fa3e8, 0xa1d105b5, 0x5ab07861,
 22.3333 -0x406fc232, 0x0eb05663, 0xbdded50c, 0xb6737705,
 22.3334 -0x11b9e82f, 0xd7272dd8, 0x11b68a35, 0xf94234d5,
 22.3335 -0x46ff3226, 0x7b690110, 0x7e34688d, 0x38db3169,
 22.3336 -0xc00933f2, 0xbb8358c3, 0xf448ea75, 0x831f2687,
 22.3337 -0x54b3ff57, 0x2fb165b4, 0x2051236c, 0x50e85569,
 22.3338 -0x2f4f6793, 0x726cff56, 0xbb035116, 0xabbd8e86,
 22.3339 -0xa87f5738, 0x66df60ae, 0x893a6e39, 0x3474faee,
 22.3340 -0x5c315538, 0x3cbee8cb, 0x0702e142, 0x6deb418e,
 22.3341 -0x5e0af15d, 0xe9e021b5, 0xd58e4816, 0x897eec2a,
 22.3342 -0x671a39c8, 0x20ad59e8, 0x0d0e24c2, 0x08d43017,
 22.3343 -0xde400574, 0x8650ab59, 0x50f7013a, 0xc14bab54,
 22.3344 -0x5b7e58f8, 0x1b7420ec, 0xe652c0f9, 0x4e6f8c1b,
 22.3345 -0xc7d2533b, 0xa9b09ed8, 0xc8bb51d7, 0x19da29de,
 22.3346 -0xd2318c8f, 0xa1b3a7a4, 0x0370154a, 0xd7ce3a27,
 22.3347 -0xfdebe928, 0x21f89d4b, 0x3d802cdf, 0x813ed7e5,
 22.3348 -0x6d130358, 0x209844af, 0x687b3810, 0xc0e00281,
 22.3349 -0x1881146c, 0x7681513f, 0xb3e02db5, 0x02ba9f16,
 22.3350 -0x825344d7, 0xed85ce48, 0x4b77746f, 0x8a07be82,
 22.3351 -0xeb1de41d, 0x4c8ac832, 0x6e27a3fb, 0xaee8a3fc,
 22.3352 -0xa3f87dd4, 0xdde206d8, 0x1a9981c2, 0x25231588,
 22.3353 -0x995c0eb6, 0xdce2f025, 0xbbf0a8c1, 0x148de9b1,
 22.3354 -0x840cf390, 0x26dc152d, 0x4b6d2284, 0x9325c8dc,
 22.3355 -0x04fd6e75, 0x4c04dc58, 0x172f7bc0, 0x5f8e22cc,
 22.3356 -0x02a211b5, 0x73044a94, 0x42da26f6, 0x47d572a0,
 22.3357 -0x8a0c7a8b, 0xd8606d46, 0x366213da, 0xf50a7c03,
 22.3358 -0x2bdb0d1b, 0x6c4fad7a, 0x74e88018, 0xb7dff086,
 22.3359 -0x74020474, 0x2992a17b, 0xff58e9c8, 0x0e9ae89b,
 22.3360 -0x869bbd05, 0xf7087544, 0xf4f002ee, 0xfb3be4df,
 22.3361 -0x0476eb89, 0x6f0d18ed, 0xcda1b181, 0x2342488f,
 22.3362 -0x927b9eb6, 0x945f973d, 0xab5e4b29, 0x50985744,
 22.3363 -0xf6269a25, 0xad1afc35, 0xd3e919a3, 0x01faa1fe,
 22.3364 -0x20cda06e, 0x300be9de, 0xdb86717d, 0x1f10c436,
 22.3365 -0x461213d5, 0x725a31c6, 0x4cc43b28, 0xfd522a78,
 22.3366 -0xda81402e, 0x73c8356f, 0x0344cc35, 0xd2340f03,
 22.3367 -0x3f125bb9, 0xb9a08788, 0xefebacd5, 0xdb32148c,
 22.3368 -0x522e9077, 0x9b18d029, 0xdf4d60e0, 0xd4c73550,
 22.3369 -0xfd5a5846, 0x33183b1e, 0xf69c3a1a, 0x7493c505,
 22.3370 -0xe0db9e0a, 0x5106e6d1, 0x5189bb88, 0xd8f50c17,
 22.3371 -0x83169e0a, 0x58e00d50, 0x6b77da0a, 0x5031048d,
 22.3372 -0x51c8528d, 0x5fc12201, 0x895233a8, 0x5fe2e8d8,
 22.3373 -0xd8337b88, 0x92d50f69, 0x2b565026, 0x120f901d,
 22.3374 -0x1827c37d, 0x3c70e853, 0x35011861, 0x7bb87db8,
 22.3375 -0x5e08314a, 0xc35e6d5b, 0xa752e805, 0x8c326aea,
 22.3376 -0x44a3d02d, 0x449e231b, 0xab3deb61, 0x77ff32d2,
 22.3377 -0x8d1cbe89, 0x2a66fc42, 0x046d0777, 0xfce890eb,
 22.3378 -0x4028ffe4, 0x0bffb383, 0x161df684, 0x19dc0582,
 22.3379 -0xf881dbeb, 0xc0da4e64, 0x33ff8c26, 0x34776010,
 22.3380 -0x51166b2f, 0x530ac702, 0xab3c058d, 0x3bd38455,
 22.3381 -0xdbfc3d1a, 0x7f0dffef, 0x74464c45, 0x2ec0313e,
 22.3382 -0x8175d175, 0x1336007d, 0xfa781b03, 0xd6396d18,
 22.3383 -0x75d38960, 0xc74bafbc, 0x539e2a5e, 0x74bb4ed6,
 22.3384 -0x05c73d31, 0x78b1c1f0, 0xa19bbad6, 0xdada251c,
 22.3385 -0x0045dda0, 0x3500013d, 0x581049b1, 0x38fd8d1b,
 22.3386 -0xa2bc02e8, 0xa09214a3, 0x99db776c, 0x34082872,
 22.3387 -0x8d232000, 0x7742ba36, 0x8c032027, 0x77ee0605,
 22.3388 -0x013be60d, 0x6a6b51e8, 0x68115612, 0x5e0b7cc0,
 22.3389 -0xf00a2a32, 0x15811c2a, 0xa2d0af11, 0xb844d43d,
 22.3390 -0x298cff46, 0x5a7804d3, 0x0414abe0, 0x0dcb6fbf,
 22.3391 -0x9d56be64, 0x6ce5203d, 0x04bd9df2, 0xfee6e964,
 22.3392 -0x06197463, 0x76baf6dd, 0xba2f1281, 0x84093a1f,
 22.3393 -0xc5e226bf, 0xb923c08e, 0x18080a2c, 0x53fbfab3,
 22.3394 -0x6855106a, 0x3a99e812, 0x53a0e830, 0x8b0cdc3d,
 22.3395 -0x5c7da3a5, 0x8d169f78, 0x52d40590, 0xf4a38da3,
 22.3396 -0xb93f182c, 0x31f5b0e8, 0xb5a9845f, 0x0be3c00a,
 22.3397 -0x7802fdec, 0x0a62897b, 0x95548d69, 0x80021c3d,
 22.3398 -0x5be36ffe, 0x7442be99, 0x3907bd76, 0x514676df,
 22.3399 -0xfdde4b8b, 0x439236a5, 0x010814cb, 0x0c5651f1,
 22.3400 -0x51044b03, 0x0561fffa, 0x7c745647, 0x0303438a,
 22.3401 -0x04a80873, 0x5f671e75, 0x0365db01, 0x54935d55,
 22.3402 -0xac19ac75, 0x2124b6b9, 0xb0522682, 0x563487fa,
 22.3403 -0xbbd6555c, 0xa1000039, 0xe7ac5dc4, 0x01e8a2c2,
 22.3404 -0xccba6e9c, 0x5bc087c0, 0xe901252f, 0x065149df,
 22.3405 -0xcb52bb0b, 0x8a525009, 0x10a3cc29, 0x39720e09,
 22.3406 -0x1606f7d6, 0x9bd5d50f, 0xa435e0dc, 0x32c6d083,
 22.3407 -0x5c3cf6db, 0x817f750e, 0xe913ea1a, 0xe15a28d4,
 22.3408 -0x0fc339c6, 0xc250198d, 0xd86e13c1, 0xadf8dce5,
 22.3409 -0x8d4a7e3f, 0x7983a488, 0x75daee40, 0xfd988bd9,
 22.3410 -0x12b185c2, 0x0b041e49, 0x8dc977f3, 0x60681d5c,
 22.3411 -0x0c21b6d9, 0x1550cb0a, 0x8470ff30, 0x75289c1a,
 22.3412 -0x00c42444, 0x60eb1572, 0x12db811a, 0x3987082f,
 22.3413 -0xfc24c103, 0x0c9be217, 0x8b277330, 0xe0834613,
 22.3414 -0x0c4b8dfc, 0x4e9b348d, 0x83633efd, 0xf0010ec0,
 22.3415 -0x3930bad9, 0x762eadc5, 0x17c67607, 0x1e74992c,
 22.3416 -0xd5741f70, 0x16a0281b, 0xcc032c9e, 0xd2963f66,
 22.3417 -0x35c1447a, 0x577adeec, 0xb56d1afb, 0x66dd1fe9,
 22.3418 -0x4d00002b, 0x8e12db46, 0x4c0c4809, 0x928cadb2,
 22.3419 -0x58092009, 0x0e241dd0, 0xac2c39e9, 0x28340c94,
 22.3420 -0x64c11f6d, 0xeb0e753c, 0xae01b8a4, 0x4752e104,
 22.3421 -0xc5987d31, 0xd52de1c1, 0x232e11d2, 0x7b2f998d,
 22.3422 -0xdbdb6d40, 0x3ca27d3f, 0x9dc181fd, 0x8b505b8b,
 22.3423 -0x97490271, 0x408586a2, 0x202203ce, 0x0604ec87,
 22.3424 -0x53e378a9, 0xe851c601, 0x84e9f30e, 0x350e1dbe,
 22.3425 -0x664a31ed, 0x64a11874, 0xe146f46e, 0x7220ab08,
 22.3426 -0x0973a40d, 0x83a7612a, 0x4eeab86d, 0xe37092c4,
 22.3427 -0x5a1b92db, 0xf1c54c10, 0x0d8e8626, 0xfd2ae86f,
 22.3428 -0xeb3c5853, 0x3c7e4307, 0xdacfa307, 0xb4ac467d,
 22.3429 -0x7405e2c1, 0x8d77e575, 0x078da15e, 0x48763c59,
 22.3430 -0xb1df0473, 0x132f7297, 0x86b45482, 0x440f7644,
 22.3431 -0x6ddcdee8, 0x400c501c, 0xeb40b976, 0x48058bb3,
 22.3432 -0x6eeada11, 0xc18540a2, 0xf5451c10, 0xca7bb194,
 22.3433 -0x2ba67800, 0x85f98341, 0x383dd182, 0x21348638,
 22.3434 -0x20889398, 0xceaf86c0, 0x371561f3, 0x244c4300,
 22.3435 -0xed8d5a10, 0xff17ee76, 0x8334572e, 0x33391411,
 22.3436 -0x9a011a7b, 0xb8455ae2, 0x01a0dc9e, 0xf120351a,
 22.3437 -0xd1560390, 0x92a61300, 0x312d1a13, 0xbd770edb,
 22.3438 -0xa7860c10, 0xf8bff789, 0x590526f7, 0xc839d101,
 22.3439 -0x3906738d, 0x410276d0, 0x398b7620, 0x730e181e,
 22.3440 -0x6ec50c13, 0xd0881ef7, 0x3bc21f23, 0xfc0a7695,
 22.3441 -0x3a5b0b73, 0x0b8b0f10, 0x3b0c7609, 0x39c80f15,
 22.3442 -0x0d116807, 0x1dfd1b18, 0x490254c5, 0x21d0f71c,
 22.3443 -0xfbd139c2, 0xbad81c3e, 0xd1297f0d, 0x320b383b,
 22.3444 -0x16086557, 0xbbde644a, 0xc468416c, 0xc0466670,
 22.3445 -0xf621067e, 0x0105e3f1, 0x0e8b2893, 0xa3f143ca,
 22.3446 -0x7cc911a5, 0xe9de15b8, 0xde396e46, 0x084018c0,
 22.3447 -0x7cf19368, 0x3f0035b3, 0xaec00b0e, 0xc1084331,
 22.3448 -0xb037b647, 0x481e7749, 0x80049d10, 0x64d8307c,
 22.3449 -0x0d0dada0, 0xe92ed98f, 0x2b6e4986, 0x11eacaf0,
 22.3450 -0x8bad087d, 0x128f6fc7, 0xee29066d, 0xb157a366,
 22.3451 -0x47ec264e, 0x3f5de96e, 0x896d284f, 0x9b80c44e,
 22.3452 -0xf4032962, 0x4ca6e999, 0xcc684c7e, 0x17e9c316,
 22.3453 -0x9730a1fa, 0x12fc299d, 0x944d2e04, 0x60703570,
 22.3454 -0x45b82815, 0xce020b1f, 0x3dbae800, 0xc36ec2ac,
 22.3455 -0x09e8ba1f, 0x3582fb39, 0x4d730ca8, 0xadda2d01,
 22.3456 -0xdf07b0dc, 0xda222e73, 0xa91ffd58, 0xc1c2f905,
 22.3457 -0xc93109ea, 0xcf19d629, 0x3637a542, 0x89d801f6,
 22.3458 -0xa33f892c, 0x888b882f, 0xeb29ec45, 0xb8cf3989,
 22.3459 -0xc4c2a5e3, 0x72f01b6f, 0xd9dee4ad, 0xfafd91bf,
 22.3460 -0xc209f031, 0xa15e4074, 0x5b4daf3e, 0x01498aab,
 22.3461 -0x4ec5295a, 0xd63a1058, 0x15535530, 0x6d6141a0,
 22.3462 -0x15cfbc63, 0x913305c7, 0x362594a1, 0x92ec1f8b,
 22.3463 -0xb577d8a5, 0x3db951e9, 0x3c521d92, 0xe7a805c7,
 22.3464 -0x877809ac, 0xe83dc3c5, 0x64a3b9d7, 0x58906bf0,
 22.3465 -0x9b08f759, 0x2430fdc3, 0xc749c7e2, 0x909037e9,
 22.3466 -0x25889b86, 0xdaddd2e2, 0x37257388, 0xf6c0bf68,
 22.3467 -0x04b6a0c1, 0xb903740e, 0x9a81c287, 0x5b0cd1a0,
 22.3468 -0x10a69531, 0x0d1bfb46, 0x41d02bfc, 0xdb72d939,
 22.3469 -0x827a7e0e, 0x54968233, 0xbb7d0ccb, 0x1c6d2144,
 22.3470 -0x7416d2f7, 0xecc48602, 0x5f10ae02, 0x3d02ba1c,
 22.3471 -0xdd15633d, 0x062d0577, 0x10c03df7, 0x02f56f0d,
 22.3472 -0x697868af, 0xed55b85f, 0xd2e9f713, 0x5f406c1b,
 22.3473 -0xc11fc5c8, 0x475a45fb, 0x35c3db6c, 0xd583025b,
 22.3474 -0xd0be6f07, 0xc309db7a, 0xc1290286, 0x03e2bbcb,
 22.3475 -0xdcdbca29, 0x4f86e0d6, 0x23db16c2, 0xbd158002,
 22.3476 -0x1140c8dd, 0x0be2d177, 0x59d18943, 0x27b1ac44,
 22.3477 -0x6c5bea78, 0xf6ab69bd, 0x79cc49e8, 0x0f40046d,
 22.3478 -0xb60815bf, 0x4141de05, 0x8aeb100c, 0x7f16ab28,
 22.3479 -0xc244700d, 0xd6a1b729, 0x8ae346f8, 0x4330841e,
 22.3480 -0x8a1c7414, 0x06ff9f41, 0x8818fc4b, 0x1cc888da,
 22.3481 -0x38df2bdf, 0x460a75c2, 0xd52ff047, 0xe4751f7e,
 22.3482 -0x0fdf7d1b, 0xe183c3be, 0x41321adf, 0xd1be04bf,
 22.3483 -0x24d0295e, 0xeef7dbf2, 0x147f3b01, 0x744c5e0a,
 22.3484 -0xce5e5b0e, 0x5b06c2f6, 0xbed2229b, 0x118a3842,
 22.3485 -0xb438058d, 0x093cfa64, 0xee92ec76, 0xe20dad0e,
 22.3486 -0x51952f8e, 0xea8918b0, 0x4a184a4a, 0x31f631f4,
 22.3487 -0x644a88ff, 0x170532b8, 0x5ea8e813, 0x8de83e34,
 22.3488 -0xd19d6870, 0x779a3b74, 0xb7eb7ffd, 0x7f02ffa8,
 22.3489 -0x24684209, 0x752e3980, 0x08e6c126, 0xafc60947,
 22.3490 -0x13bf0bdb, 0x89c47e03, 0xc8c17bf0, 0xc6890410,
 22.3491 -0x1c371a22, 0xe53089d0, 0xa4e829a2, 0xf10c80fd,
 22.3492 -0x328dd107, 0xffb75bcb, 0x1258f812, 0x60e402eb,
 22.3493 -0xc09e64e4, 0x8204e1a8, 0xa8a5ee1b, 0x19e809d7,
 22.3494 -0xe8726f18, 0x93f1da90, 0x01681861, 0xcb633424,
 22.3495 -0x4fbbf70b, 0xb8e8a9d0, 0xe6d1b097, 0x08afe864,
 22.3496 -0xf7620f8e, 0x1560e6df, 0xb6d3a6eb, 0xe8b7bd4d,
 22.3497 -0x2efb83c6, 0x743a901d, 0x120e890d, 0x4bdbd4dd,
 22.3498 -0x064264e9, 0x67d5e80d, 0x6c393c53, 0x3d804a19,
 22.3499 -0x7f26c1da, 0x2e2961b3, 0xef10abe8, 0xe8dcbadd,
 22.3500 -0x95882877, 0x13c0b602, 0xa039de6f, 0xeb5bbbaf,
 22.3501 -0x187507f1, 0xb3b753e8, 0x7423c7dd, 0x0823e8ef,
 22.3502 -0x7417c389, 0x240dfbce, 0x74c409e8, 0x0ab3a707,
 22.3503 -0x12827777, 0x3c237496, 0x77fb70ab, 0x78a2e8f3,
 22.3504 -0x11741bf8, 0x7d740404, 0x9bba0fcc, 0xbadf7578,
 22.3505 -0x0aebff93, 0x15f0ba0b, 0x616baacf, 0x1213527c,
 22.3506 -0xd0b6b9c9, 0x84103221, 0x110fe0db, 0x07bf1576,
 22.3507 -0xe805eb58, 0xc9c6979a, 0x906ee952, 0x140ef2a0,
 22.3508 -0xb5681c27, 0x5f01368c, 0x1a2d70f1, 0xb9e9b220,
 22.3509 -0x91402088, 0x83c0f68f, 0x8d809f4f, 0xbe8dd086,
 22.3510 -0x1dc51d26, 0xe4f8d67c, 0x99688d08, 0x8346a281,
 22.3511 -0xfff00a1d, 0xf8873036, 0x3b453d14, 0x83b900b0,
 22.3512 -0xc1bb8daf, 0x4914c3a7, 0xbba4a0c0, 0x88c19fc1,
 22.3513 -0x938bed3e, 0x3ddc83c8, 0x7ed90e79, 0x17d57740,
 22.3514 -0xdfc41418, 0xbd3b3442, 0x1693f726, 0x96978883,
 22.3515 -0xf004750a, 0xc239f00a, 0x381b07fc, 0xc7916ac6,
 22.3516 -0xf79672ea, 0x6346dec2, 0x1175e403, 0x0aa96569,
 22.3517 -0x177efdf8, 0x07ea8130, 0x3b47e281, 0xff6d2c54,
 22.3518 -0x67229afb, 0x61c0208d, 0x29ced70b, 0xe9f51d7a,
 22.3519 -0xe39e7f56, 0x40335f35, 0xf83974b7, 0xf1f75557,
 22.3520 -0xd8afe850, 0x2c6853f0, 0x2c4a2595, 0xe575e894,
 22.3521 -0x9154dbbe, 0xc66e775f, 0xe8241c44, 0x277f4b62,
 22.3522 -0x89e02930, 0x65e972ba, 0x1c0608ff, 0x391c0f06,
 22.3523 -0x3ed6bc21, 0x0937540b, 0x1ed83058, 0x5e018b84,
 22.3524 -0xd3f8c993, 0x67fca713, 0x9c2dbb89, 0x267f012b,
 22.3525 -0x91484264, 0x75ff85bb, 0xa1ad12e3, 0x3ab38bc3,
 22.3526 -0xff09d9a7, 0x30e05db0, 0x39052abb, 0xb7a4f2f7,
 22.3527 -0x1ffebbb9, 0x393276f2, 0x392c7311, 0x139a66b4,
 22.3528 -0xc2df407a, 0x8ea148fa, 0xb9b7a1f8, 0xd338850d,
 22.3529 -0x33093914, 0xd0341789, 0x19d6ddbb, 0x779a3bf0,
 22.3530 -0xa581750a, 0x95302579, 0xe8868d7b, 0x0b4463ee,
 22.3531 -0xd3a07cb4, 0x58184e6f, 0x1d5e016c, 0xb6ba15cf,
 22.3532 -0xd43c7e01, 0x5ebe9f75, 0xbe582b11, 0x7ac13e91,
 22.3533 -0xa14be2e1, 0x20d1a328, 0xa2068710, 0xcf87debf,
 22.3534 -0x0452e03d, 0xd69c0d99, 0x3aa172e9, 0xb4060745,
 22.3535 -0xf8e417e9, 0x2932a1af, 0xfc508dc8, 0xace3c802,
 22.3536 -0x726a3f0a, 0x8951d319, 0x5b7b3894, 0x2415de44,
 22.3537 -0xb16ec310, 0xea4e131d, 0xe6168b0c, 0x9181da29,
 22.3538 -0x8db12fee, 0x0d3ef84a, 0x760a7823, 0xf13e5821,
 22.3539 -0xe10afc42, 0xb2ed960a, 0xa8480d89, 0xc980be33,
 22.3540 -0xc2d9966f, 0x87fc408b, 0x4188358e, 0x39ce0746,
 22.3541 -0x66a8f5c2, 0x767d3c87, 0x3295a05e, 0x3050f1ba,
 22.3542 -0x42f8528b, 0x23d7a0b1, 0x828f7a75, 0x2fb3a1d9,
 22.3543 -0xd4648cc1, 0xa155e2a7, 0xd6f8cee6, 0x0ea2e1fa,
 22.3544 -0x6884bc80, 0x2e28c380, 0xc8a81ae1, 0xf7b04a99,
 22.3545 -0x20b94f75, 0x5303281a, 0xa6112304, 0x20cc646b,
 22.3546 -0x1ecf086d, 0xdb9e66bf, 0x4ab2fb24, 0x417a38e8,
 22.3547 -0x5fd7b00e, 0xd0f015d0, 0x346c1401, 0x7955bbd9,
 22.3548 -0x6d0bb796, 0x88115a58, 0x43e100b8, 0xbd0869c5,
 22.3549 -0x01331ea1, 0x07bfec8f, 0x0a124f7c, 0x22ffec34,
 22.3550 -0x9d032d18, 0x7b7520fb, 0x081a14a1, 0xadb94f5f,
 22.3551 -0xe80af508, 0x6cf4a75b, 0xefe86122, 0x282aa7b1,
 22.3552 -0xe0ebe80a, 0xc02e02a9, 0x43f728b7, 0x58594fdc,
 22.3553 -0x49e2ce9b, 0xc433e836, 0xe8450d3e, 0x61dc80be,
 22.3554 -0xbe0028c1, 0x45f7dc30, 0x150b502c, 0x1f1ab9d7,
 22.3555 -0xcc22eb19, 0x128eb99e, 0xe3d8cf27, 0xb2e98be4,
 22.3556 -0xd0753315, 0x3a20cc8a, 0xa29789e3, 0x189a4b04,
 22.3557 -0x0d370806, 0x061e3617, 0x5e055b59, 0x1ce43d12,
 22.3558 -0x4a08ef29, 0xcaf176d0, 0x147b8115, 0x46c3ff00,
 22.3559 -0x9d7502a5, 0x438daf04, 0x13e8501c, 0x936db02b,
 22.3560 -0x18ca4210, 0xe0161406, 0x311be276, 0x00848db6,
 22.3561 -0x2ad21ff3, 0x9509b604, 0xa994abee, 0x280e45a5,
 22.3562 -0xc1183f54, 0x8c68056f, 0x03c6661c, 0x80597845,
 22.3563 -0x4128df5c, 0x03884558, 0x2e891dc6, 0x04e3dde8,
 22.3564 -0xc8370500, 0x5ca7c54a, 0x88ac1255, 0xd048c343,
 22.3565 -0x0618e7f6, 0xaca1ed09, 0xb540ed01, 0x8906bb1b,
 22.3566 -0x6b70dade, 0xe8b314c4, 0x1b90f6aa, 0x219a2070,
 22.3567 -0x16eb7687, 0xa28e54ce, 0x51a41363, 0xd40fef42,
 22.3568 -0x1040ea0f, 0x643e0539, 0xb445b423, 0x3241fc80,
 22.3569 -0x602ee7c0, 0x2df6206a, 0xaa14c294, 0x836a341a,
 22.3570 -0xed2d8abf, 0xd46897ed, 0x02ad4194, 0x3c02408a,
 22.3571 -0x7866dbf8, 0x3c3c23fb, 0x09e9ec75, 0xee463b68,
 22.3572 -0x180fe302, 0xf0304e3b, 0x01b074d4, 0x5588b57b,
 22.3573 -0x039173b4, 0xba8768ae, 0x700c407b, 0x51cd54a3,
 22.3574 -0xbf8ab6dc, 0xc6110688, 0x55d57943, 0x83439bbd,
 22.3575 -0x31e514e8, 0xe88ed90c, 0xe7e8ad47, 0x1e58c6f4,
 22.3576 -0xbae0b6ee, 0x56225a98, 0xcde80343, 0x87689619,
 22.3577 -0x86c65241, 0x59a1fc95, 0xa39e0bc5, 0x7153a845,
 22.3578 -0xd427243a, 0x582647e8, 0xb53f11ca, 0xec707ee8,
 22.3579 -0x4b6f8c43, 0x46727e8d, 0xb6edc214, 0xeb8351fb,
 22.3580 -0x0edf860c, 0x5f030247, 0x1ceb5d04, 0x7947c3f0,
 22.3581 -0x6e3de8f0, 0xf1110ad5, 0x3bd45dba, 0x0623c35f,
 22.3582 -0x8e9f4307, 0x00892520, 0x9ce5c263, 0x4f28c7c5,
 22.3583 -0xc256e804, 0x1c070169, 0xfcb96c06, 0x782a06ee,
 22.3584 -0x4e8ff42c, 0x760df983, 0x5b5015e2, 0x595d1d6f,
 22.3585 -0x66e40c42, 0x090d5a07, 0xc855ed09, 0xc066a76c,
 22.3586 -0x4988002b, 0x5906fdb4, 0x097d800a, 0xd8640f11,
 22.3587 -0xf152a9ec, 0xa9555600, 0x7b0340c4, 0x546573b5,
 22.3588 -0xc68f5dce, 0x46083cdf, 0xb0bd4681, 0x07bc2fb3,
 22.3589 -0x3974b516, 0x0405663d, 0xf19b778d, 0x5626c10f,
 22.3590 -0x0e6f8db6, 0x30fa3ee8, 0x6d006c09, 0x4bbae77d,
 22.3591 -0x6d883eca, 0x0f1108c6, 0x8e45143b, 0x1bdddfb1,
 22.3592 -0x5f385102, 0xe856531c, 0xde0c310c, 0xffd9ef1b,
 22.3593 -0x83561677, 0xe85720c7, 0x041127fa, 0xea743468,
 22.3594 -0x60f336ec, 0x0468060f, 0x550fda31, 0xd6b7086a,
 22.3595 -0x0792665a, 0x79fb402d, 0xe026c08e, 0x0595e0e9,
 22.3596 -0x852cdbf7, 0xdab6d188, 0xc1fb0fc4, 0x430b740c,
 22.3597 -0x1b815762, 0x2548c031, 0xbff1bf21, 0x8d38126a,
 22.3598 -0x528a0e6a, 0x3cbbc60e, 0x53870f0a, 0xa0c4e28d,
 22.3599 -0x932bc6fe, 0x42a7005a, 0xfacd7b89, 0x0b10cdcd,
 22.3600 -0x7fbba954, 0x89c5f7fe, 0x823f2c06, 0x5edab074,
 22.3601 -0x6194c6b0, 0x70846519, 0x5c627c56, 0x582478d1,
 22.3602 -0xef087594, 0x46e91c19, 0x938f3a1e, 0xcd0e1f8d,
 22.3603 -0x22c6833a, 0xae544584, 0x56086f6e, 0x86742b04,
 22.3604 -0xa02d5cd6, 0x8780bbf0, 0x7e836b13, 0x62db0627,
 22.3605 -0xe8977c2c, 0x0f30fd26, 0x277b6c4e, 0x694506bf,
 22.3606 -0x1de3240b, 0x86ddb74c, 0x05dc3d0f, 0x13cf8fff,
 22.3607 -0xeac8148b, 0x533ff614, 0xae09346c, 0x240c8b74,
 22.3608 -0xf308748d, 0xe33c4b80, 0x29312278, 0x0e73cfd1,
 22.3609 -0x8dde15cd, 0x0e152962, 0x3b203445, 0x0eb7dbd0,
 22.3610 -0xff0f7c03, 0xebfc15fd, 0x3501dfe7, 0x68f8ae81,
 22.3611 -0xfdc443e0, 0x60bf10e8, 0x4cf86e8a, 0xb9057e07,
 22.3612 -0x97f14b07, 0xc3843762, 0xf6e8e3d3, 0x96c751f2,
 22.3613 -0x71e0df4e, 0x99a4071c, 0xb129f9f7, 0x976b125f,
 22.3614 -0x44b72849, 0xd6381048, 0x45de2ec1, 0xa173748f,
 22.3615 -0xca89d9d4, 0xb18b54a0, 0xfe2423c8, 0x8db196aa,
 22.3616 -0xaa4fdb43, 0x460813b8, 0xb56d5b04, 0x07fe76c4,
 22.3617 -0x0616fcf3, 0x6274a16e, 0xe0d1c307, 0x7b18bc80,
 22.3618 -0x1378b622, 0xf0b40618, 0xebdd0704, 0x61740678,
 22.3619 -0x230354c0, 0x132eb468, 0xeb30810f, 0xee031917,
 22.3620 -0x2b028fb1, 0x681b54e7, 0x00d48b64, 0xfcc22033,
 22.3621 -0x42f8e6f8, 0x0362ee1f, 0x596851df, 0x8722a664,
 22.3622 -0x08030680, 0x5dba6638, 0x01a4fbed, 0x6d431206,
 22.3623 -0x15040614, 0x9946b630, 0x57176ddd, 0x56e303a9,
 22.3624 -0x55241453, 0x51cd252c, 0x1374b22a, 0xd250182a,
 22.3625 -0xa9b00669, 0x430ebe22, 0x35a3613d, 0xf876506c,
 22.3626 -0xe001b3d6, 0x21c05b82, 0xc3db0ada, 0x2ce6638f,
 22.3627 -0xf6812e18, 0xf0c345b6, 0xb41945d5, 0xb1e26b27,
 22.3628 -0x6d0f498b, 0xb8a56556, 0x9ad85914, 0xe9c3bb94,
 22.3629 -0xb97718ed, 0x5e975f28, 0x78c53906, 0x50b83c6a,
 22.3630 -0x7f0db1a6, 0xdca36604, 0x341be882, 0x13789318,
 22.3631 -0xcd52ac60, 0x7c3ac214, 0x4f83415d, 0xea699e63,
 22.3632 -0x7001a296, 0x4a24e702, 0x1c6f19bc, 0x42748008,
 22.3633 -0xb8255006, 0xfff8642b, 0x34756832, 0x2be818a4,
 22.3634 -0xe8e85b1e, 0x1b0a1f81, 0x671fbe42, 0x665ac447,
 22.3635 -0xec10e7be, 0x3ae7dd22, 0xec11c040, 0x74c20b14,
 22.3636 -0x07d9efc7, 0x713a02c4, 0xa068cf04, 0x6a9859b8,
 22.3637 -0x13ab3446, 0xb7376227, 0xe80c3544, 0x23e8ff23,
 22.3638 -0x6d18bc1e, 0x3de9d99d, 0x46782b8e, 0x2495e303,
 22.3639 -0xb1406ec7, 0x634a3152, 0xafeb76c2, 0x500176d1,
 22.3640 -0x7ee01319, 0xf1913698, 0x2dd0335c, 0x9b20bdfb,
 22.3641 -0x2c3e414b, 0x7245e3c7, 0x6d88e2fa, 0x00b178ad,
 22.3642 -0x40b43dc9, 0xa5d92bfa, 0x0ca3afb7, 0x5002efaa,
 22.3643 -0x5b053be0, 0xf100f4b6, 0xc0c1ace8, 0x5bdcfb9e,
 22.3644 -0xba0750fe, 0x0f0386cc, 0xfe5de87b, 0xcc458468,
 22.3645 -0x731d665b, 0x0d028bdf, 0x95dbde48, 0x6058bdc2,
 22.3646 -0x5da1b702, 0x0e3d79c3, 0x3a97bab3, 0x8df118c3,
 22.3647 -0x1408f668, 0x24835d47, 0x4a5aa3bc, 0x201c19e7,
 22.3648 -0x1222adb6, 0xf6204e05, 0x2ce88ed8, 0xe984c060,
 22.3649 -0xbac00da8, 0x1309b3a0, 0x63206a5e, 0xb0ee9a02,
 22.3650 -0xcd86c21d, 0x0dce04e4, 0x13a00fd4, 0x20c67db8,
 22.3651 -0x79fda7b5, 0x7e03ff4d, 0xe9357731, 0x75065d0f,
 22.3652 -0x2c578da4, 0x6823a976, 0x1a087349, 0x1a6aff10,
 22.3653 -0xd9180978, 0x32105c8d, 0x63063be7, 0xdbf29a13,
 22.3654 -0xa098fd61, 0x7660da96, 0x2f16dc87, 0x80d009d8,
 22.3655 -0xb3130b4f, 0x38848c8b, 0x384c45ef, 0x222ec884,
 22.3656 -0xb03002e5, 0x231f0736, 0x2d4d7576, 0x4c590178,
 22.3657 -0x75493812, 0x584428f0, 0x2fbd6888, 0x820a583b,
 22.3658 -0xb87d3145, 0x1db05742, 0x391e1069, 0x400249d0,
 22.3659 -0x58c6c0f0, 0x06d519c4, 0x16ef7902, 0x6012205e,
 22.3660 -0x892e4725, 0x6969a1e7, 0xa636f1b6, 0x41aa3da3,
 22.3661 -0x8e528ca5, 0x05fe4276, 0xd8a6e748, 0x0f704d72,
 22.3662 -0x1985b19c, 0x887c0ac9, 0x5bb9c141, 0xf19ae988,
 22.3663 -0xc70ec1be, 0x1559950b, 0xeaab8321, 0x7eb4771a,
 22.3664 -0x0d4f72ff, 0x06416dc5, 0xcece7d8a, 0xdcc03894,
 22.3665 -0x63098461, 0x086c0573, 0x97153693, 0x7ae0e8f1,
 22.3666 -0x484221c0, 0x7e70bb18, 0x4db8a01e, 0x40c1b1e1,
 22.3667 -0x38fc18b6, 0xf0c2a79d, 0x2d06c4e0, 0x7da17b02,
 22.3668 -0x10805588, 0xe857c550, 0xfd19ee26, 0x181a514a,
 22.3669 -0xe997ab9a, 0x585c22b4, 0x5220ae88, 0x25522ebd,
 22.3670 -0x167d383f, 0x1da3a27d, 0xfd756953, 0x09fc5198,
 22.3671 -0xe9018b1f, 0x386efd63, 0xf6be0a64, 0x428a9330,
 22.3672 -0x041f7283, 0x6dc2450c, 0x04b147d2, 0x74d3ed85,
 22.3673 -0x175083ad, 0xfbae06a8, 0x941235ee, 0x03e547b0,
 22.3674 -0xd7ba3e33, 0x1a7e1ab1, 0x97cc22a3, 0xc148d0b6,
 22.3675 -0x9f257df9, 0xf1fdfa20, 0x8b6c2197, 0x2f8c24bc,
 22.3676 -0x068024b4, 0xc1e3249c, 0x83a47e0a, 0x8d98ffff,
 22.3677 -0x831e1e2c, 0x9f6fea27, 0x8424841a, 0x3e4474b7,
 22.3678 -0xbc6c6d82, 0x8018010a, 0x1774cce3, 0x04d09f4b,
 22.3679 -0x9e32be1a, 0xe4020886, 0x0d9c4f76, 0x44afc898,
 22.3680 -0x821fc8a1, 0x012845d4, 0x816c7d4a, 0xa6d342d1,
 22.3681 -0x83f868a5, 0x41809e56, 0xef61ec3e, 0x8c09bae0,
 22.3682 -0x25c4012b, 0x3328c9f5, 0xcb1f47e8, 0x6b948eb7,
 22.3683 -0xa004f9b1, 0xa874bc9d, 0x8edb2fc5, 0xb6f4ea0e,
 22.3684 -0xee391b88, 0x93bd0b73, 0x77863edd, 0xf5720a46,
 22.3685 -0xa82d89b8, 0xafc52854, 0x4c758e05, 0x6a152052,
 22.3686 -0x44c22e18, 0xe840bd57, 0x68b86c34, 0x50beb8c8,
 22.3687 -0x52f42c6c, 0xbb642e04, 0xb67e5c1e, 0x0dbf0141,
 22.3688 -0x047bbab6, 0x225ef130, 0x1bddd1c8, 0x00dd54de,
 22.3689 -0x4e546877, 0xfffe42e6, 0x62c615ff, 0xd988d4c3,
 22.3690 -0xdf7ea180, 0xa09027ba, 0xac846ad0, 0xd13d804b,
 22.3691 -0x304275d8, 0x7f0256c3, 0x1135541a, 0xe5ffe1b6,
 22.3692 -0x2b750330, 0x8001568a, 0x177603fa, 0x83468d13,
 22.3693 -0xc4fd8b9b, 0x37e8ba68, 0x851bee1e, 0xe027b3c2,
 22.3694 -0x0230ff0b, 0x12c122e9, 0x580baf5c, 0x837b576a,
 22.3695 -0x9b49156e, 0x84f6caab, 0x1a7f75d2, 0x3608fb35,
 22.3696 -0x50ac55bb, 0x841d08c0, 0x65df0801, 0x0e2b1964,
 22.3697 -0x8001b381, 0x61dbfdd0, 0x9789a023, 0x9275961a,
 22.3698 -0x05c6ff6a, 0xee85dfd8, 0x12467318, 0xe88e006a,
 22.3699 -0x01e6fdd0, 0x19b3800f, 0x33360200, 0xb656707c,
 22.3700 -0x82028ee9, 0xec7ab7c1, 0x4e7401f7, 0x8f010895,
 22.3701 -0xed89eb94, 0xab475256, 0x6fe8c743, 0xa47aa179,
 22.3702 -0x4a1f089c, 0x0ba3ffef, 0xc58986cf, 0x11187135,
 22.3703 -0x483d32b6, 0x35f8891a, 0xe9cbdb15, 0x8a6eec04,
 22.3704 -0x2709fbad, 0x0e19a218, 0x0310108b, 0x708617ad,
 22.3705 -0xe78c1409, 0xd22a97b6, 0x7a86feda, 0x8ec9311a,
 22.3706 -0x6fe3ba8c, 0x383099e5, 0xb81773d1, 0x396647a0,
 22.3707 -0x16dfed18, 0xdd41af16, 0xf3721144, 0x7405f980,
 22.3708 -0x83800848, 0x481709b6, 0xc0e931d1, 0x8db50bee,
 22.3709 -0x2aa28514, 0x47f23db9, 0x6a2ebbfd, 0x6c4c7ec0,
 22.3710 -0x3c3c0241, 0x3cb00276, 0x76ac7b70, 0x8d5051a1,
 22.3711 -0xd45003c0, 0x03861c9a, 0x10d51220, 0x85d0323c,
 22.3712 -0x03104482, 0x10a21ad5, 0x16a8cf87, 0x075f46e9,
 22.3713 -0xc8fe1d3f, 0x80c9fef7, 0x0b57a7fd, 0x017e807c,
 22.3714 -0x00ea86a3, 0xe13b303d, 0x62008b60, 0x629a4f6b,
 22.3715 -0x8c36e48e, 0x58150625, 0xe91346fe, 0x6d387af6,
 22.3716 -0xa328538f, 0x7aa39a16, 0x15746292, 0x27e84769,
 22.3717 -0x6d5e971c, 0x933b1f49, 0xeb8323db, 0xf67c9c3d,
 22.3718 -0xfc5ae904, 0x0099f43b, 0xdca4b884, 0x3bd5a342,
 22.3719 -0x09ce6f80, 0xf20c0af0, 0xd1f81e48, 0x6fd1fbd7,
 22.3720 -0x718dc1b8, 0x7e8d7d27, 0xf8018002, 0xaae0c739,
 22.3721 -0x8322004f, 0x120e8e5d, 0x80758216, 0x1a25781f,
 22.3722 -0x08dd5c18, 0x77ef6e74, 0x21a5b91c, 0xca7b4714,
 22.3723 -0x0bb02de0, 0x446fb4c0, 0x47b6105c, 0xbf6f80ae,
 22.3724 -0x03877c51, 0x725e7c3b, 0xcafae9a5, 0xba1eea41,
 22.3725 -0x09e4c0b6, 0x27570dec, 0x05db910e, 0x340fe8fc,
 22.3726 -0xd4fdd336, 0xe80b3d90, 0xbd151af9, 0x6c425895,
 22.3727 -0xe9988842, 0xe01b7683, 0xe99cf82b, 0xf0418d81,
 22.3728 -0x1c51a2d1, 0x1e21f646, 0x02f1675c, 0xed20ad8c,
 22.3729 -0x332674c9, 0x313f8981, 0x31158556, 0x11762a5f,
 22.3730 -0xed01b1b4, 0xaf3cf890, 0x0875bf3b, 0x06742cb8,
 22.3731 -0x2a7f032b, 0xb8f47502, 0xa1ddf044, 0x43391ad8,
 22.3732 -0x2dea7504, 0x0f0f0fab, 0xf269515b, 0xf7ccb000,
 22.3733 -0x15260647, 0x73f13eb7, 0x67582e1a, 0xc582e5b4,
 22.3734 -0x9856b49f, 0x981c5a59, 0xf5111a8c, 0xf72a9d7f,
 22.3735 -0x1422ea09, 0x040ebfac, 0x9643633c, 0x141a0626,
 22.3736 -0xdb680918, 0xd2405385, 0x704b5776, 0x3b4890aa,
 22.3737 -0xfa94a3e4, 0xb890d9a2, 0x48c108af, 0x5bdde27b,
 22.3738 -0xffba7f6b, 0x3d107e21, 0xf7ba77bf, 0x55a83aa5,
 22.3739 -0xbc00c58e, 0x805829da, 0x875306c0, 0x8ab5003f,
 22.3740 -0xb6a15711, 0x85e2acc4, 0xe8f9b148, 0xf01ddf44,
 22.3741 -0x8713fd2a, 0xefc1011a, 0xf8f60285, 0xecea848f,
 22.3742 -0x0f6caa49, 0x5a4370ba, 0x962b7268, 0x388c6eb8,
 22.3743 -0x18446713, 0x57554a66, 0x47244e27, 0x216e5605,
 22.3744 -0xe8068f09, 0x0f27194b, 0xdf731a99, 0xebe9d385,
 22.3745 -0x1ea314f2, 0xf30422f5, 0x16bacf60, 0x5952f5d7,
 22.3746 -0xb1566c43, 0xedd02b05, 0x5c57a0c5, 0x386eb9a0,
 22.3747 -0xec81d7c2, 0xa1c10078, 0xd47c0d0d, 0x88ac1608,
 22.3748 -0xfa00a2d6, 0xf7ce16ed, 0x010a84a1, 0xa234081e,
 22.3749 -0xf5034602, 0x0386168c, 0x75136ce4, 0x1abf76e5,
 22.3750 -0xb90c04a2, 0xef824740, 0xcaedd3e0, 0x013cc279,
 22.3751 -0x063e3d04, 0xd8184d0d, 0xd02ab193, 0x2206f351,
 22.3752 -0x8614c3db, 0xf018ff10, 0x15a9820e, 0x18050385,
 22.3753 -0x072b06f0, 0x0fa3f7d3, 0x15c36cd2, 0x2d2f2241,
 22.3754 -0x1b040ce6, 0x34ce8d0c, 0x830b63ae, 0x5416b615,
 22.3755 -0x38168c59, 0x232374df, 0x800f1001, 0x680d6a52,
 22.3756 -0x232cd0fc, 0xe91799bf, 0xff8dc617, 0x060c7f4e,
 22.3757 -0xe814bedc, 0xb73df15c, 0x71010ed9, 0x89ba2e1c,
 22.3758 -0x1cba5ff7, 0x284b0e93, 0xb750fe9c, 0x8f13bfbf,
 22.3759 -0x242c1f9a, 0x436afb68, 0xe8ffb66a, 0xd58a26bb,
 22.3760 -0x7efaf2dc, 0x246a28ff, 0xdca1bd17, 0xc9561ce8,
 22.3761 -0xb0e2e8c7, 0xa7f04ff2, 0x68483856, 0x5728eb00,
 22.3762 -0x87bc7a0c, 0x0c5386c5, 0x09cfee51, 0xe0dd8ca1,
 22.3763 -0x1adc4ddd, 0x892fb2e8, 0x2dc729df, 0x475ed47f,
 22.3764 -0x63158228, 0x22043d83, 0x7fb77424, 0x570c0385,
 22.3765 -0x8b1c2713, 0x2b1c2bd7, 0x611d16fa, 0x6840ec1a,
 22.3766 -0x16e31da1, 0xd2324c04, 0x3d163ac5, 0x821390cc,
 22.3767 -0xb5439c8c, 0x8cd84e43, 0x9e991674, 0x9a4cdb31,
 22.3768 -0x7ff16708, 0xfb8309eb, 0x858f0f13, 0x8b1455f9,
 22.3769 -0xc71c2301, 0x9f5f1802, 0x01d8c25e, 0x50f5f001,
 22.3770 -0x89ed4907, 0x11d84ecf, 0xe5b10843, 0x26a87505,
 22.3771 -0x47ecb6c4, 0x39f685de, 0x895c81f9, 0x48bd8847,
 22.3772 -0x34814375, 0x4ba9186c, 0xe8d38c80, 0x516b7013,
 22.3773 -0x970a6d24, 0x32061d8e, 0xe2ed59df, 0x79941d1a,
 22.3774 -0xbb408ece, 0xf31aae77, 0x3163b702, 0x5d0031a8,
 22.3775 -0xffe53374, 0xe27536b3, 0x838d9903, 0xa0831f1b,
 22.3776 -0xfd16f6c0, 0xef0d6807, 0x0412d3e8, 0x17f5ba47,
 22.3777 -0x6cd23ca1, 0x483944c3, 0x5022a1cf, 0xc8daf1d7,
 22.3778 -0x024c0350, 0x0858c8f0, 0x5abd5177, 0x2b92bc15,
 22.3779 -0xaa495a9d, 0x84575a2f, 0x410dc203, 0xad8b87a3,
 22.3780 -0x03681535, 0xbe1af0d2, 0x02756df0, 0x418dfdd0,
 22.3781 -0x6899682e, 0x4290960c, 0x15cfd61a, 0x0aa3ae1f,
 22.3782 -0x2a61830e, 0xcbf79668, 0x77f068a9, 0x048302b0,
 22.3783 -0xe82835ff, 0x91e4f028, 0xe89e80f0, 0xb494ee6c,
 22.3784 -0x426c84eb, 0x536a8a98, 0xf67d81d0, 0x82e8d960,
 22.3785 -0x6845d714, 0x0e46c9e0, 0x146be416, 0xfffe3cbc,
 22.3786 -0x11dfec24, 0xbd2c68de, 0x00001184, 0x3ec0f2a7,
 22.3787 -0xe81e3f6b, 0xc7a4ef83, 0x25f447ed, 0xe9a20f47,
 22.3788 -0xdfc069e2, 0xad736d55, 0x39ba0904, 0xf738e38e,
 22.3789 -0x408f51e2, 0xc2029b4d, 0x82e7e944, 0x09337044,
 22.3790 -0x3ec03100, 0x144d1380, 0xca3867f2, 0x2c112d52,
 22.3791 -0x0fd1d237, 0x3013c474, 0xa3f6fb04, 0xb40bff03,
 22.3792 -0xa9132740, 0x3960518b, 0x5c418bf2, 0x6a3a2d77,
 22.3793 -0xb5e50e8b, 0x75cdd8ae, 0xada0b114, 0xf10c7fc1,
 22.3794 -0x15477a37, 0x8354578b, 0x891c760c, 0x46d889d5,
 22.3795 -0x8d6e036d, 0xdf57f5f7, 0xe9a63207, 0x19cfa5b6,
 22.3796 -0x6c277c11, 0x5f140b44, 0x396868ea, 0x7764789f,
 22.3797 -0x40dfaf78, 0x77f76085, 0x13548b72, 0x208a5842,
 22.3798 -0xe222dede, 0x775e7268, 0x5876d819, 0xc5aeba02,
 22.3799 -0x10d44da3, 0xadab1c61, 0x03e45e21, 0x10786c47,
 22.3800 -0x6cd913fe, 0xe2054def, 0xff5378c7, 0xd0386022,
 22.3801 -0xac54b113, 0x0a6c3804, 0x90f10482, 0x036d3c33,
 22.3802 -0x29473ff0, 0xe9d619c3, 0xe1a37c4a, 0x8300cd04,
 22.3803 -0x034651bd, 0x43119720, 0x48b1dfc4, 0x5288794e,
 22.3804 -0xda50ad79, 0x0fc466c3, 0xc50fe0f2, 0x9e09b748,
 22.3805 -0xc789da10, 0x2eed3187, 0x51721786, 0x8dbd3bd6,
 22.3806 -0xd1e200aa, 0x340d1686, 0x29e80e20, 0x6eb07bd8,
 22.3807 -0x071f756c, 0x89ecd65c, 0x59d875c2, 0xeb7a0bb0,
 22.3808 -0x89f7de75, 0x06259718, 0x50eb2201, 0xfb9b8aed,
 22.3809 -0xff034152, 0x36104c40, 0x1428bc7e, 0x8b30c61f,
 22.3810 -0x491c4292, 0x86f80a5c, 0x89480275, 0x42037842,
 22.3811 -0x7b3ba274, 0x688b1315, 0x26037c3e, 0x68b50edf,
 22.3812 -0xa22eb131, 0x9b042b68, 0x36427838, 0x3ee103e0,
 22.3813 -0x40358f55, 0x3445038b, 0x3fb4229c, 0x4cf3a771,
 22.3814 -0x003dde3f, 0x4c314877, 0x0fb9d339, 0x71b10672,
 22.3815 -0x6f77fc33, 0x6b77c139, 0x7451441a, 0xab6e40e7,
 22.3816 -0xd8e604e3, 0x28d0c7d1, 0xaafa5ac4, 0x131ca944,
 22.3817 -0x70255518, 0x2c261d6c, 0x60cf78b3, 0x58ec3edf,
 22.3818 -0xf6a9f066, 0xbd4b74c3, 0x514674fe, 0x6bb59ddd,
 22.3819 -0x5028262b, 0x582b4c86, 0xa7fe535a, 0xe30c9dc2,
 22.3820 -0x5c46782c, 0x2960568b, 0x1bec3ec8, 0x194876ee,
 22.3821 -0x014c56da, 0xa5da11c8, 0x70ff6ee9, 0xb30f04d7,
 22.3822 -0x54825036, 0x58285052, 0xba4afc47, 0xfdd0c0e0,
 22.3823 -0xc7bde06e, 0x880f0c0f, 0x20f1a6cd, 0x9fb717c3,
 22.3824 -0x8d71dd84, 0xfbec71b1, 0x50415e3d, 0x3db8d4ba,
 22.3825 -0x2aa7fe28, 0x24b32360, 0xe4ded341, 0x492703c3,
 22.3826 -0xa30dda53, 0x20e1da0b, 0x20bd392b, 0xa0251dc1,
 22.3827 -0xa0bb3610, 0x8163924c, 0xe8029657, 0xa8a6a5a7,
 22.3828 -0x83fc87bd, 0x6f9b6e5a, 0xe9800f41, 0x01d3747e,
 22.3829 -0xe9e7a6ce, 0xdf116257, 0x070afa53, 0x8df6c28f,
 22.3830 -0xc629f1f0, 0x01dad719, 0xc09155cf, 0x50d26705,
 22.3831 -0x85efdc8b, 0xc9bd8bf0, 0x0a41a279, 0x58539310,
 22.3832 -0xe06c8a90, 0x6d164bdc, 0x4bfd9010, 0xb1045b28,
 22.3833 -0xf7443d66, 0x19961bd8, 0x281b7633, 0xbaa92a9a,
 22.3834 -0xd7625774, 0xf80e8890, 0x467c8d5f, 0x2cdcaf89,
 22.3835 -0xc0855d20, 0x227bb1be, 0x8394c602, 0x3d50047a,
 22.3836 -0x230fb1c0, 0x02255028, 0x80309cdd, 0xae46ddc8,
 22.3837 -0x2b3c2d02, 0xda00edbd, 0x2d3c050f, 0x3a80d507,
 22.3838 -0xd75e2e93, 0xbf08ac3e, 0xd67c747b, 0x0805aea2,
 22.3839 -0x0904e00f, 0xe0b06e0f, 0x341c9a6c, 0xc6899809,
 22.3840 -0x2ddf1566, 0x2d49a930, 0x41cdbab6, 0xa3291af0,
 22.3841 -0x155c2820, 0xf472dbf0, 0x723a1d02, 0x1eedf8d7,
 22.3842 -0x89276dec, 0xa3059835, 0xfcc23294, 0x8a49be3b,
 22.3843 -0x4257be59, 0x93572061, 0xc360f846, 0xdc41e852,
 22.3844 -0x63481834, 0x20bf066b, 0x7e5484ab, 0x0f125b98,
 22.3845 -0xc7fd983d, 0x4100000b, 0x18644a1c, 0x23087aa4,
 22.3846 -0x427d0e91, 0x7909c91c, 0xdbe7061a, 0xa9076002,
 22.3847 -0xfee54823, 0xdb71e952, 0xddbe7a0b, 0x97eb6679,
 22.3848 -0xb88d8f09, 0x34760431, 0xb7002b66, 0x8ad056c3,
 22.3849 -0xdb241ee3, 0x6ee883dc, 0x7a808988, 0xbefe4e1b,
 22.3850 -0xa08d778b, 0x720711f7, 0x41d1e915, 0xeeec3efd,
 22.3851 -0x2b78387c, 0xfb813b43, 0x118779fe, 0xdf75bfa3,
 22.3852 -0x07c3f634, 0x2ba4df75, 0x57530eab, 0x5223d9e8,
 22.3853 -0x344c35d8, 0xb910cd8a, 0x82ff0224, 0x8d34ecc7,
 22.3854 -0xfdf8fd46, 0x1ddcb877, 0x1daab7d1, 0x10edc124,
 22.3855 -0xd46d0899, 0x980468a0, 0xa6d0087b, 0x8d2bd3ca,
 22.3856 -0x68ba2d44, 0x58ad402e, 0xfa68bfb7, 0x9db3c580,
 22.3857 -0x042cb80a, 0x69185106, 0x17733053, 0x785c02a0,
 22.3858 -0x34388256, 0xe9722414, 0x0bfb1678, 0x4274d2c4,
 22.3859 -0x35731440, 0x26fb2767, 0x08e9c16e, 0x73280beb,
 22.3860 -0xef753f21, 0x8702c11a, 0x3943dbed, 0x08e175d5,
 22.3861 -0x1e701583, 0x21df4998, 0x28f17817, 0x88c33f4d,
 22.3862 -0x980bba5a, 0x428819e2, 0x6602c32d, 0xa91d0a06,
 22.3863 -0x428ddc7b, 0x06072704, 0xdc306a45, 0xc5d91af6,
 22.3864 -0x693023c7, 0x93c40ac9, 0xb21758ee, 0x6ae81442,
 22.3865 -0xd5a71f14, 0x3c9a0161, 0x52be0564, 0xd6f04dfb,
 22.3866 -0x0c241824, 0xfe8608eb, 0x552e7f24, 0xa9ff2956,
 22.3867 -0x287da4e0, 0xfce283f1, 0xcda8e174, 0x01ee4ee1,
 22.3868 -0x8622dd74, 0x38357926, 0x50f0d0b0, 0x4fd27e10,
 22.3869 -0x873d4217, 0x2ddd02d4, 0x04501961, 0x424d551a,
 22.3870 -0x47236c43, 0x6a172c8a, 0x8446f5dd, 0x18c30b68,
 22.3871 -0x5b547cc4, 0x58d488db, 0xdbbc1af7, 0xafd76b3b,
 22.3872 -0xb5e9fded, 0x456110d0, 0x08ad0a58, 0x700319b7,
 22.3873 -0xdf2ddd1a, 0xb60dec6a, 0xe8def898, 0x544721f6,
 22.3874 -0x9a29ed76, 0xc6f84274, 0x0019036d, 0x2bc6f15d,
 22.3875 -0xe9474ffb, 0x5542b4be, 0x90104a0a, 0x8d806b18,
 22.3876 -0x5b56db4a, 0x0bdf7280, 0x0a7dd15f, 0x0e0c3941,
 22.3877 -0xca44f74c, 0x2d86e166, 0xce0439ea, 0x39d944ae,
 22.3878 -0xed8dce44, 0xe06f6da0, 0x3c1cd277, 0x1004c8da,
 22.3879 -0xaee1635d, 0x2fd80816, 0x916c1a39, 0x3b843edb,
 22.3880 -0x6314fd09, 0xdbd87dc2, 0x2f542fb5, 0xa7d2eb04,
 22.3881 -0x96121c92, 0x47053c15, 0xe0031821, 0xf5537003,
 22.3882 -0x12809506, 0x115eaebc, 0xf34c2a1c, 0xc0954329,
 22.3883 -0x36abbd17, 0x8605ca6f, 0x1874d039, 0x9b375b36,
 22.3884 -0x50ac2630, 0x0d180543, 0x203914dc, 0x052d20dd,
 22.3885 -0x3584761f, 0x73b81088, 0xb1054f21, 0xe21af8c9,
 22.3886 -0x2f17608d, 0x08496a0e, 0x59dd5350, 0x29b8b5f3,
 22.3887 -0x8b648246, 0x4b4cf6f4, 0xf4c285d1, 0xfca3891a,
 22.3888 -0x614d04d1, 0x21dc1dce, 0x00588324, 0x0643d54c,
 22.3889 -0xe027045b, 0xf02307af, 0x0b76daeb, 0x324b6032,
 22.3890 -0x1a334e52, 0x975ece2f, 0x2d560b5c, 0xfd51d0ac,
 22.3891 -0x18148368, 0x072d5650, 0x8365cd35, 0x5c9da4f9,
 22.3892 -0xab585674, 0xe4c780c9, 0xd84c1419, 0x170c1c24,
 22.3893 -0xbbb72c0c, 0x349a1e12, 0x63f62d56, 0x9b1178d5,
 22.3894 -0xe19913df, 0x1a28d06f, 0x21980d97, 0x34205ed0,
 22.3895 -0x12c3b390, 0x330142f0, 0x0a62baf0, 0x7f503b97,
 22.3896 -0xd6a04c55, 0x7510c4f2, 0x60bab908, 0x092d7e00,
 22.3897 -0xc9b5c19c, 0x0c342980, 0xb49f3c19, 0xe07f6009,
 22.3898 -0x08858b84, 0x31df6a55, 0x2934b019, 0x3c083c0a,
 22.3899 -0x252fbe3f, 0x2376ab68, 0x07235b76, 0x296c07ef,
 22.3900 -0x571388ba, 0xdb2e50e9, 0xedb8041e, 0xef3c0721,
 22.3901 -0x80f61d31, 0x240fbdfd, 0x08693e74, 0x4e2a5540,
 22.3902 -0xb32bafe8, 0xc6695b67, 0x775f0828, 0x1022b2a9,
 22.3903 -0x8a1607b3, 0x007a9b33, 0x8bee3dc4, 0x0ab1bb53,
 22.3904 -0xc39d5e38, 0x5829c784, 0x1a1eabe2, 0x6f036773,
 22.3905 -0xa029a3ac, 0x5fc3e96c, 0xab811d10, 0xe272f192,
 22.3906 -0xee42526a, 0x689a5f83, 0x294284a4, 0x8f6d0a34,
 22.3907 -0xff9214c0, 0x4fa35e8d, 0xd00aae3f, 0x1574912d,
 22.3908 -0xe2011a43, 0xc2e94b1b, 0x46c7131f, 0xd07d930c,
 22.3909 -0x1113e04e, 0x73651ac7, 0x2e05ddd8, 0x3810466c,
 22.3910 -0x483e3874, 0x821bcf75, 0x724f8c42, 0x405b5ae4,
 22.3911 -0x8b6c59aa, 0x4663f83d, 0x6d4d2224, 0x9783b0bc,
 22.3912 -0x05f0147e, 0x135646ff, 0xf2df7088, 0x91b772bb,
 22.3913 -0xf0042fb0, 0x02e65f46, 0xcb8b5859, 0xd0560c70,
 22.3914 -0x218382b1, 0xea701775, 0x9a20f5d5, 0x3750a88b,
 22.3915 -0xba35a062, 0x527ec735, 0x6a28940f, 0xa310b215,
 22.3916 -0xfc681b17, 0x50e7922e, 0x89bc1804, 0x6e0b0426,
 22.3917 -0x1c1b2163, 0x071cc9ab, 0x2dd54ad6, 0xe2628f20,
 22.3918 -0x8ccedf06, 0x4d20d17d, 0xbc03ce78, 0xc3023eeb,
 22.3919 -0x8c3f6601, 0x7e060904, 0x98db6744, 0x0884060c,
 22.3920 -0x9727cbe4, 0xe0ceae6d, 0x3fdf5340, 0xea0ed50a,
 22.3921 -0x5694eb24, 0x731676ff, 0xf7aeb849, 0x2e33371d,
 22.3922 -0x12420377, 0x6988750e, 0x68132007, 0x062326c1,
 22.3923 -0x508b1c9d, 0x8a43439a, 0x2a30e94b, 0x4b669d4e,
 22.3924 -0x1059a74a, 0x0e303377, 0xfe04e851, 0xa84d5bd4,
 22.3925 -0x168aa3f3, 0xdff14584, 0xc784eee0, 0xfa801b74,
 22.3926 -0xdf2f7425, 0x45c006bb, 0x8829ffed, 0x20464717,
 22.3927 -0xc76b4075, 0x39a7e583, 0xb143c603, 0x2506d13a,
 22.3928 -0x61f6a028, 0x1f70ab1b, 0x2e3df6a9, 0xa3581c43,
 22.3929 -0x15bc0b58, 0x62d8e873, 0x23088501, 0xbdb930f5,
 22.3930 -0xb94e0041, 0x011219bc, 0xedcf140a, 0x00b8086c,
 22.3931 -0xdb1bad68, 0xf477f5be, 0x783c20c8, 0x6415b20c,
 22.3932 -0x65cf2c08, 0xbd40fa64, 0x43f92101, 0x638cba47,
 22.3933 -0x30da0177, 0xe8043c88, 0xb345542f, 0x0feb3930,
 22.3934 -0xdf0e4583, 0x2862b800, 0x038aa6f2, 0x06430788,
 22.3935 -0x47fa8fb3, 0x848be4eb, 0x810683dd, 0xda26d80d,
 22.3936 -0x843c1818, 0x6f462e16, 0x4fccc0f0, 0x1ebe902c,
 22.3937 -0x6bd34ee8, 0x1d6c576e, 0xfef03046, 0xbba7da08,
 22.3938 -0x87954c86, 0xb137534d, 0x0f7b2304, 0x85b11273,
 22.3939 -0x0764494e, 0x350132d0, 0x0de0f9eb, 0x80afd476,
 22.3940 -0xd884ebc9, 0xbff8e8d3, 0x8a1da5e3, 0x0938cf80,
 22.3941 -0x004588d0, 0x04e98345, 0x1d08e879, 0x50e583dc,
 22.3942 -0x5088f527, 0xfedeecad, 0x801bf250, 0xd2ed1156,
 22.3943 -0xdceb89bf, 0x0d7f762e, 0x1e0ab999, 0x1c38f9f7,
 22.3944 -0x0bb6038a, 0x14e6942c, 0x6667f255, 0x7460f700,
 22.3945 -0x041e0018, 0xdeaa0c89, 0xc12ebf80, 0x450502fa,
 22.3946 -0x96d8c229, 0x75026d1a, 0x0bbd47be, 0xe6870aef,
 22.3947 -0x022a6ffe, 0x434a0b88, 0xf177da39, 0xdb7dace9,
 22.3948 -0xa3ad6f5e, 0x8358df6f, 0x306402c5, 0xe9310454,
 22.3949 -0xb164dd37, 0x9b1ee865, 0xd0301e45, 0xe9c46280,
 22.3950 -0x10306973, 0x3fb82c76, 0xe995d20e, 0x182fcb8f,
 22.3951 -0x6a2cd530, 0x76d8bac8, 0x41b0d81e, 0xb1034103,
 22.3952 -0xe85516e0, 0x226dd67f, 0x3ac501ab, 0xe2771d43,
 22.3953 -0xd419e94d, 0x44600ab7, 0x390653ff, 0xae91d9d3,
 22.3954 -0xde73aafd, 0xe43f7351, 0xda79fcf9, 0x43b60e5a,
 22.3955 -0x3dbf503b, 0x776bfbdb, 0x45af3d86, 0xcdf45cf7,
 22.3956 -0xaabfe92d, 0x0e5c83b1, 0xb7d16303, 0x9c1314fd,
 22.3957 -0x4e450470, 0x16acf17b, 0x1ec5a12a, 0x50d890c3,
 22.3958 -0x1804148d, 0x52db85ba, 0xb808cfe1, 0x8a307414,
 22.3959 -0x6d32b907, 0x84d2d2f1, 0x74342628, 0x1b5f3822,
 22.3960 -0x0ba5e26f, 0x36c188d2, 0xe720488d, 0xd188c888,
 22.3961 -0x776fd10a, 0x38204a0b, 0x0375ca08, 0xe817754b,
 22.3962 -0x430d6d05, 0x7a15d202, 0x5eba27e1, 0xcb891508,
 22.3963 -0x4201808a, 0x88ac4541, 0x2df62ead, 0x4f09f452,
 22.3964 -0x89b94c1b, 0x8bb64ade, 0x74c2b7ba, 0x41034ea6,
 22.3965 -0x66f02343, 0x9d34d577, 0xd34c543d, 0x4204eb94,
 22.3966 -0x76eec06c, 0x24fa7505, 0x48424102, 0xe976ce4c,
 22.3967 -0xc93746d0, 0x1b74fd1f, 0x2cdfa52c, 0x74430307,
 22.3968 -0xf3754906, 0x5dda34c6, 0x955760b0, 0x1a2ac34a,
 22.3969 -0x15f4161e, 0xf0993a02, 0x0efdc2d3, 0x20da51b5,
 22.3970 -0xa8ef05eb, 0x025ed8a9, 0xd738108a, 0xa05728f5,
 22.3971 -0xa92db300, 0xbac1b05c, 0xa01ff155, 0xf7aef2df,
 22.3972 -0x388449d1, 0x836d4010, 0x3b4827da, 0xab9d19f7,
 22.3973 -0xb8574cf8, 0x89d6384a, 0xfa0377c0, 0x801174c8,
 22.3974 -0x404a1739, 0xd10505e4, 0x75805bf0, 0xc3c829f4,
 22.3975 -0x0744566e, 0xa295cdda, 0xcf7cff31, 0x2d350c05,
 22.3976 -0x03f11675, 0xa215748e, 0xf189ed86, 0x6e161a74,
 22.3977 -0xafed3810, 0xf5ae76b1, 0xbbc39d5b, 0x3543f374,
 22.3978 -0xbbd9a708, 0xebd5b147, 0xf39556e9, 0x5c8c83af,
 22.3979 -0x0d4323d8, 0xe8874314, 0x75267e04, 0x815a73e3,
 22.3980 -0x09861474, 0x3079f089, 0x04b77542, 0x01d86481,
 22.3981 -0xee4c59c3, 0x58f7505f, 0x9b0f3c74, 0x745a5e16,
 22.3982 -0xc56bb909, 0xe574822f, 0x3d5d94a3, 0x1deaa5ee,
 22.3983 -0x540a1d8b, 0x2bf174db, 0xb2f7efd0, 0xc4753b28,
 22.3984 -0x1f05c764, 0x6c410000, 0xf2120821, 0xecf62c1e,
 22.3985 -0x10bbf6d8, 0x5a5b3f2f, 0x06895659, 0x088fc353,
 22.3986 -0xa4f6902f, 0xd9c206eb, 0x0171e153, 0x36204143,
 22.3987 -0xb3205be2, 0x3548c593, 0x6a5b0820, 0x0d8c30a3,
 22.3988 -0x65f685a4, 0x856f9282, 0x02016dae, 0xecd01813,
 22.3989 -0xef754e4e, 0x62e18c3e, 0x0c371a69, 0xda0b74b1,
 22.3990 -0x21d856c6, 0x428cc402, 0xef27f52c, 0x8e20c413,
 22.3991 -0x4e5c8b31, 0x0a9a1100, 0xf218154e, 0x5bf68c1f,
 22.3992 -0xda89cdf5, 0x03122774, 0x14ebce89, 0x89db750c,
 22.3993 -0x7ed49055, 0x80174e30, 0x952f5bd2, 0xe87dee71,
 22.3994 -0x6c163d4f, 0x08daf910, 0xf9834978, 0xf7b7e96d,
 22.3995 -0x9fb30c58, 0x8aff508d, 0x7e382142, 0xbf1473c1,
 22.3996 -0xf275180a, 0x18a284c2, 0x5ef3e2a1, 0x07c6d0b8,
 22.3997 -0x77537cf0, 0x628b0df2, 0xb8400ca9, 0xf4433510,
 22.3998 -0xd0791045, 0x40c850c8, 0xbf3d8070, 0x52e1c3fd,
 22.3999 -0x087256bc, 0xb201c84c, 0x6211403f, 0x088be399,
 22.4000 -0xd8ecffd2, 0x37ff8ab0, 0x4601b25c, 0x8c30284f,
 22.4001 -0xc7eb85ba, 0x643a8305, 0x00097782, 0x11e235dc,
 22.4002 -0xe84f54aa, 0x8a84d212, 0x28075464, 0x9648f150,
 22.4003 -0x60caa829, 0x09288a08, 0xf416c1fe, 0x16740301,
 22.4004 -0x6d152c3f, 0x76c416f8, 0x3813e811, 0xb608c321,
 22.4005 -0x111db1c1, 0x85e89e07, 0x6dedfa10, 0xa6e9ac55,
 22.4006 -0xe6eb170a, 0x50a5e5e8, 0xdb2395bc, 0xc8eb010a,
 22.4007 -0x6082dd11, 0x016a6c20, 0xfc0420f4, 0x99a4bf6f,
 22.4008 -0x0f75fb49, 0x05b50678, 0xb0a76ab6, 0x804bc301,
 22.4009 -0xc263e429, 0x04160d8b, 0x66f86ed9, 0xc508eac1,
 22.4010 -0xe84075c5, 0x2d98a290, 0xb5990240, 0x49c5822d,
 22.4011 -0x9be889a5, 0xe2d41090, 0x53681b8d, 0xfb97881a,
 22.4012 -0x0ce8cbee, 0xbe1538f8, 0x38b87535, 0xd407bd05,
 22.4013 -0xb0fa2305, 0x93e6dfeb, 0x83b6f106, 0x0c755d41,
 22.4014 -0x148c0336, 0xa257ba7d, 0xc031000b, 0x921b6056,
 22.4015 -0xfed84714, 0x0899022d, 0x2daa5bdb, 0x16361e7c,
 22.4016 -0x1c5fd7c1, 0x0816e374, 0x3d3ec21b, 0xdc544f6c,
 22.4017 -0x6c0fd856, 0x54cffa4a, 0x328b02f2, 0x64fdd468,
 22.4018 -0xf684399b, 0x30a36b7c, 0x86903f00, 0xb70f07ef,
 22.4019 -0x068a0a47, 0x06f56b75, 0x61f80857, 0x03a4680b,
 22.4020 -0xbf791f29, 0x7748220b, 0x6c2b1274, 0x02bb77aa,
 22.4021 -0x512b6831, 0x348d3202, 0x6f8eba10, 0x80de29ff,
 22.4022 -0x8901037f, 0xba0911f5, 0x10a98d14, 0x6b60064e,
 22.4023 -0x1fa44c00, 0x151dd5da, 0x1315c826, 0x40bc387e,
 22.4024 -0xc5161c35, 0x35b8a929, 0x4c0d8a3b, 0x3ab83bbe,
 22.4025 -0x06305155, 0xc25e14bb, 0x3407edce, 0x3dda1e22,
 22.4026 -0xeb1f06b8, 0x5c733ede, 0x1c746e22, 0xa9f289e7,
 22.4027 -0x18b70e6e, 0xe98944dc, 0x3487eb0e, 0x0f080300,
 22.4028 -0x5c414984, 0x8121fcb2, 0xff128278, 0x1c21de02,
 22.4029 -0xe2dc69f6, 0x0a24faf8, 0x682b2d3a, 0x5d034484,
 22.4030 -0x857205e9, 0xe8a14f62, 0x572a5b39, 0xec1924d1,
 22.4031 -0x2b620d0b, 0xdc374137, 0x5f0ae687, 0x3d0843d0,
 22.4032 -0x85895c0a, 0x6d44b636, 0x894dde8f, 0x6fc3130c,
 22.4033 -0x391c5cb3, 0x8b40d8a1, 0x1e101c00, 0x2c46b6eb,
 22.4034 -0x30402e3a, 0xb6ec0001, 0xa43642c8, 0x81c6c20e,
 22.4035 -0xfb8c038c, 0x82cd77ef, 0x52c2b902, 0xc3d64249,
 22.4036 -0x2ca1ebc3, 0x69fd15ff, 0x4b82e11f, 0x0fb702d8,
 22.4037 -0x24a8a126, 0x3b64f5e2, 0x05aa0903, 0x8c28a1a1,
 22.4038 -0x482fb56d, 0x37880a07, 0x55887bf5, 0xbd54424c,
 22.4039 -0x8708e21c, 0x3d2badae, 0x09420b2a, 0x2e140a76,
 22.4040 -0x0da08714, 0x9beb3b1e, 0xeb6011ba, 0x030a0358,
 22.4041 -0x08030728, 0x6bd02a2b, 0xbba62409, 0xe221d9e4,
 22.4042 -0x85bce057, 0x112b50fa, 0xbbfb0b39, 0x077a2138,
 22.4043 -0xea6808b5, 0x02a74191, 0xda037b7c, 0x3f1a7b8d,
 22.4044 -0x98968012, 0x4882d583, 0x976f16c5, 0x0e06622f,
 22.4045 -0xd8d70420, 0x446a08c1, 0x3f068fab, 0xa50a43a0,
 22.4046 -0x91164774, 0x760e35a1, 0x0c4fbb3e, 0x180a08c5,
 22.4047 -0xc0531543, 0x0ea0b75b, 0x752b0f03, 0x8108257e,
 22.4048 -0x495d7e13, 0x031c0216, 0xef596f6c, 0x98b1f833,
 22.4049 -0xf0eba408, 0x5add7548, 0xc5087b18, 0x22d5cb6d,
 22.4050 -0x9d024e01, 0x1fc18b15, 0xa752c559, 0xc8841d87,
 22.4051 -0xcb3b0e25, 0xb0f03af1, 0xeb6567b3, 0x182224d0,
 22.4052 -0x5bb0ca74, 0xeae64630, 0x76247652, 0x582d05e3,
 22.4053 -0x26c1b28f, 0x3b3dea03, 0xb7eb3150, 0x877bc11e,
 22.4054 -0xf2e46305, 0xd9dd0608, 0x533c2308, 0xff191073,
 22.4055 -0x54371213, 0xe8845283, 0x8012f752, 0x0f0b1441,
 22.4056 -0x1a027032, 0x93160cd9, 0xabc54888, 0xe18d08eb,
 22.4057 -0xfb855ffb, 0x7f547423, 0x08003d45, 0xff084420,
 22.4058 -0x8d7cd132, 0xf717e856, 0xb0473818, 0xe9589570,
 22.4059 -0xe3051f85, 0xde134b09, 0xe0ca9636, 0xfbabf777,
 22.4060 -0x1dcce9d6, 0xbb75983d, 0xb9eb0324, 0x6038c005,
 22.4061 -0xb3eb0270, 0xe3f85e79, 0xe04031f7, 0x30557504,
 22.4062 -0x5934832e, 0x2f183c43, 0x24120d2e, 0x18dae8d4,
 22.4063 -0x136e8b57, 0xe0025648, 0x08441d6e, 0xe08a83cc,
 22.4064 -0x0fb4469b, 0x260d0c37, 0x568f2066, 0x08f5018c,
 22.4065 -0x02604475, 0x6d8732dc, 0x5750183d, 0x4254d1d7,
 22.4066 -0x37c01d82, 0x3ba9eb43, 0xb074eb05, 0xb23dfa02,
 22.4067 -0x18a30212, 0x87b497eb, 0x41b1f65c, 0x6dbe7470,
 22.4068 -0x0bb14109, 0x718966ac, 0xea9ac7ba, 0x54666b87,
 22.4069 -0x12184f78, 0xc1879089, 0x6094a0c6, 0xb4980e1c,
 22.4070 -0xd82a0ec2, 0xa50f74ff, 0xdac79c05, 0x8a3ac0da,
 22.4071 -0x8aea2ef5, 0xf120065f, 0xf72120c0, 0xe07ec21b,
 22.4072 -0xf3af178a, 0x74272df6, 0x2b2adaa0, 0x786d811c,
 22.4073 -0xa6bab0f6, 0x08d71f74, 0xd0979e50, 0x87684fbd,
 22.4074 -0x1c2e3833, 0x9c828dca, 0x0435e8af, 0xe4c7825b,
 22.4075 -0xd9c308ff, 0x0c099882, 0x82c7df5b, 0x03260090,
 22.4076 -0xdf0066b1, 0xaf07a3ba, 0x539c156e, 0xc8cde306,
 22.4077 -0x123620dd, 0x5152164b, 0x054b60ed, 0xf4f27c21,
 22.4078 -0x8e8233ee, 0x56fc1870, 0xab7b4953, 0x509abc07,
 22.4079 -0x8b2eb020, 0x07ea7ab2, 0x048dfd88, 0x15793b3e,
 22.4080 -0xb3512873, 0xc68c76c9, 0x504a3304, 0xbd12803b,
 22.4081 -0x632dbb46, 0x37d5d5e2, 0x940f00e3, 0x53c8d1c1,
 22.4082 -0x8310fac0, 0xf5d7498e, 0xd1c960ad, 0x555bbb50,
 22.4083 -0x1a2951e3, 0x5ef1ac79, 0x73fb5302, 0x7dd50082,
 22.4084 -0x86868b58, 0x18375a14, 0xc11163c2, 0x82968bec,
 22.4085 -0x20c20ff4, 0x94ffd24c, 0x79a56808, 0x147630ee,
 22.4086 -0x2bd364dd, 0x26846a0e, 0x0e019900, 0x910978de,
 22.4087 -0xe39e5b62, 0x65d9f53d, 0x5b04302c, 0x66c06a00,
 22.4088 -0x50756f41, 0xc836c37c, 0xd2911e34, 0x359c487f,
 22.4089 -0x26c719d2, 0xa001fd00, 0x0b191b14, 0x23898b3c,
 22.4090 -0x210ec094, 0x9cf4a06e, 0x8fec2390, 0xa305748d,
 22.4091 -0x39013300, 0x21222c66, 0x8225f72d, 0x07900d0c,
 22.4092 -0xbc45bc8b, 0xfbe7b56b, 0x473b0b5a, 0x96b6a210,
 22.4093 -0x53701382, 0x895ad6b9, 0x126a396a, 0xc5fa2ed2,
 22.4094 -0x39f69bd2, 0x87e275d0, 0x018b300c, 0xcd0ab1ed,
 22.4095 -0x8dde62de, 0x1d18f870, 0x1081dc07, 0x960f2b41,
 22.4096 -0xc2b59b0e, 0x73f039eb, 0x533c7e4e, 0xa39a2814,
 22.4097 -0x10ab12a3, 0xf51785a7, 0x51495e30, 0xf7a35208,
 22.4098 -0x08b167f1, 0x0e7360a6, 0xc8302c3f, 0xff120761,
 22.4099 -0x5a11d9f3, 0x07aa13ec, 0xded08908, 0x6170760d,
 22.4100 -0x8f6aeca9, 0xab327ba0, 0xb0558dc8, 0xd993bb08,
 22.4101 -0x8ec1460a, 0x2dd230fe, 0x1a89ee6e, 0x677c1d81,
 22.4102 -0x9e896014, 0x772b9251, 0x40bf01b0, 0xd305ba89,
 22.4103 -0xbfd10a5f, 0xe76d416d, 0x0e0e672b, 0x698d0c77,
 22.4104 -0x5d83fd1c, 0xfd819d00, 0x7ec68973, 0x617a3e19,
 22.4105 -0x7e0632d4, 0xce1215bb, 0x8e74e9d8, 0x9757f365,
 22.4106 -0x23e86cef, 0x39c05628, 0xa211f0ff, 0x01fb7286,
 22.4107 -0xba238a55, 0x7791512d, 0x1ecc3e8b, 0x34388a55,
 22.4108 -0xc400c0ed, 0x316e47e8, 0x446874c0, 0x64107a4b,
 22.4109 -0x412ecfb4, 0x2483ef99, 0x75dbbfa7, 0x4eda4264,
 22.4110 -0x00599600, 0xc47b6859, 0x2a7cfb43, 0x838f8bf0,
 22.4111 -0x3477831d, 0x9e8df6f2, 0x340fbef5, 0x5e07a84f,
 22.4112 -0x1286c6fe, 0xd8bb3202, 0xa50147a8, 0x4618c606,
 22.4113 -0x1c5524d1, 0xb6a8c160, 0x073a80cd, 0xf23c8c44,
 22.4114 -0x140aa110, 0x2b1814a1, 0xab878118, 0x0c7dac86,
 22.4115 -0xd62b16c6, 0x2c4d0ced, 0x1c040800, 0xc8e4776c,
 22.4116 -0x68efeffc, 0xec686600, 0xcc0ea818, 0xd6017c73,
 22.4117 -0x2fdb0804, 0x449c9154, 0x7404ec0a, 0x4057113f,
 22.4118 -0x06aa0753, 0x7dd2c604, 0xd0532942, 0xfa8161cb,
 22.4119 -0xf88a56ec, 0x04b941d7, 0xd1890273, 0xc0ef42bf,
 22.4120 -0xef93ea4b, 0xf45e5bba, 0xa2840d3e, 0xbc75e21d,
 22.4121 -0xa11c4553, 0x895364a8, 0x9b6e8cda, 0x6d22c93b,
 22.4122 -0xc6eb4904, 0x01c330ac, 0x56a95e0b, 0xa411c3aa,
 22.4123 -0x402540e4, 0x7d44358e, 0xf896e3e8, 0xb7e876a4,
 22.4124 -0x1bbb766c, 0xbd76e831, 0x04991d11, 0xa56f8b23,
 22.4125 -0xd9afbba8, 0x0965bed6, 0x0fe82a08, 0x1d3b83c0,
 22.4126 -0xd329fa04, 0x3ab0dc46, 0x296dc016, 0x93b9c0d0,
 22.4127 -0x68f0d427, 0x1e12f581, 0x22c8f074, 0xaba92360,
 22.4128 -0x091c5811, 0xdd109cce, 0xacc860c0, 0x161d85b3,
 22.4129 -0x3f142914, 0x0c149a16, 0xb612f6f4, 0x3a29b86d,
 22.4130 -0x0b0b840f, 0x080e417f, 0x457d010a, 0x6d78d7cf,
 22.4131 -0x48b6eea0, 0x368fafdd, 0x030e5201, 0xf58e0f3f,
 22.4132 -0x0ab16a1b, 0x52f34dde, 0x55236ce8, 0x80b9d3b3,
 22.4133 -0x963026c3, 0x64156bed, 0x200a7a40, 0x45d15172,
 22.4134 -0x655340c6, 0x346d849c, 0x0edea0f6, 0x495c3b15,
 22.4135 -0xc4db6db1, 0xb4ebb003, 0x17270d18, 0xb65b1936,
 22.4136 -0x0a0e5b03, 0x21cb3678, 0x0b1b6fdb, 0xf8c6100e,
 22.4137 -0xb71c3f0c, 0xd238a04d, 0x711bf3f2, 0x91b6c6d0,
 22.4138 -0x32ab4231, 0x99420f0e, 0x46ddf6e4, 0x02ba0e33,
 22.4139 -0xd9427008, 0x30a0cd00, 0x81fc6b0f, 0x839ac6db,
 22.4140 -0x1bf38912, 0x4b370f55, 0x1b6c6546, 0x0e103019,
 22.4141 -0x09114660, 0x92a458cd, 0x5a49304d, 0xefb11b0e,
 22.4142 -0xf3240536, 0x89d63301, 0xbcd984e6, 0x3319b1ec,
 22.4143 -0x63627507, 0xfeb7f093, 0xd6e8aeb6, 0x64d684b6,
 22.4144 -0xcb760a7b, 0x5d5bb536, 0xef4d3d2b, 0x8c2d3475,
 22.4145 -0x57cd236d, 0x222289fd, 0x6ad35d82, 0x238db636,
 22.4146 -0x255d050e, 0xec364df0, 0x03024441, 0x4e448f00,
 22.4147 -0xfb03dd63, 0xe9fe4472, 0x3112f941, 0x22717357,
 22.4148 -0xc475d977, 0x0c45e917, 0xd65eeb09, 0x1516ad9d,
 22.4149 -0x41022eee, 0xa6ec0f35, 0xefe99a23, 0xf30612fd,
 22.4150 -0xc1041ddc, 0x21a4e651, 0x9cf6135a, 0xfedde9ec,
 22.4151 -0xccf0aa10, 0x7759f147, 0x34f8bac2, 0xf62347a7,
 22.4152 -0x7d479412, 0x7b723613, 0x91763695, 0xee909c70,
 22.4153 -0xf4dd3684, 0xfabe5d12, 0xd2137d84, 0x37f95b4a,
 22.4154 -0x909cd612, 0x24f2a8e6, 0x2511f00f, 0x17764245,
 22.4155 -0xfcfe12ed, 0xdb09bf65, 0x12ebe992, 0xfcd8974b,
 22.4156 -0x65c236bb, 0xccd9fbcf, 0x5ac803cc, 0x137d84df,
 22.4157 -0x47a33444, 0xbd9080b4, 0x126139ac, 0x5a7df8f6,
 22.4158 -0x0f61efbf, 0x7e49f213, 0x36593a31, 0x37d979d4,
 22.4159 -0x364612b9, 0x01c8faf8, 0xab060709, 0x041eebe0,
 22.4160 -0x061c5685, 0xa83b6de0, 0x26881a64, 0x712f092d,
 22.4161 -0x831d0ba8, 0xe823c1e5, 0x0438b69c, 0xb781fb80,
 22.4162 -0x085ac96f, 0xf4073570, 0x344d8950, 0xbde6b68b,
 22.4163 -0x5d1cb3d3, 0xc1e8f8bf, 0x0bb308e3, 0xb3e835c2,
 22.4164 -0xb7fb96b8, 0x53b108dd, 0x0e2d827c, 0xfcfad6ff,
 22.4165 -0x4409a1e8, 0xfaa8df60, 0x0a88e430, 0x5fc4b6d9,
 22.4166 -0xb0193cc3, 0x8a38b076, 0x0b3c434c, 0xe4990585,
 22.4167 -0x263a643f, 0x77b02ef9, 0x29043a09, 0x416b02e4,
 22.4168 -0xb08b78b1, 0x0c2efc87, 0xeb81c63d, 0x49907881,
 22.4169 -0x3a0a2bbe, 0xdf24b08b, 0x0d775805, 0xa90c4e3c,
 22.4170 -0x7773d858, 0xf05aa870, 0x1f2dd54a, 0x18156ad5,
 22.4171 -0x68b08ea7, 0xe0070224, 0x60dfbbd0, 0xb82ca3a3,
 22.4172 -0xf3a80f5a, 0x6739f029, 0xd8a01540, 0x6672bef7,
 22.4173 -0x1afeb61f, 0x335f3b81, 0xb04c5f32, 0x2510c3f9,
 22.4174 -0xef7aaba0, 0x8be67323, 0x0d5b2535, 0x0bbfec3b,
 22.4175 -0x24b8db9a, 0xe8494350, 0xe98980c4, 0xc4bdb709,
 22.4176 -0x85d689b6, 0x348d97d0, 0x25046f33, 0xdb622215,
 22.4177 -0xb7892fc0, 0xdec9d993, 0xb19f997a, 0xb63291e8,
 22.4178 -0x444dbc80, 0x7ffe802e, 0xbdc0e810, 0x810c1550,
 22.4179 -0x084857fa, 0x8a4f76a8, 0xf0967053, 0x402fe4cc,
 22.4180 -0xe8e093b0, 0xf42058a9, 0x587b8191, 0xabe9fd05,
 22.4181 -0x17eaa720, 0x51091f0b, 0xbe8c4384, 0x4c055bfd,
 22.4182 -0x02107dc2, 0x0742130c, 0xc984f87c, 0xd404d428,
 22.4183 -0x008a4d92, 0x2baaaf62, 0xd18189d3, 0xe809f777,
 22.4184 -0x04271218, 0x7700433d, 0xe0d0f721, 0x19a35e96,
 22.4185 -0x3cd2fee7, 0x34a22489, 0xd66844cc, 0x93083b2a,
 22.4186 -0x3596a46f, 0x95d3756b, 0x23bfd52f, 0x80c21f15,
 22.4187 -0x528c4374, 0x72006850, 0x68310fbf, 0xe3fc38d4,
 22.4188 -0x007047a1, 0xf4d9c0f8, 0x9810880e, 0x19fc686f,
 22.4189 -0x11cc89e2, 0xe9ac4f7f, 0xebf08479, 0xf1402ba0,
 22.4190 -0x446a8392, 0x61e4534b, 0xbffba088, 0x83fd7b14,
 22.4191 -0xd08801ca, 0xb0b261e6, 0xf11a4305, 0x040e8de2,
 22.4192 -0xd9df42e6, 0xdf735cd8, 0xe9c3c308, 0x5e29d9d6,
 22.4193 -0x153f0510, 0xdf190091, 0xa0d5048d, 0x3b550f6d,
 22.4194 -0x028208d0, 0xab6e0b6b, 0x3b0880c9, 0x85041003,
 22.4195 -0x02062a5e, 0x4b83baad, 0x23bbec86, 0x8907d840,
 22.4196 -0x02b0e953, 0x723d0000, 0xd2ec5ff6, 0xd3ba3a37,
 22.4197 -0x2410624d, 0x55020f06, 0xbc578b33, 0x182500bf,
 22.4198 -0x3105fa21, 0x0add03c4, 0x8fddbfd5, 0x151868ee,
 22.4199 -0x071b05c7, 0xa50e1fb0, 0xb642b9ea, 0x28452209,
 22.4200 -0x08c19ee4, 0x0a05c225, 0xc00e7908, 0x07e50015,
 22.4201 -0x02ba467c, 0x0409e500, 0x1f158b14, 0x7845056a,
 22.4202 -0x3b57d4e5, 0x4234459a, 0x9234687d, 0x2176c6c9,
 22.4203 -0x286624a3, 0x42502c40, 0x09306ebe, 0x49374006,
 22.4204 -0xfe9eeec6, 0x891d5068, 0x443d401d, 0xbae114ac,
 22.4205 -0xdc8c0948, 0x111a9a4e, 0xffff540c, 0x6dd7050c,
 22.4206 -0x29fa16f4, 0xc31a5c77, 0xb03efd51, 0xf46854e4,
 22.4207 -0x27e84827, 0x83b0eebe, 0x5227ec6b, 0x480209f0,
 22.4208 -0x52eec2b0, 0x127131c1, 0x280c3192, 0x1ecc331f,
 22.4209 -0x04312836, 0x091eae28, 0xaf90615f, 0x077e3103,
 22.4210 -0x2320314c, 0x142324dd, 0x1c070918, 0x35f60a92,
 22.4211 -0xac4c3101, 0xb1926ebb, 0x28342442, 0x1b07092c,
 22.4212 -0x1f8084e4, 0x01661728, 0x0db19268, 0xc0688e51,
 22.4213 -0x00b0b431, 0x5cb86c10, 0x5b0f2806, 0xe85b9e39,
 22.4214 -0x68b5c0e5, 0x878468ce, 0xe8e10fc1, 0x7518b01f,
 22.4215 -0xb5eae012, 0xe57b1072, 0xd9208b1c, 0x10a3ca6b,
 22.4216 -0x093d960e, 0x03201bf8, 0x127b75e8, 0xbe06e990,
 22.4217 -0xbe1c0a0e, 0xa64204d5, 0x8c51c037, 0xfbcc5e90,
 22.4218 -0x3515891a, 0x4b91447a, 0x720bb638, 0xb2ab96b9,
 22.4219 -0x0f754b6e, 0x3e80c305, 0x2ddbf257, 0xeb4a448c,
 22.4220 -0xe8208a87, 0x824d0ee8, 0xf2909d43, 0xecf2f423,
 22.4221 -0xdeefd046, 0x031d813a, 0x37ed1cde, 0x071f05b0,
 22.4222 -0x89038ee3, 0xdfa805ec, 0x008b4032, 0x1605fe00,
 22.4223 -0x7445e4f9, 0x351fff68, 0x062b0301, 0xf6f60647,
 22.4224 -0x1161a501, 0xefbead5d, 0xe25fff03, 0x035e178f,
 22.4225 -0x203cbb01, 0x43455850, 0x6e65696c, 0x75bb3a74,
 22.4226 -0x7241fdff, 0x303a6863, 0x4e553a00, 0x320a4944,
 22.4227 -0x5f003102, 0x0a7d8412, 0xdc050239, 0xb1b1655b,
 22.4228 -0xbd365fc1, 0xc26b0532, 0x3757b7ff, 0x2b0c510e,
 22.4229 -0x81803c11, 0x85848382, 0x015e8786, 0x7f45bac0,
 22.4230 -0x13ff7301, 0x720d9d92, 0x544146af, 0x203a4c41,
 22.4231 -0x5ffd2d4e, 0x72206ffa, 0x6d386165, 0x2065646f,
 22.4232 -0x63617473, 0x6c21c46b, 0x50d77fee, 0x564e0300,
 22.4233 -0x6143002b, 0x746f6e6e, 0xfa762023, 0x14ae676f,
 22.4234 -0x6e252124, 0x64006369, 0xb76b7369, 0xd6dfb6df,
 22.4235 -0x70706f6c, 0x27723079, 0x6c6f636f, 0x48445473,
 22.4236 -0xfdadfdbd, 0x54205043, 0x26045446, 0x52504545,
 22.4237 -0x0085314f, 0x7b7f6469, 0x3205bb1b, 0x0d330639,
 22.4238 -0x98383238, 0x006d6163, 0x584c6565, 0x3870b5d7,
 22.4239 -0x32162d1f, 0x4c84330d, 0x353484c8, 0xc84d9cdf,
 22.4240 -0x38633736, 0x65323635, 0x21d84d74, 0x62610e67,
 22.4241 -0x4ee6632c, 0x640d84c8, 0xf50b0065, 0xbfd8f7ec,
 22.4242 -0x71313538, 0x6539076d, 0x3536bb72, 0x6c1b360d,
 22.4243 -0x6d5d7859, 0x1b033d07, 0x3207b06c, 0x84587a17,
 22.4244 -0x4c6b2e19, 0x0da0350d, 0xb5336df8, 0x6e64521b,
 22.4245 -0x646120a8, 0x56db7264, 0x254c5868, 0xc4a1566b,
 22.4246 -0x6d6e0320, 0x6bc3c35b, 0x83658d20, 0x27730d62,
 22.4247 -0xdadb7f64, 0x66741bbf, 0x4c007074, 0x671d2c6f,
 22.4248 -0x253a402c, 0xed002073, 0x3aecb75b, 0x0f122f2f,
 22.4249 -0x726f2e3c, 0x6f2c3e74, 0x57b5cd0b, 0xec161267,
 22.4250 -0x6e550c78, 0x7378b773, 0x18b97585, 0x50412046,
 22.4251 -0xfd25229e, 0x63b6a376, 0x69122201, 0x207a616c,
 22.4252 -0xc36d203e, 0xcfad6db6, 0x33640f07, 0xfc280565,
 22.4253 -0x5a2ab41b, 0x13e90529, 0x3e16d62e, 0xf020006c,
 22.4254 -0x20c17267, 0x6f776885, 0x20b0b614, 0x69624afc,
 22.4255 -0x424e2867, 0x8085ed49, 0x437f0a2d, 0x44697372,
 22.4256 -0x74736d0a, 0x401073cb, 0xb1952a42, 0x13d6b9f6,
 22.4257 -0x61cfde3f, 0x0ae6e021, 0x6d69f76d, 0x3c696761,
 22.4258 -0xad117f73, 0x462ff63e, 0x5f7469f7, 0x08a7705e,
 22.4259 -0x756f6620, 0xddc62cbc, 0x0a1a2edb, 0x404e654d,
 22.4260 -0x0a6c2c00, 0x11ec5a1a, 0x1fd90a72, 0xaebdce65,
 22.4261 -0x853392e0, 0x4333d020, 0x7b6e6ede, 0x646d1b09,
 22.4262 -0xf861472d, 0x36796177, 0x3acfb588, 0x0a6c6552,
 22.4263 -0x3526743b, 0x06ed24b6, 0x4d550029, 0x56b1c844,
 22.4264 -0x65572c68, 0xb6ed2ef5, 0x6b5b62d0, 0x73ad213e,
 22.4265 -0x1e19a4bc, 0x4427adda, 0x949b7261, 0xb6d6ad65,
 22.4266 -0x46e5a152, 0x06745c09, 0x861ac110, 0x7a6934b7,
 22.4267 -0x0b5a5865, 0x56e946b3, 0x924346a7, 0xb5b64916,
 22.4268 -0x2600a458, 0x28a9750a, 0xc2ec5b3b, 0x130a29ec,
 22.4269 -0xbd6e7775, 0xec716d4b, 0x5770b5ad, 0x7562a44e,
 22.4270 -0x5049c574, 0x885b1b43, 0x0e73a41b, 0xb6613e53,
 22.4271 -0x1a04c337, 0x65631719, 0xdd641069, 0xad91860d,
 22.4272 -0x6ec76a62, 0x64973a75, 0x0eda453d, 0xb70ab98c,
 22.4273 -0xe39a64f7, 0x09798217, 0x25783020, 0x304b136c,
 22.4274 -0xc9d687e1, 0x6f66b7eb, 0xcbb59072, 0x0aecd192,
 22.4275 -0x6d4a114d, 0xb6ded6f6, 0x27502743, 0x6f4a603d,
 22.4276 -0xe6572066, 0x753ded1a, 0x14966c72, 0x0b2f19c7,
 22.4277 -0x6ec2b5ce, 0xac90ab1d, 0xadc36b97, 0xd66eb9bd,
 22.4278 -0x6976650f, 0x707920a4, 0xb1dcc689, 0x5a62470e,
 22.4279 -0x5b9f6173, 0x2790d25b, 0x175d07db, 0x1d696370,
 22.4280 -0xd6a50bfd, 0x3d4f0832, 0x43424139, 0xf7464544,
 22.4281 -0xd2d6fa4d, 0x6868032e, 0xed353a58, 0x8dd62f00,
 22.4282 -0x395f478f, 0x4f8a205b, 0x60de5753, 0x3f70b828,
 22.4283 -0x2e351e91, 0xfb2e2e34, 0x7295951a, 0x20350018,
 22.4284 -0xc42f8da5, 0x50477f17, 0x7469294c, 0x61c28d52,
 22.4285 -0x1c65424d, 0xf0d70a2e, 0x44bc6b40, 0x9755c7c3,
 22.4286 -0xdc3a3820, 0x0d0883a1, 0xc1d220ec, 0x6c22dd3e,
 22.4287 -0x4f784500, 0x6d0e3a73, 0x276c2f6b, 0x5f6f126d,
 22.4288 -0x287b3a77, 0x0c15b657, 0x963d7485, 0x10776da6,
 22.4289 -0xc7edec10, 0x3d20f468, 0x0a2e58da, 0x89028d27,
 22.4290 -0x8e2691ec, 0x1adb630b, 0x32c7500c, 0x611e78ac,
 22.4291 -0xe8e8e882, 0x69306d06, 0x63886cce, 0x5ba3da38,
 22.4292 -0x2ce97058, 0x93b4494e, 0x9172c96e, 0x6e499861,
 22.4293 -0x3197856b, 0xd74d9702, 0xa1452325, 0x2cb302b5,
 22.4294 -0x39f9e20e, 0x8eb9ad79, 0x65625c5b, 0x0e536505,
 22.4295 -0x6c20bd35, 0x69d31278, 0xa157be73, 0xe2a9605d,
 22.4296 -0x346a381b, 0x6dca3330, 0x7742a5bd, 0x553c635e,
 22.4297 -0x3ad68d2c, 0x67654386, 0x174b8f31, 0xb90a9c2b,
 22.4298 -0x7ac7ac8f, 0xb63af6a6, 0x74986721, 0xe196ca79,
 22.4299 -0x67ecda36, 0x320b6874, 0x380a63f7, 0x8ecc31b7,
 22.4300 -0x9d6c1023, 0x186ad604, 0x60911d28, 0x028f8509,
 22.4301 -0x1d9e8496, 0x96296181, 0x33340ab0, 0xae29654b,
 22.4302 -0xa036a447, 0xb2dc93b0, 0xdb6d8ad7, 0x379a9f79,
 22.4303 -0x62c2da6b, 0x67667b0d, 0x31093737, 0xdb3a4102,
 22.4304 -0x253d21bb, 0xaf48c0ec, 0x02195375, 0x5a3b42dd,
 22.4305 -0x7361ba19, 0x81833970, 0x2a7b0b42, 0x810ccee9,
 22.4306 -0x18980e03, 0xd133464b, 0x902afb32, 0x630b70ae,
 22.4307 -0x6290b61b, 0x1f0a6b0e, 0x2e65f162, 0xfb48604c,
 22.4308 -0x6c69973a, 0xb14ebdcf, 0xa05fafec, 0xb0db1b4d,
 22.4309 -0xf72f00b2, 0x69e26e67, 0xa95e963c, 0x6e8d8905,
 22.4310 -0x9db032b9, 0x5232d870, 0xbe5fe576, 0x73a1b078,
 22.4311 -0xbba62ccd, 0x784578f5, 0x970b7b29, 0x610cbeec,
 22.4312 -0x5452453e, 0x5b08ba1f, 0x2b48676c, 0x70cc3d61,
 22.4313 -0x2e075ce6, 0xde2dbd1f, 0x5cb1c2f0, 0xe367dadb,
 22.4314 -0x9ed27983, 0xc2e876a8, 0x074f9c7d, 0x0a8c7737,
 22.4315 -0x85705b56, 0x7419bb15, 0x41eee146, 0x6666ed83,
 22.4316 -0xaf8e2119, 0xeb278189, 0x0000f548, 0x4f4f427e,
 22.4317 -0x683c081a, 0x339c2d6e, 0xc859cf51, 0x0056833a,
 22.4318 -0x83c66bba, 0x1ed0a507, 0x18a617af, 0x632c2db1,
 22.4319 -0xb69335df, 0x6db96c18, 0xce2069d0, 0xc58b531f,
 22.4320 -0x1d88e7ae, 0xc3797878, 0x30c6f5b8, 0x6c757171,
 22.4321 -0xdd4440b8, 0xc0b4d771, 0xe56c7e68, 0x4b623436,
 22.4322 -0xba524142, 0x19bef0f1, 0x3a783830, 0xd952c304,
 22.4323 -0x0a093a52, 0xd075c35b, 0xb0f86879, 0x0f9e0457,
 22.4324 -0xeb1092be, 0x3fee7ae6, 0x4aafb700, 0xcdb3736f,
 22.4325 -0x430430e0, 0xdec91621, 0x67c60b46, 0xa33aa468,
 22.4326 -0x05af9976, 0x305895cf, 0x8ce0ce2c, 0x854c0d85,
 22.4327 -0x3a996431, 0x60b0374a, 0x58582307, 0xb5a12157,
 22.4328 -0xed754480, 0xa33f3a2d, 0x2315d4e3, 0x6dd78161,
 22.4329 -0xc25a1948, 0x4012a880, 0x76d846c4, 0x6f6f26a1,
 22.4330 -0x6f75292e, 0x3e39c117, 0xae55703e, 0xb6c100a0,
 22.4331 -0x8d8261ae, 0x98081e83, 0x3b131d02, 0x8b42ef56,
 22.4332 -0x1f079780, 0xb207cf9f, 0x933906c1, 0x1f93179b,
 22.4333 -0xb6012836, 0x1f5b5000, 0x73eba660, 0x0064035f,
 22.4334 -0x1e298086, 0x10efe479, 0x30078d8b, 0x10319210,
 22.4335 -0xa2103299, 0x4791e479, 0x34b01033, 0x1035be10,
 22.4336 -0x4791e4cc, 0xda10361e, 0x38e81037, 0x3f23f610,
 22.4337 -0x1039791f, 0x05103afd, 0x0c103b8e, 0xf23c8f3c,
 22.4338 -0x3d1510c8, 0x103e2310, 0x3f105131, 0x23c8f23c,
 22.4339 -0x09451059, 0x12274d12, 0x23c8f655, 0x5b12288f,
 22.4340 -0x49611229, 0xb02f6a24, 0x247b1e47, 0x245d0772,
 22.4341 -0x8210507a, 0x52d8f34f, 0xae078a6c, 0x52010798,
 22.4342 -0xd8477ba6, 0x0300086c, 0xf31c1600, 0x5568dffc,
 22.4343 -0x0060c399, 0x400048f2, 0x053f80f2, 0x458b20c5,
 22.4344 -0x2d82008f, 0x7fd10da0, 0x7255ae41, 0x83d81945,
 22.4345 -0x328def42, 0x4f28ddb3, 0x26035c09, 0xecad810f,
 22.4346 -0x04054f37, 0x96156747, 0x002d80c2, 0xecb7a8ae,
 22.4347 -0x0003417c, 0xdb2b04f3, 0xbaf2c654, 0xec68b72b,
 22.4348 -0x8263d3df, 0x0b966353, 0xb17705af, 0x8fd00039,
 22.4349 -0x07d902ca, 0x549f5f45, 0x5c24205a, 0x6de03765,
 22.4350 -0x00000000, 0x00900000, 0xffffffff, 0xffffffff,
 22.4351 +0x61983d2b, 0x8336a810, 0x68affbbb, 0xe8550e48,
 22.4352 +0x5b217cba, 0xd637df40, 0x42a30eed, 0xbe778904,
 22.4353 +0x29b4b923, 0xb6dbf77b, 0x732ea3f1, 0xf8ea2015,
 22.4354 +0xb8000881, 0x6e1b1c10, 0xd88ebfff, 0xd08ec08e,
 22.4355 +0xe88ee08e, 0xc35d5e5f, 0xb837c035, 0xddfbc435,
 22.4356 +0x3d057e7c, 0x58cc1dc8, 0x250bd0a3, 0xfeeb05d4,
 22.4357 +0xbb59b85e, 0x0300e968, 0x68535f1d, 0xe4514328,
 22.4358 +0x3dddddfb, 0x890bb1e8, 0x8d23aca5, 0xa52fa0a5,
 22.4359 +0x4bbd296c, 0xcf61ae6f, 0x00768de4, 0x8fbcfc81,
 22.4360 +0xba6bdd0a, 0x0c6020a8, 0x341b22ed, 0xbd8c8c02,
 22.4361 +0x072db7dd, 0x8bd0ff17, 0x1d8b8b7e, 0x8b8c8e79,
 22.4362 +0xa18b158b, 0x14685dbc, 0xe2ff04de, 0xd6da4c8b,
 22.4363 +0x7e518968, 0x02bff8dc, 0x61890459, 0x0c698908,
 22.4364 +0x79607189, 0xc3006f14, 0xe685edb6, 0x08431f1b,
 22.4365 +0x5a374a8b, 0xfa7b6209, 0x6a08dff5, 0x10728b0c,
 22.4366 +0x1c147a8b, 0x89ffb805, 0x4ace1643, 0xa29c285b,
 22.4367 +0x0c5401be, 0xc5b325c2, 0xbb188dce, 0x8c1f30b8,
 22.4368 +0xa24b43f7, 0x9d5d5821, 0xe172282e, 0x07353de1,
 22.4369 +0x8150802b, 0x86910038, 0x85890387, 0x956ffa82,
 22.4370 +0xc90d88eb, 0x4f290768, 0x5e530c28, 0x50f7346a,
 22.4371 +0x1d9da953, 0x0243892c, 0xea5f6f97, 0x101f0a03,
 22.4372 +0x02044388, 0x0763880c, 0xb6fe5b0f, 0xc358edc6,
 22.4373 +0x53560090, 0xab1525c6, 0x4d046cb8, 0x65effecf,
 22.4374 +0xb0d629c6, 0x29c38970, 0x01006ad3, 0x2d32e8b8,
 22.4375 +0xbb7f08e3, 0x685004e4, 0x09e5e805, 0xc23b806e,
 22.4376 +0x7adede17, 0x7703c60d, 0x109f8005, 0x131800b0,
 22.4377 +0x5cdb0306, 0x230b6206, 0x8114570a, 0xad6f4db1,
 22.4378 +0x10047918, 0x160d026a, 0xcf360650, 0x501cf7c8,
 22.4379 +0xe851efb8, 0xc28993e8, 0xe08dbfc7, 0x23f66653,
 22.4380 +0x0374010a, 0xb8c6b60f, 0x3d836d8b, 0x038849a3,
 22.4381 +0x7b459212, 0x1ee59e46, 0x4defeffc, 0xd93ba497,
 22.4382 +0xbb782c1b, 0xfc230304, 0x67992d91, 0xc03229fc,
 22.4383 +0xf6bdac26, 0x262b0cce, 0xc8269405, 0x31c2f816,
 22.4384 +0x01f08306, 0x642f01b9, 0x15e7919f, 0x08d20c0c,
 22.4385 +0x64cf2356, 0x1729afb3, 0xde191515, 0x26a83c96,
 22.4386 +0x16c76634, 0x6e11632d, 0x170a6ac7, 0x182422d8,
 22.4387 +0x33f233cc, 0x1c741717, 0x34b7f5cc, 0x33351817,
 22.4388 +0x7d88000e, 0xb1bbd236, 0xd06a3da1, 0x6630eb39,
 22.4389 +0xcb68e783, 0x75578377, 0x11160719, 0x5ff7c817,
 22.4390 +0xc112cadf, 0x104306e2, 0x0febc201, 0xc7e11610,
 22.4391 +0x891432ef, 0x5755a1d0, 0x95bb3c1e, 0xdef8dfbd,
 22.4392 +0x513b07a9, 0xb87d7d54, 0x17496c46, 0xea71ebe9,
 22.4393 +0x1e9081bd, 0xbf06b6fe, 0x66502406, 0xe8226804,
 22.4394 +0x3f0807b3, 0x81c0c6d8, 0x740e127b, 0xf2ade707,
 22.4395 +0x39ebf7b0, 0x2b0d7cf6, 0xddfbc88b, 0x457cadb7,
 22.4396 +0xfc1a378d, 0xf31305b9, 0xc58343a5, 0xed8d7114,
 22.4397 +0x850b1fb3, 0xbc9d74db, 0x4cd88996, 0x0d86613c,
 22.4398 +0x5a5fad62, 0xda1bfe9f, 0x1be05e97, 0xfe84e8b2,
 22.4399 +0xe0a3feff, 0xa0e8862d, 0x76e7f7e6, 0x09e4a30a,
 22.4400 +0xec682095, 0xdeff2e13, 0xe89ffdf7, 0xc08510c4,
 22.4401 +0x05c77375, 0x05db020c, 0x6085bf20, 0xf005e5c7,
 22.4402 +0x49050809, 0x36e7e0c1, 0xa30aeef7, 0x899907f4,
 22.4403 +0x1f06f815, 0x2d2105fc, 0x09b77dd2, 0x10072e00,
 22.4404 +0x1e000409, 0xa1d83bf6, 0x2e0831e4, 0x542e0c2a,
 22.4405 +0xbdbb2e10, 0xbf34ce11, 0x60773d28, 0xe9055d86,
 22.4406 +0x89a9835e, 0x18145aa0, 0xa045080b, 0x180ca419,
 22.4407 +0x977b6b1c, 0xb9358d88, 0x01174079, 0xf0d8a60c,
 22.4408 +0x870f1eed, 0xb981050a, 0x7730ffbd, 0x7df08d4f,
 22.4409 +0x0a064a58, 0xba12992b, 0xfd8e91af, 0xa4b7eb7d,
 22.4410 +0x993b0877, 0x8b0676c8, 0xb181c707, 0xf3c5cd61,
 22.4411 +0x30f3092e, 0xb1b164e4, 0x36191e29, 0xde00a267,
 22.4412 +0xff9dd367, 0x8b920f09, 0x22918b81, 0xdec73868,
 22.4413 +0x03d68972, 0xcbb11338, 0xf06f0210, 0x39142d1b,
 22.4414 +0x776a72d6, 0x6476c3d8, 0xd8fd8e37, 0x390c112d,
 22.4415 +0x722c772f, 0x773f3908, 0xdb1b3b22, 0x1c19db9d,
 22.4416 +0x4f1b0f2b, 0x39194b81, 0x9189f3ec, 0x892128eb,
 22.4417 +0x108ec189, 0x815ec719, 0xb63809f8, 0x8347ed08,
 22.4418 +0xa15d71c1, 0xbb1201cc, 0x267370ee, 0xd813b8c3,
 22.4419 +0xee33052b, 0x9f61d342, 0x90850c7a, 0x0ac6329f,
 22.4420 +0x4a75db23, 0xa60a8c08, 0xfc607c08, 0x0cca3fc1,
 22.4421 +0x7d9c35ff, 0x2e000072, 0xdddd91ec, 0xcf681412,
 22.4422 +0x62a51391, 0x5203feeb, 0x6f6df607, 0xfd2835a3,
 22.4423 +0x35590c6e, 0x20fd8639, 0x8ca12c74, 0x988f809f,
 22.4424 +0x5a9815fb, 0x3ae81bf1, 0x1c0f7837, 0x446a2cdf,
 22.4425 +0x0168d557, 0x10e9ff73, 0xc361ff05, 0xe80aebc1,
 22.4426 +0xe9c81ee7, 0xaa08a17d, 0x3172189d, 0x63af14ba,
 22.4427 +0x1659a171, 0x2ea118a7, 0xed8ce8c2, 0xc13ae96f,
 22.4428 +0xfa890ae7, 0xcbceb809, 0x6c5b4e05, 0x55d78923,
 22.4429 +0xf4a0dbaa, 0x1e433b4c, 0x144ce88b, 0xc9b726ee,
 22.4430 +0xe81c73bd, 0xa7460b85, 0x066206fc, 0x18f6183b,
 22.4431 +0x8856c35b, 0x26661447, 0x6b77f7a1, 0x96e2811c,
 22.4432 +0x061a8c8d, 0xf85d326e, 0xf2893381, 0xa4227423,
 22.4433 +0x17ff02fd, 0x74c98504, 0x2102c714, 0xfb455246,
 22.4434 +0xc281044a, 0xc180bd00, 0x49669fdf, 0x24e8ec75,
 22.4435 +0xae711b00, 0x758cd864, 0xadc5e898, 0xeb1678a0,
 22.4436 +0x1c1f6d3d, 0x77d4bed5, 0xd86ffd74, 0x29f1897e,
 22.4437 +0xbb01c2d1, 0xd729c789, 0x80398166, 0x50bd7402,
 22.4438 +0x3f4f6dfb, 0x98187564, 0x044703e0, 0xa97be6c3,
 22.4439 +0x4fb71d6d, 0xebd8e604, 0xa47dfbc5, 0x43c1b363,
 22.4440 +0xc358828d, 0xc600e381, 0x68db1e11, 0xde0d0d8b,
 22.4441 +0x2955ce29, 0x637b1ad0, 0xc8397ffb, 0xd8392977,
 22.4442 +0xfb812577, 0x1d9c0a13, 0xd219c889, 0x274342c3,
 22.4443 +0x1d48ae56, 0x6625211d, 0x04353843, 0x4440ccab,
 22.4444 +0xf412a16c, 0xd856e13b, 0x4a9b03df, 0x34053b52,
 22.4445 +0x71393277, 0xec1b16dd, 0xff522a75, 0xfaf05745,
 22.4446 +0x0fc612c7, 0xc76705a3, 0x0b000405, 0x0e0e2708,
 22.4447 +0xc8c8a84f, 0x8d8c6e5d, 0x245d8454, 0x1b8ca3d7,
 22.4448 +0x2e701619, 0xed885cef, 0xdbb61ecf, 0x88a1981c,
 22.4449 +0x4001b81e, 0x5ad85b08, 0xb8c50476, 0x8c423a01,
 22.4450 +0xf66f1bb1, 0xa12d4c4b, 0xc8368b7e, 0x5c52efc3,
 22.4451 +0xbf4ae981, 0x78357854, 0xfdf53258, 0x79aaf529,
 22.4452 +0x6786f289, 0x3347751f, 0xb80bf781, 0xfb0f2d00,
 22.4453 +0x3374e3f4, 0x9b31d4f8, 0x340ca113, 0xd7735b76,
 22.4454 +0x9d0318e4, 0xb7bef301, 0x9b368cc1, 0xbe66025d,
 22.4455 +0x811be507, 0x0189bf60, 0xbacba900, 0xc28c5ea2,
 22.4456 +0x9e567401, 0x15d888e5, 0xe798ad6e, 0xee480242,
 22.4457 +0xbfe90112, 0xc8e5b6b3, 0x75b005d6, 0x0054b82e,
 22.4458 +0xafdfbf12, 0x8112810d, 0x928bc1ea, 0x1c1089af,
 22.4459 +0x6866b1be, 0xd0aa01db, 0x2141b04f, 0x4eb5d718,
 22.4460 +0xd6a4eb20, 0x5a2457d5, 0x3dcd1928, 0x2dd3dbdf,
 22.4461 +0x8d1177fe, 0x2b901a04, 0x1d89a815, 0x18376a08,
 22.4462 +0x2523ebd6, 0x22fbc033, 0x4041d6b1, 0x3a08ffd0,
 22.4463 +0x6c369428, 0xdd29c5ff, 0x7f83ee89, 0x9c15be0c,
 22.4464 +0xcd5577ff, 0x740a85d1, 0xd86139c4, 0x11cf770b,
 22.4465 +0xbfb18d0e, 0x564c8f01, 0xe19a1de8, 0x121b7307,
 22.4466 +0x5e8dc601, 0x7633f0f4, 0x39db6c6e, 0x35031937,
 22.4467 +0xc31f1004, 0xf917fb02, 0x01c132fc, 0x8d1260ea,
 22.4468 +0x56e00654, 0xac5e0150, 0x018b818b, 0xcfecc2b0,
 22.4469 +0x890603e8, 0xd90612e8, 0xdb09edac, 0x7ff30814,
 22.4470 +0x2508a010, 0x52a3605d, 0x5942db34, 0xdc111447,
 22.4471 +0x1c05b76c, 0x290c4730, 0xceb09174, 0x0d666df1,
 22.4472 +0x03dc0399, 0x6a5f7508, 0x014cff13, 0xfce18303,
 22.4473 +0x715504e2, 0x5154cc29, 0x1b0236d3, 0x0c6cabc3,
 22.4474 +0x9324f57e, 0xd0777170, 0x89062ce8, 0xa1e75dec,
 22.4475 +0x8652f53b, 0x9c106140, 0x37089424, 0x61dc0d8c,
 22.4476 +0xec073354, 0xbc36ec40, 0x36f76035, 0x8d487458,
 22.4477 +0x8878898f, 0x77a5f16c, 0x18c283d6, 0xba960600,
 22.4478 +0x30b0be16, 0xc2b42c76, 0x7c4800c7, 0x7964b6db,
 22.4479 +0xc6d3c07c, 0x1602fec1, 0xfb05bdb8, 0x107df139,
 22.4480 +0x108c551b, 0xf07c0f41, 0x6dd6e8f0, 0x5f535267,
 22.4481 +0x12499814, 0x1b062fd2, 0x2e6324cc, 0x1f17264f,
 22.4482 +0xa143c58d, 0xd8b8aa10, 0x5f81ed2d, 0x0566d084,
 22.4483 +0xc41601e8, 0xbc783b8d, 0x40c44b6e, 0x85ce2d46,
 22.4484 +0x6241d2d2, 0x061074c3, 0x399402c5, 0x3a11d6d0,
 22.4485 +0xbf498452, 0xc7068ba3, 0x04b05b72, 0x0f084a21,
 22.4486 +0xa45f35e3, 0xb40f7b96, 0x008b150d, 0x652c9cd8,
 22.4487 +0x0abec3f8, 0xb974a7d1, 0x493e8da3, 0x73d93982,
 22.4488 +0x1904fe0b, 0x7f6f1837, 0xda3942c1, 0xc10af572,
 22.4489 +0x1cb45e5b, 0xe1bbe086, 0xc08c3046, 0x0a749829,
 22.4490 +0xdde907a1, 0xe599b831, 0xb6207599, 0x21be1325,
 22.4491 +0x86b822de, 0x6ac280fa, 0x840f1bf1, 0x217fd8a6,
 22.4492 +0x64a923e6, 0xe7830f02, 0x89c729f0, 0xc3019644,
 22.4493 +0x80b920b1, 0x0205326c, 0x12bfef0d, 0x8d60738d,
 22.4494 +0x18a61183, 0xdbefec6e, 0x8eef81f0, 0x05c781a5,
 22.4495 +0x9605042d, 0x1fb91b04, 0xe7146eb3, 0x18830ad0,
 22.4496 +0xfb750701, 0x2d12b783, 0x6c8d32e4, 0xf0e56805,
 22.4497 +0x828d4786, 0x1c28e4a3, 0xfafdb1b9, 0xea68046a,
 22.4498 +0x5e21ad91, 0x58acc605, 0x5d0ce9c6, 0x1807075d,
 22.4499 +0x08050e43, 0x19184467, 0xac300c0e, 0xcfb16e05,
 22.4500 +0x12e29c78, 0x0abd2b66, 0x106d107b, 0x1625eb1b,
 22.4501 +0x9405142b, 0xb6edd7ff, 0x531805d2, 0x071d571c,
 22.4502 +0x16fb1e0d, 0x8c690eeb, 0x03281f9f, 0xd6070f20,
 22.4503 +0x2adba775, 0xbca12202, 0x26032e13, 0x602d806a,
 22.4504 +0x0d113053, 0xc9eeae32, 0x057c5466, 0x405c3643,
 22.4505 +0x8b6c6fce, 0x8e4243c4, 0x48054607, 0x6c6f9012,
 22.4506 +0x054e4a90, 0x7e521250, 0x566dc2d3, 0x01586a05,
 22.4507 +0x43283501, 0x2404c705, 0x3d5a192e, 0xdf16c4eb,
 22.4508 +0x00ee5d0a, 0x4622fff6, 0xc6020106, 0xfc2c0846,
 22.4509 +0xec830c46, 0x149276d9, 0x0e2c0a46, 0xe7124657,
 22.4510 +0x0f7583ba, 0x14032046, 0x032246dc, 0x1b191e16,
 22.4511 +0x281822eb, 0x1e1c051a, 0x27120000, 0x2462ca6c,
 22.4512 +0x502646e6, 0xac07048f, 0xa72a4660, 0x310fe383,
 22.4513 +0x0c6fb776, 0x2c6a285e, 0xc9fd37b4, 0x6d8e0946,
 22.4514 +0xc7e0c118, 0x1fc18c80, 0x57f01fdf, 0x0f37688f,
 22.4515 +0xd25c2be8, 0xc5f6fb6a, 0x6aa51749, 0xf91a152c,
 22.4516 +0x833cffff, 0xb3106358, 0x6df57d1c, 0xe80fb5bd,
 22.4517 +0x4a1cf6a9, 0x19e3c1db, 0x5830411d, 0x90d3dde0,
 22.4518 +0x648a413c, 0x3416de8a, 0x021b3b14, 0xed99ea1b,
 22.4519 +0x4b8eb851, 0xf410689c, 0xf0f86cfd, 0xa213847b,
 22.4520 +0xeb81d3cb, 0xd368be95, 0xeb7831ff, 0x29f7896d,
 22.4521 +0x89078bcf, 0x260b4883, 0x6c7705dd, 0x83ec0a04,
 22.4522 +0x83250c4e, 0x1b60064c, 0x156e9f74, 0xc1180a94,
 22.4523 +0xd05719ea, 0x6c691435, 0xd04e7606, 0x1f6c201b,
 22.4524 +0xbad07f2f, 0x20d0eea9, 0xac160e06, 0x81013065,
 22.4525 +0x9effb34e, 0x527407b2, 0xba3f74af, 0x98152b98,
 22.4526 +0xb1dfee9c, 0x8b5f1860, 0x02899c80, 0x85c8cee8,
 22.4527 +0x42628684, 0x70771476, 0x68828ce1, 0xe86a188e,
 22.4528 +0xd162bd8b, 0x2a10748d, 0x84237823, 0x05af4686,
 22.4529 +0xc75cb734, 0x830723e7, 0xa6eb7345, 0xc592bfe8,
 22.4530 +0x57bcf667, 0x8d147a85, 0x57331660, 0xf11bed9f,
 22.4531 +0x3a5f4686, 0xc1896032, 0x024b0c00, 0xa93ee083,
 22.4532 +0xd30dc06d, 0x3979f201, 0x6ce28306, 0x12ec0871,
 22.4533 +0x086a0453, 0x7bf84d85, 0x46350740, 0x9ae805a2,
 22.4534 +0x77b9ddf9, 0x206bda74, 0xb327fee8, 0x5e5b1409,
 22.4535 +0x9cb5d023, 0xec208b6d, 0xdc81dd24, 0x38806f1d,
 22.4536 +0x8b1f76a8, 0x428b4d02, 0x81806904, 0x0762d6d8,
 22.4537 +0x42407208, 0xfea0dfb4, 0x1beb06a0, 0x8f14138b,
 22.4538 +0xc0d8b50c, 0x06408243, 0x46c19331, 0x365fd6ed,
 22.4539 +0x1315c109, 0xb1ea49c8, 0xd144ff68, 0x278bd001,
 22.4540 +0x50b60dc1, 0x1e25c60e, 0x5324946c, 0x7c7026f7,
 22.4541 +0xd46818bf, 0xa8bb9e96, 0x69b8e6ea, 0xe8b55ee8,
 22.4542 +0x79775159, 0xd91c970c, 0x56ff7b1c, 0x77000a0b,
 22.4543 +0x7e921027, 0x8dd72304, 0xbeb7be17, 0xded6f726,
 22.4544 +0x9f8314ea, 0x900a7702, 0xa0853493, 0xbae0fc72,
 22.4545 +0x75f87bd1, 0x8d6f9f17, 0x5add247b, 0x247e09e4,
 22.4546 +0x75161c00, 0xb6e0b01c, 0x1c1b6d1e, 0xb6144275,
 22.4547 +0x7ee17743, 0x310775e9, 0x02219f02, 0x43c91a91,
 22.4548 +0xe62e50fa, 0x066db99a, 0x76010f48, 0x850f0069,
 22.4549 +0x5086a498, 0xb4834c5f, 0x86fd180a, 0xff53e00f,
 22.4550 +0x0003c713, 0x8f5e1824, 0xa7be2791, 0x81913a5d,
 22.4551 +0x2e7a305f, 0xd00915e2, 0xbb84da0b, 0x6fb9e1bb,
 22.4552 +0x319fb015, 0x41ef10c2, 0xbd8b2ea5, 0x72dbe839,
 22.4553 +0x5ced173f, 0xe1f0f8cf, 0x5613794e, 0x7b293468,
 22.4554 +0xa9075255, 0x04d85a93, 0x63c97428, 0xe4a632c3,
 22.4555 +0x696d615b, 0xe4237108, 0x115c4819, 0x127cb08d,
 22.4556 +0x7c8b1835, 0x961d1fbd, 0x418f81be, 0x02b80ec3,
 22.4557 +0x66da89a5, 0x124c6aef, 0xed82183f, 0x0f03b85e,
 22.4558 +0xfde86ace, 0xe16fdd71, 0x06a05262, 0xbef8d3f9,
 22.4559 +0xeda81f06, 0x9f0bb1bd, 0xf038be05, 0xc83d9c2a,
 22.4560 +0xd4dfd81d, 0xc8830f71, 0x14bf3d01, 0x58916c68,
 22.4561 +0x16ee2d29, 0xd8b07bed, 0xe0b6b6df, 0xc509cd20,
 22.4562 +0x7aad794f, 0x1ac1423d, 0x052896ee, 0xc868847b,
 22.4563 +0x10fdac30, 0x955dacae, 0xfa85bbdd, 0x041d7401,
 22.4564 +0xc3f30672, 0x870936d8, 0x020835b8, 0xc20cc333,
 22.4565 +0x804f612c, 0xfd0f02cc, 0x2dabddf9, 0x8a152cd8,
 22.4566 +0x06f6a625, 0x0345d1b1, 0x0cfd2c81, 0xf74b96ff,
 22.4567 +0x8db98b6e, 0xff28ec06, 0x12155c70, 0xd2b41a80,
 22.4568 +0xdf861023, 0xb00d3f64, 0x25b7067b, 0x0567a020,
 22.4569 +0x400c0822, 0x082fdcdb, 0x24a31655, 0x212c1804,
 22.4570 +0xfb67b80b, 0x14022080, 0x48042830, 0xb703e214,
 22.4571 +0x1c0ca3bd, 0x03a90534, 0xef08f830, 0x381589c1,
 22.4572 +0xa32cfca0, 0x4b80a03c, 0x5f58b278, 0xb0ef04bc,
 22.4573 +0x1a130bef, 0xb7ee02c2, 0x2dec2bf5, 0x84adfee4,
 22.4574 +0x83412ccc, 0xf57e64f9, 0xf1f0210c, 0x10ff4d8e,
 22.4575 +0xf9814109, 0xf27e9110, 0x6856515e, 0xc0dabf84,
 22.4576 +0x52f61af8, 0x9adeff3b, 0x4ec4122e, 0x6fc71876,
 22.4577 +0x59e277a1, 0x09f73acb, 0x0812c1e8, 0x7b8f2cec,
 22.4578 +0x04364572, 0x04b07481, 0xc02085cf, 0x8300ba01,
 22.4579 +0x2d993b4f, 0x584080c2, 0x12b44807, 0xa1077788,
 22.4580 +0x4e806b4c, 0x4205f808, 0xbd915e05, 0x0301a961,
 22.4581 +0xec87d07e, 0xee0b4b51, 0x3fa04d84, 0x09764096,
 22.4582 +0x083c2436, 0x401084c2, 0x60aa017a, 0xe5020327,
 22.4583 +0x4b3c2454, 0x226d6218, 0xb87339b8, 0x00822bdb,
 22.4584 +0xcd0f67ca, 0x07b2d2b1, 0xd08e2ace, 0xeedd603b,
 22.4585 +0xb13fff25, 0x50936442, 0x1b50051d, 0xbf89d9de,
 22.4586 +0x6072ff50, 0x4f540de8, 0x24625219, 0x1b10dd3c,
 22.4587 +0x24c04208, 0x1e9760b0, 0xe02d428d, 0x8a309c03,
 22.4588 +0x00706ab5, 0x522e8542, 0x917841b1, 0xefdc380e,
 22.4589 +0x4a5078b0, 0xec25ebc2, 0x7805c5a4, 0x0c3d1601,
 22.4590 +0xc48524b9, 0x180222a2, 0x35a2106a, 0x4c2610e1,
 22.4591 +0x081bb14c, 0x07fa4a28, 0x6a0c026c, 0x6dc8e814,
 22.4592 +0x40a10000, 0x60592e1d, 0x941c510a, 0x57829a2b,
 22.4593 +0xb0f45496, 0x19ecc1a1, 0x8b3b2d64, 0xbbc53005,
 22.4594 +0x8a10c63d, 0x3436a3fc, 0x581d6db0, 0x93b46833,
 22.4595 +0xf18a0f47, 0xe1283bd0, 0x41881cec, 0x7b1b476c,
 22.4596 +0x257f01a9, 0x9415e806, 0x0ffe00d8, 0xef15b7e4,
 22.4597 +0x75073daf, 0x4286bd0f, 0xe2b02008, 0x0debfd87,
 22.4598 +0x0e0040bd, 0x00bb0180, 0x8106b68c, 0x7deb397e,
 22.4599 +0x1bbebe32, 0xc3f80bc6, 0xc63601ea, 0x0ffb833f,
 22.4600 +0xbdb8057f, 0x5c649bf8, 0x43d70110, 0x31c8c681,
 22.4601 +0x7625d37c, 0x5f998451, 0x6db45c50, 0x370b0bd0,
 22.4602 +0xd103741f, 0x5f443bf8, 0xed6f56e0, 0xb7e183d9,
 22.4603 +0x883103e1, 0x50431a04, 0x3f6f0780, 0x7bd77e05,
 22.4604 +0x4fa4e23c, 0x685ce0bc, 0x4f642837, 0x53608178,
 22.4605 +0xbac1d8b5, 0xc7b746bc, 0x58fb3091, 0x49a2bcc7,
 22.4606 +0xd802661a, 0xceb3a71f, 0x1f6c68e8, 0x37090a48,
 22.4607 +0x7206b8af, 0x565a1624, 0x724ec7af, 0xc0099f17,
 22.4608 +0x401690ba, 0x1197eb91, 0xde6264b3, 0xa640c281,
 22.4609 +0x1923200e, 0x63f2c123, 0x89fbab1d, 0x43074490,
 22.4610 +0x23c2811d, 0x0d8106fb, 0x40a3bb2c, 0x9642acb2,
 22.4611 +0x08fb37fd, 0xa359cfc0, 0x0000b244, 0x8d915e0e,
 22.4612 +0x85def590, 0x2760044d, 0x60b0a310, 0x8307065d,
 22.4613 +0x018527c9, 0x183c9700, 0xe0d24b3c, 0x28ba8c9c,
 22.4614 +0x0c77c6a0, 0xa74c4156, 0x048a5c41, 0x5a349118,
 22.4615 +0xbeed1e32, 0xe9c56aff, 0x5e4ba5ed, 0x04f53fe0,
 22.4616 +0x0a040574, 0x5d084f75, 0x17ea1ada, 0x1f162806,
 22.4617 +0xc4f7510a, 0x14037a13, 0x0422cb81, 0xaca43d2c,
 22.4618 +0xa07fbbdd, 0x01cf8003, 0x14685329, 0x4c929498,
 22.4619 +0x0ea65321, 0xaa38536c, 0xb4377459, 0x74f6f70b,
 22.4620 +0xe020be37, 0xc0199820, 0xf16353f7, 0x8159d0a5,
 22.4621 +0x342000e2, 0xb93794e0, 0xce4bb7ec, 0x006a5201,
 22.4622 +0x89da6f3a, 0xe25dbb65, 0x084002ce, 0x70e39ce0,
 22.4623 +0x1ab100c8, 0x6e9317e4, 0xd3deedf7, 0x08c4050a,
 22.4624 +0xac12e9a2, 0x09eca29e, 0xc3fabedb, 0xc061a8a0,
 22.4625 +0xdaeda280, 0x7e0258f8, 0x16f3bd9d, 0xf7a24911,
 22.4626 +0x5be0117c, 0x02bec1b0, 0xfba240e8, 0x0a140126,
 22.4627 +0x2145e1c0, 0xfda20df1, 0x4b599c9c, 0x21e4a755,
 22.4628 +0x68339331, 0x12f3682d, 0x0197261e, 0xbff5b923,
 22.4629 +0x12b0991f, 0x04a810a6, 0x4a502375, 0x83c5de92,
 22.4630 +0x734af836, 0x3ce85ceb, 0x946c77fa, 0x2829cc04,
 22.4631 +0x01c75016, 0xd67f4def, 0xc7c81ed4, 0x1dd14840,
 22.4632 +0x884c406b, 0x3518061b, 0x4050cc81, 0xe0256b46,
 22.4633 +0xd817ab54, 0x5ddb052e, 0x72143875, 0x30be0f18,
 22.4634 +0x86ff689e, 0x0505c3b7, 0x48b8d1bd, 0x816f4869,
 22.4635 +0x46f605fa, 0x5a1feb3c, 0x32067707, 0x0d2feb0c,
 22.4636 +0x80bb06b3, 0x6d187472, 0xec1b3d2e, 0x57563b1f,
 22.4637 +0x2c8c3de8, 0xedf3040e, 0xc08c688d, 0xb64490eb,
 22.4638 +0xd80350c1, 0xc581774d, 0xc6939817, 0xffffb831,
 22.4639 +0xa9da291e, 0xd57688d8, 0x94008100, 0x833a5dda,
 22.4640 +0x7005f0e4, 0xd017606b, 0x73523d7b, 0x0a40a90b,
 22.4641 +0x1c036df0, 0x75f1f572, 0xe808020c, 0xf824699c,
 22.4642 +0xc35c98dc, 0x682202c8, 0x75cf6ea5, 0x075040c4,
 22.4643 +0x984c7016, 0x61ac7bb7, 0xa1e82b25, 0x1a620c66,
 22.4644 +0x9776a104, 0xa2f2e668, 0x1e04e48b, 0x80ec2205,
 22.4645 +0xc468f54d, 0x40e0c855, 0x36fbb85c, 0x7e911208,
 22.4646 +0x20135bff, 0x912b01a1, 0x79751233, 0xfbb75f50,
 22.4647 +0x296035ff, 0xa1892ee8, 0x5b88c909, 0x3e308bc0,
 22.4648 +0x39fe7495, 0x38ebdd7b, 0x68b518a3, 0xd6836435,
 22.4649 +0x84909854, 0x2e648277, 0x36c87bf4, 0x3d64766b,
 22.4650 +0x58741248, 0xbfef0b78, 0x83547e6d, 0x4f7f02fe,
 22.4651 +0x14c610a1, 0x89f7701d, 0x400c9ed7, 0xff084ca1,
 22.4652 +0xc02a0450, 0x233708b1, 0xc6917883, 0xd4942352,
 22.4653 +0x16defe5b, 0x92f76350, 0xead468e9, 0x32cc688e,
 22.4654 +0xa0331879, 0x3689773a, 0x02469853, 0xdb1a5c0b,
 22.4655 +0xd39adec6, 0x8f0f0339, 0x19fd1059, 0xecf50872,
 22.4656 +0x81e9b632, 0x0094040d, 0x9f8a8c08, 0x9d4d7b6f,
 22.4657 +0x4814a1fe, 0x503d5e22, 0x1ff0d04d, 0xe81b742f,
 22.4658 +0xd10a19ac, 0x2ff61207, 0x05731f62, 0xe8129217,
 22.4659 +0xb3b003bb, 0xbb209708, 0x0cf4fedc, 0xd35fbddd,
 22.4660 +0x50f91c71, 0xc95805d9, 0x0004be00, 0xec426d90,
 22.4661 +0x0c6dff0e, 0xcebbba44, 0x30090541, 0x0210e9c2,
 22.4662 +0xfac16566, 0x8455cc2c, 0xd11cac50, 0x638e10af,
 22.4663 +0x33850f3b, 0x77c35708, 0x8941d889, 0xa102c506,
 22.4664 +0xe57fd340, 0x0f45da16, 0x4807e20e, 0xfb5f0f54,
 22.4665 +0x03901d6b, 0x7e022236, 0x0313640a, 0x08bc2dac,
 22.4666 +0x16981285, 0x0b161208, 0x0d757676, 0x15c219b5,
 22.4667 +0x9e08cd31, 0x8cf817d5, 0xd7704a16, 0xe91ad86b,
 22.4668 +0x1ea12371, 0x20908dcd, 0xcd0e8d7c, 0x62ab6a08,
 22.4669 +0xf621a30b, 0xd0cc2080, 0xc20cba82, 0x50891c27,
 22.4670 +0x1c5889c2, 0x6fbf20ee, 0x0c3e2308, 0x99be0dfc,
 22.4671 +0x208c11e9, 0x4f01843c, 0x15421b2e, 0xf8c2384b,
 22.4672 +0x14241c89, 0x423b5514, 0xe96408ec, 0x745ce3cc,
 22.4673 +0xd847ec33, 0x302a0ec6, 0x763b7a8b, 0xb05f1a74,
 22.4674 +0xb0194f4f, 0x38467db3, 0x8c4390e0, 0x02457cf7,
 22.4675 +0x896e0986, 0xbd8310fe, 0xa208803c, 0x01be6978,
 22.4676 +0xfb23b35d, 0x0c1e62c4, 0x84471e34, 0x3608e337,
 22.4677 +0xdf0440eb, 0xd3e4b083, 0xffbd7d05, 0x843b1d45,
 22.4678 +0x097f7983, 0x894105b4, 0xa31a6ef0, 0x108dda49,
 22.4679 +0xeaa1205a, 0x0a6035b6, 0x0c890e61, 0x91db5408,
 22.4680 +0x3078f188, 0x80466301, 0xf512dc3e, 0x046ff6dd,
 22.4681 +0x430d743a, 0x0b1e3c80, 0x753a0506, 0x6df8bff3,
 22.4682 +0x273216e4, 0x7ce000c9, 0x3c0ca5d8, 0xff530012,
 22.4683 +0x670d7037, 0x63c460b7, 0xc7827748, 0xb9722408,
 22.4684 +0xdff65c9f, 0x3100b2e9, 0x68036aa6, 0x618db5cb,
 22.4685 +0x1e461b5b, 0x92352d34, 0xbf472267, 0x03d8a588,
 22.4686 +0x4f06f4b5, 0x850dfae4, 0x742f3880, 0x52df1d47,
 22.4687 +0xc3401ce7, 0x01e4cfe8, 0x7634031e, 0x1d35bbdf,
 22.4688 +0x29402092, 0x10240a54, 0x0cf50950, 0x15318ac7,
 22.4689 +0x0730cff6, 0x46bb03de, 0xa3f82d75, 0xbf827ef2,
 22.4690 +0xcf68c3e2, 0x5644c836, 0xd03bf668, 0x9bc6dc3d,
 22.4691 +0x04573e40, 0x56502574, 0xafdf203e, 0xdb682d90,
 22.4692 +0xe8569e29, 0xa4f81f20, 0x104b2138, 0x1a13e8df,
 22.4693 +0x7a4957f5, 0x3f976497, 0x08fe6a14, 0xd09e1512,
 22.4694 +0xd055dbb2, 0x2d0d102f, 0x7f347b9a, 0x343d8038,
 22.4695 +0xc58c60d6, 0x0825295d, 0x6b8775b8, 0x3d461258,
 22.4696 +0xb6f9860f, 0x52f7ef5a, 0xc7810bee, 0xbdbc8605,
 22.4697 +0x2b349dd1, 0x218bc64a, 0x97466bf6, 0x8a0c106b,
 22.4698 +0xfdd4129a, 0x0f46c586, 0x7926bf07, 0x3aa5e95c,
 22.4699 +0xe0900c16, 0x54808db4, 0xb9bafc64, 0xb0dc52ad,
 22.4700 +0xac35ef1a, 0xfbda461d, 0xf75ee06c, 0xaf7410e0,
 22.4701 +0xeda63f43, 0xa55916c0, 0xd4bb7473, 0xec1422c7,
 22.4702 +0x08db85ff, 0xdad8d90a, 0x7ef6c7b3, 0x5868040d,
 22.4703 +0x50baa84a, 0x88310877, 0xb0014e47, 0xc5608a27,
 22.4704 +0xb8bccb25, 0x962961e3, 0x855ad946, 0xe84acc5c,
 22.4705 +0x546f18df, 0x0c428b70, 0x8ad90d8b, 0x6885de2d,
 22.4706 +0xa2034209, 0x15ed4dd8, 0x2075b776, 0xeb09c81d,
 22.4707 +0x90113248, 0x4b4f6d8c, 0x4402b8b8, 0x2f18a33d,
 22.4708 +0x9f0420dc, 0x95187502, 0xf7b01b2b, 0x10b90ed9,
 22.4709 +0xa10e2000, 0xb0307cb4, 0xa1efd98d, 0x43b4a304,
 22.4710 +0xfe72b815, 0x6f58a85a, 0x0fff248b, 0x14b5f025,
 22.4711 +0xc13b1bfb, 0x148d02f8, 0x03bb0190, 0x93e10f24,
 22.4712 +0x830f02bd, 0xd9d9d6ec, 0x848affff, 0x1bfbfb75,
 22.4713 +0x04a01a0c, 0x3a74ed85, 0x39141d8b, 0xa5e776f3,
 22.4714 +0xf36c4560, 0xb12d836b, 0x578da6b1, 0x29ad14f3,
 22.4715 +0x31d70121, 0x29f5f018, 0x36df01de, 0x89ba7f1d,
 22.4716 +0x44988c5a, 0x87a0341c, 0x28a2bc42, 0x1e2442fb,
 22.4717 +0x07755274, 0x9ec2e730, 0x0a5409d0, 0x361092df,
 22.4718 +0x7d3d2300, 0x1cb8300c, 0x0daf4d2d, 0x058181de,
 22.4719 +0x2353e4df, 0x3c8ae851, 0x9bb31420, 0xb380905f,
 22.4720 +0x504cad18, 0x382110a6, 0xf8614bf0, 0x18c7080b,
 22.4721 +0x1bfff3b2, 0x7eda4193, 0x018c1c3c, 0x3c02d8d6,
 22.4722 +0xa7217495, 0xd027815d, 0x720c1939, 0xc6284f15,
 22.4723 +0x730b67ab, 0xd9b7a109, 0x63440082, 0x2e3c1491,
 22.4724 +0x0e11c817, 0xdf5c03fd, 0x0d018603, 0xc7281f97,
 22.4725 +0x0bbf00a5, 0x461a16bc, 0x1baa73fb, 0x025d8dbd,
 22.4726 +0xfb53b557, 0x348d2e12, 0x03307897, 0x302c0bfa,
 22.4727 +0x85879839, 0x0febd2d3, 0x75083b35, 0xeaab0e76,
 22.4728 +0x8cdd6ab8, 0xcacc332d, 0x722f5fc8, 0x28d0bbb4,
 22.4729 +0x042674ce, 0x1df80777, 0xa5376ff4, 0x03064beb,
 22.4730 +0x44eb2874, 0x8068148b, 0xd6e07d81, 0x75a9307c,
 22.4731 +0x31eb0f37, 0xd9bd4b12, 0xeb0424cd, 0x0fc3b11e,
 22.4732 +0x051dbf06, 0xd3a366de, 0xa3205456, 0xcdeb89e7,
 22.4733 +0x84761eed, 0x7c2c5682, 0x061f74b9, 0x8039cec8,
 22.4734 +0x511e0646, 0xf4482103, 0xf26810eb, 0x6a40514c,
 22.4735 +0x820ac1e0, 0x6d181a15, 0x07752774, 0x5424e310,
 22.4736 +0x34c558ff, 0x0b5f7772, 0x050b0b34, 0xdf6d0530,
 22.4737 +0x5a35d558, 0x3e107534, 0xb1721a15, 0x28f63909,
 22.4738 +0x1e390877, 0x14291e72, 0xb1c4efba, 0x88e92419,
 22.4739 +0x1e010f78, 0x59d82dc7, 0x343919c4, 0x9b0d7309,
 22.4740 +0xc9388461, 0x5c439155, 0xc52e1dcd, 0xd8107a36,
 22.4741 +0x20c2078b, 0x1eea68bd, 0x3869cb43, 0xfb181840,
 22.4742 +0x409a1b1e, 0x291ecd42, 0x15bb012a, 0x81d2658b,
 22.4743 +0x010da850, 0xb803a367, 0x8d00d1d8, 0x889ec39a,
 22.4744 +0x3ab90cb4, 0x9ab18b25, 0x8b1b770e, 0x15132528,
 22.4745 +0x548a522c, 0x89af167b, 0x40292dfc, 0xe00a20be,
 22.4746 +0x0296db7f, 0x3d30084a, 0x8e8b4174, 0x3b6fb924,
 22.4747 +0x55fd1057, 0xb1d3392f, 0x6f392972, 0xc1e107bd,
 22.4748 +0x74442572, 0x1707a116, 0x1b968b05, 0x2c7efec4,
 22.4749 +0x7305903b, 0x611e8906, 0x7e125fc6, 0xc51020a9,
 22.4750 +0xa27ff839, 0xec8b6b74, 0x35b19775, 0x2c86e634,
 22.4751 +0x6cdda32e, 0x0d807eb4, 0x19c129b1, 0xed9cc3d3,
 22.4752 +0xb3593ad0, 0x6d303a55, 0x3d221a00, 0x82363997,
 22.4753 +0xbacec721, 0x3458e832, 0xf02d3546, 0x23fbf325,
 22.4754 +0xa81500bc, 0xd311c101, 0x11540d01, 0x59f8011d,
 22.4755 +0x0f1ab384, 0x8e09d0ac, 0x9dac1b16, 0x2901ff2f,
 22.4756 +0xe21e40a3, 0x7223a1a1, 0xe8265038, 0xca6b3af8,
 22.4757 +0xeb2df1f5, 0x75080af2, 0xa9416c46, 0x3404de20,
 22.4758 +0x9e0246e0, 0x390b6306, 0x87dc2b08, 0x2869e196,
 22.4759 +0x49e86732, 0xfa876e19, 0x3dc09702, 0xf47ee830,
 22.4760 +0x2bc5b7ee, 0x8928150c, 0x688d2ad0, 0x958ebf34,
 22.4761 +0xfa5e583a, 0x83d69300, 0xf88101bb, 0x8b37a713,
 22.4762 +0x10b92c83, 0xdc0a5b09, 0x090e34b3, 0xb82c580a,
 22.4763 +0xe855ec77, 0xab035726, 0xc394491e, 0xcc437a74,
 22.4764 +0x66b1988d, 0x9e6e3539, 0xaba0276b, 0x0f1a2f72,
 22.4765 +0xdafc184e, 0xff9394a5, 0xd4416e3c, 0x8444d18d,
 22.4766 +0xdef60870, 0x1178b1fc, 0x0040e3db, 0x21231f22,
 22.4767 +0xf8d08af0, 0x6ea65ffa, 0x284951ae, 0x1a4bfc1e,
 22.4768 +0x8da09c5b, 0xe316aa93, 0xdfc558e0, 0x50503304,
 22.4769 +0x80d0e853, 0x0301c085, 0xce0ac271, 0x35e647d3,
 22.4770 +0x5626e4bc, 0x2ae81663, 0x4635023f, 0x47e1c2db,
 22.4771 +0xc0189b1b, 0x7eae9957, 0x985d778d, 0x0fe879ad,
 22.4772 +0x7459d6f0, 0x4fd5a3aa, 0x781820c8, 0x07f26a90,
 22.4773 +0x5ab86ae8, 0xea0bd2a8, 0x33fc428d, 0xe93905ee,
 22.4774 +0xc842b40e, 0x4751047c, 0x388181a0, 0x8d6818c2,
 22.4775 +0x0bddd820, 0x3be34c94, 0xea0a7d00, 0x6c56e136,
 22.4776 +0x181bf74e, 0x70d15b96, 0x82f190d6, 0x60480c2c,
 22.4777 +0xa1da31be, 0x11d77644, 0x0582a53d, 0xe946483c,
 22.4778 +0x8b570178, 0xe18f4a97, 0x73486a45, 0x6f015030,
 22.4779 +0x3b1c415d, 0x24764036, 0xd04ceb43, 0x037e5207,
 22.4780 +0x439a9b58, 0x64d97a18, 0x4fe92040, 0x576bb8a1,
 22.4781 +0x0d3b4870, 0x6634763f, 0xcf1d3b40, 0x402ba194,
 22.4782 +0x0a02d873, 0x6be0dbe4, 0x60511c05, 0x31243ff8,
 22.4783 +0xf70e04c2, 0xa3be361f, 0x5e420749, 0xc50d9092,
 22.4784 +0x62c5086f, 0x334c8969, 0x66092b5e, 0x5faa2c45,
 22.4785 +0xbf8a1fc4, 0x8b567560, 0x5f97d787, 0x87117fc4,
 22.4786 +0x03d389c1, 0x409fd78f, 0xf8bdb174, 0xa1183b0f,
 22.4787 +0x265be61c, 0x5613f0c2, 0x04772672, 0x88b0437d,
 22.4788 +0x1c01df20, 0x06721277, 0xddea4752, 0x0a7718fd,
 22.4789 +0x4608ce99, 0x86174101, 0x77f52db7, 0x1f327499,
 22.4790 +0x9ddeec25, 0x48034c01, 0xd4992868, 0x89553a4f,
 22.4791 +0x6ca35db7, 0x0339445b, 0x00167648, 0x4408d87a,
 22.4792 +0x29beb837, 0x059c18d9, 0x2c992aad, 0x96df032d,
 22.4793 +0x596c0608, 0xbaff458d, 0x5d60844d, 0x5fc585e0,
 22.4794 +0x119500f0, 0x988c3522, 0xebfe42d9, 0x54266207,
 22.4795 +0xf7e8520d, 0x4c500dd8, 0x996ac518, 0x85e11146,
 22.4796 +0x098103e5, 0x755bb51a, 0x7c77d629, 0x1b777779,
 22.4797 +0x8df860b0, 0x011bb921, 0xf80f07d7, 0x2e2ef106,
 22.4798 +0xe9d03947, 0x24348bc7, 0xda82f734, 0x0c730e2d,
 22.4799 +0x6c18e909, 0xc2f08f7b, 0x0eee3d3b, 0x2e07153b,
 22.4800 +0x22c70f8b, 0x150d59bf, 0x8d0f380c, 0xff86f154,
 22.4801 +0x23ff2af6, 0xd7399c54, 0xf8890a72, 0x205ad029,
 22.4802 +0x78431573, 0xec4348f6, 0xffff4a1d, 0x7fd089f7,
 22.4803 +0x429210d0, 0x89b93014, 0xb04e89ef, 0x5ede84f0,
 22.4804 +0xab0833fb, 0xd6749e08, 0x5534112d, 0x811095ec,
 22.4805 +0xd1aebb3d, 0x457f0dff, 0x4975464c, 0x52250a35,
 22.4806 +0x80ed3d00, 0x0001b42f, 0xa16638b1, 0x02e819f0,
 22.4807 +0x3e168c6d, 0x54297770, 0x342077f4, 0x0f14b838,
 22.4808 +0x75d03435, 0x61f6bf14, 0x3f570e2d, 0x0a740609,
 22.4809 +0x2474fa75, 0x7a39e938, 0x63412168, 0xf99c0438,
 22.4810 +0x0b26e946, 0x063c7a57, 0xc315d7e2, 0xd0af060a,
 22.4811 +0xa4e3ecb6, 0xf039a45f, 0x2a24607a, 0xaaf0a82c,
 22.4812 +0x2b14b8fb, 0x8504e652, 0x6677d81e, 0x4e2c2118,
 22.4813 +0x02c42108, 0xc6159810, 0x4b3452e6, 0x182f85c0,
 22.4814 +0x073aa771, 0x62e703d1, 0x4ba2c61c, 0x01411829,
 22.4815 +0x9f12188c, 0x9e00012e, 0x8f4e2425, 0x7dc177c0,
 22.4816 +0x603b4f68, 0x833c0989, 0x9071d2b8, 0x71dee61f,
 22.4817 +0x7318fcd2, 0x20058904, 0x82349003, 0x367c3587,
 22.4818 +0x13d1f3ca, 0x017dec05, 0x1d316157, 0x8b07763c,
 22.4819 +0x0158a340, 0x6a810043, 0xe07dc02e, 0x9c7c0937,
 22.4820 +0x04854887, 0x9187d80d, 0x29008053, 0x4de5de37,
 22.4821 +0xa2c07a85, 0x980e2bb8, 0x8f437010, 0xf2e851e2,
 22.4822 +0x75ffd241, 0xb7e40632, 0x681c587b, 0x36f137b0,
 22.4823 +0x724d00ad, 0x99a30966, 0xdb995b1d, 0xb92bc28b,
 22.4824 +0x237d10f3, 0x8762cd84, 0xafea01be, 0xd13a3222,
 22.4825 +0x14dd7cea, 0xd3b0c561, 0x0f4bd843, 0x4f89e98d,
 22.4826 +0x71ff42f8, 0x8375908d, 0x7504407a, 0x8b5052a8,
 22.4827 +0x1b0b8788, 0x11594ebc, 0xbd0e77f9, 0xf831601d,
 22.4828 +0xdde85751, 0xb97399f4, 0x96c3900c, 0x708c5c63,
 22.4829 +0xa32a36f7, 0x62b8b8ec, 0xea170c8d, 0x043c7fdd,
 22.4830 +0x488be205, 0x0df90150, 0x40708b04, 0xd5b03f0d,
 22.4831 +0xb1146ed6, 0x3b515652, 0x22754d20, 0xf9f6786e,
 22.4832 +0xf0cae207, 0xe700c941, 0xec0cc6ce, 0x58edcf3c,
 22.4833 +0x14f4171c, 0x097c9db7, 0x8c0fafb9, 0xc7e41774,
 22.4834 +0x28ca2805, 0x2c1924d9, 0xf07e7409, 0x3809db20,
 22.4835 +0xf02f3eb8, 0x23fd850f, 0x36a01100, 0x36007d81,
 22.4836 +0x121b0313, 0x13ba4e3f, 0x44540160, 0x21350ef9,
 22.4837 +0x61fac6ee, 0xfffb81ce, 0xbf053ff0, 0x109ab8a0,
 22.4838 +0xb93d041c, 0xd8c4672c, 0x10f96967, 0xb2379ba0,
 22.4839 +0x980770aa, 0xb1857a62, 0x26a3d001, 0x0a4d8713,
 22.4840 +0x91ccbca3, 0xdd0bc246, 0x07e06a83, 0xe1e83d52,
 22.4841 +0x07be14f8, 0xfc692c5e, 0xa11cbf56, 0x09802c2f,
 22.4842 +0x83e3245b, 0x14009d5c, 0x2c018add, 0xcac3012f,
 22.4843 +0x2addfee4, 0x22858d5f, 0x5576d839, 0xf60d91b2,
 22.4844 +0x5079dd5c, 0x0607ae57, 0xcc4dfcff, 0x85e83a2e,
 22.4845 +0x033be25b, 0x43f6087b, 0x80f0b003, 0x0f25146f,
 22.4846 +0x9e7d03b6, 0x7bf93d93, 0x021c8018, 0x868d0a54,
 22.4847 +0x8ab7ab77, 0x2f8d8bfd, 0x07eb4d74, 0xbca1c20c,
 22.4848 +0x0180df6d, 0x562a6867, 0x064ca8be, 0xac0b26cc,
 22.4849 +0x1ee5e8d5, 0x017d920b, 0x874523ba, 0x87b83d12,
 22.4850 +0x4faed285, 0x67412765, 0x6333a8c5, 0x57b873c0,
 22.4851 +0xccd0858d, 0x24482932, 0x2260070d, 0xc9750a1f,
 22.4852 +0x4eb62b0e, 0x8c8e882a, 0x41047d09, 0xcb179088,
 22.4853 +0xc020a44f, 0x80a3790d, 0x31ef96b8, 0x506f9859,
 22.4854 +0xc96b396e, 0x1ed8ab1b, 0x0109a8b3, 0xb1d94d15,
 22.4855 +0x3572f416, 0x2b7261d8, 0xfb1f521b, 0x310d8b79,
 22.4856 +0x091933d1, 0x1c5375c1, 0x0d8c4b7c, 0x5b77783b,
 22.4857 +0x7b730735, 0x6d5b7a03, 0xd95d071d, 0x8e1fc181,
 22.4858 +0x89f61d8d, 0x3a2942c8, 0xe1816419, 0xa7d4afb1,
 22.4859 +0xc5d90188, 0x8e3b292d, 0xebef006d, 0x6a20a139,
 22.4860 +0xc6295303, 0x1449dbbe, 0xd020d4e7, 0xa3cc15ff,
 22.4861 +0xfb160389, 0xf0418920, 0x3dbc10c4, 0x92050f14,
 22.4862 +0xe110fe90, 0xb49eac42, 0xcefc245c, 0xa0f373f2,
 22.4863 +0x04bd40ad, 0x06c1f60b, 0x181a0860, 0x1f719430,
 22.4864 +0xd452fde6, 0x105a2058, 0x6dd7d59d, 0x72e88a37,
 22.4865 +0x0bf70edb, 0x476d47c0, 0xcd2e0238, 0x7311d2f7,
 22.4866 +0xf6899bdb, 0x86023881, 0x1dd21ac4, 0xbd820a3d,
 22.4867 +0xea810627, 0x9fed3407, 0xfb12f40a, 0xe8197567,
 22.4868 +0x4c1bc9f4, 0xc86d0dee, 0xbf0f8de4, 0x0306e815,
 22.4869 +0xf0affe85, 0xb805491b, 0x1389c755, 0xc10be9f7,
 22.4870 +0xc1e1bed6, 0xf8220cfb, 0x8dc3291f, 0x568302be,
 22.4871 +0x6c6ed6db, 0x092a07e2, 0xe802a7c3, 0x8db7abed,
 22.4872 +0x030f8941, 0x0903ca29, 0x73620d78, 0x18e2d1db,
 22.4873 +0x800225db, 0x6ded0a27, 0xc839e181, 0xc2294309,
 22.4874 +0xdb1b141d, 0x5855f1be, 0xab050a79, 0xa1697f77,
 22.4875 +0x5e1b5004, 0x80fd8bc1, 0x463c1f3d, 0x3c7454ff,
 22.4876 +0xf00273e8, 0xcc3be833, 0x9812c6f8, 0x0c741bea,
 22.4877 +0x9503abaa, 0xe245fc16, 0x0bf40aeb, 0x92fdba05,
 22.4878 +0x3460d108, 0x8fc8ff52, 0x8c952b92, 0x36e12091,
 22.4879 +0xb7a9682e, 0xeb58348e, 0x2e74992d, 0x00b80ba9,
 22.4880 +0xf2726411, 0x83d06a1d, 0xc5733f51, 0xe81c3230,
 22.4881 +0x81a0ffbd, 0x921c723d, 0x7de82ed4, 0x48511c01,
 22.4882 +0xacc22a52, 0x1b6d3f4b, 0x1e3980bd, 0x8a28972d,
 22.4883 +0x7cdf5711, 0x8a82de37, 0xc238df88, 0x194341ce,
 22.4884 +0x07eefb13, 0xe6740ef2, 0x0f08018a, 0x138ac0be,
 22.4885 +0x16d08015, 0xdcd2079b, 0xc9c5ce5b, 0x8920edaa,
 22.4886 +0x8bab0803, 0x3562155c, 0x3053d660, 0x0550f557,
 22.4887 +0x183984d7, 0x56766512, 0x4d027f8f, 0x02ff833c,
 22.4888 +0x2216177f, 0xd0fec1fe, 0x3a80d901, 0x201b742e,
 22.4889 +0x0908e6c1, 0x6f6847ce, 0x0321de94, 0x2717ac7e,
 22.4890 +0x0410c8c1, 0x89e8fd08, 0x29c5026a, 0x464a43e8,
 22.4891 +0xadd86c90, 0xbeb5df85, 0xb7920a33, 0x093c30e8,
 22.4892 +0x60d01477, 0x92b6858d, 0x42a111b6, 0x12ee1391,
 22.4893 +0xec76e88d, 0x890bed05, 0x7e2bffca, 0xc7996244,
 22.4894 +0xeb12c349, 0xfd60e402, 0xe4c6c40b, 0x46c0d964,
 22.4895 +0x7402a804, 0x177ee809, 0x1acb7082, 0xf6e872bc,
 22.4896 +0xc3240180, 0xc235c831, 0xe8173615, 0xfeb613e0,
 22.4897 +0xe6d1b0fe, 0x08b1e864, 0x8160e6df, 0x740dd9ff,
 22.4898 +0x4b5b7b43, 0x701d89d9, 0xd420fbd7, 0x6f0aa2c7,
 22.4899 +0xffe2e80d, 0xb1b38832, 0x4bc02385, 0xb1bb8a18,
 22.4900 +0xa86c7007, 0x421a03e8, 0xf8c398d3, 0xfb81df6f,
 22.4901 +0xfb837415, 0xb302750d, 0x83d8890a, 0xefee0093,
 22.4902 +0x28c7dae8, 0xb2c0950f, 0xf4430c12, 0xa8ee5670,
 22.4903 +0x37058d0d, 0x89fb605c, 0xdeeb29fb, 0x81f0f60f,
 22.4904 +0x76fff082, 0xd4092a43, 0x7bb6bf05, 0x82778046,
 22.4905 +0x910cd7e2, 0x1b1502ba, 0x0cbe63a4, 0x7d418b66,
 22.4906 +0xbaddb170, 0x2723478c, 0xa10f5b63, 0xf494f81c,
 22.4907 +0x24df503a, 0x11825184, 0x0bafb9b6, 0x83198201,
 22.4908 +0x04648809, 0x8016a70f, 0xd0e0f0dd, 0x29168e39,
 22.4909 +0x08730776, 0xb32c3843, 0x04f62017, 0x0df74b72,
 22.4910 +0x64810afe, 0xfd8a9617, 0xba1debd4, 0x16a9d829,
 22.4911 +0xc3d96c0b, 0x1e20cd86, 0x26107248, 0xa956e837,
 22.4912 +0xc58950e3, 0x044104bc, 0x83d0b6c3, 0x8fcec9c2,
 22.4913 +0x801b7629, 0x98e08c52, 0x354ab459, 0x3308c436,
 22.4914 +0x6aaf5557, 0x87c03f01, 0xb72d6789, 0x90e8d9e8,
 22.4915 +0x74fe1be2, 0xc377e855, 0xe8241c85, 0x03024d0a,
 22.4916 +0x903b5482, 0xf55ec200, 0x752c2bd1, 0x8e00aa4f,
 22.4917 +0xdc65301d, 0x7c3d4820, 0x7a07080a, 0x6f1c7e44,
 22.4918 +0xab0bd449, 0x3e00ded3, 0x762a0f6c, 0x0cd60cd1,
 22.4919 +0x41b1b3c4, 0x0cb76c88, 0x478019f4, 0x07aa8043,
 22.4920 +0x019b5ca9, 0xf9f50545, 0xaf85ea07, 0x8a105c11,
 22.4921 +0x7614353b, 0xdd075d4c, 0x46130666, 0x6c9c1405,
 22.4922 +0x3ba06c0b, 0x2eebd8a8, 0x2910eb07, 0x95d857e8,
 22.4923 +0xed14b04e, 0x47720c3d, 0x6c6c6f35, 0x8916eb73,
 22.4924 +0x0a0510eb, 0xf417043b, 0x317dc03e, 0x0c4f2b2b,
 22.4925 +0xeb0d0405, 0x7c39256e, 0x7b191865, 0xa6db3780,
 22.4926 +0xf5297c8b, 0x08b5de18, 0x09784611, 0xa3b5ffff,
 22.4927 +0x4709190e, 0x406f82f1, 0xf1623c5e, 0xdaea736b,
 22.4928 +0x6051e02b, 0x680b4884, 0xa33c35e2, 0x1845868e,
 22.4929 +0xc01c8a76, 0xa1a29e05, 0x83d9c2dc, 0x49bf50ea,
 22.4930 +0xf0e2cebc, 0x725280b8, 0xf008ec19, 0x08897b60,
 22.4931 +0x0442ae89, 0x5b252810, 0x5d3e3fd6, 0x376d81c9,
 22.4932 +0x44c2217c, 0x66244108, 0x3b6c9d87, 0x084c1889,
 22.4933 +0x7a6b6810, 0xb7779294, 0x03034727, 0x31b1e947,
 22.4934 +0x9a83fc40, 0x2b1668e7, 0x762f4063, 0xc04b39eb,
 22.4935 +0x7dad2001, 0xec746d2a, 0x0d037856, 0xfbfc422f,
 22.4936 +0xf60c8cf8, 0x01812caf, 0x320d3bd1, 0xaf020d0d,
 22.4937 +0xa5908c49, 0x472dfe8a, 0xd431390c, 0xb73c9e21,
 22.4938 +0x01808384, 0x1505c8db, 0x5582ebef, 0x03281aa5,
 22.4939 +0xd7510453, 0xcc2360c8, 0x05085c20, 0x355f522b,
 22.4940 +0x17e548bb, 0x22fb0264, 0xd05b69e8, 0xdda10c26,
 22.4941 +0x379a10e6, 0x0b6d042a, 0x3dc23a1a, 0x1e8ebb23,
 22.4942 +0x06ffe018, 0xf00cf106, 0x88a9c160, 0x53dd475f,
 22.4943 +0x9faae035, 0x9129f32a, 0xe8c7136f, 0x68626c35,
 22.4944 +0xa0e012a7, 0x8c40b10d, 0x167480fe, 0x3dfbe417,
 22.4945 +0xb2680b17, 0x9215c11e, 0xeacf3d87, 0xf834abba,
 22.4946 +0xbe43b031, 0xc5680bdf, 0x53f48c1e, 0x17efb0c0,
 22.4947 +0x1ed1680b, 0x3da2536d, 0x0aa3bc52, 0xb86b3ee8,
 22.4948 +0x111e324c, 0x59578026, 0xfab84005, 0x27dd9c05,
 22.4949 +0x30e3653c, 0x6df6602c, 0x313bde9c, 0xbe6112c1,
 22.4950 +0xc070bd63, 0x1ef4683f, 0x35221212, 0x41342948,
 22.4951 +0x165aa117, 0x3ac04870, 0x6f412735, 0x0605811a,
 22.4952 +0x82637508, 0x52a361e4, 0x9529720d, 0x687be00a,
 22.4953 +0xc3f60ea3, 0x067b240e, 0xdb8a3f3c, 0x0bb18f1f,
 22.4954 +0x920e438d, 0xdaa52b92, 0x75854077, 0x19061d21,
 22.4955 +0xe0543dba, 0x8db60612, 0xa6503e8f, 0x71b41262,
 22.4956 +0x9bfb822b, 0xd08ab018, 0x54d33c86, 0x80edd88b,
 22.4957 +0x0ca545a7, 0x59551ca3, 0x238a6854, 0x6822feec,
 22.4958 +0xaabb9024, 0x5be915fd, 0x6c4488dc, 0xfcbfb855,
 22.4959 +0x7b0523ad, 0xcb3c5b08, 0x5b122f39, 0x6307a109,
 22.4960 +0x47de2c5f, 0x23b8261e, 0x2f12c010, 0x15461a6d,
 22.4961 +0xdbfe830a, 0xb4120ef3, 0x062b835a, 0x0c089501,
 22.4962 +0xea5fed48, 0x42fb4e27, 0x6cbd7440, 0x1e3c80bc,
 22.4963 +0xc0b10706, 0x04f423f6, 0x43b52d06, 0xa2ebedae,
 22.4964 +0x1206017e, 0x8471c6a9, 0x06bb001f, 0xbc041504,
 22.4965 +0x31030100, 0x686f503e, 0x49e84a3d, 0xd9cb2397,
 22.4966 +0x6804e30b, 0x352a13e0, 0xb1c02710, 0x22788d85,
 22.4967 +0x86d9897e, 0xeeb66d04, 0x34049551, 0x01b31024,
 22.4968 +0xe2ff0930, 0x1c6ade26, 0x92170668, 0x488361e0,
 22.4969 +0xe1b442d7, 0x7feed0bd, 0x3c33cb05, 0x8d685650,
 22.4970 +0x0d9f1046, 0x20ddf096, 0x14bb087f, 0x22ebbe7e,
 22.4971 +0x3b182959, 0x474a9a10, 0xc53cd710, 0x541c0319,
 22.4972 +0x57eb20d3, 0x8d2472df, 0x4506c6f3, 0x7d0379f6,
 22.4973 +0x6017c350, 0x03006c03, 0xc86c43c6, 0xa021fa29,
 22.4974 +0x43c74a24, 0x6140c504, 0x2106e00c, 0xac6ffe88,
 22.4975 +0x439d17e8, 0xf6a1c109, 0x681c2d3b, 0x43e8e027,
 22.4976 +0x09404542, 0x56e25b1a, 0xb1412da3, 0x5286430a,
 22.4977 +0x62c403aa, 0x5a026f24, 0xa15ba806, 0x9434b211,
 22.4978 +0xee40731a, 0x7e8db906, 0x767d2914, 0xee9ff961,
 22.4979 +0x47240807, 0x14eb8302, 0x7f5fdf86, 0xae6c56ba,
 22.4980 +0x2c588247, 0xd50618c9, 0xd221835e, 0x3f170602,
 22.4981 +0x460bef77, 0x661c87fc, 0xa366286e, 0x8ef7d8d0,
 22.4982 +0x565354c0, 0x50673c6a, 0xc5e0726c, 0x182d8db8,
 22.4983 +0x7d57e814, 0x802c789d, 0xc50c0543, 0x4449be68,
 22.4984 +0x8b06ac17, 0x1849f60c, 0x8a1ac40a, 0x0827e854,
 22.4985 +0xfe885a77, 0x3b0df4f0, 0x84751050, 0x8385b443,
 22.4986 +0xaec07eb1, 0x8c01948e, 0xc83f342d, 0x248e5b3d,
 22.4987 +0xeab54582, 0xb803acea, 0xadde1bd0, 0x4e450440,
 22.4988 +0x05980640, 0x263ceb8c, 0x91c5560b, 0xb4d60375,
 22.4989 +0xfdb1c1d1, 0x1cc0337e, 0x04b817fd, 0x1df8f1fa,
 22.4990 +0x352519d0, 0x1a9a0015, 0x1a18160b, 0xe884540d,
 22.4991 +0xd5afb710, 0x86899028, 0x8e81c554, 0xbd296a78,
 22.4992 +0xf3e8cd84, 0x55b00c3d, 0xca069c8b, 0xbd9fbb76,
 22.4993 +0x500646b4, 0x6836fff5, 0x9e68633a, 0x3394e81b,
 22.4994 +0x988e4b0b, 0x9e401f57, 0x316c8b30, 0x08afa0aa,
 22.4995 +0xb82c07a2, 0x02a467bb, 0xf405ff12, 0xc4460259,
 22.4996 +0xa02e0452, 0x7ccdf6a3, 0xfbb27380, 0x503b1822,
 22.4997 +0xf49ef607, 0x813c0062, 0xaf50e860, 0xb05ba241,
 22.4998 +0x03079d5a, 0x6dd824bb, 0x115a3db1, 0x07c75df5,
 22.4999 +0xfdaf1134, 0x50793ddc, 0xb78a1e66, 0xb13db001,
 22.5000 +0x5636a07e, 0x3e901612, 0x006a6c3c, 0xbbdb685e,
 22.5001 +0x35210a7d, 0x72f0af57, 0x1639ac66, 0xc5b7b09f,
 22.5002 +0xfa4108ed, 0xba8f2c14, 0x3b6f144b, 0xc1a16676,
 22.5003 +0xa303d083, 0xabc46009, 0x8ec17dec, 0xa2e82bfd,
 22.5004 +0x3885f60e, 0x40e9bc02, 0x8dee0d0d, 0xc15911db,
 22.5005 +0x18417a0e, 0xf6588d17, 0x3092e808, 0xc48614e1,
 22.5006 +0x1c14431f, 0xc40bdd80, 0x74051a35, 0x0e7f041d,
 22.5007 +0x56a66c03, 0x477bf7d9, 0x26176e9e, 0x06f87f63,
 22.5008 +0x94e92d74, 0xb11e2a01, 0x4586518d, 0x5220db9b,
 22.5009 +0x0b9551e5, 0x47b6ef23, 0xc6deb6eb, 0x67268d27,
 22.5010 +0x446aeb28, 0x6c2aa16d, 0x0edb16b5, 0xa8bad42b,
 22.5011 +0x46a900e9, 0xde251b25, 0x553e0c87, 0xfb7783ad,
 22.5012 +0x5bc02e04, 0x55737439, 0x65681037, 0x60e01b58,
 22.5013 +0x91f21af5, 0x80522975, 0x4402627a, 0x8ac207a2,
 22.5014 +0xe0b743c1, 0x23cf77a4, 0xdbffaaa3, 0x8a188040,
 22.5015 +0x63f02e7b, 0x39a5c237, 0xcb81ab69, 0x107e6bff,
 22.5016 +0x1e331869, 0x0f363be3, 0x854bc08d, 0xdd3444f1,
 22.5017 +0x089e0805, 0x93076d03, 0xa081f3e7, 0xec212212,
 22.5018 +0x04e108f5, 0x008dc091, 0x6a19e2fc, 0x08242006,
 22.5019 +0x35f093ed, 0x3b42f3db, 0x4b75d039, 0xd8370b06,
 22.5020 +0x82a1d3de, 0x775e0258, 0x7a202f3c, 0x6a5a39ee,
 22.5021 +0x064f28c1, 0xd0bb4358, 0xfe426158, 0xaec04405,
 22.5022 +0x300cd89a, 0x0c11109c, 0x08db0aa9, 0xbff83058,
 22.5023 +0x8c37a1f6, 0xdec3bdee, 0x200ecdc6, 0x8438c745,
 22.5024 +0xb1206a9d, 0x833ffb4e, 0x1ee00d3f, 0x4b1aeb1d,
 22.5025 +0xc1d07b08, 0xd444928a, 0xdb0785c6, 0x9b3b80c2,
 22.5026 +0xde3c0432, 0x84b0ba84, 0x7b6809e1, 0x84028625,
 22.5027 +0x568d23f1, 0x04f743e0, 0x3c2801b0, 0xf896b03c,
 22.5028 +0x70d801c6, 0x02788002, 0xa429ce6e, 0x08701087,
 22.5029 +0xb920615b, 0xf160d86f, 0x02a80238, 0x58df152a,
 22.5030 +0x1981c58d, 0x05e45c15, 0x221842b7, 0xdb0250db,
 22.5031 +0xdbaa0cc0, 0xc231b804, 0xeb01c842, 0x52b10290,
 22.5032 +0xf90d689c, 0x31bf10cf, 0xbc2f0b3e, 0x3d5ca685,
 22.5033 +0x360fab3a, 0x758a6c53, 0x73838dff, 0x4c572baf,
 22.5034 +0x85aa0316, 0x160ad17c, 0xc03a896a, 0x42df53a1,
 22.5035 +0xe8437c3b, 0x3bfff7f9, 0xc16ce300, 0x50d0fba2,
 22.5036 +0xe3e82c68, 0xdb64b915, 0xe9d989b7, 0x2c723546,
 22.5037 +0x58142490, 0xcbb045e8, 0x23583562, 0x49d98622,
 22.5038 +0x1c7badbc, 0x22c55457, 0x891d85c5, 0x571920b1,
 22.5039 +0x39aee8c4, 0xd0728344, 0x55b6aa85, 0xd91b6c3f,
 22.5040 +0xa9a3588b, 0x6c37eebf, 0x3860d418, 0x5a1fb906,
 22.5041 +0x1879e4ae, 0x10f8f4a3, 0x60c5d86b, 0x27a3d40b,
 22.5042 +0x02bd7007, 0x29904167, 0x2889c17e, 0xbaeff04a,
 22.5043 +0x7ff869ff, 0x53f4117e, 0xc9d1f82e, 0x00057e57,
 22.5044 +0x29f142d1, 0x18bfb861, 0x000021e0, 0x8c77dfad,
 22.5045 +0xef096a17, 0xfeaa33eb, 0x243b028a, 0xec38923c,
 22.5046 +0x21984a04, 0x43c052f0, 0x1bc83535, 0x20fe3b1d,
 22.5047 +0x6cec812e, 0x0488a013, 0xdf3b7ba2, 0xa1a86caf,
 22.5048 +0xae6d0a84, 0x136ea208, 0x19e43b80, 0x08706f86,
 22.5049 +0x0733c8a1, 0x024072c6, 0x4ffc002d, 0x04013cb7,
 22.5050 +0xe8063e3d, 0xffffb688, 0x24d4e3f6, 0x2720e60d,
 22.5051 +0xc6880fe8, 0x3822c420, 0xba400315, 0xa337ba84,
 22.5052 +0x67443004, 0xa10ef864, 0x6720850d, 0x08847464,
 22.5053 +0xf328d1f6, 0x3616ca51, 0xfcb76323, 0x38169040,
 22.5054 +0x4b9c8db3, 0xf716cfb8, 0x680d1d01, 0x9c273468,
 22.5055 +0x75b50c28, 0x9d23c616, 0xd4e84b49, 0x04e88c41,
 22.5056 +0xb3c2d541, 0x28ee55ad, 0xe0bf5673, 0x26d8ceda,
 22.5057 +0x254f284c, 0xfe513753, 0x21c50f0a, 0xf9582cd0,
 22.5058 +0xc16a436a, 0xb1df163f, 0xf777e8ff, 0x6a46565f,
 22.5059 +0x0c03e824, 0x13e1bf89, 0x00b587a8, 0xc6df01c7,
 22.5060 +0xa8bd6805, 0x07a1d5d0, 0x032c7edb, 0x116b4eb0,
 22.5061 +0xce09d8c3, 0x72b29a03, 0xc0b6bfb7, 0x35602b3f,
 22.5062 +0x2bc329fb, 0xc0fad47f, 0x151561d7, 0x0fa28555,
 22.5063 +0xfc37421d, 0x3a050b4e, 0x0231c83d, 0xb0e80a74,
 22.5064 +0xc0235cb6, 0xa7c88512, 0x426109c2, 0x1f963375,
 22.5065 +0x2840ec15, 0x33696170, 0x6464167f, 0x6c2d16ec,
 22.5066 +0x683d16bd, 0x99391983, 0x61514370, 0x490e4679,
 22.5067 +0xaa1f3a9d, 0x1b004dbb, 0xac248a04, 0x1d54ec55,
 22.5068 +0x88502608, 0x3519e2a4, 0xed439094, 0xe2410acf,
 22.5069 +0x1acf4421, 0xbbc902b3, 0x10175874, 0xa605ea01,
 22.5070 +0xabe401e8, 0xd7090088, 0x86caf68b, 0x9df86610,
 22.5071 +0x7d86ac1e, 0x68457ec0, 0x86f89120, 0xab00001e,
 22.5072 +0x032603b0, 0xa88e3018, 0x1ad7591b, 0x242cc1db,
 22.5073 +0xbecc68b9, 0xc85e1e44, 0x8fe8fd80, 0xb6fffff5,
 22.5074 +0xec01fc18, 0x802c3a97, 0x7e13a105, 0x933d80a9,
 22.5075 +0x5b509c3e, 0x94c329a0, 0x0e1b4ac4, 0x230a1076,
 22.5076 +0x742110c4, 0xf8edc036, 0xc0b3118c, 0x82838b30,
 22.5077 +0xfbe60405, 0x808338ed, 0x34ae6807, 0x02b10415,
 22.5078 +0xef441d63, 0x07a811ea, 0xa1cf1d6e, 0x845d890a,
 22.5079 +0x4ca93016, 0x6903ca93, 0x9901c232, 0xd03cb71d,
 22.5080 +0x5e0f86d6, 0x1187bc59, 0x842b496a, 0x91c3dcad,
 22.5081 +0x042474c5, 0x4efcc149, 0x02be981c, 0x54688f9f,
 22.5082 +0x3e88676b, 0x901a8e19, 0xfeeaa30e, 0x09c11304,
 22.5083 +0x3273f789, 0x0d8efe10, 0x2b35ff04, 0x35f459e8,
 22.5084 +0x9c84e426, 0x00c608e2, 0xc6ee268e, 0x0b33b1a0,
 22.5085 +0x22bb8e0f, 0xed11bfe8, 0x04b23de8, 0x39ba0c03,
 22.5086 +0xf738e38e, 0xaf5dbbe2, 0x26021fba, 0x24fe832c,
 22.5087 +0xbd59fc30, 0x8115059e, 0x29f0ccc4, 0x1c357816,
 22.5088 +0x250c240d, 0xe03d7016, 0xa49b9043, 0xb6a4fb8a,
 22.5089 +0x0788c5ad, 0xe883c011, 0xc12e4b14, 0x3d12388b,
 22.5090 +0x49e74e92, 0x829815ca, 0x2dc0e114, 0x5023742c,
 22.5091 +0x33211478, 0xe0ac691a, 0x150c4301, 0x4b10270c,
 22.5092 +0x7f11586a, 0x61f05785, 0xb184e8d1, 0x0a4175ef,
 22.5093 +0xa5c88aee, 0x9eb175e8, 0xd087dca6, 0x206aee91,
 22.5094 +0xf141f3e8, 0x8ea03aeb, 0xbf5a263c, 0x2e3b254f,
 22.5095 +0xbe0907ab, 0x4ae9cf76, 0x760dba02, 0xded77ec1,
 22.5096 +0xfc089c16, 0xc1c3cf42, 0x2a099ce3, 0x0d782444,
 22.5097 +0xc7bdc309, 0x24389581, 0xe9d61d58, 0xdfb7cc21,
 22.5098 +0x8d47477e, 0x428a0e6a, 0x3c45bd0e, 0x2f81770a,
 22.5099 +0x0a2d0e52, 0x147714b4, 0xfe8a3238, 0x04c1ba84,
 22.5100 +0x551cfd02, 0x6fe65ce8, 0x8a444e22, 0xf766c709,
 22.5101 +0x33a00645, 0x1a3fb6da, 0x40a84c2c, 0xc7e9f441,
 22.5102 +0x7468c911, 0x84188a03, 0xa2f8bfa8, 0xe90c421e,
 22.5103 +0xee457022, 0x2c4fbbba, 0x3205dc3d, 0xfbff0e8f,
 22.5104 +0x14ef6e7c, 0x7bfa2389, 0x3c744e89, 0x508dbea1,
 22.5105 +0x51b05922, 0x748dbeff, 0xa8a10e01, 0xf929c189,
 22.5106 +0xad0b0709, 0xa4b350dd, 0x36170eeb, 0x15f70a84,
 22.5107 +0xfd37035b, 0x0547fc0e, 0x1146ff26, 0x6360b581,
 22.5108 +0x11097d80, 0xc58e5d75, 0x54ce0583, 0xc6cb358b,
 22.5109 +0x51ac9122, 0x04567ddf, 0x860bd686, 0x5c2eeec6,
 22.5110 +0x8687b834, 0x7e839bfe, 0x1f61c0a4, 0x892674e8,
 22.5111 +0x74ebfde3, 0x8d3eceaf, 0xb75db857, 0x9f59c817,
 22.5112 +0x004da980, 0x455556c9, 0x73395678, 0x8e54033a,
 22.5113 +0xd985bc8f, 0x066e4e6b, 0x6e892c2c, 0xdd630b45,
 22.5114 +0x2deefe1f, 0x4c664de2, 0x883782c7, 0x267527c3,
 22.5115 +0x1a183056, 0x00088a15, 0x72442168, 0x7f3eb6db,
 22.5116 +0xec3f018d, 0x601fb389, 0x0eef5736, 0xb502eddd,
 22.5117 +0x3a6706c1, 0xff56905d, 0x6dfb7019, 0x1649b456,
 22.5118 +0x20c58356, 0x0c19cfbf, 0x795808db, 0x2c21bf92,
 22.5119 +0xa018b6e8, 0x570faf31, 0xa31e2957, 0xec3e2ddb,
 22.5120 +0xfd80e96e, 0x5602a638, 0xd7fbc40d, 0xd11428df,
 22.5121 +0xb1df864f, 0x550d3a00, 0xfbebc152, 0x158a1873,
 22.5122 +0x7a21b807, 0xf52ff56d, 0x36410874, 0x72d13844,
 22.5123 +0xb0f980f3, 0xa5de3645, 0x1a75249e, 0x09a20143,
 22.5124 +0x23b7d154, 0x0406a9a0, 0x33851c0a, 0xb3ecbebc,
 22.5125 +0x500346bc, 0x85048d1a, 0x0a32fb06, 0x1913042e,
 22.5126 +0x53565751, 0xcb200c7f, 0xcd86c10f, 0x20081db3,
 22.5127 +0x43b3cd2f, 0x3a6efbd3, 0x724c8b1d, 0x0cd343c8,
 22.5128 +0xff587111, 0xf889fb79, 0x853c8df8, 0x3da43082,
 22.5129 +0x27ff457a, 0x02468ac8, 0x02763c3c, 0x237c3cb0,
 22.5130 +0x57b59c97, 0x6a82d3a8, 0x91e906ba, 0x5f5e5b18,
 22.5131 +0x704a5cd3, 0xe88d8810, 0x7cdc78ae, 0xb42a5a57,
 22.5132 +0x57a4605a, 0xa094e0b6, 0x74328c6d, 0xf90b5397,
 22.5133 +0xdd0487b0, 0x6c09bfc4, 0x210b0130, 0x38080789,
 22.5134 +0x22c19f01, 0x8a4046c4, 0xb9086f18, 0xfbb60f60,
 22.5135 +0x5d04c3dc, 0x015986e9, 0xd4312675, 0xf0790b93,
 22.5136 +0xee838717, 0x4a85bb1d, 0x77b04d81, 0x760ca03d,
 22.5137 +0xa21d3d76, 0xd6b3a622, 0x1caca190, 0x18e02c06,
 22.5138 +0x503cff6c, 0x1588016f, 0x3335c920, 0x02b98778,
 22.5139 +0xa34056ff, 0xd2de9504, 0x351db0fb, 0x81b7ba8f,
 22.5140 +0xb0522da8, 0x84e31bec, 0x0d54c255, 0x1b46c714,
 22.5141 +0xaedd409a, 0xab9ca9ad, 0x0a10038a, 0x6fbad4bf,
 22.5142 +0xe94306b8, 0xba800f84, 0x890d75cb, 0x87db89df,
 22.5143 +0x161d87df, 0x3d1370e9, 0x697517b4, 0x6335b508,
 22.5144 +0x2522237b, 0x80381be0, 0xdf76fd9d, 0xe78cb868,
 22.5145 +0x3334a416, 0xc873ff4b, 0x75032c35, 0x017b8025,
 22.5146 +0xc1117b03, 0x02ecb53e, 0x9c3d0000, 0xdd3da9e8,
 22.5147 +0xf6d9f004, 0x75128501, 0xe6e9df09, 0x17d87701,
 22.5148 +0x81364d92, 0x51000000, 0x8bf62515, 0x7535f00b,
 22.5149 +0xa3024c0e, 0x2abbe960, 0x5ec2640d, 0x36ac5a75,
 22.5150 +0x0e2d60d8, 0x876eff35, 0x873d2b33, 0x0c1d260c,
 22.5151 +0x35a12ebf, 0x60a3b022, 0x0f08bcc2, 0xf61b6ffd,
 22.5152 +0xff800158, 0x75082573, 0x02738d2e, 0xbf858b34,
 22.5153 +0x01016b20, 0x54ee39f5, 0x46813737, 0x4dd5b073,
 22.5154 +0x20bc16e2, 0x70ff6033, 0xee700386, 0x1ae9e872,
 22.5155 +0x4192353d, 0xf909c90e, 0x97219100, 0xdc30649d,
 22.5156 +0x2a3faa00, 0x36dfdd00, 0x2f752b46, 0x06e00b06,
 22.5157 +0x53158efc, 0xb2ff6a5d, 0x647d6a50, 0xeb373363,
 22.5158 +0x94f2184c, 0x650dc647, 0x968085b0, 0xb1287605,
 22.5159 +0x780cf20d, 0x3bb59020, 0x523b0e15, 0x061fb683,
 22.5160 +0xeb217b6b, 0xe1143456, 0x7581f874, 0x1e281e13,
 22.5161 +0xfb0e43bf, 0x9f3ceb27, 0x962b2a33, 0xcae46475,
 22.5162 +0xb47f23b6, 0xdab45298, 0x1917a971, 0x9b0203d5,
 22.5163 +0x74876482, 0x89fdec7b, 0xac05d13d, 0x044facbf,
 22.5164 +0x06702ada, 0xb51948c6, 0x305d6825, 0xc0854a42,
 22.5165 +0xd320674a, 0x33650d59, 0x12341832, 0x04378b74,
 22.5166 +0xf0e0fd20, 0x4efa2474, 0xe4a91187, 0x70098e59,
 22.5167 +0x64230418, 0xbf5c9110, 0xc64920e0, 0x7e0786eb,
 22.5168 +0xf807b905, 0x38402605, 0xe8e3d36b, 0xdf80df66,
 22.5169 +0xc7b62de0, 0xd1f61c71, 0x29f9f799, 0x38009a84,
 22.5170 +0xf19b9136, 0xc9114822, 0x9a09bfc0, 0xf541bf5a,
 22.5171 +0x547883c8, 0xf6197601, 0x2b6a0648, 0x71f7c6c5,
 22.5172 +0xefff7154, 0xc7ca8211, 0x3922d519, 0x2a776870,
 22.5173 +0x0d390572, 0x58f77823, 0xbd237764, 0x58428b20,
 22.5174 +0x897c1430, 0x410335df, 0x68511364, 0x77067272,
 22.5175 +0x01db7022, 0xe81e51be, 0x7007e007, 0x2db567ff,
 22.5176 +0xff772a6c, 0xa7c41152, 0xc1482dc2, 0x5028a502,
 22.5177 +0xae962771, 0x09532981, 0x136c2840, 0xf119222c,
 22.5178 +0x1346e830, 0x61a09187, 0xbb0c8714, 0x709faaa9,
 22.5179 +0x00bdcdb0, 0xc5393001, 0x08c16373, 0x0e24613a,
 22.5180 +0xbdff01e0, 0x11ebeffb, 0x7239add6, 0xbd117760,
 22.5181 +0x0a775c5a, 0x5c582bcd, 0x01f5701b, 0x5260b58f,
 22.5182 +0xfee6e89d, 0x2b151853, 0x1443063a, 0x5fac1d45,
 22.5183 +0x30745bd0, 0x797bb172, 0x02b0cf12, 0xcc68713e,
 22.5184 +0xdb0fe2d4, 0x6c8451ce, 0x82449d08, 0x6da2ce2d,
 22.5185 +0x5a545c79, 0x0df420ff, 0xb58dc11f, 0x89b6fbff,
 22.5186 +0x50d829e8, 0x475bc016, 0xe8060174, 0x3d26d698,
 22.5187 +0x6f621bd0, 0xdd75f339, 0xd15e18d8, 0x8bf294ec,
 22.5188 +0x61eaca6c, 0x8c2851e1, 0x36e838fe, 0x99cc2ee1,
 22.5189 +0x4848304c, 0x401ce989, 0xeb1407f0, 0x95df11ce,
 22.5190 +0x7d9ece43, 0x70f87839, 0x74560b70, 0xbd2912ac,
 22.5191 +0x6768df01, 0x06435fc5, 0x94e8033c, 0x267987fe,
 22.5192 +0x97aa4145, 0x46fa3510, 0x835a09e1, 0xff03e01d,
 22.5193 +0x22ab4c40, 0x4f648fd5, 0xe02c85b8, 0x83ba07b7,
 22.5194 +0x02471c7a, 0xc7784288, 0xdf007442, 0xc3f42c3b,
 22.5195 +0x0a5ca8c5, 0xff361f26, 0x9f42e668, 0x8295b40e,
 22.5196 +0x122d7866, 0x0cede037, 0x4920aa7a, 0x1734de30,
 22.5197 +0x8c3751de, 0x380e5f74, 0x10b93c61, 0xc9ba2a00,
 22.5198 +0x3c382a82, 0x801e253c, 0x392841df, 0x2a2476c1,
 22.5199 +0xed0a4c41, 0x6051dbd4, 0xd283f045, 0xb72b1f1c,
 22.5200 +0x20a6d86d, 0x8c3dda11, 0xe8d13840, 0x63e2b84a,
 22.5201 +0x8174512a, 0xa39a48e2, 0x45ee0b06, 0x50d02934,
 22.5202 +0xee15f618, 0xe887c513, 0x50226dbe, 0x0729aa9f,
 22.5203 +0x89cfa520, 0x5409bf62, 0xfef88327, 0x2f2d2274,
 22.5204 +0xec745203, 0x10902168, 0x575d10c5, 0x91a5a931,
 22.5205 +0x4c6248d8, 0xb70549d0, 0xc5c02652, 0xf13631c5,
 22.5206 +0x91ea22a2, 0x8da18865, 0x83a3144e, 0x9ea759d8,
 22.5207 +0xe1945a23, 0xc7b34358, 0x3a3f7b5e, 0x93e83fb9,
 22.5208 +0x30ab88fd, 0xe1d557b4, 0x90d87926, 0x3234ec83,
 22.5209 +0xea1e7060, 0x2d7437e1, 0x1886fe68, 0x0d750cfa,
 22.5210 +0x2c7a0065, 0x75488544, 0xa9bb2ef5, 0x78ab206a,
 22.5211 +0x6a20b33c, 0xef91ea84, 0x54020fa0, 0xc98b0d50,
 22.5212 +0x5cbe109e, 0x82e06d8a, 0x44922ba1, 0xee0f995e,
 22.5213 +0xa1087198, 0x0487730c, 0x0e4040eb, 0x3025211b,
 22.5214 +0x41fb7325, 0x0602641c, 0x9610cdeb, 0x497149ac,
 22.5215 +0x7e0c6bb5, 0xde1d910c, 0x920addb1, 0x8c3f5028,
 22.5216 +0x6844e7dc, 0xca45fdb0, 0x0405742b, 0x7836722d,
 22.5217 +0x08f4f720, 0x36a8f00c, 0xdec86741, 0x20244424,
 22.5218 +0x28a9513a, 0x2e789b10, 0x406a01bd, 0x25ea9b7e,
 22.5219 +0x930bf278, 0x8cef901c, 0xd8194326, 0x20d17ceb,
 22.5220 +0x9f001b14, 0xd8a27c2b, 0xa1159a19, 0x2005c012,
 22.5221 +0xcfed0877, 0x14b59f4c, 0x141d6009, 0x102d6e1f,
 22.5222 +0x0a5149fc, 0x3dbf075e, 0xa36b95e8, 0xf7fe3120,
 22.5223 +0x94749931, 0x72381d39, 0x783589d9, 0x548af79f,
 22.5224 +0xa308f603, 0x9f309f74, 0xb3d27094, 0x1718a64b,
 22.5225 +0x909ab548, 0xf0f1d114, 0x7cdf8b9c, 0x9b776c1a,
 22.5226 +0xbab38e02, 0x34fa361c, 0x39567305, 0xea36944a,
 22.5227 +0x8b477532, 0x75af4b0b, 0x5c91ec63, 0xd3b938eb,
 22.5228 +0x2d7ed27a, 0x16a97dbf, 0xc83c2d46, 0x6c051e75,
 22.5229 +0x177502c8, 0x513ee6c1, 0x161c503a, 0xc446c809,
 22.5230 +0x0ddfedff, 0x6beb0842, 0x104a3941, 0xd87ad37f,
 22.5231 +0x55b3d108, 0x539caa72, 0x37ba4169, 0x187a461d,
 22.5232 +0x7008e9c1, 0xedc45630, 0x39212893, 0x1b749454,
 22.5233 +0x89592ca9, 0xb1cd14d2, 0x04065f63, 0x590b9b2e,
 22.5234 +0x352c1bc1, 0x76097061, 0x1013002b, 0x835b002f,
 22.5235 +0x1ca9441e, 0x1b78808d, 0x6dc37047, 0xdb464085,
 22.5236 +0x741d1c52, 0x1a3c6edc, 0x031a5808, 0x2b001970,
 22.5237 +0x6c043546, 0xf8cc0eed, 0x1adbfbf6, 0x8723dbe9,
 22.5238 +0x441cbc54, 0x031a42c6, 0xa0c60ac4, 0xe7df8619,
 22.5239 +0x5b1177a1, 0xf3e6b1fa, 0xe8fefe81, 0xf5477b04,
 22.5240 +0xc32d9187, 0x49137507, 0x1bc67173, 0x2396e84e,
 22.5241 +0x9a510b0d, 0x7a8600c0, 0x4859890f, 0x49a0b9a9,
 22.5242 +0xf31db357, 0x1e82e6c6, 0xc43ddf4d, 0x1e060ad1,
 22.5243 +0x3dc28098, 0xf759cdd7, 0x0406e881, 0x380a0466,
 22.5244 +0x0ae5ba08, 0xe89b7a64, 0x021b1826, 0x54d64d4e,
 22.5245 +0x5022be9f, 0x6c0f7702, 0x2cc0f505, 0x0ce86403,
 22.5246 +0x819d76c0, 0x92f22837, 0x88aad75a, 0xda22ed5a,
 22.5247 +0x88f8dc25, 0x0289e5d0, 0xa96c774b, 0x638b9d5b,
 22.5248 +0x20620642, 0xd0703e30, 0xf2c15734, 0x5fba3026,
 22.5249 +0x1d071db1, 0x146a8f14, 0x6071391d, 0x3c80cee9,
 22.5250 +0x1c0c6418, 0x0cb1ba4e, 0x1f56115c, 0xe80e2819,
 22.5251 +0x83e2247f, 0x1174fce2, 0x0d7401a8, 0xd6c1becc,
 22.5252 +0x8bd089de, 0x24c6f533, 0xcc7e24fe, 0x86f03a1b,
 22.5253 +0x6a531705, 0x1902163d, 0x0b448850, 0x6e1a0474,
 22.5254 +0x6486395d, 0x1736685b, 0x3c1f19b1, 0x2bdbe13d,
 22.5255 +0x4f448a4f, 0x27eb18cc, 0x4770f043, 0x909e0c28,
 22.5256 +0x8dfc6f86, 0x09c78470, 0xb0ff8147, 0x2c0e4f82,
 22.5257 +0x4206eb40, 0xd506b400, 0x2df34d77, 0x435c43a7,
 22.5258 +0x16be661d, 0xb51cc883, 0xc405826b, 0x18742139,
 22.5259 +0x6cdd6c20, 0x83ac26c2, 0x0d18053f, 0x80ec3f02,
 22.5260 +0x05bc21a0, 0x4016771f, 0xb09b3110, 0x0c353b1c,
 22.5261 +0x6f82a041, 0x67cdf80e, 0x571723ea, 0xd3462a41,
 22.5262 +0x661c3500, 0x073ea647, 0xdc11618d, 0x5bebfc0d,
 22.5263 +0xd072a730, 0xbf068a17, 0x578d4175, 0x01935429,
 22.5264 +0x3a529fdb, 0x8a9ea998, 0x104c2a20, 0xd80a4984,
 22.5265 +0x0f9b04f5, 0x7003072d, 0xebd9e276, 0x09f04c1b,
 22.5266 +0x10783ed6, 0xbfd80049, 0xac84d801, 0x45593630,
 22.5267 +0xe510a774, 0xcd4ac0d2, 0x276c2b06, 0xd8b03c14,
 22.5268 +0x17d4c9e4, 0x1d9a20fe, 0x168b8bd8, 0x46db2e9a,
 22.5269 +0x3dc600cc, 0xcd05ea0c, 0x067c63f1, 0xf7c2a5f0,
 22.5270 +0x3fc221da, 0x90c3c909, 0x3af4d080, 0x8c2d805c,
 22.5271 +0x0030bef4, 0x06880e58, 0xa0841a54, 0x0a6b54d9,
 22.5272 +0x674cc00e, 0xd3847d97, 0x289f0d28, 0x7520b82d,
 22.5273 +0x19cd1fee, 0x3b017f09, 0x25c751d6, 0x25346ab9,
 22.5274 +0x93dfd9ba, 0x2723ebc8, 0x4a88e90c, 0xe35b1424,
 22.5275 +0x4ea34064, 0xce64e2dc, 0x021df7b5, 0x5d763f0c,
 22.5276 +0xbe1ece80, 0x064c032f, 0x52500bec, 0x630a742e,
 22.5277 +0x2f36f02f, 0xf8095834, 0x40619e74, 0xbb603603,
 22.5278 +0x5052318d, 0x075c462d, 0x23830c38, 0xa772a377,
 22.5279 +0xa8f81d28, 0x0319bbdf, 0x11047c4b, 0x7d73b365,
 22.5280 +0x3633d9d7, 0x05371955, 0x1d10c314, 0xe20b0c04,
 22.5281 +0x83afe272, 0xcdc25c5f, 0x32245ed0, 0x58cd5968,
 22.5282 +0x0aec1808, 0x15be7e2c, 0x21c0dbdb, 0x244651a7,
 22.5283 +0x6a0c0637, 0x3b18b42b, 0x7b20aa1a, 0xa5f60b84,
 22.5284 +0x03830a85, 0xfb2a1510, 0xd5fb1f52, 0x617f3b81,
 22.5285 +0x3a8b038b, 0xd2751046, 0x6e9db42d, 0x20462b14,
 22.5286 +0x02700776, 0x095afb85, 0x9d58a366, 0xdcfc0420,
 22.5287 +0x0c158902, 0x0bf6bc56, 0x1474ed68, 0xc0f15031,
 22.5288 +0x82b15389, 0x176e8a91, 0x48dc30f1, 0xdbd54cc1,
 22.5289 +0x21c66f7a, 0x01501f67, 0x5c1cff90, 0x041c8324,
 22.5290 +0x6ef87118, 0x1d048c97, 0xff0120d4, 0x9a508143,
 22.5291 +0x43430b33, 0x10228507, 0xa7201ccb, 0xc25ec13f,
 22.5292 +0x9f1076d6, 0x10c42620, 0xb092e03e, 0x691c226c,
 22.5293 +0x41dbf608, 0xda2551ad, 0x09044618, 0xa46c613a,
 22.5294 +0x08b20606, 0x0843841e, 0x08bd87b7, 0x19531c1b,
 22.5295 +0x39392120, 0x68d43221, 0x127e28fd, 0xb48b6c21,
 22.5296 +0x24bcea24, 0x53008d4b, 0xe81086b7, 0xbea85661,
 22.5297 +0xfa250802, 0x0ebacc14, 0x068abf15, 0xe9470788,
 22.5298 +0xddbe1061, 0x1d0512d9, 0xb156d30c, 0x1b0f4613,
 22.5299 +0xb01e68ab, 0xf676090a, 0x6f605fe9, 0x01752e40,
 22.5300 +0x45757318, 0x2b24848b, 0xecc1bdd7, 0x186c0683,
 22.5301 +0x65783b80, 0xf9b6315f, 0x8a0773b0, 0x700feb03,
 22.5302 +0xceefa603, 0x43701a4a, 0xe9da7529, 0x4669023a,
 22.5303 +0x8c0701a8, 0x1c5128e0, 0xc7bc3dbd, 0x097523bd,
 22.5304 +0x0d465a11, 0xb708756c, 0x178f6fd9, 0x0c13eb46,
 22.5305 +0xb90e7568, 0x030a170c, 0xe17d94b1, 0xc89104bf,
 22.5306 +0x75783c20, 0x7e1cf97e, 0xa1639113, 0x11ebeca5,
 22.5307 +0xe2cd8712, 0xffb76fad, 0x74727c6e, 0x0045c60e,
 22.5308 +0xd0884530, 0x09885843, 0x40c98545, 0xa752c4f0,
 22.5309 +0xf7d8fb79, 0xcffc36ff, 0xab84808a, 0x831ad009,
 22.5310 +0xe87904e9, 0x9f015ce9, 0xfbdd6462, 0xa4850f64,
 22.5311 +0x5e177152, 0x0fd8120b, 0x1615eb70, 0x711b8131,
 22.5312 +0x730979f7, 0x4ff7452d, 0x3603eb89, 0xb9f70250,
 22.5313 +0x05c8210a, 0x6f6e8a1c, 0x0403e42f, 0x70558830,
 22.5314 +0x006667b8, 0x896e6cf7, 0xf725e04c, 0x11038b79,
 22.5315 +0xc1ef4170, 0x5d3202fa, 0x2589f035, 0x8dbe75fe,
 22.5316 +0xda39ff55, 0xbe18c312, 0x6f847b0a, 0x88026ddf,
 22.5317 +0x124a430b, 0xafe9f177, 0x4675404c, 0xe261118c,
 22.5318 +0x049f2c00, 0xdacadee4, 0x2276d88b, 0xbba0500f,
 22.5319 +0xa1b62bf0, 0x55f29568, 0x0e805f12, 0xa9c5631d,
 22.5320 +0xe277240b, 0xc253dd4d, 0x4a64ebdb, 0x4d3d7521,
 22.5321 +0x8806538d, 0xa787d820, 0x0492e542, 0x419968e3,
 22.5322 +0xc93035d2, 0x72cc3b86, 0x0fef2241, 0x7563e12b,
 22.5323 +0x06eb5d30, 0x9c07068a, 0x947378c2, 0x2573eb90,
 22.5324 +0x03d12a3f, 0x249b78fc, 0xe746db72, 0x17671885,
 22.5325 +0x2e30f12a, 0x0200c603, 0x0c11842b, 0x270e62d8,
 22.5326 +0x6010d46c, 0x51c07888, 0x87a0b0c4, 0xb4fcc4aa,
 22.5327 +0x4cc1145d, 0xaa081b5e, 0x60828c95, 0x40dbcb19,
 22.5328 +0x5c563dbc, 0xb200b01b, 0x938a30cd, 0x7d2ff46e,
 22.5329 +0x84464716, 0xd28426ae, 0xd0382274, 0x2ec188d1,
 22.5330 +0xc626ffdf, 0x20488d03, 0xd188c888, 0x4a0bc2f6,
 22.5331 +0xcd4138ca, 0x034fa5f4, 0xcdd0754b, 0x2a4c1f02,
 22.5332 +0x5f5eb576, 0xafcbeeed, 0x8afc56c6, 0x01884202,
 22.5333 +0x6df6ed41, 0x72a9c3ab, 0xe6320315, 0x7da15bdd,
 22.5334 +0x834ade89, 0x20ce8ffa, 0x23430388, 0xa6827bf0,
 22.5335 +0x53edbd46, 0xa63d4c49, 0xd3a0a5e0, 0x4206742e,
 22.5336 +0xac05c834, 0x4b24fabd, 0x82365e48, 0x4c5fafba,
 22.5337 +0x2769d648, 0xc0dac7f4, 0x742c4e2c, 0x05754912,
 22.5338 +0x0f60b0c6, 0x0aeb7ebb, 0x63ee7511, 0xedb5f0a1,
 22.5339 +0xc388565b, 0xdb181a2a, 0xc1f0a527, 0x7eb1562f,
 22.5340 +0x38845fc3, 0x154a0910, 0x793f20a0, 0x5a08cefb,
 22.5341 +0x200f401b, 0x201f5c30, 0x21c2cc02, 0x0cf2df00,
 22.5342 +0xaefeec6e, 0x8d49d1f7, 0x0a351904, 0xf7736f48,
 22.5343 +0x17201bda, 0x89394510, 0x1a2384c8, 0x11f2537b,
 22.5344 +0x6fefe805, 0x050b20ac, 0xc829f461, 0x102474d3,
 22.5345 +0x4900dc11, 0x8925b81f, 0xf63dedf2, 0x8a136c37,
 22.5346 +0x740a3a08, 0xebf6db08, 0xe04d0605, 0xd8fbfb10,
 22.5347 +0x404309eb, 0xd889db3b, 0xda2359d1, 0x72cf83d1,
 22.5348 +0xd862da89, 0x0cac64d8, 0xe72b1137, 0x2fb7d193,
 22.5349 +0x326b5bd8, 0x8b0ff985, 0xa816741d, 0xfa036086,
 22.5350 +0xbb708640, 0xd1e456da, 0xc14dc4c5, 0x1ee8c711,
 22.5351 +0x1f05bc42, 0x211eeb04, 0x8099f08c, 0x98089d11,
 22.5352 +0xb1400471, 0xa36755d7, 0x743b8d26, 0x1ecb19d8,
 22.5353 +0x34301953, 0x64963b24, 0x06892f57, 0x2b8230ba,
 22.5354 +0x1361f022, 0x5e143d0c, 0x0bf0aee1, 0x4d5b0c1a,
 22.5355 +0x24812316, 0x60082437, 0xd6821318, 0x6da26894,
 22.5356 +0x11a1a963, 0x01021398, 0xb82fc24c, 0x4143e56e,
 22.5357 +0x2fef754e, 0xd1b70554, 0xe2904062, 0x45b4210f,
 22.5358 +0x570d4adc, 0x7578a5c8, 0x3e1034f1, 0x5c6ea6c0,
 22.5359 +0x8ed1d8e5, 0xe71829d0, 0x74bacd89, 0x7fd3eb3a,
 22.5360 +0x348878ca, 0x39ce8906, 0x4e187ce9, 0x462e8555,
 22.5361 +0xa824a054, 0xe13452f6, 0xeed2d2a5, 0x5784e87d,
 22.5362 +0x2c1815b1, 0x2b6649a6, 0xdfde3417, 0x428a208f,
 22.5363 +0x89384201, 0x160bebd0, 0x8a8e8ab2, 0x0c8fb420,
 22.5364 +0xac87f457, 0x7277011f, 0x8f803d83, 0xc5525c83,
 22.5365 +0xeb02fd16, 0xf101d858, 0xbf3d8053, 0xc60c7567,
 22.5366 +0xc1820d94, 0x9911572a, 0x788def10, 0x01c8e414,
 22.5367 +0xab3116a3, 0x8d943a03, 0x80627b0a, 0x14d9560d,
 22.5368 +0x0595d554, 0x768d52ab, 0x72ebb70a, 0x45305f40,
 22.5369 +0x82041ae8, 0xfaac0140, 0x2741590c, 0x01bb60a9,
 22.5370 +0x01186f88, 0xb82d0828, 0xa229e807, 0x6db6fbed,
 22.5371 +0xfe682141, 0xffe80957, 0x14eb0bfe, 0xde0895b9,
 22.5372 +0x4e08ff84, 0x80a2bd0a, 0x89f15084, 0x8037e2d8,
 22.5373 +0xbb3eddd7, 0xd0bfcba4, 0xd1ff9549, 0x99208a96,
 22.5374 +0x0a009d06, 0x571006c5, 0xf163e396, 0xc1667c37,
 22.5375 +0xc58908ea, 0x53380ad9, 0x00ed1e1a, 0x1838685f,
 22.5376 +0x47c73174, 0xa4250688, 0xad18b18a, 0x5ad69cc7,
 22.5377 +0x420e0828, 0x81323b1b, 0x89f2bb15, 0x005588e8,
 22.5378 +0xe9036200, 0x1c71ab06, 0x93b2177d, 0x0a0391b9,
 22.5379 +0x5b083008, 0xec0adb2d, 0xfee938c2, 0x71bb5b2d,
 22.5380 +0x2d611325, 0x844d248d, 0x7382008d, 0x6cad4547,
 22.5381 +0x5b2d840b, 0xd81d2d17, 0x47ee08b7, 0xffffcf0b,
 22.5382 +0xa9001037, 0xdc6891e4, 0xfb2641fd, 0xad694882,
 22.5383 +0xaa9e0c2e, 0xcde9c45f, 0xd20a43ef, 0xf447f053,
 22.5384 +0x89d0b18d, 0x66032bc1, 0x04587983, 0x0fee06dd,
 22.5385 +0xa8796c27, 0xe9ec7239, 0x04412aa2, 0x42c60251,
 22.5386 +0xd70916f0, 0xc9ba090d, 0x6dd277fc, 0x037b80f0,
 22.5387 +0x064d15f4, 0x94112204, 0x2bc2722a, 0x02651115,
 22.5388 +0x173475da, 0x5e067f04, 0xa01851c0, 0xfeb78614,
 22.5389 +0x43ddb4dd, 0x08af28eb, 0x06b82d75, 0x35b82606,
 22.5390 +0x14741080, 0x84dc1f68, 0xbecbf00c, 0x29c63c8d,
 22.5391 +0x0ceb0ee9, 0x5616eb8e, 0xb84a4751, 0xcda23a44,
 22.5392 +0x0a13e922, 0xc7f182fe, 0x9a340300, 0x6d080e12,
 22.5393 +0x2c32fca9, 0x0b38a169, 0xdc5f029c, 0x1d8845e2,
 22.5394 +0x23fad5f6, 0x5c545b07, 0x4b821161, 0x204a5e54,
 22.5395 +0x7495f107, 0x6ef4e8a1, 0x109814b6, 0x3e0bec75,
 22.5396 +0x0b146c2a, 0x43c1dc26, 0x7d8b3673, 0x0006d00a,
 22.5397 +0x2e8b8185, 0x70a25b1b, 0x130c852a, 0xb403be1c,
 22.5398 +0xd8a11659, 0xb62c4535, 0x39eb1e32, 0x01303f2e,
 22.5399 +0x03a62900, 0x0e42c8b6, 0x6fb285c4, 0x91fb8c0b,
 22.5400 +0xffcc7919, 0xd62d67ff, 0xbe72a464, 0x7d01355f,
 22.5401 +0xfb35c653, 0x7e3e8777, 0x2fad8a8d, 0x4e8d4ec5,
 22.5402 +0x1d022a24, 0x1aeba685, 0x0703d159, 0x42f90506,
 22.5403 +0x2488d5b7, 0x08073bff, 0x6d4a2488, 0x513985f8,
 22.5404 +0x08e2c11a, 0x8a194141, 0xeb6bafa0, 0x09340b20,
 22.5405 +0x0dfc0a63, 0xafb77775, 0xeb050fc9, 0x75025329,
 22.5406 +0x3503501f, 0x10b008dd, 0x0307cd03, 0x04240908,
 22.5407 +0x0b2af0d7, 0x2d1e04cd, 0x05e901d9, 0xfa852749,
 22.5408 +0x15daacff, 0x9fc2374c, 0xe0368696, 0xf5b0f04d,
 22.5409 +0x96801209, 0x9c163498, 0xab20c1c0, 0x10071a7b,
 22.5410 +0x9b116600, 0x1881de61, 0x6bed1241, 0x0c26c5c3,
 22.5411 +0x0fa70e06, 0xe884056b, 0x01c06b27, 0xa93e0000,
 22.5412 +0xec1022db, 0x0f030eb7, 0xeed3f4b0, 0x513d02e9,
 22.5413 +0x570a7f04, 0x6872e913, 0xf603a036, 0x18643704,
 22.5414 +0xc58843d5, 0x1122ca6b, 0x18367339, 0xd94eb610,
 22.5415 +0x6023b34a, 0xcd684de9, 0x86d84233, 0x3756056d,
 22.5416 +0x76e94d33, 0xdea90e0b, 0x157631ea, 0x906c1639,
 22.5417 +0x1606a96e, 0x877ceb40, 0xe4a1e305, 0xb50608da,
 22.5418 +0xd7d8b10e, 0x12c1d778, 0x7df3fcff, 0x05c54f11,
 22.5419 +0xf147d490, 0x8a101b10, 0x0c9d1296, 0x100e1516,
 22.5420 +0x7df1a523, 0x1464d7ec, 0x1f742d3d, 0x3d097f06,
 22.5421 +0xbc2e1800, 0xeb0b0dfe, 0x5b3d3d1b, 0x872e12eb,
 22.5422 +0xb82dd4ae, 0xc0020510, 0xfbf80305, 0x8e628b57,
 22.5423 +0xe856af89, 0xe0e8f6ec, 0x950e1767, 0xfd44eb56,
 22.5424 +0xffffc995, 0x8b070874, 0x3dc92d5d, 0x984da10d,
 22.5425 +0x1078009d, 0x460e6206, 0x952561c6, 0x181c570a,
 22.5426 +0x2eba0c07, 0x530456f8, 0xad08063d, 0xa60bf885,
 22.5427 +0x6a3c5da4, 0xdd35f7ff, 0xeb786c66, 0x8bf802e8,
 22.5428 +0xea053b77, 0xf11a74eb, 0x645594ba, 0xdc1ba31c,
 22.5429 +0xabb10705, 0x8330b60a, 0x5b62188a, 0xe8a120c5,
 22.5430 +0x22931154, 0x13733d07, 0x88c14508, 0x0200086e,
 22.5431 +0xec0e7a14, 0xcdf41018, 0x82613bad, 0x3606ec45,
 22.5432 +0x3c89660e, 0xd0d63db8, 0x54669e1f, 0x189a5078,
 22.5433 +0x94908912, 0x46360c11, 0x980e1ce3, 0x8804d9e1,
 22.5434 +0x052474aa, 0x7ac0ff9c, 0x4ef53aca, 0x8a5f5b24,
 22.5435 +0xf120068a, 0x934af6fa, 0xb26ba490, 0x32cc2d2c,
 22.5436 +0x0c1d87a0, 0x817800a2, 0x7875abba, 0x31ef110d,
 22.5437 +0x4780828d, 0x7553ad82, 0x82dc89f6, 0xff0c0998,
 22.5438 +0x08fd1066, 0x2790820f, 0x0d09e1b0, 0x50081b8b,
 22.5439 +0x15ccdbc6, 0x1894d122, 0x1c76613e, 0x2c4e8814,
 22.5440 +0xd102fde3, 0x04f93449, 0x720b4306, 0x2a044c05,
 22.5441 +0x520013ff, 0xf5f45176, 0xcce44276, 0x83ac6001,
 22.5442 +0x52b152dd, 0xa2d438c4, 0x388afb3d, 0x73a33b36,
 22.5443 +0x2b743939, 0x0ec59b74, 0x5d26a78b, 0x48e8f3f3,
 22.5444 +0x015397c1, 0x1cfc9498, 0x11603000, 0x74145cac,
 22.5445 +0x8e84a680, 0xfcf59861, 0xe46c5b79, 0x025efa43,
 22.5446 +0xa0559d53, 0x0cb08b86, 0xdf4586a8, 0x30c2637c,
 22.5447 +0x82968b1e, 0x0b1df012, 0x94061078, 0x7e086840,
 22.5448 +0x861b49e4, 0x4ecb24b4, 0x3301069f, 0x72058692,
 22.5449 +0xbbf4ff06, 0x7698c06c, 0x986a0079, 0x6181de0e,
 22.5450 +0x7cb7790b, 0x982c093a, 0x0ca41b0b, 0x8d87c716,
 22.5451 +0x8e134510, 0x841b8903, 0x3c632362, 0xb620898b,
 22.5452 +0x2bb2ba46, 0x9b189960, 0x6615c908, 0x3be07e9e,
 22.5453 +0xca417a24, 0x0276095a, 0x6a89100a, 0x504ed962,
 22.5454 +0x0fc961c7, 0x4a0666a4, 0x1162b58d, 0x8d3b1551,
 22.5455 +0x281115a0, 0x808d63ff, 0x94186117, 0x08b162f7,
 22.5456 +0x24c44813, 0x00df17e0, 0x478b686b, 0x018b840c,
 22.5457 +0x4c4afedc, 0xf01e6f45, 0x47b0ee83, 0xe038ef10,
 22.5458 +0x7630ad0e, 0xf0390ebb, 0x548a1573, 0x6a06414f,
 22.5459 +0x9c80fc98, 0xcf1213d1, 0x518d5610, 0x6eac5208,
 22.5460 +0x81552ea2, 0x0e73aff1, 0x9d21bbbe, 0x5bf03e90,
 22.5461 +0xf335c45e, 0x11845596, 0x782a7860, 0x28a963b8,
 22.5462 +0x6d17c32a, 0xc1d502e8, 0x02292514, 0x7ab01131,
 22.5463 +0x00ba1c02, 0xbf5b084f, 0x31422ec8, 0xf2d95b26,
 22.5464 +0x08c708ed, 0x0b8de9be, 0xeade0a46, 0x89d7fb10,
 22.5465 +0xbf05dec7, 0x1d110815, 0x99b46f83, 0x4e5ec66a,
 22.5466 +0xfb811cc3, 0x060c50d3, 0xcd377eef, 0x7206e8eb,
 22.5467 +0xe846b1b6, 0x450e0e56, 0x0c22da1b, 0xf0948145,
 22.5468 +0x4f54d2d1, 0x1e8d5388, 0xe084d2c7, 0x857634b6,
 22.5469 +0x4449c7bc, 0x3082ac8d, 0x72f4d001, 0x7625a80d,
 22.5470 +0x7234b778, 0xfce00976, 0x05dbbea8, 0x846c9501,
 22.5471 +0xd9293911, 0x81788e3d, 0xdbfdfcc3, 0x2dd50bf1,
 22.5472 +0x0324530c, 0x12018802, 0xe7175a15, 0xdf440306,
 22.5473 +0x6a030d0b, 0x79803431, 0x7b5420b0, 0xeaa11007,
 22.5474 +0x1e4682cb, 0x18f4a114, 0xea03a8d5, 0xef9e7747,
 22.5475 +0x8a232c26, 0x145ea435, 0x3f34ed18, 0x1984e8b7,
 22.5476 +0xcc040015, 0xdca0163a, 0x186b8758, 0xf6e20a34,
 22.5477 +0x4148d054, 0x2d757a7e, 0xa7a8042e, 0x08247543,
 22.5478 +0xc3123ba5, 0x0646df0e, 0x0d270434, 0xb91f56ee,
 22.5479 +0x088f52ec, 0xbbbe0a06, 0x81040b21, 0x24731cfa,
 22.5480 +0x2a940f6e, 0xfd6d5356, 0x38c097ee, 0xb0491585,
 22.5481 +0xe3b684f0, 0x073d3adb, 0x7f7c2e86, 0x1b2188fe,
 22.5482 +0x2dde96b3, 0x3982fa09, 0x38ff239a, 0x2be8e0ab,
 22.5483 +0x4bd07601, 0x941be80d, 0x1f181a90, 0x589703ed,
 22.5484 +0x2c148084, 0xd50bbb12, 0xf3897d98, 0x89c01d03,
 22.5485 +0x168692ec, 0x640105bb, 0x980794a1, 0xeebbbb35,
 22.5486 +0x11bc25e8, 0x4ee85ea9, 0xa6e10486, 0xddd502b2,
 22.5487 +0x09d713f7, 0x13e82a39, 0x5ba138be, 0xd68f0aa0,
 22.5488 +0x1d1c0e48, 0x2495033b, 0x518f0550, 0x62cbc034,
 22.5489 +0xf02324ab, 0x47efbbbf, 0xdc94d406, 0x6712c358,
 22.5490 +0x11602130, 0x6c833d83, 0xc0c20761, 0x1416a760,
 22.5491 +0x23056629, 0x3b7114e1, 0x299b7622, 0x2f021afc,
 22.5492 +0xcf6c12f8, 0x0210b763, 0xc48f0800, 0x14110800,
 22.5493 +0x8f463467, 0xb3567f08, 0x227fbcb1, 0x6612a35b,
 22.5494 +0x8f810dcb, 0x08dea046, 0x9201898f, 0x0b67d25f,
 22.5495 +0x039cdf51, 0x01a00515, 0x6d8c8c08, 0xe98ca8b1,
 22.5496 +0x0708a511, 0xb7c8db63, 0x0d7328ad, 0x0d16ff0d,
 22.5497 +0xab69762d, 0xf2f8147f, 0x080dc184, 0xc8db62b7,
 22.5498 +0x110baa8c, 0x84ef08c0, 0x8dbb3cc5, 0x0f3c367c,
 22.5499 +0x0801e40d, 0xb1a8cd8c, 0xe0558aad, 0xdcc71108,
 22.5500 +0x284d57c8, 0xc3a73013, 0x1edb7f30, 0x0457b6d9,
 22.5501 +0x201e0d20, 0x1404207f, 0xb7236d0d, 0x0801ee73,
 22.5502 +0x1115d48c, 0x36d83ced, 0x24d73bf6, 0x08120d22,
 22.5503 +0xba01f88c, 0x23f6c8db, 0x08251111, 0xae280219,
 22.5504 +0xc6a136be, 0x0847710d, 0xe46832c4, 0x2d0dd916,
 22.5505 +0x33168c08, 0x8d632df6, 0x2e700815, 0x3a0d7736,
 22.5506 +0x7532d9aa, 0x7318084a, 0xc1b1b6ed, 0x76125b1b,
 22.5507 +0x3d08390d, 0xcd4b234d, 0xf80aa55c, 0xb0f25202,
 22.5508 +0xdce8ea31, 0x103b07ed, 0x8321ee56, 0x732a721c,
 22.5509 +0x321c8319, 0xad0890c8, 0x64190ff7, 0xe6e40190,
 22.5510 +0xc832ef01, 0x2bd52721, 0x833369c4, 0x0db3481c,
 22.5511 +0xc9c8b830, 0xe9041ec3, 0xf02e1ea5, 0x321c8394,
 22.5512 +0x6e8670c8, 0x20d8c875, 0x0d67f823, 0x320d87f9,
 22.5513 +0x4bfa5932, 0xe4e4f83a, 0x1e3a20d8, 0x202cf125,
 22.5514 +0x233c9d87, 0xc7101bf1, 0xc8793c83, 0xf9f2130a,
 22.5515 +0xf272fd00, 0xe8f39390, 0x90d7f41a, 0x0f1e4e43,
 22.5516 +0x872cc6f5, 0xb5643c9c, 0xdca4f64e, 0x20c87939,
 22.5517 +0x82f76593, 0x0e4f6393, 0x0d74eb90, 0x6472f871,
 22.5518 +0xb6669190, 0x8ef96858, 0x4a72320c, 0xfabe3c94,
 22.5519 +0x4ed82702, 0xc2190a2e, 0x20d8e495, 0x1d0a23db,
 22.5520 +0xfb1e2318, 0xc1d020a2, 0x0c0002b2, 0xdc310042,
 22.5521 +0x43ae0433, 0xc4a85127, 0x57561959, 0x09e8edf8,
 22.5522 +0xff0e317e, 0xc8fcfad6, 0x25c58909, 0xb6c01682,
 22.5523 +0x506e5d41, 0x58fa83fc, 0x20eb0774, 0xbb38eb2b,
 22.5524 +0x5788c780, 0xd0246818, 0x7412e65c, 0x1d8f4159,
 22.5525 +0x67901476, 0x3d481e6c, 0x164a0d04, 0xa0ed8a17,
 22.5526 +0xe672c88d, 0xb108a30b, 0xf510db0e, 0x87cac885,
 22.5527 +0x8bac817d, 0x09ef57ed, 0xe4300272, 0x550a88ae,
 22.5528 +0x25c9b9c4, 0x093cd803, 0x0205644a, 0x3d0a6f32,
 22.5529 +0x0c9724c8, 0x07310c0a, 0x3c0b23f6, 0x1c244c8a,
 22.5530 +0x3c9b0b40, 0x7ccb25e4, 0x5c777cf0, 0x3a216432,
 22.5531 +0x1325900c, 0x0db59320, 0xc932160c, 0xa6dc7a55,
 22.5532 +0xa442f1a2, 0xc8494350, 0xa4e35c58, 0x2fa3c6de,
 22.5533 +0x410d4763, 0x35932088, 0x963e3b3a, 0xa9050a8a,
 22.5534 +0x44100c2f, 0x9e803b74, 0x203cfa81, 0x630fa89d,
 22.5535 +0x6fcd70b9, 0x8925dfe4, 0xca684524, 0x042d82aa,
 22.5536 +0x0016c468, 0x3db3504c, 0x82855527, 0xe6b882a6,
 22.5537 +0x4bea7ff1, 0x0fd83947, 0x3b810982, 0x5f32335f,
 22.5538 +0x75456a75, 0x09765b13, 0xb1617420, 0x9eb7b7fe,
 22.5539 +0xa87dc22e, 0x0742130c, 0xc984f87c, 0x7b804a75,
 22.5540 +0xb1b84508, 0x2953632a, 0xb7e33456, 0xef7fa402,
 22.5541 +0xefb9d1e3, 0x6db1fddb, 0x7b812375, 0x765fff04,
 22.5542 +0x23eca312, 0x90c04b78, 0x25a3e0cb, 0x21588b37,
 22.5543 +0x87a28375, 0x68399fa0, 0x41d67883, 0xd4e80574,
 22.5544 +0x7c0464ec, 0x305b08e4, 0xcde23d83, 0xbc540b62,
 22.5545 +0x0d0d2922, 0x628c05d6, 0x62681ba9, 0x9aafc413,
 22.5546 +0xf1b06140, 0x3e2058d8, 0xe4c30158, 0xfd7b8861,
 22.5547 +0x03bedc40, 0x61e601b5, 0xe608b0b2, 0x54c89543,
 22.5548 +0xe60430bc, 0x00b7a142, 0x10d7260b, 0x692a2542,
 22.5549 +0x3bb80b05, 0xc3c39d52, 0xc1e80445, 0x6dc22e39,
 22.5550 +0x08de7d14, 0x9680fb46, 0xd575831e, 0x7008d002,
 22.5551 +0x826d880d, 0x0889c202, 0x5b583153, 0x0410033c,
 22.5552 +0x1230a202, 0x4b836855, 0x1b073d77, 0x0456c112,
 22.5553 +0x98418202, 0xd23b17fd, 0xd3ba3e3b, 0x2810624d,
 22.5554 +0x0b6c1bb5, 0x5728a060, 0x13e0bfdd, 0x4c50878a,
 22.5555 +0x803903c4, 0x127fb667, 0x0e1fb007, 0x3016e409,
 22.5556 +0x0c25845d, 0xea08eae8, 0x50046b80, 0x74077aa7,
 22.5557 +0x254c008d, 0xe204097a, 0xf48c1729, 0x4f0a0b4c,
 22.5558 +0x9d9f1f40, 0xf0adf868, 0x80050caa, 0x01e74519,
 22.5559 +0xe286d879, 0x962a04a3, 0x0c402a08, 0xeb01cd2a,
 22.5560 +0x0609100e, 0xaf2a1440, 0x26029800, 0xd8c937a6,
 22.5561 +0x4020ba59, 0x65092824, 0x8c6229ef, 0x9d2a9d02,
 22.5562 +0x277c0140, 0x686e30cf, 0x33a26822, 0x681d4dbe,
 22.5563 +0xda57163c, 0x761dd52c, 0x2cccc990, 0x0209d04f,
 22.5564 +0x66c3b81a, 0x12d4482a, 0x49d98683, 0xe4e031c6,
 22.5565 +0xbe1eae2c, 0x097582a5, 0xc7a93103, 0x4dd1ec31,
 22.5566 +0xe3f37cf2, 0x0709f8f4, 0x548bac1e, 0x310109c9,
 22.5567 +0x0ecd6807, 0x007cd239, 0x2d08c12d, 0x4ecd480c,
 22.5568 +0x1c8009e8, 0xc9f66d2d, 0x224857c8, 0xe1948c34,
 22.5569 +0x98300521, 0x5b2d9ced, 0x37ea81b7, 0xdb680166,
 22.5570 +0x7031a068, 0x5ac63878, 0xde6808d0, 0x7070f168,
 22.5571 +0xaee0b005, 0x2081e786, 0x0991409c, 0x284ecef6,
 22.5572 +0x2d209ee8, 0x8720f55f, 0x03f56c04, 0xe8af76ee,
 22.5573 +0xc0118348, 0x18477f4c, 0xbc40641a, 0x1b7f9fec,
 22.5574 +0x4ff97da0, 0x7383d775, 0x588d1b8c, 0x3ae7e8c3,
 22.5575 +0x5b03a6aa, 0x7dbf114b, 0x090d8e77, 0x54754b62,
 22.5576 +0x9dfcda47, 0x77936ddb, 0xe8209e88, 0xf2990ed8,
 22.5577 +0x7d8121aa, 0x2000004e, 0xb06421cb, 0x03c606ad,
 22.5578 +0x6c44dbcb, 0xbd0b1f60, 0x8b3f4a14, 0x90b644fc,
 22.5579 +0x45e40000, 0x1fff6874, 0x02fa17fe, 0xc5010135,
 22.5580 +0x1161dc05, 0xbeadde00, 0xe3ba97ef, 0x505d03c0,
 22.5581 +0x8401035e, 0x7fdd203c, 0x5850ffff, 0x696c4345,
 22.5582 +0x3a746e65, 0x68637241, 0x3a00303a, 0x49444e55,
 22.5583 +0xfb0b320a, 0x31026fff, 0x03010d37, 0x803c2b0c,
 22.5584 +0x84838281, 0x5f878685, 0xc07d8b00, 0x323e3603,
 22.5585 +0x02586b05, 0x110e067b, 0x56c8df6c, 0x73031365,
 22.5586 +0xc594585f, 0x47062bbe, 0xffe063db, 0x46a44fff,
 22.5587 +0x4c415441, 0x6f4e203a, 0x61657220, 0x6f6d2d6c,
 22.5588 +0x73206564, 0xdd2dd77f, 0xe76b6380, 0x03004121,
 22.5589 +0x002b564e, 0x676e6143, 0x6eee6cae, 0x2023746f,
 22.5590 +0x21241476, 0x6edfb7fd, 0x17725025, 0x6c6f636f,
 22.5591 +0x48444473, 0x54205043, 0x02fe5446, 0x1604adff,
 22.5592 +0x0063696e, 0x6b736964, 0x706f6c10, 0xba007970,
 22.5593 +0x153bdbed, 0x656e7265, 0x64646142, 0x39252a72,
 22.5594 +0xdefbad56, 0x64696fde, 0x6b6e0320, 0x51655b20,
 22.5595 +0xdb630d62, 0x2773b6d6, 0x31181b64, 0x330639a4,
 22.5596 +0xfb7fb5bb, 0x32380030, 0x6163af38, 0x6565006d,
 22.5597 +0x30126e70, 0x4264162d, 0x0d32ac26, 0x64263433,
 22.5598 +0x36352642, 0x6ed67237, 0x353863ce, 0x0e9f3236,
 22.5599 +0x84d84c61, 0x632c621d, 0x0aff640d, 0x006584ee,
 22.5600 +0x35381b0b, 0x2c6d7131, 0x07636bf6, 0x36bbf239,
 22.5601 +0x58780d35, 0x5db60d9b, 0x073d076d, 0x360d81b5,
 22.5602 +0x587a1732, 0x0cc25b4c, 0xb7350d97, 0x17451b0d,
 22.5603 +0x45f7f85e, 0x524f5250, 0x75736e55, 0x74726f68,
 22.5604 +0x6d41203e, 0x508b7b61, 0x632522a1, 0x57492201,
 22.5605 +0x42db0a2c, 0x20676ee1, 0x0c78d764, 0xf85b613c,
 22.5606 +0x3e21eb7f, 0x74667408, 0x2f3a0070, 0x6f4c002f,
 22.5607 +0x00206990, 0x25bb2f7a, 0x400b2073, 0x15800e3a,
 22.5608 +0x422d5c28, 0x23f1986f, 0xb7b435b6, 0x697372e0,
 22.5609 +0x4473c050, 0x17ed0864, 0xd065d46e, 0x7aba6c69,
 22.5610 +0x6d203e20, 0x6e12dbd0, 0x280f076b, 0x002e9637,
 22.5611 +0x85856b20, 0x72671b1f, 0x40d220b6, 0xadf77b38,
 22.5612 +0x204d3450, 0x22676962, 0x2949424e, 0x35ad1c05,
 22.5613 +0x17054647, 0x8fbb1024, 0x61013ed1, 0x6d69125e,
 22.5614 +0x3c586761, 0x5cdee873, 0x7baceb2b, 0x435f7469,
 22.5615 +0xfedb5d70, 0x2008a7c5, 0xd1756f66, 0x530f1a2e,
 22.5616 +0x6b99b7bb, 0x10119541, 0x9c654d0a, 0xf75c0040,
 22.5617 +0x8d2c8c58, 0x2628200a, 0x0e122906, 0x9b3d83f6,
 22.5618 +0x6c65521d, 0x470b7961, 0xd7851d61, 0x0d773416,
 22.5619 +0x6583450c, 0x70d75ecd, 0x20f497a9, 0xadb165db,
 22.5620 +0x1b09edb9, 0xa025966d, 0xb47caf73, 0xf3976b5b,
 22.5621 +0x8e726135, 0x2ec565b9, 0xfcd270c4, 0x3d6e7716,
 22.5622 +0x2ed6b7ba, 0x16706d15, 0x7562615b, 0x6c733874,
 22.5623 +0x90152b6d, 0x06740e29, 0xcc226b2d, 0x7a462e1a,
 22.5624 +0x3364a265, 0xdb6b0705, 0x283380d6, 0x1f2a2925,
 22.5625 +0x67495200, 0x4346d68d, 0x001e147f, 0xd22143d1,
 22.5626 +0x5049902f, 0xc3887a4a, 0x0a5be193, 0x69656306,
 22.5627 +0x6299f976, 0xee876bb4, 0x756e8c06, 0xb564733a,
 22.5628 +0x6b7609b2, 0x445576ad, 0x58270630, 0x044f6d75,
 22.5629 +0x0a748a7b, 0x7f64f7a0, 0x2fc7056b, 0x78302007,
 22.5630 +0x54286c25, 0x98682dd6, 0x66f443f0, 0xd190726f,
 22.5631 +0x6585dc0a, 0x311122c9, 0x34f06e6b, 0xf5dd286c,
 22.5632 +0x39f27665, 0x4a237079, 0x2b6dbdad, 0x7927588b,
 22.5633 +0x5f895227, 0xec7876ad, 0x6c20666f, 0x4e6c7275,
 22.5634 +0x5ae70e14, 0x44197361, 0xb9c33f6e, 0xb1dcc6c4,
 22.5635 +0x5a622c0e, 0x5bb36173, 0x2790c65b, 0x175d07db,
 22.5636 +0xf7696370, 0xd2a50bfd, 0x1929e232, 0x43424139,
 22.5637 +0x3d464544, 0xe6d6facc, 0x6868032e, 0x01673a58,
 22.5638 +0xe3e37500, 0x395f2fd1, 0x4f6f205b, 0x0a187753,
 22.5639 +0x7ea431ae, 0x2e352781, 0x52bd9734, 0xca6f2ea5,
 22.5640 +0xd2203418, 0x166217c6, 0x4c504784, 0x23746829,
 22.5641 +0xa6b0e146, 0x2e1c6522, 0xa078bb09, 0xad44de95,
 22.5642 +0x20805403, 0x50ee1d1c, 0xd00d0785, 0x9f60f720,
 22.5643 +0x007f116e, 0x73887845, 0xd6db0e3a, 0x6d27b6de,
 22.5644 +0x775f6ffc, 0x57287a3a, 0x186b6d74, 0xaea93c0a,
 22.5645 +0x2110776d, 0x688fdbd8, 0xd93d20f3, 0x270a2e58,
 22.5646 +0x12051a90, 0x588d26d9, 0x1835b6c6, 0xac32da3a,
 22.5647 +0x8e611e78, 0x0dd1d1d0, 0xcb69306d, 0x3063946c,
 22.5648 +0x8bb747b4, 0x532ce870, 0xdd26f549, 0x3a9de592,
 22.5649 +0x6a6e4998, 0xb18cbc2d, 0x25184d3e, 0x0a2c4423,
 22.5650 +0x0e9815ad, 0x7839f9e1, 0xdc75cd6b, 0x0465625c,
 22.5651 +0x350e5365, 0x6105ed12, 0x7369bdc3, 0x0ae257f1,
 22.5652 +0x5c1b02ed, 0x30344338, 0xeb6cfd33, 0x2b76152d,
 22.5653 +0x2c8e3c63, 0xd6b46843, 0x31676431, 0x58bd4a8f,
 22.5654 +0x5cb854e1, 0x377ac7ab, 0x21b1d7b5, 0x7974ab67,
 22.5655 +0x746763ca, 0xd4b70c68, 0x44320b66, 0x6b8d0a63,
 22.5656 +0x3852b46b, 0x70d791ee, 0xe0706051, 0x4e5e7206,
 22.5657 +0x422c9402, 0x86ffcbc3, 0xd2303bc5, 0x213fd6ce,
 22.5658 +0x1075803d, 0x6b0c6d19, 0x5f733009, 0x0a061a6c,
 22.5659 +0x6d04edce, 0x25809aba, 0xd558b5a1, 0x06b11dee,
 22.5660 +0x33f3a3d9, 0x6d612c92, 0x30932e61, 0xc261562f,
 22.5661 +0xa9651856, 0xd7073c20, 0x34fd23c0, 0x041fd76f,
 22.5662 +0xe26bc781, 0x462f4538, 0xfb32d133, 0x702e8f05,
 22.5663 +0xb61b630b, 0x6b0e6230, 0xf1621f0a, 0x6d0bb165,
 22.5664 +0xc707fd48, 0xde696e67, 0x96582946, 0x3e777d3e,
 22.5665 +0x96c01621, 0x222f3273, 0x8a75eec7, 0xe96c6975,
 22.5666 +0xc2b86ade, 0x64b18709, 0xe57652b7, 0x33a63a5f,
 22.5667 +0xac78dc14, 0x78c53772, 0xc3b27590, 0x0cbe2978,
 22.5668 +0x0f29000a, 0x73c09c0e, 0x037c288c, 0x0cdac536,
 22.5669 +0x326e2007, 0x3e7978c7, 0x222c5bdc, 0x65757186,
 22.5670 +0x084008d1, 0x24f0cdb1, 0x73638a2b, 0xb92c1879,
 22.5671 +0x646d27a6, 0x2d4620fc, 0x00c5bdb6, 0x545245a1,
 22.5672 +0x8fdc6783, 0x844345c2, 0x70d65861, 0x8705c782,
 22.5673 +0x512d52eb, 0x75672620, 0xb0df70a6, 0x87367942,
 22.5674 +0x0d074fd0, 0x83ba1ee7, 0x8a767077, 0xb62549a4,
 22.5675 +0x4674b40b, 0x19666692, 0x63ac2b21, 0x791113b9,
 22.5676 +0xe1000058, 0x9e058668, 0x974f4f42, 0x3a33002d,
 22.5677 +0xf13c1883, 0x6e00f600, 0xf3ea6bb8, 0x816c7e68,
 22.5678 +0xcb623436, 0x82524142, 0x19df7b9b, 0x3a783830,
 22.5679 +0x6f132004, 0xa602c273, 0x2184d057, 0x6c3564d2,
 22.5680 +0xe1833867, 0x0aba8170, 0x7dce2300, 0x23d62119,
 22.5681 +0x28003f58, 0x6a5d6181, 0x3a5225f9, 0x73c11bc0,
 22.5682 +0xc1796141, 0x1b050f80, 0xdd578af6, 0x2e8b3210,
 22.5683 +0x5efa7bd6, 0x1a7555fe, 0x016b58ae, 0x17cf6e61,
 22.5684 +0xa71d1c06, 0x6db37561, 0xcd6e860c, 0x400312d0,
 22.5685 +0x6fff26c7, 0x85b5c32e, 0x0a7529dd, 0xa9b84647,
 22.5686 +0x8305c60b, 0x6867ed46, 0xb4223cb8, 0x76b746c3,
 22.5687 +0xc83d602e, 0x00dabb75, 0x1f1d278f, 0x51079d08,
 22.5688 +0xbfc0142d, 0xd9c84070, 0x1ff17ab1, 0x9307cf9f,
 22.5689 +0x360d95b0, 0x1f93179b, 0xb6016e00, 0x27021009,
 22.5690 +0xb2032bc0, 0x30d81760, 0x03082292, 0xfd468d00,
 22.5691 +0x8024168e, 0xfb9f9e32, 0x60f6f04b, 0xb648f200,
 22.5692 +0xba3f80f2, 0x10298086, 0x91079266, 0x30f91e47,
 22.5693 +0x10316d10, 0x7d103274, 0xe4791e47, 0x348b1033,
 22.5694 +0x10359910, 0x1e1036a7, 0xb591e479, 0x38c31037,
 22.5695 +0x1039d110, 0x91e479d8, 0xe0103a47, 0x3ce7103b,
 22.5696 +0xcfc8f010, 0x103d1e47, 0x0c103efe, 0x1a105193,
 22.5697 +0xf23c8f23, 0x09201059, 0x12272812, 0x3d9e2830,
 22.5698 +0x3612c8f2, 0x493c1229, 0x242f4524, 0x91ec1b4d,
 22.5699 +0x245d07c7, 0x5d105055, 0x1007654f, 0xfa14b63e,
 22.5700 +0x52010773, 0x40179381, 0x01ae1284, 0x14b50537,
 22.5701 +0x41be43d5, 0x2a1a0240, 0x037ef8b7, 0x664693f1,
 22.5702 +0xb0daadba, 0xbf0fce03, 0x4ffd9609, 0x803f0405,
 22.5703 +0x63538263, 0x51800b96, 0x05afd8f6, 0x0302b16b,
 22.5704 +0x9615ec87, 0xb8006dc2, 0x86550344, 0x2200b7aa,
 22.5705 +0xdb2bec0a, 0x2bbfd23f, 0x7f4507d0, 0x9d957842,
 22.5706 +0xc0375e54, 0x00006d05, 0x2000c000, 0xffff0001,
 22.5707 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5708 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5709 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5710 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5711 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5712 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5713 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5714 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5715 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5716 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5717 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5718 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5719 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5720 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5721 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5722 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5723 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5724 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5725 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5726 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5727 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5728 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5729 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5730 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5731 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5732 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5733 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5734 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5735 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5736 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5737 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5738 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5739 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5740 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5741 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5742 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5743 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5744 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5745 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5746 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5747 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5748 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5749 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5750 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5751 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5752 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5753 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5754 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5755 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5756 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5757 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5758 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5759 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5760 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5761 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5762 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5763 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5764 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5765 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5766 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5767 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5768 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5769 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5770 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5771 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5772 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5773 +0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5774  0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5775  0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
 22.5776  0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    23.1 --- a/tools/firmware/etherboot/make-eb-rom-list	Mon Apr 14 14:04:58 2008 -0600
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,11 +0,0 @@
    23.4 -#!/bin/bash
    23.5 -set -e
    23.6 -roms=$1; shift
    23.7 -echo "/* autogenerated - do not edit */"
    23.8 -echo "#define ETHERBOOT_ROM_LIST \\"
    23.9 -for nic in "$@"; do
   23.10 -	makerom=`grep "^MAKEROM_ID_$nic *= *-p *" <$roms`
   23.11 -	echo "  ETHERBOOT_ROM($nic,${makerom#*-p}) \\"
   23.12 -done
   23.13 -echo
   23.14 -echo "/*end.*/"
    24.1 --- a/tools/firmware/extboot/Makefile	Mon Apr 14 14:04:58 2008 -0600
    24.2 +++ b/tools/firmware/extboot/Makefile	Tue Apr 15 11:09:46 2008 -0600
    24.3 @@ -1,15 +1,7 @@
    24.4 -
    24.5 -override XEN_TARGET_ARCH = x86_32
    24.6  XEN_ROOT = ../../..
    24.7 -CFLAGS := -I$(XEN_ROOT)/tools/libxc -I.
    24.8 -include $(XEN_ROOT)/tools/Rules.mk
    24.9 +include $(XEN_ROOT)/tools/firmware/Rules.mk
   24.10  
   24.11 -# Disable PIE/SSP if GCC supports them. They can break us.
   24.12 -CFLAGS  += $(call cc-option,$(CC),-nopie,)
   24.13 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
   24.14 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
   24.15 -
   24.16 -CFLAGS  += -fno-builtin -O2 -msoft-float
   24.17 +CFLAGS += -I$(XEN_ROOT)/tools/libxc -I.
   24.18  
   24.19  .PHONY: all
   24.20  all: extboot.bin
    25.1 --- a/tools/firmware/hvmloader/Makefile	Mon Apr 14 14:04:58 2008 -0600
    25.2 +++ b/tools/firmware/hvmloader/Makefile	Tue Apr 15 11:09:46 2008 -0600
    25.3 @@ -18,33 +18,26 @@
    25.4  # Place - Suite 330, Boston, MA 02111-1307 USA.
    25.5  #
    25.6  
    25.7 -override XEN_TARGET_ARCH = x86_32
    25.8  XEN_ROOT = ../../..
    25.9 -CFLAGS :=
   25.10 -include $(XEN_ROOT)/tools/Rules.mk
   25.11 +include $(XEN_ROOT)/tools/firmware/Rules.mk
   25.12  
   25.13  SUBDIRS := acpi
   25.14  
   25.15  # The HVM loader is started in 32-bit mode at the address below:
   25.16  LOADADDR = 0x100000
   25.17  
   25.18 -# Disable PIE/SSP if GCC supports them. They can break us.
   25.19 -CFLAGS  += $(call cc-option,$(CC),-nopie,)
   25.20 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
   25.21 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
   25.22 +CFLAGS += $(CFLAGS_include) -I.
   25.23  
   25.24 -CFLAGS  += -fno-builtin -O2 -msoft-float
   25.25 -CFLAGS  += $(CFLAGS_include) -I.
   25.26 -
   25.27 -SRCS = hvmloader.c mp_tables.c util.c smbios.c 32bitbios_support.c
   25.28 +SRCS = hvmloader.c mp_tables.c util.c smbios.c 32bitbios_support.c smp.c
   25.29  OBJS = $(patsubst %.c,%.o,$(SRCS))
   25.30  
   25.31  .PHONY: all
   25.32  all: hvmloader
   25.33  
   25.34 +hvmloader.o: roms.h
   25.35  smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\""
   25.36  
   25.37 -hvmloader: roms.h subdirs-all $(OBJS)
   25.38 +hvmloader: subdirs-all $(OBJS)
   25.39  	$(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) \
   25.40  		-o hvmloader.tmp $(OBJS) acpi/acpi.a
   25.41  	$(OBJCOPY) hvmloader.tmp hvmloader
    26.1 --- a/tools/firmware/hvmloader/acpi/Makefile	Mon Apr 14 14:04:58 2008 -0600
    26.2 +++ b/tools/firmware/hvmloader/acpi/Makefile	Tue Apr 15 11:09:46 2008 -0600
    26.3 @@ -15,10 +15,8 @@
    26.4  # Place - Suite 330, Boston, MA 02111-1307 USA.
    26.5  #
    26.6  
    26.7 -override XEN_TARGET_ARCH = x86_32
    26.8  XEN_ROOT = ../../../..
    26.9 -CFLAGS :=
   26.10 -include $(XEN_ROOT)/tools/Rules.mk
   26.11 +include $(XEN_ROOT)/tools/firmware/Rules.mk
   26.12  
   26.13  C_SRC = build.c dsdt.c static_tables.c
   26.14  H_SRC = $(wildcard *.h)
   26.15 @@ -27,13 +25,7 @@ OBJS  = $(patsubst %.c,%.o,$(C_SRC))
   26.16  IASL_VER = acpica-unix-20060707
   26.17  IASL_URL = http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
   26.18  
   26.19 -# Disable PIE/SSP if GCC supports them. They can break us.
   26.20 -CFLAGS  += $(call cc-option,$(CC),-nopie,)
   26.21 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
   26.22 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
   26.23 -
   26.24 -CFLAGS  += -fno-builtin -O2 -msoft-float
   26.25 -CFLAGS  += -I. -I.. $(CFLAGS_include)
   26.26 +CFLAGS += -I. -I.. $(CFLAGS_include)
   26.27  
   26.28  vpath iasl $(PATH)
   26.29  all: acpi.a
    27.1 --- a/tools/firmware/hvmloader/hvmloader.c	Mon Apr 14 14:04:58 2008 -0600
    27.2 +++ b/tools/firmware/hvmloader/hvmloader.c	Tue Apr 15 11:09:46 2008 -0600
    27.3 @@ -28,10 +28,11 @@
    27.4  #include "apic_regs.h"
    27.5  #include "pci_regs.h"
    27.6  #include "e820.h"
    27.7 +#include "option_rom.h"
    27.8  #include <xen/version.h>
    27.9  #include <xen/hvm/params.h>
   27.10  
   27.11 -asm(
   27.12 +asm (
   27.13      "    .text                       \n"
   27.14      "    .globl _start               \n"
   27.15      "_start:                         \n"
   27.16 @@ -97,6 +98,7 @@ asm(
   27.17      "stack_top:                      \n"
   27.18      );
   27.19  
   27.20 +void smp_initialise(void);
   27.21  void create_mp_tables(void);
   27.22  int hvm_write_smbios_tables(void);
   27.23  
   27.24 @@ -108,14 +110,6 @@ cirrus_check(void)
   27.25  }
   27.26  
   27.27  static void
   27.28 -wrmsr(uint32_t idx, uint64_t v)
   27.29 -{
   27.30 -    __asm__ __volatile__ (
   27.31 -        "wrmsr"
   27.32 -        : : "c" (idx), "a" ((uint32_t)v), "d" ((uint32_t)(v>>32)) );
   27.33 -}
   27.34 -
   27.35 -static void
   27.36  init_hypercalls(void)
   27.37  {
   27.38      uint32_t eax, ebx, ecx, edx;
   27.39 @@ -130,11 +124,7 @@ init_hypercalls(void)
   27.40      *(uint32_t *)(signature + 8) = edx;
   27.41      signature[12] = '\0';
   27.42  
   27.43 -    if ( strcmp("XenVMMXenVMM", signature) || (eax < 0x40000002) )
   27.44 -    {
   27.45 -        printf("FATAL: Xen hypervisor not detected\n");
   27.46 -        __asm__ __volatile__( "ud2" );
   27.47 -    }
   27.48 +    BUG_ON(strcmp("XenVMMXenVMM", signature) || (eax < 0x40000002));
   27.49  
   27.50      /* Fill in hypercall transfer pages. */
   27.51      cpuid(0x40000002, &eax, &ebx, &ecx, &edx);
   27.52 @@ -334,21 +324,13 @@ static int must_load_extboot(void)
   27.53   */
   27.54  static int scan_etherboot_nic(void *copy_rom_dest)
   27.55  {
   27.56 -    static struct etherboots_table_entry {
   27.57 -        char *name;
   27.58 -        void *etherboot_rom;
   27.59 -        int etherboot_sz;
   27.60 -        uint16_t vendor, device;
   27.61 -    } etherboots_table[] = {
   27.62 -#define ETHERBOOT_ROM(name, vendor, device) \
   27.63 -  { #name, etherboot_##name, sizeof(etherboot_##name), vendor, device },
   27.64 -        ETHERBOOT_ROM_LIST
   27.65 -        { 0 }
   27.66 -    };
   27.67 -
   27.68 +    struct option_rom_header *rom;
   27.69 +    struct option_rom_pnp_header *pnph;
   27.70 +    struct option_rom_pci_header *pcih;
   27.71      uint32_t devfn;
   27.72      uint16_t class, vendor_id, device_id;
   27.73 -    struct etherboots_table_entry *eb;
   27.74 +    uint8_t csum;
   27.75 +    int i;
   27.76  
   27.77      for ( devfn = 0; devfn < 128; devfn++ )
   27.78      {
   27.79 @@ -359,21 +341,62 @@ static int scan_etherboot_nic(void *copy
   27.80          if ( (vendor_id == 0xffff) && (device_id == 0xffff) )
   27.81              continue;
   27.82  
   27.83 -        if ( class != 0x0200 ) /* Not a NIC */
   27.84 +        /* We're only interested in NICs. */
   27.85 +        if ( class != 0x0200 )
   27.86              continue;
   27.87  
   27.88 -        for ( eb = etherboots_table; eb->name; eb++ )
   27.89 -            if (eb->vendor == vendor_id &&
   27.90 -                eb->device == device_id)
   27.91 +        rom = (struct option_rom_header *)etherboot;
   27.92 +        for ( ; ; )
   27.93 +        {
   27.94 +            /* Invalid signature means we're out of option ROMs. */
   27.95 +            if ( strncmp((char *)rom->signature, "\x55\xaa", 2) ||
   27.96 +                 (rom->rom_size == 0) )
   27.97 +                break;
   27.98 +
   27.99 +            /* Invalid checksum means we're out of option ROMs. */
  27.100 +            csum = 0;
  27.101 +            for ( i = 0; i < (rom->rom_size * 512); i++ )
  27.102 +                csum += ((uint8_t *)rom)[i];
  27.103 +            if ( csum != 0 )
  27.104 +                break;
  27.105 +
  27.106 +            /* Check the PCI PnP header (if any) for a match. */
  27.107 +            pcih = (struct option_rom_pci_header *)
  27.108 +                ((char *)rom + rom->pci_header_offset);
  27.109 +            if ( (rom->pci_header_offset != 0) &&
  27.110 +                 !strncmp((char *)pcih->signature, "PCIR", 4) &&
  27.111 +                 (pcih->vendor_id == vendor_id) &&
  27.112 +                 (pcih->device_id == device_id) )
  27.113                  goto found;
  27.114 +
  27.115 +            rom = (struct option_rom_header *)
  27.116 +                ((char *)rom + rom->rom_size * 512);
  27.117 +        }
  27.118      }
  27.119  
  27.120      return 0;
  27.121  
  27.122   found:
  27.123 -    printf("Loading %s Etherboot PXE ROM ...\n", eb->name);
  27.124 -    memcpy(copy_rom_dest, eb->etherboot_rom, eb->etherboot_sz);
  27.125 -    return eb->etherboot_sz;
  27.126 +    /* Find the PnP expansion header (if any). */
  27.127 +    pnph = ((rom->expansion_header_offset != 0)
  27.128 +            ? ((struct option_rom_pnp_header *)
  27.129 +               ((char *)rom + rom->expansion_header_offset))
  27.130 +            : ((struct option_rom_pnp_header *)NULL));
  27.131 +    while ( (pnph != NULL) && strncmp((char *)pnph->signature, "$PnP", 4) )
  27.132 +        pnph = ((pnph->next_header_offset != 0)
  27.133 +                ? ((struct option_rom_pnp_header *)
  27.134 +                   ((char *)rom + pnph->next_header_offset))
  27.135 +                : ((struct option_rom_pnp_header *)NULL));
  27.136 +
  27.137 +    printf("Loading PXE ROM ...\n");
  27.138 +    if ( (pnph != NULL) && (pnph->manufacturer_name_offset != 0) )
  27.139 +        printf(" - Manufacturer: %s\n",
  27.140 +               (char *)rom + pnph->manufacturer_name_offset);
  27.141 +    if ( (pnph != NULL) && (pnph->product_name_offset != 0) )
  27.142 +        printf(" - Product name: %s\n",
  27.143 +               (char *)rom + pnph->product_name_offset);
  27.144 +    memcpy(copy_rom_dest, rom, rom->rom_size * 512);
  27.145 +    return rom->rom_size * 512;
  27.146  }
  27.147  
  27.148  /* Replace possibly erroneous memory-size CMOS fields with correct values. */
  27.149 @@ -422,6 +445,8 @@ int main(void)
  27.150  
  27.151      printf("CPU speed is %u MHz\n", get_cpu_mhz());
  27.152  
  27.153 +    smp_initialise();
  27.154 +
  27.155      printf("Writing SMBIOS tables ...\n");
  27.156      smbios_sz = hvm_write_smbios_tables();
  27.157  
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/tools/firmware/hvmloader/option_rom.h	Tue Apr 15 11:09:46 2008 -0600
    28.3 @@ -0,0 +1,50 @@
    28.4 +#ifndef __HVMLOADER_OPTION_ROM_H__
    28.5 +#define __HVMLOADER_OPTION_ROM_H__
    28.6 +
    28.7 +#include <stdint.h>
    28.8 +
    28.9 +struct option_rom_header {
   28.10 +    uint8_t signature[2]; /* "\x55\xaa" */
   28.11 +    uint8_t rom_size; /* 512-byte increments */
   28.12 +    uint32_t entry_point;
   28.13 +    uint8_t reserved[17];
   28.14 +    uint16_t pci_header_offset;
   28.15 +    uint16_t expansion_header_offset;
   28.16 +} __attribute__ ((packed));
   28.17 +
   28.18 +struct option_rom_pnp_header {
   28.19 +    uint8_t signature[4]; /* "$PnP" */
   28.20 +    uint8_t structure_revision;
   28.21 +    uint8_t structure_length; /* 16-byte increments */
   28.22 +    uint16_t next_header_offset;
   28.23 +    uint8_t reserved;
   28.24 +    uint8_t checksum;
   28.25 +    uint32_t device_id;
   28.26 +    uint16_t manufacturer_name_offset;
   28.27 +    uint16_t product_name_offset;
   28.28 +    uint8_t device_type_code[3];
   28.29 +    uint8_t device_indicators;
   28.30 +    uint16_t boot_connection_vector;
   28.31 +    uint16_t disconnect_vector;
   28.32 +    uint16_t bootstap_entry_vector;
   28.33 +    uint16_t reserved2;
   28.34 +    uint16_t static_resource_information_vector;
   28.35 +} __attribute__ ((packed));
   28.36 +        
   28.37 +
   28.38 +struct option_rom_pci_header {
   28.39 +    uint8_t signature[4]; /* "PCIR" */
   28.40 +    uint16_t vendor_id;
   28.41 +    uint16_t device_id;
   28.42 +    uint16_t vital_product_data_offset;
   28.43 +    uint16_t structure_length;
   28.44 +    uint8_t structure_revision;
   28.45 +    uint8_t class_code[3];
   28.46 +    uint16_t image_length;
   28.47 +    uint16_t image_revision;
   28.48 +    uint8_t code_type;
   28.49 +    uint8_t indicator;
   28.50 +    uint16_t reserved;
   28.51 +} __attribute__ ((packed));
   28.52 +
   28.53 +#endif /* __HVMLOADER_OPTION_ROM_H__ */
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/tools/firmware/hvmloader/smp.c	Tue Apr 15 11:09:46 2008 -0600
    29.3 @@ -0,0 +1,132 @@
    29.4 +/*
    29.5 + * smp.c: Secondary processor bringup and initialisation.
    29.6 + *
    29.7 + * Copyright (c) 2008, Citrix Systems, Inc.
    29.8 + * 
    29.9 + * Authors:
   29.10 + *    Keir Fraser <keir.fraser@citrix.com>
   29.11 + * 
   29.12 + * This program is free software; you can redistribute it and/or modify it
   29.13 + * under the terms and conditions of the GNU General Public License,
   29.14 + * version 2, as published by the Free Software Foundation.
   29.15 + *
   29.16 + * This program is distributed in the hope it will be useful, but WITHOUT
   29.17 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   29.18 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
   29.19 + * more details.
   29.20 + *
   29.21 + * You should have received a copy of the GNU General Public License along with
   29.22 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
   29.23 + * Place - Suite 330, Boston, MA 02111-1307 USA.
   29.24 + */
   29.25 +
   29.26 +#include "util.h"
   29.27 +#include "config.h"
   29.28 +#include "apic_regs.h"
   29.29 +
   29.30 +#define AP_BOOT_EIP 0x1000
   29.31 +extern char ap_boot_start[], ap_boot_end[];
   29.32 +
   29.33 +static int ap_callin, ap_cpuid;
   29.34 +
   29.35 +asm (
   29.36 +    "    .text                       \n"
   29.37 +    "    .code16                     \n"
   29.38 +    "ap_boot_start: .code16          \n"
   29.39 +    "    mov   %cs,%ax               \n"
   29.40 +    "    mov   %ax,%ds               \n"
   29.41 +    "    lgdt  gdt_desr-ap_boot_start\n"
   29.42 +    "    xor   %ax, %ax              \n"
   29.43 +    "    inc   %ax                   \n"
   29.44 +    "    lmsw  %ax                   \n"
   29.45 +    "    ljmpl $0x08,$1f             \n"
   29.46 +    "gdt_desr:                       \n"
   29.47 +    "    .word gdt_end - gdt - 1     \n"
   29.48 +    "    .long gdt                   \n"
   29.49 +    "ap_boot_end: .code32            \n"
   29.50 +    "1:  mov   $0x10,%eax            \n"
   29.51 +    "    mov   %eax,%ds              \n"
   29.52 +    "    mov   %eax,%es              \n"
   29.53 +    "    mov   %eax,%ss              \n"
   29.54 +    "    movl  $stack_top,%esp       \n"
   29.55 +    "    movl  %esp,%ebp             \n"
   29.56 +    "    call  ap_start              \n"
   29.57 +    "1:  hlt                         \n"
   29.58 +    "    jmp  1b                     \n"
   29.59 +    "                                \n"
   29.60 +    "    .align 8                    \n"
   29.61 +    "gdt:                            \n"
   29.62 +    "    .quad 0x0000000000000000    \n"
   29.63 +    "    .quad 0x00cf9a000000ffff    \n" /* 0x08: Flat code segment */
   29.64 +    "    .quad 0x00cf92000000ffff    \n" /* 0x10: Flat data segment */
   29.65 +    "gdt_end:                        \n"
   29.66 +    "                                \n"
   29.67 +    "    .bss                        \n"
   29.68 +    "    .align    8                 \n"
   29.69 +    "stack:                          \n"
   29.70 +    "    .skip    0x4000             \n"
   29.71 +    "stack_top:                      \n"
   29.72 +    );
   29.73 +
   29.74 +/*static*/ void ap_start(void)
   29.75 +{
   29.76 +    printf(" - CPU%d ... ", ap_cpuid);
   29.77 +
   29.78 +    printf("done.\n");
   29.79 +    wmb();
   29.80 +    ap_callin = 1;
   29.81 +}
   29.82 +
   29.83 +static void lapic_wait_ready(void)
   29.84 +{
   29.85 +    while ( lapic_read(APIC_ICR) & APIC_ICR_BUSY )
   29.86 +        cpu_relax();
   29.87 +}
   29.88 +
   29.89 +static void boot_cpu(unsigned int cpu)
   29.90 +{
   29.91 +    unsigned int icr2 = SET_APIC_DEST_FIELD(LAPIC_ID(cpu));
   29.92 +
   29.93 +    /* Initialise shared variables. */
   29.94 +    ap_cpuid = cpu;
   29.95 +    ap_callin = 0;
   29.96 +    wmb();
   29.97 +
   29.98 +    /* Wake up the secondary processor: INIT-SIPI-SIPI... */
   29.99 +    lapic_wait_ready();
  29.100 +    lapic_write(APIC_ICR2, icr2);
  29.101 +    lapic_write(APIC_ICR, APIC_DM_INIT);
  29.102 +    lapic_wait_ready();
  29.103 +    lapic_write(APIC_ICR2, icr2);
  29.104 +    lapic_write(APIC_ICR, APIC_DM_STARTUP | (AP_BOOT_EIP >> 12));
  29.105 +    lapic_wait_ready();
  29.106 +    lapic_write(APIC_ICR2, icr2);
  29.107 +    lapic_write(APIC_ICR, APIC_DM_STARTUP | (AP_BOOT_EIP >> 12));
  29.108 +    lapic_wait_ready();
  29.109 +
  29.110 +    /*
  29.111 +     * Wait for the secondary processor to complete initialisation.
  29.112 +     * Do not touch shared resources meanwhile.
  29.113 +     */
  29.114 +    while ( !ap_callin )
  29.115 +        cpu_relax();
  29.116 +
  29.117 +    /* Take the secondary processor offline. */
  29.118 +    lapic_write(APIC_ICR2, icr2);
  29.119 +    lapic_write(APIC_ICR, APIC_DM_INIT);
  29.120 +    lapic_wait_ready();    
  29.121 +}
  29.122 +
  29.123 +void smp_initialise(void)
  29.124 +{
  29.125 +    unsigned int i, nr_cpus = get_vcpu_nr();
  29.126 +
  29.127 +    if ( nr_cpus <= 1 )
  29.128 +        return;
  29.129 +
  29.130 +    memcpy((void *)AP_BOOT_EIP, ap_boot_start, ap_boot_end - ap_boot_start);
  29.131 +
  29.132 +    printf("Multiprocessor initialisation:\n");
  29.133 +    for ( i = 1; i < nr_cpus; i++ )
  29.134 +        boot_cpu(i);
  29.135 +}
    30.1 --- a/tools/firmware/hvmloader/util.c	Mon Apr 14 14:04:58 2008 -0600
    30.2 +++ b/tools/firmware/hvmloader/util.c	Tue Apr 15 11:09:46 2008 -0600
    30.3 @@ -27,39 +27,57 @@
    30.4  #include <xen/memory.h>
    30.5  #include <xen/hvm/hvm_info_table.h>
    30.6  
    30.7 +void wrmsr(uint32_t idx, uint64_t v)
    30.8 +{
    30.9 +    asm volatile (
   30.10 +        "wrmsr"
   30.11 +        : : "c" (idx), "a" ((uint32_t)v), "d" ((uint32_t)(v>>32)) );
   30.12 +}
   30.13 +
   30.14 +uint64_t rdmsr(uint32_t idx)
   30.15 +{
   30.16 +    uint32_t lo, hi;
   30.17 +
   30.18 +    asm volatile (
   30.19 +        "rdmsr"
   30.20 +        : "=a" (lo), "=d" (hi) : "c" (idx) );
   30.21 +
   30.22 +    return (lo | ((uint64_t)hi << 32));
   30.23 +}
   30.24 +
   30.25  void outb(uint16_t addr, uint8_t val)
   30.26  {
   30.27 -    __asm__ __volatile__ ( "outb %%al, %%dx" : : "d" (addr), "a" (val) );
   30.28 +    asm volatile ( "outb %%al, %%dx" : : "d" (addr), "a" (val) );
   30.29  }
   30.30  
   30.31  void outw(uint16_t addr, uint16_t val)
   30.32  {
   30.33 -    __asm__ __volatile__ ( "outw %%ax, %%dx" : : "d" (addr), "a" (val) );
   30.34 +    asm volatile ( "outw %%ax, %%dx" : : "d" (addr), "a" (val) );
   30.35  }
   30.36  
   30.37  void outl(uint16_t addr, uint32_t val)
   30.38  {
   30.39 -    __asm__ __volatile__ ( "outl %%eax, %%dx" : : "d" (addr), "a" (val) );
   30.40 +    asm volatile ( "outl %%eax, %%dx" : : "d" (addr), "a" (val) );
   30.41  }
   30.42  
   30.43  uint8_t inb(uint16_t addr)
   30.44  {
   30.45      uint8_t val;
   30.46 -    __asm__ __volatile__ ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );
   30.47 +    asm volatile ( "inb %%dx,%%al" : "=a" (val) : "d" (addr) );
   30.48      return val;
   30.49  }
   30.50  
   30.51  uint16_t inw(uint16_t addr)
   30.52  {
   30.53      uint16_t val;
   30.54 -    __asm__ __volatile__ ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
   30.55 +    asm volatile ( "inw %%dx,%%ax" : "=a" (val) : "d" (addr) );
   30.56      return val;
   30.57  }
   30.58  
   30.59  uint32_t inl(uint16_t addr)
   30.60  {
   30.61      uint32_t val;
   30.62 -    __asm__ __volatile__ ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
   30.63 +    asm volatile ( "inl %%dx,%%eax" : "=a" (val) : "d" (addr) );
   30.64      return val;
   30.65  }
   30.66  
   30.67 @@ -118,7 +136,7 @@ void *memcpy(void *dest, const void *src
   30.68  {
   30.69      int t0, t1, t2;
   30.70  
   30.71 -    __asm__ __volatile__ (
   30.72 +    asm volatile (
   30.73          "cld\n"
   30.74          "rep; movsl\n"
   30.75          "testb $2,%b4\n"
   30.76 @@ -219,7 +237,7 @@ memcmp(const void *s1, const void *s2, u
   30.77  void
   30.78  cpuid(uint32_t idx, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
   30.79  {
   30.80 -    __asm__ __volatile__ (
   30.81 +    asm volatile (
   30.82          "cpuid"
   30.83          : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
   30.84          : "0" (idx) );
   30.85 @@ -516,14 +534,14 @@ void __assert_failed(char *assertion, ch
   30.86      printf("HVMLoader assertion '%s' failed at %s:%d\n",
   30.87             assertion, file, line);
   30.88      for ( ; ; )
   30.89 -        __asm__ __volatile__ ( "ud2" );
   30.90 +        asm volatile ( "ud2" );
   30.91  }
   30.92  
   30.93  void __bug(char *file, int line)
   30.94  {
   30.95      printf("HVMLoader bug at %s:%d\n", file, line);
   30.96      for ( ; ; )
   30.97 -        __asm__ __volatile__ ( "ud2" );
   30.98 +        asm volatile ( "ud2" );
   30.99  }
  30.100  
  30.101  static int validate_hvm_info(struct hvm_info_table *t)
    31.1 --- a/tools/firmware/hvmloader/util.h	Mon Apr 14 14:04:58 2008 -0600
    31.2 +++ b/tools/firmware/hvmloader/util.h	Tue Apr 15 11:09:46 2008 -0600
    31.3 @@ -19,6 +19,10 @@ void __bug(char *file, int line) __attri
    31.4  #define BUG_ON(p) do { if (p) BUG(); } while (0)
    31.5  #define BUILD_BUG_ON(p) ((void)sizeof(char[1 - 2 * !!(p)]))
    31.6  
    31.7 +/* MSR access */
    31.8 +void wrmsr(uint32_t idx, uint64_t v);
    31.9 +uint64_t rdmsr(uint32_t idx);
   31.10 +
   31.11  /* I/O output */
   31.12  void outb(uint16_t addr, uint8_t  val);
   31.13  void outw(uint16_t addr, uint16_t val);
   31.14 @@ -74,6 +78,7 @@ static inline void cpu_relax(void)
   31.15  #define barrier() asm volatile ( "" : : : "memory" )
   31.16  #define rmb()     barrier()
   31.17  #define wmb()     barrier()
   31.18 +#define mb()      asm volatile ( "lock; addl $0,0(%%esp)" : : : "memory" )
   31.19  
   31.20  /*
   31.21   * Divide a 64-bit dividend by a 32-bit divisor.
    32.1 --- a/tools/firmware/rombios/32bit/Makefile	Mon Apr 14 14:04:58 2008 -0600
    32.2 +++ b/tools/firmware/rombios/32bit/Makefile	Tue Apr 15 11:09:46 2008 -0600
    32.3 @@ -1,16 +1,10 @@
    32.4 -
    32.5 -override XEN_TARGET_ARCH = x86_32
    32.6  XEN_ROOT = ../../../..
    32.7 -CFLAGS :=
    32.8 -include $(XEN_ROOT)/tools/Rules.mk
    32.9 +include $(XEN_ROOT)/tools/firmware/Rules.mk
   32.10  
   32.11  SOURCES = util.c
   32.12  TARGET = 32bitbios_flat.h
   32.13  
   32.14 -CFLAGS += -fno-builtin -O2 -msoft-float -nostdlib
   32.15  CFLAGS += -I../ -DGCC_PROTOS
   32.16 -CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
   32.17 -CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
   32.18  
   32.19  SUBDIRS = tcgbios
   32.20  
    33.1 --- a/tools/firmware/rombios/32bit/tcgbios/Makefile	Mon Apr 14 14:04:58 2008 -0600
    33.2 +++ b/tools/firmware/rombios/32bit/tcgbios/Makefile	Tue Apr 15 11:09:46 2008 -0600
    33.3 @@ -1,16 +1,10 @@
    33.4 -
    33.5 -override XEN_TARGET_ARCH = x86_32
    33.6  XEN_ROOT = ../../../../..
    33.7 -CFLAGS :=
    33.8 -include $(XEN_ROOT)/tools/Rules.mk
    33.9 +include $(XEN_ROOT)/tools/firmware/Rules.mk
   33.10  
   33.11  TARGET  = tcgbiosext.o
   33.12  FILES   = tcgbios tpm_drivers
   33.13  OBJECTS = $(foreach f,$(FILES),$(f).o)
   33.14  
   33.15 -CFLAGS += -fno-builtin -O2 -msoft-float -nostdlib
   33.16 -CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
   33.17 -CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
   33.18  CFLAGS += -I../ -I../../ -DGCC_PROTOS
   33.19  
   33.20  .PHONY: all clean
    34.1 --- a/tools/firmware/rombios/32bit/tcgbios/tcgbios.c	Mon Apr 14 14:04:58 2008 -0600
    34.2 +++ b/tools/firmware/rombios/32bit/tcgbios/tcgbios.c	Tue Apr 15 11:09:46 2008 -0600
    34.3 @@ -923,7 +923,7 @@ uint32_t HashLogExtendEvent32(struct hle
    34.4  	struct hlei hlei ; /* HashLogEventInput block */
    34.5  	struct hleo hleo;  /* HashLogEventOutput block */
    34.6  	struct hleei_long *hleei_l = (struct hleei_long *)hleei_s;
    34.7 -	int sh;
    34.8 +	int sh = 0;
    34.9  	uint32_t logdataptr;
   34.10  
   34.11  	if (TCG_IsShutdownPreBootInterface() != 0) {
    35.1 --- a/tools/ioemu/Makefile	Mon Apr 14 14:04:58 2008 -0600
    35.2 +++ b/tools/ioemu/Makefile	Tue Apr 15 11:09:46 2008 -0600
    35.3 @@ -35,7 +35,7 @@ endif
    35.4  endif
    35.5  endif
    35.6  
    35.7 -TOOLS=
    35.8 +TOOLS=tapdisk-ioemu
    35.9  
   35.10  all: $(TOOLS) $(DOCS) recurse-all
   35.11  
   35.12 @@ -44,6 +44,13 @@ subdir-%:
   35.13  
   35.14  recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS))
   35.15  
   35.16 +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
   35.17 +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
   35.18 +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
   35.19 +tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/include
   35.20 +tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
   35.21 +	$(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS) $(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
   35.22 +
   35.23  qemu-img$(EXESUF): qemu-img.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c
   35.24  	$(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS) $(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
   35.25  
   35.26 @@ -80,7 +87,7 @@ endif
   35.27  
   35.28  install: all $(if $(BUILD_DOCS),install-doc)
   35.29  	mkdir -p "$(DESTDIR)$(bindir)"
   35.30 -#	$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
   35.31 +	$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(prefix)/sbin"
   35.32  #	mkdir -p "$(DESTDIR)$(datadir)"
   35.33  #	for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
   35.34  #		video.x openbios-sparc32 linux_boot.bin pxe-ne2k_pci.bin \
    36.1 --- a/tools/ioemu/block-cow.c	Mon Apr 14 14:04:58 2008 -0600
    36.2 +++ b/tools/ioemu/block-cow.c	Tue Apr 15 11:09:46 2008 -0600
    36.3 @@ -246,10 +246,11 @@ static int cow_create(const char *filena
    36.4      return 0;
    36.5  }
    36.6  
    36.7 -static void cow_flush(BlockDriverState *bs)
    36.8 +static int cow_flush(BlockDriverState *bs)
    36.9  {
   36.10      BDRVCowState *s = bs->opaque;
   36.11      fsync(s->fd);
   36.12 +    return 0;
   36.13  }
   36.14  
   36.15  BlockDriver bdrv_cow = {
    37.1 --- a/tools/ioemu/block-vbd.c	Mon Apr 14 14:04:58 2008 -0600
    37.2 +++ b/tools/ioemu/block-vbd.c	Tue Apr 15 11:09:46 2008 -0600
    37.3 @@ -49,11 +49,7 @@
    37.4  typedef struct BDRVVbdState {
    37.5      struct blkfront_dev *dev;
    37.6      int fd;
    37.7 -    int type;
    37.8 -    int mode;
    37.9 -    int info;
   37.10 -    uint64_t sectors;
   37.11 -    unsigned sector_size;
   37.12 +    struct blkfront_info info;
   37.13      QEMU_LIST_ENTRY(BDRVVbdState) list;
   37.14  } BDRVVbdState;
   37.15  
   37.16 @@ -81,13 +77,13 @@ static int vbd_open(BlockDriverState *bs
   37.17      //handy to test posix access
   37.18      //return -EIO;
   37.19  
   37.20 -    s->dev = init_blkfront((char *) filename, &s->sectors, &s->sector_size, &s->mode, &s->info);
   37.21 +    s->dev = init_blkfront((char *) filename, &s->info);
   37.22  
   37.23      if (!s->dev)
   37.24  	return -EIO;
   37.25  
   37.26 -    if (SECTOR_SIZE % s->sector_size) {
   37.27 -	printf("sector size is %d, we only support sector sizes that divide %d\n", s->sector_size, SECTOR_SIZE);
   37.28 +    if (SECTOR_SIZE % s->info.sector_size) {
   37.29 +	printf("sector size is %d, we only support sector sizes that divide %d\n", s->info.sector_size, SECTOR_SIZE);
   37.30  	return -EIO;
   37.31      }
   37.32  
   37.33 @@ -267,6 +263,32 @@ static void vbd_aio_cancel(BlockDriverAI
   37.34      // Try to cancel. If can't, wait for it, drop the callback and call qemu_aio_release(acb)
   37.35  }
   37.36  
   37.37 +static void vbd_nop_cb(void *opaque, int ret)
   37.38 +{
   37.39 +}
   37.40 +
   37.41 +static BlockDriverAIOCB *vbd_aio_flush(BlockDriverState *bs,
   37.42 +        BlockDriverCompletionFunc *cb, void *opaque)
   37.43 +{
   37.44 +    BDRVVbdState *s = bs->opaque;
   37.45 +    VbdAIOCB *acb = NULL;
   37.46 +
   37.47 +    if (s->info.barrier == 1) {
   37.48 +        acb = vbd_aio_setup(bs, 0, NULL, 0,
   37.49 +                s->info.flush == 1 ? vbd_nop_cb : cb, opaque);
   37.50 +        if (!acb)
   37.51 +            return NULL;
   37.52 +        blkfront_aio_push_operation(&acb->aiocb, BLKIF_OP_WRITE_BARRIER);
   37.53 +    }
   37.54 +    if (s->info.flush == 1) {
   37.55 +        acb = vbd_aio_setup(bs, 0, NULL, 0, cb, opaque);
   37.56 +        if (!acb)
   37.57 +            return NULL;
   37.58 +        blkfront_aio_push_operation(&acb->aiocb, BLKIF_OP_FLUSH_DISKCACHE);
   37.59 +    }
   37.60 +    return &acb->common;
   37.61 +}
   37.62 +
   37.63  static void vbd_close(BlockDriverState *bs)
   37.64  {
   37.65      BDRVVbdState *s = bs->opaque;
   37.66 @@ -282,13 +304,14 @@ static void vbd_close(BlockDriverState *
   37.67  static int64_t  vbd_getlength(BlockDriverState *bs)
   37.68  {
   37.69      BDRVVbdState *s = bs->opaque;
   37.70 -    return s->sectors * s->sector_size;
   37.71 +    return s->info.sectors * s->info.sector_size;
   37.72  }
   37.73  
   37.74 -static void vbd_flush(BlockDriverState *bs)
   37.75 +static int vbd_flush(BlockDriverState *bs)
   37.76  {
   37.77      BDRVVbdState *s = bs->opaque;
   37.78      blkfront_sync(s->dev);
   37.79 +    return 0;
   37.80  }
   37.81  
   37.82  /***********************************************/
   37.83 @@ -333,6 +356,7 @@ BlockDriver bdrv_vbd = {
   37.84      .bdrv_aio_read = vbd_aio_read,
   37.85      .bdrv_aio_write = vbd_aio_write,
   37.86      .bdrv_aio_cancel = vbd_aio_cancel,
   37.87 +    .bdrv_aio_flush = vbd_aio_flush,
   37.88      .aiocb_size = sizeof(VbdAIOCB),
   37.89      .bdrv_read = vbd_read,
   37.90      .bdrv_write = vbd_write,
    38.1 --- a/tools/ioemu/block.c	Mon Apr 14 14:04:58 2008 -0600
    38.2 +++ b/tools/ioemu/block.c	Tue Apr 15 11:09:46 2008 -0600
    38.3 @@ -347,8 +347,8 @@ int bdrv_open2(BlockDriverState *bs, con
    38.4                 BlockDriver *drv)
    38.5  {
    38.6      int ret, open_flags;
    38.7 -    char tmp_filename[1024];
    38.8 -    char backing_filename[1024];
    38.9 +    char tmp_filename[PATH_MAX];
   38.10 +    char backing_filename[PATH_MAX];
   38.11      
   38.12      bs->read_only = 0;
   38.13      bs->is_temporary = 0;
    39.1 --- a/tools/ioemu/hw/ide.c	Mon Apr 14 14:04:58 2008 -0600
    39.2 +++ b/tools/ioemu/hw/ide.c	Tue Apr 15 11:09:46 2008 -0600
    39.3 @@ -655,12 +655,13 @@ static void ide_identify(IDEState *s)
    39.4      put_le16(p + 68, 120);
    39.5      put_le16(p + 80, 0xf0); /* ata3 -> ata6 supported */
    39.6      put_le16(p + 81, 0x16); /* conforms to ata5 */
    39.7 -    put_le16(p + 82, (1 << 14));
    39.8 +    /* 14=nop 5=write_cache */
    39.9 +    put_le16(p + 82, (1 << 14) | (1 << 5));
   39.10      /* 13=flush_cache_ext,12=flush_cache,10=lba48 */
   39.11      put_le16(p + 83, (1 << 14) | (1 << 13) | (1 <<12) | (1 << 10));
   39.12      put_le16(p + 84, (1 << 14));
   39.13      /* 14=nop 5=write_cache */
   39.14 -    put_le16(p + 85, (1 << 14) | (1 << 5));
   39.15 +    put_le16(p + 85, (1 << 14) | (s->write_cache << 5));
   39.16      /* 13=flush_cache_ext,12=flush_cache,10=lba48 */
   39.17      put_le16(p + 86, (1 << 14) | (1 << 13) | (1 <<12) | (1 << 10));
   39.18      put_le16(p + 87, (1 << 14));
    40.1 --- a/tools/ioemu/hw/rtl8139.c	Mon Apr 14 14:04:58 2008 -0600
    40.2 +++ b/tools/ioemu/hw/rtl8139.c	Tue Apr 15 11:09:46 2008 -0600
    40.3 @@ -1416,6 +1416,8 @@ static uint32_t rtl8139_ChipCmd_read(RTL
    40.4  
    40.5  static void rtl8139_CpCmd_write(RTL8139State *s, uint32_t val)
    40.6  {
    40.7 +    int i;
    40.8 +
    40.9      val &= 0xffff;
   40.10  
   40.11      DEBUG_PRINT(("RTL8139C+ command register write(w) val=0x%04x\n", val));
   40.12 @@ -1423,6 +1425,20 @@ static void rtl8139_CpCmd_write(RTL8139S
   40.13      /* mask unwriteable bits */
   40.14      val = SET_MASKED(val, 0xff84, s->CpCmd);
   40.15  
   40.16 +    if (  (s->CpCmd & CPlusTxEnb) &&
   40.17 +         !(val      & CPlusTxEnb) )
   40.18 +    {
   40.19 +        /* Reset TX status when the transmitter drops from C+ to
   40.20 +           non-C+ mode.  Windows has a habit of turning off C+ and
   40.21 +           then waiting for the TX requests to clear as part of shut
   40.22 +           down, and you get stuck forever if there are old DTCRs in
   40.23 +           the registers. */
   40.24 +        for (i = 0; i < 4; i++)
   40.25 +        {
   40.26 +            s->TxStatus[i] = TxHostOwns;
   40.27 +        }
   40.28 +    }
   40.29 +
   40.30      s->CpCmd = val;
   40.31  }
   40.32  
   40.33 @@ -1765,6 +1781,7 @@ static int rtl8139_transmit_one(RTL8139S
   40.34      {
   40.35          DEBUG_PRINT(("RTL8139: +++ cannot transmit from descriptor %d: transmitter disabled\n",
   40.36                       descriptor));
   40.37 +        s->TxStatus[descriptor] = TxAborted | TxHostOwns;
   40.38          return 0;
   40.39      }
   40.40  
   40.41 @@ -1772,6 +1789,7 @@ static int rtl8139_transmit_one(RTL8139S
   40.42      {
   40.43          DEBUG_PRINT(("RTL8139: +++ cannot transmit from descriptor %d: owned by host (%08x)\n",
   40.44                       descriptor, s->TxStatus[descriptor]));
   40.45 +        s->TxStatus[descriptor] = TxAborted | TxHostOwns;
   40.46          return 0;
   40.47      }
   40.48  
    41.1 --- a/tools/ioemu/hw/xen_machine_fv.c	Mon Apr 14 14:04:58 2008 -0600
    41.2 +++ b/tools/ioemu/hw/xen_machine_fv.c	Tue Apr 15 11:09:46 2008 -0600
    41.3 @@ -205,6 +205,7 @@ static void xen_init_fv(uint64_t ram_siz
    41.4      }
    41.5  #endif
    41.6  
    41.7 +    xc_set_hvm_param(xc_handle, domid, HVM_PARAM_DM_DOMAIN, DOMID_SELF);
    41.8      xc_get_hvm_param(xc_handle, domid, HVM_PARAM_IOREQ_PFN, &ioreq_pfn);
    41.9      fprintf(logfile, "shared page at pfn %lx\n", ioreq_pfn);
   41.10      shared_page = xc_map_foreign_range(xc_handle, domid, XC_PAGE_SIZE,
    42.1 --- a/tools/ioemu/osdep.c	Mon Apr 14 14:04:58 2008 -0600
    42.2 +++ b/tools/ioemu/osdep.c	Tue Apr 15 11:09:46 2008 -0600
    42.3 @@ -21,6 +21,8 @@
    42.4   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    42.5   * THE SOFTWARE.
    42.6   */
    42.7 +
    42.8 +#include "config-host.h"
    42.9  #include <stdlib.h>
   42.10  #include <stdio.h>
   42.11  #include <stdarg.h>
   42.12 @@ -32,7 +34,6 @@
   42.13  #include <sys/statvfs.h>
   42.14  #endif
   42.15  
   42.16 -#include "cpu.h"
   42.17  #if defined(USE_KQEMU)
   42.18  #include "vl.h"
   42.19  #endif
    43.1 --- a/tools/ioemu/qemu-img.c	Mon Apr 14 14:04:58 2008 -0600
    43.2 +++ b/tools/ioemu/qemu-img.c	Tue Apr 15 11:09:46 2008 -0600
    43.3 @@ -594,8 +594,8 @@ static int img_info(int argc, char **arg
    43.4      BlockDriverState *bs;
    43.5      char fmt_name[128], size_buf[128], dsize_buf[128];
    43.6      int64_t total_sectors, allocated_size;
    43.7 -    char backing_filename[1024];
    43.8 -    char backing_filename2[1024];
    43.9 +    char backing_filename[PATH_MAX];
   43.10 +    char backing_filename2[PATH_MAX];
   43.11      BlockDriverInfo bdi;
   43.12  
   43.13      fmt = NULL;
    44.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.2 +++ b/tools/ioemu/tapdisk-ioemu.c	Tue Apr 15 11:09:46 2008 -0600
    44.3 @@ -0,0 +1,142 @@
    44.4 +#include <stdlib.h>
    44.5 +#include <stdarg.h>
    44.6 +#include <stdio.h>
    44.7 +#include <string.h>
    44.8 +#include <stdint.h>
    44.9 +#include <signal.h>
   44.10 +#include <sys/time.h>
   44.11 +
   44.12 +#include <assert.h>
   44.13 +
   44.14 +extern int init_blktap(void);
   44.15 +extern void qemu_aio_init(void);
   44.16 +extern void qemu_aio_poll(void);
   44.17 +extern void bdrv_init(void);
   44.18 +
   44.19 +extern void *qemu_mallocz(size_t size);
   44.20 +extern void qemu_free(void *ptr);
   44.21 +
   44.22 +int domid = 0;
   44.23 +FILE* logfile;
   44.24 +
   44.25 +void term_printf(const char *fmt, ...)
   44.26 +{
   44.27 +    va_list ap;
   44.28 +    va_start(ap, fmt);
   44.29 +    vprintf(fmt, ap);
   44.30 +    va_end(ap);
   44.31 +}
   44.32 +
   44.33 +void term_print_filename(const char *filename)
   44.34 +{
   44.35 +    term_printf(filename);
   44.36 +}
   44.37 +
   44.38 +
   44.39 +typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size);
   44.40 +typedef int IOCanRWHandler(void *opaque);
   44.41 +typedef void IOHandler(void *opaque);
   44.42 +
   44.43 +typedef struct IOHandlerRecord {
   44.44 +    int fd;
   44.45 +    IOCanRWHandler *fd_read_poll;
   44.46 +    IOHandler *fd_read;
   44.47 +    IOHandler *fd_write;
   44.48 +    int deleted;
   44.49 +    void *opaque;
   44.50 +    /* temporary data */
   44.51 +    struct pollfd *ufd;
   44.52 +    struct IOHandlerRecord *next;
   44.53 +} IOHandlerRecord;
   44.54 +
   44.55 +static IOHandlerRecord *first_io_handler;
   44.56 +
   44.57 +int qemu_set_fd_handler2(int fd, 
   44.58 +                         IOCanRWHandler *fd_read_poll, 
   44.59 +                         IOHandler *fd_read, 
   44.60 +                         IOHandler *fd_write, 
   44.61 +                         void *opaque)
   44.62 +{
   44.63 +    IOHandlerRecord *ioh;
   44.64 +
   44.65 +    /* This is a stripped down version of fd handling */
   44.66 +    assert(fd_read_poll == NULL);
   44.67 +    assert(fd_write == NULL);
   44.68 +
   44.69 +    for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
   44.70 +        if (ioh->fd == fd)
   44.71 +            goto found;
   44.72 +    
   44.73 +    if (!fd_read && !fd_write)
   44.74 +        return 0;
   44.75 +        
   44.76 +    ioh = qemu_mallocz(sizeof(IOHandlerRecord));
   44.77 +    if (!ioh)
   44.78 +        return -1;
   44.79 +    ioh->next = first_io_handler;
   44.80 +    first_io_handler = ioh;
   44.81 +
   44.82 +found:
   44.83 +    if (!fd_read && !fd_write) {
   44.84 +        ioh->deleted = 1;
   44.85 +    } else {
   44.86 +        ioh->fd = fd;
   44.87 +        ioh->fd_read = fd_read;
   44.88 +        ioh->opaque = opaque;
   44.89 +        ioh->deleted = 0;
   44.90 +    }
   44.91 +
   44.92 +    return 0;
   44.93 +}
   44.94 +
   44.95 +int main(void) 
   44.96 +{
   44.97 +    IOHandlerRecord *ioh, **pioh;
   44.98 +    int max_fd;
   44.99 +    fd_set rfds;
  44.100 +    struct timeval tv;
  44.101 +
  44.102 +    logfile = stderr;
  44.103 +    
  44.104 +    bdrv_init();
  44.105 +    qemu_aio_init();
  44.106 +    init_blktap();
  44.107 +   
  44.108 +    /* 
  44.109 +     * Main loop: Pass events to the corrsponding handlers and check for
  44.110 +     * completed aio operations.
  44.111 +     */
  44.112 +    while (1) {
  44.113 +        qemu_aio_poll();
  44.114 +
  44.115 +        max_fd = -1;
  44.116 +        FD_ZERO(&rfds);
  44.117 +        for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
  44.118 +            if (!ioh->deleted) {
  44.119 +                FD_SET(ioh->fd, &rfds);
  44.120 +                max_fd = max_fd > ioh->fd ? max_fd : ioh->fd;
  44.121 +            }
  44.122 +
  44.123 +        tv.tv_sec = 0;
  44.124 +        tv.tv_usec = 10000;
  44.125 +        if (select(max_fd + 1, &rfds, NULL, NULL, &tv) <= 0)
  44.126 +            continue;
  44.127 +            
  44.128 +        /* Call handlers */
  44.129 +        for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next)
  44.130 +            if (FD_ISSET(ioh->fd, &rfds))
  44.131 +                ioh->fd_read(ioh->opaque);
  44.132 +
  44.133 +        /* Remove deleted IO handlers */
  44.134 +        pioh = &first_io_handler;
  44.135 +        while (*pioh) {
  44.136 +            ioh = *pioh;
  44.137 +            if (ioh->deleted) {
  44.138 +                *pioh = ioh->next;
  44.139 +                qemu_free(ioh);
  44.140 +            } else 
  44.141 +                pioh = &ioh->next;
  44.142 +        }
  44.143 +    }
  44.144 +    return 0;
  44.145 +}
    45.1 --- a/tools/ioemu/target-i386-dm/helper2.c	Mon Apr 14 14:04:58 2008 -0600
    45.2 +++ b/tools/ioemu/target-i386-dm/helper2.c	Tue Apr 15 11:09:46 2008 -0600
    45.3 @@ -392,8 +392,6 @@ void timeoffset_get(void)
    45.4      else
    45.5  	time_offset = 0;
    45.6  
    45.7 -    xc_domain_set_time_offset(xc_handle, domid, time_offset);
    45.8 -
    45.9      free(p);
   45.10  }
   45.11  
    46.1 --- a/tools/ioemu/vl.c	Mon Apr 14 14:04:58 2008 -0600
    46.2 +++ b/tools/ioemu/vl.c	Tue Apr 15 11:09:46 2008 -0600
    46.3 @@ -1762,7 +1762,8 @@ static int store_dev_info(char *devName,
    46.4                            CharDriverState *cState, char *storeString)
    46.5  {
    46.6  #ifdef CONFIG_STUBDOM
    46.7 -    return 0;
    46.8 +    fprintf(logfile, "can't store dev %s name for domid %d in %s from a stub domain\n", devName, domid, storeString);
    46.9 +    return ENOSYS;
   46.10  #else
   46.11      int xc_handle;
   46.12      struct xs_handle *xs;
   46.13 @@ -7017,26 +7018,12 @@ int unset_mm_mapping(int xc_handle, uint
   46.14                       xen_pfn_t *extent_start)
   46.15  {
   46.16      int err = 0;
   46.17 -    xc_dominfo_t info;
   46.18 -
   46.19 -    xc_domain_getinfo(xc_handle, domid, 1, &info);
   46.20 -    if ((info.nr_pages - nr_pages) <= 0) {
   46.21 -        fprintf(stderr, "unset_mm_mapping: error nr_pages\n");
   46.22 -        err = -1;
   46.23 -    }
   46.24  
   46.25      err = xc_domain_memory_decrease_reservation(xc_handle, domid,
   46.26                                                  nr_pages, 0, extent_start);
   46.27      if (err)
   46.28          fprintf(stderr, "Failed to decrease physmap\n");
   46.29  
   46.30 -
   46.31 -    if (xc_domain_setmaxmem(xc_handle, domid, (info.nr_pages - nr_pages) *
   46.32 -                            PAGE_SIZE/1024) != 0) {
   46.33 -        fprintf(logfile, "set maxmem returned error %d\n", errno);
   46.34 -        err = -1;
   46.35 -    }
   46.36 -
   46.37      return err;
   46.38  }
   46.39  
   46.40 @@ -7044,17 +7031,8 @@ int set_mm_mapping(int xc_handle, uint32
   46.41                     unsigned long nr_pages, unsigned int address_bits,
   46.42                     xen_pfn_t *extent_start)
   46.43  {
   46.44 -    xc_dominfo_t info;
   46.45      int err = 0;
   46.46  
   46.47 -    xc_domain_getinfo(xc_handle, domid, 1, &info);
   46.48 -
   46.49 -    if (xc_domain_setmaxmem(xc_handle, domid, info.max_memkb +
   46.50 -                            nr_pages * PAGE_SIZE/1024) != 0) {
   46.51 -        fprintf(logfile, "set maxmem returned error %d\n", errno);
   46.52 -        return -1;
   46.53 -    }
   46.54 -
   46.55      err = xc_domain_memory_populate_physmap(xc_handle, domid, nr_pages, 0,
   46.56                                              address_bits, extent_start);
   46.57      if (err) {
   46.58 @@ -7688,11 +7666,13 @@ int main(int argc, char **argv)
   46.59      bdrv_init();
   46.60      xc_handle = xc_interface_open();
   46.61  #ifdef CONFIG_STUBDOM
   46.62 -    char *domid_s, *msg;
   46.63 -    if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
   46.64 -        fprintf(stderr,"Can not read our own domid\n", msg);
   46.65 -    else
   46.66 -        xenstore_parse_domain_config(atoi(domid_s));
   46.67 +    {
   46.68 +        char *domid_s, *msg;
   46.69 +        if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
   46.70 +            fprintf(stderr,"Can not read our own domid: %s\n", msg);
   46.71 +        else
   46.72 +            xenstore_parse_domain_config(atoi(domid_s));
   46.73 +    }
   46.74  #else /* CONFIG_STUBDOM */
   46.75      xenstore_parse_domain_config(domid);
   46.76  #endif /* CONFIG_STUBDOM */
    47.1 --- a/tools/ioemu/vl.h	Mon Apr 14 14:04:58 2008 -0600
    47.2 +++ b/tools/ioemu/vl.h	Tue Apr 15 11:09:46 2008 -0600
    47.3 @@ -159,7 +159,7 @@ extern void *shared_vram;
    47.4  extern FILE *logfile;
    47.5  
    47.6  
    47.7 -#if defined(__i386__) || defined(__x86_64__)
    47.8 +#if (defined(__i386__) || defined(__x86_64__)) && !defined(QEMU_TOOL)
    47.9  #define MAPCACHE
   47.10  uint8_t *qemu_map_cache(target_phys_addr_t phys_addr);
   47.11  void     qemu_invalidate_map_cache(void);
   47.12 @@ -1553,7 +1553,9 @@ extern long time_offset;
   47.13  void timeoffset_get(void);
   47.14  
   47.15  /* xen_platform.c */
   47.16 +#ifndef QEMU_TOOL
   47.17  void pci_xen_platform_init(PCIBus *bus);
   47.18 +#endif
   47.19  
   47.20  
   47.21  void kqemu_record_dump(void);
    48.1 --- a/tools/ioemu/xenstore.c	Mon Apr 14 14:04:58 2008 -0600
    48.2 +++ b/tools/ioemu/xenstore.c	Tue Apr 15 11:09:46 2008 -0600
    48.3 @@ -347,10 +347,6 @@ extern int vga_ram_size, bios_size;
    48.4  
    48.5  void xenstore_process_logdirty_event(void)
    48.6  {
    48.7 -#ifdef CONFIG_STUBDOM
    48.8 -    /* XXX we just can't use shm. */
    48.9 -    return;
   48.10 -#else
   48.11      char *act;
   48.12      static char *active_path = NULL;
   48.13      static char *next_active_path = NULL;
   48.14 @@ -392,6 +388,12 @@ void xenstore_process_logdirty_event(voi
   48.15          /* Map the shared-memory segment */
   48.16          fprintf(logfile, "%s: key=%16.16llx size=%lu\n", __FUNCTION__,
   48.17                  (unsigned long long)key, logdirty_bitmap_size);
   48.18 +
   48.19 +#ifdef CONFIG_STUBDOM
   48.20 +        /* XXX we just can't use shm. */
   48.21 +        fprintf(logfile, "Log dirty is not implemented in stub domains!\n");
   48.22 +        return;
   48.23 +#else
   48.24          shmid = shmget(key, 2 * logdirty_bitmap_size, S_IRUSR|S_IWUSR);
   48.25          if (shmid == -1) {
   48.26              fprintf(logfile, "Log-dirty: shmget failed: segment %16.16llx "
   48.27 @@ -417,6 +419,7 @@ void xenstore_process_logdirty_event(voi
   48.28              seg = NULL;
   48.29              return;
   48.30          }
   48.31 +#endif
   48.32  
   48.33          /* Remember the paths for the next-active and active entries */
   48.34          if (pasprintf(&active_path, 
   48.35 @@ -453,7 +456,6 @@ void xenstore_process_logdirty_event(voi
   48.36      /* Ack that we've switched */
   48.37      xs_write(xsh, XBT_NULL, active_path, act, len);
   48.38      free(act);
   48.39 -#endif
   48.40  }
   48.41  
   48.42  
    49.1 --- a/tools/libxc/xc_domain.c	Mon Apr 14 14:04:58 2008 -0600
    49.2 +++ b/tools/libxc/xc_domain.c	Tue Apr 15 11:09:46 2008 -0600
    49.3 @@ -7,6 +7,7 @@
    49.4   */
    49.5  
    49.6  #include "xc_private.h"
    49.7 +#include "xg_save_restore.h"
    49.8  #include <xen/memory.h>
    49.9  #include <xen/hvm/hvm_op.h>
   49.10  
   49.11 @@ -301,18 +302,27 @@ int xc_vcpu_getcontext(int xc_handle,
   49.12  {
   49.13      int rc;
   49.14      DECLARE_DOMCTL;
   49.15 +    size_t sz = sizeof(vcpu_guest_context_either_t);
   49.16  
   49.17      domctl.cmd = XEN_DOMCTL_getvcpucontext;
   49.18      domctl.domain = (domid_t)domid;
   49.19      domctl.u.vcpucontext.vcpu   = (uint16_t)vcpu;
   49.20      set_xen_guest_handle(domctl.u.vcpucontext.ctxt, ctxt);
   49.21  
   49.22 -    if ( (rc = lock_pages(ctxt, sizeof(*ctxt))) != 0 )
   49.23 -        return rc;
   49.24 +    /*
   49.25 +     * We may be asked to lock either a 32-bit or a 64-bit context. Lock the
   49.26 +     * larger of the two if possible, otherwise fall back to native size.
   49.27 +     */
   49.28 +    if ( (rc = lock_pages(ctxt, sz)) != 0 )
   49.29 +    {
   49.30 +        sz = sizeof(*ctxt);
   49.31 +        if ( (rc = lock_pages(ctxt, sz)) != 0 )
   49.32 +            return rc;
   49.33 +    }
   49.34  
   49.35      rc = do_domctl(xc_handle, &domctl);
   49.36  
   49.37 -    unlock_pages(ctxt, sizeof(*ctxt));
   49.38 +    unlock_pages(ctxt, sz);
   49.39  
   49.40      return rc;
   49.41  }
   49.42 @@ -620,19 +630,28 @@ int xc_vcpu_setcontext(int xc_handle,
   49.43  {
   49.44      DECLARE_DOMCTL;
   49.45      int rc;
   49.46 +    size_t sz = sizeof(vcpu_guest_context_either_t);
   49.47  
   49.48      domctl.cmd = XEN_DOMCTL_setvcpucontext;
   49.49      domctl.domain = domid;
   49.50      domctl.u.vcpucontext.vcpu = vcpu;
   49.51      set_xen_guest_handle(domctl.u.vcpucontext.ctxt, ctxt);
   49.52  
   49.53 -    if ( (ctxt != NULL) && ((rc = lock_pages(ctxt, sizeof(*ctxt))) != 0) )
   49.54 -        return rc;
   49.55 +    /*
   49.56 +     * We may be asked to lock either a 32-bit or a 64-bit context. Lock the
   49.57 +     * larger of the two if possible, otherwise fall back to native size.
   49.58 +     */
   49.59 +    if ( (ctxt != NULL) && (rc = lock_pages(ctxt, sz)) != 0 )
   49.60 +    {
   49.61 +        sz = sizeof(*ctxt);
   49.62 +        if ( (rc = lock_pages(ctxt, sz)) != 0 )
   49.63 +            return rc;
   49.64 +    }
   49.65  
   49.66      rc = do_domctl(xc_handle, &domctl);
   49.67  
   49.68      if ( ctxt != NULL )
   49.69 -        unlock_pages(ctxt, sizeof(*ctxt));
   49.70 +        unlock_pages(ctxt, sz);
   49.71  
   49.72      return rc;
   49.73  }
    50.1 --- a/tools/libxc/xc_domain_restore.c	Mon Apr 14 14:04:58 2008 -0600
    50.2 +++ b/tools/libxc/xc_domain_restore.c	Tue Apr 15 11:09:46 2008 -0600
    50.3 @@ -284,7 +284,8 @@ int xc_domain_restore(int xc_handle, int
    50.4      /* The new domain's shared-info frame number. */
    50.5      unsigned long shared_info_frame;
    50.6      unsigned char shared_info_page[PAGE_SIZE]; /* saved contents from file */
    50.7 -    shared_info_either_t *old_shared_info = (shared_info_either_t *)shared_info_page;
    50.8 +    shared_info_either_t *old_shared_info = 
    50.9 +        (shared_info_either_t *)shared_info_page;
   50.10      shared_info_either_t *new_shared_info;
   50.11  
   50.12      /* A copy of the CPU context of the guest. */
   50.13 @@ -349,13 +350,6 @@ int xc_domain_restore(int xc_handle, int
   50.14      guest_width = sizeof(unsigned long);
   50.15      pt_levels = (guest_width == 8) ? 4 : (pt_levels == 2) ? 2 : 3; 
   50.16      
   50.17 -    if ( lock_pages(&ctxt, sizeof(ctxt)) )
   50.18 -    {
   50.19 -        /* needed for build domctl, but might as well do early */
   50.20 -        ERROR("Unable to lock ctxt");
   50.21 -        return 1;
   50.22 -    }
   50.23 -
   50.24      if ( !hvm ) 
   50.25      {
   50.26          /* Load the p2m frame list, plus potential extended info chunk */
   50.27 @@ -380,8 +374,11 @@ int xc_domain_restore(int xc_handle, int
   50.28      /* We want zeroed memory so use calloc rather than malloc. */
   50.29      p2m        = calloc(p2m_size, MAX(guest_width, sizeof (xen_pfn_t))); 
   50.30      pfn_type   = calloc(p2m_size, sizeof(unsigned long));
   50.31 -    region_mfn = calloc(MAX_BATCH_SIZE, sizeof(xen_pfn_t));
   50.32 -    p2m_batch  = calloc(MAX_BATCH_SIZE, sizeof(xen_pfn_t));
   50.33 +
   50.34 +    region_mfn = xg_memalign(PAGE_SIZE, ROUNDUP(
   50.35 +                              MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT));
   50.36 +    p2m_batch  = xg_memalign(PAGE_SIZE, ROUNDUP(
   50.37 +                              MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT));
   50.38  
   50.39      if ( (p2m == NULL) || (pfn_type == NULL) ||
   50.40           (region_mfn == NULL) || (p2m_batch == NULL) )
   50.41 @@ -391,6 +388,11 @@ int xc_domain_restore(int xc_handle, int
   50.42          goto out;
   50.43      }
   50.44  
   50.45 +    memset(region_mfn, 0,
   50.46 +           ROUNDUP(MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT)); 
   50.47 +    memset(p2m_batch, 0,
   50.48 +           ROUNDUP(MAX_BATCH_SIZE * sizeof(xen_pfn_t), PAGE_SHIFT)); 
   50.49 +
   50.50      if ( lock_pages(region_mfn, sizeof(xen_pfn_t) * MAX_BATCH_SIZE) )
   50.51      {
   50.52          ERROR("Could not lock region_mfn");
   50.53 @@ -976,6 +978,12 @@ int xc_domain_restore(int xc_handle, int
   50.54          }
   50.55      }
   50.56  
   50.57 +    if ( lock_pages(&ctxt, sizeof(ctxt)) )
   50.58 +    {
   50.59 +        ERROR("Unable to lock ctxt");
   50.60 +        return 1;
   50.61 +    }
   50.62 +
   50.63      for ( i = 0; i <= max_vcpu_id; i++ )
   50.64      {
   50.65          if ( !(vcpumap & (1ULL << i)) )
    51.1 --- a/tools/libxc/xc_domain_save.c	Mon Apr 14 14:04:58 2008 -0600
    51.2 +++ b/tools/libxc/xc_domain_save.c	Tue Apr 15 11:09:46 2008 -0600
    51.3 @@ -223,7 +223,7 @@ static int ratewrite(int io_fd, int live
    51.4                  {
    51.5                      budget += BURST_BUDGET;
    51.6                      last_put.tv_usec += burst_time_us;
    51.7 -                    if ( last_put.tv_usec > 1000000 
    51.8 +                    if ( last_put.tv_usec > 1000000 )
    51.9                      {
   51.10                          last_put.tv_usec -= 1000000;
   51.11                          last_put.tv_sec++;
   51.12 @@ -939,9 +939,9 @@ int xc_domain_save(int xc_handle, int io
   51.13      sent_last_iter = p2m_size;
   51.14  
   51.15      /* Setup to_send / to_fix and to_skip bitmaps */
   51.16 -    to_send = malloc(BITMAP_SIZE);
   51.17 +    to_send = xg_memalign(PAGE_SIZE, ROUNDUP(BITMAP_SIZE, PAGE_SHIFT)); 
   51.18      to_fix  = calloc(1, BITMAP_SIZE);
   51.19 -    to_skip = malloc(BITMAP_SIZE);
   51.20 +    to_skip = xg_memalign(PAGE_SIZE, ROUNDUP(BITMAP_SIZE, PAGE_SHIFT)); 
   51.21  
   51.22      if ( !to_send || !to_fix || !to_skip )
   51.23      {
   51.24 @@ -983,8 +983,8 @@ int xc_domain_save(int xc_handle, int io
   51.25  
   51.26      analysis_phase(xc_handle, dom, p2m_size, to_skip, 0);
   51.27  
   51.28 -    /* We want zeroed memory so use calloc rather than malloc. */
   51.29 -    pfn_type   = calloc(MAX_BATCH_SIZE, sizeof(*pfn_type));
   51.30 +    pfn_type   = xg_memalign(PAGE_SIZE, ROUNDUP(
   51.31 +                              MAX_BATCH_SIZE * sizeof(*pfn_type), PAGE_SHIFT));
   51.32      pfn_batch  = calloc(MAX_BATCH_SIZE, sizeof(*pfn_batch));
   51.33      if ( (pfn_type == NULL) || (pfn_batch == NULL) )
   51.34      {
   51.35 @@ -992,10 +992,12 @@ int xc_domain_save(int xc_handle, int io
   51.36          errno = ENOMEM;
   51.37          goto out;
   51.38      }
   51.39 +    memset(pfn_type, 0,
   51.40 +           ROUNDUP(MAX_BATCH_SIZE * sizeof(*pfn_type), PAGE_SHIFT));
   51.41  
   51.42      if ( lock_pages(pfn_type, MAX_BATCH_SIZE * sizeof(*pfn_type)) )
   51.43      {
   51.44 -        ERROR("Unable to lock");
   51.45 +        ERROR("Unable to lock pfn_type array");
   51.46          goto out;
   51.47      }
   51.48  
   51.49 @@ -1048,7 +1050,7 @@ int xc_domain_save(int xc_handle, int io
   51.50      /* Now write out each data page, canonicalising page tables as we go... */
   51.51      for ( ; ; )
   51.52      {
   51.53 -        unsigned int prev_pc, sent_this_iter, N, batch;
   51.54 +        unsigned int prev_pc, sent_this_iter, N, batch, run;
   51.55  
   51.56          iter++;
   51.57          sent_this_iter = 0;
   51.58 @@ -1225,6 +1227,7 @@ int xc_domain_save(int xc_handle, int io
   51.59              }
   51.60  
   51.61              /* entering this loop, pfn_type is now in pfns (Not mfns) */
   51.62 +            run = 0;
   51.63              for ( j = 0; j < batch; j++ )
   51.64              {
   51.65                  unsigned long pfn, pagetype;
   51.66 @@ -1233,7 +1236,25 @@ int xc_domain_save(int xc_handle, int io
   51.67                  pfn      = pfn_type[j] & ~XEN_DOMCTL_PFINFO_LTAB_MASK;
   51.68                  pagetype = pfn_type[j] &  XEN_DOMCTL_PFINFO_LTAB_MASK;
   51.69  
   51.70 -                /* write out pages in batch */
   51.71 +                if ( pagetype != 0 )
   51.72 +                {
   51.73 +                    /* If the page is not a normal data page, write out any
   51.74 +                       run of pages we may have previously acumulated */
   51.75 +                    if ( run )
   51.76 +                    {
   51.77 +                        if ( ratewrite(io_fd, live, 
   51.78 +                                       (char*)region_base+(PAGE_SIZE*(j-run)), 
   51.79 +                                       PAGE_SIZE*run) != PAGE_SIZE*run )
   51.80 +                        {
   51.81 +                            ERROR("Error when writing to state file (4a)"
   51.82 +                                  " (errno %d)", errno);
   51.83 +                            goto out;
   51.84 +                        }                        
   51.85 +                        run = 0;
   51.86 +                    }
   51.87 +                }
   51.88 +
   51.89 +                /* skip pages that aren't present */
   51.90                  if ( pagetype == XEN_DOMCTL_PFINFO_XTAB )
   51.91                      continue;
   51.92  
   51.93 @@ -1255,24 +1276,31 @@ int xc_domain_save(int xc_handle, int io
   51.94  
   51.95                      if ( ratewrite(io_fd, live, page, PAGE_SIZE) != PAGE_SIZE )
   51.96                      {
   51.97 -                        ERROR("Error when writing to state file (4)"
   51.98 +                        ERROR("Error when writing to state file (4b)"
   51.99                                " (errno %d)", errno);
  51.100                          goto out;
  51.101                      }
  51.102                  }
  51.103                  else
  51.104                  {
  51.105 -                    /* We have a normal page: just write it directly. */
  51.106 -                    if ( ratewrite(io_fd, live, spage, PAGE_SIZE) !=
  51.107 -                         PAGE_SIZE )
  51.108 -                    {
  51.109 -                        ERROR("Error when writing to state file (5)"
  51.110 -                              " (errno %d)", errno);
  51.111 -                        goto out;
  51.112 -                    }
  51.113 +                    /* We have a normal page: accumulate it for writing. */
  51.114 +                    run++;
  51.115                  }
  51.116              } /* end of the write out for this batch */
  51.117  
  51.118 +            if ( run )
  51.119 +            {
  51.120 +                /* write out the last accumulated run of pages */
  51.121 +                if ( ratewrite(io_fd, live, 
  51.122 +                               (char*)region_base+(PAGE_SIZE*(j-run)), 
  51.123 +                               PAGE_SIZE*run) != PAGE_SIZE*run )
  51.124 +                {
  51.125 +                    ERROR("Error when writing to state file (4c)"
  51.126 +                          " (errno %d)", errno);
  51.127 +                    goto out;
  51.128 +                }                        
  51.129 +            }
  51.130 +
  51.131              sent_this_iter += batch;
  51.132  
  51.133              munmap(region_base, batch*PAGE_SIZE);
    52.1 --- a/tools/libxc/xc_evtchn.c	Mon Apr 14 14:04:58 2008 -0600
    52.2 +++ b/tools/libxc/xc_evtchn.c	Tue Apr 15 11:09:46 2008 -0600
    52.3 @@ -9,7 +9,8 @@
    52.4  #include "xc_private.h"
    52.5  
    52.6  
    52.7 -static int do_evtchn_op(int xc_handle, int cmd, void *arg, size_t arg_size)
    52.8 +static int do_evtchn_op(int xc_handle, int cmd, void *arg,
    52.9 +                        size_t arg_size, int silently_fail)
   52.10  {
   52.11      int ret = -1;
   52.12      DECLARE_HYPERCALL;
   52.13 @@ -24,7 +25,7 @@ static int do_evtchn_op(int xc_handle, i
   52.14          goto out;
   52.15      }
   52.16  
   52.17 -    if ((ret = do_xen_hypercall(xc_handle, &hypercall)) < 0)
   52.18 +    if ((ret = do_xen_hypercall(xc_handle, &hypercall)) < 0 && !silently_fail)
   52.19          ERROR("do_evtchn_op: HYPERVISOR_event_channel_op failed: %d", ret);
   52.20  
   52.21      unlock_pages(arg, arg_size);
   52.22 @@ -44,7 +45,7 @@ xc_evtchn_alloc_unbound(int xc_handle,
   52.23          .remote_dom = (domid_t)remote_dom
   52.24      };
   52.25  
   52.26 -    rc = do_evtchn_op(xc_handle, EVTCHNOP_alloc_unbound, &arg, sizeof(arg));
   52.27 +    rc = do_evtchn_op(xc_handle, EVTCHNOP_alloc_unbound, &arg, sizeof(arg), 0);
   52.28      if ( rc == 0 )
   52.29          rc = arg.port;
   52.30  
   52.31 @@ -55,5 +56,20 @@ int xc_evtchn_reset(int xc_handle,
   52.32                      uint32_t dom)
   52.33  {
   52.34      struct evtchn_reset arg = { .dom = (domid_t)dom };
   52.35 -    return do_evtchn_op(xc_handle, EVTCHNOP_reset, &arg, sizeof(arg));
   52.36 +    return do_evtchn_op(xc_handle, EVTCHNOP_reset, &arg, sizeof(arg), 0);
   52.37  }
   52.38 +
   52.39 +int xc_evtchn_status(int xc_handle,
   52.40 +                     uint32_t dom,
   52.41 +                     uint32_t port)
   52.42 +{
   52.43 +    int rc;
   52.44 +    struct evtchn_status arg = { .dom = (domid_t)dom,
   52.45 +                                 .port = (evtchn_port_t)port };
   52.46 +
   52.47 +    rc = do_evtchn_op(xc_handle, EVTCHNOP_status, &arg, sizeof(arg), 1);
   52.48 +    if ( rc == 0 )
   52.49 +        rc = arg.status;
   52.50 +
   52.51 +    return rc;
   52.52 +}
    53.1 --- a/tools/libxc/xc_hvm_build.c	Mon Apr 14 14:04:58 2008 -0600
    53.2 +++ b/tools/libxc/xc_hvm_build.c	Tue Apr 15 11:09:46 2008 -0600
    53.3 @@ -21,6 +21,13 @@
    53.4  
    53.5  #define SCRATCH_PFN 0xFFFFF
    53.6  
    53.7 +#define SPECIALPAGE_GUARD    0
    53.8 +#define SPECIALPAGE_BUFIOREQ 1
    53.9 +#define SPECIALPAGE_XENSTORE 2
   53.10 +#define SPECIALPAGE_IOREQ    3
   53.11 +#define SPECIALPAGE_IDENT_PT 4
   53.12 +#define NR_SPECIAL_PAGES     5
   53.13 +
   53.14  static void build_e820map(void *e820_page, unsigned long long mem_size)
   53.15  {
   53.16      struct e820entry *e820entry =
   53.17 @@ -77,21 +84,16 @@ static void build_e820map(void *e820_pag
   53.18      e820entry[nr_map].type = E820_RESERVED;
   53.19      nr_map++;
   53.20  
   53.21 -    /*
   53.22 -     * Low RAM goes here. Remove 4 pages for: ioreq, bufioreq, and xenstore.
   53.23 -     *  1. Guard page.
   53.24 -     *  2. Buffered ioreq.
   53.25 -     *  3. Xenstore.
   53.26 -     *  4. Normal ioreq.
   53.27 -     */
   53.28 +    /* Low RAM goes here. Reserve space for special pages. */
   53.29      e820entry[nr_map].addr = 0x100000;
   53.30 -    e820entry[nr_map].size = mem_size - 0x100000 - PAGE_SIZE * 4;
   53.31 +    e820entry[nr_map].size = (mem_size - 0x100000 -
   53.32 +                              PAGE_SIZE * NR_SPECIAL_PAGES);
   53.33      e820entry[nr_map].type = E820_RAM;
   53.34      nr_map++;
   53.35  
   53.36 -    /* Explicitly reserve space for special pages. */
   53.37 -    e820entry[nr_map].addr = mem_size - PAGE_SIZE * 3;
   53.38 -    e820entry[nr_map].size = PAGE_SIZE * 3;
   53.39 +    /* Explicitly reserve space for special pages (excluding guard page). */
   53.40 +    e820entry[nr_map].addr = mem_size - PAGE_SIZE * (NR_SPECIAL_PAGES - 1);
   53.41 +    e820entry[nr_map].size = PAGE_SIZE * (NR_SPECIAL_PAGES - 1);
   53.42      e820entry[nr_map].type = E820_RESERVED;
   53.43      nr_map++;
   53.44  
   53.45 @@ -156,10 +158,11 @@ static int setup_guest(int xc_handle,
   53.46  {
   53.47      xen_pfn_t *page_array = NULL;
   53.48      unsigned long i, nr_pages = (unsigned long)memsize << (20 - PAGE_SHIFT);
   53.49 -    unsigned long shared_page_nr, entry_eip;
   53.50 +    unsigned long special_page_nr, entry_eip, cur_pages;
   53.51      struct xen_add_to_physmap xatp;
   53.52      struct shared_info *shared_info;
   53.53      void *e820_page;
   53.54 +    uint32_t *ident_pt;
   53.55      struct elf_binary elf;
   53.56      uint64_t v_start, v_end;
   53.57      int rc;
   53.58 @@ -206,12 +209,23 @@ static int setup_guest(int xc_handle,
   53.59      for ( i = HVM_BELOW_4G_RAM_END >> PAGE_SHIFT; i < nr_pages; i++ )
   53.60          page_array[i] += HVM_BELOW_4G_MMIO_LENGTH >> PAGE_SHIFT;
   53.61  
   53.62 -    /* Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000. */
   53.63 +    /*
   53.64 +     * Allocate memory for HVM guest, skipping VGA hole 0xA0000-0xC0000.
   53.65 +     * We allocate pages in batches of no more than 2048 to ensure that
   53.66 +     * we can be preempted and hence dom0 remains responsive.
   53.67 +     */
   53.68      rc = xc_domain_memory_populate_physmap(
   53.69          xc_handle, dom, 0xa0, 0, 0, &page_array[0x00]);
   53.70 -    if ( rc == 0 )
   53.71 +    cur_pages = 0xc0;
   53.72 +    while ( (rc == 0) && (nr_pages > cur_pages) )
   53.73 +    {
   53.74 +        unsigned long count = nr_pages - cur_pages;
   53.75 +        if ( count > 2048 )
   53.76 +            count = 2048;
   53.77          rc = xc_domain_memory_populate_physmap(
   53.78 -            xc_handle, dom, nr_pages - 0xc0, 0, 0, &page_array[0xc0]);
   53.79 +            xc_handle, dom, count, 0, 0, &page_array[cur_pages]);
   53.80 +        cur_pages += count;
   53.81 +    }
   53.82      if ( rc != 0 )
   53.83      {
   53.84          PERROR("Could not allocate memory for HVM guest.\n");
   53.85 @@ -245,29 +259,46 @@ static int setup_guest(int xc_handle,
   53.86             sizeof(shared_info->evtchn_mask));
   53.87      munmap(shared_info, PAGE_SIZE);
   53.88  
   53.89 -    if ( v_end > HVM_BELOW_4G_RAM_END )
   53.90 -        shared_page_nr = (HVM_BELOW_4G_RAM_END >> PAGE_SHIFT) - 1;
   53.91 -    else
   53.92 -        shared_page_nr = (v_end >> PAGE_SHIFT) - 1;
   53.93 +    special_page_nr = (((v_end > HVM_BELOW_4G_RAM_END)
   53.94 +                        ? (HVM_BELOW_4G_RAM_END >> PAGE_SHIFT)
   53.95 +                        : (v_end >> PAGE_SHIFT))
   53.96 +                       - NR_SPECIAL_PAGES);
   53.97 +
   53.98 +    /* Paranoia: clean special pages. */
   53.99 +    for ( i = 0; i < NR_SPECIAL_PAGES; i++ )
  53.100 +        if ( xc_clear_domain_page(xc_handle, dom, special_page_nr + i) )
  53.101 +            goto error_out;
  53.102  
  53.103      /* Free the guard page that separates low RAM from special pages. */
  53.104      rc = xc_domain_memory_decrease_reservation(
  53.105 -            xc_handle, dom, 1, 0, &page_array[shared_page_nr-3]);
  53.106 +        xc_handle, dom, 1, 0, &page_array[special_page_nr]);
  53.107      if ( rc != 0 )
  53.108      {
  53.109          PERROR("Could not deallocate guard page for HVM guest.\n");
  53.110          goto error_out;
  53.111      }
  53.112  
  53.113 -    /* Paranoia: clean pages. */
  53.114 -    if ( xc_clear_domain_page(xc_handle, dom, shared_page_nr) ||
  53.115 -         xc_clear_domain_page(xc_handle, dom, shared_page_nr-1) ||
  53.116 -         xc_clear_domain_page(xc_handle, dom, shared_page_nr-2) )
  53.117 +    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_STORE_PFN,
  53.118 +                     special_page_nr + SPECIALPAGE_XENSTORE);
  53.119 +    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_BUFIOREQ_PFN,
  53.120 +                     special_page_nr + SPECIALPAGE_BUFIOREQ);
  53.121 +    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IOREQ_PFN,
  53.122 +                     special_page_nr + SPECIALPAGE_IOREQ);
  53.123 +
  53.124 +    /*
  53.125 +     * Identity-map page table is required for running with CR0.PG=0 when
  53.126 +     * using Intel EPT. Create a 32-bit non-PAE page directory of superpages.
  53.127 +     */
  53.128 +    if ( (ident_pt = xc_map_foreign_range(
  53.129 +              xc_handle, dom, PAGE_SIZE, PROT_READ | PROT_WRITE,
  53.130 +              special_page_nr + SPECIALPAGE_IDENT_PT)) == NULL )
  53.131          goto error_out;
  53.132 -
  53.133 -    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_STORE_PFN, shared_page_nr-1);
  53.134 -    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_BUFIOREQ_PFN, shared_page_nr-2);
  53.135 -    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IOREQ_PFN, shared_page_nr);
  53.136 +    for ( i = 0; i < PAGE_SIZE / sizeof(*ident_pt); i++ )
  53.137 +        ident_pt[i] = ((i << 22) | _PAGE_PRESENT | _PAGE_RW | _PAGE_USER |
  53.138 +                       _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_PSE);
  53.139 +    munmap(ident_pt, PAGE_SIZE);
  53.140 +    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IDENT_PT,
  53.141 +                     special_page_nr + SPECIALPAGE_IDENT_PT);
  53.142  
  53.143      /* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
  53.144      entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
    54.1 --- a/tools/libxc/xenctrl.h	Mon Apr 14 14:04:58 2008 -0600
    54.2 +++ b/tools/libxc/xenctrl.h	Tue Apr 15 11:09:46 2008 -0600
    54.3 @@ -470,6 +470,9 @@ xc_evtchn_alloc_unbound(int xc_handle,
    54.4  
    54.5  int xc_evtchn_reset(int xc_handle,
    54.6                      uint32_t dom);
    54.7 +int xc_evtchn_status(int xc_handle,
    54.8 +                     uint32_t dom,
    54.9 +                     uint32_t port);
   54.10  
   54.11  /*
   54.12   * Return a handle to the event channel driver, or -1 on failure, in which case
    55.1 --- a/tools/libxc/xg_private.c	Mon Apr 14 14:04:58 2008 -0600
    55.2 +++ b/tools/libxc/xg_private.c	Tue Apr 15 11:09:46 2008 -0600
    55.3 @@ -8,6 +8,7 @@
    55.4  #include <unistd.h>
    55.5  #include <zlib.h>
    55.6  #include <strings.h>
    55.7 +#include <malloc.h>
    55.8  
    55.9  #include "xg_private.h"
   55.10  
   55.11 @@ -198,6 +199,22 @@ unsigned long csum_page(void *page)
   55.12      return -1;
   55.13  }
   55.14  
   55.15 +void *xg_memalign(size_t alignment, size_t size)
   55.16 +{
   55.17 +#if defined(_POSIX_C_SOURCE) && !defined(__sun__)
   55.18 +    int ret;
   55.19 +    void *ptr;
   55.20 +    ret = posix_memalign(&ptr, alignment, size);
   55.21 +    if (ret != 0)
   55.22 +        return NULL;
   55.23 +    return ptr;
   55.24 +#elif defined(__NetBSD__) || defined(__OpenBSD__)
   55.25 +    return valloc(size);
   55.26 +#else
   55.27 +    return memalign(alignment, size);
   55.28 +#endif
   55.29 +}
   55.30 +
   55.31  /*
   55.32   * Local variables:
   55.33   * mode: C
    56.1 --- a/tools/libxc/xg_private.h	Mon Apr 14 14:04:58 2008 -0600
    56.2 +++ b/tools/libxc/xg_private.h	Tue Apr 15 11:09:46 2008 -0600
    56.3 @@ -176,4 +176,6 @@ int xc_copy_to_domain_page(int xc_handle
    56.4  int pin_table(int xc_handle, unsigned int type, unsigned long mfn,
    56.5                domid_t dom);
    56.6  
    56.7 +void *xg_memalign(size_t alignment, size_t size);
    56.8 +
    56.9  #endif /* XG_PRIVATE_H */
    57.1 --- a/tools/python/xen/util/acmpolicy.py	Mon Apr 14 14:04:58 2008 -0600
    57.2 +++ b/tools/python/xen/util/acmpolicy.py	Tue Apr 15 11:09:46 2008 -0600
    57.3 @@ -76,6 +76,7 @@ DEFAULT_policy = \
    57.4  "  <SimpleTypeEnforcement>\n" +\
    57.5  "    <SimpleTypeEnforcementTypes>\n" +\
    57.6  "      <Type>SystemManagement</Type>\n" +\
    57.7 +"      <Type>__UNLABELED__</Type>\n" +\
    57.8  "    </SimpleTypeEnforcementTypes>\n" +\
    57.9  "  </SimpleTypeEnforcement>\n" +\
   57.10  "  <ChineseWall>\n" +\
   57.11 @@ -89,12 +90,30 @@ DEFAULT_policy = \
   57.12  "        <Name%s>SystemManagement</Name>\n" +\
   57.13  "        <SimpleTypeEnforcementTypes>\n" +\
   57.14  "          <Type>SystemManagement</Type>\n" +\
   57.15 +"          <Type>__UNLABELED__</Type>\n" +\
   57.16 +"        </SimpleTypeEnforcementTypes>\n" +\
   57.17 +"        <ChineseWallTypes>\n" +\
   57.18 +"          <Type/>\n" +\
   57.19 +"        </ChineseWallTypes>\n" +\
   57.20 +"      </VirtualMachineLabel>\n" +\
   57.21 +"      <VirtualMachineLabel>\n" +\
   57.22 +"        <Name>__UNLABELED__</Name>\n" +\
   57.23 +"        <SimpleTypeEnforcementTypes>\n" +\
   57.24 +"          <Type>__UNLABELED__</Type>\n" +\
   57.25  "        </SimpleTypeEnforcementTypes>\n" +\
   57.26  "        <ChineseWallTypes>\n" +\
   57.27  "          <Type/>\n" +\
   57.28  "        </ChineseWallTypes>\n" +\
   57.29  "      </VirtualMachineLabel>\n" +\
   57.30  "    </SubjectLabels>\n" +\
   57.31 +"    <ObjectLabels>\n" +\
   57.32 +"      <ResourceLabel>\n" +\
   57.33 +"        <Name>__UNLABELED__</Name>\n" +\
   57.34 +"        <SimpleTypeEnforcementTypes>\n" +\
   57.35 +"          <Type>__UNLABELED__</Type>\n" +\
   57.36 +"        </SimpleTypeEnforcementTypes>\n" +\
   57.37 +"      </ResourceLabel>\n" +\
   57.38 +"    </ObjectLabels>\n" +\
   57.39  "  </SecurityLabelTemplate>\n" +\
   57.40  "</SecurityPolicyDefinition>\n"
   57.41  
   57.42 @@ -231,13 +250,14 @@ class ACMPolicy(XSPolicy):
   57.43          """
   57.44             Determine whether this is the default policy
   57.45          """
   57.46 -        default = ['SystemManagement']
   57.47 +        default = ['SystemManagement', ACM_LABEL_UNLABELED ]
   57.48          if self.policy_get_virtualmachinelabel_names() == default and \
   57.49             self.policy_get_bootstrap_vmlabel() == default[0] and \
   57.50             self.policy_get_stetypes_types() == default and \
   57.51             self.policy_get_stes_of_vmlabel(default[0]) == default and \
   57.52 -           self.policy_get_resourcelabel_names() == [] and \
   57.53 -           self.policy_get_chwall_types() == default and \
   57.54 +           self.policy_get_stes_of_vmlabel(default[1]) == [default[1]] and \
   57.55 +           self.policy_get_resourcelabel_names() == [default[1]] and \
   57.56 +           self.policy_get_chwall_types() == [ default[0] ] and \
   57.57             self.get_name() == "DEFAULT":
   57.58              return True
   57.59          return False
    58.1 --- a/tools/python/xen/util/xsm/acm/acm.py	Mon Apr 14 14:04:58 2008 -0600
    58.2 +++ b/tools/python/xen/util/xsm/acm/acm.py	Tue Apr 15 11:09:46 2008 -0600
    58.3 @@ -1146,11 +1146,13 @@ def __resources_compatible_with_vmlabel(
    58.4      for key, value in resources.items():
    58.5          if key in [ 'vbd', 'tap' ]:
    58.6              for res in resources[key]:
    58.7 -                try:
    58.8 +                if not res in access_control:
    58.9 +                    label = [xsconstants.ACM_POLICY_ID,
   58.10 +                             xspol.get_name(),
   58.11 +                             ACM_LABEL_UNLABELED]
   58.12 +                else:
   58.13                      label = access_control[res]
   58.14 -                    if not collect_labels(reslabels, label, polname):
   58.15 -                        return False
   58.16 -                except:
   58.17 +                if not collect_labels(reslabels, label, polname):
   58.18                      return False
   58.19          elif key in [ 'vif' ]:
   58.20              for xapi_label in value:
   58.21 @@ -1220,6 +1222,11 @@ def set_resource_label(resource, policyt
   58.22                  return -xsconstants.XSERR_BAD_LABEL
   58.23              if tmp[2] != oreslabel:
   58.24                  return -xsconstants.XSERR_BAD_LABEL
   58.25 +        if resource.startswith('vlan:'):
   58.26 +            for key, value in access_control.items():
   58.27 +                if value == tuple([policytype, policyref, reslabel]) and \
   58.28 +                   key.startswith('vlan:'):
   58.29 +                    return -xsconstants.XSERR_BAD_LABEL
   58.30          if reslabel != "":
   58.31              new_entry = { resource : tuple([policytype, policyref, reslabel])}
   58.32              access_control.update(new_entry)
   58.33 @@ -1402,6 +1409,8 @@ def change_acm_policy(bin_pol, del_array
   58.34          dominfos = XendDomain.instance().list('all')
   58.35  
   58.36          log.info("----------------------------------------------")
   58.37 +
   58.38 +        label_changes = []
   58.39          # relabel resources
   58.40  
   58.41          access_control = {}
   58.42 @@ -1433,7 +1442,7 @@ def change_acm_policy(bin_pol, del_array
   58.43              elif label not in polnew_reslabels:
   58.44                  # label been removed
   58.45                  policytype = xsconstants.INVALID_POLICY_PREFIX + policytype
   58.46 -                run_resource_label_change_script(key, "", "remove")
   58.47 +                label_changes.append(key)
   58.48                  polname = policy
   58.49              else:
   58.50                  # no change to label
   58.51 @@ -1501,6 +1510,8 @@ def change_acm_policy(bin_pol, del_array
   58.52  
   58.53          rc, errors = hv_chg_policy(bin_pol, del_array, chg_array)
   58.54          if rc == 0:
   58.55 +            for key in label_changes:
   58.56 +                run_resource_label_change_script(key, "", "remove")
   58.57              # Write the relabeled resources back into the file
   58.58              dictio.dict_write(access_control, "resources", res_label_filename)
   58.59              # Properly update all VMs to their new labels
    59.1 --- a/tools/python/xen/xend/XendConstants.py	Mon Apr 14 14:04:58 2008 -0600
    59.2 +++ b/tools/python/xen/xend/XendConstants.py	Tue Apr 15 11:09:46 2008 -0600
    59.3 @@ -96,6 +96,7 @@ ZOMBIE_PREFIX = 'Zombie-'
    59.4  MINIMUM_RESTART_TIME = 20
    59.5  
    59.6  RESTART_IN_PROGRESS = 'xend/restart_in_progress'
    59.7 +DUMPCORE_IN_PROGRESS = 'xend/dumpcore_in_progress'
    59.8  LAST_SHUTDOWN_REASON = 'xend/last_shutdown_reason'
    59.9  
   59.10  TRIGGER_NMI   = 0
    60.1 --- a/tools/python/xen/xend/XendDomainInfo.py	Mon Apr 14 14:04:58 2008 -0600
    60.2 +++ b/tools/python/xen/xend/XendDomainInfo.py	Tue Apr 15 11:09:46 2008 -0600
    60.3 @@ -986,6 +986,13 @@ class XendDomainInfo:
    60.4                    self.info['name_label'], str(self.domid), target)
    60.5          
    60.6          MiB = 1024 * 1024
    60.7 +
    60.8 +        if self.domid == 0:
    60.9 +            dom0_min_mem = xoptions.get_dom0_min_mem()
   60.10 +            memory_cur = self.get_memory_dynamic_max() / MiB
   60.11 +            if target < memory_cur and dom0_min_mem > target:
   60.12 +                raise XendError("memory_dynamic_max too small")
   60.13 +
   60.14          self._safe_set_memory('memory_dynamic_min', target * MiB)
   60.15          self._safe_set_memory('memory_dynamic_max', target * MiB)
   60.16  
   60.17 @@ -1792,10 +1799,13 @@ class XendDomainInfo:
   60.18                  raise XendError("Cannot dump core in a directory: %s" %
   60.19                                  corefile)
   60.20              
   60.21 +            self._writeVm(DUMPCORE_IN_PROGRESS, 'True')
   60.22              xc.domain_dumpcore(self.domid, corefile)
   60.23 +            self._removeVm(DUMPCORE_IN_PROGRESS)
   60.24          except RuntimeError, ex:
   60.25              corefile_incomp = corefile+'-incomplete'
   60.26              os.rename(corefile, corefile_incomp)
   60.27 +            self._removeVm(DUMPCORE_IN_PROGRESS)
   60.28              log.exception("XendDomainInfo.dumpCore failed: id = %s name = %s",
   60.29                            self.domid, self.info['name_label'])
   60.30              raise XendError("Failed to dump core: %s" %  str(ex))
    61.1 --- a/tools/python/xen/xend/XendOptions.py	Mon Apr 14 14:04:58 2008 -0600
    61.2 +++ b/tools/python/xen/xend/XendOptions.py	Tue Apr 15 11:09:46 2008 -0600
    61.3 @@ -279,6 +279,13 @@ class XendOptions:
    61.4      def get_dom0_min_mem(self):
    61.5          return self.get_config_int('dom0-min-mem', self.dom0_min_mem_default)
    61.6  
    61.7 +    def get_enable_dom0_ballooning(self):
    61.8 +        enable_dom0_ballooning_default = 'yes'
    61.9 +        if self.get_dom0_min_mem() == 0:
   61.10 +            enable_dom0_ballooning_default = 'no'
   61.11 +        return self.get_config_bool('enable-dom0-ballooning',
   61.12 +                                    enable_dom0_ballooning_default)
   61.13 +
   61.14      def get_dom0_vcpus(self):
   61.15          return self.get_config_int('dom0-cpus', self.dom0_vcpus_default)
   61.16  
    62.1 --- a/tools/python/xen/xend/balloon.py	Mon Apr 14 14:04:58 2008 -0600
    62.2 +++ b/tools/python/xen/xend/balloon.py	Tue Apr 15 11:09:46 2008 -0600
    62.3 @@ -81,8 +81,8 @@ def free(need_mem):
    62.4      # needs to balloon.  No matter where we expect the free memory to come
    62.5      # from, we need to wait for it to become available.
    62.6      #
    62.7 -    # We are not allowed to balloon below dom0_min_mem, or if dom0_min_mem
    62.8 -    # is 0, we cannot balloon at all.  Memory can still become available
    62.9 +    # We are not allowed to balloon below dom0_min_mem, or if dom0_ballooning
   62.10 +    # is False, we cannot balloon at all.  Memory can still become available
   62.11      # through a rebooting domain, however.
   62.12      #
   62.13      # Eventually, we time out (presumably because there really isn't enough
   62.14 @@ -100,6 +100,7 @@ def free(need_mem):
   62.15  
   62.16      try:
   62.17          dom0_min_mem = xoptions.get_dom0_min_mem() * 1024
   62.18 +        dom0_ballooning = xoptions.get_enable_dom0_ballooning()
   62.19          dom0_alloc = get_dom0_current_alloc()
   62.20  
   62.21          retries = 0
   62.22 @@ -115,7 +116,7 @@ def free(need_mem):
   62.23          free_mem = physinfo['free_memory']
   62.24          scrub_mem = physinfo['scrub_memory']
   62.25          total_mem = physinfo['total_memory']
   62.26 -        if dom0_min_mem > 0:
   62.27 +        if dom0_ballooning:
   62.28              max_free_mem = total_mem - dom0_min_mem
   62.29          else:
   62.30              max_free_mem = total_mem - dom0_alloc
   62.31 @@ -137,7 +138,7 @@ def free(need_mem):
   62.32                  log.debug("Balloon: %d KiB free; %d to scrub; need %d; retries: %d.",
   62.33                            free_mem, scrub_mem, need_mem, rlimit)
   62.34  
   62.35 -            if dom0_min_mem > 0:
   62.36 +            if dom0_ballooning:
   62.37                  dom0_alloc = get_dom0_current_alloc()
   62.38                  new_alloc = dom0_alloc - (need_mem - free_mem - scrub_mem)
   62.39  
   62.40 @@ -163,10 +164,10 @@ def free(need_mem):
   62.41              last_free = free_mem + scrub_mem
   62.42  
   62.43          # Not enough memory; diagnose the problem.
   62.44 -        if dom0_min_mem == 0:
   62.45 -            raise VmError(('Not enough free memory and dom0_min_mem is 0, so '
   62.46 -                           'I cannot release any more.  I need %d KiB but '
   62.47 -                           'only have %d.') %
   62.48 +        if not dom0_ballooning:
   62.49 +            raise VmError(('Not enough free memory and enable-dom0-ballooning '
   62.50 +                           'is False, so I cannot release any more.  '
   62.51 +                           'I need %d KiB but only have %d.') %
   62.52                            (need_mem, free_mem))
   62.53          elif new_alloc < dom0_min_mem:
   62.54              raise VmError(
    63.1 --- a/tools/python/xen/xend/image.py	Mon Apr 14 14:04:58 2008 -0600
    63.2 +++ b/tools/python/xen/xend/image.py	Tue Apr 15 11:09:46 2008 -0600
    63.3 @@ -99,7 +99,9 @@ class ImageHandler:
    63.4          self.vncconsole = vmConfig['platform'].get('vncconsole')
    63.5          self.dmargs = self.parseDeviceModelArgs(vmConfig)
    63.6          self.pid = None
    63.7 -
    63.8 +        rtc_timeoffset = vmConfig['platform'].get('rtc_timeoffset')
    63.9 +        if rtc_timeoffset is not None:
   63.10 +            xc.domain_set_time_offset(self.vm.getDomid(), int(rtc_timeoffset))
   63.11  
   63.12  
   63.13      def cleanupBootloading(self):
   63.14 @@ -419,9 +421,6 @@ class LinuxImageHandler(ImageHandler):
   63.15  
   63.16      def configure(self, vmConfig):
   63.17          ImageHandler.configure(self, vmConfig)
   63.18 -        rtc_timeoffset = vmConfig['platform'].get('rtc_timeoffset')
   63.19 -        if rtc_timeoffset is not None:
   63.20 -            xc.domain_set_time_offset(self.vm.getDomid(), int(rtc_timeoffset))
   63.21  
   63.22      def buildDomain(self):
   63.23          store_evtchn = self.vm.getStorePort()
    64.1 --- a/tools/python/xen/xm/main.py	Mon Apr 14 14:04:58 2008 -0600
    64.2 +++ b/tools/python/xen/xm/main.py	Tue Apr 15 11:09:46 2008 -0600
    64.3 @@ -1294,14 +1294,14 @@ def xm_dump_core(args):
    64.4      try:
    64.5          print "Dumping core of domain: %s ..." % str(dom)
    64.6          server.xend.domain.dump(dom, filename, live, crash)
    64.7 +
    64.8 +        if crash:
    64.9 +            print "Destroying domain: %s ..." % str(dom)
   64.10 +            server.xend.domain.destroy(dom)
   64.11      finally:
   64.12 -        if not live and ds == DOM_STATE_RUNNING:
   64.13 +        if not live and not crash and ds == DOM_STATE_RUNNING:
   64.14              server.xend.domain.unpause(dom)
   64.15  
   64.16 -    if crash:
   64.17 -        print "Destroying domain: %s ..." % str(dom)
   64.18 -        server.xend.domain.destroy(dom)
   64.19 -
   64.20  def xm_rename(args):
   64.21      arg_check(args, "rename", 2)
   64.22          
    65.1 --- a/tools/python/xen/xm/shutdown.py	Mon Apr 14 14:04:58 2008 -0600
    65.2 +++ b/tools/python/xen/xm/shutdown.py	Tue Apr 15 11:09:46 2008 -0600
    65.3 @@ -144,7 +144,7 @@ def main_all(opts, args):
    65.4  def main_dom(opts, args):
    65.5      if len(args) == 0: opts.err('No domain parameter given')
    65.6      if len(args) >  1: opts.err('No multiple domain parameters allowed')
    65.7 -    dom = args[0]
    65.8 +    dom = sxp.child_value(server.xend.domain(args[0]), 'name')
    65.9      if serverType == SERVER_XEN_API:
   65.10          dom = get_single_vm(dom)
   65.11      mode = shutdown_mode(opts)  
    66.1 --- a/tools/security/Makefile	Mon Apr 14 14:04:58 2008 -0600
    66.2 +++ b/tools/security/Makefile	Tue Apr 15 11:09:46 2008 -0600
    66.3 @@ -32,7 +32,7 @@ ACM_SECGEN_CGIDIR = $(ACM_SECGEN_HTMLDIR
    66.4  
    66.5  ACM_SCHEMA        = security_policy.xsd
    66.6  ACM_EXAMPLES      = client_v1 test
    66.7 -ACM_DEF_POLICIES  = DEFAULT-UL
    66.8 +ACM_DEF_POLICIES  =
    66.9  ACM_POLICY_SUFFIX = security_policy.xml
   66.10  
   66.11  ifeq ($(ACM_SECURITY),y)
    67.1 --- a/tools/security/policies/DEFAULT-UL-security_policy.xml	Mon Apr 14 14:04:58 2008 -0600
    67.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    67.3 @@ -1,41 +0,0 @@
    67.4 -<?xml version="1.0" ?>
    67.5 -<SecurityPolicyDefinition xmlns="http://www.ibm.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com ../../security_policy.xsd">
    67.6 -  <PolicyHeader>
    67.7 -    <PolicyName>DEFAULT-UL</PolicyName>
    67.8 -    <Version>1.0</Version>
    67.9 -  </PolicyHeader>
   67.10 -  <SimpleTypeEnforcement>
   67.11 -    <SimpleTypeEnforcementTypes>
   67.12 -      <Type>SystemManagement</Type>
   67.13 -      <Type>__UNLABELED__</Type>
   67.14 -    </SimpleTypeEnforcementTypes>
   67.15 -  </SimpleTypeEnforcement>
   67.16 -  <ChineseWall>
   67.17 -    <ChineseWallTypes>
   67.18 -      <Type>SystemManagement</Type>
   67.19 -    </ChineseWallTypes>
   67.20 -  </ChineseWall>
   67.21 -  <SecurityLabelTemplate>
   67.22 -    <SubjectLabels bootstrap="SystemManagement">
   67.23 -      <VirtualMachineLabel>
   67.24 -        <Name>SystemManagement</Name>
   67.25 -        <SimpleTypeEnforcementTypes>
   67.26 -          <Type>SystemManagement</Type>
   67.27 -          <Type>__UNLABELED__</Type>
   67.28 -        </SimpleTypeEnforcementTypes>
   67.29 -        <ChineseWallTypes>
   67.30 -          <Type/>
   67.31 -        </ChineseWallTypes>
   67.32 -      </VirtualMachineLabel>
   67.33 -      <VirtualMachineLabel>
   67.34 -        <Name>__UNLABELED__</Name>
   67.35 -        <SimpleTypeEnforcementTypes>
   67.36 -          <Type>__UNLABELED__</Type>
   67.37 -        </SimpleTypeEnforcementTypes>
   67.38 -        <ChineseWallTypes>
   67.39 -          <Type/>
   67.40 -        </ChineseWallTypes>
   67.41 -      </VirtualMachineLabel>
   67.42 -    </SubjectLabels>
   67.43 -  </SecurityLabelTemplate>
   67.44 -</SecurityPolicyDefinition>
    68.1 --- a/tools/tests/blowfish.mk	Mon Apr 14 14:04:58 2008 -0600
    68.2 +++ b/tools/tests/blowfish.mk	Tue Apr 15 11:09:46 2008 -0600
    68.3 @@ -5,11 +5,11 @@ CFLAGS :=
    68.4  include $(XEN_ROOT)/tools/Rules.mk
    68.5  
    68.6  # Disable PIE/SSP if GCC supports them. They can break us.
    68.7 -CFLAGS  += $(call cc-option,$(CC),-nopie,)
    68.8 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector,)
    68.9 -CFLAGS  += $(call cc-option,$(CC),-fno-stack-protector-all,)
   68.10 +CFLAGS += $(call cc-option,$(CC),-nopie,)
   68.11 +CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
   68.12 +CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
   68.13  
   68.14 -CFLAGS  += -fno-builtin -O2 -msoft-float
   68.15 +CFLAGS += -fno-builtin -msoft-float
   68.16  
   68.17  .PHONY: all
   68.18  all: blowfish.bin
    69.1 --- a/tools/xcutils/Makefile	Mon Apr 14 14:04:58 2008 -0600
    69.2 +++ b/tools/xcutils/Makefile	Tue Apr 15 11:09:46 2008 -0600
    69.3 @@ -18,7 +18,7 @@ CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_
    69.4  CFLAGS += -Wp,-MD,.$(@F).d
    69.5  PROG_DEP = .*.d
    69.6  
    69.7 -PROGRAMS = xc_restore xc_save readnotes
    69.8 +PROGRAMS = xc_restore xc_save readnotes lsevtchn
    69.9  
   69.10  LDLIBS   = $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenguest) $(LDFLAGS_libxenstore)
   69.11  
    70.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    70.2 +++ b/tools/xcutils/lsevtchn.c	Tue Apr 15 11:09:46 2008 -0600
    70.3 @@ -0,0 +1,59 @@
    70.4 +#include <err.h>
    70.5 +#include <stdlib.h>
    70.6 +#include <stdint.h>
    70.7 +#include <string.h>
    70.8 +#include <stdio.h>
    70.9 +
   70.10 +#include <xs.h>
   70.11 +#include <xenctrl.h>
   70.12 +#include <xenguest.h>
   70.13 +
   70.14 +int
   70.15 +main(int argc, char **argv)
   70.16 +{
   70.17 +    int xc_fd;
   70.18 +    int domid = 0, port = 0, status;
   70.19 +    const char *msg;
   70.20 +
   70.21 +    if ( argc > 1 )
   70.22 +        domid = strtol(argv[1], NULL, 10);
   70.23 +
   70.24 +    xc_fd = xc_interface_open();
   70.25 +    if ( xc_fd < 0 )
   70.26 +        errx(1, "failed to open control interface");
   70.27 +
   70.28 +    while ( (status = xc_evtchn_status(xc_fd, domid, port)) >= 0 )
   70.29 +    {
   70.30 +        switch ( status )
   70.31 +        {
   70.32 +        case EVTCHNSTAT_closed:
   70.33 +            msg = "Channel is not in use.";
   70.34 +            break;
   70.35 +        case EVTCHNSTAT_unbound:
   70.36 +            msg = "Channel is waiting interdom connection.";
   70.37 +            break;
   70.38 +        case EVTCHNSTAT_interdomain:
   70.39 +            msg = "Channel is connected to remote domain.";
   70.40 +            break;
   70.41 +        case EVTCHNSTAT_pirq:
   70.42 +            msg = "Channel is bound to a phys IRQ line.";
   70.43 +            break;
   70.44 +        case EVTCHNSTAT_virq:
   70.45 +            msg = "Channel is bound to a virtual IRQ line.";
   70.46 +            break;
   70.47 +        case EVTCHNSTAT_ipi:
   70.48 +            msg = "Channel is bound to a virtual IPI line.";
   70.49 +            break;
   70.50 +        default:
   70.51 +            msg = "Unknown.";
   70.52 +            break;
   70.53 +
   70.54 +        }
   70.55 +        printf("%03d: %d: %s\n", port, status, msg);
   70.56 +        port++;
   70.57 +    }
   70.58 +
   70.59 +    xc_interface_close(xc_fd);
   70.60 +
   70.61 +    return 0;
   70.62 +}
    71.1 --- a/tools/xenstore/Makefile	Mon Apr 14 14:04:58 2008 -0600
    71.2 +++ b/tools/xenstore/Makefile	Tue Apr 15 11:09:46 2008 -0600
    71.3 @@ -13,8 +13,7 @@ CFLAGS += -Wp,-MD,.$(@F).d
    71.4  DEP    = .*.d
    71.5  
    71.6  CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod
    71.7 -CLIENTS += xenstore-write
    71.8 -CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
    71.9 +CLIENTS += xenstore-write xenstore-ls
   71.10  
   71.11  XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
   71.12  
   71.13 @@ -24,8 +23,18 @@ XENSTORED_OBJS_$(CONFIG_NetBSD) = xensto
   71.14  
   71.15  XENSTORED_OBJS += $(XENSTORED_OBJS_y)
   71.16  
   71.17 +ifneq ($(XENSTORE_STATIC_CLIENTS),y)
   71.18 +LIBXENSTORE := libxenstore.so
   71.19 +else
   71.20 +LIBXENSTORE := libxenstore.a
   71.21 +xenstore xenstore-control: CFLAGS += -static
   71.22 +endif
   71.23 +
   71.24  .PHONY: all
   71.25 -all: libxenstore.so libxenstore.a xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
   71.26 +all: libxenstore.so libxenstore.a xenstored clients xs_tdb_dump 
   71.27 +
   71.28 +.PHONY: clients
   71.29 +clients: xenstore $(CLIENTS) xenstore-control
   71.30  
   71.31  ifeq ($(CONFIG_SunOS),y)
   71.32  xenstored_probes.h: xenstored_probes.d
   71.33 @@ -42,16 +51,13 @@ endif
   71.34  xenstored: $(XENSTORED_OBJS)
   71.35  	$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDFLAGS_libxenctrl) $(SOCKET_LIBS) -o $@
   71.36  
   71.37 -$(CLIENTS): xenstore-%: xenstore_%.o libxenstore.so
   71.38 +$(CLIENTS): xenstore
   71.39 +	ln -f xenstore $@
   71.40 +
   71.41 +xenstore: xenstore_client.o $(LIBXENSTORE)
   71.42  	$(CC) $(CFLAGS) $(LDFLAGS) $< -L. -lxenstore $(SOCKET_LIBS) -o $@
   71.43  
   71.44 -$(CLIENTS_OBJS): xenstore_%.o: xenstore_client.c
   71.45 -	$(COMPILE.c) -DCLIENT_$(*F) -o $@ $<
   71.46 -
   71.47 -xenstore-control: xenstore_control.o libxenstore.so
   71.48 -	$(CC) $(CFLAGS) $(LDFLAGS) $< -L. -lxenstore $(SOCKET_LIBS) -o $@
   71.49 -
   71.50 -xenstore-ls: xsls.o libxenstore.so
   71.51 +xenstore-control: xenstore_control.o $(LIBXENSTORE)
   71.52  	$(CC) $(CFLAGS) $(LDFLAGS) $< -L. -lxenstore $(SOCKET_LIBS) -o $@
   71.53  
   71.54  xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
   71.55 @@ -62,6 +68,8 @@ libxenstore.so: libxenstore.so.$(MAJOR)
   71.56  libxenstore.so.$(MAJOR): libxenstore.so.$(MAJOR).$(MINOR)
   71.57  	ln -sf $< $@
   71.58  
   71.59 +xs.opic: CFLAGS += -DUSE_PTHREAD
   71.60 +
   71.61  libxenstore.so.$(MAJOR).$(MINOR): xs.opic xs_lib.opic
   71.62  	$(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenstore.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^ $(SOCKET_LIBS) -lpthread
   71.63  
   71.64 @@ -72,8 +80,8 @@ libxenstore.a: xs.o xs_lib.o
   71.65  clean:
   71.66  	rm -f *.a *.o *.opic *.so* xenstored_probes.h
   71.67  	rm -f xenstored xs_random xs_stress xs_crashme
   71.68 -	rm -f xs_tdb_dump xenstore-control xenstore-ls
   71.69 -	rm -f $(CLIENTS)
   71.70 +	rm -f xs_tdb_dump xenstore-control
   71.71 +	rm -f xenstore $(CLIENTS)
   71.72  	$(RM) $(DEP)
   71.73  
   71.74  .PHONY: TAGS
   71.75 @@ -92,9 +100,11 @@ install: all
   71.76  	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
   71.77  	$(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
   71.78  	$(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
   71.79 -	$(INSTALL_PROG) $(CLIENTS) $(DESTDIR)$(BINDIR)
   71.80  	$(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
   71.81 -	$(INSTALL_PROG) xenstore-ls $(DESTDIR)$(BINDIR)
   71.82 +	$(INSTALL_PROG) xenstore $(DESTDIR)/usr/bin
   71.83 +	set -e ; for c in $(CLIENTS) ; do \
   71.84 +		ln -f $(DESTDIR)/usr/bin/xenstore $(DESTDIR)/usr/bin/$${c} ; \
   71.85 +	done
   71.86  	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
   71.87  	$(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
   71.88  	ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
    72.1 --- a/tools/xenstore/xenstore_client.c	Mon Apr 14 14:04:58 2008 -0600
    72.2 +++ b/tools/xenstore/xenstore_client.c	Tue Apr 15 11:09:46 2008 -0600
    72.3 @@ -16,12 +16,31 @@
    72.4  #include <stdio.h>
    72.5  #include <stdlib.h>
    72.6  #include <string.h>
    72.7 +#include <termios.h>
    72.8 +#include <unistd.h>
    72.9  #include <xs.h>
   72.10  
   72.11 +#include <sys/ioctl.h>
   72.12 +
   72.13 +#define PATH_SEP '/'
   72.14 +#define MAX_PATH_LEN 256
   72.15 +
   72.16 +#define MAX_PERMS 16
   72.17 +
   72.18 +enum mode {
   72.19 +    MODE_unknown,
   72.20 +    MODE_chmod,
   72.21 +    MODE_exists,
   72.22 +    MODE_list,
   72.23 +    MODE_ls,
   72.24 +    MODE_read,
   72.25 +    MODE_rm,
   72.26 +    MODE_write,
   72.27 +};
   72.28 +
   72.29  static char *output_buf = NULL;
   72.30  static int output_pos = 0;
   72.31  
   72.32 -#if defined(CLIENT_read) || defined(CLIENT_list)
   72.33  static int output_size = 0;
   72.34  
   72.35  static void
   72.36 @@ -47,26 +66,39 @@ output(const char *fmt, ...) {
   72.37      va_end(ap);
   72.38      output_pos += len;
   72.39  }
   72.40 -#endif
   72.41  
   72.42  static void
   72.43 -usage(const char *progname)
   72.44 +usage(enum mode mode, int incl_mode, const char *progname)
   72.45  {
   72.46 -#if defined(CLIENT_read)
   72.47 -    errx(1, "Usage: %s [-h] [-p] [-s] key [...]", progname);
   72.48 -#elif defined(CLIENT_write)
   72.49 -    errx(1, "Usage: %s [-h] [-s] key value [...]", progname);
   72.50 -#elif defined(CLIENT_rm)
   72.51 -    errx(1, "Usage: %s [-h] [-s] [-t] key [...]", progname);
   72.52 -#elif defined(CLIENT_exists) || defined(CLIENT_list)
   72.53 -    errx(1, "Usage: %s [-h] [-s] key [...]", progname);
   72.54 -#elif defined(CLIENT_chmod)
   72.55 -    errx(1, "Usage: %s [-h] [-s] key <mode [modes...]>", progname);
   72.56 -#endif
   72.57 +    const char *mstr = NULL;
   72.58 +
   72.59 +    switch (mode) {
   72.60 +    case MODE_unknown:
   72.61 +	errx(1, "Usage: %s <mode> [-h] [...]", progname);
   72.62 +    case MODE_read:
   72.63 +	mstr = incl_mode ? "read " : "";
   72.64 +	errx(1, "Usage: %s %s[-h] [-p] [-s] key [...]", progname, mstr);
   72.65 +    case MODE_write:
   72.66 +	mstr = incl_mode ? "write " : "";
   72.67 +	errx(1, "Usage: %s %s[-h] [-s] key value [...]", progname, mstr);
   72.68 +    case MODE_rm:
   72.69 +	mstr = incl_mode ? "rm " : "";
   72.70 +	errx(1, "Usage: %s %s[-h] [-s] [-t] key [...]", progname, mstr);
   72.71 +    case MODE_exists:
   72.72 +	mstr = incl_mode ? "exists " : "";
   72.73 +    case MODE_list:
   72.74 +	mstr = mstr ? : incl_mode ? "list " : "";
   72.75 +	errx(1, "Usage: %s %s[-h] [-s] key [...]", progname, mstr);
   72.76 +    case MODE_ls:
   72.77 +	mstr = mstr ? : incl_mode ? "ls " : "";
   72.78 +	errx(1, "Usage: %s %s[-h] [-s] [path]", progname, mstr);
   72.79 +    case MODE_chmod:
   72.80 +	mstr = incl_mode ? "chmod " : "";
   72.81 +	errx(1, "Usage: %s %s[-h] [-s] key <mode [modes...]>", progname, mstr);
   72.82 +    }
   72.83  }
   72.84  
   72.85  
   72.86 -#if defined(CLIENT_rm)
   72.87  static int
   72.88  do_rm(char *path, struct xs_handle *xsh, xs_transaction_t xth)
   72.89  {
   72.90 @@ -78,11 +110,111 @@ do_rm(char *path, struct xs_handle *xsh,
   72.91          return 1;
   72.92      }
   72.93  }
   72.94 -#endif
   72.95 +
   72.96 +#define STRING_MAX XENSTORE_ABS_PATH_MAX+1024
   72.97 +static int max_width = 80;
   72.98 +static int desired_width = 60;
   72.99 +static int show_whole_path = 0;
  72.100 +
  72.101 +#define TAG " = \"...\""
  72.102 +#define TAG_LEN strlen(TAG)
  72.103 +
  72.104 +#define MIN(a, b) (((a) < (b))? (a) : (b))
  72.105 +
  72.106 +void do_ls(struct xs_handle *h, char *path, int cur_depth, int show_perms)
  72.107 +{
  72.108 +    static struct expanding_buffer ebuf;
  72.109 +    char **e;
  72.110 +    char newpath[STRING_MAX], *val;
  72.111 +    int newpath_len;
  72.112 +    int i;
  72.113 +    unsigned int num, len;
  72.114 +
  72.115 +    e = xs_directory(h, XBT_NULL, path, &num);
  72.116 +    if (e == NULL)
  72.117 +        err(1, "xs_directory (%s)", path);
  72.118 +
  72.119 +    for (i = 0; i<num; i++) {
  72.120 +        char buf[MAX_STRLEN(unsigned int)+1];
  72.121 +        struct xs_permissions *perms;
  72.122 +        unsigned int nperms;
  72.123 +        int linewid;
  72.124 +
  72.125 +        /* Compose fullpath */
  72.126 +        newpath_len = snprintf(newpath, sizeof(newpath), "%s%s%s", path, 
  72.127 +                path[strlen(path)-1] == '/' ? "" : "/", 
  72.128 +                e[i]);
  72.129 +
  72.130 +        /* Print indent and path basename */
  72.131 +        linewid = 0;
  72.132 +        if (show_whole_path) {
  72.133 +            fputs(newpath, stdout);
  72.134 +        } else {
  72.135 +            for (; linewid<cur_depth; linewid++) {
  72.136 +                putchar(' ');
  72.137 +            }
  72.138 +            linewid += printf("%.*s",
  72.139 +                              (int) (max_width - TAG_LEN - linewid), e[i]);
  72.140 +