diff --git a/allinone/config/boot-syslinux.msg b/allinone/config/boot-syslinux.msg new file mode 100644 index 000000000..44bd432e8 --- /dev/null +++ b/allinone/config/boot-syslinux.msg @@ -0,0 +1,24 @@ +Arch Linux +http://www.archlinux.org +Copyright 2002 - 2007 Judd Vinet +Copyright 2007 - 2008 Aaron Griffin +Distributed under the GNU General Public License (GPL) + +SYSLINUX BOOT +Creation Tool: 'archboot' written by Tobias Powalowski + +INSTALLATION / RESCUEBOOT SYSTEM +Arch Linux @@RELEASENAME@@ +Kernel: @@KERNEL@@ +Architecture: i686/x86_64 +Creation Date: @@DATE@@ + +Available boot options (no input will boot the 32bit install/rescue system): +- For 64bit environment, please use arch64 or lowmem64. +- 'arch ' to boot the install/rescue system. +- 'arch root=/dev/??? ' to boot into an existing system. +- 'lowmem ' to boot the 64MB RAM install system. +- 'lowmem root=/dev/??? ' to boot into an existing + 64MB RAM system. +- 'memtest' to start the memory test program memtest86+. +- For troubleshooting and other options press the F2 key. diff --git a/allinone/config/boot.msg b/allinone/config/boot.msg new file mode 100644 index 000000000..4f14dead3 --- /dev/null +++ b/allinone/config/boot.msg @@ -0,0 +1,24 @@ +Arch Linux +http://www.archlinux.org +Copyright 2002 - 2007 Judd Vinet +Copyright 2007 - 2008 Aaron Griffin +Distributed under the GNU General Public License (GPL) + +ISOLINUX BOOT +Creation Tool: 'archboot' written by Tobias Powalowski + +INSTALLATION / RESCUEBOOT SYSTEM +Arch Linux @@RELEASENAME@@ +Kernel: @@KERNEL@@ +Architecture: i686/x86_64 +Creation Date: @@DATE@@ + +Available boot options (no input will boot the 32bit install/rescue system): +- For 64bit environment, please use arch64 or lowmem64. +- 'arch ' to boot the install/rescue system. +- 'arch root=/dev/??? ' to boot into an existing system. +- 'lowmem ' to boot the 64MB RAM install system. +- 'lowmem root=/dev/??? ' to boot into an existing + 64MB RAM system. +- 'memtest' to start the memory test program memtest86+. +- For troubleshooting and other options press the F2 key. diff --git a/allinone/config/isolinux.bin b/allinone/config/isolinux.bin new file mode 100755 index 000000000..a758379be Binary files /dev/null and b/allinone/config/isolinux.bin differ diff --git a/allinone/config/isolinux.cfg b/allinone/config/isolinux.cfg new file mode 100644 index 000000000..47a79c19b --- /dev/null +++ b/allinone/config/isolinux.cfg @@ -0,0 +1,18 @@ +prompt 1 +timeout 300 +display boot.msg +F1 boot.msg +F2 options.msg +default arch +label arch +kernel vmlinuz +append initrd=initrd.img rootdelay=5 +label arch64 +kernel vm64 +append initrd=initrd64.img rootdelay=5 +label lowmem +kernel vmlinuz +append initrd=lowmem.img rootdelay=5 +label lowmem64 +kernel vm64 +append initrd=lowmem64.img rootdelay=5 \ No newline at end of file diff --git a/allinone/config/options.msg b/allinone/config/options.msg new file mode 100644 index 000000000..d98e4d208 --- /dev/null +++ b/allinone/config/options.msg @@ -0,0 +1,24 @@ +Arch Linux options and troubleshooting: +- If you have trouble with IDE drives, use the "ide-legacy" boot option +- If your system hangs during the boot process, any combinations of the + boot options noapic acpi=off pci=routeirq nosmp may be useful. + +- ARCH_INTEL_WIRELESS USAGE: + In order to use those drivers, you have to agree to the firmware licenses + by appending intel-wireless to boot prompt. + +- ARCH_ADDONS USAGE: + In order to load external addon packages or configs + into the install environment, please append arch-addons to boot prompt. + Place external addon packages in /packages directory. + Place external configs in /config directory. + +- ARCH_TIACX_WIRELESS USAGE: + Please identify the correct file(s) for your device in /usr/share/tiacx + and copy them to /lib/firmware and reload your kernel module. + See http://acx100.sourceforge.net/wiki/Firmware for details. + +- For returning to start screen press F1 key. + + + diff --git a/allinone/create-allinone.sh b/allinone/create-allinone.sh new file mode 100755 index 000000000..9a3dd0bb0 --- /dev/null +++ b/allinone/create-allinone.sh @@ -0,0 +1,111 @@ +#! /bin/bash +# created by Tobias Powalowski +APPNAME=$(basename "${0}") +usage () +{ + echo "${APPNAME}: usage" + echo "CREATE ALLINONE USB/CD IMAGES" + echo "-----------------------------" + echo "Run in archboot x86_64 chroot first ..." + echo "mkbootcd -c=/etc/archboot/archbootcd.conf -t=core64.tar.bz2" + echo "mkbootcd -c=/etc/archboot/archbootcd-lowmem.conf -t=lowmem64.tar.bz2" + echo "Run in archboot 686 chroot then ..." + echo "mkbootcd -c=/etc/archboot/archbootcd.conf -t=core.tar.bz2" + echo "mkbootcd -c=/etc/archboot/archbootcd-lowmem.conf -t=lowmem.tar.bz2" + echo "Copy the generated tarballs to your favorite directory and run:" + echo "${APPNAME} -g " + echo "" + echo "PARAMETERS:" + echo " -g Start generation of images." + echo " -i=IMAGENAME Your IMAGENAME." + echo " -r=RELEASENAME Use RELEASENAME in boot message." + echo " -k=KERNELNAME Use KERNELNAME in boot message." + echo " -h This message." + exit 1 +} + +[ "$1" == "" ] && usage && exit 1 + + +while [ $# -gt 0 ]; do + case $1 in + -g|--g) GENERATE="1" ;; + -i=*|--i=*) IMAGENAME="$(echo $1 | awk -F= '{print $2;}')" ;; + -r=*|--r=*) RELEASENAME="$(echo $1 | awk -F= '{print $2;}')" ;; + -k=*|--k=*) KERNEL="$(echo $1 | awk -F= '{print $2;}')" ;; + -h|--h|?) usage ;; + *) usage ;; + esac + shift +done + +if ! [ ${GENERATE} = "1" ]; then + usage +fi + +### check for root +if ! [ $UID -eq 0 ]; then + echo "ERROR: Please run as root user!" + exit 1 +fi + +[ "${KERNEL}" = "" ] && KERNEL=$(uname -r) +[ "${RELEASENAME}" = "" ] && RELEASENAME="Nepal" +[ "${IMAGENAME}" = "" ] && IMAGENAME="Archlinux-allinone-$(date +%Y.%m)" + +LOWMEM=$(mktemp -d /tmp/lowmem.XXX) +LOWMEM64=$(mktemp -d /tmp/lowmem64.XXX) +CORE=$(mktemp -d /tmp/core.XXX) +CORE64=$(mktemp -d /tmp/core64.XXX) +ALLINONE=$(mktemp -d /tmp/allinone.XXX) + +# create directories +mkdir ${ALLINONE}/arch +mkdir ${ALLINONE}/isolinux +# extract tarballs +tar xvf lowmem64.tar -C ${LOWMEM64} || exit 1 +tar xvf core64.tar -C ${CORE64} || exit 1 +tar xvf lowmem.tar -C ${LOWMEM} || exit 1 +tar xvf core.tar -C ${CORE} || exit 1 +# move in packages +mv ${LOWMEM}/tmp/*/core-i686 ${ALLINONE}/ +mv ${LOWMEM64}/tmp/*/core-x86_64 ${ALLINONE}/ +# move in doc +mv ${CORE}/tmp/*/arch/archdoc.txt ${ALLINONE}/arch/ +# place kernels and memtest +mv ${LOWMEM}/tmp/*/isolinux/vmlinuz ${ALLINONE}/isolinux/ +mv ${LOWMEM64}/tmp/*/isolinux/vmlinuz ${ALLINONE}/isolinux/vm64 +mv ${LOWMEM}/tmp/*/isolinux/memtest ${ALLINONE}/isolinux/ +# place initrd files +mv ${LOWMEM}/tmp/*/isolinux/initrd.img ${ALLINONE}/isolinux/lowmem.img +mv ${LOWMEM64}/tmp/*/isolinux/initrd.img ${ALLINONE}/isolinux/lowmem64.img +mv ${CORE}/tmp/*/isolinux/initrd.img ${ALLINONE}/isolinux/ +mv ${CORE64}/tmp/*/isolinux/initrd.img ${ALLINONE}/isolinux/initrd64.img +# place config files +cp /etc/archboot/allinone/config/* ${ALLINONE}/isolinux/ +rm ${ALLINONE}/isolinux/boot-syslinux.msg +sed -i -e "s/@@DATE@@/$(date)/g" -e "s/@@KERNEL@@/$KERNEL/g" -e "s/@@RELEASENAME@@/$RELEASENAME/g" ${ALLINONE}/isolinux/boot.msg +# generate iso file +echo "Generating ALLINONE ISO ..." +mkisofs -RlDJLV "Arch Linux ALLINONE" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ${IMAGENAME}.iso ${ALLINONE}/ > /dev/null 2>&1 + +echo "Generating ALLINONE IMG ..." +# cleanup isolinux and migrate to syslinux +rm ${ALLINONE}/isolinux/isolinux.bin +mv ${ALLINONE}/isolinux/isolinux.cfg ${ALLINONE}/isolinux/syslinux.cfg +mv ${ALLINONE}/isolinux/* ${ALLINONE}/ +rm -r ${ALLINONE}/isolinux +cp /etc/archboot/allinone/config/boot-syslinux.msg ${ALLINONE}/boot.msg +sed -i -e "s/@@DATE@@/$(date)/g" -e "s/@@KERNEL@@/$KERNEL/g" -e "s/@@RELEASENAME@@/$RELEASENAME/g" ${ALLINONE}/boot.msg +/etc/archboot/allinone/usbimage-helper.sh ${ALLINONE} ${IMAGENAME}.img > /dev/null 2>&1 +#create md5sums.txt +[ -e md5sum.txt ] && rm -f md5sum.txt +for i in ${IMAGENAME}.iso ${IMAGENAME}.img; do + md5sum $i >> md5sum.txt +done +# cleanup +rm -r ${LOWMEM} +rm -r ${LOWMEM64} +rm -r ${CORE} +rm -r ${CORE64} +rm -r ${ALLINONE} diff --git a/allinone/usbimage-helper.sh b/allinone/usbimage-helper.sh new file mode 100755 index 000000000..63f162f34 --- /dev/null +++ b/allinone/usbimage-helper.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# based on mkusbimg, modified to use syslinux +# by Tobias Powalowski +# +# mkusbimg - creates a bootable disk image +# Copyright (C) 2008 Simo Leone +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# usage(exitvalue) +# outputs a usage message and exits with value +APPNAME=$(basename "${0}") +usage() +{ + echo "usage: ${APPNAME} " + exit $1 +} + +################################################## + +if [ $# -ne 2 ]; then + usage 1 +fi + +DISKIMG="${2}" +IMGROOT="${1}" +TMPDIR=$(mktemp -d) +FSIMG=$(mktemp) + +# ext2 overhead's upper bound is 6% +# empirically tested up to 1GB +rootsize=$(du -bs ${IMGROOT}|cut -f1) +IMGSZ=$(( (${rootsize}*102)/100/512 + 1)) # image size in sectors + +# create the filesystem image file +dd if=/dev/zero of="$FSIMG" bs=512 count="$IMGSZ" + +# create a filesystem on the image +mkfs.vfat -S 512 "$FSIMG" + +# mount the filesystem and copy data +modprobe loop +mount -o loop "$FSIMG" "$TMPDIR" +cp -r "$IMGROOT"/* "$TMPDIR" + +# unmount filesystem +umount "$TMPDIR" +cat "$FSIMG" > "$DISKIMG" + +# install syslinux on the image +syslinux "$DISKIMG" + +# all done :) +rm -fr "$TMPDIR" "$FSIMG" diff --git a/archbootcd-lowmem.conf b/archbootcd-lowmem.conf index bac5fdf0f..3f22d19a3 100644 --- a/archbootcd-lowmem.conf +++ b/archbootcd-lowmem.conf @@ -25,7 +25,7 @@ APPENDBOOTMESSAGE_SYSLINUX_LOWMEM="/etc/archboot/etc/append-message-syslinux-low APPENDOPTIONSBOOTMESSAGE="/etc/archboot/etc/append-options" # menu.lst or isolinux.cfg files to use -ISOLINUXCFG="/etc/archboot/etc/isolinux-lowmem.cfg" +ISOLINUXCFG="/etc/archboot/etc/isolinux.cfg" MENULST="/etc/archboot/etc/menu.lst" # Prompt on CD boot, defaulted to yes, 1=yes 0=no diff --git a/archbootcd-tarball.conf b/archbootcd-tarball.conf new file mode 100644 index 000000000..d50f32411 --- /dev/null +++ b/archbootcd-tarball.conf @@ -0,0 +1,44 @@ +# vim:set ft=sh: +# Created by Tobias Powalowski +# config file for mkbootcd + +# DEFAULT kernel boot options +KERNEL_BOOT_OPTIONS="rootdelay=5" + +# mkinitcpio config file, defaulted to stock config file +MKINITCPIO_CONFIG="/etc/archboot/install-lowmem.conf" + +# kernel version, defaulted to build for runtime kernel +VERSION="$(uname -r)" + +# kernel image, defaulted to stock arch kernel +KERNEL="/boot/vmlinuz26" + +# boot message file +# blank by default arch-bootmessage hook will create it by default +BOOTMESSAGE="" + +# append this file to the default bootmessage +APPENDBOOTMESSAGE="/etc/archboot/etc/append-message" +APPENDBOOTMESSAGE_SYSLINUX="/etc/archboot/etc/append-message-syslinux" +APPENDBOOTMESSAGE_SYSLINUX_LOWMEM="/etc/archboot/etc/append-message-syslinux-tarball" +APPENDOPTIONSBOOTMESSAGE="/etc/archboot/etc/append-options" + +# menu.lst or isolinux.cfg files to use +ISOLINUXCFG="/etc/archboot/etc/isolinux-tarball.cfg" +MENULST="/etc/archboot/etc/menu.lst" + +# Prompt on CD boot, defaulted to yes, 1=yes 0=no +PROMPT="1" + +# Name of the ISO, if empty Arch Linux is used if not set by a HOOK later +ISONAME="" + +# Timeout in seconds on CD boot, defaulted to 30 to fix usb keyboard issues +# 0 means wait for prompt +TIMEOUT="300" + +# Setting cdrecord options +DEVICE="/dev/cdrw" +SPEED="4" +BLANKMODE="fast" diff --git a/archusbstick-lowmem.conf b/archusbstick-lowmem.conf new file mode 100644 index 000000000..d5a71ae3c --- /dev/null +++ b/archusbstick-lowmem.conf @@ -0,0 +1,38 @@ +# Created by Tobias Powalowski +# config file for mksyslinux + +# DEFAULT kernel boot options like root=/dev/hda3 etc. +# add your root= option, if you boot from a disk device +# and don't want to add it by hand on each boot +KERNEL_BOOT_OPTIONS="rootdelay=5" + +# mkinitcpio config file, defaulted to stock config file +MKINITCPIO_CONFIG="/etc/archboot/install-lowmem.conf" + +# kernel version, defaulted to build for runtime kernel +VERSION="$(uname -r)" + +# kernel image, defaulted to stock arch kernel +KERNEL="/boot/vmlinuz26" + +# boot message file +# blank by default arch-bootmessage hook will create it by default +BOOTMESSAGE="" + +# append this file to the default bootmessage +APPENDBOOTMESSAGE="/etc/archboot/etc/append-message" +APPENDBOOTMESSAGE_SYSLINUX="/etc/archboot/etc/append-message-syslinux" +APPENDBOOTMESSAGE_SYSLINUX_LOWMEM="/etc/archboot/etc/append-message-syslinux-lowmem" +APPENDOPTIONSBOOTMESSAGE="/etc/archboot/etc/append-options" + +# syslinux.cfg files to use +SYSLINUXCFG="/etc/archboot/etc/syslinux.cfg" + +# Prompt on boot, defaulted to yes, 1=yes 0=no +PROMPT="1" + +# Timeout in seconds on boot, defaulted to 0, because we prompt by default +TIMEOUT="0" + +# default MBR +MBR="/usr/share/mksyslinux/mbr.bin" \ No newline at end of file diff --git a/archusbstick.conf b/archusbstick.conf new file mode 100644 index 000000000..595564bd7 --- /dev/null +++ b/archusbstick.conf @@ -0,0 +1,37 @@ +# Created by Tobias Powalowski +# config file for mksyslinux + +# DEFAULT kernel boot options like root=/dev/hda3 etc. +# add your root= option, if you boot from a disk device +# and don't want to add it by hand on each boot +KERNEL_BOOT_OPTIONS="rootdelay=5" + +# mkinitcpio config file, defaulted to stock config file +MKINITCPIO_CONFIG="/etc/archboot/install.conf" + +# kernel version, defaulted to build for runtime kernel +VERSION="$(uname -r)" + +# kernel image, defaulted to stock arch kernel +KERNEL="/boot/vmlinuz26" + +# boot message file +# blank by default arch-bootmessage hook will create it by default +BOOTMESSAGE="" + +# append this file to the default bootmessage +APPENDBOOTMESSAGE="/etc/archboot/etc/append-message" +APPENDBOOTMESSAGE_SYSLINUX="/etc/archboot/etc/append-message-syslinux" +APPENDOPTIONSBOOTMESSAGE="/etc/archboot/etc/append-options" + +# syslinux.cfg files to use +SYSLINUXCFG="/etc/archboot/etc/syslinux.cfg" + +# Prompt on boot, defaulted to yes, 1=yes 0=no +PROMPT="1" + +# Timeout in seconds on boot, defaulted to 0, because we prompt by default +TIMEOUT="0" + +# default MBR +MBR="/usr/share/mksyslinux/mbr.bin" \ No newline at end of file diff --git a/base/etc/fstab b/base/etc/fstab index 3539796c3..dcca1ce3e 100644 --- a/base/etc/fstab +++ b/base/etc/fstab @@ -5,6 +5,6 @@ none /dev/pts devpts defaults 0 0 none /dev/shm tmpfs defaults 0 0 -/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0 -/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0 -/dev/fd0 /media/fl auto user,noauto 0 0 +/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0 +/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0 +/dev/fd0 /media/fl auto user,noauto 0 0 diff --git a/base/etc/inittab b/base/etc/inittab index 7c39e057d..f8772e006 100644 --- a/base/etc/inittab +++ b/base/etc/inittab @@ -19,6 +19,8 @@ c1:2:respawn:/sbin/agetty -8 -n -l /etc/login.sh 38400 vc/1 linux c2:2:respawn:/sbin/agetty -8 -n -l /etc/login.sh 38400 vc/2 linux c3:2:respawn:/sbin/agetty -8 -n -l /etc/login.sh 38400 vc/3 linux c4:2:respawn:/sbin/agetty -8 -n -l /etc/login.sh 38400 vc/4 linux +c5:2:respawn:/sbin/agetty -8 -n -l /etc/login.sh 38400 vc/4 linux +c6:2:respawn:/sbin/agetty -8 -n -l /etc/login.sh 38400 vc/4 linux ca::ctrlaltdel:/sbin/shutdown -t3 -r now diff --git a/base/etc/nanorc b/base/etc/nanorc index 328a47e09..f056b6ca9 100644 --- a/base/etc/nanorc +++ b/base/etc/nanorc @@ -1,7 +1,6 @@ set autoindent set const set historylog -set nowrap set smooth set regexp set fill 72 diff --git a/base/etc/pacman.conf b/base/etc/pacman.conf index f16db97d6..bdff91baa 100644 --- a/base/etc/pacman.conf +++ b/base/etc/pacman.conf @@ -14,8 +14,25 @@ #CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#XferCommand = /usr/bin/curl %u > %o +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options (all disabled by default) +#NoPassiveFtp +#UseSyslog +#ShowSize +#UseDelta +#TotalDownload + # # REPOSITORIES # - can be defined here or included from another file @@ -23,6 +40,7 @@ HoldPkg = pacman glibc # - local/custom mirrors can be added here or in separate files # - repositories listed first will take precedence when packages # have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo # # Repository entries are of the format: # [repo-name] @@ -51,12 +69,6 @@ Include = /etc/pacman.d/mirrorlist # Add your preferred servers here, they will be used first Include = /etc/pacman.d/mirrorlist -# Unstable is disabled by default. To enable, uncomment the following -# two lines. You can add preferred servers immediately after the header, -# and they will be used before the default mirrors. -#[unstable] -#Include = /etc/pacman.d/mirrorlist - # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] diff --git a/base/etc/profile b/base/etc/profile index a6918022c..b2eb67901 100644 --- a/base/etc/profile +++ b/base/etc/profile @@ -23,10 +23,9 @@ alias ls='ls --color=auto' alias dir='dir --color=auto' cd / -echo " Waiting for usb/fw devices to come ready ..." -sleep 5 -clear -cat /etc/motd echo "Hit ENTER to enter the bash shell ..." read +if ! [ -e /tmp/.setup ]; then + [ $(which /arch/setup 2> /dev/null) ] && /arch/setup +fi # End of file diff --git a/base/etc/protocols b/base/etc/protocols index becf37f11..670728e20 100644 --- a/base/etc/protocols +++ b/base/etc/protocols @@ -1,147 +1,57 @@ -# $NetBSD: protocols,v 1.12.4.1 2006/12/02 12:58:19 bouyer Exp $ -# # Internet (IP) protocols # -# originally from: @(#)protocols 8.1 (Berkeley) 6/9/93 -# see http://www.iana.org/assignments/protocol-numbers -# +# Updated from http://www.iana.org/assignments/protocol-numbers and other +# sources. +# New protocols will be added on request if they have been officially +# assigned by IANA and are not historical. +# If you need a huge list of used numbers please install the nmap package. + ip 0 IP # internet protocol, pseudo protocol number +#hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option [RFC1883] icmp 1 ICMP # internet control message protocol -igmp 2 IGMP # internet group management protocol +igmp 2 IGMP # Internet Group Management ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') st 5 ST # ST datagram mode tcp 6 TCP # transmission control protocol -cbt 7 CBT egp 8 EGP # exterior gateway protocol -igp 9 IGP # any private interior gateway protocol -bbn-rcc-mon 10 BBN-RCC-MON # BBN RCC Monitoring -nvp-ii 11 NVP-II # Network Voice Protocol +igp 9 IGP # any private interior gateway (Cisco) pup 12 PUP # PARC universal packet protocol -argus 13 ARGUS -emcon 14 EMCON -xnet 15 XNET # Cross net debugger -chaos 16 CHAOS # Chaos udp 17 UDP # user datagram protocol -mux 18 MUX # Multiplexing -dcn-meas 19 DCN-MEAS # DCN Measurement Subsystems hmp 20 HMP # host monitoring protocol -prm 21 PRM # Packet Radio Measurement xns-idp 22 XNS-IDP # Xerox NS IDP -trunk-1 23 TRUNK-1 -trunk-2 24 TRUNK-2 -leaf-1 25 LEAF-1 -leaf-2 26 LEAF-2 -rdp 27 RDP # reliable data protocol -irtp 28 IRTP # Internet Reliable Transaction -iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4 -netblt 30 NETBLT # Bulk Data Transfer Protocol -mfe-nsp 31 MFE-NSP # MFE Network Services Protocol -merit-inp 32 MERIT-INP # MERIT Internodal Protocol -sep 33 SEP # Sequential Exchange Protocol -3pc 34 3PC # Third Party Connect Protocol -idpr 35 IDPR # Inter-Domain Policy Routing Protocol +rdp 27 RDP # "reliable datagram" protocol +iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905] xtp 36 XTP # Xpress Transfer Protocol ddp 37 DDP # Datagram Delivery Protocol -idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport -tp++ 39 TP++ # TP++ Transport Protocol -il 40 IL # IL Transport Protocol +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport ipv6 41 IPv6 # Internet Protocol, version 6 -sdrp 42 SDRP # Source Demand Routing Protocol -ipv6-route 43 IPv6-Route # Routing Header for IPv6 -ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 +ipv6-route 43 IPv6-Route # Routing Header for IPv6 +ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 idrp 45 IDRP # Inter-Domain Routing Protocol -rsvp 46 RSVP # Resource ReSerVation Protocol +rsvp 46 RSVP # Reservation Protocol gre 47 GRE # General Routing Encapsulation -mhrp 48 MHRP # Mobile Host Routing Protocol -bna 49 BNA -esp 50 ESP # Encapsulating Security Payload -ah 51 AH # Authentication Header -i-nlsp 52 I-NLSP # Integrated Net Layer Security -swipe 53 SWIPE # IP with Encryption -narp 54 NARP # NBMA Address Resolution Protocol -mobile 55 MOBILE # IP Mobility (IP tunneling) -tlsp 56 TLSP # Transport Layer Security Protocol -skip 57 SKIP -ipv6-icmp 58 IPv6-ICMP icmp6 # ICMP version 6 -ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 -ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 -# 61 # any host internal protocol -cftp 62 CFTP # CFTP -# 63 # any local network -sat-expak 64 SAT-expak # SATNET and Backroom EXPAK -kryptolan 65 KRYPTOLAN # Kryptolan -rvd 66 RVD # MIT Remote Virtual Disk Protocol -ippc 67 IPPC # Internet Pluribus Packet Core -# 68 # any distributed file system -sat-mon 69 SAT-MON # SATNET Monitoring -visa 70 VISA # VISA Protocol -ipcv 71 IPCV # Internet Packet Core Utility -cpnx 72 CPNX # Computer Protocol Network Executive -cphb 73 CPHB # Computer Protocol Heart Beat -wsn 74 WSN # Wang Span Network -pvp 75 PVP # Packet Video Protocol -br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring -sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary -wb-mon 78 WB-MON # WIDEBAND Monitoring -wb-expak 79 WB-EXPAK # WIDEBAND EXPAK -iso-ip 80 ISO-IP # ISO Internet Protocol +esp 50 IPSEC-ESP # Encap Security Payload [RFC2406] +ah 51 IPSEC-AH # Authentication Header [RFC2402] +skip 57 SKIP # SKIP +ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 +ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 +ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 +rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB) vmtp 81 VMTP # Versatile Message Transport -secure-vmtp 82 SECURE-VMTP # SECURE-VMTP -vines 83 VINES -ttp 84 TTP -nsfnet-igp 85 NSFNET-IGP -dgp 86 DGP # Dissimilar Gateway Protocol -tcf 87 TCF -eigrp 88 EIGRP # Enhanced Inter-Gateway Routing Protocol +eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco) ospf 89 OSPFIGP # Open Shortest Path First IGP -sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol -larp 91 LARP # Locus Address Resolution Protocol -mtp 92 MTP # Multicast Transport Protocol -ax.25 93 AX.25 # AX.25 Frames -ipip 94 IPIP # Yet Another IP encapsulation -micp 95 MICP # Mobile Internetworking Control Pro. -scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro. -etherip 97 ETHERIP # Ethernet-within-IP Encapsulation -encap 98 ENCAP # RFC1241 encapsulation +ax.25 93 AX.25 # AX.25 frames +ipip 94 IPIP # IP-within-IP Encapsulation Protocol +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378] +encap 98 ENCAP # Yet Another IP encapsulation [RFC1241] # 99 # any private encryption scheme -gmtp 100 GMTP -ifmp 101 IFMP # Ipsilon Flow Management Protocol -pnni 102 PNNI # PNNI over IP pim 103 PIM # Protocol Independent Multicast -aris 104 ARIS -scps 105 SCPS -qnx 106 QNX -a/n 107 A/N # Active Networks ipcomp 108 IPCOMP # IP Payload Compression Protocol -snp 109 SNP # Sitara Networks Protocol -compaq-peer 110 Compaq-Peer # Compaq Peer Protocol -ipx-in-ip 111 IPX-in-IP # IPX in IP -carp 112 CARP vrrp # Virtual Router Redundancy Protocol -pgm 113 PGM # PGM Reliable Transport Protocol -# 114 # any 0-hop protocol -l2tp 115 L2TP # Layer Two Tunneling Protocol -ddx 116 DDX # D-II Data Exchange (DDX) -iatp 117 IATP # Interactive Agent Transfer Protocol -stp 118 STP # Schedule Transfer Protocol -srp 119 SRP # SpectraLink Radio Protocol -uti 120 UTI -smp 121 SMP # Simple Message Protocol -sm 122 SM -ptp 123 PTP # Performance Transparency Protocol +vrrp 112 VRRP # Virtual Router Redundancy Protocol +l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661] isis 124 ISIS # IS-IS over IPv4 -fire 125 FIRE -crtp 126 CRTP # Combat Radio Transport Protocol -crudp 127 CRUDP # Combat Radio User Datagram -sscopmce 128 SSCOPMCE -iplt 129 IPLT -sps 130 SPS # Secure Packet Shield -pipe 131 PIPE # Private IP Encapsulation within IP sctp 132 SCTP # Stream Control Transmission Protocol fc 133 FC # Fibre Channel -rsvp-e2e-ignore 134 RSVP-E2E-IGNORE -mobility-header 135 MOBILITY-HEADER # Mobility Header -udplite 136 UDPLite -mpls-in-ip 137 MPLS-in-IP # MPLS in IP -# 138-254 # Unassigned -# 255 # Reserved +udplite 136 UDPLite # UDP-Lite + diff --git a/base/etc/rc.local b/base/etc/rc.local index 58dca28ef..375cd532a 100755 --- a/base/etc/rc.local +++ b/base/etc/rc.local @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # /etc/rc.local: Local multi-user startup script. # diff --git a/base/etc/rc.shutdown b/base/etc/rc.shutdown index 8e045a339..b428a7575 100755 --- a/base/etc/rc.shutdown +++ b/base/etc/rc.shutdown @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # /etc/rc.shutdown . /etc/rc.conf diff --git a/base/etc/rc.sysinit b/base/etc/rc.sysinit index c5643194b..8deb5fd91 100755 --- a/base/etc/rc.sysinit +++ b/base/etc/rc.sysinit @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash . /etc/rc.conf . /etc/rc.d/functions @@ -40,6 +40,3 @@ done if [ -x /etc/rc.local ]; then /etc/rc.local fi - -# change to / for login shells -cd / \ No newline at end of file diff --git a/base/etc/services b/base/etc/services index 19f3bfd9d..2f1f99cb0 100644 --- a/base/etc/services +++ b/base/etc/services @@ -1,18 +1,16 @@ -# $NetBSD: services,v 1.84 2007/02/10 19:39:02 reed Exp $ -# # Network services, Internet style # # Note that it is presently the policy of IANA to assign a single well-known -# port number for both TCP and UDP; hence, most entries here have two entries +# port number for both TCP and UDP; hence, officially ports have two entries # even if the protocol doesn't support UDP operations. -# Updated from RFC 1340, ``Assigned Numbers'' (July 1992). Not all ports -# are included, only the more common ones. -# The latest IANA list is available from: -# http://www.iana.org/assignments/port-numbers # -# from: @(#)services 8.2 (Berkeley) 3/26/95 -# -tcpmux 1/tcp # TCP port multiplexer (RFC1078) +# Updated from http://www.iana.org/assignments/port-numbers and other +# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services . +# New ports will be added on request if they have been officially assigned +# by IANA and used in the real-world or are needed by a debian package. +# If you need a huge list of used numbers please install the nmap package. + +tcpmux 1/tcp # TCP port service multiplexer echo 7/tcp echo 7/udp discard 9/tcp sink null @@ -22,85 +20,93 @@ daytime 13/tcp daytime 13/udp netstat 15/tcp qotd 17/tcp quote -msp 18/tcp # message send protocol +msp 18/tcp # message send protocol msp 18/udp chargen 19/tcp ttytst source chargen 19/udp ttytst source -ftp-data 20/tcp # default ftp data port -ftp 21/tcp # File Transfer Protocol -ssh 22/tcp # Secure Shell +ftp-data 20/tcp +ftp 21/tcp +fsp 21/udp fspd +ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp telnet 23/tcp -# 24 - private smtp 25/tcp mail -# 26 - unassigned time 37/tcp timserver time 37/udp timserver rlp 39/udp resource # resource location nameserver 42/tcp name # IEN 116 whois 43/tcp nicname -tacacs 49/tcp # Login Host Protocol (TACACS) -tacacs 49/udp # Login Host Protocol (TACACS) -domain 53/tcp # name-domain server +tacacs 49/tcp # Login Host Protocol (TACACS) +tacacs 49/udp +re-mail-ck 50/tcp # Remote Mail Checking Protocol +re-mail-ck 50/udp +domain 53/tcp # name-domain server domain 53/udp mtp 57/tcp # deprecated -bootps 67/tcp # BOOTP server +tacacs-ds 65/tcp # TACACS-Database Service +tacacs-ds 65/udp +bootps 67/tcp # BOOTP server bootps 67/udp -bootpc 68/tcp # BOOTP client +bootpc 68/tcp # BOOTP client bootpc 68/udp -tftp 69/udp # Trivial File Transfer Protocol -gopher 70/tcp # Internet Gopher +tftp 69/udp +gopher 70/tcp # Internet Gopher gopher 70/udp rje 77/tcp netrjs finger 79/tcp -http 80/tcp www www-http # WorldWideWeb HTTP -http 80/udp www www-http # HyperText Transfer Protocol +www 80/tcp http # WorldWideWeb HTTP +www 80/udp # HyperText Transfer Protocol link 87/tcp ttylink -kerberos 88/tcp krb5 # Kerberos v5 -kerberos 88/udp +kerberos 88/tcp kerberos5 krb5 kerberos-sec # Kerberos v5 +kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5 supdup 95/tcp -# 100 - reserved hostnames 101/tcp hostname # usually from sri-nic -iso-tsap 102/tcp tsap # part of ISODE. -csnet-ns 105/tcp cso-ns # also used by CSO name server +iso-tsap 102/tcp tsap # part of ISODE +acr-nema 104/tcp dicom # Digital Imag. & Comm. 300 +acr-nema 104/udp dicom # Digital Imag. & Comm. 300 +csnet-ns 105/tcp cso-ns # also used by CSO name server csnet-ns 105/udp cso-ns -poppass 106/tcp poppassd -rtelnet 107/tcp # Remote Telnet +rtelnet 107/tcp # Remote Telnet rtelnet 107/udp -pop2 109/tcp postoffice # POP version 2 -pop2 109/udp -pop3 110/tcp # POP version 3 -pop3 110/udp -sunrpc 111/tcp rpcbind # Remote Procedure Call -sunrpc 111/udp rpcbind +pop2 109/tcp postoffice pop-2 # POP version 2 +pop2 109/udp pop-2 +pop3 110/tcp pop-3 # POP version 3 +pop3 110/udp pop-3 +sunrpc 111/tcp portmapper # RPC 4.0 portmapper +sunrpc 111/udp portmapper auth 113/tcp authentication tap ident sftp 115/tcp uucp-path 117/tcp -sqlserv 118/tcp # SQL Services nntp 119/tcp readnews untp # USENET News Transfer Protocol -erpc 121/udp # Encore Expedited Remote Pro.Call ntp 123/tcp ntp 123/udp # Network Time Protocol +pwdgen 129/tcp # PWDGEN service +pwdgen 129/udp # PWDGEN service +loc-srv 135/tcp epmap # Location Service +loc-srv 135/udp epmap netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp -imap 143/tcp imap2 imap4 # Internet Message Access Protocol -imap 143/udp imap2 imap4 -snmp 161/udp # Simple Net Mgmt Proto +imap2 143/tcp imap # Interim Mail Access P 2 and 4 +imap2 143/udp imap +snmp 161/tcp # Simple Net Mgmt Protocol +snmp 161/udp # Simple Net Mgmt Protocol +snmp-trap 162/tcp snmptrap # Traps for SNMP snmp-trap 162/udp snmptrap # Traps for SNMP cmip-man 163/tcp # ISO mgmt over IP (CMOT) cmip-man 163/udp cmip-agent 164/tcp cmip-agent 164/udp -mailq 174/tcp # zmailer MTA +mailq 174/tcp # Mailer transport queue for Zmailer +mailq 174/udp # Mailer transport queue for Zmailer xdmcp 177/tcp # X Display Mgr. Control Proto xdmcp 177/udp nextstep 178/tcp NeXTStep NextStep # NeXTStep window -nextstep 178/udp NeXTStep NextStep # server -bgp 179/tcp # Border Gateway Proto. +nextstep 178/udp NeXTStep NextStep # server +bgp 179/tcp # Border Gateway Protocol bgp 179/udp prospero 191/tcp # Cliff Neuman's Prospero prospero 191/udp @@ -116,89 +122,109 @@ at-echo 204/tcp # AppleTalk echo at-echo 204/udp at-zis 206/tcp # AppleTalk zone information at-zis 206/udp +qmtp 209/tcp # Quick Mail Transfer Protocol +qmtp 209/udp # Quick Mail Transfer Protocol z3950 210/tcp wais # NISO Z39.50 database z3950 210/udp wais ipx 213/tcp # IPX ipx 213/udp imap3 220/tcp # Interactive Mail Access imap3 220/udp # Protocol v3 -rsh-spx 222/tcp # Berkeley rshd with SPX auth +pawserv 345/tcp # Perf Analysis Workbench +pawserv 345/udp +zserv 346/tcp # Zebra server +zserv 346/udp +fatserv 347/tcp # Fatmen Server +fatserv 347/udp +rpc2portmap 369/tcp +rpc2portmap 369/udp # Coda portmapper +codaauth2 370/tcp +codaauth2 370/udp # Coda authentication server +clearcase 371/tcp Clearcase +clearcase 371/udp Clearcase ulistserv 372/tcp # UNIX Listserv ulistserv 372/udp -nip 376/tcp # Amiga Envoy Net Inquiry Prot. -nip 376/udp # Amiga Envoy Net Inquiry Prot. ldap 389/tcp # Lightweight Directory Access Protocol -ldap 389/udp # Lightweight Directory Access Protocol +ldap 389/udp imsp 406/tcp # Interactive Mail Support Protocol -imsp 406/udp # Interactive Mail Support Protocol -microsoft-ds 445/tcp # Microsoft-DS -microsoft-ds 445/udp # Microsoft-DS -isakmp 500/tcp # IPsec Key Management (ISAKMP/Oakley) -isakmp 500/udp # IPsec Key Management (ISAKMP/Oakley) -ripng 521/tcp # RIP for IPv6 -ripng 521/udp # RIP for IPv6 -submission 587/tcp # Message Submission -submission 587/udp # Message Submission -acap 674/tcp # Application Configuration Access Protocol -acap 674/udp # Application Configuration Access Protocol -silc 706/tcp # Secure Internet Live Conferencing -silc 706/udp # Secure Internet Live Conferencing -iscsi-rfc 860/tcp # RFC port used by iSCSI targets - +imsp 406/udp +https 443/tcp # http protocol over TLS/SSL +https 443/udp +snpp 444/tcp # Simple Network Paging Protocol +snpp 444/udp +microsoft-ds 445/tcp # Microsoft Naked CIFS +microsoft-ds 445/udp +kpasswd 464/tcp +kpasswd 464/udp +saft 487/tcp # Simple Asynchronous File Transfer +saft 487/udp +isakmp 500/tcp # IPsec - Internet Security Association +isakmp 500/udp # and Key Management Protocol +rtsp 554/tcp # Real Time Stream Control Protocol +rtsp 554/udp # Real Time Stream Control Protocol +nqs 607/tcp # Network Queuing system +nqs 607/udp +npmp-local 610/tcp dqs313_qmaster # npmp-local / DQS +npmp-local 610/udp dqs313_qmaster +npmp-gui 611/tcp dqs313_execd # npmp-gui / DQS +npmp-gui 611/udp dqs313_execd +hmmp-ind 612/tcp dqs313_intercell # HMMP Indication / DQS +hmmp-ind 612/udp dqs313_intercell +ipp 631/tcp # Internet Printing Protocol +ipp 631/udp # # UNIX specific services # -exec 512/tcp # Remote execution -biff 512/udp comsat # Biff the dog -login 513/tcp # Remote login -who 513/udp whod # Remote who -shell 514/tcp cmd # Remote command shell -syslog 514/udp # System logger +exec 512/tcp +biff 512/udp comsat +login 513/tcp +who 513/udp whod +shell 514/tcp cmd # no passwords used +syslog 514/udp printer 515/tcp spooler # line printer spooler -talk 517/udp # Talk protocols +talk 517/udp ntalk 518/udp route 520/udp router routed # RIP timed 525/udp timeserver tempo 526/tcp newdate courier 530/tcp rpc conference 531/tcp chat -netnews 532/tcp -netwall 533/udp # -for emergency broadcasts +netnews 532/tcp readnews +netwall 533/udp # for emergency broadcasts +gdomap 538/tcp # GNUstep distributed objects +gdomap 538/udp uucp 540/tcp uucpd # uucp daemon -rdist 541/tcp rdistd # rdist daemon -afpovertcp 548/tcp # AppleshareIP protocol -afpovertcp 548/udp # AppleshareIP protocol +klogin 543/tcp # Kerberized `rlogin' (v5) +kshell 544/tcp krcmd # Kerberized `rsh' (v5) +afpovertcp 548/tcp # AFP over TCP +afpovertcp 548/udp remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem +nntps 563/tcp snntp # NNTP over SSL +nntps 563/udp snntp +submission 587/tcp # Submission [RFC2476] +submission 587/udp +ldaps 636/tcp # LDAP over SSL +ldaps 636/udp +tinc 655/tcp # tinc control port +tinc 655/udp +silc 706/tcp +silc 706/udp +kerberos-adm 749/tcp # Kerberos `kadmin' (v5) # webster 765/tcp # Network dictionary webster 765/udp -rsync 873/tcp # rsync -rsync 873/udp # rsync - -# -# Various SSL services -# -https 443/tcp # http protocol over TLS/SSL -https 443/udp # http protocol over TLS/SSL -smtps 465/tcp # smtp protocol over TLS/SSL -smtps 465/udp # smtp protocol over TLS/SSL -nntps 563/tcp # nntp protocol over TLS/SSL (was snntp) -nntps 563/udp # nntp protocol over TLS/SSL (was snntp) -ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap) -ldaps 636/udp # ldap protocol over TLS/SSL (was sldap) -ftps-data 989/tcp # ftp protocol, data, over TLS/SSL -ftps-data 989/udp # ftp protocol, data, over TLS/SSL -ftps 990/tcp # ftp protocol, control, over TLS/SSL -ftps 990/udp # ftp protocol, control, over TLS/SSL -telnets 992/tcp # telnet protocol over TLS/SSL -telnets 992/udp # telnet protocol over TLS/SSL -imaps 993/tcp # imap4 protocol over TLS/SSL -imaps 993/udp # imap4 protocol over TLS/SSL -ircs 994/tcp # irc protocol over TLS/SSL -ircs 994/udp # irc protocol over TLS/SSL -pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3) -pop3s 995/udp # pop3 protocol over TLS/SSL (was spop3) - +rsync 873/tcp +rsync 873/udp +ftps-data 989/tcp # FTP over SSL (data) +ftps 990/tcp +telnets 992/tcp # Telnet over SSL +telnets 992/udp +imaps 993/tcp # IMAP over SSL +imaps 993/udp +ircs 994/tcp # IRC over SSL +ircs 994/udp +pop3s 995/tcp # POP-3 over SSL +pop3s 995/udp # # From ``Assigned Numbers'': # @@ -211,177 +237,321 @@ pop3s 995/udp # pop3 protocol over TLS/SSL (was spop3) #> providing services to unknown callers, a service contact port is #> defined. This list specifies the port used by the server process as its #> contact port. While the IANA can not control uses of these ports it -#> does register or list uses of these ports as a convenience to the +#> does register or list uses of these ports as a convienence to the #> community. # +socks 1080/tcp # socks proxy server +socks 1080/udp +proofd 1093/tcp +proofd 1093/udp +rootd 1094/tcp +rootd 1094/udp +openvpn 1194/tcp +openvpn 1194/udp +rmiregistry 1099/tcp # Java RMI Registry +rmiregistry 1099/udp +kazaa 1214/tcp +kazaa 1214/udp +nessus 1241/tcp # Nessus vulnerability +nessus 1241/udp # assessment scanner +lotusnote 1352/tcp lotusnotes # Lotus Note +lotusnote 1352/udp lotusnotes +ms-sql-s 1433/tcp # Microsoft SQL Server +ms-sql-s 1433/udp +ms-sql-m 1434/tcp # Microsoft SQL Monitor +ms-sql-m 1434/udp ingreslock 1524/tcp ingreslock 1524/udp -prospero-np 1525/tcp # Prospero non-privileged +prospero-np 1525/tcp # Prospero non-privileged prospero-np 1525/udp +datametrics 1645/tcp old-radius +datametrics 1645/udp old-radius +sa-msg-port 1646/tcp old-radacct +sa-msg-port 1646/udp old-radacct +kermit 1649/tcp +kermit 1649/udp +l2f 1701/tcp l2tp +l2f 1701/udp l2tp radius 1812/tcp radius 1812/udp -radius-acct 1813/tcp radacct -radius-acct 1813/udp radacct -cvspserver 2401/tcp +radius-acct 1813/tcp radacct # Radius Accounting +radius-acct 1813/udp radacct +msnp 1863/tcp # MSN Messenger +msnp 1863/udp +unix-status 1957/tcp # remstats unix-status server +log-server 1958/tcp # remstats log server +remoteping 1959/tcp # remstats remoteping server +nfs 2049/tcp # Network File System +nfs 2049/udp # Network File System +rtcm-sc104 2101/tcp # RTCM SC-104 IANA 1/29/99 +rtcm-sc104 2101/udp +cvspserver 2401/tcp # CVS client/server operations cvspserver 2401/udp -isns 3205/tcp # iSNS server port -isns 3205/udp # iSNS server port -iscsi 3260/tcp # Draft port used by iSCSI targets - # Will be moved to 860 after RFC - # is published -iscsi-target 3260/tcp # Draft port used by iSCSI targets -mysql 3306/tcp # MySQL -mysql 3306/udp # MySQL -svn 3690/tcp # Subversion -svn 3690/udp # Subversion -rfe 5002/tcp # Radio Free Ethernet -rfe 5002/udp # Actually uses UDP only -sip 5060/tcp # SIP -sip 5060/udp # SIP -postgresql 5432/tcp # PostgreSQL Database -postgresql 5432/udp # PostgreSQL Database +venus 2430/tcp # codacon port +venus 2430/udp # Venus callback/wbc interface +venus-se 2431/tcp # tcp side effects +venus-se 2431/udp # udp sftp side effect +codasrv 2432/tcp # not used +codasrv 2432/udp # server port +codasrv-se 2433/tcp # tcp side effects +codasrv-se 2433/udp # udp sftp side effect +mon 2583/tcp # MON +mon 2583/udp +dict 2628/tcp # Dictionary server +dict 2628/udp +gpsd 2947/tcp +gpsd 2947/udp +gds_db 3050/tcp # InterBase server +gds_db 3050/udp +icpv2 3130/tcp icp # Internet Cache Protocol +icpv2 3130/udp icp +mysql 3306/tcp +mysql 3306/udp +nut 3493/tcp # Network UPS Tools +nut 3493/udp +distcc 3632/tcp # distributed compiler +distcc 3632/udp +daap 3689/tcp # Digital Audio Access Protocol +daap 3689/udp +svn 3690/tcp subversion # Subversion protocol +svn 3690/udp subversion +suucp 4013/tcp # UUCP over SSL +suucp 4013/udp # UUCP over SSL +sysrqd 4094/tcp # sysrq daemon +sysrqd 4094/udp # sysrq daemon +iax 4569/tcp # Inter-Asterisk eXchange +iax 4569/udp +radmin-port 4899/tcp # RAdmin Port +radmin-port 4899/udp +rfe 5002/udp # Radio Free Ethernet +rfe 5002/tcp +mmcc 5050/tcp # multimedia conference control tool (Yahoo IM) +mmcc 5050/udp +sip 5060/tcp # Session Initiation Protocol +sip 5060/udp +sip-tls 5061/tcp +sip-tls 5061/udp +aol 5190/tcp # AIM +aol 5190/udp +xmpp-client 5222/tcp jabber-client # Jabber Client Connection +xmpp-client 5222/udp jabber-client +xmpp-server 5269/tcp jabber-server # Jabber Server Connection +xmpp-server 5269/udp jabber-server +cfengine 5308/tcp +cfengine 5308/udp +mdns 5353/tcp # Multicast DNS +mdns 5353/udp # Multicast DNS +postgresql 5432/tcp postgres # PostgreSQL Database +postgresql 5432/udp postgres +ggz 5688/tcp # GGZ Gaming Zone +ggz 5688/udp # GGZ Gaming Zone +x11 6000/tcp x11-0 # X Window System +x11 6000/udp x11-0 +x11-1 6001/tcp +x11-1 6001/udp +x11-2 6002/tcp +x11-2 6002/udp +x11-3 6003/tcp +x11-3 6003/udp +x11-4 6004/tcp +x11-4 6004/udp +x11-5 6005/tcp +x11-5 6005/udp +x11-6 6006/tcp +x11-6 6006/udp +x11-7 6007/tcp +x11-7 6007/udp +gnutella-svc 6346/tcp # gnutella +gnutella-svc 6346/udp +gnutella-rtr 6347/tcp # gnutella +gnutella-rtr 6347/udp +sge_qmaster 6444/tcp # Grid Engine Qmaster Service +sge_qmaster 6444/udp # Grid Engine Qmaster Service +sge_execd 6445/tcp # Grid Engine Execution Service +sge_execd 6445/udp # Grid Engine Execution Service +afs3-fileserver 7000/tcp bbs # file server itself +afs3-fileserver 7000/udp bbs +afs3-callback 7001/tcp # callbacks to cache managers +afs3-callback 7001/udp +afs3-prserver 7002/tcp # users & groups database +afs3-prserver 7002/udp +afs3-vlserver 7003/tcp # volume location database +afs3-vlserver 7003/udp +afs3-kaserver 7004/tcp # AFS/Kerberos authentication +afs3-kaserver 7004/udp +afs3-volser 7005/tcp # volume managment server +afs3-volser 7005/udp +afs3-errors 7006/tcp # error interpretation service +afs3-errors 7006/udp +afs3-bos 7007/tcp # basic overseer process +afs3-bos 7007/udp +afs3-update 7008/tcp # server-to-server updater +afs3-update 7008/udp +afs3-rmtsys 7009/tcp # remote cache manager service +afs3-rmtsys 7009/udp +font-service 7100/tcp xfs # X Font Service +font-service 7100/udp xfs +bacula-dir 9101/tcp # Bacula Director +bacula-dir 9101/udp +bacula-fd 9102/tcp # Bacula File Daemon +bacula-fd 9102/udp +bacula-sd 9103/tcp # Bacula Storage Daemon +bacula-sd 9103/udp +amanda 10080/tcp # amanda backup services +amanda 10080/udp +hkp 11371/tcp # OpenPGP HTTP Keyserver +hkp 11371/udp # OpenPGP HTTP Keyserver +bprd 13720/tcp # VERITAS NetBackup +bprd 13720/udp +bpdbm 13721/tcp # VERITAS NetBackup +bpdbm 13721/udp +bpjava-msvc 13722/tcp # BP Java MSVC Protocol +bpjava-msvc 13722/udp +vnetd 13724/tcp # Veritas Network Utility +vnetd 13724/udp +bpcd 13782/tcp # VERITAS NetBackup +bpcd 13782/udp +vopied 13783/tcp # VERITAS NetBackup +vopied 13783/udp +wnn6 22273/tcp # wnn6 +wnn6 22273/udp # -# Kerberos (Project Athena/MIT) services -# (note that kerberos @ port 88 is sorted in the list above) -# -kpasswd 464/udp # Kerberos password changing protocol -kpasswd 464/tcp # Kerberos password changing protocol -klogin 543/tcp # Kerberos `rlogin' -kshell 544/tcp krcmd # Kerberos `rsh' -ekshell 545/tcp # Encrypted kshell -kerberos-adm 749/tcp # Kerberos `kadmin' (v5) -kerberos-iv 750/udp kdc kerberos4 # Kerberos (server) udp -kerberos-iv 750/tcp kdc kerberos4 # Kerberos (server) tcp -kerberos-master 751/udp # Kerberos admin server udp -kerberos-master 751/tcp # Kerberos admin server tcp -hprop 754/tcp # Heimdal KDC database propagation -krbupdate 760/tcp kreg # BSD Kerberos registration -kpwd 761/tcp # old BSD Kerberos `passwd' - # (formerly `kpasswd') -kpop 1109/tcp # Kerberos POP server -eklogin 2105/tcp # Kerberos encrypted `rlogin' -ekshell2 2106/tcp # Encrypted kshell - UColorado, Boulder -krb524 4444/udp # krb5 -> krb4 ticket conversion - -# -# AFS services -# -# IANA has these registered as both UDP and TCP, but only the UDP -# ports are used by the protocol -# -afs3-fileserver 7000/tcp # file server itself -afs3-fileserver 7000/udp # file server itself -afs3-callback 7001/tcp # callbacks to cache managers -afs3-callback 7001/udp # callbacks to cache managers -afs3-prserver 7002/tcp # users & groups database -afs3-prserver 7002/udp # users & groups database -afs3-vlserver 7003/tcp # volume location database -afs3-vlserver 7003/udp # volume location database -afs3-kaserver 7004/tcp # AFS/Kerberos authentication service -afs3-kaserver 7004/udp # AFS/Kerberos authentication service -afs3-volser 7005/tcp # volume management server -afs3-volser 7005/udp # volume management server -afs3-errors 7006/tcp # error interpretation service -afs3-errors 7006/udp # error interpretation service -afs3-bos 7007/tcp # basic overseer process -afs3-bos 7007/udp # basic overseer process -afs3-update 7008/tcp # server-to-server updater -afs3-update 7008/udp # server-to-server updater -afs3-rmtsys 7009/tcp # remote cache manager service -afs3-rmtsys 7009/udp # remote cache manager service -afs3-resserver 7010/tcp # MR-AFS residence server -afs3-resserver 7010/udp # MR-AFS residence server -afs3-remio 7011/tcp # MR-AFS remote IO server -afs3-remio 7011/udp # MR-AFS remote IO server - -# -# Unofficial but necessary (for NetBSD) services -# -supfilesrv 871/tcp # SUP server -supfiledbg 1127/tcp # SUP debugging - -# -# other common ports -# -swat 901/tcp # Samba Web Administration Tool -sieve 2000/tcp # RFC3028 -lmtp 2003/tcp # Local Mail Transfer Protocol -nfs 2049/udp nfsd # Sun NFS -nfs 2049/tcp nfsd # Sun NFS -suucp 4031/tcp # UUCP over SSL -suucp 4031/udp # UUCP over SSL -fud 4201/udp # Cyrus IMAP finger-like service -X11 6000/tcp # X Window System -ircd 6667/tcp # Often used IRC port (also see 194) -sstp-2 9801/tcp # Sakura Script Transfer Protocol-2 -sstp-2 9801/udp # Sakura Script Transfer Protocol-2 -amanda 10080/udp # Amanda -kamanda 10081/udp # Amanda with Kerberos -amandaidx 10082/tcp # Amanda index server -amidxtape 10083/tcp # Amanda dump image server -italk 12345/tcp # Italk Chat System -italk 12345/udp # Italk Chat System -hunt 26740/udp # multi-player/multi-host maze-wars - -# -# Netatalk (in-kernel Appletalk) services -# Note: The running kernel must be configured with "options NETATALK" -# and software not included in NetBSD, such as Netatalk version 1.4b2 -# or later, must be used to take advantage of these services. +# Datagram Delivery Protocol services # rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol -# Iana registered Coda filesystem port numbers -rpc2portmap 369/tcp -rpc2portmap 369/udp # Coda portmapper -codaauth2 370/tcp -codaauth2 370/udp # Coda authentication server +#========================================================================= +# The remaining port numbers are not as allocated by IANA. +#========================================================================= -# Iana registered dict port numbers -dict 2628/tcp # DICT -dict 2628/udp +# Kerberos (Project Athena/MIT) services +# Note that these are for Kerberos v4, and are unofficial. Sites running +# v4 should uncomment these and comment out the v5 entries above. +# +kerberos4 750/udp kerberos-iv kdc # Kerberos (server) +kerberos4 750/tcp kerberos-iv kdc +kerberos_master 751/udp # Kerberos authentication +kerberos_master 751/tcp +passwd_server 752/udp # Kerberos passwd server +krb_prop 754/tcp krb5_prop hprop # Kerberos slave propagation +krbupdate 760/tcp kreg # Kerberos registration +swat 901/tcp # swat +kpop 1109/tcp # Pop with Kerberos +knetd 2053/tcp # Kerberos de-multiplexor +zephyr-srv 2102/udp # Zephyr server +zephyr-clt 2103/udp # Zephyr serv-hm connection +zephyr-hm 2104/udp # Zephyr hostmanager +eklogin 2105/tcp # Kerberos encrypted rlogin +# Hmmm. Are we using Kv4 or Kv5 now? Worrying. +# The following is probably Kerberos v5 --- ajt@debian.org (11/02/2000) +kx 2111/tcp # X over Kerberos +iprop 2121/tcp # incremental propagation +# +# Unofficial but necessary (for NetBSD) services +# +supfilesrv 871/tcp # SUP server +supfiledbg 1127/tcp # SUP debugging -venus 2430/tcp # codacon port -venus 2430/udp # Venus callback/wbc interface -venus-se 2431/tcp # tcp side effects -venus-se 2431/udp # udp sftp side effect -codasrv 2432/tcp # not used -codasrv 2432/udp # server port -codasrv-se 2433/tcp # tcp side effects -codasrv-se 2433/udp # udp sftp side effect +# +# Services added for the Debian GNU/Linux distribution +# +linuxconf 98/tcp # LinuxConf +poppassd 106/tcp # Eudora +poppassd 106/udp +ssmtp 465/tcp smtps # SMTP over SSL +moira_db 775/tcp # Moira database +moira_update 777/tcp # Moira update protocol +moira_ureg 779/udp # Moira user registration +spamd 783/tcp # spamassassin daemon +omirr 808/tcp omirrd # online mirror +omirr 808/udp omirrd +customs 1001/tcp # pmake customs server +customs 1001/udp +skkserv 1178/tcp # skk jisho server port +predict 1210/udp # predict -- satellite tracking +rmtcfg 1236/tcp # Gracilis Packeten remote config server +wipld 1300/tcp # Wipl network monitor +xtel 1313/tcp # french minitel +xtelw 1314/tcp # french minitel +support 1529/tcp # GNATS +sieve 2000/tcp # Sieve mail filter daemon +cfinger 2003/tcp # GNU Finger +ndtp 2010/tcp # Network dictionary transfer protocol +frox 2121/tcp # frox: caching ftp proxy +ninstall 2150/tcp # ninstall service +ninstall 2150/udp +zebrasrv 2600/tcp # zebra service +zebra 2601/tcp # zebra vty +ripd 2602/tcp # ripd vty (zebra) +ripngd 2603/tcp # ripngd vty (zebra) +ospfd 2604/tcp # ospfd vty (zebra) +bgpd 2605/tcp # bgpd vty (zebra) +ospf6d 2606/tcp # ospf6d vty (zebra) +ospfapi 2607/tcp # OSPF-API +isisd 2608/tcp # ISISd vty (zebra) +afbackup 2988/tcp # Afbackup system +afbackup 2988/udp +afmbackup 2989/tcp # Afmbackup system +afmbackup 2989/udp +xtell 4224/tcp # xtell server +fax 4557/tcp # FAX transmission service (old) +hylafax 4559/tcp # HylaFAX client-server protocol (new) +distmp3 4600/tcp # distmp3host daemon +munin 4949/tcp lrrd # Munin +enbd-cstatd 5051/tcp # ENBD client statd +enbd-sstatd 5052/tcp # ENBD server statd +pcrd 5151/tcp # PCR-1000 Daemon +noclog 5354/tcp # noclogd with TCP (nocol) +noclog 5354/udp # noclogd with UDP (nocol) +hostmon 5355/tcp # hostmon uses TCP (nocol) +hostmon 5355/udp # hostmon uses UDP (nocol) +rplay 5555/udp # RPlay audio service +rplay 5555/tcp +rptp 5556/udp # Remote Play Transfer Protocol +rptp 5556/tcp +nsca 5667/tcp # Nagios Agent - NSCA +mrtd 5674/tcp # MRT Routing Daemon +bgpsim 5675/tcp # MRT Routing Simulator +canna 5680/tcp # cannaserver +sane-port 6566/tcp sane saned # SANE network scanner daemon +ircd 6667/tcp # Internet Relay Chat +zope-ftp 8021/tcp # zope management by ftp +webcache 8080/tcp # WWW caching service +tproxy 8081/tcp # Transparent Proxy +omniorb 8088/tcp # OmniORB +omniorb 8088/udp +clc-build-daemon 8990/tcp # Common lisp build daemon +xinetd 9098/tcp +mandelspawn 9359/udp mandelbrot # network mandelbrot +git 9418/tcp # Git Version Control System +zope 9673/tcp # zope server +webmin 10000/tcp +kamanda 10081/tcp # amanda backup services (Kerberos) +kamanda 10081/udp +amandaidx 10082/tcp # amanda backup services +amidxtape 10083/tcp # amanda backup services +smsqp 11201/tcp # Alamin SMS gateway +smsqp 11201/udp +xpilot 15345/tcp # XPilot Contact Port +xpilot 15345/udp +sgi-cmsd 17001/udp # Cluster membership services daemon +sgi-crsd 17002/udp +sgi-gcd 17003/udp # SGI Group membership daemon +sgi-cad 17004/tcp # Cluster Admin daemon +isdnlog 20011/tcp # isdn logging system +isdnlog 20011/udp +vboxd 20012/tcp # voice box system +vboxd 20012/udp +binkp 24554/tcp # binkp fidonet protocol +asp 27374/tcp # Address Search Protocol +asp 27374/udp +csync2 30865/tcp # cluster synchronization tool +dircproxy 57000/tcp # Detachable IRC Proxy +tfido 60177/tcp # fidonet EMSI over telnet +fido 60179/tcp # fidonet EMSI over TCP -# Iana registered ports commonly found in security logs -epmap 135/tcp # DCE endpoint resolution -epmap 135/udp # DCE endpoint resolution -rtsp 554/tcp # Real Time Stream Control Protocol -rtsp 554/udp # Real Time Stream Control Protocol -socks 1080/tcp # Socks -socks 1080/udp # Socks -kazaa 1214/tcp # KAZAA -kazaa 1214/udp # KAZAA -ms-sql-s 1433/tcp # Microsoft-SQL-Server -ms-sql-s 1433/udp # Microsoft-SQL-Server -ms-sql-m 1434/tcp # Microsoft-SQL-Monitor -ms-sql-m 1434/udp # Microsoft-SQL-Monitor -ms-wbt-server 3389/tcp # MS WBT Server -ms-wbt-server 3389/udp # MS WBT Server -terabase 4000/tcp icq # used for both Terabase and ICQ -terabase 4000/udp icq # used for both Terabase and ICQ -radmin-port 4899/tcp # RAdmin Port -radmin-port 4899/udp # RAdmin Port -mdns 5353/tcp # Multicast DNS -mdns 5353/udp # Multicast DNS -http-alt 8080/tcp # HTTP Alternate (see port 80) -http-alt 8080/udp # HTTP Alternate (see port 80) - -# Zephyr services -zephyr-clt 2103/udp # Zephyr serv-hm connection -zephyr-hm 2104/udp # Zephyr hostmanager -zephyr-hm-srv 2105/udp # Zephyr hm-serv connection - -# sane daemon support -sane-port 6566/tcp # SANE network scanner daemon \ No newline at end of file +# Local services diff --git a/config/placeholder b/config/placeholder new file mode 100644 index 000000000..8a13ff141 --- /dev/null +++ b/config/placeholder @@ -0,0 +1 @@ +This is a placeholder file :) diff --git a/etc/append-message-syslinux-lowmem b/etc/append-message-syslinux-lowmem index 2b59c26f0..6c345afbe 100644 --- a/etc/append-message-syslinux-lowmem +++ b/etc/append-message-syslinux-lowmem @@ -1,8 +1,6 @@ Available boot options (no input will boot the install/rescue system): -- 'arch ' to boot the install/rescue system. -- 'arch root=/dev/??? ' to boot into an existing system. -- 'lowmem ' to boot the 64MB RAM install system. -- 'lowmem root=/dev/??? ' to boot into an existing +- 'arch ' to boot the 64MB RAM install system. +- 'arch root=/dev/??? ' to boot into an existing 64MB RAM system. - 'memtest' to start the memory test program memtest86+. - For troubleshooting and other options press the F2 key. diff --git a/etc/append-message-syslinux-tarball b/etc/append-message-syslinux-tarball new file mode 100644 index 000000000..2b59c26f0 --- /dev/null +++ b/etc/append-message-syslinux-tarball @@ -0,0 +1,8 @@ +Available boot options (no input will boot the install/rescue system): +- 'arch ' to boot the install/rescue system. +- 'arch root=/dev/??? ' to boot into an existing system. +- 'lowmem ' to boot the 64MB RAM install system. +- 'lowmem root=/dev/??? ' to boot into an existing + 64MB RAM system. +- 'memtest' to start the memory test program memtest86+. +- For troubleshooting and other options press the F2 key. diff --git a/etc/isolinux-lowmem.cfg b/etc/isolinux-tarball.cfg similarity index 100% rename from etc/isolinux-lowmem.cfg rename to etc/isolinux-tarball.cfg diff --git a/etc/syslinux-tarball.cfg b/etc/syslinux-tarball.cfg new file mode 100644 index 000000000..6fd6d4e3e --- /dev/null +++ b/etc/syslinux-tarball.cfg @@ -0,0 +1,12 @@ +prompt @@PROMPT@@ +timeout @@TIMEOUT@@ +display boot.msg +F1 boot.msg +F2 options.msg +default arch +label arch +kernel vmlinuz +append initrd=initrd.img @@KERNEL_BOOT_OPTIONS@@ +label lowmem +kernel vmlinuz +append initrd=lowmem.img @@KERNEL_BOOT_OPTIONS@@ \ No newline at end of file diff --git a/etc/syslinux.cfg b/etc/syslinux.cfg new file mode 100644 index 000000000..9bf630173 --- /dev/null +++ b/etc/syslinux.cfg @@ -0,0 +1,9 @@ +prompt @@PROMPT@@ +timeout @@TIMEOUT@@ +display boot.msg +F1 boot.msg +F2 options.msg +default arch +label arch +kernel vmlinuz +append initrd=initrd.img @@KERNEL_BOOT_OPTIONS@@ diff --git a/hooks/arch_acpi b/hooks/arch_acpi deleted file mode 100644 index c57e72a41..000000000 --- a/hooks/arch_acpi +++ /dev/null @@ -1,14 +0,0 @@ -run_hook () -{ - if [ -d /proc/acpi ]; then - echo "Loading standard ACPI modules" - ACPI_MODULES="ac battery button fan processor thermal" - # add disablemodules= from commandline to blacklist - k="${k} $(echo ${disablemodules} | sed 's|-|_|g' | sed 's|,| |g')" - for n in ${ACPI_MODULES}; do - if ! echo ${k} | /bin/grep "\<$n\>" 2>&1 >/dev/null; then - /sbin/modprobe $n > /dev/null 2>&1 - fi - done - fi -} diff --git a/hooks/arch_addons b/hooks/arch_addons index 82a1952d6..572ea7021 100644 --- a/hooks/arch_addons +++ b/hooks/arch_addons @@ -26,7 +26,7 @@ run_hook () echo "Copying new packages to /tmp/packages/ install environment ..." cp /addons/packages/*.pkg.tar.gz /tmp/packages/ echo "Installing new packages to install environment ..." - pacman -A /tmp/packages/* || echo "Dependency resolution failed!" + pacman -U /tmp/packages/* || echo "Dependency resolution failed!" RETRIGGER_UDEV="1" else echo "No new files found to copy and install in /packages directory on media $k." @@ -44,9 +44,8 @@ run_hook () else echo "ARCH_ADDONS USAGE:" echo "------------------" - echo "By default loading is disabled!" echo "In order to load external addon packages or configs" - echo "into install environment, please append arch-addons to boot prompt." + echo "into the install environment, please append arch-addons to boot prompt." echo "Place external addon packages in /packages directory." echo "Place external configs in /config directory." echo "------------------" diff --git a/hooks/arch_dmraid b/hooks/arch_dmraid new file mode 100755 index 000000000..bdd692f1b --- /dev/null +++ b/hooks/arch_dmraid @@ -0,0 +1,18 @@ +# vim: set ft=sh: +run_hook () +{ + /sbin/modprobe -q dm-mod >/dev/null 2>&1 + #fix if udev initialises /dev/mapper/control + sleep 0.5 + if [ -e "/sys/class/misc/device-mapper" ]; then + if [ ! -c "/dev/mapper/control" ]; then + read dev_t < /sys/class/misc/device-mapper/dev + /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':') + fi + + [ "${quiet}" = "y" ] && DMRAIDQUIET=">/dev/null" + + msg ":: Activating dmraid arrays..." + /usr/sbin/dmraid -ay $DMRAIDQUIET + fi +} diff --git a/hooks/arch_intel_wireless b/hooks/arch_intel_wireless index b5b2ca4d8..167e626e3 100644 --- a/hooks/arch_intel_wireless +++ b/hooks/arch_intel_wireless @@ -3,29 +3,26 @@ run_hook () if grep -qw intel-wireless /proc/cmdline; then echo "ARCH_INTEL_WIRELESS:" echo "--------------------" - echo "You ACCEPTED the intel's licenses, intel wireless drivers are now available." - ! [ -d /lib/firmware/ ] && mkdir -p /lib/firmware - mv /intel-firmware/* /lib/firmware/ - echo "Unloading already loaded intel wireless modules ..." - modprobe -r ipw2100 > /dev/null 2>&1 - modprobe -r ipw2200 > /dev/null 2>&1 - modprobe -r iwl3945 > /dev/null 2>&1 - modprobe -r iwl4965 > /dev/null 2>&1 - echo "Retrigger udev uevents ..." - /etc/start_udev uevents - else - echo "ARCH_INTEL_WIRELESS USAGE:" - echo "--------------------" - echo "By default intel wireless loading is disabled!" - echo "In order to use those drivers you have to agree to intel's licenses" - echo "and append intel-wireless to boot prompt." - echo "" - echo "License files for the drivers are located here:" + echo "You have ACCEPTED the firmware licenses:" echo "/usr/share/licenses/iwlwifi-4965-ucode/LICENSE" echo "/usr/share/licenses/iwlwifi-3945-ucode/LICENSE" echo "/lib/firmware/LICENSE.ipw2200-fw" echo "/lib/firmware/LICENSE.ipw2100-fw" - echo "By appending intel-wireless to boot prompt you accept those licenses!" + echo "Intel wireless drivers are now available." + ! [ -d /lib/firmware/ ] && mkdir -p /lib/firmware + mv /intel-firmware/* /lib/firmware/ + #echo "Unloading already loaded intel wireless modules ..." + #modprobe -r ipw2100 > /dev/null 2>&1 + #modprobe -r ipw2200 > /dev/null 2>&1 + #modprobe -r iwl3945 > /dev/null 2>&1 + #modprobe -r iwl4965 > /dev/null 2>&1 + #echo "Retrigger udev uevents ..." + #/etc/start_udev uevents + else + echo "ARCH_INTEL_WIRELESS USAGE:" + echo "--------------------" + echo "In order to use those drivers, you have to agree to the firmware licenses" + echo "by appending intel-wireless to boot prompt." echo "--------------------" fi } diff --git a/hooks/arch_lvm2 b/hooks/arch_lvm2 index cecb8988c..7d06b7fde 100644 --- a/hooks/arch_lvm2 +++ b/hooks/arch_lvm2 @@ -1,9 +1,13 @@ run_hook () { /sbin/modprobe -q dm-mod >/dev/null 2>&1 + # fix if udev initialises /dev/mapper/control + sleep 0.5 if [ -e "/sys/class/misc/device-mapper" ]; then - read dev_t < /sys/class/misc/device-mapper/dev - /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':') + if [ ! -c "/dev/mapper/control" ]; then + read dev_t < /sys/class/misc/device-mapper/dev + /bin/mknod "/dev/mapper/control" c $(/bin/replace "${dev_t}" ':') + fi msg "Scanning logical volumes..." /sbin/lvm vgscan --ignorelockingfailure diff --git a/hooks/arch_pacman b/hooks/arch_pacman index caa007458..9ffe3f36a 100644 --- a/hooks/arch_pacman +++ b/hooks/arch_pacman @@ -4,6 +4,4 @@ run_hook () for i in /etc/pacman.d/*; do sed -i -e "s/i686/$(uname -m)/g" $i done - # add pacman.static symlink - ln -s /usr/bin/pacman /usr/bin/pacman.static } diff --git a/hooks/arch_remote b/hooks/arch_remote index 814683a87..c6a94bbec 100644 --- a/hooks/arch_remote +++ b/hooks/arch_remote @@ -1,13 +1,11 @@ run_hook () { - # fix telnet login - # ln -s /etc/login.sh /bin/login # fix slogin ln -s /usr/bin/ssh /usr/bin/slogin # fix screen ln -s $(find /usr/bin/screen-*) /usr/bin/screen # fix daemons - sed -i -e 's|^DAEMONS=(@syslog-ng)|DAEMONS=(@syslog-ng @network @portmap @sshd @xinetd)|g' /etc/rc.conf + sed -i -e 's|^DAEMONS=(@syslog-ng)|DAEMONS=(@syslog-ng network portmap sshd xinetd)|g' /etc/rc.conf # fix serial console dmesg | grep ttyS0 >/dev/null && sed -i -e 's/^#c0/c0/g' /etc/inittab } diff --git a/hooks/arch_tiacx_wireless b/hooks/arch_tiacx_wireless index 64d1f6805..89700dcef 100644 --- a/hooks/arch_tiacx_wireless +++ b/hooks/arch_tiacx_wireless @@ -2,9 +2,8 @@ run_hook () { echo "ARCH_TIACX_WIRELESS USAGE:" echo "--------------------" - echo " The firmware files for ACX100/111 devices are installed in" - echo " /usr/share/tiacx. Please identify the correct file(s) for your" - echo " device and copy them to /lib/firmware." + echo " Please identify the correct file(s) for your device in /usr/share/tiacx" + echo " and copy them to /lib/firmware and reload your kernel module." echo " See http://acx100.sourceforge.net/wiki/Firmware for details." echo "--------------------" } diff --git a/hooks/arch_udev b/hooks/arch_udev index d929340bc..fc4c8144a 100644 --- a/hooks/arch_udev +++ b/hooks/arch_udev @@ -1,9 +1,6 @@ # vim: set ft=sh: run_hook () { - # fix udev symlinks - ln -s /sbin/udevadm /sbin/udevsettle - ln -s /sbin/udevadm /sbin/udevtrigger msg -n ":: Loading udev..." /etc/start_udev msg "done." diff --git a/install-lowmem.conf b/install-lowmem.conf index f8de935ee..943aedcb8 100644 --- a/install-lowmem.conf +++ b/install-lowmem.conf @@ -7,14 +7,14 @@ BINARIES="" FILES="" # SETUP # You can choose between 2 types of install media: -# arch-core-install --> creates core install media -# arch-ftp-install --> creates ftp install media +# arch_lowmem_install --> creates lowmem install media +# arch_ftp_install --> needed for upload tarball! # # default is set to ftp install media # # Please change the other hooks only if you know what you are doing. # hooks for lowmem image -HOOKS="arch_lowmem_install arch_acpi arch_bootmessage_lowmem arch_motd_lowmem arch_memtest arch_pam arch_shadow_lowmem arch_base_lowmem arch_hwdetect arch_udev ide pata scsi sata usb usbinput arch_raid arch_lvm2 arch_encrypt arch_filesystems_lowmem arch_pacman_lowmem arch_licenses arch_dmraid" +HOOKS="arch_lowmem_install arch_installer arch_acpi arch_bootmessage_lowmem arch_motd_lowmem arch_memtest arch_pam arch_shadow_lowmem arch_base_lowmem arch_hwdetect arch_udev ide pata scsi sata usb arch_cdrom usbinput arch_raid arch_dmraid arch_lvm2 arch_encrypt arch_filesystems_lowmem arch_pacman_lowmem arch_licenses" # # adding pxelinux hook if mkpxelinux is used. if [ "${RUNPROGRAM}" = "mkpxelinux" ]; then @@ -23,16 +23,10 @@ fi # ### NETWORK SETUP -# the default install media creating process, uses latest files from online cvs! +# the default install media creating process, uses latest files from svn! # -#SERVER PARAMETERS -FTPSERVER="ftp://ftp.archlinux.org/core/os" -# GIT SERVER -GIT_INSTALLER="git://projects.archlinux.org/installer.git" -# CVS SERVER -CVSSETUP=":pserver:anonymous:anonymous@cvs.archlinux.org:/home/cvs-core" -# CVS TAG -TAG="CURRENT" +# SVN SERVER +SVNSETUP="svn://archlinux.org/home/svn-packages/" ###### LOCAL SETUP # only needed if you want to build custom install media @@ -43,56 +37,37 @@ TAG="CURRENT" LOCALSETUP="no" #### NOTES: -# To get the cvs tree use these commands: -# - change to your dir you want to hold the cvs files and execute the script below +# To get the svn tree use these commands: +# - change to your dir you want to hold the files and execute the script below # Example Script: # --------------- # #!/bin/sh -# export CVSROOT=":pserver:anonymous:anonymous@cvs.archlinux.org:/home/cvs-arch" -# TAG="CURRENT" # ### general setup stuff -# git-clone git://projects.archlinux.org/installer.git -# export CVSROOT=":pserver:anonymous:anonymous@cvs.archlinux.org:/home/cvs-core" -# cvs -z3 co -r ${TAG} core/ +# SVNSETUP="svn://archlinux.org/home/svn-packages/" +# # generate base +# BASE="" +# for i in $(pacman -Sg base | sed -e "s/base//g"); do +# BASE="$BASE $(echo $i)" +# done +# # generate base-devel +# DEVEL="" +# for i in $(pacman -Sg base-devel | sed -e "s/base-devel//g"); do +# DEVEL="$DEVEL $(echo $i)" +# done +# SUPPORT="$(echo -n $(pacman -Ss | grep -e ^core | grep -v '(' | sed -e 's/\ .*/ /g' -e 's#core/##g'))" +# for i in base devel support; do +# mkdir $i +# svn co -N ${SVNSETUP} $i +# done +# cd base; svn up $BASE; cd .. +# cd devel; svn up $DEVEL; cd .. +# cd support; svn up $SUPPORT; cd .. # --------------- # Now you can start to modify this tree to your needs. ### GENERAL REMASTER PARAMETERS -# enter here your custom/modified cvs tree -CVSTREE="" -GIT_INSTALLER_TREE="" +# enter here your custom/modified svn tree +SVNTREE="" -# path to keyboard layout change script -KMSCRIPT="/etc/archboot/scripts/km" - -# path to setup script -SETUP="${GIT_INSTALLER_TREE}/setup" - -# path to quickinst script -QUICKINST="${GIT_INSTALLER_TREE}/quickinst" - -# path to file which include the mirrors -MIRRORS="${GIT_INSTALLER_TREE}/mirrors.txt" - -# path to documentation file -DOCUMENTATION="${GIT_INSTALLER_TREE}/arch-install-guide.txt" - -# path to built packages -PACKAGEDIR="" - -# path to static pacman -# download it from: -# ftp://ftp.archlinux.org/core/os//setup/pacman.pkg.tar.gz -# or build it on your own ;) -PACMANBINARY="" - -# path to rc.sysinit to get arch version -ARCHVERSION="Core Dump" - -#### REMASTER FTP INSTALL MEDIA -# No extra parameters needed - -#### REMASTER CORE INSTALL MEDIA -### main cvs dir for base install -# Note: the MAINCVSDIR dir must include a 'base' and 'kernels' directory -MAINCVSDIR="${CVSTREE}/core" +# name of the release +ARCHVERSION="Nepal" diff --git a/install-ppc.conf b/install-ppc.conf deleted file mode 100644 index 194117f7e..000000000 --- a/install-ppc.conf +++ /dev/null @@ -1,107 +0,0 @@ -# vim:set ft=sh: -# Created by Tobias Powalowski -# For more information on how using mkinitcpio please refer to the main config file -# or check the wiki. -MODULES="" -BINARIES="" -FILES="" -# SETUP -# You can choose between 3 types of install media: -# arch-base-install --> creates base install media -# arch-ftp-install --> creates ftp install media -# arch-current-install --> creates full current install media -# -# default is set to ftp install media -# -# Please change the other hooks only if you know what you are doing. -HOOKS="arch-ftp-installppc arch-bootmessage-ppc arch-motd arch-pam arch-shadow arch-base-ppc arch-hwdetect arch-udev ide pata scsi sata arch-net arch-isdn arch-pcmcia usb usbinput fw arch-raid arch-lvm2 arch-encrypt arch-filesystems-ppc arch-keymap-ppc arch-remote arch-cpufreq arch-fb arch-links arch-naim arch-pacman arch-addons arch-kexec arch-ppp arch-pppoe arch-yaboot arch-iptables arch-pciutils arch-usbutils arch-openvpn arch-vpnc" -# -# adding pxelinux hook if mkpxelinux is used. -if [ "${RUNPROGRAM}" = "mkpxelinux" ]; then - HOOKS="$HOOKS arch-pxelinux" -fi -# - -### NETWORK SETUP -# the default install media creating process, uses latest files from online cvs! -# -#SERVER PARAMETERS -FTPSERVER="ftp://ftp.archlinuxppc.org/current/os" -# CVS-CURRENT SERVER -CVSCURRENT=":pserver:anonymous:anonymous@cvs.archlinuxppc.org:/home/cvs-current" -# CVS-CURRENT TAG -TAG="CURRENT" - -CVSARCH=":pserver:anonymous:anonymous@cvs.archlinuxppc.org:/home/cvs-arch" - - - -###### LOCAL SETUP -# only needed if you want to build custom install media -# disabled by default you can ignore all those parameters below -# if you don't set LOCALSETUP="yes" -# -# Set this switch to "yes" if you want a custom install media -LOCALSETUP="no" - -#### NOTES: -# To get the cvs tree use these commands: -# - change to your dir you want to hold the cvs files and execute the script below -# Example Script: -# --------------- -# #!/bin/sh -# export CVSROOT=":pserver:anonymous:anonymous@cvs.archlinuxppc.org:/home/cvs-arch" -# TAG="CURRENT" -# ### general setup stuff -# cvs -z3 co arch/scripts/{km,setup,quickinst} -# cvs -z3 co arch/doc/en/guide/install/arch-install-guide.txt -# cvs -z3 co arch/mirrors.txt -# ### needed for base install media - -# export CVSROOT=":pserver:anonymous:anonymous@cvs.archlinuxppc.org:/home/cvs-current" -# TAG="CURRENT" -# cvs -z3 co -r ${TAG} arch/build/base/ -# cvs -z3 co -r ${TAG} arch/build/kernels/ -# ### needed for current install media -# cvs -z3 co -r ${TAG} arch/build/ -# --------------- -# Now you can start to modify this tree to your needs. - -### GENERAL REMASTER PARAMETERS -# enter here your custom/modified cvs tree -CVSTREE="" - -# path to keyboard layout change script -KMSCRIPT="${CVSTREE}/arch/scripts/km" - -# path to setup script -SETUP="${CVSTREE}/arch/scripts/setup" - -# path to quickinst script -QUICKINST="${CVSTREE}/arch/scripts/quickinst" - -# path to file which include the mirrors -MIRRORS="${CVSTREE}/arch/mirrors.txt" - -# path to documentation file -DOCUMENTATION="${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt" - -# path to built packages -PACKAGEDIR="" - -# path to static pacman -# download it from: -# ftp://ftp.archlinuxppc.org/current/os//setup/pacman.pkg.tar.gz -# or build it on your own ;) -PACMANBINARY="" - -# path to rc.sysinit to get arch version -RCSYSINIT="${CVSTREE}/arch/build/base/initscripts/rc.sysinit" - -#### REMASTER FTP INSTALL MEDIA -# No extra parameters needed - -#### REMASTER BASE/CURRENT INSTALL MEDIA -### main cvs dir for base install -# Note: the MAINCVSDIR dir must include a 'base' and 'kernels' directory -MAINCVSDIR="${CVSTREE}/current" diff --git a/install.conf b/install.conf index 878bf1b13..63c9f2a12 100644 --- a/install.conf +++ b/install.conf @@ -7,13 +7,13 @@ BINARIES="" FILES="" # SETUP # You can choose between 2 types of install media: -# arch-core-install --> creates core install media -# arch-ftp-install --> creates ftp install media +# arch_core_install --> creates core install media +# arch_ftp_install --> creates ftp install media # # default is set to ftp install media # # Please change the other hooks only if you know what you are doing. -HOOKS="arch_ftp_install arch_acpi arch_bootmessage arch_motd arch_memtest arch_pam arch_shadow arch_base arch_hwdetect arch_udev ide pata scsi sata arch_net arch_isdn arch_pcmcia arch_rtc arch_sound usb usbinput fw arch_floppy arch_raid arch_lvm2 arch_encrypt arch_filesystems arch_keymap arch_remote arch_cpufreq arch_fb arch_links arch_naim arch_pacman arch_addons arch_kexec arch_ppp arch_pppoe arch_lilo arch_grub arch_iptables arch_capi4k arch_pciutils arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_licenses arch_wireless arch_intel_wireless arch_dmraid arch_linux_atm arch_tiacx_wireless arch_netcfg" +HOOKS="arch_ftp_install arch_installer arch_tz arch_keymap arch_acpi arch_bootmessage arch_motd arch_memtest arch_pam arch_shadow arch_base arch_intel_wireless arch_hwdetect arch_udev ide pata scsi sata arch_cdrom arch_net arch_isdn arch_pcmcia arch_rtc arch_sound usb usbinput arch_fw arch_floppy arch_raid arch_dmraid arch_lvm2 arch_encrypt arch_filesystems arch_remote arch_cpufreq arch_fb arch_links arch_naim arch_pacman arch_kexec arch_ppp arch_pppoe arch_lilo arch_grub arch_iptables arch_capi4k arch_pciutils arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_licenses arch_wireless arch_linux_atm arch_tiacx_wireless arch_netcfg arch_addons" # # adding pxelinux hook if mkpxelinux is used. if [ "${RUNPROGRAM}" = "mkpxelinux" ]; then @@ -22,16 +22,10 @@ fi # ### NETWORK SETUP -# the default install media creating process, uses latest files from online cvs! +# the default install media creating process, uses latest files from svn! # -#SERVER PARAMETERS -FTPSERVER="ftp://ftp.archlinux.org/core/os" -# GIT SERVER -GIT_INSTALLER="git://projects.archlinux.org/installer.git" -# CVS SERVER -CVSSETUP=":pserver:anonymous:anonymous@cvs.archlinux.org:/home/cvs-core" -# CVS TAG -TAG="CURRENT" +# SVN SERVER +SVNSETUP="svn://archlinux.org/home/svn-packages/" ###### LOCAL SETUP # only needed if you want to build custom install media @@ -42,54 +36,37 @@ TAG="CURRENT" LOCALSETUP="no" #### NOTES: -# To get the git and cvs tree use these commands: -# - change to your dir you want to hold the cvs files and execute the script below +# To get the svn tree use these commands: +# - change to your dir you want to hold the files and execute the script below # Example Script: # --------------- # #!/bin/sh # ### general setup stuff -# git-clone git://projects.archlinux.org/installer.git -# export CVSROOT=":pserver:anonymous:anonymous@cvs.archlinux.org:/home/cvs-core" -# cvs -z3 co -r ${TAG} core/ +# SVNSETUP="svn://archlinux.org/home/svn-packages/" +# # generate base +# BASE="" +# for i in $(pacman -Sg base | sed -e "s/base//g"); do +# BASE="$BASE $(echo $i)" +# done +# # generate base-devel +# DEVEL="" +# for i in $(pacman -Sg base-devel | sed -e "s/base-devel//g"); do +# DEVEL="$DEVEL $(echo $i)" +# done +# SUPPORT="$(echo -n $(pacman -Ss | grep -e ^core | grep -v '(' | sed -e 's/\ .*/ /g' -e 's#core/##g'))" +# for i in base devel support; do +# mkdir $i +# svn co -N ${SVNSETUP} $i +# done +# cd base; svn up $BASE; cd .. +# cd devel; svn up $DEVEL; cd .. +# cd support; svn up $SUPPORT; cd .. # --------------- # Now you can start to modify this tree to your needs. ### GENERAL REMASTER PARAMETERS -# enter here your custom/modified cvs tree -CVSTREE="" -GIT_INSTALLER_TREE="" - -# path to keyboard layout change script -KMSCRIPT="/etc/archboot/scripts/km" - -# path to setup script -SETUP="${GIT_INSTALLER_TREE}/setup" - -# path to quickinst script -QUICKINST="${GIT_INSTALLER_TREE}/quickinst" - -# path to file which include the mirrors -MIRRORS="${GIT_INSTALLER_TREE}/mirrors.txt" - -# path to documentation file -DOCUMENTATION="${GIT_INSTALLER_TREE}/arch-install-guide.txt" - -# path to built packages -PACKAGEDIR="" - -# path to static pacman -# download it from: -# ftp://ftp.archlinux.org/core/os//setup/pacman.pkg.tar.gz -# or build it on your own ;) -PACMANBINARY="" +# enter here your custom/modified svn tree +SVNTREE="" # name of the release -ARCHVERSION="Core Dump" - -#### REMASTER FTP INSTALL MEDIA -# No extra parameters needed - -#### REMASTER CORE INSTALL MEDIA -### main cvs dir for base install -# Note: the MAINCVSDIR dir must include a 'base' directory -MAINCVSDIR="${CVSTREE}/core" +ARCHVERSION="Nepal" diff --git a/install/arch_addons b/install/arch_addons index c5d5824ed..e2406d88e 100644 --- a/install/arch_addons +++ b/install/arch_addons @@ -8,9 +8,13 @@ install () SCRIPT="arch_addons" echo "- ARCH_ADDONS USAGE:" >> ${OPTIONSBOOTMESSAGE} echo " In order to load external addon packages or configs" >> ${OPTIONSBOOTMESSAGE} - echo " into install environment, please append arch-addons to boot prompt." >> ${OPTIONSBOOTMESSAGE} + echo " into the install environment, please append arch-addons to boot prompt." >> ${OPTIONSBOOTMESSAGE} echo " Place external addon packages in /packages directory." >> ${OPTIONSBOOTMESSAGE} echo " Place external configs in /config directory." >> ${OPTIONSBOOTMESSAGE} + ! [ -d ${TEMPDIR}/packages ] && mkdir ${TEMPDIR}/packages + ! [ -d ${TEMPDIR}/config ] && mkdir ${TEMPDIR}/config + cp -r /etc/archboot/packages/* ${TEMPDIR}/packages + cp -r /etc/archboot/config/* ${TEMPDIR}/config } help () diff --git a/install/arch_base b/install/arch_base index 873330f55..455fdb045 100644 --- a/install/arch_base +++ b/install/arch_base @@ -27,14 +27,14 @@ install () done ### adding klibc binaries - for f in $(find /usr/lib/klibc/bin/ ! -name "mount" ! -name "umount" ! -name "reboot" ! -name "halt" ! -name "chroot" ! -name "sh" ! -name "modprobe" ! -name "cat" ! -name "cpio" ! -name "dd" ! -name "gunzip" ! -name "gzip" ! -name "insmod" ! -name "zcat" ! -name "lsmod" ! -type d); do + for f in $(find /usr/lib/klibc/bin/ ! -name "mount" ! -name "umount" ! -name "reboot" ! -name "halt" ! -name "chroot" ! -name "sh" ! -name "modprobe" ! -name "cat" ! -name "cpio" ! -name "dd" ! -name "gunzip" ! -name "gzip" ! -name "insmod" ! -name "zcat" ! -name "lsmod" ! -name "mv" ! -name "kill" ! -name "ln" ! -name "losetup" ! -name "mkdir" ! -name "mkfifo" ! -name "mknod" ! -name "poweroff" ! -name "dmesg" ! -name "sync" ! -type d); do add_file $f /bin/$(basename $f) done ### adding needed programs from running system add_file "${CONFIG}" "/config" SCRIPT="arch_base" - BINARIES="init agetty mount modprobe modinfo umount basename du clear env head id md5sum nano netcat printf tail tee test tr tty uptime wc which whoami xargs yes syslog-ng bash swapon uniq cut seq snarf find sort fdisk sfdisk cfdisk parted gawk cp mv shutdown free ls rm sed test less chgrp chmod chown date df dialog dmesg egrep fgrep grep hostname kill killall killall5 more ps pwd rmdir stty sync tar touch uname vi lsmod modinfo rmmod hdparm true mktemp chroot dirname expr bzip2 hwclock depmod su cat cpio dd gzip wget top sdparm tput ifconfig" + BINARIES="init agetty mount modprobe modinfo umount basename du clear env head id md5sum nano netcat printf tail tee test tr tty uptime wc which whoami xargs yes syslog-ng bash swapon uniq cut seq snarf find sort fdisk sfdisk cfdisk parted gawk cp mv shutdown free ls rm sed test less chgrp chmod chown date df dialog dmesg egrep fgrep grep hostname kill killall killall5 more ps pwd rmdir stty sync tar touch uname vi lsmod modinfo rmmod hdparm true mktemp chroot dirname expr bzip2 hwclock depmod su cat cpio dd gzip wget top sdparm tput ifconfig ln losetup mkdir mkfifo mknod" add_file "/bin/echo" add_file "/bin/gunzip" add_file "/bin/zcat" diff --git a/install/arch_base_install b/install/arch_base_install deleted file mode 100644 index 03ddc5691..000000000 --- a/install/arch_base_install +++ /dev/null @@ -1,157 +0,0 @@ -# Created by Tobias Powalowski - -install () -{ - ### check for root - if ! [ $UID -eq 0 ]; then - echo "ERROR: only works when run as root!" - exit 1 - fi - ### check for activated testing repository - if ! [ "$(grep '^\[testing\]' /etc/pacman.conf)" = "" ]; then - echo "WARNING: TESTING REPOSITORY ACTIVATED" - echo "-------------------------------------" - echo "POSSIBILITY OF BROKEN BINARY PACKAGES ON INSTALL MEDIA!" - echo "Use a chroot instead to avoid those problems." - echo "5 seconds time to cancel with CTRL+C" - sleep 5 - fi - ### begin cvs part - if ! [ "${LOCALSETUP}" = "yes" ]; then - CVSTREE=$(mktemp /tmp/archcvs.XXXX) - rm ${CVSTREE} - mkdir -p ${CVSTREE} - # checkout actual CURRENT cvs - export CVSROOT=${CVSSETUP} - else - CVSTREE=${CVSTREE} - fi - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -z3 co -r ${TAG} arch/build/base/ - cvs -z3 co -r ${TAG} arch/build/kernels/ - MAINCVSDIR="${CVSTREE}/arch/build" - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./ -type d ! -name "CVS") - else - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./base -type d ! -name "CVS") - SEARCHCVS="${SEARCHCVS} $(find ./kernels -type d ! -name "CVS")" - fi - if ! [ "${TEMPDIR}" = "" ]; then - mkdir -p ${TEMPDIR}/arch/pkg/setup - # Download all packages - PACKAGES=$(for i in ${SEARCHCVS};do ! [ "$(echo $i | awk -F/ '{print $3}')" = "" ] && echo -n "current/$(echo $i| awk -F/ '{print $3}') ";done) - if ! [ "${LOCALSETUP}" = "yes" ]; then - pacman -Sy - if ! [ "$(pacman -Sw --noconfirm ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - exit 1 - fi - else - DBGENERATE="$(mktemp /tmp/db-generate.XXX)" - rm ${DBGENERATE} - mkdir -p ${DBGENERATE} - gensync ${MAINCVSDIR}/base ${DBGENERATE}/db1.db.tar.gz ${PACKAGEDIR} - gensync ${MAINCVSDIR}/kernels ${DBGENERATE}/db2.db.tar.gz ${PACKAGEDIR} - mkdir -p ${DBGENERATE}/real-db - cd ${DBGENERATE}/real-db - tar xfz ../db1.db.tar.gz - tar xfz ../db2.db.tar.gz - tar cfz ../current.db.tar.gz * - PACMANREPO="$(mktemp /tmp/pacman-repo.XXX)" - rm ${PACMANREPO} - mkdir -p ${PACMANREPO} - mount --bind ${PACKAGEDIR} ${PACMANREPO} - mv ${DBGENERATE}/current.db.tar.gz ${PACMANREPO}/ - rm -r ${DBGENERATE} - PACMANCONF="$(mktemp /tmp/pacman-conf.XXX)" - echo "[current]" >> ${PACMANCONF} - echo "Server = file://${PACMANREPO}" >> ${PACMANCONF} - pacman -Sy --config ${PACMANCONF} - if ! [ "$(pacman -Sw --noconfirm --config ${PACMANCONF} ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - umount ${PACMANREPO} - exit 1 - fi - fi - # collect the packages - cd ${MAINCVSDIR} - for COPY in ${SEARCHCVS};do - if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then - source "${COPY}/PKGBUILD" - cp /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz ${TEMPDIR}/arch/pkg/ - echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz" >> ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - done - # generate packages.txt - sort -u ${TEMPDIR}/arch/pkg/setup/packages.txt -o ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - SCRIPT= - BINARIES= - # always needed for every install - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -z3 co arch/scripts/{km,setup,quickinst} - cvs -z3 co arch/doc/en/guide/install/arch-install-guide.txt - cvs -z3 co arch/misc/bootdisk/2/mirrors.txt - fi - # fix km script - KM=$(mktemp /tmp/km.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/scripts/km ${KM} - else - cp -f ${KMSCRIPT} ${KM} - fi - sed -i -e 's#$BASEDIR/keymaps/##g' ${KM} - chmod 755 ${KM} - mkdir -p ${TEMPDIR}/arch - add_file "${KM}" "/bin/km" - # fix mirrors.txt - if ! [ "${LOCALSETUP}" = "yes" ]; then - sed -i -e "s/i686/$(uname -m)/g" ${CVSTREE}/arch/misc/bootdisk/2/mirrors.txt - add_file "${CVSTREE}/arch/scripts/setup" "/arch/setup" - add_file "${CVSTREE}/arch/scripts/quickinst" "/arch/quickinst" - add_file "${CVSTREE}/arch/misc/bootdisk/2/mirrors.txt" "/arch/mirrors.txt" - else - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORS} - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - add_file "${MIRRORS}" "/arch/mirrors.txt" - fi - DOCS=$(mktemp /tmp/docs.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${DOCS} - else - cp -f ${DOCUMENTATION} ${DOCS} - fi - gzip -9 ${DOCS} - add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - if ! [ "${TEMPDIR}" = "" ]; then - cp ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt - cd ${TEMPDIR}/arch/pkg/setup/ - wget ${FTPSERVER}/$(uname -m)/setup/pacman.pkg.tar.gz - cd ${TEMPDIR}/arch/pkg/ - wget ${FTPSERVER}/$(uname -m)/current.db.tar.gz - fi - else - if ! [ "${TEMPDIR}" = "" ]; then - cp -f ${DOCUMENTATION} ${TEMPDIR}/arch/archdoc.txt - cp -f ${PACMANBINARY} ${TEMPDIR}/arch/pkg/setup/ - mv ${PACMANREPO}/current.db.tar.gz ${TEMPDIR}/arch/pkg/ - umount ${PACMANREPO} - fi - fi - - # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux BASE $(uname -m)" >> ${ISONAME} -} - -help () -{ -cat < - -install () -{ - ### check for root - if ! [ $UID -eq 0 ]; then - echo "ERROR: only works when run as root!" - exit 1 - fi - ### check for activated testing repository - if ! [ "$(grep '^\[testing\]' /etc/pacman.conf)" = "" ]; then - echo "WARNING: TESTING REPOSITORY ACTIVATED" - echo "-------------------------------------" - echo "POSSIBILITY OF BROKEN BINARY PACKAGES ON INSTALL MEDIA!" - echo "Use a chroot instead to avoid those problems." - echo "5 seconds time to cancel with CTRL+C" - sleep 5 - fi - ### begin cvs part - if ! [ "${LOCALSETUP}" = "yes" ]; then - CVSTREE=$(mktemp /tmp/archcvs.XXXX) - rm ${CVSTREE} - mkdir -p ${CVSTREE} - # checkout actual CURRENT cvs - export CVSROOT=${CVSCURRENT} - export CVSROOT_ARCH=${CVSARCH} - else - CVSTREE=${CVSTREE} - fi - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -d ${CVSROOT} co -r ${TAG} current/base/ - cvs -d ${CVSROOT} co -r ${TAG} current/kernels/ - MAINCVSDIR="${CVSTREE}/current" - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./ -type d ! -name "CVS") - else - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./base -type d ! -name "CVS") - SEARCHCVS="${SEARCHCVS} $(find ./kernels -type d ! -name "CVS")" - fi - if ! [ "${TEMPDIR}" = "" ]; then - mkdir -p ${TEMPDIR}/arch/pkg/setup - # Download all packages - PACKAGES=$(for i in ${SEARCHCVS};do ! [ "$(echo $i | awk -F/ '{print $3}')" = "" ] && echo -n "current/$(echo $i| awk -F/ '{print $3}') ";done) - if ! [ "${LOCALSETUP}" = "yes" ]; then - pacman -Sy - if ! [ "$(pacman -Sw --noconfirm ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - exit 1 - fi - else - DBGENERATE="$(mktemp /tmp/db-generate.XXX)" - rm ${DBGENERATE} - mkdir -p ${DBGENERATE} - gensync ${MAINCVSDIR}/base ${DBGENERATE}/db1.db.tar.gz ${PACKAGEDIR} - gensync ${MAINCVSDIR}/kernels ${DBGENERATE}/db2.db.tar.gz ${PACKAGEDIR} - mkdir -p ${DBGENERATE}/real-db - cd ${DBGENERATE}/real-db - tar xfz ../db1.db.tar.gz - tar xfz ../db2.db.tar.gz - tar cfz ../current.db.tar.gz * - PACMANREPO="$(mktemp /tmp/pacman-repo.XXX)" - rm ${PACMANREPO} - mkdir -p ${PACMANREPO} - mount --bind ${PACKAGEDIR} ${PACMANREPO} - mv ${DBGENERATE}/current.db.tar.gz ${PACMANREPO}/ - rm -r ${DBGENERATE} - PACMANCONF="$(mktemp /tmp/pacman-conf.XXX)" - echo "[current]" >> ${PACMANCONF} - echo "Server = file://${PACMANREPO}" >> ${PACMANCONF} - pacman -Sy --config ${PACMANCONF} - if ! [ "$(pacman -Sw --noconfirm --config ${PACMANCONF} ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - umount ${PACMANREPO} - exit 1 - fi - fi - # collect the packages - cd ${MAINCVSDIR} - for COPY in ${SEARCHCVS};do - if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then - source "${COPY}/PKGBUILD" - cp /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz ${TEMPDIR}/arch/pkg/ - echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz" >> ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - done - # generate packages.txt - sort -u ${TEMPDIR}/arch/pkg/setup/packages.txt -o ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - SCRIPT= - BINARIES= - # always needed for every install - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - - cvs -d $CVSROOT_ARCH} co arch/scripts/{km,setup,quickinst} - cvs -d ${CVSROOT_ARCH} co arch/doc/en/guide/install/arch-install-guide.txt - cvs -d ${CVSROOT_ARCH} co arch/mirrors.txt - fi - # fix km script - KM=$(mktemp /tmp/km.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/scripts/km ${KM} - else - cp -f ${KMSCRIPT} ${KM} - fi - sed -i -e 's#$BASEDIR/keymaps/##g' ${KM} - chmod 755 ${KM} - mkdir -p ${TEMPDIR}/arch - add_file "${KM}" "/bin/km" - # fix mirrors.txt - if ! [ "${LOCALSETUP}" = "yes" ]; then - sed -i -e "s/i686/$(uname -m)/g" ${CVSTREE}/arch/mirrors.txt - add_file "${CVSTREE}/arch/scripts/setup" "/arch/setup" - add_file "${CVSTREE}/arch/scripts/quickinst" "/arch/quickinst" - add_file "${CVSTREE}/arch/mirrors.txt" "/arch/mirrors.txt" - else - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORS} - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - add_file "${MIRRORS}" "/arch/mirrors.txt" - fi - DOCS=$(mktemp /tmp/docs.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${DOCS} - else - cp -f ${DOCUMENTATION} ${DOCS} - fi - gzip -9 ${DOCS} - add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - if ! [ "${TEMPDIR}" = "" ]; then - cp ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt - cd ${TEMPDIR}/arch/pkg/setup/ - wget ${FTPSERVER}/$(uname -m)/setup/pacman.pkg.tar.gz - cd ${TEMPDIR}/arch/pkg/ - wget ${FTPSERVER}/$(uname -m)/current.db.tar.gz - fi - else - if ! [ "${TEMPDIR}" = "" ]; then - cp -f ${DOCUMENTATION} ${TEMPDIR}/arch/archdoc.txt - cp -f ${PACMANBINARY} ${TEMPDIR}/arch/pkg/setup/ - mv ${PACMANREPO}/current.db.tar.gz ${TEMPDIR}/arch/pkg/ - umount ${PACMANREPO} - fi - fi - - # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux BASE $(uname -m)" >> ${ISONAME} -} - -help () -{ -cat < - -install () -{ - ### setting up base structure - add_dir "/proc" - add_dir "/sys" - add_dir "/dev" - add_dir "/mnt" - add_dir "/tmp" - add_dir "/var/run" - add_dir "/var/log" - add_dir "/addons" - add_dir "/home" - add_device "/dev/null" c 1 3 - add_device "/dev/zero" c 1 5 - add_device "/dev/console" c 5 1 - - ### adding klibc lib files - for f in $(find /lib -name klibc-*.so); do - add_file $f - done - - ### adding klibc binaries - for f in $(find /usr/lib/klibc/bin/ ! -name "mount" ! -name "umount" ! -name "reboot" ! -name "halt" ! -name "chroot" ! -name "sh" ! -name "modprobe" ! -type d); do - add_file $f /bin/$(basename $f) - done - - ### adding needed programs from running system - add_file "${CONFIG}" "/config" - SCRIPT="arch-base" - BINARIES="init agetty mount modprobe modinfo umount basename du clear env head id md5sum nano netcat printf tail tee test tr tty uptime wc which whoami xargs yes syslog-ng bash swapon uniq cut seq snarf find sort mac-fdisk parted sfdisk gawk cp mv shutdown free ls rm sed test less chgrp chmod chown date df dialog dmesg egrep fgrep grep hostname kill killall killall5 more ps pwd rmdir stty sync tar touch uname vim lsmod modinfo rmmod hdparm true mktemp chroot dirname expr bzip2 hwclock depmod su" - add_file "/usr/bin/reset" - add_file "/sbin/swapoff" - add_file "/sbin/halt" - add_file "/sbin/telinit" - add_file "/bin/awk" - add_file "/etc/archboot/etc/init" "/init" - add_file "/usr/bin/vi" - add_file "/bin/dir" - add_file "/usr/share/terminfo/l/linux" - add_file "/usr/share/vim/syntax/syntax.vim" - add_file "/usr/share/vim/syntax/conf.vim" - add_file "/usr/share/vim/syntax/sh.vim" - add_file "/usr/share/vim/syntax/grub.vim" - add_file "/usr/share/vim/syntax/lilo.vim" - add_file "/usr/share/vim/syntax/manual.vim" - add_file "/usr/share/vim/syntax/synload.vim" - add_file "/usr/share/vim/syntax/colortest.vim" - add_file "/usr/share/vim/syntax/syncolor.vim" - add_file "/usr/share/vim/syntax/hitest.vim" - add_file "/usr/share/vim/syntax/whitespace.vim" - add_file "/usr/share/vim/syntax/modconf.vim" - add_file "/usr/share/vim/syntax/resolv.vim" - add_file "/usr/share/vim/syntax/fstab.vim" - add_file "/usr/share/vim/filetype.vim" - add_file "/etc/rc.d/functions" - add_file "/etc/archboot/etc/rc.conf" "/etc/rc.conf" - add_file "/etc/rc.d/syslog-ng" - - ### adding config files of installation system - for i in $(find /etc/archboot/etc/ -maxdepth 1 ! -type d ! -name 'init' ! -name "udev.rules" ! -name "menu.lst" ! -name "isolinux.cfg" ! -name "append-message*"); do - add_file "$i" "/etc/$(basename $i)" - done - - ### fixing network support - add_file "/lib/libnss_files.so.2" - add_file "/lib/libnss_dns.so.2" -} - -help () -{ -cat < - -install () -{ - ### generate boot.msg - [ "${RUNPROGRAM}" = "mkbootcd" ] && TITLEMSG="ISOLINUX" - [ "${RUNPROGRAM}" = "mkbootcd-grub" ] && TITLEMSG="GRUB" - [ "${RUNPROGRAM}" = "mksyslinux" ] && TITLEMSG="SYSLINUX" - [ "${RUNPROGRAM}" = "mkpxelinux" ] && TITLEMSG="PXELINUX" - - CONFIGMSG="INSTALLATION / RESCUEBOOT SYSTEM" - if ! [ "${LOCALSETUP}" = "yes" ]; then - CVSMSG=$(mktemp /tmp/archmsg.XXXX) - rm ${CVSMSG} - mkdir -p ${CVSMSG} - # checkout actual name from cvs rc.sysinit - export CVSROOT=${CVSSETUP} - cd ${CVSMSG} - cvs -z3 co -r ${TAG} arch/build/base/initscripts/rc.sysinit - NAME=$(grep 'Arch' arch/build/base/initscripts/rc.sysinit | sed -e 's/printhl "//g' -e 's/$C_OTHER(${C_H2}//g' -e 's/\\n"//g' -e 's/$C_OTHER)//g') - else - NAME=$(grep 'Arch' ${RCSYSINIT} | sed -e 's/printhl "//g' -e 's/$C_OTHER(${C_H2}//g' -e 's/\\n"//g' -e 's/$C_OTHER)//g') - fi - echo "Arch Linux PPC" >> ${BOOTMESSAGE} - echo "http://www.archlinuxppc.org" >> ${BOOTMESSAGE} - echo "Arch Linux - Copyright 2002 - 2007 Judd Vinet " >> ${BOOTMESSAGE} - echo "Distributed under the GNU General Public License (GPL)" >> ${BOOTMESSAGE} - echo "" >> ${BOOTMESSAGE} - echo "${TITLEMSG} BOOT" >> ${BOOTMESSAGE} - echo "Creation Tool: '$(echo ${RUNPROGRAM} | sed 's|-grub||')' written by Tobias Powalowski " >> ${BOOTMESSAGE} - echo "Edited by Benoit Chesneau for Arch Linux PPC" >> ${BOOTMESSAGE} - echo "" >> ${BOOTMESSAGE} - echo "${CONFIGMSG}" >> ${BOOTMESSAGE} - echo "${NAME}" >> ${BOOTMESSAGE} - echo "Kernel: ${USEKERNEL}" >> ${BOOTMESSAGE} - echo "Architecture: $(uname -m)" >> ${BOOTMESSAGE} - echo "Creation Date: $(date)" >> ${BOOTMESSAGE} - echo "" >> ${BOOTMESSAGE} - if [ "${RUNPROGRAM}" = "mkbootcd-grub" ]; then - [ -s "${APPENDBOOTMESSAGE}" ] && cat ${APPENDBOOTMESSAGE} >> ${BOOTMESSAGE} - else - [ -s "${APPENDBOOTMESSAGE_SYSLINUX}" ] && cat ${APPENDBOOTMESSAGE_SYSLINUX} >> ${BOOTMESSAGE} - fi -} - -help () -{ -cat < + +install () +{ + MODULES="sr_mod ide-cd_mod" + BINARIES="" + FILES="" + SCRIPT="" +} + +help () +{ +cat<> ${PACMANCONF} - echo "Server = file://${PACMANREPO}" >> ${PACMANCONF} - pacman -Sy --config ${PACMANCONF} - if ! [ "$(pacman -Sw --noconfirm --config ${PACMANCONF} ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - umount ${PACMANREPO} - exit 1 - fi - fi - # collect the packages - cd ${MAINCVSDIR} - for COPY in ${SEARCHCVS};do - if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then - source "${COPY}/PKGBUILD" - cp /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.gz ${TEMPDIR}/core/pkg/ - echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.gz" >> ${TEMPDIR}/core/pkg/packages.txt - fi - done - # generate packages.txt - sort -u ${TEMPDIR}/core/pkg/packages.txt -o ${TEMPDIR}/core/pkg/packages.txt + cd ${SVNTREE} + SEARCHSVN=$(find ./ -type d -name *"$(uname -m)" ! -name "testing*") fi + # Download all packages + PACKAGES=$(for i in ${SEARCHSVN};do ! [ "$(echo $i | awk -F/ '{print $3}')" = "" ] && echo -n "$(echo $i| awk -F/ '{print $3}') ";done) + pacman -Sy + pacman -Sw --noconfirm ${PACKAGES} + # collect the packages + mkdir -p ${TEMPDIR}/core-$(uname -m)/pkg/ + for COPY in ${SEARCHSVN};do + if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then + source "${COPY}/PKGBUILD" + cp /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.gz ${TEMPDIR}/core-$(uname -m)/pkg/ + echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.gz" >> ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt + repo-add ${TEMPDIR}/core-$(uname -m)/pkg/core.db.tar.gz /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.gz || return 1 + fi + done + # generate packages.txt + sort -u ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt -o ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt SCRIPT= BINARIES= - # always needed for every install - cd ${GIT_INSTALLER_TREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - git-clone ${GIT_INSTALLER} - fi - # fix km script - KM=$(mktemp /tmp/km.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f /etc/archboot/scripts/km ${KM} - else - cp -f ${KMSCRIPT} ${KM} - fi - sed -i -e 's#$BASEDIR/keymaps/##g' ${KM} - chmod 755 ${KM} - mkdir -p ${TEMPDIR}/arch - add_file "${KM}" "/bin/km" - # fix mirrors.txt - if ! [ "${LOCALSETUP}" = "yes" ]; then - sed -i -e "s/i686/$(uname -m)/g" ${GIT_INSTALLER_TREE}/installer/mirrors.txt - add_file "${GIT_INSTALLER_TREE}/installer/setup" "/arch/setup" - add_file "${GIT_INSTALLER_TREE}/installer/quickinst" "/arch/quickinst" - add_file "${GIT_INSTALLER_TREE}/installer/mirrors.txt" "/arch/mirrors.txt" - else - MIRRORTREE=$(mktemp /tmp/mirror.XXXX) - rm ${MIRRORTREE} - mkdir -p ${MIRRORTREE} - cp ${GIT_INSTALLER_TREE}/mirrors.txt ${MIRRORTREE}/ - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORTREE}/mirrors.txt - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - add_file "${MIRRORTREE}/mirrors.txt" "/arch/mirrors.txt" - fi - DOCS=$(mktemp /tmp/docs.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${GIT_INSTALLER_TREE}/installer/arch-install-guide.txt ${DOCS} - else - cp -f ${DOCUMENTATION} ${DOCS} - fi - gzip -9 ${DOCS} - add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - if ! [ "${TEMPDIR}" = "" ]; then - cp ${GIT_INSTALLER_TREE}/installer/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt - #cd ${TEMPDIR}/arch/pkg/setup/ - #wget ${FTPSERVER}/$(uname -m)/setup/pacman.pkg.tar.gz - cd ${TEMPDIR}/core/pkg/ - snarf ${FTPSERVER}/$(uname -m)/core.db.tar.gz - fi - else - if ! [ "${TEMPDIR}" = "" ]; then - cp -f ${DOCUMENTATION} ${TEMPDIR}/arch/archdoc.txt - #cp -f ${PACMANBINARY} ${TEMPDIR}/arch/pkg/setup/ - mv ${PACMANREPO}/core.db.tar.gz ${TEMPDIR}/core/pkg/ - umount ${PACMANREPO} - fi - fi - # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux CORE $(uname -m)" >> ${ISONAME} + [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux Archboot CORE $(uname -m)" >> ${ISONAME} } help () { cat < - -install () -{ - ### check for root - if ! [ $UID -eq 0 ]; then - echo "ERROR: only works when run as root!" - exit 1 - fi - ### check for activated testing repository - if ! [ "$(grep '^\[testing\]' /etc/pacman.conf)" = "" ]; then - echo "WARNING: TESTING REPOSITORY ACTIVATED" - echo "-------------------------------------" - echo "POSSIBILITY OF BROKEN BINARY PACKAGES ON INSTALL MEDIA!" - echo "Use a chroot instead to avoid those problems." - echo "5 seconds time to cancel with CTRL+C" - sleep 5 - fi - ### begin cvs part - if ! [ "${LOCALSETUP}" = "yes" ]; then - CVSTREE=$(mktemp /tmp/archcvs.XXXX) - rm ${CVSTREE} - mkdir -p ${CVSTREE} - # checkout actual CURRENT cvs - export CVSROOT=${CVSSETUP} - else - CVSTREE=${CVSTREE} - fi - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -z3 co -r ${TAG} arch/build/ - MAINCVSDIR="${CVSTREE}/arch/build" - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./ -type d ! -name "CVS") - else - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./ -type d ! -name "CVS") - fi - - if ! [ "${TEMPDIR}" = "" ]; then - mkdir -p ${TEMPDIR}/arch/pkg/setup - # Download all packages - PACKAGES=$(for i in ${SEARCHCVS};do ! [ "$(echo $i | awk -F/ '{print $3}')" = "" ] && echo -n "current/$(echo $i| awk -F/ '{print $3}') ";done) - if ! [ "${LOCALSETUP}" = "yes" ]; then - pacman -Sy - if ! [ "$(pacman -Sw --noconfirm ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - exit 1 - fi - else - DBGENERATE="$(mktemp /tmp/db-generate.XXX)" - rm ${DBGENERATE} - mkdir -p ${DBGENERATE} - gensync ${MAINCVSDIR}/ ${DBGENERATE}/current.db.tar.gz ${PACKAGEDIR} - PACMANREPO="$(mktemp /tmp/pacman-repo.XXX)" - rm ${PACMANREPO} - mkdir -p ${PACMANREPO} - mount --bind ${PACKAGEDIR} ${PACMANREPO} - mv ${DBGENERATE}/current.db.tar.gz ${PACMANREPO}/ - rm -r ${DBGENERATE} - PACMANCONF="$(mktemp /tmp/pacman-conf.XXX)" - echo "[current]" >> ${PACMANCONF} - echo "Server = file://${PACMANREPO}" >> ${PACMANCONF} - pacman -Sy --config ${PACMANCONF} - if ! [ "$(pacman -Sw --noconfirm --config ${PACMANCONF} ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - umount ${PACMANREPO} - exit 1 - fi - fi - # collect the packages - cd ${MAINCVSDIR} - for COPY in ${SEARCHCVS};do - if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then - source "${COPY}/PKGBUILD" - cp /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz ${TEMPDIR}/arch/pkg/ - echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz" >> ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - done - # generate packages.txt - sort -u ${TEMPDIR}/arch/pkg/setup/packages.txt -o ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - SCRIPT= - BINARIES= - # always needed for every install - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -z3 co arch/scripts/{km,setup,quickinst} - cvs -z3 co arch/doc/en/guide/install/arch-install-guide.txt - cvs -z3 co arch/misc/bootdisk/2/mirrors.txt - fi - # fix km script - KM=$(mktemp /tmp/km.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/scripts/km ${KM} - else - cp -f ${KMSCRIPT} ${KM} - fi - sed -i -e 's#$BASEDIR/keymaps/##g' ${KM} - chmod 755 ${KM} - mkdir -p ${TEMPDIR}/arch - add_file "${KM}" "/bin/km" - # fix mirrors.txt - if ! [ "${LOCALSETUP}" = "yes" ]; then - sed -i -e "s/i686/$(uname -m)/g" ${CVSTREE}/arch/misc/bootdisk/2/mirrors.txt - add_file "${CVSTREE}/arch/scripts/setup" "/arch/setup" - add_file "${CVSTREE}/arch/scripts/quickinst" "/arch/quickinst" - add_file "${CVSTREE}/arch/misc/bootdisk/2/mirrors.txt" "/arch/mirrors.txt" - else - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORS} - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - add_file "${MIRRORS}" "/arch/mirrors.txt" - fi - DOCS=$(mktemp /tmp/docs.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${DOCS} - else - cp -f ${DOCUMENTATION} ${DOCS} - fi - gzip -9 ${DOCS} - add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - if ! [ "${TEMPDIR}" = "" ]; then - cp ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt - cd ${TEMPDIR}/arch/pkg/setup/ - wget ${FTPSERVER}/$(uname -m)/setup/pacman.pkg.tar.gz - cd ${TEMPDIR}/arch/pkg/ - wget ${FTPSERVER}/$(uname -m)/current.db.tar.gz - fi - else - if ! [ "${TEMPDIR}" = "" ]; then - cp -f ${DOCUMENTATION} ${TEMPDIR}/arch/archdoc.txt - cp -f ${PACMANBINARY} ${TEMPDIR}/arch/pkg/setup/ - mv ${PACMANREPO}/current.db.tar.gz ${TEMPDIR}/arch/pkg/ - umount ${PACMANREPO} - fi - fi - - # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux CURRENT $(uname -m)" >> ${ISONAME} -} - -help () -{ -cat < - -install () -{ - ### check for root - if ! [ $UID -eq 0 ]; then - echo "ERROR: only works when run as root!" - exit 1 - fi - ### check for activated testing repository - if ! [ "$(grep '^\[testing\]' /etc/pacman.conf)" = "" ]; then - echo "WARNING: TESTING REPOSITORY ACTIVATED" - echo "-------------------------------------" - echo "POSSIBILITY OF BROKEN BINARY PACKAGES ON INSTALL MEDIA!" - echo "Use a chroot instead to avoid those problems." - echo "5 seconds time to cancel with CTRL+C" - sleep 5 - fi - ### begin cvs part - if ! [ "${LOCALSETUP}" = "yes" ]; then - CVSTREE=$(mktemp /tmp/archcvs.XXXX) - rm ${CVSTREE} - mkdir -p ${CVSTREE} - # checkout actual CURRENT cvs - export CVSROOT=${CVSSETUP} - export CVSROOT_ARCH=${CVSARCH} - else - CVSTREE=${CVSTREE} - fi - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -d ${CVSROOT} co -r ${TAG} current/ - MAINCVSDIR="${CVSTREE}/current" - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./ -type d ! -name "CVS") - else - cd ${MAINCVSDIR} - SEARCHCVS=$(find ./ -type d ! -name "CVS") - fi - - if ! [ "${TEMPDIR}" = "" ]; then - mkdir -p ${TEMPDIR}/arch/pkg/setup - # Download all packages - PACKAGES=$(for i in ${SEARCHCVS};do ! [ "$(echo $i | awk -F/ '{print $3}')" = "" ] && echo -n "current/$(echo $i| awk -F/ '{print $3}') ";done) - if ! [ "${LOCALSETUP}" = "yes" ]; then - pacman -Sy - if ! [ "$(pacman -Sw --noconfirm ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - exit 1 - fi - else - DBGENERATE="$(mktemp /tmp/db-generate.XXX)" - rm ${DBGENERATE} - mkdir -p ${DBGENERATE} - gensync ${MAINCVSDIR}/ ${DBGENERATE}/current.db.tar.gz ${PACKAGEDIR} - PACMANREPO="$(mktemp /tmp/pacman-repo.XXX)" - rm ${PACMANREPO} - mkdir -p ${PACMANREPO} - mount --bind ${PACKAGEDIR} ${PACMANREPO} - mv ${DBGENERATE}/current.db.tar.gz ${PACMANREPO}/ - rm -r ${DBGENERATE} - PACMANCONF="$(mktemp /tmp/pacman-conf.XXX)" - echo "[current]" >> ${PACMANCONF} - echo "Server = file://${PACMANREPO}" >> ${PACMANCONF} - pacman -Sy --config ${PACMANCONF} - if ! [ "$(pacman -Sw --noconfirm --config ${PACMANCONF} ${PACKAGES})" ]; then - echo "ABORTING: Something went wrong in package retrieving or md5sum check." - umount ${PACMANREPO} - exit 1 - fi - fi - # collect the packages - cd ${MAINCVSDIR} - for COPY in ${SEARCHCVS};do - if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then - source "${COPY}/PKGBUILD" - cp /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz ${TEMPDIR}/arch/pkg/ - echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz" >> ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - done - # generate packages.txt - sort -u ${TEMPDIR}/arch/pkg/setup/packages.txt -o ${TEMPDIR}/arch/pkg/setup/packages.txt - fi - SCRIPT= - BINARIES= - # always needed for every install - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -d ${CVSROOT_ARCH} co arch/scripts/{km,setup,quickinst} - cvs -d ${CVSROOT_ARCH} co arch/doc/en/guide/install/arch-install-guide.txt - cvs -d ${CVSROOT_ARCH} co arch/mirrors.txt - fi - # fix km script - KM=$(mktemp /tmp/km.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/scripts/km ${KM} - else - cp -f ${KMSCRIPT} ${KM} - fi - sed -i -e 's#$BASEDIR/keymaps/##g' ${KM} - chmod 755 ${KM} - mkdir -p ${TEMPDIR}/arch - add_file "${KM}" "/bin/km" - # fix mirrors.txt - if ! [ "${LOCALSETUP}" = "yes" ]; then - sed -i -e "s/i686/$(uname -m)/g" ${CVSTREE}/arch/mirrors.txt - add_file "${CVSTREE}/arch/scripts/setup" "/arch/setup" - add_file "${CVSTREE}/arch/scripts/quickinst" "/arch/quickinst" - add_file "${CVSTREE}/arch/mirrors.txt" "/arch/mirrors.txt" - else - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORS} - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - add_file "${MIRRORS}" "/arch/mirrors.txt" - fi - DOCS=$(mktemp /tmp/docs.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${DOCS} - else - cp -f ${DOCUMENTATION} ${DOCS} - fi - gzip -9 ${DOCS} - add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - if ! [ "${TEMPDIR}" = "" ]; then - cp ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt - cd ${TEMPDIR}/arch/pkg/setup/ - wget ${FTPSERVER}/$(uname -m)/setup/pacman.pkg.tar.gz - cd ${TEMPDIR}/arch/pkg/ - wget ${FTPSERVER}/$(uname -m)/current.db.tar.gz - fi - else - if ! [ "${TEMPDIR}" = "" ]; then - cp -f ${DOCUMENTATION} ${TEMPDIR}/arch/archdoc.txt - cp -f ${PACMANBINARY} ${TEMPDIR}/arch/pkg/setup/ - mv ${PACMANREPO}/current.db.tar.gz ${TEMPDIR}/arch/pkg/ - umount ${PACMANREPO} - fi - fi - - # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux CURRENT $(uname -m)" >> ${ISONAME} -} - -help () -{ -cat < - -install () -{ - MODULES=" $(checked_modules '/kernel/fs' | grep -v "nls") $(checked_modules '/kernel/fs/nls/nls_cp437') " - BINARIES="mkswap mkreiserfs reiserfsck reiserfstune resize_reiserfs mkfs.ext2 badblocks blkid dumpe2fs e2fsck e2image e2label findfs fsck logsave resize2fs tune2fs mkfs.ext3 mkfs.xfs mkntfs fsck.ext2 fsck.ext3 fsck.xfs xfs_repair xfs_check xfs_freeze xfs_io xfs_admin xfs_db mkdosfs dosfsck" - FILES="" - SCRIPT="arch-filesystems" -} - -help () -{ -cat<> ${ISONAME} + [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux Archboot FTP $(uname -m)" >> ${ISONAME} } help () diff --git a/install/arch_ftp_installppc b/install/arch_ftp_installppc deleted file mode 100644 index 453c88cfb..000000000 --- a/install/arch_ftp_installppc +++ /dev/null @@ -1,80 +0,0 @@ -# Created by Tobias Powalowski - -install () -{ - ### check for activated testing repository - if ! [ "$(grep '^\[testing\]' /etc/pacman.conf)" = "" ]; then - echo "WARNING: TESTING REPOSITORY ACTIVATED" - echo "-------------------------------------" - echo "POSSIBILITY OF BROKEN BINARY PACKAGES ON INSTALL MEDIA!" - echo "Use a chroot instead to avoid those problems." - echo "5 seconds time to cancel with CTRL+C" - sleep 5 - fi - ### begin cvs part - if ! [ "${LOCALSETUP}" = "yes" ]; then - CVSTREE=$(mktemp /tmp/archcvs.XXXX) - rm ${CVSTREE} - mkdir -p ${CVSTREE} - # checkout actual CURRENT cvs - export CVSROOT=${CVSSETUP} - export CVSROOT_ARCH=${CVSARCH} - else - CVSTREE=${CVSTREE} - fi - SCRIPT= - BINARIES= - # always needed for every install - cd ${CVSTREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - cvs -d ${CVSROOT_ARCH} -coo arch/scripts/{km,setup,quickinst} - cvs -d ${CVSROOT_ARCH} co arch/doc/en/guide/install/arch-install-guide.txt - cvs -d ${CVSROOT_ARCH} co arch/mirrors.txt - fi - # fix km script - KM=$(mktemp /tmp/km.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/scripts/km ${KM} - else - cp -f ${KMSCRIPT} ${KM} - fi - sed -i -e 's#$BASEDIR/keymaps/##g' ${KM} - chmod 755 ${KM} - mkdir -p ${TEMPDIR}/arch - add_file "${KM}" "/bin/km" - # fix mirrors.txt - if ! [ "${LOCALSETUP}" = "yes" ]; then - sed -i -e "s/i686/$(uname -m)/g" ${CVSTREE}/arch/mirrors.txt - add_file "${CVSTREE}/arch/scripts/setup" "/arch/setup" - add_file "${CVSTREE}/arch/scripts/quickinst" "/arch/quickinst" - add_file "${CVSTREE}/arch/mirrors.txt" "/arch/mirrors.txt" - else - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORS} - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - add_file "${MIRRORS}" "/arch/mirrors.txt" - fi - DOCS=$(mktemp /tmp/docs.XXXX) - if ! [ "${LOCALSETUP}" = "yes" ]; then - cp -f ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${DOCS} - else - cp -f ${DOCUMENTATION} ${DOCS} - fi - gzip -9 ${DOCS} - add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - ! [ "${TEMPDIR}" = "" ] && cp ${CVSTREE}/arch/doc/en/guide/install/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt - else - ! [ "${TEMPDIR}" = "" ] && cp -f ${DOCUMENTATION} ${TEMPDIR}/arch/archdoc.txt - fi - # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux FTP $(uname -m)" >> ${ISONAME} -} - -help () -{ -cat < + +install () +{ + MODULES="" + BINARIES="" + FILES="" + SCRIPT="" + ! [ -d "${TEMPDIR}/arch/" ] && mkdir -p ${TEMPDIR}/arch/ + add_file "/etc/archboot/installer/setup" "/arch/setup" + add_file "/etc/archboot/installer/quickinst" "/arch/quickinst" + DOCS=$(mktemp /tmp/docs.XXXX) + cp -f /etc/archboot/installer/arch-install-guide.txt ${DOCS} + gzip -9 ${DOCS} + add_file "${DOCS}.gz" "/arch/archdoc.txt.gz" + add_dir "/src" + cp /etc/archboot/installer/arch-install-guide.txt ${TEMPDIR}/arch/archdoc.txt +} + +help () +{ +cat<> ${OPTIONSBOOTMESSAGE} - echo " In order to use those drivers you have to agree to intel's licenses" >> ${OPTIONSBOOTMESSAGE} - echo " and append intel-wireless to boot prompt." >> ${OPTIONSBOOTMESSAGE} - echo " License files for the drivers are located here:" >> ${OPTIONSBOOTMESSAGE} - echo " /usr/share/licenses/iwlwifi-4965-ucode/LICENSE" >> ${OPTIONSBOOTMESSAGE} - echo " /usr/share/licenses/iwlwifi-3945-ucode/LICENSE" >> ${OPTIONSBOOTMESSAGE} - echo " /lib/firmware/LICENSE.ipw2200-fw" >> ${OPTIONSBOOTMESSAGE} - echo " /lib/firmware/LICENSE.ipw2100-fw" >> ${OPTIONSBOOTMESSAGE} - echo " By appending intel-wireless to boot prompt you accept those licenses!" >> ${OPTIONSBOOTMESSAGE} + echo " In order to use those drivers, you have to agree to the firmware licenses" >> ${OPTIONSBOOTMESSAGE} + echo " by appending intel-wireless to boot prompt." >> ${OPTIONSBOOTMESSAGE} } help () diff --git a/install/arch_keymap b/install/arch_keymap index 375532c1e..f79bca1ab 100644 --- a/install/arch_keymap +++ b/install/arch_keymap @@ -6,7 +6,6 @@ install () BINARIES="" FILES="" SCRIPT="" - KEYMAP_FILE="$(mktemp /tmp/keymap.XXXXXX)" add_file /usr/bin/loadkeys /bin/loadkeys add_file /usr/bin/dumpkeys /bin/dumpkeys add_file /usr/bin/kbd_mode /bin/kdb_mode @@ -14,6 +13,7 @@ install () for i in $(find /usr/share/kbd/ ! -type d ! -name "mac*" ! -name "ppc" ! -name "ppc" ! -name "atari*" ! -name "sun*" ! -name "README*" ! -name "amiga*"); do add_file $i done + add_file /etc/archboot/keymap/km /usr/bin/km } help () diff --git a/install/arch_keymap_ppc b/install/arch_keymap_ppc deleted file mode 100644 index 78003c5e1..000000000 --- a/install/arch_keymap_ppc +++ /dev/null @@ -1,24 +0,0 @@ -# Created by Tobias Powalowski - -install () -{ - MODULES="" - BINARIES="" - FILES="" - SCRIPT="" - KEYMAP_FILE="$(mktemp /tmp/keymap.XXXXXX)" - add_file /bin/loadkeys /bin/loadkeys - add_file /usr/bin/dumpkeys /bin/dumpkeys - add_file /usr/bin/kbd_mode /bin/kdb_mode - add_file /usr/bin/setfont /bin/setfont - for i in $(find /usr/share/kbd/ ! -type d -name "atari*" ! -name "sun*" ! -name "README*" ! -name "amiga*"); do - add_file $i - done -} - -help () -{ -cat<> ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt + repo-add ${TEMPDIR}/core-$(uname -m)/pkg/core.db.tar.gz /var/cache/pacman/pkg/${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.gz + fi + done + # generate packages.txt + sort -u ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt -o ${TEMPDIR}/core-$(uname -m)/pkg/packages.txt SCRIPT= BINARIES= - # always needed for every install - cd ${GIT_INSTALLER_TREE} - if ! [ "${LOCALSETUP}" = "yes" ]; then - git-clone ${GIT_INSTALLER} - fi - mkdir -p ${TEMPDIR}/arch - add_dir "/src" - if ! [ "${LOCALSETUP}" = "yes" ]; then - add_file "${GIT_INSTALLER_TREE}/installer/setup" "/arch/setup" - add_file "${GIT_INSTALLER_TREE}/installer/quickinst" "/arch/quickinst" - else - sed -i -e "s/i686/$(uname -m)/g" ${MIRRORS} - add_file "${SETUP}" "/arch/setup" - add_file "${QUICKINST}" "/arch/quickinst" - fi + # generate iso title name - [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux MINI $(uname -m)" >> ${ISONAME} + [ "${RUNPROGRAM}" = "mkbootcd" -o "${RUNPROGRAM}" = "mkbootcd-grub" ] && echo "Arch Linux Archboot CORE lowmem $(uname -m)" >> ${ISONAME} } help () diff --git a/install/arch_motd b/install/arch_motd index 16f92b735..1fc6afc60 100644 --- a/install/arch_motd +++ b/install/arch_motd @@ -4,18 +4,20 @@ install () { ### generate motd MOTD=$(mktemp /tmp/motd.XXXX) - echo "Virtual consoles 1-4 are active." >> ${MOTD} + echo "Virtual consoles 1-6 are active." >> ${MOTD} echo "--------------------------------" >> ${MOTD} - echo "To change virtual console use ALT + F(1-5 or 12)" >> ${MOTD} + echo "To change virtual console use ALT + F(1-7 or 12)" >> ${MOTD} echo "" >> ${MOTD} echo "Logging:" >> ${MOTD} - echo " - vc5 is used for setup logging." >> ${MOTD} + echo " - vc7 is used for setup logging." >> ${MOTD} echo " - vc12 is used for kernel logging." >> ${MOTD} echo "Documentation:" >> ${MOTD} echo " - Documentation can be read by executing:" >> ${MOTD} echo " zcat /arch/archdoc.txt.gz | less" >> ${MOTD} echo "Keymap:" >> ${MOTD} echo " - To change to a non-US keymap, type 'km' at the console." >> ${MOTD} + echo "Timesetting:" >> ${MOTD} + echo " - To change your clock, type 'tz' at the console." >> ${MOTD} if [ "${RUNPROGRAM}" = "mksyslinux" ]; then echo "Installation Hints:" >> ${MOTD} echo " - If you don't use 'FTP INSTALL', mount your install source under '/src/'" >> ${MOTD} diff --git a/install/arch_motd_lowmem b/install/arch_motd_lowmem index 469a34079..c9977b0dc 100644 --- a/install/arch_motd_lowmem +++ b/install/arch_motd_lowmem @@ -4,16 +4,16 @@ install () { ### generate motd MOTD=$(mktemp /tmp/motd.XXXX) - echo "Virtual consoles 1-4 are active." >> ${MOTD} + echo "Virtual consoles 1-6 are active." >> ${MOTD} echo "--------------------------------" >> ${MOTD} - echo "To change virtual console use ALT + F(1-5 or 12)" >> ${MOTD} + echo "To change virtual console use ALT + F(1-7 or 12)" >> ${MOTD} echo "" >> ${MOTD} echo "Logging:" >> ${MOTD} - echo " - vc5 is used for setup logging." >> ${MOTD} + echo " - vc7 is used for setup logging." >> ${MOTD} echo " - vc12 is used for kernel logging." >> ${MOTD} if [ "${RUNPROGRAM}" = "mksyslinux" ]; then echo "Installation Hints:" >> ${MOTD} - echo " - If you don't use 'FTP INSTALL', mount your install source under '/src/'" >> ${MOTD} + echo " - Mount your install source under '/src/'" >> ${MOTD} echo " choose --> 'CD INSTALL' and on menu 'Select Packages' --> choose 'SRC'." >> ${MOTD} echo " - If you booted from an USB-DEVICE, it's possible that you need to unplug" >> ${MOTD} echo " and replug your device to get the correct node in /dev/." >> ${MOTD} diff --git a/install/arch_net b/install/arch_net index 675bdae6f..d7e657d02 100644 --- a/install/arch_net +++ b/install/arch_net @@ -14,6 +14,11 @@ install () add_file "/etc/archboot/net/etc/conf.d/dhcpcd" "/etc/conf.d/dhcpcd" add_file "/etc/archboot/net/etc/conf.d/bonding" "/etc/conf.d/bonding" add_file "/etc/archboot/net/etc/conf.d/bridges" "/etc/conf.d/bridges" + for i in $(find /usr/lib/dhcpcd -type f); do + add_file "$i" + done + add_file "/etc/archboot/net/etc/dhcpcd.conf" "/etc/dhcpcd.conf" + add_dir "/var/lib/dhcpcd" } help () diff --git a/install/arch_netcfg b/install/arch_netcfg index 4a111363d..19dea1f3e 100644 --- a/install/arch_netcfg +++ b/install/arch_netcfg @@ -19,6 +19,7 @@ install () done add_file "/etc/rc.d/net-profiles" add_file "/etc/rc.d/net-rename" + add_file "/etc/rc.d/net-auto" add_file "/etc/archboot/netcfg/etc/iftab" "/etc/iftab" } diff --git a/install/arch_pacman b/install/arch_pacman index f78d1badd..d22a128dc 100644 --- a/install/arch_pacman +++ b/install/arch_pacman @@ -7,19 +7,19 @@ install () FILES="" SCRIPT="arch_pacman" -DEPENDS="initscripts cvs wget bash coreutils cryptsetup dialog \ +DEPENDS="initscripts wget bash coreutils cryptsetup dialog \ e2fsprogs findutils gawk grep iputils jfsutils less lvm2 mdadm module-init-tools nano \ ncurses net-tools gnu-netcat ntfsprogs pcmciautils procps psmisc reiserfsprogs sed snarf \ syslog-ng sysvinit tar util-linux-ng which wireless_tools xfsprogs dnsutils hdparm memtest86+ \ grub netkit-telnet openssh hwdetect portmap shadow bridge-utils ifenslave cpufrequtils links tcp_wrappers \ dosfstools udev initscripts filesystem kernel26 glibc kernel-headers xinetd naim links pacman screen kbd pam \ dhcpcd bzip2 gcc-libs openssl zlib libelf gpm sysfsutils libgcrypt libgpg-error popt kexec-tools ppp libpcap \ -rp-pppoe lilo grub iptables capi4k-utils ntfs-3g isdn4k-utils pciutils usbutils vpnc openvpn bcm43xx-fwcutter \ +rp-pppoe lilo grub iptables capi4k-utils ntfs-3g isdn4k-utils pciutils usbutils vpnc openvpn b43-fwcutter \ wpa_supplicant gzip rsync libarchive libdownload device-mapper cracklib nfs-utils nfsidmap readline acl attr \ pcre cpio archboot fuse klibc libusb vi lzo2 libsasl libldap libevent gpm sdparm pptpclient licenses \ -madwifi madwifi-utils rt2x00-rt61-fw rt2x00-rt71w-fw ndiswrapper ndiswrapper-utils \ -zd1211-firmware wlan-ng26-utils wlan-ng26 ipw2100-fw ipw2200-fw iwlwifi-3945-ucode iwlwifi-4965-ucode smbclient \ -tiacx tiacx-firmware dmraid linux-atm netcfg tiacx tiacx-firmware parted atl2" +madwifi madwifi-utils rt2x00-rt61-fw rt2x00-rt71w-fw rt2500 ndiswrapper ndiswrapper-utils \ +zd1211-firmware wlan-ng26-utils wlan-ng26 ipw2100-fw ipw2200-fw iwlwifi-3945-ucode iwlwifi-4965-ucode iwlwifi-5000-ucode \ +smbclient tdb tiacx tiacx-firmware dmraid linux-atm netcfg tiacx tiacx-firmware parted atl2 tzdata ntp" for i in $DEPENDS; do for k in $(echo /var/lib/pacman/local/$i-[0-9]*-[0-9]*); do diff --git a/install/arch_pcmcia b/install/arch_pcmcia index 00434f2ac..ff3e29fa4 100644 --- a/install/arch_pcmcia +++ b/install/arch_pcmcia @@ -4,9 +4,6 @@ install () { MODULES=" $(checked_modules "/pcmcia/" | grep -ve "sound" -e "net") $(checked_modules "/ide/legacy")" MODULES=$(echo ${MODULES}) #trim whitespace - if [ "x${MODULES}" != "x" ]; then - MODULES="${MODULES} sd_mod sr_mod ide-disk ide-cd" - fi BINARIES="pcmcia-socket-startup pcmcia-check-broken-cis" FILES="" SCRIPT="" diff --git a/install/arch_tiacx_wireless b/install/arch_tiacx_wireless index e691baad6..fb3f04d7d 100644 --- a/install/arch_tiacx_wireless +++ b/install/arch_tiacx_wireless @@ -12,9 +12,8 @@ install () add_file $i done echo "- ARCH_TIACX_WIRELESS USAGE:" >> ${OPTIONSBOOTMESSAGE} - echo " The firmware files for ACX100/111 devices are installed in" >> ${OPTIONSBOOTMESSAGE} - echo " /usr/share/tiacx. Please identify the correct file(s) for your" >> ${OPTIONSBOOTMESSAGE} - echo " device and copy them to /lib/firmware." >> ${OPTIONSBOOTMESSAGE} + echo " Please identify the correct file(s) for your device in /usr/share/tiacx" >> ${OPTIONSBOOTMESSAGE} + echo " and copy them to /lib/firmware and reload your kernel module." >> ${OPTIONSBOOTMESSAGE} echo " See http://acx100.sourceforge.net/wiki/Firmware for details." >> ${OPTIONSBOOTMESSAGE} } diff --git a/install/arch_tz b/install/arch_tz new file mode 100644 index 000000000..65c30fa5a --- /dev/null +++ b/install/arch_tz @@ -0,0 +1,20 @@ +# Created by Tobias Powalowski + +install () +{ + MODULES="" + BINARIES="hwclock date ntpdate" + FILES="" + SCRIPT="" + for i in $(find /usr/share/zoneinfo ! -type d); do + add_file $i + done + add_file /etc/archboot/tz/tz /usr/bin/tz +} + +help () +{ +cat< - -install () -{ - MODULES="" - BINARIES="yaboot" - FILES="" - SCRIPT="" - add_file "/etc/archboot/etc/yaboot/yaboot.conf" "/etc/yaboot.conf" -} - -help () -{ -cat< + Tobias Powalowski + Judd Vinet + +Summary + + This is the general user documentation for the Arch Linux distribution. + It covers obtaining the necessary files, installing the distribution and + setting up a basic, bootable system. Additionally a short reference for + the system layout and Arch-specific tools is supplied. + +Table Of Contents + + 1. Introduction + 1. What is Arch Linux? + 2. License + 3. Credits and Feedback + 2. Installing Arch Linux + 1. Pre-Installation + 2. Using CD-ROMs + 3. Common Installation Procedure + 3. System Configuration + 1. Configuration Files + 2. Boot Scripts + 3. User Management + 4. Internet Access + 4. Package Management + 1. Pacman + 2. Accessing Repositories + 5. Arch Build System (ABS) + 1. Binary vs. Source + 2. Synchronizing Your ABS Tree + 3. How To Build Packages + 4. Package Guidelines + 6. Frequently Asked Questions + 1. During package installation, pacman fails to resolve + dependencies for package A because package B is not in the + package set + 2. How can I install packages from the install CD with pacman + --sync (so it resolves dependencies for me)? + 3. How can I create multiple swap partitions during the install? + 4. How do I reconfigure LILO from the rescue system? + 5. How do i reconfigure GRUB from the rescue system? + 6. I can't ssh into my machine! + 7. How should I load modules during boot now? + 8. Kernel refuses to boot because of "lost interrupt" + 9. I get "access denied" errors trying to play sound or read + DVDs + +Introduction + + What is Arch Linux? + + Arch Linux is an i686-optimized Linux distribution that was originally + based on ideas from CRUX, a great distribution developed by Per Lid�n. + + Arch is fast, lightweight, flexible and simple. Those aren't very + fancy buzzwords but they're all true. Arch is optimized for the i686 + processor, so you get more for your CPU cycle. It's lightweight + compared to RedHat et al., and its simple design makes it easy to + extend and mold into whatever kind of system you're building. + + This is backed by an easy-to-use binary package system that allows you + to upgrade your entire system with one command. Arch also uses a + ports-like package build system (the Arch Build System - ABS) to make + it easy to build packages, which can also be synchronized with one + command. Oh yeah, and you can rebuild your entire system with one + command, too. Everything is done quite simply and transparently. + + Arch Linux strives to maintain the latest stable version of its + software. We currently support a fairly streamlined core package set + with a growing collection of extra packages maintained by AL + developers, as well as literally thousands of additional packages + submitted by trusted members of the community to our AUR for everyone + to use as they see fit. + + In it's goal to be simple and lightweight, the relatively useless + portions of a Linux system have been left out, things like /usr/doc + and the info pages. In my own personal experience these are rarely + used, and equivalent information can be obtained from the net if need + be. Manpages all the way! + + Arch Linux also strives to use some of the newer features that are + available to Linux users. All the typical filesystems, raid, lvm, and + encrypted partitions are supported. + + License + + 2002-2007 Judd Vinet + 2007-2008 Aaron Griffin + and are licensed under the GNU General Public License (GPL). + + Credits and Feedback + + This document is heavily based on the works of Judd Vinet. Minor + corrections and a good bunch of modifications and additions have + been made by Dennis Herbrich and Tobias Powalowski. Corrections and + feedback should be fed into the bug tracker. An uncountable lot of + people have contributed and will contribute to the evolution of the + official Arch Linux Documentation by submitting corrections and + suggesting improvement, it's way too unpractical to list them all. + However, you know who you are, and without your help this would be + near impossible to maintain and improve. Thank you! + +Installing Arch Linux + + Pre-Installation + + Arch Linux is optimized for the i686 processor and therefore will not + run on any lower or incompatible generations of x86 CPUs (i386,i486,i586). + A Pentium II or AMD K6-2 processor or higher is required. x86-64 + architectures are also officially supported. + + Before installing Arch Linux, you should decide which installation + method and medium you would like to use. You should also read through this + installation guide in its entirety, so you have some idea of what to + expect. + + Arch Linux provides bootable ISO and USB disk images. The ISO images will + work on almost any machine with a CD-ROM drive, and the USB images will + work on any system capable of booting from a USB drive. + + There are two variants of each installation medium which only differ in + terms of supplied packages. You can instruct the installer to obtain the + packages via FTP using either of these images, and all images can also be + used as fully functioning recovery environments. + * The "core" images contain a snapshot of the core packages. These + images are best suited for people who have an Internet connection + which is slow or difficult to set up. + * The "ftp" images contain no packages at all, and will use the network + to install packages. These images are preferred since you will end + up with an up-to-date system, but they are best suited for people + with fast, cheap connections. + + Furthermore you should not worry about using an old ISO for + installation, as upgrading the system to the current branch is a + breeze once you've got your basic system set up. At least if you've + got a broadband connection! + + Using a dialup PPP connection to gain access to the Internet during + the install process is supported. ppp utilities, rp-pppoe and the ISDN + userspace utilities are included on the installation media. + + The ISOs run like any regular installed Arch system. In fact, they're + exactly the same, just installed to a CD or USB image instead of a hard + disk. They include the entire "base" package set, as well as various + networking utilities and drivers. If there's something else you happen + to need at runtime, just get your Internet connection up and install it + using pacman. + + The most common (and recommended) installation procedure is to use the + install media to initially install only the base package set and whatever + utilities and drivers you need to get online. Then once you've successfully + booted the installed system, run a full system upgrade and install any + other packages you want. + + Another thing you should know before trying to install Arch Linux is + that during the install you're asked a few questions about which hard + drive to prepare, what modules to load, and what changes to make to + certain system-critical files like lilo.conf and rc.conf. The + installer will not hold your hand here and guide you through any + potential setup known and unknown to mankind, you are expected to know + what to put in and leave out. This is quite a requirement for a + newbie, so if this intimidates you already, make sure you read through + this whole document to get at least a vague idea what is going to be + asked, and check back on IRC, the forums or a Linux guru in your + neighborhood if anything is not clear to you before you totally mess + up your system. You may of course boldly step into the fight and + tinker and try around until it works, but don't tell anyone afterwards + you haven't been warned. That being said, it's not that bad. ;) + + What You Will Need + + * a working knowledge of Linux and your system, especially your + hardware + * Arch Linux installation media (see the mirror list) + + Arch Linux Install CD + * Arch Linux installation media + * an i686-based or x86-64 computer (PPro, Pentium 2 or higher, + Athlon/Duron, etc. Note that AMD K6, Transmeta Crusoe, CyrixIII, and + VIA-C3 are NOT supported.) + * some time to kill + + Acquiring Arch Linux + + * You can download Arch Linux from any of the sources listed on the + download page, http://archlinux.org/download/ + * You may also purchase an installation CD from OSDisc and have it + shipped anywhere in the world. + + Preparing Installation Media + + CD-ROM + + 1. Download iso///Archlinux-XXX.iso + 2. Download iso///md5sum.txt + 3. Verify the integrity of the .iso image using md5sum: + md5sum --check md5sum.txt + Archlinux-XXX.iso: OK + 4. Burn the ISO image to a CD-R or CD-RW using any software of your + choice. + + USB + + 1. Download iso///Archlinux-XXX.img + 2. Download iso///md5sum.txt + 3. Verify the integrity of the .img image using md5sum: + md5sum --check md5sum.txt + Archlinux-XXX.img: OK + 4. Write the disk image to a USB mass storage device, such as a thumb + drive, using dd or similar raw-write software: + dd if=Archlinux-XXX.img of=/dev/your_usb_device + + Booting the Install Media + If you're already familiar with the boot process, you may skip all this + babble as well, and jump to the Common Install Procedure, which outlines + the actual process of installing Arch Linux. + + Reboot your computer with the Arch Linux Installation CD in the drive. + Make sure your BIOS is set in a way to allow booting from your CD-ROM or + USB device. Refer to your motherboard manual or your system manufacturer + for details if you have no clue how to do that. + Once the CD or USB is booted from, you will see a boot prompt waiting for + you pressing a key or wait 30 seconds, explaining what your options are at + this point. Most users can just hit Enter. + + If your CD-ROM fails to boot for no obvious reason, and you're using a + rather old CD-ROM drive in conjunction with a copy burned to a CD-RW, + consider using a normal CD-R instead. Some older drives [two of mine, + for example] don't manage to read CD-RWs properly. + An other option would be, that your system doesn't have enough RAM installed. + (You need at least 160 MB RAM! or use the lowmem boot image.) + + At the end of the boot procedure, you should be dropped into a root + shell with a handful of instructions filling the upper half of your + screen. At this point you are ready to commence the actual + installation, or do any manual preparation you consider necessary. + + Common Installation Procedure + + At this point your system should be booted, and the hard drive to + which you'd like to install, as well as your installation source, must + be accessible. + + Installation Steps: + + 1. Loading a non-US Keymap + 2. Running Setup + 3. Configure Network (FTP Install only) + 4. Prepare Hard Drive + 1. Auto-Prepare + 2. Partition Hard Drives + 3. Set Filesystem Mountpoints + 5. Select Packages + 6. Install Packages + 7. Configure System + 8. Install Kernel + 9. Install Bootloader + 10. Exit Install + + Using the available shell tools, experienced users are also able to + prepare the hard drive or any devices needed for the installation + before starting the installer. You may simply skip this paragraph if + you don't see any immediate need for further manual interaction. Note + that the Arch Linux installation media also contains a /arch/quickinst + script for experienced users. This script installs the "base" set of + packages to a user-specified destination directory. If you are doing + an exotic install with fun things like RAID and LVM, or don't want to + use the installer at all, you'll probably want to use the quickinst + script. All the cool kids do it, but you'll need to configure the + system afterwards since no form of auto-configuration takes place. + + Loading a non-US Keymap + + If you require a non-US keymap, you can use the km utility to load a + new keymap. Just type km at the prompt, then use the arrow keys to + navigate to the correct keymap and/or console font. + (this is not available on a lowmem boot image.) + + Running Setup + + Now you can run /arch/setup to invoke the installer program. After an + informational message you will be prompted for the installation method + of your choice. If you have a fast Internet connection, you might + prefer the FTP installation to ensure you get the latest packages + instead of using the potentially outdated CD contents. Please note + that you will probably run into trouble if you have a complex proxy + setup with authentication when using the FTP installation. If you + can't use a CD-ROM, or any other medium you could mount at this stage, + this is the only viable method of installing Arch Linux. + + When navigating the setup script, make sure that you select DONE from + the submenus after performing each step. This saves any settings you + make in preparation for the next step. Further, avoid arbitrary steps + through the installation process as this can also confuse the + installer. + + It's actually rather easy to set up your own FTP package mirror or + create your own bootable installation CD with the packages you need, + making the task of installing several instances of Arch Linux across + multiple machines rather simple, while at the same time saving a lot + of mirror bandwidth. Make your life and ours easier, and look into + these alternatives! + + When choosing a CD-ROM or OTHER SOURCE install you will only be able + to install packages contained on the CD, which may be quite old, or + packages stored on a medium you were able to mount (DVD, USB stick or + similar) somewhere in the filesystem tree manually. Of course it has + the merit that you won't need an Internet connection, and is therefore + the recommended choice for dialup users or anyone else who does not + feel like downloading about at least 100 MB of packages. + + After choosing one of the two alternatives, you will be presented with + the installer menu, listing the necessary steps in the order in which + they should be completed. + + At any point in the install process, you can switch to your 5th + virtual console (ALT-F5) to view the output from the commands the + setup is running. Use (ALT-F1) to get back to your first console where + the installer is running, and any F-key in between if you need to open + another console to intervene manually for any reason. + + Configure Network (FTP Install only) + + Configure Network will allow you to install and configure your network + device. + Note: + Wireless drivers are available in install environment, but you have to + configure those devices with the standard Linux tools by hand. + For intel wireless drivers you need to boot with intel-wireless boot + parameter, this includes that you accept the according intel licenses. + You can skip configure network then and go straight ahead to preparing + harddrive. + + A list of all currently available network devices is presented to you. + If no ethernet device is available yet, or the one you wish to use is + missing, either hit OK and go on to probe for it, or switch to another + console and load the module manually. + + If you still can't configure your network card, make sure it's physically + been properly installed, and that it is supported by the Linux kernel. + + When the correct module is loaded, and your desired network card is + listed, you should Select the ethernet device you want to configure + and you will be given the option to configure your network with DHCP. + If your network uses DHCP, hit YES and let the installer do the rest. + If you select NO, you will be asked to enter the networking information + manually. Either way, your network should be successfully configured, + and if you're of the skeptical kind, you may check connectivity using + standard tools like ping on another console. + + As automatisms are not perfect, you may not be able to successfully + use the installer to set up your network. In these rare cases, don't + bother, and set up you network device manually in one of the consoles. + All the installer needs is a transparent connection to the FTP server + you are going to select later during the installation. + + This menu entry is only available when choosing FTP Installation, for + rather obvious reasons. + + Prepare Hard Drive + + Prepare Hard Drive will lead you into a submenu offering two + alternatives of preparing your target drive for installation. + + The first choice is Auto-Prepare, which will automatically partition + your hard drive into a /boot, swap, and root partition, and then + create filesystems on all three. These partitions will also be + automatically mounted in the proper place. To be exact, this option + will create: + * 32 MB ext2 /boot partition + * 256 MB swap partition + * root and /home partition with the remaining space + + Actual sizes may vary slightly due to different hard disk geometries. + You can choose this option if you don't know much about hard drive + partitions, but be warned: + + AUTO-PREPARE WILL ERASE ALL DATA ON THE CHOSEN HARD DRIVE! + Read the warning presented by the installer very carefully, and make + sure the correct device is about to be partitioned! + + A way to verify your choice for a device to partition would be to open + another terminal (ALT-F2, Enter) and enter + # cfdisk -P s + + there to display the current partition table of the selected device, + which should suffice to identify the hard disk. + + If no device name is shown ("[nothing] will be COMPLETELY ERASED! + ..."), and the installer produces an "Device not valid" error after + hitting YES, make sure you loaded all needed modules if it's a SCSI, + RAID, etc. device. You can still load any modules now by changing to + another terminal and issuing the commands there, then return to the + installer process on terminal one (ALT-F1). + + If you prefer to do the partitioning manually, use the other two + options, Partition Hard Drives and Set Filesystem Mountpoints to + prepare the target media according to your specifications as outlined + below. Then Return to Main Menu after a successful preparation. + + Partition Hard Drives + + Partition Hard Drives should be skipped if you chose Auto-Prepare + already! + + Otherwise you should select the disk(s) you want to partition, and + you'll be dropped into the cfdisk program where you can freely modify + the partitioning information until you [Write] and [Quit]. + + You will need at least a root partition to continue the installation, + and it's helpful to note somewhere which partition you're going to + mount where, as you'll be asked exactly that in the next step. + + Set Filesystem Mountpoints + + Set Filesystem Mountpoints should also be skipped if you chose to + Auto-Prepare your hard drive. You should select this choice once the + partition information is edited to your liking with the previous menu + selection, or already existent through whatever other means. + + The first question to answer is what partition to use as swap. Select + the previously created swap partition from the list, or NONE, if you + don't want to use a swap partition. Using a swap file is not directly + supported by the installer; Instead choose NONE here, finish the + mountpoint associations, and activate a swap file on your desired, + formatted partition with the swapon command. + + After setting up the swap partition, you'll be asked to specify the + partition to be used as the root partition. This is mandatory. + + The association process is then repeated until you choose DONE from + the list, ideally after all listed partitions have been associated + with their intended mountpoints. The installer will suggest /boot for + all following mountpoints after choosing swap and root. + + Every time you specify a partition to mount, you will be asked if you + want to create a filesystem on the respective partition. If you select + YES, you will be asked what filesystem to create (a matter of taste, + really. Choose ext3 if you have no clue), and the partition will be + formatted with the chosen filesystem, destroying all data in the + process. It should be no problem, however, to say NO at this point to + preserve any existing files on the partition. + + If you want to preserve existing data on a partition, you are strongly + advised to create backups instead of hoping that nothing will go wrong + during the install. Don't say I didn't warn you! + + You will be asked whether to create a filesystem on your swap + partition, and since this partition uses a specific filesystem of it's + own, you should always answer YES here. + + If you want to mount any other partitions, for example a separate + /boot or /home partition, you will be able to do so. Simply + * select a partition to mount + * choose a filesystem (if you want to create one instead of keeping + the data) + * enter a unique mountpoint for the partition + + Repeat these steps until you're satisfied, then select DONE to create + any filesystems and mount the partitions in their respective places. + Before the actual formatting is done, the installer will present a list + of all of your choices for review. After formatting and mounting all + partitions, you may return to the Main Menu and proceed with the next step. + + Select Packages + + Select Packages will let you select the packages you wish to install + from the CD or your FTP mirror. + + If you chose CD-ROM installation, you have to tell the installer + whether it should try to mount the CD itself, or whether you already + mounted the source media on the /src directory. Select the option + according to what you need; Normally you will want to choose CD, after + which you will be given the possibility to choose a CD-ROM drive from + the list of all detected devices. + + If your CD-ROM drive is not displayed in the list, make sure you + loaded any modules that may be needed, like SCSI or USB storage + support, and load them in another terminal if necessary. + + If you chose FTP Installation, you will be asked to choose a mirror + close to you from a list, or select Custom to enter your own fully + qualified domain name (or IP address) to an FTP server containing the + installation source packages, ie. a prepared server in your LAN, or a + mirror that's not listed for whatever reason, and afterwards the full + path to the directory on the server that contains the packages and + specifically the file core.db.tar.gz. The installer will check your + input for validity, and allow you to make corrections until you enter + an address and path that are reachable and allow downloading of the + package list. + + Whatever source you chose, after fetching the package list you'll be + dropped into the package category selection screen. + + If you are presented an error while fetching the package database, you + should either choose another FTP mirror, make sure your network is + working at all, and you didn't slip any typos into your custom server + address. You might also have goofed mounting of your source media in + the /src directory, if you chose that option. Read the messages + presented to you carefully, in most cases all you need is a little + tweaking of the directory layout on your source media or server, + respectively. + + Now, once that is tackled, you have the opportunity to specify whole + package groups from which you'd generally like to install packages, + then fine-tune your coarse selection by (de)selecting individual + packages from the groups you have chosen. + + Any packages in the BASE category should stay selected under all + circumstances, and you should select any other group which contains a + package you might need. Please note that the upcoming individual + package selection screen will only offer packages which are in the + categories you select here, so if you only select BASE, you won't be + able to add any other packages than those in the BASE category. + + If you want to only select the bare minimum for installation, but be + able to browse through all available packages nevertheless to see if + anything interesting is there to add, you should select all package + categories, but choose to NOT select all packages by default. + + The "Select all packages by default?" question can be easily + misunderstood; Basically you are asked whether you want all the + packages in the categories you just chose to be selected or not. + If you select YES, the whole list of packages contained in the chosen + categories will be displayed and selected, and your job will be to + deselect what you do not want. + If you select NO, the same list of packages will displayed, but only + packages of the BASE category will be selected, and you'll have to + explicitly select any other packages you want to install. + + Choosing NO helps to install a lean system! + + It is recommended that you install all the BASE packages, but not + anything else at this point. Don't worry about getting all the + packages you want - you can easily install more of them once the basic + system boots by itself. The only exception to this rule is installing + any packages you need for setting up Internet connectivity. These + packages usually are: + + dhcpcd (base) + Add if your machine is a DHCP client. + + isdn4k-utils (support) + Add if you use ISDN for dialup. + + ppp (support) + Add if you use an analog modem for dialup. + + rp-pppoe (support) + Add if you use DSL for pseudo-dialup. + + Other packages from support category. + + Once you're done selecting the packages you need, leave the selection + screen and continue to the next step, Install Packages. + + Install Packages + + Install Packages will now install pacman and any other packages you + selected with resolved dependencies onto your hard disk. Don't be + surprised if more packages are installed than you selected! Those + packages are dependencies for your selection, and the installer will + not explicitly ask for permission to install these extra packages, as + it assumes you know what you're doing. + + After the package selection, the installer will not check for free + space on the target! This seemingly trivial task would eat up + considerable time, and therefore the installer simply assumes to have + enough free space on the target partition(s). In case it doesn't, the + installation will fail in various funny ways. A df -h in another + terminal might show that one or more of the targets mounted below + /tmp/install have been filled up, causing mischief. Consider repartitioning + or selecting a smaller set of packages. + + Error messages and debugging output is echoed as usual to terminal + five (ALT-F5). During normal, successful operation, you shouldn't find + much to read there, though. After the packages have been installed, + proceed to the next step, Configure System. + + Please note that this release of Arch Linux only offers one kernel to + install, as flexibility has now been put into the initramfs created by + the mkinitcpio tool. + + The CD-ROM includes the latest kernel at the time the image was made. + If you are using the FTP Installation method, the kernel about to be + installed will be the current version waiting on your FTP source, + and might therefore introduce changes and/or incompatibilities unknown + at the present time. This is unlikely, but keep this in mind. + + Configure System + + Configure System allows you to edit the configuration files crucial + for your newly installed system. Initially you will be asked whether + to allow the hwdetect script to try and detect your hardware, and + produce some (even more) sensible defaults for your configuration + files. Unless you're having problems/crashes, you should let it have + it's way, and work from what it generates. + + Answer the following questions about RAID, LVM and encrypted volumes + with Yes, if your root partition resides on a RAID, LVM or encrypted + volume, respectively, to automatically add the necessary HOOKS to the + mkinitcpio.conf. Otherwise you will get a kernel panic during boot, as + your root partition will not be accessible at the time of boot. Most + people will answer these questions with No, though, and not waste a + second thought about it. + + After this automatic preconfiguration you'll be asked for your + favorite editor to use for manually fine-tuning the generated + configuration files, either VIM or nano. When in doubt, choose nano. + + If you're in a real hurry, you may skip the following step of + reviewing the configuration entirely and hope the defaults will work + for you, but it's strongly recommended to iterate through the list of + configuration files presented here and review the settings carefully. + Please refer to the System Configuration section for detailed + descriptions of the various files. + + Install Bootloader + + Install Bootloader will install a bootloader on your hard drive, + either GRUB (recommended) or LILO, depending on your personal + preference. + + Before installing the bootloader, the setup script will want you to + examine the appropriate configuration file to confirm the proper + settings. Make sure you know what your root (and /boot, if you have + it) partitions are. + + If you choose to install LILO, the bootloader will be automatically + installed according to your settings in the configuration file, whilst + GRUB demands the selection of a partition to install the bootloader + to. Here you should choose what you would enter as the boot option of + LILO, which is usually the entry named /dev/sda, as it refers the + master boot record of the first hard disk. Detailed error messages can + be found as usual on VC5 (virtual console 5), if anything goes wrong. + + If you plan on setting up a multiboot system, it might be a better + option to install the bootloader in your root or /boot partition, and + refer to that boot sector from whatever other boot loader you want to + reside in the master boot record. + + Installing a boot loader in the MBR will relentlessly overwrite any + existing bootloader! Make sure you understand the implications of that + if you're running a multiboot system, or want to preserve an installed + bootloader from another OS! + + Exit Install + + Exit Install now, remove the CD from the drive, type reboot at the + command line and cross your fingers! + + If your system boots up, you can log in as root without any password, + so your first things to do are setting a password for root with the + passwd command once you're logged in, add a user as outlined in the + User Management section, and set up your Internet Connection. + + Congratulations! Now you can proceed to getting into the nitty-gritty of + configuring the interesting parts of your system, and adapt it to your + needs! + +System Configuration + + These are the core configuration files for Arch Linux. You should be + comfortable hand-editing these files with a text-editor, because there + aren't any GUI apps to help you out. Only the most basic configuration + files are listed here. If you need help configuring a specific + service, please read the appropriate manpage or refer to any online + documentation you need. In many cases, the Archlinux Wiki and forums + are a rich source for help as well. + + Arch Linux does not use any abstraction layers to administrate your + system. As a result, you can usually stick to any instructions + published by the author of a software, or whatever you find in a + search engine of your choice, and it'll work out without confusing + your system, because your system just does not care. + + Configuration Files + + Before attempting to boot your newly installed system, you should at + least glance over these files and make sure they are not too far off + the mark. + + List of Configuration Files + + 1. /etc/rc.conf + 2. /etc/fstab + 3. /etc/mkinitcpio.conf + 4. /etc/modprobe.conf + 5. /etc/resolv.conf + 6. /etc/hosts + 7. /etc/hosts.deny + 8. /etc/hosts.allow + 9. /etc/locale.gen + 10. /boot/grub/menu.lst + 11. /etc/lilo.conf + 12. Additional configuration files: + 13. /etc/conf.d/* + 14. /etc/profile + + /etc/rc.conf + + This is the main configuration file for Arch Linux. It allows you to + set your keyboard, timezone, hostname, network, daemons to run and + modules to load at bootup, profiles, and more. You should read through + all the settings in this file and make sure you understand them, and + change them where appropriate: + + LOCALE + This sets your system language, which will be used by all + i18n-friendly applications and utilities. See locale.gen below + for available options. This setting's default is fine for US + English users. + + HARDWARECLOCK + Either UTC if your BIOS clock is set to UTC, or localtime if + your BIOS clock is set to your local time. If you have an OS + installed which cannot handle UTC BIOS times correctly, like + Windows, choose localtime here, otherwise you should prefer + UTC, which makes daylight savings time a non-issue and has a + few other positive aspects. + + TIMEZONE + Specifies your time zone. Possible time zones are the relative + path to a zoneinfo file starting from the directory + /usr/share/zoneinfo. For example, a German timezone would be + Europe/Berlin, which refers to the file + /usr/share/zoneinfo/Europe/Berlin. If you don't know the exact + name of your timezone file, worry about it later. + + KEYMAP + Defines the keymap to load with the loadkeys program on bootup. + Possible keymaps are found in /usr/share/kbd/keymaps. Please + note that this setting is only valid for your TTYs, not any + graphical window managers or X! Again, the default is fine for + US users. + + CONSOLEFONT + Defines the console font to load with the setfont program on + bootup. Possible fonts are found in + /usr/share/kbd/consolefonts. + + CONSOLEMAP + Defines the console map to load with the setfont program on + bootup. Possible maps are found in /usr/share/kbd/consoletrans. + You will want to set this to a map suitable for your locale + (8859-1 for Latin1, for example) if you're using an utf8 locale + above, and use programs that generate 8-bit output. If you're + using X11 for everyday work, don't bother, as it only affects + the output of Linux console applications. + + USECOLOR + Enable (or disable) colorized status messages during boot-up. + + MOD_AUTOLOAD + If set to "yes", udev will be allowed to load modules as necessary + upon bootup. If set to "no", it will not. + + MODULES + In this array you can list the names of modules you want to + load during bootup without the need to bind them to a hardware + device as in the modprobe.conf. Simply add the name of the + module here, and put any options into modprobe.conf if need + be. + Prepending a module with a bang ('!') will blacklist the module, + and not allow it to be loaded. For example, if you don't want that + annoying PC speaker, you could blacklist the pcspkr module. + A benefit of specifying networking modules here is that ethernet + cards covered by the listed modules will always be detected in + the order the modules are listed. This prevents the dreaded + interface confusion where your ethernet hardware is assigned to + seemingly random interfaces after each boot. An even better way + to handle this is using static interface labels by configuring + udev appropriately, though. + + USELVM + Set to "YES" to run a vgchange during sysinit, thus activating + any LVM groups. If you have no idea what this means, don't + bother. + + HOSTNAME + Set this to the hostname of the machine, without the domain + part. This is totally your choice, as long as you stick to + letters, digits and a few common special characters like the + dash. Don't be too creative here, though, and when in doubt, + use the default. + + INTERFACES + Here you define the settings for your networking interfaces. + The default lines and the included comments explain the setup + well enough. If you do not use DHCP to configure a device, just + keep in mind that the value of the variable (whose name must be + equal to the name of the device which is supposed to be + configured) equals the line which would be appended to the + ifconfig command if you were to configure the device manually + in the shell. + + ROUTES + You can define your own static network routes with arbitrary + names here. Look at the example for a default gateway to get + the idea. Basically the quoted part is identical to what you'd + pass to a manual route add command, therefore reading man route + is recommended if you don't know what to write here, or simply + leave this alone. + + NETWORKS + Enables certain network profiles at bootup. Network profiles + provide a convenient way of managing multiple network + configurations, and are intended to replace the standard + INTERFACES/ROUTES setup that is still recommended for systems + with only one network configuration. If your computer will be + participating in various networks at various times (eg, a + laptop) then you should take a look at the + /etc/network-profiles/ directory to set up some profiles. There + is a template file included there that can be used to create + new profiles. + + DAEMONS + This array simply lists the names of those scripts contained in + /etc/rc.d/ which are supposed to be started during the boot + process. If a script name is prefixed with a bang (!), it is + not executed. If a script is prefixed with an "at" symbol (@), + then it will be executed in the background, ie. the startup + sequence will not wait for successful completion before + continuing. Usually you do not need to change the defaults to + get a running system, but you are going to edit this array + whenever you install system services like sshd, and want to + start these automatically during bootup. This is basically + Arch's way of handling what others handle with various symlinks + to an init.d directory. + + /etc/fstab + + Your filesystem settings and mountpoints are configured here. The + installer should have created the necessary entries for you, but you + should look over it and make sure it's right. If you are using an + encrypted root device, LVM or RAID, you will likely need to change + them to device names, rather than the UUIDs the installer will have + inserted for you. + + With the current kernel, an important change has been introduced + pertaining to the ATA/IDE subsystem. The new pata (Parallel ATA) + drivers replace the legacy IDE subsystem, and one important change is + that the naming scheme for IDE disks has changed from the old hda, + hdb, etc. to also use device names of the type sda, sdb, etc, just + like SCSI and SATA devices do. Because of this, the installer will have + used UUID entries by default, since they offer a consistent way to refer + to partitions regardless of the underlying driver. + + If for some reason you are unable to use UUIDs, make sure you are + using the right device names, or you will end up with an unbootable + system in no time. Here's the rundown: if you're using the 'ide' hook + in your initcpio.conf, you should be using the hd? device names, and if + you're using the 'pata' hook, you should be using the sd? names. + + /etc/mkinitcpio.conf + + This file allows you to fine-tune the initial ramdisk for your system. + The ramdisk is a gzipped image that is read by the kernel during bootup. + Its purpose is to bootstrap the system to the point where it can access + the root filesystem. This means it has to load any modules that are + required to "see" things like IDE, SCSI, or SATA drives (or USB/FW, if + you are booting off a USB/FW drive). Once the ramdisk loads the proper + modules, either manually or through udev, it passes control to the + Arch system and your bootup continues. For this reason, the ramdisk + only needs to contain the modules necessary to access the root + filesystem. It does not need to contain every module you would ever + want to use. The majority of your everyday modules will be loaded + later on by udev, during the init process. + + By default, mkinitcpio.conf is configured to autodetect all needed modules + for IDE, SCSI, or SATA systems through so-called HOOKS. This means the + default initrd should work for almost everybody.You can edit + mkinitcpio.conf and remove the subsystem HOOKS (ie, IDE, SCSI, RAID, + USB, etc) that you don't need. + + You can customize even further by specifying the exact modules you + need in the MODULES array and remove even more of the hooks, but take + heed to the comments in the file, as this is a touchy place to go + crazy with removing entries! + + If you're using RAID or encryption on your root filesystem, then + you'll have to tweak the RAID/CRYPT settings near the bottom. See the + wiki pages for RAID/LVM, filesystem encryption, and mkinitcpio for + more info. + + When you're finished tweaking mkinitcpio.conf, you must run mkinitcpio + -p kernel26 as root to regenerate the images, unless you're still + installing the system; In that case this step will be done + automatically. + + WARNING: If you fail to set up your mkinitcpio.conf correctly, your + system will not boot! For this reason, you should be especially + careful when tweaking this file. + + If you do manage to render your system unbootable, you can try using + the fallback image that is installed alongside the stock kernel. A + boot option for this is included in the default GRUB and LILO + configuration. + + Read the warning about the pata transition problems elaborated in the + fstab section carefully! + + /etc/modprobe.conf + + This tells the kernel which modules it needs to load for system + devices, and what options to set. For example, to have the kernel load + your Realtek 8139 ethernet module when it starts the network (ie. + tries to setup eth0), use this line: + alias eth0 8139too + + The syntax of this file is nearly identical to the old modules.conf + scheme, unless you use some of the more exotic options like + post-install. Then you should invest a little time into reading man + modprobe.conf. + + Most people will not need to edit this file. + + /etc/resolv.conf + + Use this file to manually setup your nameserver(s) that you want to + use. It should basically look like this: + search domain.tld + nameserver 192.168.0.1 + nameserver 192.168.0.2 + + Replace domain.tld and the ip addresses with your settings. The + so-called search domain specifies the default domain that is appended + to unqualified hostnames automatically. By setting this, a ping myhost + will effectively become a ping myhost.domain.tld with the above + values. These settings usually aren't mighty important, though, and + most people should leave them alone for now. If you use DHCP, this + file will be replaced with the correct values automatically when + networking is started, meaning you can and should happily ignore this + file. + + /etc/hosts + + This is where you stick hostname/ip associations of computers on your + network. If a hostname isn't known to your DNS, you can add it here to + allow proper resolving, or override DNS replies. You usually don't + need to change anything here, but you might want to add the hostname + and hostname + domain of the local machine to this file, resolving to + the IP of your network interface. Some services, postfix for example, + will bomb otherwise. If you don't know what you're doing, leave this + file alone until you read man hosts. + + /etc/hosts.deny + This file denies network services access. By default all network services + are denied. + ALL: ALL: DENY + + /etc/hosts.allow + This file allows network services access. Enter the services you want to + allow here. + eg. to allow all machines to connect via ssh: + sshd: ALL: ALLOW + + /etc/locale.gen + + This file contains a list of all supported locales and charsets + available to you. When choosing a LOCALE in your /etc/rc.conf or when + starting a program, it is required to uncomment the respective locale + in this file, to make a "compiled" version available to the system, + and run the locale-gen command as root to generate all uncommented + locales and put them in their place afterwards. You should uncomment + all locales you intend to use. + + During the installation process, you do not need to run locale-gen + manually, this will be taken care of automatically after saving your + changes to this file. + + By default, all locales are enabled that would make sense by rc.conf's + LOCALE= setting. To make your system work smoothly, you should + check/edit/correct this file and uncomment at least the one locale + you're using in your rc.conf. + _________________________________________________________________ + + /boot/grub/menu.lst + + GRUB is the default bootloader for Arch Linux. You should check and + modify this file to accommodate your boot setup if you want to use + GRUB, otherwise read on about the LILO configuration. + + Make sure you read the warning regarding the pata transition + elaborated on in the fstab section! Again, the installer will have + pre-populated using UUID entries to get around this, which you may have + to change in the same cases you'd need to change them in your fstab. + + Configuring GRUB is quite easy, the biggest hurdle is that it uses yet + another device naming scheme different from /dev; Your hard disks as a + whole are referred to as (hd0), (hd1), etc., sequentially numbered in + order of appearance on the IDE/SCSI bus, just like the sda, sdb, etc. + names in Linux. The partitions of a disk are referred to with (hd0,0), + (hd0,1) and so on, with 0 meaning the first partition. A few + conversion examples are included in the default menu.lst to aid your + understanding. + + Once you grasped the concept of device naming, all you need to do is + to choose a nice title for your boot section(s), supply the correct + root partition device as a parameter to the root option to have it + mounted as / on bootup, and create a kernel line that includes the + partition and path where the kernel is located as well as any boot + parameters. If using the stock kernel, you'll also need an + initrd line that points to the kernel26.img file in your /boot + directory. The path you put on your initrd line should be the same as + the path to vmlinuz26 that you provide on the kernel line. You should + be fine with the defaults, just check whether the partition + information is correct in the root and kernel lines, especially in + regard to the pata issue! + + To create a boot option that loads the boot sector of a different OS, + the following example might be helpful. You will probably succeed in + starting any Microsoft-based operating system with it, just add this + block to the file after any other sections, and modify the partition + device accordingly to refer to the partition containing the boot sector + of the OS you are intending to boot. + # (1) Other OS + title My Other OS + rootnoverify (hd0,1) + makeactive + chainloader +1 + + For advanced configuration of other OSes, please refer to the online + GRUB manual. + + After checking your bootloader configuration for correctness, you'll + be prompted for a partition to install the loader to. Unless you're + using yet another boot loader, you should install GRUB to the MBR of + the installation disk, which is usually represented by the appropriate + device name without a number suffix. + + /etc/lilo.conf + + This is the configuration file for the LILO bootloader. Make sure you + check this one and get it right if you want to use LILO to boot your + system. See LILO documentation for help on this. + + Things you should check are the root= lines in the image sections and + the boot= line right at the beginning of the file. The root lines + specify the device which shall be mounted as the root filesystem on + bootup. If you don't know what is supposed to be entered here, change + to another terminal and type mount to see a list of all currently + mounted drives, and look for the line which displays a device name + mounted on /tmp/install type [...]. The device path at the beginning of this + very line should be entered in the root lines of your lilo.conf. + Change if necessary, and keep the pata issue in mind! Again, UUIDs will + have been entered by default, and may need to be changed to device names + under the same circumstances as fstab entries need to be changed. + + The boot line should be okay by default in most cases. Unless you have + a weird boot manager setup in mind with multiple OSes, the device + referenced here should be having the same prefix your root lines have, + but not end with a number. For example, a root of /dev/sda3 means you + probably want to install LILO into the Master Boot Record of the hard + disk, so you would set boot to /dev/sda, which references the disk as + a whole. During installation, the boot device must be the current name + of the device where you want to write the boot sector to; This may + differ from the name of the device after the first boot, thanks to the + pata transition! Check carefully what device to write to during the + installation stage, for example with the mount command. + + To prevent some serious grief, you should make sure you know how to + restore the boot sector of your other OSes, for example with Windows's + FIXBOOT/FIXMBR tools. + + To be on the safe side, you should keep the option lba32 listed. This + will prevent some geometry issues from happening. + + In some cases, depending on your BIOS, LILO will not run on bootup and + spill out an error code infinitely. In most cases you either removed + the lba32 option, or your hardware setup is a little special, meaning + that maybe your CD-ROM drive is primary master and the hard disk you + installed secondary slave. This can very well confuse your BIOS, and + thus stop the boot process. To prevent that you can try and make the + install drive the primary master on your IDE bus. If you've got a + mixed IDE and SCSI system and the problem persists, you'll probably + need some experimentation with the disk and bios options of LILO to + provide a working mapping; The disk drives in your system are numbered + sequentially by your BIOS, starting with 0x80. If you're lucky your + SCSI controller tells you which drive has which BIOS ID, but usually + you're not. How the drives are effectively numbered is depending on + your BIOS, so in the worst case you can only guess until it works. A + typical disk line would look like this: + boot=/dev/hda + disk=/dev/hda bios=0x80 + + The disk option maps a BIOS ID to the disk device known to Linux. Note + that there is still no guarantee that things will work as other things + can be wrong, so do not despair if all your tries fail, but rather try + rearranging your hardware in a way that's not totally odd. In this + area too much can go wrong and needs special handling to be explained + here. In most cases the lba32 option will suffice anyway. Old hard + drives will usually need a little more special care until they do as + told. + + Don't become fidgety when reading this section, I (Dennis) just + happened to stumble over this problem when experimenting with a rather + odd system, and figured it'd be a good idea to mention this show + stopper and workarounds here. You probably won't ever experience this, + as you should be using GRUB anyway. + + How to recreate a LILO boot sector with only a rescue disk is + explained later in this document. + + /etc/conf.d/* + + During setup, this is totally unimportant. Consider this as reference + for the interested. + + Some daemon scripts will have a matching configuration file in this + directory that contains some more-or-less useful default values. When + a daemon is started, it will first source the settings from it's + config file within this directory, and then source the /etc/rc.conf. + This means you can easily centralize all your daemon configuration + options in your /etc/rc.conf simply by setting an appropriate variable + value, or split up your configuration over multiple files if you + prefer a decentralized approach to this issue. Isn't life great if + it's all just simple scripting? + + /etc/profile + + This script is run on each user login to initialize the system. It is + kept quite simple under Arch Linux, as most things are. You may wish + to edit or customize it to suit your needs. + + Boot Scripts + + Arch Linux uses a fairly simple bootup sequence quite similar to + *BSDs. The first boot script to run is /etc/rc.sysinit. When it's + done, /etc/rc.multi will be called (in a normal bootup). The last + script to run will be /etc/rc.local. When started in runlevel 1, the + single user mode, the script /etc/rc.single is run instead of + /etc/rc.multi. You will not find an endless symlink collection in the + /etc/rc?.d/ directories to define the bootup sequence for all possible + runleves. In fact, due to this approach Arch only really has three + runlevels, if you take starting up X in runlevel 5 into account. The + boot scripts are using the variables and definitions found in the + /etc/rc.conf file and also a set of general functions defined in the + /etc/rc.d/functions script. If you plan to write your own daemon + files, you should consider having a look at this file and existing + daemon scripts. + + Boot Script Overview + + 1. /etc/rc.sysinit + 2. /etc/rc.single + 3. /etc/rc.multi + 4. /etc/rc.local + 5. /etc/rc.shutdown + 6. /etc/rc.local.shutdown + 7. /etc/rc.d/* + + /etc/rc.sysinit + + The main system boot script. It does boot-critical things like + mounting filesystems, running udev, activating swap, loading modules, + setting localization parameters, etc. You will most likely never need + to edit this file! + + /etc/rc.single + + Single-user startup. Not used in a normal boot-up. If the system is + started in single-user mode, for example with the kernel parameter 1 + before booting or during normal multi-user operation with the command + init 1, this script makes sure no daemons are running except for the + bare minimum; syslog-ng and udev. The single-user mode is useful if + you need to make any changes to the system while making sure that no + remote user can do anything that might cause data loss or damage. + + For desktop users, this mode usually is useless as crud. You should + have no need to edit this script, either. + + /etc/rc.multi + + Multi-user startup script. It starts all daemons you configured in the + DAEMONS array (set in /etc/rc.conf) after which it calls + /etc/rc.local. You shouldn't feel a pressing need to edit this file. + + /etc/rc.local + + Local multi-user startup script. It is a good place to put any + last-minute commands you want the system to run at the very end of the + bootup process. This is finally the one and only script you should + modify if needed, and you have total freedom on what to add to this + script. + + Most common system configuration tasks, like loading modules, changing + the console font or setting up devices, usually have a dedicated place + where they belong. To avoid confusion, you should make sure that + whatever you intend to add to your rc.local isn't feeling just as home + in /etc/profile.d/ or any other already existent config location + instead. + + /etc/rc.shutdown + + System shutdown script. It stops daemons, unmounts filesystems, + deactivates the swap, etc. Just don't touch. + + /etc/rc.local.shutdown + + Analogous to the /etc/rc.local file, this file may contain any + commands you want to run right before the common rc.shutdown is + executed. Please note that this file does not exist by default, and + for it to work properly, it must be set as executable. + + /etc/rc.d/* + + This directory contains the daemon scripts referred to from the + rc.conf's DAEMONS array. In addition to being called on bootup, you + can use these scripts when the system is running to manage the + services of your system. For example the command + # /etc/rc.d/postfix stop + + will stop the postfix daemon. Of course a script only exists when the + appropriate package has been installed (in this case postfix). With a + basic system install, you don't have many scripts in here, but rest + assured that all relevant daemon scripts end up here. This directory + is pretty much the equivalent to the /etc/rc3.d/ or /etc/init.d/ + directories of other distributions, without all the symlink spaghetti. + + User Management + + Users and groups can be added and deleted with the standard commands + provided in the util-linux package: useradd, userdel, groupadd, + groupdel, passwd, and gpasswd. The typical way of adding a user is + similar to this procedure: + # useradd -m -s /bin/bash johndoe + # passwd johndoe + + The first command will add the user named johndoe to the system, + create a home directory for him at /home/johndoe, and place some + default login files in his home directory. It will also set his login + shell to be /bin/bash. The second command will ask you for a password + for the johndoe user. A password is required to activate the account. + + As an alternative to the useradd command, the adduser script is also + available to interactively create new users on your system simply by + answering questions. + + See the manpages for more information on the remaining commands. It is + a good idea to create one or multiple normal users for your day-to-day + work to fully use the available security features and minimize + potential damage that may be the result of using the root user for + anything but system administration tasks. + + Internet Access + + Due to a lack of developers using dialup, connecting Arch to the Internet + with a dialup line requires a lot of manual setup. If at all possible, + set up a dedicated router which you can then use as a default gateway on + the Arch box. + + There are quite a few dialup related documents in the Arch Linux Wiki + + Analog Modem + + To be able to use a Hayes-compatible, external, analog modem, you need + to at least have the ppp package installed. Modify the file + /etc/ppp/options to suit your needs and according to man pppd. You + will need to define a chat script to supply your username and password + to the ISP after the initial connection has been established. The + manpages for pppd and chat have examples in them that should suffice + to get a connection up and running if you're either experienced or + stubborn enough. With udev, your serial ports are usually /dev/tts/0 + and /dev/tts/1. + + Instead of fighting a glorious battle with the plain pppd, you may opt + to install wvdial or a similar tool to ease the setup process + considerably. + + In case you're using a so called WinModem, which is basically a PCI + plugin card working as an internal analog modem, you should indulge in + the vast information found on the LinModem homepage. + + ISDN + + Setting up ISDN is done in three steps: + 1. Install and configure hardware + 2. Install and configure the ISDN utilities + 3. Add settings for your ISP + + The current Arch stock kernels include the necessary ISDN modules, + meaning that you won't need to recompile your kernel unless you're + about to use rather odd or old ISDN hardware. After physically + installing your ISDN card in your machine or plugging in your USB + ISDN-Box, you can try loading the modules with modprobe. Nearly all + passive ISDN PCI cards are handled by the hisax module which needs two + parameters; type and protocol. You must set protocol to '1' if your + country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' + if you're hooked to a so called leased-line without D-channel, and '4' + for US NI1. + + Details on all those settings and how to set them is included in the + kernel documentation, more specifically in the isdn subdirectory, + available online. The type parameter depends on your card; A list of + all possible types is to be found in the README.HiSax kernel + documentation. Choose your card and load the module with the + appropriate options like this: + # modprobe hisax type=18 protocol=2 + + This will load the hisax module for my (Dennis) ELSA Quickstep + 1000PCI, being used in Germany with the EDSS1 protocol. You should + find helpful debugging output in your /var/log/everything.log file in + which you should see your card being prepared for action. Please note + that you will probably need to load some usb modules before you can + work with an external USB ISDN Adapter. + + Once you confirmed that your card works with certain settings, you can + add the module options to your /etc/modprobe.conf: + alias ippp0 hisax + options hisax type=18 protocol=2 + + Alternatively you can only add the options line here, and add hisax to + your MODULES array in the rc.conf. Your choice, really, but this + example has the advantage that the module will not be loaded until + it's really needed. + + That being done you should have working, supported hardware. Now you + need the basic utilities to actually use it! + + Install the isdn4k-utils package, and read the manpage to isdnctrl, + it'll get you started. Further down in the manpage you will find + explanations on how to create a configuration file that can be parsed + by isdnctrl, as well as some helpful setup examples. + + Please note that you have to add your SPID to your MSN setting + separated by a colon if you use US NI1. + + After you configured your ISDN card with the isdnctrl utility, you + should be able to dial into the machine you specified with the + PHONE_OUT parameter, but fail the username and password + authentication. To make this work add your username and password to + /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were + configuring a normal analogous PPP link, depending on which protocol + your ISP uses for authentication. If in doubt, put your data into both + files. + + If you set up everything correctly, you should now be able to + establish a dialup connection with isdnctrl dial ippp0 as root. If you + have any problems, remember to check the logfiles! + + DSL (PPPoE) + + These instructions are only relevant to you if your PC itself is + supposed to manage the connection to your ISP. You do not need to do + anything but define a correct default gateway if you are using a + seperate router of some sort to do the grunt work. + + Before you can use your DSL online connection, you will have to + physically install the network card that is supposed to be connected + to the DSL-Modem into your computer. After adding your newly installed + network card to the modprobe.conf or the MODULES array, you should + install the rp-pppoe package and run the pppoe-setup script to + configure your connection. After you have entered all required data, + you can connect and disconnect your line with + # /etc/rc.d/adsl start + + and + # /etc/rc.d/adsl stop + + respectively. The setup usually is rather easy and straightforward, + but feel free to read the manpages for hints. If you want to + automatically dial in on bootup, add adsl to your DAEMONS array. + +Package Management + + Pacman + + pacman is the package manager which tracks all the software installed + on your system. It has simple dependency support and uses the standard + gzipped tar archive format for all packages. Some common tasks are + explained below with the respective commands in long and short option + form. For an up to date explanation of pacman's options, read man + pacman. This overview is merely scratching the surface of pacman's + current capabilities. + + Typical tasks: + + 1. Adding a new package with a package file + 2. Upgrading a package with a package file + 3. Removing packages + 4. Refreshing the package list + 5. Upgrading the system + 6. Adding/Upgrading a package from the repositories + 7. List installed packages + 8. Check if a specific package is installed + 9. Display specific package info + 10. Display list of files contained in package + 11. Find out which package a specific file belongs to + + Adding a new package with a package file + + # pacman --add foo.pkg.tar.gz + # pacman -A foo.pkg.tar.gz + + This will install the foo.pkg.tar.gz package on the system. If + dependencies are missing, pacman will exit with an error and report + the missing deps, but not attempt to resolve the dependencies + automatically. Look at the --sync option if you expect this + functionality. Adding multiple package files is possible, and if the + listed files depend on each other, the packages will be automatically + installed in the correct order. + + Upgrading a package with a package file + + # pacman --upgrade foo.pkg.tar.gz + # pacman -U foo.pkg.tar.gz + + This does essentially the same as the --add operation, but will + additionally upgrade an already-installed package at no extra cost. I + can personally not imagine a case where you'd prefer --add over this + --upgrade function, unless you want pacman to exit if a package is + already installed. + + Removing packages + + # pacman --remove foo + # pacman -R foo + + This will remove all files belonging to the package named foo, except + for configuration files that have been edited. Only supply the name of + the package to this command, without the pkg.tar.gz suffix. + + To remove any and all trace of a package, add the --nosave option to + the above command. + + Refreshing the package list + + # pacman --sync --refresh + # pacman -Sy + + This will retrieve a fresh master package list from the repositories + defined in the /etc/pacman.conf file and decompress it into the + database area. You should use this before using --sysupgrade to make + sure you get the newest packages. Depending on your pacman.conf + settings, this command may require a working Internet connection to + access FTP/HTTP-based repositories. This option is quite similar to + Debian's apt-get update command. + + Upgrading the system + + # pacman --sync --sysupgrade + # pacman -Su + + This command will upgrade all packages that are out-of-date on your + system by comparing the local package version to the versions in the + master package list that gets downloaded with the --refresh command. + It's a good idea to run this regularly to keep your system up to date. + Note that this command does NOT implicitly refresh the master package + list, so it's usually wiser to combine both commands into one like + this: + # pacman --sync --refresh --sysupgrade + # pacman -Syu + + With these options pacman will automatically retrieve the current + master package list and do a full system upgrade to the latest + packages with all dependencies being automagically resolved. You will + want to run this quite often. + + Adding/Upgrading a package from the repositories + + # pacman --sync foo + # pacman -S foo + + Retrieve and install package foo, complete with all dependencies it + requires. Before using any sync option, make sure you refreshed the + package list, or add --refresh or -y to the options to do it before + the installation attempt. Unlike --add, the --sync option does not + differ between installing and upgrading packages. Depending on your + pacman.conf settings this function requires working Internet access. + + Receiving strange errors when downloading packages from the server, + ie. broken downloads or files that aren't found, usually are either + caused by not refreshing the package list with --sync, or if you're + unlucky enough to try downloading from a mirror while it's syncing + it's contents, and is thusly in an inconsistent state. + + List installed packages + + # pacman --query + # pacman -Q + + Displays a list of all installed packages in the system. + + Check if a specific package is installed + + # pacman --query foo + # pacman -Q foo + + Instead of grepping the full list for a name, you can append the name + of the package you are looking for to the query command. This command + will display the name and version of the foo package if it is + installed, nothing otherwise. + + Display specific package info + + # pacman --query --info foo + # pacman -Qi foo + + Displays information on the installed package foo (size, install date, + build date, dependencies, conflicts, etc.). To display this + information for a package file that is not yet installed, add the + --file or -p option, respectively: + # pacman --query --info --file foo.pkg.tar.gz + # pacman -Qip foo.pkg.tar.gz + + Display list of files contained in package + + # pacman --query --list foo + # pacman -Ql foo + + Lists all files belonging to package foo. + + Find out which package a specific file belongs to + + # pacman --query --owns /path/to/file + # pacman -Qo /path/to/file + + This query displays the name and version of the package which contains + the file referenced by it's full path as a parameter. Just using the + file name without the path will not yield results. + + Accessing Repositories + + A package repository is a collection of packages and a package + meta-info file that can reside in a local directory or on a remote + FTP/HTTP server. The default repository for an Arch system is the + core repository. This is kept up to date by developers with the + latest version of most software and stays fairly bleeding-edge. + + Many users also choose to activate the extra package repository which + contains more packages that are not part of Arch's core package set. + You can activate this repo by uncommenting the appropriate lines in + your /etc/pacman.conf. This repository is activated by default. + + You can also build, maintain and use your own package repositories. + See the pacman manpage for instructions. + + If you install from CD-ROM and end up having problems accessing the + Internet, you may need to install additional packages from the CD. + Refer to the FAQs, specifically FAQ #3 later in this document, to find + out how to define a repository that uses the installation CD-ROM as a + package source. + +Arch Build System (ABS) + + Binary vs. Source + + Where pacman is responsible for the binary side of the package world, + ABS is responsible for the source side: It helps you to build your own + custom packages from source code, also letting you rebuild Arch Linux + packages with your own customizations. The procedure usually goes as + follows: + 1. Install the base-devel group if it was not installed previously. + 2. Synchronize your ABS tree with the server. + 3. Create a new directory in /var/abs/local/ named after the package + you are going to create. + 4. Copy the PKGBUILD.proto prototype from /var/abs/ into your newly + created directory, remove the .proto suffix, and edit it to fit + the new package. + 5. Run makepkg in the working directory with the PKGBUILD file. + 6. Install the newly built package with pacman. + 7. Send the package to your friends for bragging rights (or give it + to an Archer so s/he can stick it in the master ABS tree). + + Synchronizing Your ABS Tree + + You can synchronize all the required package building files in + /var/abs by running the abs script as root. It requires the cvsup + package to operate and will complain if you don't have it installed. A + working Internet connection is also required, of course. Using CVS as + the transfer medium allows you to follow different version trees + within ABS - this can be configured in /etc/abs/supfile.core. For + example, the default supfile is set to track the current package tree, + which is bleeding-edge and the recommended source to follow. You can + also follow specific versions. See the comments in the supfiles for + more info. + + ABS supports multiple repositories, which can be enabled or disabled + in /etc/abs/abs.conf. By default, abs will follow the core and + extra repositories, but not anything else. + + You will also see an /etc/abs/supfile.extra file. This will give you + access to all the unofficial build scripts that were not included in + the main ABS repository. If you do not want to use this repository, + you can delete the file, but usually it makes more sense to edit + abs.conf accordingly instead, and disable the repositories you don't + need. + + How to Build Packages + + The build process is thoroughly explained in the makepkg manpage. Read + it for instructions on building your own packages. If that's not + helping you, keep your eyes peeled for tutorials in the Wiki, or ask + for help in the forums or IRC. + + Install the packages in the base-devel group as they are needed to + build most applications. + + Package Guidelines + + When building package for Arch Linux, you should adhere to the package + guidelines below, especially if you would like to contribute your new + package to Arch Linux. + + Package Naming + + * Package names should consist of alphanumeric characters only; all + letters should be lowercase. + * Package versions should be the same as the version released by the + author. Versions can include letters if need be (eg, nmap's + version was 2.54beta32 a good while ago). Version tags may not include + hyphens! Letters, numbers, and periods only. + * Package releases are specific to Arch Linux packages. These allow + users to differentiate between newer and older package builds. + When a new package version is first released, the release count + starts at 1. Then as fixes and optimizations are made, the package + will be re-released to the AL public and the release number will + increment. When a new version comes out, the release count resets + to 1. Package release tags follow the same naming restrictions as + version tags. + + Directories + + Configuration files should be placed in the /etc directory. If there's + more than one configuration file, it's customary to use a subdirectory + in order to keep the /etc area as clean as possible. Use + /etc/{pkgname}/ where {pkgname} is the name of your package (or a + suitable alternative, eg, apache uses /etc/httpd/). + + Package files should follow these general directory guidelines: + + /etc System-essential configuration files + /usr/bin Application binaries + /usr/sbin System binaries + /usr/lib Libraries + /usr/include Header files + /usr/lib/{pkg} Modules, plugins, etc. + /usr/man Manpages + /usr/share/{pkg} Application data + /etc/{pkg} Configuration files for {pkg} + /opt + + Packages that do not fit cleanly into Linux filesystem layout can be + placed here. If a package's files can be cleanly placed into the above + directories, then do so. If there are other high-level directories + that do not fit, then you should use /opt. + + For example, the acrobat package has Browser, Reader, and Resource + directories sitting at the same level as the bin directory. This + doesn't fit into a normal Linux filesystem layout, so we place all the + files in a subdirectory of /opt. + + Clear as mud? Good. + + makepkg Duties + + When you use makepkg to build a package for you, it does the following + automatically: + 1. Checks if package dependencies are installed + 2. Downloads source files from servers + 3. Unpacks source files + 4. Does any necessary patching + 5. Builds the software and installs it in a fake root + 6. Removes /usr/doc, /usr/info, /usr/share/doc, and /usr/share/info + from the package + 7. Strips symbols from binaries + 8. Strips debugging symbols from libraries + 9. Generates the package meta file which is included with each + package + 10. Compresses the fake root into the package file + 11. Stores the package file in the configured destination directory + (cwd by default) + + Other + + Do not introduce new variables into your PKGBUILD build scripts, + unless the package cannot be built without doing so, as these could + possibly conflict with variables used in makepkg itself. If a new + variable is absolutely required, prefix the variable name with an + underscore. + + Avoid using /usr/libexec/ for anything. Use /usr/lib/{pkgname} + instead. + + The "Packager" field from the package meta file can be customized by + the package builder by modifying the appropriate option in the + /etc/makepkg.conf file, or alternatively by exporting the PACKAGER + environment variable before building packages with makepkg: + # export PACKAGER="John Doe " + + Submitting Packages + + If you'd like to submit packages, please take a look at the Arch User + Repository and their guidelines. New packages should be submitted to + the AUR. + + If you're submitting a package, please do the following: + 1. Please add a comment line to the top of your PKGBUILD file that + follows this format: + # Contributor: Your Name + 2. Verify the package dependencies (eg, run ldd on dynamic + executables, check tools required by scripts, etc.). It's also a + good idea to use the namcap utility, written by Jason Chu + jason@archlinux.org, to analyze the sanity if your package. namcap + will tell you about bad permissions, missing dependencies, + un-needed dependencies, and other common mistakes. You can install + the namcap package with pacman as usual. + 3. All packages should come as a compressed tar file containing a + directory with the newly built package, the PKGBUILD, filelist, + and additional files (patches, install, ...) in it. The archive + name should at least contain the name of the package. + 4. Read the appropriate documents regarding the AUR, and the newest + version of the packaging guidelines on the AUR Homepage. + +Frequently Asked Questions + + The FAQs listed here are only covering any problems that may keep you + from booting or installing an initial Arch Linux system. If you have + questions regarding further usage of the system utilities, X11 setup, + etc. or how to configure your hardware, please head over to the Wiki. + If you think an issue is not covered here that should be, please + notify the author of this document, whose address is to be found at + the very top of this file. + + During package installation, pacman fails to resolve dependencies for package + A because package B is not in the package set + + Unless something is very broken and thus very likely to be reported by + multiple people soon, you probably just forgot to mount your target + partitions properly. This causes pacman to decompress the package + database into the initial ramdisk, which fills up quite nicely and + ultimately leads to this error. + + Make sure that you use the DONE and not the CANCEL option offered by + the Filesystem Mountpoints menu to apply your choices. This error + should not happen if you use the Auto-Prepare feature; If it does + nevertheless, please report this as a bug. + + How can I install packages from the install CD with pacman --sync (so it + resolves dependencies for me)? + + If you would rather have packages install from the CD instead of + downloading them, then mount the install CD somewhere (eg. /media/cd) + and add this line right below the [core] line in /etc/pacman.conf: + Server = file:///media/cd + + Replace /media/cd with the mountpoint you chose. Then use pacman --sync + as you normally would - It will now check the /media/cd directory first + for packages. + + How can I create multiple swap partitions during the install? + + Naturally you won't be able to use the Auto-Prepare feature if you + want to create and use multiple swap partitions. Create the partitions + manually instead, and create as many swap partitions as your little + heart desires. Go through the rest of the disk preparation steps, + don't mind that you're only asked for one swap partition during the + mount-point setting. Once you're through with the install and are + about to edit your system configuration files, you can edit the fstab + file and include a line for every swap device you created earlier. + Simply copy the automatically generated swap line, and modify the + referenced device according to your setup. The additional swaps will + be activated after the bootup when swapon -a is being run by the + initscripts. Make sure you ran mkswap on all of your swap partitions + manually, or else your system will complain on bootup! + + If, for any odd reason, you can not wait until after the installation + with activating multiple swap partitions or files, you will have to + open a shell on one of the virtual terminals and issue the swapon + for every swap drive or file you partitioned/readied before + with mkswap. Then continue as explained above with the install. + + In case you are honestly contemplating setting up multiple swap files + or drives, you should keep in mind that a kernel that needs to swap is + actually crying bitterly for more RAM, not more swap space. Please + keep your penguin well fed. Thank you. + + How do I reconfigure LILO from the rescue system? + + As a first step you simply boot from the Arch Install CD or disks. If + your partitions are intact and don't need checking, you can try + choosing one of the recovery boot options according to your partition + layout, or fiddle with the GRUB boot manager settings on your own to + get your existing system to boot properly. That will boot directly + into your system, and you can skip all but the last step of actually + reconfiguring and running LILO. + + If you cannot boot your old root directly, boot from the CD as if you + were going to start an installation. Once you're in a shell, you mount + the root partition of your harddisk into the /mnt directory, for + example like this: + # mount /dev/sda3 /mnt + + Then you mount any other partitions to their respective mount points + within that root of yours, for example a /boot partition: + # mount /dev/sda1 /mnt/boot + + Now you need to mount a /dev tree in the /mnt area, where LILO will be + able to find it: + # /mnt/bin/mount --bind /dev /mnt/dev + + Once everything is mounted, make this /mnt directory your new root + with the chroot /mnt command. This will start a new shell and drop you + into the /mnt directory, which will be considered your / from then on. + + Now you can edit /etc/lilo.conf to your liking and run lilo to fix + anything that needs fixing. Simply type exit when you want to break + out of this root again, back into the original file tree. You can now + reboot and test your changes. + + How do I reconfigure GRUB from the rescue system? + + The first thing you will need is an Install CD. Any install CD should work, + however, using the latest CD will be easier than using an older CD. + + Boot the CD as if you were doing an installation + (*DO NOT* use the root= option) and move on to the next step. + + Now, you need to mount your current installation. The general process for + this is as follows. You need to know what the proper partitions and + filesystem types are for your disks, as well as ensuring you mount all + necessary drives and other various system filesystems. + + The directions below are EXAMPLES; do not follow them character for character + unless your setup is identical. + + --For an IDE setup with separate boot partition, ext3 filesystem: + # cd / + # mount -t ext3 /dev/sda3 /mnt + # mount -t ext3 /dev/sda1 /boot + # mount -o bind /dev /mnt/dev + # mount -t proc none /mnt/proc + # mount -t sysfs none /mnt/sys + # chroot /mnt /bin/bash + + --For a SCSI setup, ext3 filesystem: + # cd / + # mount -t ext3 /dev/sda1 /mnt + # mount -o bind /dev /mnt/dev + # mount -t proc none /mnt/proc + # mount -t sysfs none /mnt/sys + # chroot /mnt /bin/bash + + Now you should be logged in as root, and into your current installation as + if you had just booted it and logged in as root. Move on to the next step! + + Edit /boot/grub/menu.lst and make sure that everything is in order. Once you + are completely sure that menu.lst is correct, run the following command + (assuming /dev/sda or /dev/hda is your boot device): + # grub-install /dev/sda + or + # grub-install /dev/hda + + This command should complete successfully if you have followed all the steps. + (If not, take a look at the notes below.) That's it, you're done! Exit the + chroot and reboot: + + # cd / + # umount -a + # exit + # cd / + # umount -a + # reboot + + If you get an error that says "The file /boot/grub/stage1 was not read + correctly", it probably means that your fstab/mtab is incorrect for some + reason and needs to be fixed up. These files are /etc/mtab and /etc/fstab. + Edit them and make sure they point to the correct partitions, then re-run + grub-install. + + If you get an error that says sed: can't read /boot/grub/device.map: No such + file or directory, it means that you need to use the --recheck option with + grub-install. + + # grub-install --recheck /dev/sda + + Hopefully that covers all the issues you should encounter. If you get any + other errors, reboot and do the guide step by step again. + + I can't ssh into my machine! + + Edit your /etc/hosts.deny file. The default configuration will reject + all incoming connections, not only ssh connections. + + How should I load modules during boot now? + + If you want to load a module unconditionally without a specific device + binding, add the name of the module to the MODULES array of your + /etc/rc.conf. For on demand loading on device access, add it as usual + with the alias and option commands to your /etc/modprobe.conf, in the + rare cases that the automatisms employed by udev don't cut + it. To pass any options to a module you want to load through the + MODULES array, only add the appropriate options line to your + /etc/modprobe.conf. + + Kernel refuses to boot because of "lost interrupt" + + Kernel refuses to boot. It locks at: + IRQ probe failed for hda + hda lost interrupt + + This or a similar error occurs for some HD controllers on kernel + 2.6.x. A workaround is to pass the acpi=off option to the kernel at + boot time. + + I get "access denied" errors trying to play music or read DVDs + + Add your user to the optical and audio groups. + # gpasswd -a johndoe optical + # gpasswd -a johndoe audio + + Logout, then login again as that user (eg. johndoe) so the group + changes can take effect, and the device permissions shouldn't be a + problem anymore. + + If you have a DVD drive, you may want to create a /dev/dvd symlink to + your real DVD device. Usually udev does this for you already, but this + will serve well as an example for setting up similar symlinks. + + For example, if your DVD drive is accessible through /dev/sdc, you can + do the following as root: + # cat >>/etc/udev/rules.d/00.rules < KERNEL="sdc", NAME="sdc", SYMLINK="dvd" + > EOF + # /etc/start_udev + # mount /dev/pts + # mount /dev/shm + + +vim: ft=text autoindent tabstop=4 shiftwidth=4 expandtab \ No newline at end of file diff --git a/installer/quickinst b/installer/quickinst new file mode 100755 index 000000000..79ad7d81e --- /dev/null +++ b/installer/quickinst @@ -0,0 +1,158 @@ +#! /bin/sh + +usage() { + echo "quickinst " + echo + echo "This script is for users who would rather partition/mkfs/mount their target" + echo "media manually than go through the routines in the setup script." + echo + echo "First make sure you have all your filesystems mounted under ." + echo "e.g. mount -t iso9660 /dev/sdc or /dev/sr0 (for new naming sheme) /src " + echo "Then run this script to install all base packages to ." + echo + if [ -e /usr/bin/wget ]; then + echo " must be either 'ftp' or 'cd'" + else + echo " must be 'cd'" + fi + echo + echo "Examples:" + if [ -e /usr/bin/wget ]; then + if [ "$(uname -m)" = "x86_64" ]; then + echo " quickinst ftp /mnt ftp://ftp.archlinux.org/core/os/x86_64" + else + echo " quickinst ftp /mnt ftp://ftp.archlinux.org/core/os/i686" + fi + fi + + echo " quickinst cd /mnt /src/core-$(uname -m)/pkg" + echo "" + exit 0 +} + +INSTMODE=$1 +DESTDIR=$2 +PKGARG=$3 + +if [ "$PKGARG" = "" ]; then + usage +fi + +! [ -d /tmp ] && mkdir /tmp + +# sometimes this gets mounted RO, dunno why +/bin/mount -o remount,rw / >/dev/null 2>&1 + +PACMAN= +[ -f /tmp/usr/bin/pacman ] && PACMAN=/tmp/usr/bin/pacman +[ -f /usr/bin/pacman ] && PACMAN=/usr/bin/pacman +if [ "$PACMAN" = "" ]; then + cd /tmp + if [ "$INSTMODE" = "ftp" ]; then + echo "Downloading pacman..." + wget $PKGARG/pacman*.pkg.tar.gz + if [ $? -gt 0 ]; then + echo "error: Download failed" + exit 1 + fi + tar -xzf pacman*.pkg.tar.gz + elif [ "$INSTMODE" = "cd" ]; then + echo "Unpacking pacman..." + tar -xzf $PKGARG/pacman*.pkg.tar.gz + fi +fi +[ -f /tmp/usr/bin/pacman ] && PACMAN=/tmp/usr/bin/pacman +if [ "$PACMAN" = "" ]; then + echo "error: Cannot find the pacman binary!" + exit 1 +fi + +if [ "$INSTMODE" = "ftp" ]; then + echo "[core]" >/tmp/pacman.conf + echo "Server = $PKGARG" >>/tmp/pacman.conf + mkdir -p $DESTDIR/var/cache/pacman/pkg /var/cache/pacman >/dev/null 2>&1 + rm -f /var/cache/pacman/pkg >/dev/null 2>&1 + ln -sf $DESTDIR/var/cache/pacman/pkg /var/cache/pacman/pkg >/dev/null 2>&1 +fi + +if [ "$INSTMODE" = "cd" ]; then + PKGFILE=/tmp/packages.txt + cp $PKGARG/packages.txt /tmp/packages.txt + if [ ! -f $PKGFILE ]; then + echo "error: Could not find package list: $PKGFILE" + exit 1 + fi + echo "[core]" >/tmp/pacman.conf + echo "Server = file://$PKGARG" >>/tmp/pacman.conf + mkdir -p $DESTDIR/var/cache/pacman/pkg /var/cache/pacman >/dev/null 2>&1 + rm -f /var/cache/pacman/pkg >/dev/null 2>&1 + ln -sf $PKGARG /var/cache/pacman/pkg >/dev/null 2>&1 + PKGLIST= + # fix pacman list! + sed -i -e 's/-i686//g' -e 's/-x86_64//g' $PKGFILE + for i in $(cat $PKGFILE | grep 'base/' | cut -d/ -f2); do + nm=${i%-*-*} + PKGLIST="$PKGLIST $nm" + done +fi +! [ -d $DESTDIR/var/lib/pacman ] && mkdir -p $DESTDIR/var/lib/pacman +! [ -d /var/lib/pacman ] && mkdir -p /var/lib/pacman +# mount proc/sysfs first, so mkinitrd can use auto-detection if it wants +! [ -d $DESTDIR/proc ] && mkdir $DESTDIR/proc +! [ -d $DESTDIR/sys ] && mkdir $DESTDIR/sys +! [ -d $DESTDIR/dev ] && mkdir $DESTDIR/dev +mount -t proc none $DESTDIR/proc +mount -t sysfs none $DESTDIR/sys +mount -o bind /dev $DESTDIR/dev +if [ "$INSTMODE" = "cd" ]; then + $PACMAN -r $DESTDIR --config /tmp/pacman.conf -Sy $PKGLIST +fi + +if [ "$INSTMODE" = "ftp" ]; then + $PACMAN -r $DESTDIR --config /tmp/pacman.conf -Sy base +fi + +umount $DESTDIR/proc $DESTDIR/sys $DESTDIR/dev +if [ $? -gt 0 ]; then + echo + echo "Package installation FAILED." + echo + exit 1 +fi + +echo +echo "Package installation complete." +echo +echo "Please install a bootloader. Edit the appropriate config file for" +echo "your loader, and chroot into your system to install it into the" +echo "boot sector:" +echo " # mount -o bind /dev $DESTDIR/dev" +echo " # mount -t proc none $DESTDIR/proc" +echo " # mount -t sysfs none $DESTDIR/sys" +echo " # chroot $DESTDIR /bin/bash" +echo +echo "For GRUB:" +echo " # install-grub /dev/sda /dev/sdaX (replace with your boot partition)" +echo " (or install manually by invoking the GRUB shell)" +echo "HINT XFS FILESYSTEM:" +echo "If you have created xfs filesystems, freeze them before and unfreeze them after" +echo "installing grub (outside the chroot):" +echo "- freeze:" +echo " # xfs_freeze -f $DESTDIR/boot" +echo " # xfs_freeze -f $DESTDIR/" +echo "- unfreeze:" +echo " # xfs_freeze -u $DESTDIR/boot" +echo " # xfs_freeze -u $DESTDIR/" +echo +echo "For LILO:" +echo " # lilo" +echo +echo "Next step, initramfs setup:" +echo "Edit your /etc/mkinitcpio.conf and /etc/mkinitcpio.d/kernel26-fallback.conf" +echo "to fit your needs. After that run:" +echo "# mkinitcpio -p kernel26" +echo +echo "Then exit your chroot shell, edit $DESTDIR/etc/fstab and" +echo "$DESTDIR/etc/rc.conf, and reboot!" +echo +exit 0 diff --git a/installer/setup b/installer/setup new file mode 100755 index 000000000..66da91363 --- /dev/null +++ b/installer/setup @@ -0,0 +1,1743 @@ +#!/bin/sh + +ANSWER="/tmp/.setup" +TITLE="Arch Linux Installation" +# use the first VT not dedicated to a running console +LOG="/dev/tty7" +# don't use /mnt because it's intended to mount other things there! +DESTDIR="/tmp/install" +EDITOR= + +# name of the kernel image +VMLINUZ="vmlinuz26" + +# abstract the common pacman args +PACMAN="pacman --root ${DESTDIR} --config /tmp/pacman.conf --noconfirm" +# downloader +DLPROG="wget" +# sources +SYNC_URL= +FILE_URL="file:///src/core-$(uname -m)/pkg" +MIRRORLIST="/etc/pacman.d/mirrorlist" + +# partitions +PART_ROOT= +PART_SWAP= + +PATH=$PATH:/tmp/bin:/tmp/usr/bin:/tmp/sbin:/tmp/usr/sbin + +# default filesystem specs (the + is bootable flag) +# ::[:+] +DEFAULTFS="/boot:32:ext2:+ swap:256:swap /:7500:ext3 /home:*:ext3" + +# install stages +S_SRC=0 # choose install medium +S_NET=0 # network configuration +S_CLOCK=0 # clock and timezone +S_PART=0 # partitioning +S_MKFS=0 # formatting +S_MKFSAUTO=0 # auto fs part/formatting TODO: kill this +S_SELECT=0 # package selection +S_INSTALL=0 # package installation +S_CONFIG=0 # configuration editing +S_LILO=0 # TODO: kill this - if using lilo +S_GRUB=0 # TODO: kill this - if using grub +S_BOOT="" # bootloader installed (set to loader name instead of 1) + +# menu item tracker- autoselect the next item +NEXTITEM="" + +# DIALOG() +# an el-cheapo dialog wrapper +# +# parameters: see dialog(1) +# returns: whatever dialog did +DIALOG() { + dialog --backtitle "$TITLE" --aspect 15 "$@" + return $? +} + +finddisks() { + workdir="$PWD" + cd /sys/block + # ide devices + for dev in $(ls | egrep '^hd'); do + if [ "$(cat $dev/device/media)" = "disk" ]; then + if [ "$(dmesg | grep sectors | grep $dev)" ]; then + echo "/dev/$dev" + [ "$1" ] && echo $1 + fi + fi + done + #scsi/sata devices + for dev in $(ls | egrep '^sd'); do + if ! [ "$(cat $dev/device/type)" = "5" ]; then + if [ "$(dmesg | grep sectors | grep $dev)" ]; then + echo "/dev/$dev" + [ "$1" ] && echo $1 + fi + fi + done + # cciss controllers + if [ -d /dev/cciss ] ; then + cd /dev/cciss + for dev in $(ls | egrep -v 'p'); do + echo "/dev/cciss/$dev" + [ "$1" ] && echo $1 + done + fi + # Smart 2 controllers + if [ -d /dev/ida ] ; then + cd /dev/ida + for dev in $(ls | egrep -v 'p'); do + echo "/dev/ida/$dev" + [ "$1" ] && echo $1 + done + fi + cd "$workdir" +} + +# getuuid() +# converts /dev/[hs]d?[0-9] devices to UUIDs +# +# parameters: device file +# outputs: UUID on success +# nothing on failure +# returns: nothing +getuuid() +{ + if [ "${1%%/[hs]d?[0-9]}" != "${1}" ]; then + echo "$(blkid -s UUID -o value ${1})" + fi +} + + +findcdroms() { + workdir="$PWD" + cd /sys/block + # ide devices + for dev in $(ls | egrep '^hd'); do + if [ "$(cat $dev/device/media)" = "cdrom" ]; then + echo "/dev/$dev" + [ "$1" ] && echo $1 + fi + done + # scsi/sata and other devices + for dev in $(ls | egrep '^sd|^sr|^scd|^sg'); do + if [ "$(cat $dev/device/type)" = "5" ]; then + echo "/dev/$dev" + [ "$1" ] && echo $1 + fi + done + cd "$workdir" +} + +findpartitions() { + workdir="$PWD" + for devpath in $(finddisks); do + disk=$(echo $devpath | sed 's|.*/||') + cd /sys/block/$disk + for part in $disk*; do + # check if not already assembled to a raid device + if ! [ "$(cat /proc/mdstat 2>/dev/null | grep $part)" -o "$(fstype 2>/dev/null /dev/null | grep "5")" ]; then + if [ -d $part ]; then + echo "/dev/$part" + [ "$1" ] && echo $1 + fi + fi + done + done + # include any mapped devices + for devpath in $(ls /dev/mapper 2>/dev/null | grep -v control); do + echo "/dev/mapper/$devpath" + [ "$1" ] && echo $1 + done + # include any raid md devices + for devpath in $(ls -d /dev/md* | grep '[0-9]' 2>/dev/null); do + if cat /proc/mdstat | grep -qw $(echo $devpath | sed -e 's|/dev/||g'); then + echo "$devpath" + [ "$1" ] && echo $1 + fi + done + # inlcude cciss controllers + if [ -d /dev/cciss ] ; then + cd /dev/cciss + for dev in $(ls | egrep 'p'); do + echo "/dev/cciss/$dev" + [ "$1" ] && echo $1 + done + fi + # inlcude Smart 2 controllers + if [ -d /dev/ida ] ; then + cd /dev/ida + for dev in $(ls | egrep 'p'); do + echo "/dev/ida/$dev" + [ "$1" ] && echo $1 + done + fi + cd "$workdir" +} + +get_grub_map() { + rm /tmp/dev.map + DIALOG --infobox "Generating GRUB device map...\nThis could take a while.\n\n Please be patient." 0 0 + $DESTDIR/sbin/grub --no-floppy --device-map /tmp/dev.map >/tmp/grub.log 2>&1 </proc/sys/kernel/printk ;; + "off") echo 0 >/proc/sys/kernel/printk ;; + esac +} + +getdest() { + [ "$DESTDIR" ] && return 0 + DIALOG --inputbox "Enter the destination directory where your target system is mounted" 8 65 "/tmp/install" 2>$ANSWER || return 1 + DESTDIR=$(cat $ANSWER) +} + +geteditor() { + if ! [ $(which vi) ]; then + DIALOG --menu "Select a Text Editor to Use" 10 35 3 \ + "1" "nano (easier)" 2>$ANSWER + else + DIALOG --menu "Select a Text Editor to Use" 10 35 3 \ + "1" "nano (easier)" \ + "2" "vi" 2>$ANSWER + fi + case $(cat $ANSWER) in + "1") EDITOR="nano" ;; + "2") EDITOR="vi" ;; + *) EDITOR="nano" ;; + esac +} + +_mkfs() { + local _domk=$1 + local _device=$2 + local _fstype=$3 + local _dest=$4 + local _mountpoint=$5 + + if [ "${_fstype}" = "swap" ]; then + _mountpoint="swap" + swapoff ${_device} >/dev/null 2>&1 + if [ "${_domk}" = "yes" ]; then + mkswap ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating swap: mkswap ${_device}" 0 0 + return 1 + fi + fi + swapon ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error activating swap: swapon ${_device}" 0 0 + return 1 + fi + elif [ "${_fstype}" = "xfs" ]; then + if [ "${_domk}" = "yes" ]; then + mkfs.xfs -f ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating filesystem: mkfs.xfs ${_device}" 0 0 + return 1 + fi + sleep 2 + fi + mkdir -p ${_dest}${_mountpoint} + mount -t xfs ${_device} ${_dest}${_mountpoint} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error mounting ${_dest}${_mountpoint}" 0 0 + return 1 + fi + elif [ "${_fstype}" = "jfs" ]; then + if [ "${_domk}" = "yes" ]; then + yes | mkfs.jfs ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating filesystem: mkfs.jfs ${_device}" 0 0 + return 1 + fi + sleep 2 + fi + mkdir -p ${_dest}${_mountpoint} + mount -t jfs ${_device} ${_dest}${_mountpoint} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error mounting ${_dest}${_mountpoint}" 0 0 + return 1 + fi + elif [ "${_fstype}" = "reiserfs" ]; then + if [ "${_domk}" = "yes" ]; then + yes | mkreiserfs ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating filesystem: mkreiserfs ${_device}" 0 0 + return 1 + fi + sleep 2 + fi + mkdir -p ${_dest}${_mountpoint} + mount -t reiserfs ${_device} ${_dest}${_mountpoint} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error mounting ${_dest}${_mountpoint}" 0 0 + return 1 + fi + elif [ "${_fstype}" = "ext2" ]; then + if [ "${_domk}" = "yes" ]; then + mke2fs "${_device}" >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating filesystem: mke2fs ${_device}" 0 0 + return 1 + fi + sleep 2 + fi + mkdir -p ${_dest}${_mountpoint} + mount -t ext2 ${_device} ${_dest}${_mountpoint} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error mounting ${_dest}${_mountpoint}" 0 0 + return 1 + fi + elif [ "${_fstype}" = "ext3" ]; then + if [ "${_domk}" = "yes" ]; then + mke2fs -j ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating filesystem: mke2fs -j ${_device}" 0 0 + return 1 + fi + sleep 2 + fi + mkdir -p ${_dest}${_mountpoint} + mount -t ext3 ${_device} ${_dest}${_mountpoint} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error mounting ${_dest}${_mountpoint}" 0 0 + return 1 + fi + elif [ "${_fstype}" = "vfat" ]; then + if [ "${_domk}" = "yes" ]; then + mkfs.vfat ${_device} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error creating filesystem: mkfs.vfat ${_device}" 0 0 + return 1 + fi + sleep 2 + fi + mkdir -p ${_dest}${_mountpoint} + mount -t vfat ${_device} ${_dest}${_mountpoint} >$LOG 2>&1 + if [ $? != 0 ]; then + DIALOG --msgbox "Error mounting ${_dest}${_mountpoint}" 0 0 + return 1 + fi + else + DIALOG --msgbox "unknown fstype for ${_device}" 0 0 + return 1 + fi + + # add to temp fstab + if [ "$UUIDPARAMETER" = "yes" ]; then + local _uuid="$(getuuid ${_device})" + if [ -n "${_uuid}" ]; then + _device="UUID=${_uuid}" + fi + echo -n "${_device} ${_mountpoint} ${_fstype} defaults 0 " >>/tmp/.fstab + else + echo -n "${_device} ${_mountpoint} ${_fstype} defaults 0 " >>/tmp/.fstab + fi + if [ "${_fstype}" = "swap" ]; then + echo "0" >>/tmp/.fstab + else + echo "1" >>/tmp/.fstab + fi +} + +mksimplefs() { + DEVICE=$1 + FSSPECS=$2 + sfdisk_input="" + + # we assume a /dev/hdX format (or /dev/sdX) + dev=$DEVICE + PART_SWAP="${dev}2" + PART_ROOT="${dev}3" + + if [ "$S_MKFS" = "1" ]; then + DIALOG --msgbox "You have already prepared your filesystems manually" 0 0 + return 0 + fi + + # validate DEVICE + if [ ! -b "$DEVICE" ]; then + DIALOG --msgbox "Device '$DEVICE' is not valid" 0 0 + return 1 + fi + + # validate DEST + if [ ! -d "$DESTDIR" ]; then + DIALOG --msgbox "Destination directory '$DESTDIR' is not valid" 0 0 + return 1 + fi + + # /boot required + if [ $(echo $FSSPECS | grep '/boot:' | wc -l) -ne 1 ]; then + DIALOG --msgbox "Need exactly one boot partition" 0 0 + return 1 + fi + + # swap required + if [ $(echo $FSSPECS | grep 'swap:' | wc -l) -lt 1 ]; then + DIALOG --msgbox "Need at least one swap partition" 0 0 + return 1 + fi + + # / required + if [ $(echo $FSSPECS | grep '/:' | wc -l) -ne 1 ]; then + DIALOG --msgbox "Need exactly one root partition" 0 0 + return 1 + fi + + if [ $(echo $FSSPECS | grep '/home:' | wc -l) -ne 1 ]; then + DIALOG --msgbox "Need exactly one home partition" 0 0 + return 1 + fi + + rm -f /tmp/.fstab + + # disable swap and all mounted partitions, umount / last! + DIALOG --infobox "Disabling swapspace, unmounting already mounted disk devices..." 0 0 + swapoff -a >/dev/null 2>&1 + umount $(mount | grep -v "${DESTDIR} " | grep "${DESTDIR}" | sed 's|\ .*||g') >/dev/null 2>&1 + umount $(mount | grep "${DESTDIR} " | sed 's|\ .*||g') >/dev/null 2>&1 + + # setup input var for sfdisk + for fsspec in $FSSPECS; do + fssize=$(echo $fsspec | tr -d ' ' | cut -f2 -d:) + if [ "$fssize" = "*" ]; then + fssize_spec=';' + else + fssize_spec=",$fssize" + fi + fstype=$(echo $fsspec | tr -d ' ' | cut -f3 -d:) + if [ "$fstype" = "swap" ]; then + fstype_spec=",S" + else + fstype_spec="," + fi + bootflag=$(echo $fsspec | tr -d ' ' | cut -f4 -d:) + if [ "$bootflag" = "+" ]; then + bootflag_spec=",*" + else + bootflag_spec="" + fi + sfdisk_input="${sfdisk_input}${fssize_spec}${fstype_spec}${bootflag_spec}\n" + done + sfdisk_input=$(printf "$sfdisk_input") + + # invoke sfdisk + printk off + DIALOG --infobox "Partitioning $DEVICE" 0 0 + sfdisk $DEVICE -uM >$LOG 2>&1 <&1 > /dev/null; then + _mkfs yes ${DEVICE}${part} "$fstype" "$DESTDIR" "$mountpoint" || return 1 + fi + part=$(($part + 1)) + done + + # make other filesystems + part=1 + for fsspec in $FSSPECS; do + mountpoint=$(echo $fsspec | tr -d ' ' | cut -f1 -d:) + fstype=$(echo $fsspec | tr -d ' ' | cut -f3 -d:) + if [ $(echo $mountpoint | tr -d ' ' | grep '^/$' | wc -l) -eq 0 ]; then + _mkfs yes ${DEVICE}${part} "$fstype" "$DESTDIR" "$mountpoint" || return 1 + fi + part=$(($part + 1)) + done + + DIALOG --msgbox "Auto-prepare was successful" 0 0 + S_MKFSAUTO=1 +} + +partition() { + if [ "$S_MKFSAUTO" = "1" ]; then + DIALOG --msgbox "You have already prepared your filesystems with Auto-prepare" 0 0 + return 0 + fi + # disable swap and all mounted partitions, umount / last! + DIALOG --infobox "Disabling swapspace, unmounting already mounted disk devices..." 0 0 + swapoff -a >/dev/null 2>&1 + umount $(mount | grep -v "${DESTDIR} " | grep "${DESTDIR}" | sed 's|\ .*||g') >/dev/null 2>&1 + umount $(mount | grep "${DESTDIR} " | sed 's|\ .*||g') >/dev/null 2>&1 + # + # Select disk to partition + # + DISCS=$(finddisks _) + DISCS="$DISCS OTHER -" + DIALOG --msgbox "Available Disks:\n\n$(for i in $(finddisks); do echo -n $(echo $i | sed 's#/dev/##g'): '' ; dmesg | grep $(echo $i | sed 's#/dev/##g') | grep sectors | sort -u | cut -d'(' -f2 | cut -d')' -f1; echo "\n"; done)\n" + DIALOG --menu "Select the disk you want to partition" 14 55 7 $DISCS 2>$ANSWER || return 1 + DISC=$(cat $ANSWER) + if [ "$DISC" = "OTHER" ]; then + DIALOG --inputbox "Enter the full path to the device you wish to partition" 8 65 "/dev/sda" 2>$ANSWER || return 1 + DISC=$(cat $ANSWER) + fi + while [ "$DISC" != "DONE" ]; do + # + # Partition disc + # + DIALOG --msgbox "Now you'll be put into the cfdisk program where you can partition your hard drive. You should make a swap partition and as many data partitions as you will need. NOTE: cfdisk may tell you to reboot after creating partitions. If you need to reboot, just re-enter this install program, skip this step and go on to step 2." 18 70 + cfdisk $DISC + + DIALOG --menu "Select the disk you want to partition" 14 55 7 $DISCS DONE + 2>$ANSWER || return 1 + DISC=$(cat $ANSWER) + if [ "$DISC" = "OTHER" ]; then + DIALOG --inputbox "Enter the full path to the device you wish to partition" 8 65 "/dev/sda" 2>$ANSWER || return 1 + DISC=$(cat $ANSWER) + fi + done + S_PART=1 +} + +mountpoints() { + if [ "$S_MKFSAUTO" = "1" ]; then + DIALOG --msgbox "You have already prepared your filesystems with Auto-prepare" 0 0 + return 0 + fi + while [ "$PARTFINISH" != "DONE" ]; do + : >/tmp/.fstab + : >/tmp/.parts + + # Determine which filesystems are available + insmod /lib/modules/$(uname -r)/kernel/fs/xfs/xfs.ko >/dev/null 2>&1 + insmod /lib/modules/$(uname -r)/kernel/fs/jfs/jfs.ko >/dev/null 2>&1 + FSOPTS="ext2 Ext2 ext3 Ext3" + [ "$(which mkreiserfs 2>/dev/null)" ] && FSOPTS="$FSOPTS reiserfs Reiser3" + [ "$(which mkfs.xfs 2>/dev/null)" ] && FSOPTS="$FSOPTS xfs XFS" + [ "$(which mkfs.jfs 2>/dev/null)" ] && FSOPTS="$FSOPTS jfs JFS" + [ "$(which mkfs.vfat 2>/dev/null)" ] && FSOPTS="$FSOPTS vfat VFAT" + + # + # Select mountpoints + # + DIALOG --msgbox "Available Disks:\n\n$(for i in $(finddisks); do echo -n $(echo $i | sed 's#/dev/##g'): '' ; dmesg | grep $(echo $i | sed 's#/dev/##g') | grep sectors | sort -u | cut -d'(' -f2 | cut -d')' -f1; echo "\n"; done)\n" 0 0 + PARTS=$(findpartitions _) + DIALOG --menu "Select the partition to use as swap" 21 50 13 NONE - $PARTS 2>$ANSWER || return 1 + PART=$(cat $ANSWER) + PARTS="$(echo $PARTS | sed -e "s#${PART}\ _##g")" + PART_SWAP=$PART + if [ "$PART_SWAP" != "NONE" ]; then + DOMKFS="no" + DIALOG --yesno "Would you like to create a filesystem on $PART?\n\n(This will overwrite existing data!)" 0 0 && DOMKFS="yes" + echo "$PART:swap:swap:$DOMKFS" >>/tmp/.parts + fi + + DIALOG --menu "Select the partition to mount as /" 21 50 13 $PARTS 2>$ANSWER || return 1 + PART=$(cat $ANSWER) + PARTS="$(echo $PARTS | sed -e "s#${PART}\ _##g")" + PART_ROOT=$PART + # Select root filesystem type + DIALOG --menu "Select a filesystem for $PART" 13 45 6 $FSOPTS 2>$ANSWER || return 1 + FSTYPE=$(cat $ANSWER) + DOMKFS="no" + DIALOG --yesno "Would you like to create a filesystem on $PART?\n\n(This will overwrite existing data!)" 0 0 && DOMKFS="yes" + echo "$PART:$FSTYPE:/:$DOMKFS" >>/tmp/.parts + + # + # Additional partitions + # + DIALOG --menu "Select any additional partitions to mount under your new root (select DONE when finished)" 21 50 13 $PARTS DONE _ 2>$ANSWER || return 1 + PART=$(cat $ANSWER) + while [ "$PART" != "DONE" ]; do + PARTS="$(echo $PARTS | sed -e "s#${PART}\ _##g")" + # Select a filesystem type + DIALOG --menu "Select a filesystem for $PART" 13 45 6 $FSOPTS 2>$ANSWER || return 1 + FSTYPE=$(cat $ANSWER) + MP="" + while [ "${MP}" = "" ]; do + DIALOG --inputbox "Enter the mountpoint for $PART" 8 65 "/boot" 2>$ANSWER || return 1 + MP=$(cat $ANSWER) + if grep ":$MP:" /tmp/.parts; then + DIALOG --msgbox "ERROR: You have defined 2 identical mountpoints! Please select another mountpoint." 8 65 + MP="" + fi + done + DOMKFS="no" + DIALOG --yesno "Would you like to create a filesystem on $PART?\n\n(This will overwrite existing data!)" 0 0 && DOMKFS="yes" + echo "$PART:$FSTYPE:$MP:$DOMKFS" >>/tmp/.parts + DIALOG --menu "Select any additional partitions to mount under your new root" 21 50 13 $PARTS DONE _ 2>$ANSWER || return 1 + PART=$(cat $ANSWER) + done + DIALOG --yesno "Would you like to create and mount the filesytems like this?\n\nSyntax\n------\nDEVICE:TYPE:MOUNTPOINT:FORMAT\n\n$(for i in $(cat /tmp/.parts); do echo "$i\n";done)" 0 0 && PARTFINISH="DONE" + done + # disable swap and all mounted partitions + DIALOG --infobox "Disabling swapspace, unmounting already mounted disk devices..." 0 0 + swapoff -a >/dev/null 2>&1 + umount $(mount | grep -v "${DESTDIR} " | grep "${DESTDIR}" | sed 's|\ .*||g') >/dev/null 2>&1 + umount $(mount | grep "${DESTDIR} " | sed 's|\ .*||g') >/dev/null 2>&1 + for line in $(cat /tmp/.parts); do + PART=$(echo $line | cut -d: -f 1) + FSTYPE=$(echo $line | cut -d: -f 2) + MP=$(echo $line | cut -d: -f 3) + DOMKFS=$(echo $line | cut -d: -f 4) + umount ${DESTDIR}${MP} + if [ "$DOMKFS" = "yes" ]; then + if [ "$FSTYPE" = "swap" ]; then + DIALOG --infobox "Creating swapspace on $PART, activating..." 0 0 + else + DIALOG --infobox "Creating $FSTYPE on $PART, mounting to ${DESTDIR}${MP}" 0 0 + fi + _mkfs yes $PART $FSTYPE $DESTDIR $MP || return 1 + else + if [ "$FSTYPE" = "swap" ]; then + DIALOG --infobox "Activating swapspace on $PART" 0 0 + else + DIALOG --infobox "Mounting $PART to ${DESTDIR}${MP}" + fi + _mkfs no $PART $FSTYPE $DESTDIR $MP || return 1 + fi + sleep 1 + done + + DIALOG --msgbox "Partitions were successfully mounted." 0 0 + S_MKFS=1 +} + +getsource() { + S_SRC=0 + if [ "$MODE" = "cd" ]; then + DIALOG --menu "You can either install packages from an Arch Linux CD, or you can switch to another VC and manually mount the source media under /src. If you manually mount to /src, make sure the packages are available under /src/core-$(uname -m)/pkg.\n\n" \ + 15 55 2 \ + "CD" "Mount the CD-ROM and install from there" \ + "SRC" "I have manually mounted the source media" 2>$ANSWER || return 1 + case $(cat $ANSWER) in + "CD") + select_cdrom + ;; + "SRC") + ;; + esac + if [ ! -d /src/core-$(uname -m)/pkg ]; then + DIALOG --msgbox "Package directory /src/core-$(uname -m)/pkg is missing!" 0 0 + return 1 + fi + fi + + if [ "$MODE" = "ftp" ]; then + select_mirror + fi + S_SRC=1 +} + +# select_mirror() +# Prompt user for preferred mirror and set $SYNC_URL +# +# args: none +# returns: nothing +select_mirror() { + DIALOG --msgbox "Keep in mind ftp.archlinux.org is throttled.\nPlease select another mirror to get full download speed." 18 70 + # FIXME: this regex doesn't honor commenting + MIRRORS=$(egrep -o '((ftp)|(http))://[^/]*' "${MIRRORLIST}" | sed 's|$| _|g') + DIALOG --menu "Select an FTP/HTTP mirror" 14 55 7 \ + $MIRRORS \ + "Custom" "_" 2>$ANSWER || return 1 + local _server=$(cat $ANSWER) + if [ "${_server}" = "Custom" ]; then + DIALOG --inputbox "Enter the full URL to core repo." 8 65 \ + "ftp://ftp.archlinux.org/core/os/i686" 2>$ANSWER || return 1 + SYNC_URL=$(cat $ANSWER) + else + SYNC_URL=$(egrep -o "${_server}.*" "${MIRRORLIST}" | sed 's/\$repo/core/g') + fi +} + +select_cdrom () { + # we may have leftover mounts... + umount /src >/dev/null 2>&1 + CDROMS=$(findcdroms _) + if [ "$CDROMS" = "" ]; then + DIALOG --msgbox "No CD drives were found" 0 0 + return 1 + fi + DIALOG --msgbox "Available CD drives:\n\n$(for i in $(findcdroms); do k=$(echo $i: | sed 's#/dev/##g'); dmesg | grep $k | grep "CD/"| cut -d, -f1 | sed 's/ /|/g';l=$(echo "$k"$(dmesg | grep $(dmesg | grep $(echo $k | sed 's#:##g') |grep CD- |cut -d\ -f2) | grep ^scsi | sed -e 's/ /|/g' | sed -e 's#.*CD-ROM##g' | sed -e 's#|||##g' | sed -e 's#||#|#g')); ! [ "$l" = "$k" ] && echo $l; done)\n" 0 0 + DIALOG --menu "Select the CD drive that contains Arch packages" 14 55 7 $CDROMS 2>$ANSWER || return 1 + CDROM=$(cat $ANSWER) + DIALOG --infobox "Mounting $CDROM" 0 0 + mount -t iso9660 $CDROM /src >/dev/null 2>&1 + if [ $? -gt 0 ]; then + DIALOG --msgbox "Failed to mount $CDROM" 0 0 + return 1 + fi +} + +prepare_pacman() { + cd /tmp + if [ "$MODE" = "cd" ]; then + local serverurl="${FILE_URL}" + elif [ "$MODE" = "ftp" ]; then + local serverurl="${SYNC_URL}" + fi + # Setup a pacman.conf in /tmp + cat << EOF > /tmp/pacman.conf +[options] +CacheDir = ${DESTDIR}/var/cache/pacman/pkg +CacheDir = /src/core-$(uname -m)/pkg + +[core] +Server = ${serverurl} +EOF + + # Set up the necessary directories for pacman use + [ ! -d "${DESTDIR}/var/cache/pacman/pkg" ] && mkdir -m 755 -p "${DESTDIR}/var/cache/pacman/pkg" + [ ! -d "${DESTDIR}/var/lib/pacman" ] && mkdir -m 755 -p "${DESTDIR}/var/lib/pacman" + + DIALOG --infobox "Refreshing package database..." 6 45 + # FIXME: if sync fails. this function needs to fail. + $PACMAN -Sy >$LOG 2>&1 +} + +selectpkg() { + if ! [ "$S_SRC" = "1" ]; then + DIALOG --msgbox "Error:\nYou must select Source first." 0 0 + return 1 + fi + # Archboot setup CD Mode uses packages.txt! + if [ "$MODE" = "cd" ]; then + DIALOG --msgbox "Package selection is split into two stages. First you will select package categories that contain packages you may be interested in. Then you will be presented with a full list of packages in your selected categories, allowing you to fine-tune your selection.\n\nNOTE: It is recommended that you install the BASE category from this setup, SUPPORT contains additional useful packages for networking and filesystems, DEVEL contains software building tools." 18 70 + # set up our install location if necessary and sync up + # so we can get package lists + prepare_pacman + PKGS="/src/core-$(uname -m)/pkg/packages.txt" + if ! [ -f /tmp/.pkgcategory ]; then + CHKLIST="base ^ ON" + for category in $(cat $PKGS | sed 's|/.*$||g' | uniq | grep -v base | grep -v kernels); do + CHKLIST="$CHKLIST $category - OFF" + done + else + CHKLIST= + for i in $(cat /tmp/.pkgcategory | sed 's|\"||g'); do + CHKLIST="$CHKLIST $i ^ ON" + done + for category in $(cat $PKGS | sed 's|/.*$||g' | uniq | grep -v kernels); do + grep $category /tmp/.pkgcategory > /dev/null 2>&1 || CHKLIST="$CHKLIST $category - OFF" + done + fi + DIALOG --checklist "Select Package Categories" 19 55 12 $CHKLIST 2>/tmp/.pkgcategory || return 1 + SELECTALL="no" + DIALOG --yesno "Select all packages by default?" 0 0 && SELECTALL="yes" + CHKLIST= + for category in $(cat /tmp/.pkgcategory | sed 's|"||g'); do + if [ "$category" = "x11-drivers" ]; then + DIALOG --msgbox "NOTE:\n-------\nxf86-video-via and xf86-video-unichrome are disabled by default, please select the correct package you need and don't choose both! Else installation will fail!" 0 0 + fi + tag="OFF" + if [ "$SELECTALL" = "yes" ]; then + tag="ON" + fi + list=$(cat $PKGS | grep "$category/" | grep -v 'xf86-video-unichrome' | grep -v 'xf86-video-via' | sed 's|^[a-z0-9-]*/||g' | sed "s|.pkg.tar.gz$| ($category) $tag|g" | sort) + CHKLIST="$CHKLIST $list" + tag="OFF" + list=$(cat $PKGS | grep "$category/" | grep 'xf86-video-unichrome' | sed 's|^[a-z0-9-]*/||g' | sed "s|.pkg.tar.gz$| ($category) $tag|g" | sort) + CHKLIST="$CHKLIST $list" + list=$(cat $PKGS | grep "$category/" | grep 'xf86-video-via' | sed 's|^[a-z0-9-]*/||g' | sed "s|.pkg.tar.gz$| ($category) $tag|g" | sort) + CHKLIST="$CHKLIST $list" + done + DIALOG --checklist "Select Packages to install. Use SPACE to select." 19 60 12 $CHKLIST 2>/tmp/.pkglist || return 1 + fi + # Use default ftp install routine from arch livecd + if [ "$MODE" = "ftp" ]; then + DIALOG --msgbox "Package selection is split into two stages. First you will select package categories that contain packages you may be interested in. Then you will be presented with a full list of packages with your categories already selected, allowing you to fine-tune.\n\nNOTE: The BASE category is always installed, and its packages will not appear in this menu." 18 70 + # set up our install location if necessary and sync up + # so we can get package lists + prepare_pacman + # category selection hasn't been done before + if ! [ -f /tmp/.pkgcategory ]; then + CATLIST="" + for i in $($PACMAN -Sg | sed "s/^base$/ /g"); do + CATLIST="${CATLIST} ${i} - OFF" + done + else + # category selection was already run at least once + CATLIST="" + for i in $(cat /tmp/.pkgcategory | sed 's|\"||g'); do + CATLIST="$CATLIST $i ^ ON" + done + for i in $($PACMAN -Sg | sed "s/^base$/ /g"); do + grep $i /tmp/.pkgcategory > /dev/null 2>&1 || CATLIST="$CATLIST $i - OFF" + done + fi + DIALOG --checklist "Select Package Categories" 19 55 12 $CATLIST 2>/tmp/.pkgcategory || return 1 + + # mash up the package lists + COREPKGS=$($PACMAN -Sl core | cut -d' ' -f2) + + # remove base packages from the selectable list + for i in $($PACMAN -Sg base | tail +2); do + COREPKGS=$(echo ${COREPKGS} | sed "s/\(^${i} \| ${i} \| ${i}$\)/ /g") + done + # assemble a list of pre-selected packages + for i in $(cat /tmp/.pkgcategory | sed 's|"||g'); do + CATPKGS="$CATPKGS $($PACMAN -Sg ${i} | tail +2)" + done + # put together the menu list + PKGLIST="" + for i in ${COREPKGS}; do + # if the package was preselected, check it + if [ -n "$(echo $CATPKGS | grep "\(^${i} \| ${i} \| ${i}$\)")" ]; then + PKGLIST="$PKGLIST ${i} ^ ON" + else + PKGLIST="$PKGLIST ${i} - OFF" + fi + done + DIALOG --checklist "Select Packages To Install." 19 60 12 $PKGLIST 2>/tmp/.pkglist || return 1 + fi + S_SELECT=1 +} + +doinstall() +{ + # begin install + rm -f /tmp/pacman.log + # all pacman output goes to /tmp/pacman.log, which we tail into a dialog + ( \ + echo "Installing Packages..." >/tmp/pacman.log ; echo >>/tmp/pacman.log ; \ + touch /tmp/setup-pacman-running ; \ + $PACMAN -S $(echo $* | sed 's|"||g') >>/tmp/pacman.log 2>&1 ; \ + echo $? >/tmp/.pacman.retcode; \ + echo >>/tmp/pacman.log; \ + + if [ "$(cat /tmp/.pacman.retcode)" -gt 0 ]; then + echo "Package Installation FAILED." >>/tmp/pacman.log + else + echo "Package Installation Complete." >>/tmp/pacman.log + fi + rm /tmp/setup-pacman-running + ) & + + sleep 2 + dialog --backtitle "$TITLE" --title " Installing... Please Wait " \ + --no-kill --tailboxbg "/tmp/pacman.log" 18 70 2>/tmp/.pid + while [ -f /tmp/setup-pacman-running ]; do + sleep 1 + done + kill $(cat /tmp/.pid) + if [ "$(cat /tmp/.pacman.retcode)" -gt 0 ]; then + result="Installation Failed (see errors below)" + retcode=1 + else + result="Installation Complete" + retcode=0 + fi + # disabled for now + #dialog --backtitle "$TITLE" --title " $result " \ + # --exit-label "Continue" --textbox "/tmp/pacman.log" 18 70 + # fix the stair-stepping that --tailboxbg leaves us with + stty onlcr + + rm -f /tmp/.pacman.retcode + return $retcode +} + +installpkg() { + if ! [ "$S_SRC" = "1" ]; then + DIALOG --msgbox "Error:\nYou must select Source first." 0 0 + return 1 + fi + if [ "$MODE" = "cd" ]; then + if [ ! -f /tmp/.pkglist -o "$S_SELECT" != "1" ]; then + DIALOG --msgbox "You must select packages first." 0 0 + return 1 + fi + fi + if [ "$S_MKFS" != "1" -a "$S_MKFSAUTO" != "1" ]; then + getdest + fi + + DIALOG --msgbox "Package installation will begin now. You can watch the output in the progress window. Please be patient." 0 0 + if [ "$MODE" = "cd" ]; then + LIST= + # fix pacman list! + sed -i -e 's/-i686//g' -e 's/-x86_64//g' /tmp/.pkglist + for pkg in $(cat /tmp/.pkglist); do + pkgname=${pkg%-*-*} + LIST="$LIST $pkgname" + done + fi + if [ "$MODE" = "ftp" ]; then + LIST="base" # always install base + for pkg in $(cat /tmp/.pkglist); do + LIST="$LIST $pkg" + done + fi + # for a CD install, we don't need to download packages first + if [ "$MODE" = "ftp" ]; then + DIALOG --infobox "Downloading packages. See $LOG for output." 6 55 + $PACMAN -Sw $(echo $LIST | sed 's|"||g') >$LOG 2>&1 + if [ $? -gt 0 ]; then + DIALOG --msgbox "One or more packages failed to download. You can try again by re-selecting Install Packages from the main menu." 12 65 + return 1 + fi + fi + # mount proc/sysfs first, so initcpio can use auto-detection if it wants + ! [ -d $DESTDIR/proc ] && mkdir $DESTDIR/proc + ! [ -d $DESTDIR/sys ] && mkdir $DESTDIR/sys + ! [ -d $DESTDIR/dev ] && mkdir $DESTDIR/dev + mount -t proc none $DESTDIR/proc + mount -t sysfs none $DESTDIR/sys + mount -o bind /dev $DESTDIR/dev + doinstall $LIST + if [ $? -gt 0 ]; then + DIALOG --msgbox "One or more packages failed to install. You can try again by re-selecting Install Packages from the main menu." 12 65 + return 1 + fi + dialog --backtitle "$TITLE" --title " $result " \ + --exit-label "Continue" --textbox "/tmp/pacman.log" 18 70 + if [ $? -gt 0 ]; then + return 1 + fi + S_INSTALL=1 + # add archboot addons if activated + if [ -d /tmp/packages ]; then + DO_ADDON="" + DIALOG --yesno "Would you like to install your addons packages to installed system?" 0 0 && DO_ADDON="yes" + if [ "$DO_ADDON" = "yes" ] ; then + DIALOG --infobox "Installing the addons packages..." 0 0 + $PACMAN -U /tmp/packages/* + fi + fi + umount $DESTDIR/proc $DESTDIR/sys $DESTDIR/dev + sync + # Modify fstab + if [ "$S_MKFS" = "1" -o "$S_MKFSAUTO" = "1" ]; then + if [ -f /tmp/.fstab ]; then + # clean fstab first from /dev entries + sed -i -e '/^\/dev/d' $DESTDIR/etc/fstab + # clean /media from old floppy,cd,dvd entries + rm -r $DESTDIR/media/cd* + rm -r $DESTDIR/media/dvd* + rm -r $DESTDIR/media/fl* + # add floppy,cd and dvd entries first + for i in $(ls -d /dev/cdro* | grep -v "0"); do + k=$(echo $i | sed -e 's|/dev/||g') + echo "$i /media/$k auto ro,user,noauto,unhide 0 0" >>$DESTDIR/etc/fstab + # create dirs in /media + mkdir -p $DESTDIR/media/$k + done + for i in $(ls -d /dev/dvd* | grep -v "0"); do + k=$(echo $i | sed -e 's|/dev/||g') + echo "$i /media/$k auto ro,user,noauto,unhide 0 0" >>$DESTDIR/etc/fstab + # create dirs in /media + mkdir -p $DESTDIR/media/$k + done + for i in $(ls -d /dev/fd[0-9] | grep -v "[0-9][0-9][0-9]"); do + k=$(echo $i | sed -e 's|/dev/||g') + echo "$i /media/$k auto user,noauto 0 0" >>$DESTDIR/etc/fstab + # create dirs in /media + mkdir -p $DESTDIR/media/$k + done + sort /tmp/.fstab >>$DESTDIR/etc/fstab + fi + fi +} + +donetwork() { + INTERFACE= + S_DHCP= + ifaces=$(ifconfig -a | egrep "Ethernet" | cut -d' ' -f1 | sed 's|$| _|g') + if [ "$ifaces" = "" ]; then + DIALOG --yesno "Cannot find any ethernet interfaces. You probably haven't loaded\nyour network module yet. You have two options:\n\n 1) Probe for the correct module now.\n 2) Switch to another VC (ALT-F2) and load your module\n with the modprobe command, then switch back here (ALT-F1)\n and continue.\n\nIf you know which module you need, you should do Step 2 and\nselect NO below. If you don't know which module you need,\nchoose Step 1 by selecting YES below.\n\nProbe for network module?" 18 70 + if [ $? -eq 0 ]; then + probenic + if [ $? -gt 0 ]; then + return 1 + fi + fi + ifaces=$(ifconfig -a | egrep "Ethernet" | cut -d' ' -f1 | sed 's|$| _|g') + if [ "$ifaces" = "" ]; then + DIALOG --msgbox "No network interfaces available." 0 0 + return 1 + fi + fi + while [ "$INTERFACE" = "" ]; do + DIALOG --msgbox "Available Ethernet Interfaces:\n$(ifconfig -a | egrep "Ethernet" | sed 's# #_#g')\n\nIf your ethernet interface is not listed,\n1) Probe for the correct module now.\n2) Switch to another VC (ALT-F2) and load your module with\n the modprobe command, then switch back here (ALT-F1)\n" 0 0 + dialog --backtitle "$TITLE" --extra-button --extra-label "Probe" --ok-label "Select" --menu "Select a network interface" 14 55 7 $ifaces 2>$ANSWER + case $? in + 1) return 1 ;; + 0) INTERFACE=$(cat $ANSWER) ;; + *) probenic ;; + esac + ifaces=$(ifconfig -a | egrep "Ethernet" | cut -d' ' -f1 | sed 's|$| _|g') + done + DIALOG --yesno "Do you want to use DHCP?" 0 0 + if [ $? -eq 0 ]; then + DIALOG --infobox "Please wait. Polling for DHCP server on $INTERFACE..." 0 0 + dhcpcd $INTERFACE >$LOG 2>&1 || DIALOG --msgbox "Failed to run dhcpcd." 0 0 || return 1 + sleep 10 + if [ ! $(ifconfig $INTERFACE | grep 'inet addr:') ]; then + DIALOG --msgbox "DHCP request failed." 0 0 || return 1 + fi + S_DHCP=1 + else + NETPARAMETERS="" + while [ "$NETPARAMETERS" = "" ]; do + DIALOG --inputbox "Enter your IP address" 8 65 "192.168.0.2" 2>$ANSWER || return 1 + IPADDR=$(cat $ANSWER) + DIALOG --inputbox "Enter your netmask" 8 65 "255.255.255.0" 2>$ANSWER || return 1 + SUBNET=$(cat $ANSWER) + DIALOG --inputbox "Enter your broadcast" 8 65 "192.168.0.255" 2>$ANSWER || return 1 + BROADCAST=$(cat $ANSWER) + DIALOG --inputbox "Enter your gateway (optional)" 8 65 "192.168.0.1" 8 65 2>$ANSWER || return 1 + GW=$(cat $ANSWER) + DIALOG --inputbox "Enter your DNS server IP" 8 65 "192.168.0.1" 2>$ANSWER || return 1 + DNS=$(cat $ANSWER) + DIALOG --inputbox "Enter your HTTP proxy server, for example:\nhttp://name:port\nhttp://ip:port\nhttp://username:password@ip:port\n\n Leave the field empty if no proxy is needed to install." 16 65 "" 2>$ANSWER || return 1 + PROXY_HTTP=$(cat $ANSWER) + DIALOG --inputbox "Enter your FTP proxy server, for example:\nhttp://name:port\nhttp://ip:port\nhttp://username:password@ip:port\n\n Leave the field empty if no proxy is needed to install." 16 65 "" 2>$ANSWER || return 1 + PROXY_FTP=$(cat $ANSWER) + DIALOG --yesno "Are these settings correct?\n\nIP address: $IPADDR\nNetmask: $SUBNET\nGateway (optional): $GW\nDNS server: $DNS\nHTTP proxy server: $PROXY_HTTP\nFTP proxy server: $PROXY_FTP" 0 0 + case $? in + 1) ;; + 0) NETPARAMETERS="1" ;; + esac + done + ifconfig $INTERFACE $IPADDR netmask $SUBNET broadcast $BROADCAST up >$LOG 2>&1 || DIALOG --msgbox "Failed to setup $INTERFACE interface." 0 0 || return 1 + if [ "$GW" != "" ]; then + route add default gw $GW >$LOG 2>&1 || DIALOG --msgbox "Failed to setup your gateway." 0 0 || return 1 + fi + if [ "$PROXY_HTTP" = "" ]; then + unset http_proxy + else + export http_proxy=$PROXY_HTTP + fi + if [ "$PROXY_FTP" = "" ]; then + unset ftp_proxy + else + export ftp_proxy=$PROXY_FTP + fi + echo "nameserver $DNS" >/etc/resolv.conf + fi + ### Missing Proxy Configuration + DIALOG --msgbox "The network is configured." 0 0 + S_NET=1 +} + +probenic() { + workdir="$PWD" + DIALOG --infobox "Looking for a matching ethernet module. Please wait..." 0 0 + printk off + + cd /lib/modules/$(uname -r)/kernel/drivers/net + if [ $? -gt 0 ]; then + DIALOG --msgbox "No ethernet modules were found!" 0 0 + printk on + cd "$workdir" + return 1 + fi + # modules with no modalias exported! status kernel 2.6.18 + NOTDETECTABLE="hp ne de4x5 wd cs89x0 eepro smc9194 seeq8005 ni52 ni65 ac3200 smc-ultra at1700 hp-plus depca eexpress 82596 de600 eth16i de620 lance ewrk3 e2100 lp486e 3c501 3c503 3c505 3c507 3c509 3c515 myri10ge" + for mod in ${NOTDETECTABLE}; do + modprobe $mod >/dev/null 2>&1 + done + + ifconfig -a | egrep "Ethernet" >/dev/null 2>&1 + if [ $? -gt 0 ]; then + DIALOG --msgbox "No matching ethernet modules found." 0 0 + else + DIALOG --msgbox "Probe succeeded. Your network module is loaded." 0 0 + fi + + printk on + cd "$workdir" +} + +dolilo() { + if [ ! -f $DESTDIR/etc/lilo.conf ]; then + DIALOG --msgbox "Error: Couldn't find $DESTDIR/etc/lilo.conf. Is LILO installed?" 0 0 + return 1 + fi + # Try to auto-configure LILO... + if [ "$PART_ROOT" != "" -a "$S_LILO" != "1" ]; then + sed -i "s|vmlinuz26|vmlinuz|g" $DESTDIR/etc/lilo.conf + sed -i "s|vmlinuz|$VMLINUZ|g" $DESTDIR/etc/lilo.conf + if [ "$UUIDPARAMETER" = "yes" ]; then + local _rootpart="${PART_ROOT}" + local _uuid="$(getuuid ${PART_ROOT})" + if [ -n "${_uuid}" ]; then + _rootpart="/dev/disk/by-uuid/${_uuid}" + fi + sed -i "s|root=.*$|append=\"root=${_rootpart}\"|g" $DESTDIR/etc/lilo.conf + else + sed -i "s|root=.*$|root=${PART_ROOT}|g" $DESTDIR/etc/lilo.conf + fi + fi + DEVS=$(finddisks _) + DEVS="$DEVS $(findpartitions _)" + if [ "$DEVS" = "" ]; then + DIALOG --msgbox "No hard drives were found" 0 0 + return 1 + fi + DIALOG --menu "Select the boot device where the LILO bootloader will be installed (usually the MBR)" 14 55 7 $DEVS 2>$ANSWER || return 1 + ROOTDEV=$(cat $ANSWER) + sed -i "s|boot=.*$|boot=$ROOTDEV|g" $DESTDIR/etc/lilo.conf + DIALOG --msgbox "Before installing LILO, you must review the configuration file. You will now be put into the editor. After you save your changes and exit the editor, LILO will be installed." 0 0 + [ "$EDITOR" ] || geteditor + $EDITOR ${DESTDIR}/etc/lilo.conf + DIALOG --infobox "Installing the LILO bootloader..." 0 0 + mount -t proc none $DESTDIR/proc + mount -o bind /dev $DESTDIR/dev + chroot $DESTDIR /sbin/lilo >$LOG 2>&1 + if [ $? -gt 0 ]; then + umount $DESTDIR/dev $DESTDIR/proc + DIALOG --msgbox "Error installing LILO. (see $LOG for output)" 0 0 + return 1 + fi + umount $DESTDIR/dev $DESTDIR/proc + DIALOG --msgbox "LILO was successfully installed." 0 0 + S_LILO=1 +} + +dogrub() { + get_grub_map + if [ ! -f $DESTDIR/boot/grub/menu.lst ]; then + DIALOG --msgbox "Error: Couldn't find $DESTDIR/boot/grub/menu.lst. Is GRUB installed?" 0 0 + return 1 + fi + # try to auto-configure GRUB... + if [ "$PART_ROOT" != "" -a "$S_GRUB" != "1" ]; then + grubdev=$(mapdev $PART_ROOT) + if [ "$UUIDPARAMETER" = "yes" ]; then + local _rootpart="${PART_ROOT}" + local _uuid="$(getuuid ${PART_ROOT})" + if [ -n "${_uuid}" ]; then + _rootpart="/dev/disk/by-uuid/${_uuid}" + fi + fi + # look for a separately-mounted /boot partition + bootdev=$(mount | grep $DESTDIR/boot | cut -d' ' -f 1) + if [ "$grubdev" != "" -o "$bootdev" != "" ]; then + cp $DESTDIR/boot/grub/menu.lst /tmp/.menu.lst + # remove the default entries by truncating the file at our little tag (#-*) + head -n $(cat /tmp/.menu.lst | grep -n '#-\*' | cut -d: -f 1) /tmp/.menu.lst >$DESTDIR/boot/grub/menu.lst + rm -f /tmp/.menu.lst + echo "" >>$DESTDIR/boot/grub/menu.lst + echo "# (0) Arch Linux" >>$DESTDIR/boot/grub/menu.lst + echo "title Arch Linux" >>$DESTDIR/boot/grub/menu.lst + subdir= + if [ "$bootdev" != "" ]; then + grubdev=$(mapdev $bootdev) + else + subdir="/boot" + fi + echo "root $grubdev" >>$DESTDIR/boot/grub/menu.lst + if [ "$UUIDPARAMETER" = "yes" ]; then + echo "kernel $subdir/$VMLINUZ root=${_rootpart} ro" >>$DESTDIR/boot/grub/menu.lst + else + echo "kernel $subdir/$VMLINUZ root=$PART_ROOT ro" >>$DESTDIR/boot/grub/menu.lst + fi + if [ "$VMLINUZ" = "vmlinuz26" ]; then + echo "initrd $subdir/kernel26.img" >>$DESTDIR/boot/grub/menu.lst + fi + echo "" >>$DESTDIR/boot/grub/menu.lst + # adding fallback/full image + echo "# (1) Arch Linux" >>$DESTDIR/boot/grub/menu.lst + echo "title Arch Linux Fallback" >>$DESTDIR/boot/grub/menu.lst + echo "root $grubdev" >>$DESTDIR/boot/grub/menu.lst + if [ "$UUIDPARAMETER" = "yes" ]; then + echo "kernel $subdir/$VMLINUZ root=${_rootpart} ro" >>$DESTDIR/boot/grub/menu.lst + else + echo "kernel $subdir/$VMLINUZ root=$PART_ROOT ro" >>$DESTDIR/boot/grub/menu.lst + fi + if [ "$VMLINUZ" = "vmlinuz26" ]; then + echo "initrd $subdir/kernel26-fallback.img" >>$DESTDIR/boot/grub/menu.lst + fi + echo "" >>$DESTDIR/boot/grub/menu.lst + echo "# (1) Windows" >>$DESTDIR/boot/grub/menu.lst + echo "#title Windows" >>$DESTDIR/boot/grub/menu.lst + echo "#rootnoverify (hd0,0)" >>$DESTDIR/boot/grub/menu.lst + echo "#makeactive" >>$DESTDIR/boot/grub/menu.lst + echo "#chainloader +1" >>$DESTDIR/boot/grub/menu.lst + fi + fi + + DIALOG --msgbox "Before installing GRUB, you must review the configuration file. You will now be put into the editor. After you save your changes and exit the editor, you can install GRUB." 0 0 + [ "$EDITOR" ] || geteditor + $EDITOR ${DESTDIR}/boot/grub/menu.lst + + DEVS=$(finddisks _) + DEVS="$DEVS $(findpartitions _)" + if [ "$DEVS" = "" ]; then + DIALOG --msgbox "No hard drives were found" 0 0 + return 1 + fi + DIALOG --menu "Select the boot device where the GRUB bootloader will be installed (usually the MBR)" 14 55 7 $DEVS 2>$ANSWER || return 1 + ROOTDEV=$(cat $ANSWER) + DIALOG --infobox "Installing the GRUB bootloader..." 0 0 + cp -a $DESTDIR/usr/lib/grub/i386-pc/* $DESTDIR/boot/grub/ + sync + # freeze xfs filesystems to enable grub installation on xfs filesystems + if [ -x /usr/sbin/xfs_freeze ]; then + /usr/sbin/xfs_freeze -f $DESTDIR/boot > /dev/null 2>&1 + /usr/sbin/xfs_freeze -f $DESTDIR/ > /dev/null 2>&1 + fi + # look for a separately-mounted /boot partition + bootpart=$(mount | grep $DESTDIR/boot | cut -d' ' -f 1) + if [ "$bootpart" = "" ]; then + if [ "$PART_ROOT" = "" ]; then + DIALOG --inputbox "Enter the full path to your root device" 8 65 "/dev/sda3" 2>$ANSWER || return 1 + bootpart=$(cat $ANSWER) + else + bootpart=$PART_ROOT + fi + fi + DIALOG --defaultno --yesno "Do you have your system installed on software raid?\nAnswer 'YES' to install grub to another hard disk." 0 0 + if [ $? -eq 0 ]; then + DIALOG --menu "Please select the boot partition device, this cannot be autodetected!\nPlease redo grub installation for all partitions you need it!" 14 55 7 $DEVS 2>$ANSWER || return 1 + bootpart=$(cat $ANSWER) + fi + bootpart=$(mapdev $bootpart) + bootdev=$(mapdev $ROOTDEV) + if [ "$bootpart" = "" ]; then + DIALOG --msgbox "Error: Missing/Invalid root device: $bootpart" 0 0 + return 1 + fi + $DESTDIR/sbin/grub --no-floppy --batch >/tmp/grub.log 2>&1 <$LOG + # unfreeze xfs filesystems + if [ -x /usr/sbin/xfs_freeze ]; then + /usr/sbin/xfs_freeze -u $DESTDIR/boot > /dev/null 2>&1 + /usr/sbin/xfs_freeze -u $DESTDIR/ > /dev/null 2>&1 + fi + + if grep "Error [0-9]*: " /tmp/grub.log >/dev/null; then + DIALOG --msgbox "Error installing GRUB. (see $LOG for output)" 0 0 + return 1 + fi + DIALOG --msgbox "GRUB was successfully installed." 0 0 + S_GRUB=1 +} + +select_source() +{ + if ! [ $(which $DLPROG) ]; then + DIALOG --menu "Please select an installation source" 10 35 3 \ + "1" "CD-ROM or OTHER SOURCE" 2>$ANSWER || return 1 + else + DIALOG --menu "Please select an installation source" 10 35 3 \ + "1" "CD-ROM or OTHER SOURCE" \ + "2" "FTP/HTTP" 2>$ANSWER || return 1 + fi + + case $(cat $ANSWER) in + "1") + MODE="cd" + ;; + "2") + MODE="ftp" + ;; + esac + + if [ "$MODE" = "cd" ]; then + TITLE="Arch Linux CDROM or OTHER SOURCE Installation" + getsource + else + TITLE="Arch Linux FTP/HTTP Installation" + DIALOG --msgbox "If you wish to load your ethernet modules manually, please do so now (consoles 1 thru 6 are active)." 12 65 + while $(/bin/true); do + DIALOG --menu "FTP Installation" 10 35 3 \ + "0" "Setup Network" \ + "1" "Choose Mirror" \ + "2" "Return to Main Menu" 2>$ANSWER + + case "$(cat $ANSWER)" in + "0") + donetwork ;; + "1") + getsource ;; + *) + break ;; + esac + done + fi +} + +set_clock() +{ + if [ -e /usr/bin/tz ]; then + tz + else + DIALOG --msgbox "Error:\ntz script not found, aborting clock setting" 0 0 + fi +} + +set_keyboard() +{ + if [ -e /usr/bin/km ]; then + km + else + DIALOG --msgbox "Error:\nkm script not found, aborting keyboard and console setting" 0 0 + fi +} + +prepare_harddrive() +{ + S_MKFSAUTO=0 + S_MKFS=0 + DONE=0 + UUIDPARAMETER="" + NEXTITEM="" + DIALOG --yesno "Do you want to use UUID device name scheme,\ninstead of kernel device name scheme?" 0 0 && UUIDPARAMETER=yes + while [ "$DONE" = "0" ]; do + if [ -n "$NEXTITEM" ]; then + DEFAULT="--default-item $NEXTITEM" + else + DEFAULT="" + fi + dialog $DEFAULT --backtitle "$TITLE" --menu "Prepare Hard Drive" 12 60 5 \ + "1" "Auto-Prepare (erases the ENTIRE hard drive)" \ + "2" "Partition Hard Drives" \ + "3" "Set Filesystem Mountpoints" \ + "4" "Return to Main Menu" 2>$ANSWER + NEXTITEM="$(cat $ANSWER)" + case $(cat $ANSWER) in + "1") + DISCS=$(finddisks) + if [ $(echo $DISCS | wc -w) -gt 1 ]; then + DIALOG --msgbox "Available Disks:\n\n$(for i in $(finddisks); do dmesg | grep $(echo $i | sed 's#/dev/##g') | grep sectors | sort -u | cut -d')' -f1 |sed -e 's/ /|/g' -e 's/SCSI|device|//g' -e 's/(//g'; done)\n" 0 0 + DIALOG --menu "Select the hard drive to use" 14 55 7 $(finddisks _) 2>$ANSWER || return 1 + DISC=$(cat $ANSWER) + else + DISC=$DISCS + fi + SET_DEFAULTFS="" + BOOT_PART_SET="" + SWAP_PART_SET="" + ROOT_PART_SET="" + CHOSEN_FS="" + DISC_SIZE=$(dmesg | grep $(echo $DISC | sed 's#/dev/##g') | grep sectors | sort -u | cut -d'(' -f2 | sed -e 's# .*##g') + while [ "$SET_DEFAULTFS" = "" ]; do + FSOPTS="ext2 Ext2 ext3 Ext3" + [ "$(which mkreiserfs 2>/dev/null)" ] && FSOPTS="$FSOPTS reiserfs Reiser3" + [ "$(which mkfs.xfs 2>/dev/null)" ] && FSOPTS="$FSOPTS xfs XFS" + [ "$(which mkfs.jfs 2>/dev/null)" ] && FSOPTS="$FSOPTS jfs JFS" + while [ "$BOOT_PART_SET" = "" ]; do + DIALOG --inputbox "Enter the size (MegaByte/MB) of your /boot partition,\n(minimum value is 16).\n\nDisk space left: $DISC_SIZE (MegaByte/MB)" 8 65 "32" 2>$ANSWER || return 1 + BOOT_PART_SIZE="$(cat $ANSWER)" + if [ "$BOOT_PART_SIZE" = "" ]; then + DIALOG --msgbox "ERROR: You have entered a wrong size, please enter again." 0 0 + else + if [ "$BOOT_PART_SIZE" -ge "$DISC_SIZE" -o "$BOOT_PART_SIZE" -lt "16" -o "$SBOOT_PART_SIZE" = "$DISC_SIZE" ]; then + DIALOG --msgbox "ERROR: You have entered a wrong size, please enter again." 0 0 + else + BOOT_PART_SET=1 + fi + fi + done + DISC_SIZE=$(($DISC_SIZE-$BOOT_PART_SIZE)) + while [ "$SWAP_PART_SET" = "" ]; do + DIALOG --inputbox "Enter the size (MegaByte/MB) of your swap partition,\n(minimum value is > 0).\n\nDisk space left: $DISC_SIZE (MegaByte/MB)" 8 65 "256" 2>$ANSWER || return 1 + SWAP_PART_SIZE=$(cat $ANSWER) + if [ "$SWAP_PART_SIZE" = "" -o "$SWAP_PART_SIZE" = "0" ]; then + DIALOG --msgbox "ERROR: You have entered a wrong size, please enter again." 0 0 + else + if [ "$SWAP_PART_SIZE" -ge "$DISC_SIZE" ]; then + DIALOG --msgbox "ERROR: You have entered a wrong size, please enter again." 0 0 + else + SWAP_PART_SET=1 + fi + fi + done + DISC_SIZE=$(($DISC_SIZE-$SWAP_PART_SIZE)) + while [ "$ROOT_PART_SET" = "" ]; do + DIALOG --inputbox "Enter the size (MegaByte/MB) of your / partition,\nthe /home partition will take all the left space.\n\nDisk space left: $DISC_SIZE (MegaByte/MB)" 8 65 "7500" 2>$ANSWER || return 1 + ROOT_PART_SIZE=$(cat $ANSWER) + if [ "$ROOT_PART_SIZE" = "" -o "$ROOT_PART_SIZE" = "0" ]; then + DIALOG --msgbox "ERROR: You have entered a wrong size, please enter again." 0 0 + else + if [ "$ROOT_PART_SIZE" -ge "$DISC_SIZE" ]; then + DIALOG --msgbox "ERROR: You have entered a wrong size, please enter again." 0 0 + else + DIALOG --yesno "$(($DISC_SIZE-$ROOT_PART_SIZE)) (MegaByte/MB) will be used for your /home partition?" 0 0 && ROOT_PART_SET=1 + fi + fi + done + while [ "$CHOSEN_FS" = "" ]; do + DIALOG --menu "Select a filesystem for / and /home" 13 45 6 $FSOPTS 2>$ANSWER || return 1 + FSTYPE=$(cat $ANSWER) + DIALOG --yesno "$FSTYPE will be used for / and /home?" 0 0 && CHOSEN_FS=1 + done + SET_DEFAULTFS=1 + done + REAL_DEFAULTFS=$(echo $DEFAULTFS | sed -e "s|/:7500:ext3|/:$ROOT_PART_SIZE:$FSTYPE|g" -e "s|/home:\*:ext3|/home:\*:$FSTYPE|g" -e "s|swap:256|swap:$SWAP_PART_SIZE|g" -e "s|/boot:32|/boot:$BOOT_PART_SIZE|g") + DIALOG --defaultno --yesno "$DISC will be COMPLETELY ERASED! Are you absolutely sure?" 0 0 \ + && mksimplefs $DISC "$REAL_DEFAULTFS" ;; + "2") + partition ;; + "3") + PARTFINISH="" + mountpoints ;; + *) + DONE=1 ;; + esac + done + NEXTITEM="3" +} + +configure_system() +{ + HWDETECT="" + HWPARAMETER="" + DSDT_ENABLE="" + DIALOG --yesno "PRECONFIGURATION?\n-----------------\n\nDo you want to use 'hwdetect' for:\n'/etc/rc.conf' and '/etc/mkinitcpio.conf'?\n\nThis ensures consistent ordering of your hard disk controllers,\nnetwork and sound devices.\n\nIt is recommended to say 'YES' here." 18 70 && HWDETECT="yes" + if [ "$HWDETECT" = "yes" ]; then + if /usr/bin/vmware-detect; then + HWPARAMETER="$HWPARAMETER --vmware" + fi + grep -qw ide-legacy /proc/cmdline && HWPARAMETER="$HWPARAMETER --ide-legacy" + DIALOG --defaultno --yesno "Do you need support for booting from usb devices?" 0 0 && HWPARAMETER="$HWPARAMETER --usb" + DIALOG --defaultno --yesno "Do you need support for booting from firewire devices?" 0 0 && HWPARAMETER="$HWPARAMETER --fw" + DIALOG --defaultno --yesno "Do you need support for booting from pcmcia devices?" 0 0 && HWPARAMETER="$HWPARAMETER --pcmcia" + DIALOG --defaultno --yesno "Do you need support for booting from nfs shares?" 0 0 && HWPARAMETER="$HWPARAMETER --nfs" + DIALOG --defaultno --yesno "Do you need support for booting from software raid arrays?" 0 0 && HWPARAMETER="$HWPARAMETER --raid" + if [ -e $DESTDIR/lib/initcpio/hooks/raid-partitions ]; then + DIALOG --defaultno --yesno "Do you need support for booting from software raid mdp/partition arrays?" 0 0 && HWPARAMETER="$HWPARAMETER --raid-partitions" + fi + if [ -e $DESTDIR/lib/initcpio/hooks/dmraid ]; then + DIALOG --defaultno --yesno "Do you need support for booting from hardware dmraid arrays?" 0 0 && HWPARAMETER="$HWPARAMETER --dmraid" + fi + DIALOG --defaultno --yesno "Do you need support for booting from lvm2 volumes?" 0 0 && HWPARAMETER="$HWPARAMETER --lvm2" + DIALOG --defaultno --yesno "Do you need support for booting from encrypted volumes?" 0 0 && HWPARAMETER="$HWPARAMETER --encrypt" + DIALOG --defaultno --yesno "Do you need support for booting the kernel with a custom DSDT file?" 0 0 && DSDT_ENABLE=1 + if [ "$DSDT_ENABLE" = "1" ]; then + while [ "$DSDT" = "" ]; do + DIALOG --inputbox "Enter the custom DSDT file (with full path)" 8 65 "" 2>$ANSWER || return 1 + DSDT=$(cat $ANSWER) + if [ -s "$DSDT" ]; then + cp $DSDT $DESTDIR/lib/initcpio/custom.dsdt + HWPARAMETER="$HWPARAMETER --dsdt" + else + DIALOG --msgbox "ERROR: You have entered a wrong file name, please enter again." 0 0 + DSDT="" + fi + done + fi + # add always keymap + HWPARAMETER="$HWPARAMETER --keymap" + HWDETECTHOSTCONTROLLER="" + HWDETECTHOOKS="" + HWDETECTRC="" + HWDETECTHOSTCONTROLLER="$(hwdetect --hostcontroller $HWPARAMETER)" + HWDETECTHOOKS="$(hwdetect --hooks-dir=$DESTDIR/lib/initcpio/install --hooks $HWPARAMETER)" + HWDETECTRC="$(echo $(hwdetect --net --sound $HWPARAMETER)| sed -e 's#.*) ##g')" + [ -n "$HWDETECTHOSTCONTROLLER" ] && sed -i -e "s/^MODULES=.*/$HWDETECTHOSTCONTROLLER/g" ${DESTDIR}/etc/mkinitcpio.conf + [ -n "$HWDETECTHOOKS" ] && sed -i -e "s/^HOOKS=.*/$HWDETECTHOOKS/g" ${DESTDIR}/etc/mkinitcpio.conf + [ -n "$HWDETECTRC" ] && sed -i -e "s/^MODULES=.*/$HWDETECTRC/g" ${DESTDIR}/etc/rc.conf + fi + if [ -s /tmp/.keymap ]; then + DIALOG --yesno "Do you want to use the keymap: $(cat /tmp/.keymap | sed -e 's/\..*//g') in rc.conf?" 0 0 && sed -i -e "s/^KEYMAP=.*/KEYMAP=\"$(cat /tmp/.keymap | sed -e 's/\..*//g')\"/g" ${DESTDIR}/etc/rc.conf + fi + if [ -s /tmp/.font ]; then + DIALOG --yesno "Do you want to use the consolefont: $(cat /tmp/.font | sed -e 's/\..*//g') in rc.conf?" 0 0 && sed -i -e "s/^CONSOLEFONT=.*/CONSOLEFONT=\"$(cat /tmp/.font | sed -e 's/\..*//g')\"/g" ${DESTDIR}/etc/rc.conf + fi + if [ -s /tmp/.hardwareclock ]; then + DIALOG --yesno "Do you want to use the hardwareclock: $(cat /tmp/.hardwareclock | sed -e 's/\..*//g') in rc.conf?" 0 0 && sed -i -e "s/^HARDWARECLOCK=.*/HARDWARECLOCK=\"$(cat /tmp/.hardwareclock | sed -e 's/\..*//g')\"/g" ${DESTDIR}/etc/rc.conf + fi + if [ -s /tmp/.timezone ]; then + DIALOG --yesno "Do you want to use the timezone: $(cat /tmp/.timezone | sed -e 's/\..*//g') in rc.conf?" 0 0 && sed -i -e "s#^TIMEZONE=.*#TIMEZONE=\"$(cat /tmp/.timezone | sed -e 's/\..*//g')\"#g" ${DESTDIR}/etc/rc.conf + fi + if [ "$S_NET" = "1" ]; then + DIALOG --yesno "Do you want to use the previous network settings in rc.conf and resolv.conf?\nIf you used Proxy settings, they will be written to /etc/profile.d/proxy.sh" 0 0 && ( + if [ "$S_DHCP" != "1" ]; then + sed -i -e "s#eth0=\"eth0#$INTERFACE=\"$INTERFACE#g" ${DESTDIR}/etc/rc.conf + sed -i -e "s# 192.168.0.2 # $IPADDR #g" ${DESTDIR}/etc/rc.conf + sed -i -e "s# 255.255.255.0 # $SUBNET #g" ${DESTDIR}/etc/rc.conf + sed -i -e "s# 192.168.0.255\"# $BROADCAST\"#g" ${DESTDIR}/etc/rc.conf + sed -i -e "s#eth0)#$INTERFACE)#g" ${DESTDIR}/etc/rc.conf + if [ "$GW" != "" ]; then + sed -i -e "s#gw 192.168.0.1#gw $GW#g" ${DESTDIR}/etc/rc.conf + sed -i -e "s#!gateway#gateway#g" ${DESTDIR}/etc/rc.conf + fi + echo "nameserver $DNS" >> ${DESTDIR}/etc/resolv.conf + else + sed -i -e "s#eth0=\"eth0.*#$INTERFACE=\"dhcp\"#g" ${DESTDIR}/etc/rc.conf + fi + if [ "$PROXY_HTTP" != "" ]; then + echo "export http_proxy=$PROXY_HTTP" >> ${DESTDIR}/etc/profile.d/proxy.sh; + chmod a+x ${DESTDIR}/etc/profile.d/proxy.sh + fi + if [ "$PROXY_FTP" != "" ]; then + echo "export ftp_proxy=$PROXY_FTP" >> ${DESTDIR}/etc/profile.d/proxy.sh; + chmod a+x ${DESTDIR}/etc/profile.d/proxy.sh + fi) + fi + [ "$EDITOR" ] || geteditor + DONE=0 + FILE="" + while [ "$EDITOR" != "" -a "$DONE" = "0" ]; do + if [ -n "$FILE" ]; then + DEFAULT="--default-item $FILE" + else + DEFAULT="" + fi + dialog $DEFAULT --backtitle "$TITLE" --menu "Configuration" 19 80 16 \ + "/etc/rc.conf" "System Config" \ + "/etc/fstab" "Filesystem Mountpoints" \ + "/etc/mkinitcpio.conf" "Initramfs Config" \ + "/etc/modprobe.conf" "Kernel Modules (for 2.6.x)" \ + "/etc/resolv.conf" "DNS Servers" \ + "/etc/hosts" "Network Hosts" \ + "/etc/hosts.deny" "Denied Network Services" \ + "/etc/hosts.allow" "Allowed Network Services" \ + "/etc/locale.gen" "Glibc Locales" \ + "Root-Password" "Set the root password" \ + "Pacman-Mirror" "Set the primary pacman mirror" \ + "_" "Return to Main Menu" 2>$ANSWER + FILE=$(cat $ANSWER) + + if [ "$FILE" = "_" -o "$FILE" = "" ]; then + mount -t proc none $DESTDIR/proc + mount -t sysfs none $DESTDIR/sys + mount -o bind /dev $DESTDIR/dev + # all pacman output goes to /tmp/pacman.log, which we tail into a dialog + ( \ + touch /tmp/setup-mkinitcpio-running + echo "Initramfs progress ..." > /tmp/initramfs.log; echo >> /tmp/initramfs.log + chroot $DESTDIR /sbin/mkinitcpio -p kernel26 >>/tmp/initramfs.log 2>&1 + echo >> /tmp/initramfs.log + rm -f /tmp/setup-mkinitcpio-running + ) & + sleep 2 + dialog --backtitle "$TITLE" --title "Rebuilding initramfs images ..." --no-kill --tailboxbg "/tmp/initramfs.log" 18 70 + while [ -f /tmp/setup-mkinitcpio-running ]; do + sleep 1 + done + umount $DESTDIR/proc $DESTDIR/sys $DESTDIR/dev + DONE=1 + else + if [ "$FILE" = "/etc/mkinitcpio.conf" ]; then + DIALOG --msgbox "The mkinitcpio.conf file controls which modules will be placed into the initramfs for your system's kernel.\n\n- Non US keymap users should add 'keymap' to HOOKS= array\n- USB keyboard users should add 'usbinput' to HOOKS= array\n- If you install under VMWARE add 'BusLogic' to MODULES= array\n- raid, lvm2, encrypt are not enabled by default\n- 2 or more disk controllers, please specify the correct module\n loading order in MODULES= array \n\nMost of you will not need to change anything in this file." 18 70 + HOOK_ERROR="" + fi + if ! [ "$FILE" = "Root-Password" -o "$FILE" = "Pacman-Mirror" ]; then + if [ "$FILE" = "/etc/locale.gen" ]; then + # enable glibc locales from rc.conf + for i in $(grep "^LOCALE" ${DESTDIR}/etc/rc.conf | sed -e 's/.*="//g' -e's/\..*//g'); do + sed -i -e "s/^#$i/$i/g" ${DESTDIR}/etc/locale.gen + done + fi + $EDITOR ${DESTDIR}${FILE} + else + if [ "$FILE" = "Root-Password" ]; then + ROOTPW="" + while [ "$ROOTPW" = "" ]; do + chroot ${DESTDIR} passwd root && ROOTPW=1 + done + else + SAMEMIRROR="" + mirrorlist="${DESTDIR}/etc/pacman.d/mirrorlist" + if [ "$MODE" = "ftp" -a "${SYNC_SERVER}" != "" ]; then + DIALOG --yesno "Would you like to use the same MIRROR you used for installation?" 0 0&& SAMEMIRROR="yes" + fi + if ! [ "$SAMEMIRROR" = "yes" ]; then + DIALOG --msgbox "WARNING:\n\n- Please keep in mind ftp.archlinux.org is throttled!\n- Please select another mirror to get full download speed." 18 70 + # this will find all mirrors in the mirrorlist, commented out or not + PAC_MIRRORS=$(egrep -o '((ftp)|(http))://[^/]*' "${DESTDIR}/etc/pacman.d/mirrorlist" | sed 's|$| _|g') + DIALOG --menu "Select the primary Pacman mirror" 14 55 7 $PAC_MIRRORS "Custom" "_" 2>$ANSWER || return 1 + PAC_SYNC_SERVER="$(cat $ANSWER)" + if [ "$PAC_SYNC_SERVER" = "Custom" ]; then + DIALOG --inputbox "Enter the full URL to packages, for example:\nhttp://server.org/archlinux/\$repo/os/$(uname -m)" 8 65 "http://" 2>$ANSWER || return 1 + PAC_SYNC_SERVER="$(cat $ANSWER)" + fi + else + PAC_SYNC_SERVER="$(echo ${SYNC_URL} | sed 's/core/\$repo/g')" + fi + # comment out all existing mirrors + sed -i -e 's/^Server/#Server/g' "$mirrorlist" + # add our new entry at the end of the file + echo "# Setup-configured entry" >> "$mirrorlist" + echo Server = $(egrep -o "$PAC_SYNC_SERVER.*" "$mirrorlist") >> "$mirrorlist" + fi + fi + if [ "$FILE" = "/etc/locale.gen" ]; then + chroot ${DESTDIR} locale-gen + fi + if [ "$FILE" = "/etc/mkinitcpio.conf" ]; then + for i in $(cat ${DESTDIR}/etc/mkinitcpio.conf | grep ^HOOKS | sed -e 's/"//g' -e 's/HOOKS=//g'); do + [ -e ${DESTDIR}/lib/initcpio/install/$i ] || HOOK_ERROR=1 + done + if [ "$HOOK_ERROR" = "1" ]; then + DIALOG --msgbox "ERROR: Detected error in 'HOOKS=' line, please correct HOOKS= in /etc/mkinitcpio.conf!" 18 70 + fi + fi + if [ "$FILE" = "/etc/rc.conf" ]; then + TIMEZONE="" + eval $(grep "^TIMEZONE" ${DESTDIR}/etc/rc.conf) + if [ "$TIMEZONE" != "" -a -e ${DESTDIR}/usr/share/zoneinfo/$TIMEZONE ]; then + cp ${DESTDIR}/usr/share/zoneinfo/$TIMEZONE ${DESTDIR}/etc/localtime + cp ${DESTDIR}/usr/share/zoneinfo/$TIMEZONE /etc/localtime + fi + if [ ! -f ${DESTDIR}/var/lib/hwclock/adjtime ]; then + echo "0.0 0 0.0" > ${DESTDIR}/var/lib/hwclock/adjtime + fi + eval $(grep "^HARDWARECLOCK" ${DESTDIR}/etc/rc.conf) + if [ "$HARDWARECLOCK" = "UTC" ]; then + chroot ${DESTDIR} /sbin/hwclock --directisa --utc --hctosys + else + chroot ${DESTDIR} /sbin/hwclock --directisa --localtime --hctosys + fi + # ugly hack: + for line in $(sort --reverse -t: -k3 /tmp/.parts); do + PART=$(echo $line | cut -d: -f 1) + FSTYPE=$(echo $line | cut -d: -f 2) + MP=$(echo $line | cut -d: -f 3) + if [ "$MP" != "swap" ]; then + umount ${DESTDIR}${MP} + fi + done + for line in $(sort -t: -k3 /tmp/.parts); do + PART=$(echo $line | cut -d: -f 1) + FSTYPE=$(echo $line | cut -d: -f 2) + MP=$(echo $line | cut -d: -f 3) + if [ "$MP" != "swap" ]; then + mount -t ${FSTYPE} ${PART} ${DESTDIR}${MP} + fi + done + # end of hack + fi + fi + done +} + +install_bootloader() +{ + DIALOG --menu "Which bootloader would you like to use? Grub is the Arch default.\n\n" \ + 10 55 2 \ + "GRUB" "Use the GRUB bootloader (default)" \ + "LILO" "Use the LILO bootloader" 2>$ANSWER + case $(cat $ANSWER) in + "GRUB") dogrub ;; + "LILO") dolilo ;; + esac +} + +mainmenu() { + if [ -n "$NEXTITEM" ]; then + DEFAULT="--default-item $NEXTITEM" + else + DEFAULT="" + fi + dialog $DEFAULT --backtitle "$TITLE" --title " MAIN MENU " \ + --menu "Use the UP and DOWN arrows to navigate menus. Use TAB to switch between buttons and ENTER to select." 17 55 13 \ + "0" "Keyboard And Console Setting" \ + "1" "Set Clock" \ + "2" "Prepare Hard Drive" \ + "3" "Select Source" \ + "4" "Select Packages" \ + "5" "Install Packages" \ + "6" "Configure System" \ + "7" "Install Bootloader" \ + "8" "Exit Install" 2>$ANSWER + NEXTITEM="$(cat $ANSWER)" + case $(cat $ANSWER) in + "0") + set_keyboard ;; + "1") + set_clock ;; + "2") + prepare_harddrive ;; + "3") + select_source ;; + "4") + selectpkg ;; + "5") + installpkg ;; + "6") + configure_system ;; + "7") + install_bootloader ;; + "8") + if [ "$S_SRC" = "1" -a "$MODE" = "cd" ]; then + umount /src >/dev/null 2>&1 + fi + [ -e /tmp/.setup-running ] && rm /tmp/.setup-running + clear + echo "" + echo "If the install finished successfully, you can now type 'reboot'" + echo "to restart the system." + echo "" + exit 0 ;; + *) + DIALOG --yesno "Abort Installation?" 6 40 &&[ -e /tmp/.setup-running ] && rm /tmp/.setup-running && clear && exit 0 + ;; + esac +} + +##################### +## begin execution ## +if [ -e /tmp/.setup-running ]; then + echo "HINT:" + echo "setup already runs on a different console!" + echo "Please remove /tmp/.setup-running first to launch setup!" + exit 1 +fi +: >/tmp/.setup-running +: >/tmp/.setup + +DIALOG --msgbox "Welcome to the Arch Linux Installation program. The install process is fairly straightforward, and you should run through the options in the order they are presented. If you are unfamiliar with partitioning/making filesystems, you may want to consult some documentation before continuing. You can view all output from commands by viewing your VC7 console (ALT-F7). ALT-F1 will bring you back here." 14 65 + +while $(/bin/true); do + mainmenu +done + +clear +exit 0 diff --git a/keymap/km b/keymap/km new file mode 100755 index 000000000..493860faf --- /dev/null +++ b/keymap/km @@ -0,0 +1,158 @@ +#!/bin/sh +# written by Tobias Powalowski + +ANSWER="/tmp/.km" +TITLE="Arch Linux Keymap And Font Setting" +BASEDIR="/usr/share/kbd" + +abort() +{ + dodialog yesno "Abort Keymap And Font Setting?" 6 40 || return 0 + [ -e /tmp/.km ] && rm -f /tmp/.km + [ -e /tmp/.keymap ] && rm -f /tmp/.keymap + [ -e /tmp/.font ] && rm -f /tmp/.font + [ -e /tmp/.km-running ] && rm /tmp/.km-running + clear + exit 0 +} + +dodialog() +{ + # use this for msgbox, inputbox, yesno, infobox + # + # dodialog [height] [width] [other] + # 26/3/06: added an option so that if [other] is default=no + # the dialog will default to no + # the new dialog's auto-sizing is pretty dumb, we can't trust it + height=12 + width=65 + if [ "$3" != "" ]; then + height=$3 + fi + if [ "$4" != "" ]; then + width=$4 + fi + if [ "$5" == "default=no" ]; then + dialog --defaultno --backtitle "$TITLE" --aspect 15 --$1 "$2" $height $width + + else + dialog --backtitle "$TITLE" --aspect 15 --$1 "$2" $height $width $5 + fi +} + +domenu() +{ + menutype=$1 ; shift + text=$1 ; shift + height=$1 ; shift + width=$1 ; shift + mheight=$1 ; shift + + dialog --cancel-label "Skip" --$menutype "$text" $height $width $mheight $* +} + + +dokeymap() { + echo "Scanning for keymaps..." + KEYMAPS= + for i in $(find $BASEDIR/keymaps -follow -name "*.gz" | sed 's|^.*/||g' | sort); do + KEYMAPS="$KEYMAPS $i -" + done + domenu menu "Select A Keymap" 22 60 16 $KEYMAPS 2>$ANSWER + keymap=$(cat $ANSWER) + echo $keymap > /tmp/.keymap + if [ "$keymap" ]; then + echo "Loading keymap: $keymap" + #loadkeys -q $BASEDIR/keymaps/$keymap + loadkeys -q $keymap + fi +} + +doconsolefont() { + echo "Scanning for fonts..." + FONTS= + # skip .cp.gz and partialfonts files for now see bug #6112, #6111 + for i in $(find $BASEDIR/consolefonts -maxdepth 1 ! -name '*.cp.gz' -name "*.gz" | sed 's|^.*/||g' | sort); do + FONTS="$FONTS $i -" + done + domenu menu "Select A Console Font" 22 60 16 $FONTS 2>$ANSWER + font=$(cat $ANSWER) + echo $font > /tmp/.font + if [ "$font" ]; then + echo "Loading font: $font" + for i in $(seq 1 6); do + if [ -d /dev/vc ]; then + setfont $BASEDIR/consolefonts/$font -C /dev/vc/${i} + else + setfont $BASEDIR/consolefonts/$font -C /dev/tty${i} + fi + done + [ -e /dev/ttys0 ] && setfont $BASEDIR/consolefonts/$font -C /dev/ttyS0 + fi +} + +mainmenu() { + if [ -n "$S_NEXTITEM" ]; then + DEFAULT="--default-item $S_NEXTITEM" + else + DEFAULT="" + fi + dialog $DEFAULT --backtitle "$TITLE" --title " MAIN MENU " \ + --menu "Use the UP and DOWN arrows to navigate menus. Use TAB to switch between buttons and ENTER to select." 15 55 8 \ + "1" "Set Keymap" \ + "2" "Set Consolefont" \ + "3" "Exit" 2>$ANSWER + case $(cat $ANSWER) in + "1") + dokeymap + ;; + "2") + doconsolefont + ;; + "3") + [ -e /tmp/.km-running ] && rm /tmp/.km-running + clear + exit 0 ;; + *) + abort ;; + esac +} + +: >/tmp/.keymap +: >/tmp/.font +: >/tmp/.km + +if [ ! -d $BASEDIR/keymaps ]; then + echo "Cannot load keymaps, as none were found in $BASEDIR/keymaps" >&2 + exit 1 +fi + +if [ ! -d $BASEDIR/consolefonts ]; then + echo "Cannot load consolefonts, as none were found in $BASEDIR/consolefonts" >&2 +fi + +if [ ! $(which loadkeys) ]; then + echo "'loadkeys' binary not found!" >&2 + exit 1 +fi + + +if [ ! $(which setfont) ]; then + echo "'setfont' binary not found!" >&2 + exit 1 +fi + +if [ -e /tmp/.km-running ]; then + echo "km already runs on a different console!" + echo "Please remove /tmp/.km-running first to launch tz!" + exit 1 +fi +: >/tmp/.km-running + +while $(/bin/true); do + mainmenu +done + +clear +exit 0 + diff --git a/net/etc/conf.d/dhcpcd b/net/etc/conf.d/dhcpcd index 9f5a80b16..aceca9974 100644 --- a/net/etc/conf.d/dhcpcd +++ b/net/etc/conf.d/dhcpcd @@ -2,5 +2,5 @@ # Arguments to be passed to the DHCP client daemon # -DHCPCD_ARGS="-t 30 -h $HOSTNAME" +DHCPCD_ARGS="-q -L -t 30 -h $HOSTNAME" diff --git a/net/etc/dhcpcd.conf b/net/etc/dhcpcd.conf new file mode 100644 index 000000000..cce1795c7 --- /dev/null +++ b/net/etc/dhcpcd.conf @@ -0,0 +1,13 @@ +# A sample configuration for dhcpcd. +# See dhcpcd.conf(5) for details. + +# dhcpcd-run-hooks uses these options. +option domain_name_servers, domain_name, domain_search, host_name + +# Most distros have ntp support. +option ntp_servers + +# We should behave nicely on networks and respect their MTU. +# However, a lot of buggy DHCP servers set invalid MTUs so this is not +# enabled by default. +#option interface_mtu diff --git a/packages/placeholder b/packages/placeholder new file mode 100644 index 000000000..79acea990 --- /dev/null +++ b/packages/placeholder @@ -0,0 +1 @@ +This is a placeholder file :) diff --git a/pacman/etc/pacman.conf b/pacman/etc/pacman.conf index f16db97d6..6a7bd5485 100644 --- a/pacman/etc/pacman.conf +++ b/pacman/etc/pacman.conf @@ -1,7 +1,7 @@ # # /etc/pacman.conf # -# See the pacman manpage for option directives +# See the pacman.conf(5) manpage for option and repository directives # # GENERAL OPTIONS @@ -14,7 +14,24 @@ #CacheDir = /var/cache/pacman/pkg/ #LogFile = /var/log/pacman.log HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#XferCommand = /usr/bin/curl %u > %o + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options (all disabled by default) +#NoPassiveFtp +#UseSyslog +#ShowSize +#UseDelta +#TotalDownload # # REPOSITORIES @@ -23,6 +40,7 @@ HoldPkg = pacman glibc # - local/custom mirrors can be added here or in separate files # - repositories listed first will take precedence when packages # have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo # # Repository entries are of the format: # [repo-name] @@ -51,12 +69,6 @@ Include = /etc/pacman.d/mirrorlist # Add your preferred servers here, they will be used first Include = /etc/pacman.d/mirrorlist -# Unstable is disabled by default. To enable, uncomment the following -# two lines. You can add preferred servers immediately after the header, -# and they will be used before the default mirrors. -#[unstable] -#Include = /etc/pacman.d/mirrorlist - # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] diff --git a/pacman/etc/pacman.d/mirrorlist b/pacman/etc/pacman.d/mirrorlist index 4577195a8..db2f85046 100644 --- a/pacman/etc/pacman.d/mirrorlist +++ b/pacman/etc/pacman.d/mirrorlist @@ -2,87 +2,100 @@ # Arch Linux repository mirrorlist # -# United States -Server = ftp://ftp.archlinux.org/$repo/os/i686 -Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686 -Server = ftp://mirrors.unixheads.org/archlinux/$repo/os/i686 -Server = ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686 -Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686 -Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/i686 -Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686 -Server = http://holmes.umflint.edu/archlinux/$repo/os/i686 -Server = http://mirror.neotuli.net/arch/$repo/os/i686 +# North America +# - United States +Server = ftp://ftp.archlinux.org/$repo/os/x86_64 +Server = ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/x86_64 +Server = http://archlinux.unixheads.org/$repo/os/x86_64 +Server = ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/x86_64 +Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/x86_64 +Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/x86_64 +Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/x86_64 +Server = http://holmes.umflint.edu/archlinux/$repo/os/x86_64 +Server = http://mirror.neotuli.net/arch/$repo/os/x86_64 +Server = http://mirror.rit.edu/archlinux/$repo/os/x86_64 +Server = http://mirror.umoss.org/archlinux/$repo/os/x86_64 +Server = http://schlunix.org/archlinux/$repo/os/x86_64 +# - Canada +Server = ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/@carch # South America # - Brazil -Server = http://archlinux.c3sl.ufpr.br/$repo/os/i686 -Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/i686 -Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/i686 +Server = http://archlinux.c3sl.ufpr.br/$repo/os/x86_64 +Server = ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/x86_64 +Server = ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/x86_64 # Europe # - Austria -Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/i686 +Server = ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/x86_64 # - Belgium -Server = ftp://ftp.belnet.be/mirror/archlinux.org/$repo/os/i686 +Server = ftp://ftp.belnet.be/mirror/archlinux.org/$repo/os/x86_64 # - Czech Republic -Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/i686 +Server = ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/x86_64 # - Estonia -Server = ftp://ftp.estpak.ee/pub/archlinux/$repo/os/i686 -# - Finland -Server = ftp://ftp.sixnix.net/pub/archlinux/$repo/os/i686 +Server = ftp://ftp.estpak.ee/pub/archlinux/$repo/os/x86_64 # - France -Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/i686 -Server = ftp://mir2.archlinuxfr.org/archlinux/$repo/os/i686 -Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/i686 -Server = http://mir.archlinux.fr/$repo/os/i686 -Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/i686 +Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/x86_64 +Server = ftp://mir2.archlinuxfr.org/archlinux/$repo/os/x86_64 +Server = ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/x86_64 +Server = http://mir.archlinux.fr/$repo/os/x86_64 +Server = ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/x86_64 +Server = ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/x86_64 # - Germany -Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/i686 -Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/i686 -Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/i686 -Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/i686 -Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/i686 -Server = ftp://ftp.archlinuxppc.org/i686/$repo/os/i686 +Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/x86_64 +Server = ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/x86_64 +Server = ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/x86_64 +Server = ftp://ftp.archlinuxppc.org/x86_64/$repo/os/x86_64 +Server = ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/x86_64 +Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/x86_64 # - Great Britain -Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/i686 +Server = http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/x86_64 +Server = ftp://mirrors.uk2.net/pub/archlinux/$repo/os/x86_64 +Server = http://archlinux.mirrors.uk2.net/$repo/os/x86_64 # - Greece -Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/i686 +Server = ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/x86_64 # - Hungary -Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/i686 +Server = ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/x86_64 # - Ireland -Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/i686 +Server = ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/x86_64 # - Italy -Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/i686 +Server = ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/x86_64 # - Netherlands -Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/i686 -Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/i686 +Server = ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/x86_64 +Server = ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/x86_64 +# - Norway +Server = http://arch.likbilen.com/$repo/os/@carch # - Poland -Server = ftp://mirror.icis.pcz.pl/archlinux/$repo/os/i686 -Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/i686 -Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/i686 +Server = ftp://mirror.icis.pcz.pl/archlinux/$repo/os/x86_64 +Server = http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/x86_64 +Server = ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/x86_64 +Server = http://unix.net.pl/archlinux.org/$repo/os/x86_64 # - Portugal -Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/i686 +Server = ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/x86_64 # - Romania -Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/$repo/os/i686 +Server = ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/$repo/os/x86_64 # - Russia -Server = ftp://mirror.yandex.ru/archlinux/$repo/os/i686 -Server = http://archlinux.freeside.ru/$repo/os/i686 +Server = ftp://mirror.yandex.ru/archlinux/$repo/os/x86_64 +Server = http://archlinux.freeside.ru/$repo/os/x86_64 # - Sweden -Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/i686 -Server = ftp://ftp.gigabit.nu/$repo/os/i686 +Server = ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/x86_64 +Server = ftp://ftp.gigabit.nu/$repo/os/x86_64 # - Switzerland -Server = ftp://archlinux.puzzle.ch/$repo/os/i686 +Server = http://archlinux.puzzle.ch/$repo/os/x86_64 # - Turkey -Server = http://server.elsistech.com/archlinux/$repo/os/i686 +Server = http://server.elsistech.com/archlinux/$repo/os/x86_64 # - Ukraine -Server = ftp://hell.org.ua/archlinux/$repo/os/i686 -Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/i686 +Server = ftp://hell.org.ua/archlinux/$repo/os/x86_64 +Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/x86_64 # Asia # - Israel -Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/i686 +Server = http://mirror.isoc.org.il/pub/archlinux/$repo/os/x86_64 +# - Vietnam +# Domain name is ftp.indochinalinux.com but there are frequent DNS problems +Server = ftp://202.78.230.5/archlinux/$repo/os/x86_64 # Australia -Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/i686 -Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/i686 +Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/x86_64 +Server = ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/x86_64 diff --git a/pam/etc/security/limits.conf b/pam/etc/security/limits.conf index 2eb0530b0..dd28c5ce9 100644 --- a/pam/etc/security/limits.conf +++ b/pam/etc/security/limits.conf @@ -33,7 +33,7 @@ # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) -# - nice - max nice priority allowed to raise to +# - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # # diff --git a/pam/etc/security/namespace.init b/pam/etc/security/namespace.init index 0e9be68f9..424c6d0ca 100755 --- a/pam/etc/security/namespace.init +++ b/pam/etc/security/namespace.init @@ -1,24 +1,24 @@ #!/bin/sh -p -# This is only a boilerplate for the instance initialization script. -# It receives polydir path as $1 and the instance path as $2. +# It receives polydir path as $1, the instance path as $2, +# a flag whether the instance dir was newly created (0 - no, 1 - yes) in $3, +# and user name in $4. # -# If you intend to polyinstantiate /tmp and you also want to use the X windows -# environment, you will have to use this script to bind mount the socket that -# is used by the X server to communicate with its clients. X server places -# this socket in /tmp/.X11-unix directory, which will get obscured by -# polyinstantiation. Uncommenting the following lines will bind mount -# the relevant directory at an alternative location (/.tmp/.X11-unix) such -# that the X server, window manager and X clients, can still find the -# socket X0 at the polyinstanted /tmp/.X11-unix. -# -#if [ $1 = /tmp ]; then -# if [ ! -f /.tmp/.X11-unix ]; then -# mkdir -p /.tmp/.X11-unix -# fi -# mount --bind /tmp/.X11-unix /.tmp/.X11-unix -# cp -fp -- /tmp/.X0-lock "$2/.X0-lock" -# mkdir -- "$2/.X11-unix" -# ln -fs -- /.tmp/.X11-unix/X0 "$2/.X11-unix/X0" -#fi +# The following section will copy the contents of /etc/skel if this is a +# newly created home directory. +if [ "$3" = 1 ]; then + # This line will fix the labeling on all newly created directories + [ -x /sbin/restorecon ] && /sbin/restorecon "$1" + user="$4" + passwd=$(getent passwd "$user") + homedir=$(echo "$passwd" | cut -f6 -d":") + if [ "$1" = "$homedir" ]; then + gid=$(echo "$passwd" | cut -f4 -d":") + cp -rT /etc/skel "$homedir" + chown -R "$user":"$gid" "$homedir" + mode=$(awk '/^UMASK/{gsub("#.*$", "", $2); printf "%o", and(0777,compl(strtonum("0" $2))); exit}' /etc/login.defs) + chmod ${mode:-700} "$homedir" + [ -x /sbin/restorecon ] && /sbin/restorecon -R "$homedir" + fi +fi exit 0 diff --git a/pptpclient/etc/ppp/options.pptp b/pptpclient/etc/ppp/options.pptp index 8abaf791a..8b8a1e114 100644 --- a/pptpclient/etc/ppp/options.pptp +++ b/pptpclient/etc/ppp/options.pptp @@ -1,5 +1,5 @@ ############################################################################### -# $Id: options.pptp,v 1.2 2005/08/20 13:16:38 quozl Exp $ +# $Id: options.pptp,v 1.3 2006/03/26 23:11:05 quozl Exp $ # # Sample PPTP PPP options file /etc/ppp/options.pptp # Options used by PPP when a connection is made by a PPTP client. @@ -19,7 +19,9 @@ lock # We don't need the tunnel server to authenticate itself noauth -# We won't do EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2 +# We won't do PAP, EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2 +# (you may need to remove these refusals if the server is not using MPPE) +refuse-pap refuse-eap refuse-chap refuse-mschap diff --git a/remote/etc/ssh/moduli b/remote/etc/ssh/moduli index a12de2192..65d2814a6 100644 --- a/remote/etc/ssh/moduli +++ b/remote/etc/ssh/moduli @@ -1,189 +1,174 @@ -# $OpenBSD: moduli,v 1.3 2005/01/24 10:29:06 dtucker Exp $ +# $OpenBSD: moduli,v 1.4 2008/01/01 08:51:20 dtucker Exp $ # Time Type Tests Tries Size Generator Modulus -20040225025212 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7AFFE86A7 -20040225025304 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B01F83CB -20040225025357 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B03F2B73 -20040225025411 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B041C8C7 -20040225025444 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0546E93 -20040225025458 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0573767 -20040225025522 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0629E73 -20040225025545 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B06CD95B -20040225025616 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B07C93A3 -20040225025655 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B093C72B -20040225025710 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B096450B -20040225025750 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0AF2C83 -20040225025830 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0C7F1FF -20040225025845 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0CB565B -20040225025858 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0CD8557 -20040225025915 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0D20473 -20040225025934 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0D924F7 -20040225025952 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0DFD8BB -20040225030015 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0E8E59F -20040225030039 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0F43B0B -20040225030104 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B0FEB103 -20040225030130 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B10AC3DB -20040225030149 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1122527 -20040225030214 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B11E494B -20040225030245 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B12E727B -20040225030319 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1416743 -20040225030347 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1507F2B -20040225030404 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1560FE3 -20040225030418 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1591CF7 -20040225030432 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B15B57FF -20040225030455 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B165D0AF -20040225030511 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B169C97F -20040225030551 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B182715B -20040225030621 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1920737 -20040225030648 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B19FB54B -20040225030718 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1AFAE87 -20040225030736 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1B5A7AF -20040225030753 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1BC3C47 -20040225030815 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1C6AF33 -20040225030831 2 6 100 1023 2 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1CAD9FB -20040225030902 2 6 100 1023 5 CAADDDEC1667FC68B5FA15D53C4E1532DD24561A1A2D47A12C01ABEA1E00731F6921AAC40742311FDF9E634BB7131BEE1AF240261554389A910425E044E88C8359B010F5AD2B80E29CB1A5B027B19D9E01A6F63A6F45E5D7ED2FF6A2A0085050A7D0CF307C3DB51D2490355907B4427C23A98DF1EB8ABEF2BA209BB7B1DC6A8F -20040225035226 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844800C47CAB -20040225035359 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844800D3866B -20040225035635 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844800F43DFF -20040225035846 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448010B4D93 -20040225040147 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448013094F3 -20040225040301 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448013AA0FB -20040225040619 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF84480163EC83 -20040225040718 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448016AEB8F -20040225041023 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF84480190871F -20040225041328 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844801B5F1B3 -20040225041740 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844801ED6FBB -20040225041921 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844801FEC44F -20040225042229 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844802245FF7 -20040225042513 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF84480246F93B -20040225042547 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844802473F4F -20040225042707 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF84480253B03B -20040225043111 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF84480287CD9B -20040225043513 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844802BC32FB -20040225043609 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844802C2125B -20040225043847 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844802E1B733 -20040225043925 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844802E2E963 -20040225044335 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448031AC423 -20040225045303 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844803A10E07 -20040225045443 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844803B0EF43 -20040225045518 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844803B15033 -20040225045923 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844803E58317 -20040225050120 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844803F9EB4F -20040225050333 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448041304B3 -20040225050524 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844804279B2F -20040225050559 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844804281047 -20040225050810 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF8448043F454F -20040225051113 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844804672F1F -20040225051335 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844804809CB3 -20040225051442 2 6 100 1535 5 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF84480489545F -20040225052303 2 6 100 1535 2 FC4601920ABD76FF37FDC717EDFFEC0E539D5F7697882432A53085C95B040175503AEBD8A0FDF38D5F4EAA8EB1A22389D2CF2070F4DD47E2E8F89F4DD4ACACE4593F762DB92C479EBF1BBD4EF450A7FFAA15F75FB921B42B62466C29A993E7C7D8FD8412A4869D867E2765C2CBA0BC0F31E625B9BE1FF5421FDC2E097E0EF66F1CC9FF04AEB9341327D3468630C4E049530EF12350D51A71FDF9B6DB3CE56ED8C9FE61148F8098722A43C4F0AE29855BC9E06068D3898146ACFF844804FE918B -20040225062215 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6B9F68B3E7 -20040225063823 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6B9FD47307 -20040225064402 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6B9FF43C0F -20040225065646 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA04740DB -20040225065825 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA04B01BF -20040225070116 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA056DD47 -20040225074027 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA172E1B3 -20040225080343 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA217422F -20040225081159 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA24927DB -20040225081331 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA24C058B -20040225082528 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA2993EBF -20040225084537 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA3242BE3 -20040225085012 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA33EF643 -20040225085829 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA3729D77 -20040225090710 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA3AC0143 -20040225091002 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA3B8AE6B -20040225092648 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA42B65D7 -20040225093120 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA4442793 -20040225093517 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA459441F -20040225094409 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA491BE4B -20040225095209 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA4C4E437 -20040225095548 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA4D5D7AB -20040225100531 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA51404EB -20040225100644 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5145C87 -20040225101834 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5609CBB -20040225102317 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA57AC86F -20040225103220 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5B631A3 -20040225103355 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5B98D2F -20040225103756 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5CEBAFB -20040225104020 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5D77CDF -20040225104557 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA5F6FD9F -20040225110302 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA66A70DF -20040225110515 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA6721A43 -20040225110913 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA6879A53 -20040225111338 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA69FE2FB -20040225111911 2 6 100 2047 5 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA6C04F47 -20040225112902 2 6 100 2047 2 F8F54DA4E1F232A9D05104B807DCBEA553C1E606FEB1CF149DEBB99243AAA7A354616FD95368EBCC1A58C8BCB87FB993F731400A413E07E35B1ADDD6484973E1734835FEFDC214DACA8C0844285A670D03BB3E1A5B5E14DC6F3B20EAAC8F18EB6C48AA5604F21EBEEA3C867F6CFA010858DFD589DCDEFBE8996A42F5BA00BEDFF6743F4D4E2808806965258C4E17D1B2BF371814696A2CC7C5C6548ED480AA7491A9DE16D2B12F15471B192295AA27F6D047EC2BA7547ED70674F52B4934D846712B1EA87E7FE12C5A210DEF5B3A14DBC8E712AA7192D877B4E6479F3CD69F82127E7352C19191B036A86BCF2D7D7CC687C25C5E4620295F10DCCE6BA7007CD3 -20040225143208 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8968A91B -20040225144922 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8987DF6B -20040225150309 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD899E0F8B -20040225161716 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8A3A91CF -20040225163012 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8A4CED2B -20040225175457 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8B02C5DB -20040225182539 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8B3E9D13 -20040225194030 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8BDE269B -20040225201420 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8C203553 -20040225203219 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8C40B747 -20040225203908 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8C46ED83 -20040225210230 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8C72586B -20040225212746 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8CA15F2F -20040225214624 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8CC34833 -20040225223007 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8D1B23AB -20040225234913 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8DC36C9B -20040226001353 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8DF174B3 -20040226004101 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8E24518B -20040226010652 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8E543397 -20040226015415 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8EB6152F -20040226022931 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8EFD1773 -20040226025740 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD8F3376D7 -20040226053010 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD90786CE3 -20040226054156 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD908AC36B -20040226081600 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD91D61A43 -20040226083039 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD91ED4AE3 -20040226092910 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD9265F7DB -20040226112913 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD93696533 -20040226115826 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD93A210A3 -20040226135326 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD949596D7 -20040226145128 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD95096CCF -20040226153142 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD95582C7B -20040226164905 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD95FACE7B -20040226171921 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD9633F443 -20040226182347 2 6 100 3071 5 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD96BAC3A7 -20040226200555 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD97972EFB -20040226202801 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD97C0B5C3 -20040226214755 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD9868011B -20040226215843 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD9876E7FB -20040226220422 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD987B4983 -20040226222346 2 6 100 3071 2 EDDA2E6520E6A915FE821EA06B4E19C95EBA8092F521CDE778B7B6CCA0FD89E935C904E2FA83E37DD49C1C52120C0958B85AAEE0B1A0E36C89836CE6C5509D50ABA58C154289C129B4A12A9249589496A5381CEA2105D818DB8790C4913BAD3C4C5ADB6BE036BD44B8AFB9F607017277FA36C971E5F10D7D062354FAB31BA97B376D723451478D1BA7D2C213A2E377E6826FF2F0695A2EDF9F8107DE4FF78DD0C2EF3A715084592623C58D2B2775FC7C0CF8F745EA1C75BEA8E574B9747207357DE143B0A803829E418B8F4BB44C40481CBB086B8AC6B93CC0E989E1336A010529F5D0FC4E077F778672646C62B7371965D60822C871F97C03913DB5CE080F67A348DD1722DD7BFA0761B2BF16A925FB9FCB6DCD1BC959A8794ACAEA984E1E9AE7BB2276B9C866CC890D8A8C51A17C479DA689DAA065C019CF9B082ED67D9CF1C9753E2A4030CCC27BE34280F042384597CEA223D5FA6631E109D5A23C60312F1D4783C3403D67A0D67665F7C5BEABF0BC30514DB07D7EF2A8E07CDD989D61D3 -20040227091438 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFC5737ECF -20040227101541 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFC5AE7363 -20040227160657 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFC7295F4F -20040227180410 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFC7A46573 -20040227225950 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFC8E6D5E3 -20040227233727 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFC9079B33 -20040228032633 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFCA006227 -20040228060859 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFCAAE6E63 -20040228101703 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFCBBC54FB -20040228192850 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFCE191D13 -20040229084451 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD1804AF3 -20040229164933 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD3887E07 -20040229210220 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD49457B7 -20040229222958 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD4EA3223 -20040301003324 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD566C79B -20040301030228 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD6032D8F -20040301040042 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD63B1113 -20040301073501 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD71C4A67 -20040301133631 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD8A0BBD3 -20040301165652 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD96E4053 -20040301184021 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFD9D662FB -20040302045553 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFDC5FE8E3 -20040302112648 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFDDFE9D13 -20040302120026 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFDE1A5AD3 -20040302130757 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFDE5E4073 -20040302142004 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFDEA4AA9B -20040302145603 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFDEC2C32B -20040302212946 2 6 100 4095 5 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFE0652EC7 -20040303003544 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFE127CF63 -20040303072925 2 6 100 4095 2 C7FE661FF2675517258B6E893FE81DFC29EDFB28FFE325C4F929BFAF5D0203DF5D75D966B0886A4197CC8F2EE339349DF88E73C54A315C402DF609DA61A237435167524F8EA37E5AB33E8A0C80E36DF4F6B9D6141958CC784CDDB6E2543038C9966D62AC2474786F2E2890E4935AD47BB005A6FC309817807EC9597B69858F1FBD6A1B28E897EFB6219F9FF83BEAFFD448C9F2F8C33CEA7C08242428FD75D218411E41523B688BF3D9311374E43D8963C821611BBBC91CA23968E60FB143FA0B36120657734D5C83C1C58A5A229CCDDC27875E51C358F0C8FEDDE4A11C50E0A154C80127B6FF92F496F7F2FA41D601A3EA88A3A53569AA3F3ABA5761757AC553CF57578800379C5F06082DD6088841D7BA48A58D1422B0DEC088279655C2D6380CF7097CD39565E9998785CBEB300AFFADEACA285201CBB27F48456EF7E49DE75380D0D1B4CCC28ADB8E12903473548D74A8847DAADC34315F157351C4CD507FF9B03CA6DD1C954BB75C9FD3C425FEFA76FC03FB346BE11E61B67A3AD374C1843ECA636CC7454249AB2A08B645DADCBFB48A470B1206ED20020FF0A0F5C2253187BBC2BC7F449AD58D35746E5A47B4A7BB404592C0A1F4E3BA34938C1E3C32464E1A52D3E722FA1165B72E8B438C11CFD0DB42A4081ED09F468A2E17C8D3F2BB689DC0CC831F889D7BAFC39D2A7F6C9A362E9BAE48B12FBACF34F9DFE2D793F3 +20060827013849 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE261778F3 +20060827013906 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE261CC47B +20060827013924 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE2621AFA3 +20060827014045 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26551B8B +20060827014056 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26556A27 +20060827014115 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE265B7273 +20060827014137 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26644D77 +20060827014203 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26717773 +20060827014214 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26722EBB +20060827014312 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26961C8B +20060827014407 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26BA7BBF +20060827014418 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26BAC107 +20060827014436 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26C05207 +20060827014515 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26D48C73 +20060827014527 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26D65CD7 +20060827014538 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26D7096F +20060827014607 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26E3760B +20060827014626 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26EAF29F +20060827014637 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26EBCF4F +20060827014653 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE26F0D6BB +20060827014732 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27088963 +20060827014835 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27320A73 +20060827014915 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27486FA3 +20060827014926 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE2748FD9F +20060827014940 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE274BB323 +20060827014956 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE274F8F7F +20060827015028 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE275C008F +20060827015112 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE2776D9EF +20060827015134 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27809AA3 +20060827015146 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27826DFB +20060827015200 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE2785363F +20060827015231 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27951F4F +20060827015246 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27991903 +20060827015300 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE279C7B37 +20060827015329 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27AB4843 +20060827015347 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27B0F9D7 +20060827015359 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27B24D5B +20060827015430 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27C2CE27 +20060827015449 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27CA3BA3 +20060827015546 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27E90A07 +20060827015607 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27F116BF +20060827015630 2 6 100 1023 5 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE27FBB66F +20060827015649 2 6 100 1023 2 DE49FC9069994C379D2B6563EFD37EFAE6785EEB1DD0A12B090AAC272B22DF8C64A4A2AB7B99CE0B77A9A52E0833D52D53B258CEDFFD175DC8A3766A9B9807362646DC9215628C3F4AF0E08D00AB60A3B9E55BAE47E82651DA0C15A27355DDB06365CAE1DDDE4C0C97DC9942FD65E9867FA50E72E1C785411EDD28DE2803E313 +20060827024302 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AD6C361B +20060827024350 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AD6F7E93 +20060827024537 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AD7DE4BB +20060827025000 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6ADB6D4D7 +20060827025429 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6ADEF2D8B +20060827025612 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6ADFCCB13 +20060827030138 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AE41E89B +20060827030223 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AE44A263 +20060827030555 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AE6FD2A7 +20060827031244 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AECC68C3 +20060827031437 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AEDFB4EB +20060827031602 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AEEB07E7 +20060827032434 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AF5B1533 +20060827032933 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AF99D5D3 +20060827033028 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AF9CF037 +20060827033120 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AFA14BBF +20060827033331 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AFB9FD2B +20060827033555 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AFD32F8B +20060827033806 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6AFEBB7DB +20060827034045 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B009C8D3 +20060827034214 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B0177447 +20060827034316 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B01EFC27 +20060827034514 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B0313F9B +20060827035109 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B07D542B +20060827035412 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B0A3485F +20060827035525 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B0AAF3BB +20060827035829 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B0CFE04F +20060827040101 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B0E988E7 +20060827040504 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B11D001B +20060827040746 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B13A45DF +20060827041350 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B188B89F +20060827041513 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B193B2EB +20060827041621 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B19B9807 +20060827041657 2 6 100 1535 5 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B19C0107 +20060827041817 2 6 100 1535 2 DF09936D6567325CD4EDE975CB3B9BFFB26C5EC31A71ABA0931BE89AEEB81A531708540B7EA03875E5DF4935ED021F3955D5C941BB682DBDA5425F4EF84DD1F42C6DCC5E313D64DE5B658682A51785102358771DDB6C2B86079C3D0A4EB0DA149E7B2CAC0AC254FFBCD82DF11D74A4E0BBE3FA0AD0675B8A3C6E794E943B7F3799BA8C0F80D602F85D3032D206A96EB16DAFD2C036F8D4F3DA1CCDB2178F08BD851D7BB1C2E964F48F91B2546916E76A80D8E16F700E1FC194308DD6B1A6BE4B +20060827052122 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C77E8ED3 +20060827055248 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C8549C07 +20060827055453 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C85B17DF +20060827060456 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C899BBE7 +20060827061203 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C8C362B3 +20060827061433 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C8CC69F7 +20060827061904 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C8E44BC7 +20060827062255 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C8F6B23F +20060827063052 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C926C817 +20060827063354 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C9351ABF +20060827063925 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C9541A43 +20060827064904 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C98CFAE7 +20060827070314 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C9E30823 +20060827070806 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532C9F90C33 +20060827071119 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CA04D477 +20060827072534 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CA5A1ADB +20060827073212 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CA7E88A3 +20060827073641 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CA93A193 +20060827073850 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CA999B57 +20060827080040 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CB21505F +20060827080817 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CB4C2F97 +20060827083711 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CC0FAA7F +20060827084308 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CC30FD83 +20060827084830 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CC4EFB67 +20060827085653 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CC8152FB +20060827090522 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CCB5AE6B +20060827092253 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CD252FCB +20060827095916 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CE117E2F +20060827100246 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CE2087CB +20060827102041 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CE925537 +20060827102556 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CEAF2A27 +20060827103749 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CEF9826F +20060827103917 2 6 100 2047 5 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CEFBC467 +20060827104611 2 6 100 2047 2 C038282DE061BE1AD34F31325EFE9B1D8520DB14276CEB61FE3A2CB8D77FFE3B9A067505205BBA8353847FD2EA1E2471E4294862A5D4C4F9A2B80F9DA0619327CDBF2EB608B0B5549294A955972AA3512821B24782DD8AB97B53AAB04B48180394ABFBC4DCF9B819FC0CB5AC1275AC5F16EC378163501E4B27D49C67F660333888F1D503B96FA9C6C880543D8B5F04D70FE508FFCA161798AD32015145B8E9AD43AAB48ADA81FD1E5A8EA7711A8FF57EC7C4C081B47FAB0C2E9FA468E70DD6700F3412224890D5E99527A596CE635195F3A6D35E563BF4892DF2C79C809704411018D919102D12CB112CE1E66EBF5DB9F409F6C82A6A6E1E21E23532CF24A6E3 +20060827130320 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084EFA80B3F +20060827132001 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084EFC2F2A3 +20060827132659 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084EFC83DE3 +20060827133231 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084EFCAE263 +20060827134212 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084EFD5D943 +20060827135606 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084EFEAD4AB +20060827142452 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F01CBFBB +20060827185212 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F24CFF67 +20060827190158 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F2599507 +20060827202730 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F305315B +20060827213252 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F38A5B63 +20060827214322 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F3987FC7 +20060827214825 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F39A3CDB +20060827232520 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F46375AB +20060828030405 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F62B17EB +20060828043230 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F6E0BB4F +20060828081338 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F8A9B0EF +20060828083613 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F8D164EF +20060828090529 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F906488B +20060828100621 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084F97FF4CB +20060828121421 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FA80824B +20060828141024 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FB659087 +20060828142059 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FB739E8F +20060828170552 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FCC5CE57 +20060828171327 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FCCCF9D3 +20060828185943 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FDA67727 +20060828190537 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FDAAC673 +20060828191202 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FDAFC737 +20060828192613 2 6 100 3071 2 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FDC50FBB +20060828193738 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FDD6023F +20060828204936 2 6 100 3071 5 D3230D237572ECE9F92358715EBAC3A4D89F2D6B4DC39F056450263BEF1665FBD7B93916ABC867B7064802159D273C7EB01C5F9281A3D6DCCB7CF997D385998EC0E1FA3319AFE771A90ADBACEB414A020630D7C7F161FAFEC6C9FC06D3205C712AAE8848A1B2C21DFF301C7FFC0B75D13F060A313C32AFEEAF1493F641760EBEF38829B3371699D2A3264D0ECEB4E5C19581ED8C57699F559B9828BBFE147952E289F0E171C9C60335DD2F492CB409A4DB97BDF86E2DBA605064DB040A3DF5678E24F66718CA115C95C892FF7AEDFAABC2E6414716298CEC1A604270FEADF191B7C8A59C238C395A65442C0B963BF83025BED3951A271B7440EC7687C31DE63355DA7FEAC15DC962C7BF7614EB59B077B9889AD8703DFE98AC99615B722A0ABE89956D1058E025C7733420CB51D7E1608EFF2C0A30C9A5EB77CCA02C6B00CE781B172001C6C458630890062E27CE307D513A7686A69D1D548DE8334B13136D9E842A5E17FD67522C93823E03F08AEE8024AF5D88B2EE01D4D9980084FE68405F +20060829063416 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE57DE9222B +20060829082327 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE57E5385E7 +20060829092010 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE57E8501A3 +20060830004204 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE5825F180F +20060830013522 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE5828DFA2B +20060830124707 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE58555C9EB +20060830180312 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE586989437 +20060831041205 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE5891334BF +20060831102341 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE58A8F8B27 +20060831234001 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE58DD7278B +20060901032352 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE58EBE93EB +20060901061345 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE58F693A3F +20060901123055 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE590F80AE7 +20060901191922 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE592994C63 +20060901203957 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE592E5D92F +20060901210250 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE592F4A5F3 +20060901225047 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE5935D124B +20060902020657 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE5942520CB +20060902070624 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE59553E03F +20060902095300 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE595F6EC6B +20060902113306 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE596599BEF +20060902142302 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE59703582B +20060902210839 2 6 100 4095 5 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE598A695F7 +20060903073325 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE59B315E9B +20060903095626 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE59BBD7153 +20060903162601 2 6 100 4095 2 DA110847314B537539F2A20681212A0B2ED264BF1F2595B817CC516D5AA4211585948B248F77277B11AB206738C71B5FB2FCC4041927B40B985282795A89EF66BDB111E1D07D790AC487DA5841B66FC407ED5DD8612703136422C442139C12040CE776FEB6C8B59B95408F31FB50073AD54B03F97113E61BE577E76D13AA971BA82CEE621C31C4770A7E076245A16689A9FE3E9190FB617FB330AA70AAC623B447D1858C24993D486C2B9A3C63FFCB3F230E7185F163C1EED434C24EE11EAC5B2369FEAF790523BD8BF7E8F9C87467ED6C89E5596974DCA6960E537259EA3AA587BF5198B26CE37638BC57012851903BB4CC0E2A28EC741EECB6220556EC5C118AE0142E5374AE2A3D1CEF165C09C0988A37877BCA6BBCAE28D52DA6701BF077307195C3618D4CAC58DDF64B6A8C2BF8E2FDCC0840973A8ED1F8413689BE05EA54AB6CD30464F94DD926D8CEC6B56704F534C6D8329A27ECAD9836721BC0C283E63CDA54FCEA851C0203E747BB02B75C92036928EFC201FFCBB747A2E093CCED157C3C3F74258D5607B6B8AA330DECCF42A73A6F81D300BAFCA921BAFF635DFC90824938F7454B258C1967FF90C1D828E028F9FA86AA7B287A87EC750EDCECEEEC223EAEA78511CB3C0130043950478737FDF6D56EA2B705D5E4C57701E955A9C862DBCAF36D0624D2F2C20616AA3E0478A4A722BBA577BC02578EE59D48AEE3 20040305011518 2 6 100 6143 2 E95A4131F86234D27EE1E51791599559EEDB618912E4FE36B81B80CDA4D497959DBFAEE929317A66BE64A328BAB6183EA5A5CBB3581490B4B613B225ADD00EFD38540356E0F4716229CDDB260283AF044FDAF1EF9248BB0CE9031C117CF15D3259B3E7B0301CA1AAC91AFA7A57CCDEED2DA4EFC2DBC7A9FC53BB4D3CB2D57D209D5DDEF25DE14F8226404296BD504EC14F6340F0AA2A1A943B9552C4B91D3EB48C08A13671C36EE5042857625DD2CB58965C0975EB775057FF82BC2B8B69D0BF26E2F80115B3E1A984D1D73D9D02AD69C3A1AF90EC915DE6FC9F574BD755B2EF6BBE62F3717E128DC797A06FE35C1C28CED57A0F64F61A4439ACFE7A7B95A1A948417A5B8B69916A32989B00E2C3FB7C74139A4DA9E533C439E59FC7C4F90780D2BBCDF012C499C15A1E0B5C318F84FB17DF97AB3EC356FD0072CFA3884EFBED319009DE6DBF2A5C7C87A93DEB04CCD9147EF8C9BEC2FD713793E4F0BF8C4EFCEBFBF95D555E523AB5D742808C4E425979A1C216C8CB2B42C7715B8CA5907E84E6FBC35DA7BFBFC892870B659C882C6E3697E0DCC6C24771F26D51A890786DA516DBC2D161680B134F1715B32F734E667650398EC2241AF78877BB3D61D83D0158DDE894862EE6E1BEE278724EA7B34C74F0A5D6B7F79F1322E20AD5757E11D9AC31BFE27C56ABB23A275130533433DC41DDBA1081E3A018E0D0B55DF33ECAE104909DC74F1CA2256CFD423A859B0AC2112A0AE684396C0029AD07D0D30AC84FFD2C2E80B74DE29310FCAFE7D0CB8864729B6FD1F86052D7DD9A9CB085A186259A67C175B3F81C5DA19AFED1BF9C5C07F40A29ED47ED4F1C7DE878B8411E3239ED15AC0E4CCC1D7F8842E9FD9C989F301E2689F800C3D14A38810906A36EEA34207014E99C843C599D56FCFBC14278A2A009C13B6E4AC7460B54D2C7EF38D72AC450540097D2AF609D3FFF874D14582FA8FF21027DEC92844BD22A9A7EC14C66BCC8DB1E058B95AF87ACB60A5725767A76C9185744E483BCCD9278ED9FF15A04061D0F6E32D98B6853A39AA498673C7DD012982B1913B3C3CE2C7080E4CE974B 20040305043124 2 6 100 6143 2 E95A4131F86234D27EE1E51791599559EEDB618912E4FE36B81B80CDA4D497959DBFAEE929317A66BE64A328BAB6183EA5A5CBB3581490B4B613B225ADD00EFD38540356E0F4716229CDDB260283AF044FDAF1EF9248BB0CE9031C117CF15D3259B3E7B0301CA1AAC91AFA7A57CCDEED2DA4EFC2DBC7A9FC53BB4D3CB2D57D209D5DDEF25DE14F8226404296BD504EC14F6340F0AA2A1A943B9552C4B91D3EB48C08A13671C36EE5042857625DD2CB58965C0975EB775057FF82BC2B8B69D0BF26E2F80115B3E1A984D1D73D9D02AD69C3A1AF90EC915DE6FC9F574BD755B2EF6BBE62F3717E128DC797A06FE35C1C28CED57A0F64F61A4439ACFE7A7B95A1A948417A5B8B69916A32989B00E2C3FB7C74139A4DA9E533C439E59FC7C4F90780D2BBCDF012C499C15A1E0B5C318F84FB17DF97AB3EC356FD0072CFA3884EFBED319009DE6DBF2A5C7C87A93DEB04CCD9147EF8C9BEC2FD713793E4F0BF8C4EFCEBFBF95D555E523AB5D742808C4E425979A1C216C8CB2B42C7715B8CA5907E84E6FBC35DA7BFBFC892870B659C882C6E3697E0DCC6C24771F26D51A890786DA516DBC2D161680B134F1715B32F734E667650398EC2241AF78877BB3D61D83D0158DDE894862EE6E1BEE278724EA7B34C74F0A5D6B7F79F1322E20AD5757E11D9AC31BFE27C56ABB23A275130533433DC41DDBA1081E3A018E0D0B55DF33ECAE104909DC74F1CA2256CFD423A859B0AC2112A0AE684396C0029AD07D0D30AC84FFD2C2E80B74DE29310FCAFE7D0CB8864729B6FD1F86052D7DD9A9CB085A186259A67C175B3F81C5DA19AFED1BF9C5C07F40A29ED47ED4F1C7DE878B8411E3239ED15AC0E4CCC1D7F8842E9FD9C989F301E2689F800C3D14A38810906A36EEA34207014E99C843C599D56FCFBC14278A2A009C13B6E4AC7460B54D2C7EF38D72AC450540097D2AF609D3FFF874D14582FA8FF21027DEC92844BD22A9A7EC14C66BCC8DB1E058B95AF87ACB60A5725767A76C9185744E483BCCD9278ED9FF15A04061D0F6E32D98B6853A39AA498673C7DD012982B1913B3C3CE2C7080E5050933 20040305084728 2 6 100 6143 2 E95A4131F86234D27EE1E51791599559EEDB618912E4FE36B81B80CDA4D497959DBFAEE929317A66BE64A328BAB6183EA5A5CBB3581490B4B613B225ADD00EFD38540356E0F4716229CDDB260283AF044FDAF1EF9248BB0CE9031C117CF15D3259B3E7B0301CA1AAC91AFA7A57CCDEED2DA4EFC2DBC7A9FC53BB4D3CB2D57D209D5DDEF25DE14F8226404296BD504EC14F6340F0AA2A1A943B9552C4B91D3EB48C08A13671C36EE5042857625DD2CB58965C0975EB775057FF82BC2B8B69D0BF26E2F80115B3E1A984D1D73D9D02AD69C3A1AF90EC915DE6FC9F574BD755B2EF6BBE62F3717E128DC797A06FE35C1C28CED57A0F64F61A4439ACFE7A7B95A1A948417A5B8B69916A32989B00E2C3FB7C74139A4DA9E533C439E59FC7C4F90780D2BBCDF012C499C15A1E0B5C318F84FB17DF97AB3EC356FD0072CFA3884EFBED319009DE6DBF2A5C7C87A93DEB04CCD9147EF8C9BEC2FD713793E4F0BF8C4EFCEBFBF95D555E523AB5D742808C4E425979A1C216C8CB2B42C7715B8CA5907E84E6FBC35DA7BFBFC892870B659C882C6E3697E0DCC6C24771F26D51A890786DA516DBC2D161680B134F1715B32F734E667650398EC2241AF78877BB3D61D83D0158DDE894862EE6E1BEE278724EA7B34C74F0A5D6B7F79F1322E20AD5757E11D9AC31BFE27C56ABB23A275130533433DC41DDBA1081E3A018E0D0B55DF33ECAE104909DC74F1CA2256CFD423A859B0AC2112A0AE684396C0029AD07D0D30AC84FFD2C2E80B74DE29310FCAFE7D0CB8864729B6FD1F86052D7DD9A9CB085A186259A67C175B3F81C5DA19AFED1BF9C5C07F40A29ED47ED4F1C7DE878B8411E3239ED15AC0E4CCC1D7F8842E9FD9C989F301E2689F800C3D14A38810906A36EEA34207014E99C843C599D56FCFBC14278A2A009C13B6E4AC7460B54D2C7EF38D72AC450540097D2AF609D3FFF874D14582FA8FF21027DEC92844BD22A9A7EC14C66BCC8DB1E058B95AF87ACB60A5725767A76C9185744E483BCCD9278ED9FF15A04061D0F6E32D98B6853A39AA498673C7DD012982B1913B3C3CE2C7080E54C7783 @@ -198,3 +183,6 @@ 20040319025848 2 6 100 6143 2 E95A4131F86234D27EE1E51791599559EEDB618912E4FE36B81B80CDA4D497959DBFAEE929317A66BE64A328BAB6183EA5A5CBB3581490B4B613B225ADD00EFD38540356E0F4716229CDDB260283AF044FDAF1EF9248BB0CE9031C117CF15D3259B3E7B0301CA1AAC91AFA7A57CCDEED2DA4EFC2DBC7A9FC53BB4D3CB2D57D209D5DDEF25DE14F8226404296BD504EC14F6340F0AA2A1A943B9552C4B91D3EB48C08A13671C36EE5042857625DD2CB58965C0975EB775057FF82BC2B8B69D0BF26E2F80115B3E1A984D1D73D9D02AD69C3A1AF90EC915DE6FC9F574BD755B2EF6BBE62F3717E128DC797A06FE35C1C28CED57A0F64F61A4439ACFE7A7B95A1A948417A5B8B69916A32989B00E2C3FB7C74139A4DA9E533C439E59FC7C4F90780D2BBCDF012C499C15A1E0B5C318F84FB17DF97AB3EC356FD0072CFA3884EFBED319009DE6DBF2A5C7C87A93DEB04CCD9147EF8C9BEC2FD713793E4F0BF8C4EFCEBFBF95D555E523AB5D742808C4E425979A1C216C8CB2B42C7715B8CA5907E84E6FBC35DA7BFBFC892870B659C882C6E3697E0DCC6C24771F26D51A890786DA516DBC2D161680B134F1715B32F734E667650398EC2241AF78877BB3D61D83D0158DDE894862EE6E1BEE278724EA7B34C74F0A5D6B7F79F1322E20AD5757E11D9AC31BFE27C56ABB23A275130533433DC41DDBA1081E3A018E0D0B55DF33ECAE104909DC74F1CA2256CFD423A859B0AC2112A0AE684396C0029AD07D0D30AC84FFD2C2E80B74DE29310FCAFE7D0CB8864729B6FD1F86052D7DD9A9CB085A186259A67C175B3F81C5DA19AFED1BF9C5C07F40A29ED47ED4F1C7DE878B8411E3239ED15AC0E4CCC1D7F8842E9FD9C989F301E2689F800C3D14A38810906A36EEA34207014E99C843C599D56FCFBC14278A2A009C13B6E4AC7460B54D2C7EF38D72AC450540097D2AF609D3FFF874D14582FA8FF21027DEC92844BD22A9A7EC14C66BCC8DB1E058B95AF87ACB60A5725767A76C9185744E483BCCD9278ED9FF15A04061D0F6E32D98B6853A39AA498673C7DD012982B1913B3C3CE2C7080FD81741B 20040323194658 2 6 100 6143 5 E95A4131F86234D27EE1E51791599559EEDB618912E4FE36B81B80CDA4D497959DBFAEE929317A66BE64A328BAB6183EA5A5CBB3581490B4B613B225ADD00EFD38540356E0F4716229CDDB260283AF044FDAF1EF9248BB0CE9031C117CF15D3259B3E7B0301CA1AAC91AFA7A57CCDEED2DA4EFC2DBC7A9FC53BB4D3CB2D57D209D5DDEF25DE14F8226404296BD504EC14F6340F0AA2A1A943B9552C4B91D3EB48C08A13671C36EE5042857625DD2CB58965C0975EB775057FF82BC2B8B69D0BF26E2F80115B3E1A984D1D73D9D02AD69C3A1AF90EC915DE6FC9F574BD755B2EF6BBE62F3717E128DC797A06FE35C1C28CED57A0F64F61A4439ACFE7A7B95A1A948417A5B8B69916A32989B00E2C3FB7C74139A4DA9E533C439E59FC7C4F90780D2BBCDF012C499C15A1E0B5C318F84FB17DF97AB3EC356FD0072CFA3884EFBED319009DE6DBF2A5C7C87A93DEB04CCD9147EF8C9BEC2FD713793E4F0BF8C4EFCEBFBF95D555E523AB5D742808C4E425979A1C216C8CB2B42C7715B8CA5907E84E6FBC35DA7BFBFC892870B659C882C6E3697E0DCC6C24771F26D51A890786DA516DBC2D161680B134F1715B32F734E667650398EC2241AF78877BB3D61D83D0158DDE894862EE6E1BEE278724EA7B34C74F0A5D6B7F79F1322E20AD5757E11D9AC31BFE27C56ABB23A275130533433DC41DDBA1081E3A018E0D0B55DF33ECAE104909DC74F1CA2256CFD423A859B0AC2112A0AE684396C0029AD07D0D30AC84FFD2C2E80B74DE29310FCAFE7D0CB8864729B6FD1F86052D7DD9A9CB085A186259A67C175B3F81C5DA19AFED1BF9C5C07F40A29ED47ED4F1C7DE878B8411E3239ED15AC0E4CCC1D7F8842E9FD9C989F301E2689F800C3D14A38810906A36EEA34207014E99C843C599D56FCFBC14278A2A009C13B6E4AC7460B54D2C7EF38D72AC450540097D2AF609D3FFF874D14582FA8FF21027DEC92844BD22A9A7EC14C66BCC8DB1E058B95AF87ACB60A5725767A76C9185744E483BCCD9278ED9FF15A04061D0F6E32D98B6853A39AA498673C7DD012982B1913B3C3CE2C708105AF04AF 20040324041535 2 6 100 6143 5 E95A4131F86234D27EE1E51791599559EEDB618912E4FE36B81B80CDA4D497959DBFAEE929317A66BE64A328BAB6183EA5A5CBB3581490B4B613B225ADD00EFD38540356E0F4716229CDDB260283AF044FDAF1EF9248BB0CE9031C117CF15D3259B3E7B0301CA1AAC91AFA7A57CCDEED2DA4EFC2DBC7A9FC53BB4D3CB2D57D209D5DDEF25DE14F8226404296BD504EC14F6340F0AA2A1A943B9552C4B91D3EB48C08A13671C36EE5042857625DD2CB58965C0975EB775057FF82BC2B8B69D0BF26E2F80115B3E1A984D1D73D9D02AD69C3A1AF90EC915DE6FC9F574BD755B2EF6BBE62F3717E128DC797A06FE35C1C28CED57A0F64F61A4439ACFE7A7B95A1A948417A5B8B69916A32989B00E2C3FB7C74139A4DA9E533C439E59FC7C4F90780D2BBCDF012C499C15A1E0B5C318F84FB17DF97AB3EC356FD0072CFA3884EFBED319009DE6DBF2A5C7C87A93DEB04CCD9147EF8C9BEC2FD713793E4F0BF8C4EFCEBFBF95D555E523AB5D742808C4E425979A1C216C8CB2B42C7715B8CA5907E84E6FBC35DA7BFBFC892870B659C882C6E3697E0DCC6C24771F26D51A890786DA516DBC2D161680B134F1715B32F734E667650398EC2241AF78877BB3D61D83D0158DDE894862EE6E1BEE278724EA7B34C74F0A5D6B7F79F1322E20AD5757E11D9AC31BFE27C56ABB23A275130533433DC41DDBA1081E3A018E0D0B55DF33ECAE104909DC74F1CA2256CFD423A859B0AC2112A0AE684396C0029AD07D0D30AC84FFD2C2E80B74DE29310FCAFE7D0CB8864729B6FD1F86052D7DD9A9CB085A186259A67C175B3F81C5DA19AFED1BF9C5C07F40A29ED47ED4F1C7DE878B8411E3239ED15AC0E4CCC1D7F8842E9FD9C989F301E2689F800C3D14A38810906A36EEA34207014E99C843C599D56FCFBC14278A2A009C13B6E4AC7460B54D2C7EF38D72AC450540097D2AF609D3FFF874D14582FA8FF21027DEC92844BD22A9A7EC14C66BCC8DB1E058B95AF87ACB60A5725767A76C9185744E483BCCD9278ED9FF15A04061D0F6E32D98B6853A39AA498673C7DD012982B1913B3C3CE2C70810643E737 +20061002171426 2 6 100 8191 2 D2D64D8CC6FDFA9897C8AE805EA7CB972D7A10F5A268EB5B33B0CCE2C75E480365A49070185D8B316872BAF0F3AAF94498A8E0007A13D574C905441F19D4B0D55A83E2A70C09F7B3E353DEA76F5FEB4191E31F4A52D0BC643B9FD1959BDF8B99C13F245B5D9E8589D6C18A844814486F25A8E189B964A9E72675DDE4D759C901C09F7C24CB3E939B54D2009AE9331446C1EDE5FA9D0A33B36F6A6C9B55E956A94169FBE9C1A24EC9A3E497371F4131F2B1E4FB25A1BB27B23A6661155F37C6EC913E5CB207AD894C2319852C556CA040C6B72DE6E913BCF419E5914507119F771206FAB25B1D6BAD57AFEAF74D807CC576549CD979B0AAC13F5D2B637CCF4A54D2D903A4B29C16B9E8BEE8AD6200D24E4E3E97EB25B2DD13C31AE2A4F27D6EFBFA113F9334F92204FCFFCAA5EBDCCBA986C5B6E665FE71D6654ACA3C8051424133597FD65A18BB2AA24FFDD8B09A8758D984E09BE1F55B16A37B36B058295B1E9942A89D386D4B4DB58C516429248052D97DE42BFC32AB14F13D7F963E86867B8B7245062061C9F315EA94C38FCC0E118373BEFC41D1004CF0FA6D951E20BAC5D2C15F5796163469B88A75FE5F5D2C69C949DA47DAC75D22869F37FAB2490791FA5A5854360EAA13701CEE40EC371797272A12746ABA9CB303224B82F8CCE3F62C0D3EA0D62BF3B2C387E015B1A96A4C4A2A73ADA521B0536B81A536A5119EC559D524BA7F2B25A094A164A4EEBB8ADA886DCBA9647FC4D2D4A91BA0DB32805EDA75B61E09F44BC49862D70B8F28C8E630CD6F0DF245535D79DCD75ECBDE51B29AA6DD3F59736E5028E3AB1E75CFCDA1FF9E6F8D52027A4BC218FC9A9E660BF7EB14D300F4199C04B24725405AFA6535DF0837FEF33C0F8B57B9BDFFB1D956E7B40E822FF40603FB5417523B115FE5864094001CEF2526395C19532F153C4630B95E9835FAC985E1C9DF62188DBA12D5B8BEEB414FFD90AFEDF8F986DF33EF5BC7F7C16ACDC4D40A00822CE17A9724066EED89127195BB9D037CB7FB74AA7178A1A4CBECC5D9F67747AA74156C70E54BABA8641A55B93637385A0D1D56E5220867B5A11ED44CFC405AC238DC39690A966A2DE238FFA1E3B3C859D988DE14916C32AB2A2CB35C57F3609C34F1E8E4B5FAC2F446E0EB78CFD64DD7A3570677D373E8FEC6FF47D5471577D92F22B115D03F302C8CD1A43FCDCEBBA823EE942D7733FF7F78672BEAACCEA279744CC14D60E3912E81A14421989CF5B2C10FD1CDB6CA95E2CA8C574AA6C4F3856602A0D32A9978697752878C0DCB50EF5463EE61C83F776AB9D8098755AF00D2972D3E5E502C39A9CE52C8588472C1D3242CA658290F472D48CB0876752643C2F63CFEB66DF6E93C8BE2404DFA10AB3D8EEF214C371DC0EC29755C086574B1AA92A892B517F6E01056DD5EFEB2437E23100E487E3D4B +20061005090403 2 6 100 8191 5 D2D64D8CC6FDFA9897C8AE805EA7CB972D7A10F5A268EB5B33B0CCE2C75E480365A49070185D8B316872BAF0F3AAF94498A8E0007A13D574C905441F19D4B0D55A83E2A70C09F7B3E353DEA76F5FEB4191E31F4A52D0BC643B9FD1959BDF8B99C13F245B5D9E8589D6C18A844814486F25A8E189B964A9E72675DDE4D759C901C09F7C24CB3E939B54D2009AE9331446C1EDE5FA9D0A33B36F6A6C9B55E956A94169FBE9C1A24EC9A3E497371F4131F2B1E4FB25A1BB27B23A6661155F37C6EC913E5CB207AD894C2319852C556CA040C6B72DE6E913BCF419E5914507119F771206FAB25B1D6BAD57AFEAF74D807CC576549CD979B0AAC13F5D2B637CCF4A54D2D903A4B29C16B9E8BEE8AD6200D24E4E3E97EB25B2DD13C31AE2A4F27D6EFBFA113F9334F92204FCFFCAA5EBDCCBA986C5B6E665FE71D6654ACA3C8051424133597FD65A18BB2AA24FFDD8B09A8758D984E09BE1F55B16A37B36B058295B1E9942A89D386D4B4DB58C516429248052D97DE42BFC32AB14F13D7F963E86867B8B7245062061C9F315EA94C38FCC0E118373BEFC41D1004CF0FA6D951E20BAC5D2C15F5796163469B88A75FE5F5D2C69C949DA47DAC75D22869F37FAB2490791FA5A5854360EAA13701CEE40EC371797272A12746ABA9CB303224B82F8CCE3F62C0D3EA0D62BF3B2C387E015B1A96A4C4A2A73ADA521B0536B81A536A5119EC559D524BA7F2B25A094A164A4EEBB8ADA886DCBA9647FC4D2D4A91BA0DB32805EDA75B61E09F44BC49862D70B8F28C8E630CD6F0DF245535D79DCD75ECBDE51B29AA6DD3F59736E5028E3AB1E75CFCDA1FF9E6F8D52027A4BC218FC9A9E660BF7EB14D300F4199C04B24725405AFA6535DF0837FEF33C0F8B57B9BDFFB1D956E7B40E822FF40603FB5417523B115FE5864094001CEF2526395C19532F153C4630B95E9835FAC985E1C9DF62188DBA12D5B8BEEB414FFD90AFEDF8F986DF33EF5BC7F7C16ACDC4D40A00822CE17A9724066EED89127195BB9D037CB7FB74AA7178A1A4CBECC5D9F67747AA74156C70E54BABA8641A55B93637385A0D1D56E5220867B5A11ED44CFC405AC238DC39690A966A2DE238FFA1E3B3C859D988DE14916C32AB2A2CB35C57F3609C34F1E8E4B5FAC2F446E0EB78CFD64DD7A3570677D373E8FEC6FF47D5471577D92F22B115D03F302C8CD1A43FCDCEBBA823EE942D7733FF7F78672BEAACCEA279744CC14D60E3912E81A14421989CF5B2C10FD1CDB6CA95E2CA8C574AA6C4F3856602A0D32A9978697752878C0DCB50EF5463EE61C83F776AB9D8098755AF00D2972D3E5E502C39A9CE52C8588472C1D3242CA658290F472D48CB0876752643C2F63CFEB66DF6E93C8BE2404DFA10AB3D8EEF214C371DC0EC29755C086574B1AA92A892B517F6E01056DD5EFEB2437E23100E4A242A2F +20061005152228 2 6 100 8191 2 D2D64D8CC6FDFA9897C8AE805EA7CB972D7A10F5A268EB5B33B0CCE2C75E480365A49070185D8B316872BAF0F3AAF94498A8E0007A13D574C905441F19D4B0D55A83E2A70C09F7B3E353DEA76F5FEB4191E31F4A52D0BC643B9FD1959BDF8B99C13F245B5D9E8589D6C18A844814486F25A8E189B964A9E72675DDE4D759C901C09F7C24CB3E939B54D2009AE9331446C1EDE5FA9D0A33B36F6A6C9B55E956A94169FBE9C1A24EC9A3E497371F4131F2B1E4FB25A1BB27B23A6661155F37C6EC913E5CB207AD894C2319852C556CA040C6B72DE6E913BCF419E5914507119F771206FAB25B1D6BAD57AFEAF74D807CC576549CD979B0AAC13F5D2B637CCF4A54D2D903A4B29C16B9E8BEE8AD6200D24E4E3E97EB25B2DD13C31AE2A4F27D6EFBFA113F9334F92204FCFFCAA5EBDCCBA986C5B6E665FE71D6654ACA3C8051424133597FD65A18BB2AA24FFDD8B09A8758D984E09BE1F55B16A37B36B058295B1E9942A89D386D4B4DB58C516429248052D97DE42BFC32AB14F13D7F963E86867B8B7245062061C9F315EA94C38FCC0E118373BEFC41D1004CF0FA6D951E20BAC5D2C15F5796163469B88A75FE5F5D2C69C949DA47DAC75D22869F37FAB2490791FA5A5854360EAA13701CEE40EC371797272A12746ABA9CB303224B82F8CCE3F62C0D3EA0D62BF3B2C387E015B1A96A4C4A2A73ADA521B0536B81A536A5119EC559D524BA7F2B25A094A164A4EEBB8ADA886DCBA9647FC4D2D4A91BA0DB32805EDA75B61E09F44BC49862D70B8F28C8E630CD6F0DF245535D79DCD75ECBDE51B29AA6DD3F59736E5028E3AB1E75CFCDA1FF9E6F8D52027A4BC218FC9A9E660BF7EB14D300F4199C04B24725405AFA6535DF0837FEF33C0F8B57B9BDFFB1D956E7B40E822FF40603FB5417523B115FE5864094001CEF2526395C19532F153C4630B95E9835FAC985E1C9DF62188DBA12D5B8BEEB414FFD90AFEDF8F986DF33EF5BC7F7C16ACDC4D40A00822CE17A9724066EED89127195BB9D037CB7FB74AA7178A1A4CBECC5D9F67747AA74156C70E54BABA8641A55B93637385A0D1D56E5220867B5A11ED44CFC405AC238DC39690A966A2DE238FFA1E3B3C859D988DE14916C32AB2A2CB35C57F3609C34F1E8E4B5FAC2F446E0EB78CFD64DD7A3570677D373E8FEC6FF47D5471577D92F22B115D03F302C8CD1A43FCDCEBBA823EE942D7733FF7F78672BEAACCEA279744CC14D60E3912E81A14421989CF5B2C10FD1CDB6CA95E2CA8C574AA6C4F3856602A0D32A9978697752878C0DCB50EF5463EE61C83F776AB9D8098755AF00D2972D3E5E502C39A9CE52C8588472C1D3242CA658290F472D48CB0876752643C2F63CFEB66DF6E93C8BE2404DFA10AB3D8EEF214C371DC0EC29755C086574B1AA92A892B517F6E01056DD5EFEB2437E23100E4A4C3B0B diff --git a/remote/etc/ssh/sshd_config b/remote/etc/ssh/sshd_config index 994b27676..389e06311 100644 --- a/remote/etc/ssh/sshd_config +++ b/remote/etc/ssh/sshd_config @@ -1,4 +1,4 @@ -# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $ +# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. @@ -28,7 +28,7 @@ Protocol 2 # Lifetime and size of ephemeral version 1 server key #KeyRegenerationInterval 1h -#ServerKeyBits 768 +#ServerKeyBits 1024 # Logging # obsoletes QuietMode and FascistLogging @@ -41,6 +41,7 @@ Protocol 2 #PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 +#MaxSessions 10 #RSAAuthentication yes #PubkeyAuthentication yes @@ -84,6 +85,7 @@ ChallengeResponseAuthentication no # and ChallengeResponseAuthentication to 'no'. UsePAM yes +#AllowAgentForwarding yes #AllowTcpForwarding yes #GatewayPorts no #X11Forwarding no @@ -102,9 +104,10 @@ UsePAM yes #PidFile /var/run/sshd.pid #MaxStartups 10 #PermitTunnel no +#ChrootDirectory none # no default banner path -#Banner /some/path +#Banner none # override default of no subsystems Subsystem sftp /usr/lib/ssh/sftp-server diff --git a/scripts/create-upload-tarball.sh b/scripts/create-upload-tarball.sh index 51ac2a2b3..e8699f8d5 100755 --- a/scripts/create-upload-tarball.sh +++ b/scripts/create-upload-tarball.sh @@ -4,7 +4,7 @@ NAME="$(date +%Y%m%d)" mkdir iso-creator-$ARCH cd iso-creator-$ARCH mkbootcd -c=/etc/archboot/archbootcd.conf -t=$NAME-$ARCH.tar.bz2 -mkbootcd -c=/etc/archboot/archbootcd-lowmem.conf -t=$NAME-$ARCH-lowmem.tar.bz2 +mkbootcd -c=/etc/archboot/archbootcd-tarball.conf -t=$NAME-$ARCH-lowmem.tar.bz2 mkdir normal mkdir lowmem tar xvfj $NAME-$ARCH.tar.bz2 diff --git a/scripts/generate-isos.sh b/scripts/generate-isos.sh index 096f4b518..1a49997cc 100755 --- a/scripts/generate-isos.sh +++ b/scripts/generate-isos.sh @@ -6,8 +6,6 @@ IMAGE="" CONFIG="" VERSION="" ARCH="" -PACMAN="" -PACKAGES="" PACKAGEDIR="" TESTINGDIR="" TESTINGLIST="" @@ -19,7 +17,6 @@ usage () echo " -i=IMAGE boot IMAGE for ISO creation" echo " -v=VERSION VERSION name of ISO image" echo " -a=ARCH architecture name of ISO image" - echo " -P=PACKAGES packages.txt file on ISO image" echo " -PD=PACKAGEDIR directory with packages included" echo "Optional:" echo " -c=CONFIG Use CONFIG file with included parameters." @@ -38,8 +35,6 @@ while [ $# -gt 0 ]; do -c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;; -v=*|--v=*) VERSION="$(echo $1 | awk -F= '{print $2;}')" ;; -a|--a) ARCH="$(echo $1 | awk -F= '{print $2;}')" ;; - -p|--p) PACMAN="$(echo $1 | awk -F= '{print $2;}')" ;; - -P=*|--P=*) PACKAGES="$(echo $1 | awk -F= '{print $2;}')" ;; -PD=*|--PD=*) PACKAGEDIR="$(echo $1 | awk -F= '{print $2;}')" ;; -TD=*|--TD=*) TESTINGDIR="$(echo $1 | awk -F= '{print $2;}')" ;; -TL=*|--TL=*) TESTINGLIST="$(echo $1 | awk -F= '{print $2;}')" ;; @@ -55,7 +50,7 @@ if ! [ -e "${IMAGE}" ] ; then echo "Image does not exist, aborting now." exit 1 fi -if [ "${VERSION}" = "" -o "${ARCH}" = "" -o "${PACKAGES}" = "" -o "${PACKAGEDIR}" = "" ]; then +if [ "${VERSION}" = "" -o "${ARCH}" = "" -o "${PACKAGEDIR}" = "" ]; then echo "One parameter is missing please check your paramters, aborting now" exit 1 fi @@ -71,53 +66,6 @@ rm $(echo tmp/*/)isolinux/*lowmem* ! [ -d ${ARCH} ] && mkdir ${ARCH} echo "Generating FTP ${ARCH} ISO ..." mkisofs -RlDJLV "Arch Linux FTP ${ARCH}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ${ARCH}/Archlinux-${ARCH}-$(date +%Y.%m)-${VERSION}.ftp.iso $(echo tmp/*/) > /dev/null 2>&1 -# generate base iso -#echo "Generating BASE ${ARCH} ISO ..." -#mkdir -p $(echo tmp/*/)arch/pkg/setup -#if [ "$USE_RC_KERNEL" = "1" ]; then -# # make directories and extract db files -# mkdir fake-package -# mkdir -p db/current -# mkdir -p db/kernel -# grep -e base/ -e kernels/ ${PACKAGES} > fake-package/packages.txt -# tar xfz ${PACKAGEDIR}/current.db.tar.gz -C db/current/ -# tar xfz ${TESTINGDIR}/kernel.db.tar.gz -C db/kernel/ -# # replace kernel26 with wanted kernel -# sed -i -e "s#$(echo db/current/kernel26* | sed -e's#.*/##g')#$(echo db/kernel/kernel26* | sed -e's#.*/##g')#g" fake-package/packages.txt -# cp fake-package/packages.txt $(echo tmp/*/)arch/pkg/setup/packages.txt -# # change kernel26 in db file -# rm -r db/current/$(echo kernel26*) -# cp -r db/kernel/$(echo kernel26*) db/current/ -# cd db/current -# # regenerate db file -# tar cvfz current.db.tar.gz * -# cd ../../ -# cp db/current/current.db.tar.gz $(echo tmp/*/)arch/pkg/ -# #cleanup db files and packages -# rm -r fake-package/ db/ -# # copy packages -# for i in $(cat $(echo tmp/*/)arch/pkg/setup/packages.txt | sed -e 's#.*/##g'); do -# if ! (echo $i | grep "kernel26*"); then -# cp ${PACKAGEDIR}/$i $(echo tmp/*/)arch/pkg/ || exit 1 -# else -# cp ${TESTINGDIR}/$i $(echo tmp/*/)arch/pkg/ || exit 1 -# fi -# done -#else -# grep -e base/ -e kernels/ ${PACKAGES} > $(echo tmp/*/)arch/pkg/setup/packages.txt -# cp ${PACKAGEDIR}/current.db.tar.gz $(echo tmp/*/)arch/pkg/ -# for i in $(cat $(echo tmp/*/)arch/pkg/setup/packages.txt | sed -e 's#.*/##g'); do -# cp ${PACKAGEDIR}/$i $(echo tmp/*/)arch/pkg/ || exit 1 -# done -#fi -#if [ ${PACMAN} = "" ]; then -# for i in $(cat $(echo tmp/*/)arch/pkg/setup/packages.txt | sed -e 's#.*/##g' | grep pacman); do -# cp ${PACKAGEDIR}/$i $(echo tmp/*/)arch/pkg/setup/ || exit 1 -# done -#else -# cp ${PACMAN} $(echo tmp/*/)arch/pkg/setup/ || return 1 -#fi -#mkisofs -RlDJLV "Arch Linux BASE ${ARCH}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o Archlinux-${ARCH}-$(date +%Y.%m)-${VERSION}.base.iso $(echo tmp/*/) > /dev/null 2>&1 # generate core echo "Generating CORE ${ARCH} ISO ..." mkdir -p $(echo tmp/*/)core/pkg @@ -159,27 +107,46 @@ if [ "$USE_TESTING" = "1" ] ; then cd ../../../ else tar xfj ${IMAGE} - cp ${PACKAGES} $(echo tmp/*/)core/pkg/ - cp ${PACKAGEDIR}/core.db.tar.gz $(echo tmp/*/)core/pkg/ - for i in $(cat ${PACKAGES} | sed -e 's#.*/##g'); do - cp ${PACKAGEDIR}/$i $(echo tmp/*/)core/pkg/ || exit 1 + SVNTREE=$(mktemp svntree.XXXX) + rm ${SVNTREE} + mkdir -p ${SVNTREE} + cd ${SVNTREE} + BASE="acl attr bash binutils bzip2 run-parts ca-certificates coreutils cpio cracklib cryptsetup dash db dcron device-mapper dhcpcd dialog dmapi e2fsprogs file filesystem findutils gawk gcc-libs gdbm gen-init-cpio gettext glibc grep groff grub gzip hdparm hwdetect initscripts iputils jfsutils kbd kernel-headers kernel26 klibc klibc-extras klibc-kbd klibc-module-init-tools klibc-udev less libarchive libdownload libgcrypt libgpg-error libpcap libusb licenses logrotate lvm2 lzo2 mailx man man-pages mdadm mkinitcpio mlocate module-init-tools nano ncurses net-tools openssl pacman pam pciutils pcmciautils pcre perl popt ppp procinfo procps psmisc readline reiserfsprogs rp-pppoe sdparm sed shadow sysfsutils syslog-ng sysvinit tar tcp_wrappers tzdata udev usbutils util-linux-ng vi wget which wpa_supplicant xfsprogs zlib" + DEVEL="autoconf automake bin86 bison diffutils ed fakeroot flex gcc libtool m4 make patch pkgconfig texinfo" + LIB="eventlog glib2 gmp heimdal libelf libevent libldap libsasl mpfr nfsidmap" + SUPPORT="atl2-2.0.4-1 bcm43xx-fwcutter bridge-utils capi4k-utils dnsutils dosfstools fuse gpm ifenslave iproute iptables ipw2100-fw ipw2200-fw isdn4k-utils iwlwifi-3945-ucode iwlwifi-4965-ucode links linux-atm madwifi madwifi-utils ndiswrapper ndiswrapper-utils netcfg netkit-telnet nfs-utils ntfs-3g ntfsprogs openssh openswan openvpn portmap ppp pptpclient rp-pppoe rt2500 rt2x00 rt2x00 sudo tiacx tiacx-firmware vpnc wireless_tools wlan-ng26 wlan-ng26-utils wpa_supplicant xinetd zd1211-firmware" + for i in base devel lib support; do + mkdir $i + svn co -N svn://localhost/home/svn-packages/ $i done + cd base; svn up $BASE; cd .. + cd devel; svn up $DEVEL; cd .. + cd lib; svn up $LIB; cd .. + cd support; svn up $SUPPORT; cd .. + SEARCHSVN=$(find ./ -type d -name *"$ARCH" ! -name "testing*") + for COPY in ${SEARCHSVN};do + if ! [ "$(echo ${COPY} | awk -F/ '{print $3}')" = "" ]; then + source "${COPY}/PKGBUILD" + cp $PACKAGEDIR/${pkgname}-${pkgver}-${pkgrel}-$ARCH.pkg.tar.gz ../$(echo tmp/*/)core/pkg/ + echo "$(echo ${COPY}| awk -F/ '{print $2}')/${pkgname}-${pkgver}-${pkgrel}-$ARCH.pkg.tar.gz" >> packages.txt + fi + done + repo-add core.db.tar.gz ../$(echo tmp/*/)core/pkg/*.pkg.tar.gz + # generate packages.txt + sort -u packages.txt -o packages.txt + mv core.db.tar.gz ../$(echo tmp/*/)core/pkg/ + mv packages.txt ../$(echo tmp/*/)core/pkg/ + cd ../ cd $(echo tmp/*/)isolinux/ mv isolinux-lowmem.cfg isolinux.cfg mv boot-lowmem.msg boot.msg cd ../../../ fi -#if [ ${PACMAN} = "" ]; then -# for i in $(cat $(echo tmp/*/)arch/pkg/packages.txt | sed -e 's#.*/##g' | grep pacman); do -# cp ${PACKAGEDIR}/$i $(echo tmp/*/)arch/pkg/ || exit 1 -# done -#else -# cp ${PACMAN} $(echo tmp/*/)arch/pkg/ || return 1 -#fi ! [ -d ${ARCH} ] && mkdir ${ARCH} mkisofs -RlDJLV "Arch Linux CORE ${ARCH}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ${ARCH}/Archlinux-${ARCH}-$(date +%Y.%m)-${VERSION}.core.iso $(echo tmp/*/) > /dev/null 2>&1 # clean up rm -r tmp/ +rm -rf $SVNTREE # generate md5sums echo "Generating md5sums.txt ..." cd ${ARCH} diff --git a/scripts/km b/scripts/km deleted file mode 100755 index b3046d9cb..000000000 --- a/scripts/km +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# $Id: km,v 1.6 2007/09/23 08:23:54 tpowa Exp $ - -ANSWER="/tmp/.km" -PATH=$PATH:/tmp/bin:/tmp/usr/bin:/tmp/sbin:/tmp/usr/sbin - -BASEDIR="/usr/share/kbd" - -domenu() -{ - menutype=$1 ; shift - text=$1 ; shift - height=$1 ; shift - width=$1 ; shift - mheight=$1 ; shift - - dialog --cancel-label "Skip" --$menutype "$text" $height $width $mheight $* -} - -if [ ! -d $BASEDIR/keymaps ]; then - echo "Cannot load keymaps, as none were found in $BASEDIR/keymaps" >&2 - exit 1 -else - echo "Scanning for keymaps..." - KEYMAPS= - for i in `find $BASEDIR/keymaps -follow -name "*.gz" | sed 's|^.*/||g' | sort`; do - KEYMAPS="$KEYMAPS $i -" - done - domenu menu "Select A Keymap" 22 60 16 $KEYMAPS 2>$ANSWER - keymap=`cat $ANSWER` - echo $keymap > /tmp/.keymap -fi - -if [ ! -d $BASEDIR/consolefonts ]; then - echo "Cannot load consolefonts, as none were found in $BASEDIR/consolefonts" >&2 -else - echo "Scanning for fonts..." - FONTS= - # skip .cp.gz and partialfonts files for now see bug #6112, #6111 - for i in `find $BASEDIR/consolefonts -maxdepth 1 ! -name '*.cp.gz' -name "*.gz" | sed 's|^.*/||g' | sort`; do - FONTS="$FONTS $i -" - done - domenu menu "Select A Console Font" 22 60 16 $FONTS 2>$ANSWER - font=`cat $ANSWER` - echo $font > /tmp/.font -fi - -if [ "$keymap" ]; then - echo "Loading keymap: $keymap" - loadkeys -q $BASEDIR/keymaps/$keymap -fi - -if [ "$font" ]; then - echo "Loading font: $font" - for i in `seq 1 4`; do - if [ -d /dev/vc ]; then - setfont $BASEDIR/consolefonts/$font -C /dev/vc/${i} - else - setfont $BASEDIR/consolefonts/$font -C /dev/tty${i} - fi - done -fi - -clear -exit 0 - diff --git a/tz/tz b/tz/tz new file mode 100755 index 000000000..ed083c8f0 --- /dev/null +++ b/tz/tz @@ -0,0 +1,208 @@ +#!/bin/sh +# written by Tobias Powalowski + +ANSWER="/tmp/.tz" +TITLE="Arch Linux Time Setting" +BASEDIR="/usr/share/zoneinfo" + +abort() +{ + dodialog yesno "Abort Time Setting?" 6 40 || return 0 + [ -e /tmp/.timezone ] && rm -f /tmp/.timezone + [ -e /tmp/.hardwareclock ] && rm -f /tmp/.hardwareclock + [ -e /tmp/.tz ] && rm -f /tmp/.tz + [ -e /etc/localtime ] && rm -f /etc/localtime + [ -e /var/lib/hwclock/adjtime ] && rm -f /var/lib/hwclock/adjtime + [ -e /tmp/.tz-running ] && rm /tmp/.tz-running + clear + exit 0 +} + +dodialog() +{ + # use this for msgbox, inputbox, yesno, infobox + # + # dodialog [height] [width] [other] + # 26/3/06: added an option so that if [other] is default=no + # the dialog will default to no + # the new dialog's auto-sizing is pretty dumb, we can't trust it + height=12 + width=65 + if [ "$3" != "" ]; then + height=$3 + fi + if [ "$4" != "" ]; then + width=$4 + fi + if [ "$5" == "default=no" ]; then + dialog --defaultno --backtitle "$TITLE" --aspect 15 --$1 "$2" $height $width + + else + dialog --backtitle "$TITLE" --aspect 15 --$1 "$2" $height $width $5 + fi +} + +domenu() +{ + menutype=$1 ; shift + text=$1 ; shift + height=$1 ; shift + width=$1 ; shift + mheight=$1 ; shift + + dialog --cancel-label "Skip" --$menutype "$text" $height $width $mheight $* +} + +dohwclock() { +if [ "$HARDWARECLOCK" = "UTC" ]; then + HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc" + echo UTC > /tmp/.hardwareclock +else + HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime" + echo localtime > /tmp/.hardwareclock +fi + +[ ! -d /var/lib/hwclock ] && mkdir -p /var/lib/hwclock +if [ ! -f /var/lib/hwclock/adjtime ]; then + echo "0.0 0 0.0" > /var/lib/hwclock/adjtime +fi +hwclock $HWCLOCK_PARAMS +} + +dotimezone () { +REGIONS="" +SET_REGION="" +SET_ZONE="" +for i in $(grep ^[A-Z] $BASEDIR/zone.tab | cut -f 3 | sed -e 's#/.*##g'| sort -u); do + REGIONS="$REGIONS $i -" +done +domenu menu "Please Select A Region:" 22 60 16 $REGIONS 2>$ANSWER && SET_REGION="1" +region=$(cat $ANSWER) +if [ "${SET_REGION}" = "1" ]; then + for i in $(grep ^[A-Z] $BASEDIR/zone.tab | grep $region/ | cut -f 3 | sed -e "s#$region/##g"| sort -u); do + ZONES="$ZONES $i -" + done + domenu menu "Please Select A Timezone:" 22 60 16 $ZONES 2>$ANSWER && SET_ZONE="1" + zone=$(cat $ANSWER) + if [ "${SET_ZONE}" = "1" ]; then + dodialog infobox "Setting Timezone to $region/$zone ..." + echo $region/$zone > /tmp/.timezone + [ -e /etc/localtime ] && rm -f /etc/localtime + cp $BASEDIR/$region/$zone /etc/localtime + dohwclock + else + dodialog msgbox "Skipping Region and Timezone, else please select a Timezone!" + fi +else + dodialog msgbox "Skipping Region and Timezone, else please select correct Region first!" +fi +S_NEXTITEM="2" +} + +dotimeset() { +SET_TIME="" +USE_NTPDATE="" +HARDWARECLOCK="" +if [ ! -s /tmp/.timezone ]; then + dodialog msgbox "You have not selected a region and timezone,\nplease select one!" + S_NEXTITEM="1" + return 1 +fi +dodialog yesno "Do you want to use UTC for your clock?\n\nIf you choose 'YES' UTC (recommended default) is used,\nwhich ensures daylightsaving is set automatically.\n\nIf you choose 'NO' Localtime is used,\nwhich means the system will not change the time.\nLocaltime is also prefered on dualboot machines,\nwhich also run Windows, because UTC confuses it." 15 65 && HARDWARECLOCK="UTC" +dodialog infobox "Syncing hardwareclock to systemclock ..." +HWCLOCK_PARAMS="--hctosys" +dohwclock +dodialog yesno "Your current time is:\n$(date)\n\nDo you want to change it?" "" "" && SET_TIME="1" +if [ "${SET_TIME}" = "1" ]; then + [ $(which ntpdate) ] && dodialog yesno "'ntpdate' was detected on your system.\n\nDo you want to use 'ntpdate' for syncing your clock,\nby using the internet clock pool?\n(You need a working internet connection for doing this!)" "" "" default=no && USE_NTPDATE="1" + if [ "${USE_NTPDATE}" = "1" ]; then + if [ ! $(ntpdate pool.ntp.org) ]; then + dodialog msgbox "An error has occured, time was not changed!" + S_NEXTITEM="2" + return 1 + fi + dodialog msgbox "Synced clock with internet pool successfully.\n\nYour current time is now:\n$(date)" + else + dodialog inputbox "Your current time is:\n$(date)\n\nSyntax of your current time is:\n$(date +%m%d%H%M%y)\nMMDDhhmmYY\n\nPlease enter your correct time below,\naccording to the syntax.\n " 17 60 "" 2>$ANSWER || return 1 + if [ ! $(cat $ANSWER) = "" ]; then + if [ ! $(date $(cat $ANSWER)) ]; then + dodialog msgbox "An error occured during time setting,\ncurrent time was not changed!" + S_NEXTITEM="2" + return 1 + fi + else + dodialog msgbox "You entered nothing, current time was not changed!" + S_NEXTITEM="2" + return 1 + fi + dodialog infobox "Syncing systemclock to hardwareclock ..." + HWCLOCK_PARAMS="--systohc" + dohwclock + dodialog msgbox "Your current time is now:\n$(date)" + fi +else + dodialog msgbox "Current time was not changed!" +fi +S_NEXTITEM="3" +} + +mainmenu() { + if [ -n "$S_NEXTITEM" ]; then + DEFAULT="--default-item $S_NEXTITEM" + else + DEFAULT="" + fi + dialog $DEFAULT --backtitle "$TITLE" --title " MAIN MENU " \ + --menu "Use the UP and DOWN arrows to navigate menus. Use TAB to switch between buttons and ENTER to select." 15 55 8 \ + "1" "Select Region and Timezone" \ + "2" "Set Date and Time" \ + "3" "Exit" 2>$ANSWER + case $(cat $ANSWER) in + "1") + dotimezone + ;; + "2") + dotimeset + ;; + "3") + [ -e /tmp/.tz-running ] && rm /tmp/.tz-running + clear + exit 0 ;; + *) + abort ;; + esac +} + +: >/tmp/.hardwareclock +: >/tmp/.timezone +: >/tmp/.tz + +if [ ! -d $BASEDIR ]; then + echo "Cannot load timezone data, as none were found in $BASEDIR" >&2 + exit 1 +fi + +if [ ! $(which hwclock) ]; then + echo "'hwclock' binary not found!" >&2 + exit 1 +fi + + +if [ ! $(which date) ]; then + echo "'date' binary not found!" >&2 + exit 1 +fi + +if [ -e /tmp/.tz-running ]; then + echo "tz already runs on a different console!" + echo "Please remove /tmp/.tz-running first to launch tz!" + exit 1 +fi +: >/tmp/.tz-running + +while $(/bin/true); do + mainmenu +done + +clear +exit 0 diff --git a/wireless/etc/wlan/shared b/wireless/etc/wlan/shared index 400ac7c1f..0f2ecc29c 100644 --- a/wireless/etc/wlan/shared +++ b/wireless/etc/wlan/shared @@ -73,14 +73,17 @@ fi # exit 1 #fi -if [ ! -n "$WLAN_UDEV" ] ; then -if [ -f /proc/sys/kernel/hotplug -a \ - -x `cat /proc/sys/kernel/hotplug` -a \ - -f /etc/hotplug/wlan.agent ] ; then - HAS_HOTPLUG=y -else +if [ -z "$WLAN_UDEV" ] ; then HAS_HOTPLUG=n -fi + if [ -f /proc/sys/kernel/hotplug -a \ + -f /etc/hotplug/wlan.agent ] ; then + HOTPLUGGER=$(