From 3df631352cf6d3a8cf7c05846425821ea6575a16 Mon Sep 17 00:00:00 2001 From: Russ Long Date: Thu, 4 Apr 2019 14:36:27 -0400 Subject: [PATCH] Initial commit --- resources/MyE2B.cfg | 618 ++++++++++++++++++++++++++++++++++++ resources/menu_defaults.txt | 3 + resources/mybackground.bmp | Bin 0 -> 1440138 bytes usbcreator.sh | 164 ++++++++++ 4 files changed, 785 insertions(+) create mode 100644 resources/MyE2B.cfg create mode 100644 resources/menu_defaults.txt create mode 100644 resources/mybackground.bmp create mode 100644 usbcreator.sh diff --git a/resources/MyE2B.cfg b/resources/MyE2B.cfg new file mode 100644 index 0000000..496b2b0 --- /dev/null +++ b/resources/MyE2B.cfg @@ -0,0 +1,618 @@ +!BAT +# IMPORTANT: This file MUST begin with !BAT + +# PLEASE READ www.easy2boot.com for full details +# --- THIS FILE SHOULD BE COPIED to \_ISO\MyE2B.cfg and then edited to use +# your own settings, change the language, Main heading, Footer, startup behaviour, etc. +# +# HELP USING THIS .CFG FILE +# # this single # symbol comments out a line - these lines contain help or information +# ### three # symbols means you can uncomment and use these lines - they contain grub4dos commands which can be used to change the E2B settings +# +# e.g. +# # Auto menu - this line should not be changed - do not delete the # symbol +# ###set DEFM_MNU=0 - this line can be uncommented by deleting the ### symbols and then changed by the user if required + +# If you wish, you can delete any whole line beginning with # or ### to make the file more legible + +# SUB-MENU HEADINGS are in the STRINGS.TXT files (different languages) +# Menu entries and E2B phrases are also in the STRINGS.TXT file +# DO NOT EDIT THE \_ISO\e2b\grub\ENG\STRINGS.TXT file - copy it to \_ISO\e2b\grub\FRED\STRINGS.TXT and use 'set LANG=FRED' in this file to use it +# WARNING: If you have a \_ISO\STRINGS.txt file, this will over-ride any language setting + +# ----- GRAPHICS MODE AND WALLPAPER ----- +# set graphics mode - use 640, or 800 or 1024 - or specify full mode - e.g. 800 600 24 +# 640 and 800 is supported by the default background bitmap - you can define exact size - e.g. GMODE=800 600 or GMODE=800 -1 24:32 (800 by *anything* with 24 or 32-bit colour) +set GMODE=800 + +# set the WALLPAPER BACKGROUND +# The size of your background bmp must match the GMODE setting (e.g. use 1024x768 bitmap and set GMODE=1024) +# Change the path and filename below if you wish - .bmp and .bmp.gz supported (.bmp can be compressed using LZMA_Encode). grub4dos 0.4.6a also supports .jpg files. +set MYWBMP=/_ISO/mybackground.bmp + +# If GMODE is set to a number (e.g. 800 or 1024 for graphics mode), then we can fill the screen with a single colour instead of using a bitmap +# This is quicker than loading a bitmap file - must begin with 0x (zero x) and be in RGB format 0xrrggbb +###set MYWBMP=0xff0033 + +# --------- MAIN MENU HEADING ----- +# start the heading with \x20 if you need leading spaces. +# special variables can be used. %B64% is CPU type + Memory size - e.g. [486MB 64-bit]; %VER% is E2B version - e.g. 1.65; use %@date% or %day%-%month%-%year% for date + +set HEADING=\x20 Liquid Web SMR USB - MAIN MENU (%VER%) %B64% + +# Heading position is set by HEADPOS + HPAD - all menu headings affected (must be 4 decimal numbers) +# set start position of HEADING using HEADPOS=YYXX - default position = HEADPOS=0000 = top-left, 0200 = 3rd line down - should always end in 00 if you use CENTREHD=1 +set HEADPOS=0000 +# HPAD sets space padding (alignment) before all menu headings - NORMALLY, NO NEED TO CHANGE THIS! +# this is usually automatically calculated by E2B from the rstart value (\x20 is same as one space character) +###set HPAD=\x20 \x20 + +# ----- CENTRE ALL MENU HEADINGS ----- +# CENTREHD=xx causes the menu headings to be centred inside xx characters - e.g. if CENTREHD=60 then middle will be at (HPAD)+30 +# If CENTREHD=1 then the menuw value (see below) is used to calculate the centre position - Use CENTREHD=1 for normal centred headings +# To centre all headings on an 800 pixel screen width (not menu width) use CENTREHD=98, HEADPOS=0100, HPAD=\x20\x20 +### set CENTREHD=1 + +# ----- HEADING COLOUR ------- +# HCOLOUR sets the colour of the HEADING text +# HCOLOUR=ABCD specifies the text colour [BLINK|BRIGHT_F|BACKGROUND|FOREGROUND] +# A=0-1 1=BLINK text (does not work under VM or in graphics mode) - i.e. only works if GFX=none is used. +# B=0-1 1=BRIGHT_F sets bright value for foreground text +# C=0-7 =BACKGROUND colour - transparent if graphics mode so has no effect! +# D=0-7 =FOREGROUND menu text colour +# Colours parameters are: 0=black/grey 1=blue, 2=green, 3=cyan, 4=red, 5=pink, 6=yellow/brown, 7=grey/white. +# e.g. 0133 is non-blinking bright cyan text (on a dark cyan background if not in graphics mode) - if a wallpaper is used (graphics mode) it becomes _1_3 = bright-cyan, because background value is ignored. +set HCOLOUR=0103 + +# --- FOOTER HELP TEXT TO DISPLAY AT BOTTOM OF SCREEN --- +# HBTM = Bottom HELPTEXT POSITION YYXX - for 640x480 use HBTM=2802 - for 800x600 use HBTM=3502 (Note: HPAD is NOT used to pad out the HELPTEXT). For GFX=none use HBTM=2400 or set >24 for off-screen. +set HBTM=3502 +# Colour of HELPTEXT (see HCOLOUR above for meaning) +set FCOLOUR=0103 +# use \x20 for no text at the bottom of the menus - e.g. set HELPTEXT=\x20 (%^LANG% will display the current language); use %@date% or %day%-%month%-%year% for date +set HELPTEXT=HDD0 [F7] Back [F8] Reboot [F9] Power Off [F10] (%^LANG%) + + +# -------- MENU COLOURS ------- +# Colour pairs are Text/Background - i.e cyan/blue = cyan text on blue background +# Use black if a transparent background is required for menu highlight background - e.g. highlight=red/black +# Valid colours are: black, blue, green, cyan, red, magenta, brown, light-gray, dark-gray, light-blue, light-green, light-cyan, light-red, light-magenta, yellow and white. +# normal = normal menu text +# highlight = highlighted menu text when a menu entry is selected +# helptext = the colour of the title help text shown just below the menu box +# standard = the console background and text colours (e.g. when listing files) +# border = the colour of the border of the menu box +# For GFX Boot menu, only color standard=xxxx/yyyy is valid (suggest use black background - e.g. color standard=cyan/black) +color normal=light-cyan/black highlight=red/black helptext=yellow/black standard=light-cyan/black border=light-gray/black + +# -------- 24-BIT MENU COLOURS ------- +# You can instead set a 24-bit full colour value using 0xRRGGBB, the value must be larger than 0xFF to work correctly however +# the background colour will be set to black (transparent in graphics mode menus) if number is >0xFF +# See http://www.rapidtables.com/web/color/RGB_Color.htm +# Red=0xFF0000 Green=0x00FF00 Blue=0x0100FF (must be larger than FF so use 01 for red!), Yellow=0xFFFF00, White=0xffffff, Brown=0x994c00 +# Examples: +### color normal=0x777700 +### color highlight=yellow/light-gray ;; # use for yellow text on light-grey background - limited colours for highlight colour +# OR... +### color highlight=0xFFFF00 ;; # yellow + background will be transparent +### color highlight=0x0022222200FFFF00 ;; # yellow + background will be 222222 (v. dark grey/black) +### color helptext=0xFFFFFF +### color standard=0x994c00 +### color border=0xFF0000 + +# If you define a highlight background colour (not transparent), make the highlight bar only as long as the text +# set full length highlight bar for selected menu item (--highlight-short or --highlight-full) +### setmenu --highlight-full > nul +### setmenu --highlight-short > nul + +# ----- MENU POSITION --- +# n = unchanged (if wdspace or lnspace is not n then screen is cleared) - default for wdspace and lnspace is 0 or n +# if using GFX=none for text mode and CENTREHD=1, set menuw=78 and rstart=2 to get centred menu headings +# Note: The grub4dos menu system allows 4 lines of menu help text + 1 line for it's own messages (e.g. default timeout) +# Therefore you need to leave space for 5 free lines of text under the menu (e.g. if tophelp=26, then lines 26,27,28,29 & 30 are used for help text) +# 800x600 = 100 characters (0-99) by 37 lines (0-36), 1024x768 = 128 characters (0-127) by 48 lines (0-47) +# You can increase line separation using (for example) lnspace=8. Note thst you will need to reduce topstart and noitems too +set wdspace=n +set lnspace=n +set bdwidth=1 +set rstart=3 +set menuw=62 +set topstart=2 +set noitems=24 +# use tophelp = topstart + noitems for menu help text just under menu box - for 640x480 noitems=18 tophelp=20 - for 800x600 noitems=24 tophelp=26 +#set /a tophelp=%topstart% + %noitems% > nul +set tophelp=26 + +# ---- SHOW FILE EXTENSIONS IN MENU ---- +# Don't show file extensions in menu +set EXTOFF=1 +# Show file extensions in menu +### set EXTOFF= + +# --- NO USER PROMPT FOR .imgPTN FILES ----- +# .imgPTN AUTO-RUN - if any .imgPTNxxx family is selected, switch partitions and display CSM menu with no user prompt +### set AUTOCSM=1 + +# --- BEEP WHEN MAIN MENU LOADS ---- +# Beep when Main Menu loads, values 1, 2 or 3 only (only works if internal speaker fitted to system) +### set beep=3 + +# Suppress the QRUN.g4b 'best file extension suggestions' and advice messages + no pause in isoboot +set NOSUG=1 + + +# NOWINXP removes the 'Boot from HDD0', 'List PCI devices' and the 32/64bit menu separator from the Windows Menu +# useful to keep the menu tidy if you do not have WinXP ISOs +### set NOWINXP=1 + + +# --------------------------------------- ADVANCED MENU SETTINGS ------------------------------------------------------------------------------ +# DO NOT DELETE THE LINE ABOVE! - Settings below this next line will be preserved when using the E2B_Editor + +# Tip: To permanently remove the grub4dos text at top of screen and grub4dos startup messages, run \_ISO\docs\patchme from the grub4dos console +# See http://www.easy2boot.com/configuring-e2b/mye2b-cfg/ - patching grub4dos + +# If you set the TSUG variable (suggested timeout in seconds) in your \_ISO\MyE2B.cfg file, you can change the timeout behaviour of QRUN.g4b Auto-Suggest, e.g. +# No timeout - auto-suggest will always wait for the user to press a key +###set TSUG=0 +# Change auto-suggest timeout (1-989) - e.g. 10 = wait 10 seconds +###set TSUG=10 +# use default timeout of 3 seconds, but if user does not press a key, always use the suggested file extension (if not .isoask), valid range = 990 to 999 +###set TSUG=993 +# Always wait for user - if user presses ENTER only, the suggested file extension will be used instead of the current file extension +###set TSUG=990 + +# --- GRUB4DOS 0.4.6 + USB DRIVERS --- +# The file \grldr is the grub4dos code that is loaded on booting. If you want to use v0.4.5c on boot-up then overwrite it using the file \_ISO\e2b\grub\grldr_045 +# Grub4Dos 0.4.6 has built in USB drivers and so it can bypass the BIOS USB code - useful if you have buggy BIOSes +# Tip: Hold down the SHIFT key just before E2B starts to boot and E2B will load the grub4dos fast USB rd/wr driver automatically +# To ALWAYS use grub4dos 0.4.6 and initialise the USB drivers on start-up use GRUB_USB=Y (not recommended - can cause problems) +### set GRUB_USB=Y + +# To ALWAYS switch to version 0.4.5 and use \_ISO\e2b\grub\grldr_045 (not recommended as some functions may not work) +###set GRUB_USB=045 + +# To prevent E2B refusing to boot if partition 4 (hd0,3) is present, uncomment the two ### lines below - +# WARNING: THIS WILL ERASE PTN #4 (hd0,3) ON THE E2B DRIVE EACH TIMe YOU BOOT! +###if exist (hd0,0)/_ISO/MyE2B.cfg partnew (hd0,3) 0 0 0 +###if exist (hd0,1)/_ISO/MyE2B.cfg partnew (hd0,3) 0 0 0 +# To always erase ptn 3 on boot, uncomment the two ### lines below - check ptn 3 is not used or you may delete a data partition on your E2B drive! +# WARNING: This will delete PTN #3 (hd0,2) on the E2B DRIVE +###if exist (hd0,0)/_ISO/MyE2B.cfg partnew (hd0,2) 0 0 0 +###if exist (hd0,1)/_ISO/MyE2B.cfg partnew (hd0,2) 0 0 0 + +# ----- PROGRESS MESSAGE CONTROL ---- +# Display background image and cursor immediately so startup messages are printed over the background (but screen won't scroll nicely if it gets full of text!) +# call Fn.70 3 +# Set cursor off the screen so no text or cursor is seen for a while (cursor set to column 0 row 128!) +# call Fn.5 0 128 +# Turn off cursor and splashimage until Main Menu is shown - useful if you have disabled startup messages and don't want the cursor character at the top of the screen! +# call Fn.70 0 ;; clear +# If you want to get rid of any earlier screen text use clear +# clear +# Examples (use ONE of the following lines by removing the ### characters) +# Use this line for a blank screen startup with no progress messages +# Tip: use patchme to prevent early grub4dos messages (see \_ISO\docs\PatchMe_ReadMe.txt) +###call Fn.70 0 ;; clear ;; call Fn.5 0 128 ;; set redirp=> nul ;; set redir=> nul +# +# Use this line to display the background image as early as possible with a few progress messages +###call Fn.70 3 ;; set redir=> nul +# +# Use this line to display the background image as early as possible with no startup messages except an initial quick 'Please wait...' message +###call Fn.70 3 ;; set redir=> nul ;; set redirp=> nul ;; debug -1 ;; pause --wait=1 Please wait... ;; debug 0 + + +# Silent MBR boot of stage 1.5 grub4dos (works for both 0.4.5c and 0.4.6) - one reboot is required for it to permanently take affect. +### if exist /_ISO/docs/PatchMyMBR call /_ISO/docs/PatchMyMBR > nul +# Silent startup of grub4dos - no diagnostic/info messages (only works for 0.4.6a by changing debug msg=2 to debug msg=0) - permanently changes /grldr files (please use \_ISO\docs\patchme for patch if not using 0.4.6) +### cat --locate=\x02 --replace=\x00 --skip=0x2073 --length=1 /grldr > nul +### if exist /%grub%/grldr_046 cat --locate=\x02 --replace=\x00 --skip=0x2073 --length=1 /%grub%/grldr_046 > nul + +# ---- E2B STARTUP AND OTHER MESSAGES ---- +# SUPPRESS STARTUP FILE ENUMERATION INFORMATIONAL MESSAGES from AUTOMN.g4b, etc. +###set redir=> nul + +# SUPPRESS OTHER (important) E2B MENU.LST PROGRESS MESSAGES (NOT recommended!) +###set redirp=> nul + +# Note: redir and redirp may affect the text displayed when a .imgPTN file is selected. Read more at http://www.easy2boot.com/configuring-e2b/mye2b-cfg/ + +# Display ASCII Easy2Boot text for 1 second (http://www.askapache.com/online-tools/figlet-ascii/ or http://www.ascii-art-generator.org/ - use 99 as width) +###graphicsmode -1 800 > nul ;; cat /%grub%/ASCII_E2B.txt && pause --wait=1 > nul + +# ---- MENU NUMBERING ---- +# E.g. The user can type '23' to select item 23 in the menu and so it is useful to have the menu item numbers displayed on the menu. +# Auto-numbering is enabled by default. AUTONUM=CCMM where CC is the marker/arrow character (byte) and MM is bit0 = numbering and bit1 = space after number, +# Use AUTONUM=0x0000 to turn auto-numbering off, 0x2001 sets numbering on with a space after number (default), 0x2d01 autonumber with hyphen after number, 0x1a01 arrow, 0x3a01 colon, 0x0701 dot +# e.g. 0x2d00=►menutext, 0x2d01=►nn-menutext, 0x2d02=► menutext (has three spaces), 0x2d03=same as 0x2d01 (where nn=two-characters for menu numbering 0-9/10-99) +###set AUTONUM=0x0000 + +# The default highlighted menu marker is a solid arrow symbol ► - it can be removed or changed (0x16 for →, 0x07 for a dot or 0 for no symbol) grub4dos 2014-08 or later. +### write 0x8308 0 > nul + +# ----------- DISABLE AUTOMENU feature ----------------- +# E2B will allow you to press the first letter of a menu item to jump to it - grub4dos keys p, e, b and c keys will only work if SHIFT is held down +# AUTOMENU = OFF will disable the AUTOMENU jump feature and special grub4dos p, e, b, c keys must be lower case (don't hold down SHIFT key) +###set AUTOMENU=OFF + +# ---- GFX menu support ---- +# If you really want to use a gfxmenu or @DED-LEGO@ or GFX-RIPPER then specify the 'message' file here - http://www.easy2boot.com/configuring-e2b/gfx-menu-support/ +# There are many gfxmenu limitations (on error goes into text mode, no timeout or default option, number of ISOs cannot be displayed, etc. etc.) +# Tip: grub4dos 0.4.6a supports large fonts - see FONTH below +# Place your gfxmenu file in the /_ISO folder. Change the GFX= line to match the name of your file (path is always relative to \_ISO) +set GFX= +###set GFX=message +###set GFX=docs/Templates/GFXMenu/message + +# ---- TEXT MODE (no fancy wallpaper and no unicode font used - quick to load) --- +# NO GRAPHICS MODE OR WALLPAPER or GFXMenu +# Text-mode menu (no wallpaper) - suppresses graphics mode (must use 'GFX=none') +# Try these settings if using text mode - set HBTM=2301 set HCOLOUR=0104 set FCOLOUR=0104 +# and use these text colours - color normal=light-cyan/dark-gray highlight=red/cyan helptext=yellow/light-gray standard=light-cyan/black border=red/black +###set GFX=none + +# ---- KEYBOARD TYPE ----- +#set which keyboard you are using (use one only!) - see the KBD_xxxx.g4b files in the grub folder if you want to modify the key mapping +#Note: Passwords may not work properly if the keyboard scan code mapping is not correct! Default = US keyboard +###set KBD=KBD_AZERTY.g4b +###set KBD=KBD_FRENCH.g4b +###set KBD=KBD_GERMAN.g4b +###set KBD=KBD_ITALIANO.g4b +###set KBD=KBD_JAPAN_106.g4b +###set KBD=KBD_QWERTY_UK.g4b +###set KBD=KBD_QWERTZ.g4b +###set KBD=KBD_SPANISH.G4B +###set KBD=KBD_QWERTY_UK.g4b + +# set the keyboard type now +# the next line ensures the correct keyboard scan codes will be recognised if using a non-USA keyboard (not required unless asking for password in this cfg file) +###if not "%KBD%"=="" call /%grub%/%KBD% %redirp% + + +# ---- LANGUAGE SUPPORT ---- +# To change language from ENGlish, look for supported language folders in the \_ISO\e2b\grub\xxx folders +###if "%LANG%"=="" set LANG=ARABIC && set RTL=1 +###if "%LANG%"=="" set LANG=DUTCH +###if "%LANG%"=="" set LANG=ENG +###if "%LANG%"=="" set LANG=FRENCH +###if "%LANG%"=="" set LANG=GERMAN +###if "%LANG%"=="" set LANG=GERMAN_ALT +###if "%LANG%"=="" set LANG=ITALIAN +###if "%LANG%"=="" set LANG=POLISH +###if "%LANG%"=="" set LANG=PORTU_BRAZIL +###if "%LANG%"=="" set LANG=ROMANIAN +###if "%LANG%"=="" set LANG=RUSSIAN +###if "%LANG%"=="" set LANG=SIMP_CHINESE +###if "%LANG%"=="" set LANG=SPANISH +###if "%LANG%"=="" set LANG=SWEDISH +###if "%LANG%"=="" set LANG=TRAD_CHINESE +###if "%LANG%"=="" set LANG=UKRAINIAN + +# use RTL for RIGHT-TO-LEFT LANGUAGES ---- +# e.g Arabic. Uncomment first line below to right-align menu entries. RTL=1 means use menuw value - or set RTL= - e.g. 'set RTL=58' to adjust position of menu headings +###set RTL=1 +# For RTL support, we must use 'set AUTONUM=0' to turn off menu numbers and 'write 0x8308 0 > nul' to turn off menu marker arrow +###set AUTONUM=0 +###write 0x8308 0 > nul + +# User Language Selection - prompt user before Main Menu is displayed - see \_ISO\e2b\grub folders for all available languages +# Uncomment all the following lines (remove ###) to ask user to choose a different language (edit as required) +###if not "%DONEMENU%"=="" goto :skplang +###echo CHOOSE A LANGUAGE +###echo +###echo C = Chinese (Simplified) +###echo TC = Chinese (Traditional) +###echo E = English +###echo G = German +###echo S = Spanish +###echo +###set /p ask=Which language : +###if /i "%ask%"=="C" set LANG=SIMP_CHINESE +###if /i "%ask%"=="TC" set LANG=TRAD_CHINESE +###if /i "%ask%"=="G" set LANG=GERMAN +###if /i "%ask%"=="S" set LANG=SPANISH +###if /i "%ask%"=="E" set LANG=ENG +###:skplang + + +# ---- IF YOU ARE USING A REMOVABLE USB FLASH DRIVE (or are not going to use a 'Helper' USB flash drive) --- +# no need to search for WINHELPER.USB so set NOHELPER=1 (or use if E2B hangs at 'Looking for WINHELPER.USB...' ) +# speeds up booting to Main Menu slightly +###set NOHELPER=1 + + +# ---- PASSWORD PROTECTION ----- +# E2B default menu edit password is easy2boot +# The line below will set a password of 'easy2boot' to stop users editing the menus accidentally (encrypted) +# You can use an encrypted md5 value or a plain text value (see www.easy2boot.com - Configure E2B - Protection and Security for md5 calculation details) +# If you want to edit the menus, press p and then enter the password (or you can use an unencrypted password like this: 'set pwd=fred') +# Does not work if using GFX Menu +# Set encrypted password of easy2boot +###set pwd=--md5 $1$1$okAQ3AJUdhqf3TVrwKvJP1 +# OR set plain text password of fred +###set pwd=fred + +# Any payload file extensions ending in "pwd", e.g. Ubuntu.isopwd, will ask for a password before they will run +# If menupwd is defined, then that will be the required password for the payload file +# If menupwd is not set then the pwd (E2B menu edit password) will be used (if set) +# e.g. if file = Ubuntu14.1.isopwd or Win7Install.imgPTNpwd and menupwd=fred then you must enter fred before the payload will run +# if both menupwd and pwd are not set, then no password will be prompted for +# Can use md5 encrypted password or plain text... +### set menupwd=--md5 $1$fzr3$gtBm4hqXA1CohTSpMsuxG1 +### set menupwd=fred + +# --- MASTER PASSWORD --- +# To prompt user for password or PIN code, we must set up graphics, etc. now +# GMODE was already set in the lines above - run graphicsmode before splashimage +###graphicsmode -1 %GMODE% > nul +# If you want to display a different background bitmap just for the Master password user input (see below), use these 3 lines below +###call Fn.70 3 +###splashimage /_ISO/docs/Templates/Aliums/Aliums.bmp.gz > nul +###clear +# for a better method of password input, see www.easy2boot.com/configuring-e2b/protection-and-security/ +# the next line changes the font immediately but can cause a delay whilst it loads - ensure in graphics mode +###font ()/%grub%/unifont.hex.gz +:mpwd +# If you want to set a Master password for Easy2Boot to prevent anyone from using it on first boot +# (e.g. 'fred') uncomment and edit the lines below (you can use password --md5 xxxxxxxx format if you wish) +###if exist DONEMENU goto :pok +###clear && echo && echo ENTER E2B MASTER PASSWORD +###debug 0 +###password fred && goto :pok +###echo && set /p:2 ask=WRONG PASSWORD! +###goto :mpwd +:pok +###if not exist DONEMENU echo + +# To reboot if the password is wrong, replace the line goto :mpwd with the grub4dos command reboot +# This will cause MYWBMP background to be always loaded before displaying the Main Menu - use only if you enable FASTLOAD *AND* use splashimage for Master password as above +###set DONEMENU= + +# --- MONTHLY PIN CODE --- +# The user must enter the "4 digit PIN code of the month" +# Windows PIN CALCULATOR app is available on request +# VARIABLES BELOW CAN AFFECT ACTIONS OF TP.g4b +# SEED - 4 digits - this is your special SEED number - default is 1985 +# set number of allowed attempts - default is very large! +# +# SPECIAL OPTIONS: TESTPIN and PINRETURN +# set TESTPIN as first user guess or else user will be prompted for PIN code - if pin code is wrong, user will be prompted again (unless ATTEMPTS=1) +# if PINRETURN is set then call to TP.g4b will always return after n ATTEMPTS or on success. PINRETURN=OK if correct pin number was used. +# Typical use: Uncomment only the 6 ### lines, set ATTEMPTS and SEED. E2B Version line can be altered for any special message you like. Leave ##SS# lines alone. +###if not exist /%grub%/TP.g4b halt +###if exist DONEMENU goto :TPfin +###set SEED=1985 +###set ATTEMPTS=3 +##SS#set TESTPIN=8684 +##SS#set PINRETURN=1 +###echo E2B VERSION %VER% +###call /%grub%/TP.g4b +##SS#if not "%PINRETURN%"=="OK" reboot +##SS#if "%PINRETURN%"=="OK" clear +:TPfin + +# --- ENCRYPT FILES --- +#Tip: For even better security, use 7Zip to compress this file to GZip format or use lzma.exe (See www.easy2boot.com - Configure E2B - Protection and Security) +# \_ISO\docs\E2B Utilities\LZMA has useful batch files to encrypt files +# You must keep the file name unchanged (e.g. MyE2B.cfg) and can also set it's file attribute to 'Hidden' and 'System' or set permissions if NTFS E2B drive used. + +# ---- SET AN EXPIRY DATE - EXAMPLES ----- +# Change the 20151230 date below to alter the expiry date and change the message - you can use reboot instead of halt +###if 20160320<=%@date:~0,4%%%@date:~5,2%%%@date:~8,2% pause --wait=3 THIS SOFTWARE HAS EXPIRED! && halt + +# Use this code to only allow use on weekdays +###call /%grub%/dow.g4b %@date:~0,4% %@date:~5,2% %@date:~8,2% +###if "%dow%"=="0" pause It's Sunday! && halt +###if "%dow%"=="6" pause It's Saturday! && halt +###set dow= + +# See http://www.rmprepusb.com/tutorials/grubutils#TOC-Another-Batch-file-example---use-checkdate.g4b-to-check-an-Expiry-Date +# set 14 day expiry date from 28th March 2016 +###call /_ISO/e2b/grub/checkdate.g4b 2016 03 28 14 SILENT +###if not "%CHECKDAT%"=="OK" echo E2B EXPIRED! && halt +###set CHECKDAT= + +# --- CLONE PROTECTION (lock to this drive only) --- +# This code gets the exact size of the E2B USB drive to prevent copying to another USB drive. +# get number of sectors using INT 13h AH=48 into memory at DS:SI+10h - edx=80h is hard disk 0, 81h would be hard disk 1 +# Change number 12345678 to match the size returned by your drive. Change halt to reboot if desired. Delete pause line if not required. +###debug 1 ;; echo xxxxxxxxxxxxxxxxxxxxxxxxx > (md)0x300+1 ;; write 0x60000 0x42 > nul ;; write 0x60010 0 > nul +###/%grub%/bios int=0x13 eax=0x4800 edx=0x80 ds=0x6000 esi=0x0 > nul ;; read 0x60010 > nul ;; set /a END=%@retval%-1 > nul +###if not %END%==12345678 pause THIS DRIVE ENDS AT SECTOR %END% +###if not %END%==12345678 halt +###set END= + + +# --- MENU CONFIGURATION ---- + +# set the Default menu entry that will be highlighted when the WINDOWS INSTALL MENU is displayed +###set DEFM_WIN=1 + +# If DEFMENU=0 then the '0 Set default menu entry and timeout' menu item in the Main menu will not be listed +set DEFMENU=0 + +# WINCOUNT variable will cause all the \_ISO\Windows ISOs to always be enumerated on a FASTLOAD boot +###set WINCOUNT=1 + +# If NOF7HD is set then the 'Boot from HDD0 F7' menu entry is suppressed in all menus +###set NOF7HD=1 + +# If the NOF8B is set then the Windows menu will not display 'F8 Back to Main Menu' +###set NOF8B=1 + +# if NOF8MAIN is set then no F8 Main menu entry will be available +###set NOF8MAIN=1 + +# If NOF9R is set then the 'F9 Reboot menu' item will not be listed in any menu (remember to change HELPTEXT too) +###set NOF9R=1 + +# If NOF10H is set then the 'F10 Power Off/Halt' menu item will not be listed in any menu (remember to change HELPTEXT too) +###set NOF10H=1 + +# NO FASTLOAD MENU - If you don't want the user to see the Main Menu entry to enable or disable FASTLOAD +###set NOFLDMNU=1 + +# NOWMENU causes a Windows Install sub-sub menu to return back to the Main menu rather than return to the Windows Install menu +###set NOWMENU=1 + +# NOWINMAIN cause the Windows Main Menu entry to be suppressed (even if there are \_ISO\WINDOWS\xxx\yyy.ISO files present +###set NOWINMAIN=1 + +# SET DEFAULT MAINMENU ITEM AND TIMEOUT +# Information: Create an \_ISO\menu_defaults.txt file +# Set the default entry and timeout in the menu_defaults.txt file (debug 0 prevents menu item number at top right from being displayed) +# DO NOT UNCOMMENT THE LINES BELOW! They should not be set in this file! +# e.g. use these 3 lines in the menu_defaults.txt file for the first menu item as default and 0 seconds timeout (-1) - remove the # signs +# default 0 +# timeout -1 +# debug 0 +# This will fix which initial main menu default entry will be highlighted and the timeout in seconds. +# You must also set DEFMENU=0 to suppress the 'Set default menu entry and timeout' menu entry + +# --- CHARACTER SET FONTS ---- + +# Font settings - specify alternate unifont hex file which is loaded after the E2B unifont file is loaded - many 16-pixel fonts are in /_ISO/docs/Fonts/ folder +# Special non-ANSI characters are not included, so only suitable for English language really +###set FONT=()/_ISO/docs/Fonts/terminus.uni.gz + +# Use Default BIOS Font (tends to be thick+bold for standard ASCII characters) +###set BIOSFONT=1 + +# Do not load unifont fonts - if NOUNIFONT=1 then the standard E2B unifont font file is not loaded (to save time) but only ANSII characters will be displayed +### set NOUNIFONT=1 + +# LARGE FONTS - FONTH specifies the font height (default = 16 = unifont) +# If you set FONTH=24 E2B will use a default set of 24-pixel high fonts (grub4dos 0.4.6a only) +###set FONTH=24 +# You can also load your own font by using the FONT parameter - if FONTH=24 then the hex font file must must be 24-high format +# If 24 pixel high: 1024x768=85 chars x 32 lines, 800x600=66x25 lines +# 24 pixel high fonts: yxt.f24=trad Chinese, ltxxx.f24, terminal.f24, developer.f24, X11.f24 - some fonts may not work in some languages +###set FONT=/_ISO/docs/Fonts/developer.f24 + +# --- MENU ENTRY SPACING --- + +# grub4dos 0.4.6a allows you to set the spacing between text characters and between lines on the menu, default = 0:0 (Font spacing : Line spacing] +# note that altering the line spacing will mean you will need to adjust your menu size/position parameters and text postitions, etc.! +###setmenu --font-spacing=1:2 > nul + +# ---- DEFINE GLOBAL HOTKEYS (for all menus) ------ + +# See http://www.easy2boot.com/configuring-e2b/global-hotkeys/ + +# Set global hotkey CTRL+R for FASTLOAD Refresh - only defined if /FASTLOAD.YES is present +###if exist (bd)/FASTLOAD.YES ()/%grub%/hotkey [Ctrl+R] "clear && echo REFRESH > /FASTLOAD.YES && configfile /%grub%/menu.lst" > nul + +# Program hotkeys to work in ALL menus - no separate menu entry is required. Some examples shown below. +# Add global hotkeys - examples only - use ;; or ;& or && to separate commands. +# Use @ to prevent commands displaying on screen when hotkey pressed - e.g. "@(bd)/%grub%/qrun.g4b force.isodefault /_ISO/Linux/Ubuntu.iso ;; boot" > nul +###()/%grub%/hotkey [F9] "reboot" > nul +###()/%grub%/hotkey [F10] "halt" > nul +###()/%grub%/hotkey [Ctrl+F9] "clear && echo \nLoading Windows menu... && /%grub%/configX.g4b /%grub%/MenuWinInstall.lst" > nul +###()/%grub%/hotkey [ctrl+F7] "clear && echo $[0004] \n\nPress a key to reboot\n && pause && reboot" > nul + +# F11 boots to an ISO +###()/%grub%/hotkey [F11] "(bd)/%grub%/qrun.g4b force.isodefault /_ISO/Linux/Ubuntu.iso ;; boot" > nul + +# F8 will always reload Main Menu (quick) +###()/%grub%/hotkey [F8] "set MFOLDER=/_ISO/MAINMENU && configfile (md)0xa000+0x50" > nul +# or F8 will re-enumerate all files and load Main Menu +###()/%grub%/hotkey [F8] "configfile (bd)/%grub%/menu.lst" > nul + +# F7 to boot from internal HDD +###()/%grub%/hotkey [F7] "map (hd0) (hd1) && map (hd1) (hd0) && map --hook && chainloader (hd0)+1 && rootnoverify (hd0) && boot" > nul + +# Make the F1 key show the Help Menu from any menu (uncomment 3 lines below) - you can put your own help file in \_ISO\F1.cfg +###if exist /_ISO/F1.cfg ()/%grub%/hotkey [F1] "configfile /_ISO/F1.cfg" > nul && goto :f1skp +###if exist /%grub%/%LANG%/F1.cfg ()/%grub%/hotkey [F1] "configfile /%grub%/%LANG%/F1.cfg" > nul && goto :f1skp +###if exist /%grub%/ENG/F1.cfg ()/%grub%/hotkey [F1] "configfile /%grub%/ENG/F1.cfg" > nul +:f1skp + +# Don't display the F1 HELP entry in the Main menu +###set NOF1=1 + +# Clear only one global hotkey setting (can be used in .mnu files or .hdr and .lst files) +# e.g. clear F9 global hotkey +###()/%grub%/hotkey [F9] > nul + +# Clear all global hotkeys and reload the hotkey program (only really useful in other menus - e.g. in $$$CONFIG\CONFIG.mnu files) +###()/%grub%/hotkey -u > nul && ()/%grub%/hotkey -A > nul + +# ---- HIDE PAYLOAD MENU ENTRIES ----- + +# To hide a menu entry, create a .txt file of same filename as ISO and use: iftitle [if exist SECRET] here is title\n here is help text +# Then define Ctrl+F9 and Ctrl+F10 hot keys (password is E2B) +# Read more: http://www.easy2boot.com/configuring-e2b/hide-payloads/ +# Ctrl+F9 - Clear menu with wallpaper and prompt user for password in German language, switch to blue wallpaper if success +###()/%grub%/hotkey [Ctrl+F9] "call Fn.70 3 ;; clear && echo -e -n \nPasswort:\x20 && set SECRET= ;; call Fn.5 0 128 ;; password E2B > nul && set SECRET=1 && splashimage /_ISO/docs/Templates/blue/blue.bmp.gz ;; configfile (md)0x3000+0x50" > nul +# Ctrl+F10 - Reset pwd and background, reload menu +###()/%grub%/hotkey [Ctrl+F10] "set DONEMENU= ;; configfile /menu.lst" > nul + +# ---- OTHER SETTINGS ---- +# XP ISO UNATTEND.TXT SUPPORT - if PICKAUTO is set then user will be asked to select \_ISO\WINDOWS\XP\*.AUTO files for Unattend.txt\Winnt.sif selection +# see http://www.easy2boot.com/add-payload-files/windows-install-isos/unattended-installs/ +# .SIF file must have OemPreinstall=No or will get 'missing file' errors +###set PICKAUTO=YES + +# ---- ZALMAN\IODD HDD ENCLOSURE ----- +# If file extension is .ISO, then ask user how to run it (e.g. run as if .ISOPE or .ISOWINVH, etc.) +# Use if you have a Zalman Virtual CD USB HDD caddy and you want to keep all .iso files as .iso (tip: use a .txt file with a help entry to remind you which one works best!) +###set ISOASK=1 + +# --- MENU SORTING --- +# Turn off alphabetical sorting of menu entries (speeds up enumeration of menus slightly - NOT recommended!) - note multiple wallpapers won't work if you set this! +###set NOSORT=1 + +# --- CHECK BIOS FOR 137GB BUG --- +# Do not check the BIOS to see if it has the >137GB USB disk access bug (e.g. as found on some Asus EeePCs) Tip: try formatting the drive using RMPrepUSB first! +# Useful to suppress warning when your E2B drive is >137GB but E2B is on the first partition which is <137GB so it will work correctly +###set CHECKBIOS= + +# ----- REDUCE MEMORY USAGE ----- +# This disables the loading of batch file modules into memory for faster execution (so MOD=1 may slower - not recommended) +# If too many files or variables cause grub4dos to crash then uncomment the next line +###set MOD=1 + +# Use HLT instruction to reduce CPU cycles whilst waiting for keypress (stops CPU from getting too hot) +### write --bytes=1 0x8205 0x20 > nul + +# --- DEBUG MODE - +# Displays boot timings just before Main Menu is displayed - use for diagnosing/measuring slow boot times (can also press ! key during boot to show times) +###set SHOWTIME=1 +# Always pause after menu file enumeration - Note: instead of using ENUMWAIT, just press the SPACEBAR during file enumeration and it will pause before it displays the menu +###set ENUMWAIT=1 + +# --- PROMPT USER FOR FASTER BOOT ---- +# Add 3 lines below to prompt for faster boot option (for BIOSes with poorly-written and slow USB drivers) (will need to adjust menu size) +###set ask= +###if not exist DONEMENU set /p:3 ask=Speed up booting (no wallpaper or unifont not loaded) (Y/N) : +###if not exist DONEMENU if /i "%ask%"=="Y" set NOUNIFONT=1 && set GFX=none + +# --- STAMPS and ANIMATION --- +# see www.easy2boot.com for more details +# Specify stamps to ovewrite the wallpaper. Format: set STAMPn=type=x=y (filespec), type: 0=normal, 0x80=transparent background +###set STAMP1=0x80=584=0 /_ISO/docs/Templates/Animate/easy2boot_stamp.bmp +###set STAMP2=0x80=680=160 /_ISO/docs/Templates/Animate/E2B.bmp +###set STAMP3=0x80=620=160 /_ISO/docs/Templates/Animate/LadyMorgana.bmp +###set STAMP4=0x80=580=380 /_ISO/e2b/grub/E2BPlate.bmp + +# ANIMATE - displays a sequence - first file must end in 01.xxx (can be compressed bitmap using gzip or LZMA) - must use .bmp or .jpg as extension +# trans=transparent, infinite=animate on menu or add 1-15 for number of cycles, disable playing menu type=0x0 +# 18 delay units = 1 second, x and y in pixels, last = last frame number in sequence 01.xxx-99.xxx or 001-255.xxx +###set trans=0x80 && set infinite=0x10 +# display sequence on menu (with transparent background) +###set /A type=%infinite% + %trans% > nul +# play sequence 3 times immediately +###set /A type=%trans% + 3 > nul +###set delay=0x3 +###set last=09 +###set x=650 +###set y=40 +# use (bd) for boot drive or (hd0,0), so that if root drive changes it continues to load from correct drive. +###set FILE=(fd3)/frame_0001.bmp +###set ANIMATE=%type%=%delay%=%last%=%x%=%y% %FILE% +###set trans= && set infinite= && set delay= && set type= && set last= && set y= && set x= && set FILE= +# If using a floppy image, we must specify the location of the image +# The floppy disk image is loaded into memory and so the animation is faster and does not constantly access the disk +# ANIMFD3 is a floppy disk image file containing the files - it is mapped to fd3 by E2B +###set ANIMFD3=/_ISO/docs/Templates/Animate/E2B_GIF.ima + diff --git a/resources/menu_defaults.txt b/resources/menu_defaults.txt new file mode 100644 index 0000000..0929ec3 --- /dev/null +++ b/resources/menu_defaults.txt @@ -0,0 +1,3 @@ +default 6 +timeout -1 +debug 0 diff --git a/resources/mybackground.bmp b/resources/mybackground.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a9a7af9452749c1489ba9c48208ad985b8a1a771 GIT binary patch literal 1440138 zcmeF)Nw*wFmM8XXwT{k_wmN-|j;gw5bOC)5p+SUqT;3Yb~^D{i>|fJI;$2@jSxK+|4a+oJ=sDhr7Ai-^}j)+r8JW z9skGw^#A?4pZ&|{Kl%R;{{J8T?azL8?!Wul&;HHN{+EBb{Ij3^*Wc40fByHs{Oo7x zfB$mfzZ`$(#KV97zy9A}Uj0A+>fil`|LyaYIl=Rg1XFMjchU;gr!fB*M?@84(s{P8_~{_gMo?r;9}^B)#I9&vwq z#BG0m=)eB=SHJp|pZ@l5|Msu{`meoZhS)@v1A#yw5C{YUfj}S-_-_dO`+xuMQKpXb zAVRL-N3J~k?6Zjg`R>X%%*R_0t;EE<-K$l}+fzMVLB>=}on85F&4_P-Kp+qZ1OkCT zAP@+Qi@<;UkN*)-!Ax)!HYg^hM4T|0aVwJZZ5pCE8uHw8&-udkg_UWeE7~;<8_e0B zC@T;M1OkCTAP@)ysziWECvgm9BXKHZ!w9u6|X+q9nfF}H-;~yEBuVbL5~*%0)apv5C{YU z^&!CI;v)tLF+imfoAPIUHJxRRgy93$Cn1b_VO#*8Wn-e!fj}S-2m}IwKp?OJfq&&w zf04{nw0|&Wx+ zP>uZtJ%Z&jaM`-(-{4wfcR;)^5C{YUfj}S-=!XCu%}zpVqg8@}eEK~XcTJ3deT$rl z`pds~mwxn_xK8o9xgl0S(2m}IwKp+qZEFnO* zridLbq_9&h!PEW)13=dc*77f-WpJ(byF6ML2m}IwKp;>I0s54~NN^7GMX{Ge!81bu z!A@L@ClS#Kt~Im%i|Pgffj}S-2uy(hb;%!uS@}0q=M+6Kr+1>?xE2N;`w-{UZBf@i zAP@)y0)bHwz@s>QcmR{49Oa$ylBN)lY(E*bjH00BO?7QFCJ+b&0)aqaLj>r-E}a5? zwc*oodmyks0=6IeuzyCR*8Tv+)j%K+2m}Iw77;+Jcyp2lj5GdP?BQD4gkNzW`o#9b zTDm0a5eNhVfj}UT8v(S6noIgF@+#y;H_BUwfbqthmD10K_i!Cj@mnAe2m}Iwz)TQG zv`SzVW)-w*CY{!7H51XowK%4OXf@l-(Xc=u5C{aCMu6`Rt@4T3sy_Wp-S7DTu+L}l zsXi}?dmtdm1C}KuKC;BecnAanfj}S-m<0mVz1S)dR!ju5sBpPTf}$fxEGGb=(;aI3 zhd=z`)mLAA=bd-nfB*e|{KtR%Z0UtB|YRX?tQR7)!E;{N^{m zdFiE>aHlukcmsDjdGh3?OP4yn^iTi#xqbWgy!z5UBCzf>!H z47K~X05x1WdbjrxR044P6w}=-t7#?^<6+djo+$AP|@Z0@y{ORc-qL zsa-9_K#-`zhYzz0u?~Is;fD-IEJ%qvt^fD)&p&_g;K7eS{x~|Z>ifb(z*O?ajT>jr zp4Gay-+uehp+hNlPV<}R9vWyc`{?NA8#@c}5|s=D0)aqa2N7VjvEHYA8*6)_Qs^SL z8Y*@C_;JQ4{yR3G^$cpwubh2sM}3J-efRzF!w-1Zl`B_HoH+5;TW>x8{PRdi!^SSX zZ(#H1VwH^z?`TdS5C{YUfk2%Iq%}V6(}uw+u_;`UVd~|VUuKo!H51V!0%{Fk>i^Rh zUwrZHx8K&sm@?D|W4v?c4nHIQ$;{O;t~$ra)*2>-bO6FAX~c2a+!SMBvy~$!wSgm2R5XxJtD(uEJ?J z$Bv6S2LgdWATT)smg<6gDZv>T91^EuVGxwg>v!?u#iBfFxo~DHX{mO~A-FZ;vRCn& zZ@$q-@^t<7x4)gECsCcv5nOAgEOBxn6BP&q0)aqarx0MOLaSz!2nYkDXaOq*_qO&1*SN5QQS@PoXH!7vN|A0 zrc*tRPS3(sjb)ii!LsTUbWy87AP@)yMneFz60k&hjrPV(U&K@;(B&Wg;U8@IpWIZn zNWh$Q!_pFFt8r);5-W#>a}_0ht)FP&SEf}Yf!}np$NhmoAP@*NfI#KU3az4^oQo%_ zs^#vBmVmXQQ3wuaT4S(_; z+B%A8RZC--+AL~ncEmR+@uE?IKp+qZltuuvN)hZ;EuvM1-g)uG7v)sHe*OA-dNb{> z%vP)=HE@Zj!x{vnFlEs?cI+4?Q`JyU6WnNLYOB+9Tv`N0`GG(n5C}Ae04jAmce>#x5~_wAuEb^hr*moQsZOQQNz?D6Br=gyt`!yo=o&n!rjkt@^O z6rEMc+>B}j0)apv5D4@^AjNxBvPNb=P!s7uZTqszzD_E&r&h^q6`KV6aG3hLXs_o+Nd;*EhoAP@)~h(HROojk|{wPQUye*Ab< zxz>B~Iw{$O>&%WSM1{9TfH_N=HHjU>LDjG-5ip5mRpQn^Q0Bx9fj}S-2(*m=haj`n z%G@7xLidRiC!|}iAry+Q5X-8eCT&a3 zXk8!>2m}JF5U}E|A##J!%t1C{*Vho3nt!@=>lU*WQ^wp$LezgC0`ioyyE^Q0ayu|` z#SZMVYVODNKp+qZ1OkCV2=Hjgbug_W;K*-OcBUrI_jP%p>hjUm8O z{Mu`;P41^t0cn9JuSOvW7R3evfj}To8v>o#YO0E*AgdXrvD%knMdHxLNKy9YI1b6l z0*px0hGq%M!m_5V!&IUs-Wv!60)fD22#B*{wwg-VdM}UU8*jWZuY3#3{EC4hGB9K( zBuy45!R(ncXM|==HR;F}?m`r6@)*m}q+Glx5C{YUfiV%7HY9^`A>rSA^UcZ+3S6dA zd#*$%dy_1vbfbi3$pdc($An?$_|>#DZ%lC)?+OG0fk0p!1k%RsNo0FsR%}*wvhU$4 zv-=adlK3b>*-NvLR?GkCr=Kofy!gA{{ce((m_&_)y`;f}#eZ{WGg2*AnAytlbBqt8so;1~^9UGDSFT+7{qKK270cqU zmno~L{E5N?fj}S-Xb%ClBO8|{Fo>po z%_J-Uvi-FdI* zceCbKzxvhqbJiPKvBHqmusVpQ1pSk~RUcLl>#rD~%xyNLkvDXQ&B& zAW%61R+O04m_9)}1V8xTg9fP7auXs6!(7-!)Dr^Sg)(K0c}#PXHj`v3u3QdB^#XxF zpfLojCZnti4OBdQGnc~O4*+ux2BA4T{O2xEFD7e!xu z4+H{%K%g7~X$e`b{Kb+<(U)I-xkC>m7qXU7tBOsT^yYId`+D1QIjumT6 zyV;^pitm9yAP@*-M}SyMdH=GPyl;WFW=p@&Qa<)Yo0}lv$Z$1xUJ>r&En% z$V#$k%;3*`WmH@Y1OkCTU^oH<8p1PHY%XhyT)A~Z?}1OkCTU>N~15BBbj6Z63G&)3irn_6s(fUAcOA4b4c z16(4SunGZ=?_dA=*W(zna5*`v?-uD}ML8-(9?TagmU; z^j-SUZ@&3vl~#)Dfj~0|2rOjCB07dho}SO5SkFB3%m@OiXMN(fKp+qZ1o|K#h;*Do zF^J+OQ?hsb5V?wI_Gb7)G^7s#PFQ&Ex##-GnSu8(txLu=4xJlV)p$G*2m}HF2v`^* zS0g~-EhkT&Y&Db}#kzCnj?k1oDk<&>1X@DCkvg^jkHdWAZ5S=|YXqqnuLuMJfmRV1 zCwA1r(|I?Jj_vF`?R|-@f-Mn-Xv?MuNcMjE^yv{!(c&T$y%`j%Rh1O&3Iy6fz^?+OG0f%OQGNJ61Tuw1ph zPY}gQc^J0PLGef+&^7{mg~-o(K{WhVLTrS$46kRD5C{YUyMO?4B|xQecK4jomgSNQC+&z80?+560pRr)QvpcaE)j>2#hcJe>I1OkCTAp}U9 z(v~Y`G3i6wV^e!t6zSP_kPk$Yvm+oJ>-h2GMWaATq`&|Bzc0$-3W@6|HV_B|=7K<4 z$`y4B+PU+`KmKtK6>0BJQ~Jt zxxy7$uEH%Csy`4I2LZ?E{Qmd9FXzZ}A{a;E?r4E%X&?{?WJiE8yr>wl%>4AzPunw9 z?P*bvt8uhyyd@Cm5J0h<2%lXfb_JqXLQ=aw<4YhA2m}KC5fIGD3|?prsMz2B_P1fV z>eNAe2?PRxya>qKaP;WWLK2K1Exn(*zpRcs1A#zbMhGBRMNg1ty}xqh${ssUdw)hi zdtQwhr3C^TA>d@sW5n|dB<%`Eu6Dt4Wh+y}Ty3Nc zVkNCAP@-TMS#R8mkgO(a2G6Bb_+%l(d@c13Je6c zKmf&ZhE5?XR$7gg6PS5rdz2Okw2grI=wm(QV^&)G2qTvRL9`@d!>2E#ocTyfsPvI; zrTe5SesxcwJ;Kc0)apy@P~ic_T$+SJNu9;^S2O^+P({xE9A<0xsaNOVgrFdU^@gXdCJ9Np*Ms) zv7cRd;!c?1KQ4Wo)B67V@4xrndvCw}_M30M`TFaxbA!J8^2g*Gro4Y5S6=TZCqin*!7c1>9Il%|=* zt9~7L-5P2a@?71%eVZGiw2qj2`HtdcNw9YwR^NX6?c>LfA3b_xFTm%Ye}4V?b?#%w zP|_UM=I^}o4yEwM!pB0s`^!&maNDUEKpzA; zLS@#VACs`DJrv94yAo3v1wtD8V6y2waNC80n`w3mJ(m_}pd5QAktmovc<=ysx^(H% zM<0Fk)?05`L?1eI$S}5o&c00O2B(>8JX@z*t$QO@=I!dhz=+P_b@XiP?rdO~ZP5hu z+X(E2O5QI7X^By-Ou4*zkfx!xuyiHHh0&RziEb65qj`~!(q@5xv4p_mFh-Z7@tCLf zFq~=sWHieTqh$+QarR;rNXMN#d2&zqcYA;04^;LRqP~qsl1WOgAxFP4B7OMbhxm*| zF%ey2Eiinb8kV9{_)651Lb`VCnwq162w@nz+8C4TTVb{m?1gB9sHYMXi-@*78OonF ze4c$c&1GrdDyh3qp|^rMMWqHAa|Cg__t zZ?;FM7F&c|F^Q~~=Z*b}gz)Y?eE3l3Vp9x6#xRy%Vib*5riq{x+G0hZPk9*GxPopq zHgvn@VARBEiP6R8Qz+Jg3-5yuKG={V<-DCg@zqyfr5`)fRtW&3%mxtXIF;pwiB>JA z>e!bWX16i{fhZ`kBw+)zv1O5mwE7**XkH6zAhN-+!VOAZld&asSX3odXi4@rbW3~} zuOf>F>sF_o<4Xewi2B15N{l*7OOC?qB@?PVn>h*7fU>M zmH5MumdlcjjNMnX;pv3fH84wn=p7TugtBNuCrcGES z+P*v)o>`Ng!qR_&Pvo(^m&r9PlRf$gL1tT7f{}7D*MV3h< zspHwRXXS+m2jaYjeX1>beERh1?5kHp$UG|HAW&>QUcyyGPMny1h(WaaOOhGg$>)VX z%-34AhvSJ5%L~34N-vb~3<`3#3%*r@Ro5kS#iC`=4T=&7*DMnntDEk# z46$UWc@N+o?sVXvMyA=6x2Gu666-Z)_K!dQxFaF0ewll!E3`_ax^(&sFLmZm$UE9c zE{znjAVRbvnScGXs;i;w91={G7%GLrF!=7P^%Cw&@XQD~TNph`sGbrX7iD$`kZC+< z_B72aWc@&L<%aCbpF;Cp7wp1@K|A-6lTIwp=nE$xYn8w%dL(F7CpyY~F(X8KQi6By z-VN7b{WAr{655n~JQxNg03oX?)*AytnP(*ba;It06R$;L3F&0?x5iK5-pRv&p;dd4xiQ$?B1mLXTK zUS%q&idRHsIt0kE5)Ld~pM962NzGp~ZN|}oEKB86GQAR*@04uG*jRmmS+(a1+(Wdo z8=6e;?E4UPt5Es#=g)T}q}4CNY34$%6cLVBSmy39E96STtGuBy$W@7{tytFGj)b)OMetJP$2TWepa`q%yCDvo zm~q2E1T3R07`dgwX;=?QlVaBfy@5Tu{5VFP-Aicva5^utl(~P$vIHLIH7_jpMO;Y; zz?tD?)(JxQIR4iBiCOt%4{I+muk{YSzz@|bt?JrUb4L9eIyLS5Mo&p!o>2Ru_;6wRB>3 zxVD&>jXh#LKGUoV9gjkySfcpHO(<-H5lOsp_6d7nzoT&3!!;FXF1O05x^{_;sW5Yq zDmgp*rI%hhuyo75iMqE$? zhEqzxjda;z#^Kpe9_L+-go=5or65G0AGF`9eVEEIq?$pPvNeH zi9R7V7>=4V=5sm_%O_8sl;Qu=Pd~Nc(HTP=uXv*@j)fdv3=R~cS9p;Vf-DET8ki?e zoKP9rbqHr8StV6)6i0;c$RMA3`j;0xd_vd+S4MZmK4(aJrxal zz<`FF)V#Jey37}b`WIh(k;t`^{lbL{i9R7Vn$WYc6W*qhs*3N~GJt&<+t?u3Sruqf zqn&ihJA*Qo27k3x|7pkSgxxpttKlpTJYx^0qO5{z9%jq!wT7ayZLwk0nmkyG`I^bP zS~(P=KN;Va^K2Fc|K_ak!QN&lIpMY=>Mi zoY+x^lrYt^Xdx|QJu)rP!tvm} zmHG0^FQ;7>jKgpye~SfXcApeWX?AfvPzY@FxG6w8Sbb0BI^-)9ff?agsn;;}sRFJL zT_eGGu4)mw(O^FCX7V<>Pu~nOh8ts3%gvF_aVi1M93)Qrz|JjkLn2hn?BW>&N^zD6 zTMA`;;79CK61d7*XehxV=C#_b9`pGjif~&vlP`80>I`yg93&pG0{jF>TF-e zkPhwAU&wQV#2f9x7IcJAO-L-8QM(2YD<3dL(F+3x@A&ID^Hd1jB*VCwemt-tCJSwn zcaqNCgtdr9Qt`}Li0H_fOGPBk)Y-ZS;MU&>cIKnS{d%Rp6F3|$)|Cw#tQNaNGqY=I zVJAXvmaRQ4T@g=i$Jv3RHTw-TvSrr@wBOV-3wY#3gz`c%mxUJ2-kXaBqRk?>#Qcj+ z5sd(RU9dP+3w<}1KKke*@negXiSKz4upr9rjk5f2Oi3Y)qO%B`FycM_GbztH3TqV_8bv9O$+CojVH&II z)8ut)x6#N|VpfK0lSr;u#j(JwR$j!{Ttt!iK;*G zK#IQRoyDYg+hzf+vnv_-8G&WtaztX@4yv#;b9|hbD<<*m-mwbtTva7ph~Z+@uiIV6 zgl&&%iA^oH1slmOdsh`GCP(a3E*qnnrN<3>@iz4w=(DQraeX}kve~2hwi__N=QV0! zZdiA02wji=7Qae6mfc9grk!_Sh+0Hs5qm6WbZXMe2#Uqe_{BHUepCaoF(c=Jn_)ZFhVz)RtWyrQ_Zu z`fH3QXbzoHj$G|{wAG?&1~n?XcxCu^c9NF-fXi+9;)^e=Ju`~geT$;V@FHY&(;gvq zJe90fak|{T*zV>VNBa0OCTF*9e1uM>q=}T4BUhMPlNP`2#<{_nmz)#b7P-ruq@^n(B)lScDYA_Qs)-|HoyS33 zN2IIT5e2d^HSZ6*hd+Dw*u8(B;ULeC&DY#HJ0b>V9bF-GypuiwSHy@=At;(qZ8oI%ahL zp<=}XU5#mxJOOIpL0Y259i94D0@>Qw)hJBBj(uT3hOLXyZ>bGbLXbL*{96< z?{UCHxl?tNoPCS^_>iVOnB>jIKh5;2>9MZQjva2!t_<6?v7{;EBOXfY}(KT5Jw8 zQPId=VOvoEB(OZXciwr&fz@!%D@P3$qB^38?TGINfDy|DbMoZL&`_HyrnrB61d`K` z{#tYzVq6Sd61a_DpEllzpmqWw%acCoOF09X9RQQMg6dLlShu z#d22y2~$4}=xST&3x5s6VBSD1ZpX?~6X<&Wk-W~qh-qIxL|HX6u4pV;Km72+hWV9D zQ`sZ0kSkG_Sgx@uZY{ilTd1LUq(TJbbFj^p@k#^&oo zd@^9ogVem^?IV3@IzvTC%QmLdB&wseqWL6VP&vx;O^ zTWFtnq<#eK2eCDtA3>N(3Ez7C2n?yA1zq0LghMA%d593-R$ecm;a%-ULhTjJn~`5Z zZ{Ll>8R^8_i(caQ#47@UKwuex zx88bdBWb+;=95Hr7@Mh%z#5Me%br zY`h8=-m=V(D}g{DFb)FF%*tqV3Vzk8V|q~BR7Q$rCwOh}(#{!;R}t3U4W3nB3;-J_ zG7bY-1ssakD!-D2CY&1M=#h9!AP@*FBVg<0i!Z*oN}g|VJ)`j7;_X#ElGlWVt<~l` z%j+BrpSqC{x>i`Ubt|fRpZsITel)7)o4m2UK9uf0{bE$$~~jprX@pB zCLPDzB#CQA7hzSo+-c{GI|nn4!2Sedc6a8@H2eJX&tJcOy;XiC@*#{@`wINH7zhLc zV*UX~Ag3>eQ!s5-rYAR{CymPsNubg|8cTZd;5aq2#-UFSPAK!WBomR<} zcE!4#z#O7=ZvvE;Uer* zAxDfPuDMKD4&3ZYp74ussa*Ujb`JLGN6~H>=aikT4euNj**?Dfj5h`Xfj}Uz3IX8? zv4^XVrrY!$rXJe|a`7t(A8N>gCCg^;H!+5nQ37u_jd9B8Mgr7#;uYo2M#`Y@?;X>87~b40)aqa4FW&?^wY6p$I7XR zoh=#F%$No1(4j-qBFO-fD>;L76B(Jqw6K(Wd&ZrED*476Z?wvZ`IWx=`5Hqs$V2_3K~%Iy>5p6^IdKoRan- zwwkt`b1=@tStHxyr$8VOm>hvnc_kEd#w_lyz4qF)KDCVeYVuh95`CSwOyN=)`4v_y z(_NGHt2=k@{P4pMlgrPjKp+qZ1OlrN_~@gL@+ycZ4FWH|_+l>qpcuJnW5T^XS8~ye z`zcx-W_dG%9J+jefm!=~9!%D~$^0U=8Xc>JSJ70&5TuBN{2SH_};sZpI~o zUoEq;;8*Jh4|0|9R0XE68#it=$*%-o+5Wsnti?}(Kp+qZOpbtqayYZri~aa@Qv{xW z{`p+|>h;%OpVq*b(S8;2SL+87`&GuiW<+f@`0C3qznolhMg;!t`~jK7+kUuBHH3VyYIAZ1M3?nMs3YSMV6Q4b$JJW#B~4S_%)5C}|;fU{rMi~aa@ zQv@>ZA8aYUJ@Q|zA4nND^V)N2>q?XS>ej7WPoF-WTx>=K0)apv5I7J4k)qRPSX!@i z=J>0mpt<~mufF=~w7tWAl`H?1{O!}WrSh?q(SG%dU;Lug;C7iAL^T{J*5ZahAP@)y zCP(1=@4u(`Dpx%-s-FC!oO-$VRZIEX<$<3zmsicB2#?K}`HCx+UAjs8)xCT7CYPB} zfj}S-2n6~dU?+}Hjha=@yy}Kuz5Vvvx%d@Vh&|t1=r+v} z7qpygVT&vBlxB2+6>9HP#X5E{BfoOOc&q&CyYIfML1soB0)apv5a@#dSHj=?&EHI= zSsHsU3XzLk{qc`~oZNMbc*|S01)JLU5ph9{b$71jAXgdJIHyjXYLZ{wzI{6~U-c2` zaZex+2vmZ={rmSVpL1!79WO`dOGbWGL%%pCcwe%##l=W5y6@~@B+Qt(olCdXW1a8b zy&K2kRH8Ma8i7C{&<6oaLNPY`O8&UGDFPV}$KhwpsCGAPNO%9={oUVfL8bP6M2LG= zY<%euV7x+NyFUkh!SJ1X)ujFE!Gi~V1X|n^2m}IwKs^W?K74qfRFB6Yzz`v$LN5E& zd+)uM(Py-E2jO_Rj(A48B1OY;N8nc(kEyaJqRGvJj>UQW_;EclGinkD1OkCT9|UA0 zTo(IrWm5!%vDu87i(fh1dD9A%xS#gV$gd*AeYua&@{Btxr3Y!!cqOxF1h@AQ=5bFT z5C~L-z?Cakmc@Qt*%SfcQW-Z79y)Yr(+ZThpAC&)Z(o1krWd7X;B72X$yt|~@z_C~ zB|S)!{OXG@zKG1CRcVc=Odt>l^g%%2=&UtVC6&*3vNI!C#sgCZ;xl9mA={T-ko;dP zS4?38YtrQ78Fw*2*vM&;U&XP`eI$9@69@zXwILvIG^2;2NhR2)QE$BQMlR=|6h`%! zdbS90Pqa$dwsBQM6j`6{o9dp7M4E^C+_`g2@+;e%YZIGMpFkiG2m}s9z$t{2r&^jy zyXAVXIPi?lLBUt`FkUt3AA-f1$RGoapjADGR>sYPKmYm9`TCpWSCP5>KrtRS1OkCT zg$M{7J#yqoPjwKt?TY|jAtPum`<0Ui>)|K7PU!dgXe+T*G6T@>u|sg*;j!joMz^VR zc5dFh*(ASu^5jW{k~69l2m}Iwzk&XIGG=C|D)>snF+BlPtN2wi zSY-^-UJrF+zrxlhSEJD2CdrlL3{Ik7FT~>4Kp+qZ1nNY9Z!4FO-@$U&ZKSKpWxQes ztH(K*dQ)`zGQXnDg=U4pYRG`s(HQ}h{HjTQ6`Kd^)EZH%Kp+t4gTTihf1Gh0Jw)To z@!7mP2L)f%))#U#bs<>3NcfL&xj4tps;bUl%xL<1?X}mMs{g{p-WaW1`| zrJfo6t>U;YT)5Dl{R+R50J%b$8C41d0)arF4+6qR>kRwJqQwdof|0)S&N~_T)hn;O z5}Wc0byoAmN)mGM;>9NUmDOJ#Ar|)p0)apvP$2@sM>C!?+q^E*K$eF?hYn>VSBzIe z<#z$PXk&*!MmjB&>(Zr5P4X)TOjIZ{qe_85AP@-jMBv$HpY6ncd^r#Sjy&7pGxDo9 z-+VLUQ7H%3KW>;D0Teys=0WSDPe1*%J$`lT)~z3Y_@So|i`xQ$Kp+sP5P>-2xxd1t z84n*moRM59N`mzM6^J_GIqLyAg^7!7W}HGxQp8Y zfj}S-7!83JUwpB<RIXYSBR?d5u?2j>8<>WU2*<`q_fBml? zhw^kE7sRUh>6vGqu`fetw?}wa6Z_h_0wX`Dy=tE8rR<;AuU~JHUq$lv(X>FkC=dt) zN+7`Dl}psOT@I!12Bm*E5nUMackPN$bX`23~>u zpg@=^lhoFP>Oi`saI}qSD_0KBy!gPuroUWezVN~eH*VYr`_(`(7>@@6fj}UT9f4ib z^4sY(WFW8cN*vejWFEtF&?>GyY3kRrqrAT|i{WyD$*Xe0=H*xHSHZ8cOT{QK5C{YU zf#C?q53n8O*qx_v1A*vyjaNsH9<560m*`DILUwVcBs?cCaoV&r4n%C05mJ>(v~;5~ z)giBcF!A{+e_Y~obfa{MKeY?udn|kzoHPVMhsSkoPeA1 zt8_o>8FLoOH!aJ`%da#o;;*tx#V9Zk2m}Iw;Rpo3TF*cPPUrOu;#UptDX5cKE%Gsx zFR`rk{a)@@5M^Z7!LNqPz$hUQ2m}Iw5(vEd>Z|2c$=pj8BmLG}Z{_t2zWw&w8P#i5 z2y?*IX0uvkR*T=UEc*>7$()a0@i^z|xQ6*vHR1OkC^5OBiR?qs>_smmBK zSTnMdD+xt2X6^3TmU6f8aIu_JMUb*o24kF;1DDzD;>C+i@~dyZ{dOEN7;gy#0)apv zI|AQ-|9wkJKMS2;(951pR2-LcOh$7*Wx-)hA#z(yo-#BGo7%S!898P|u@K!07cMl( zufF-_o9q%V3Je4Sfk0p!1Rg$o*lMnTHS}Q3PqbC`uq&o8Nyf&EpkC9!;XjFHpWQye zeR3Be(rFwq7;gy#0)apvI|BFa-OHGYXSnX3wggs- z?5Wz3D`D-tPSZ9m*W25+TrDy#6sw#S%c3SDe>;2jY?J)z{{8#eC0-O52m}Iwz&Hrp zzI~fHBA4==bvc}Oj>^rRkO9AvM5~RkcE-Ji-GYncDt+fDEYxv%`PIpjC!6F~Uw!q} zpZ@fxaU@~9B@hS%0)e~;*x8+N9X(%ugLKe=HXA0@+ME=OL6q%Vxd8Ry-HAAZ;*zq)((t_?VO zC0>*k2m}Iwz&Hq4`Ib;0i>hQ6->L6+-gzfGxkA|5@C+Ix_~){PC)X8Z32Q>1SW^+X z12+Pw4}QW~iGy+El}o^-ZV=$Zo?oCX?A{P6Cz+UD$oi0g+(Z%@k&vMO2*Km zRmh0W${R4I=6UxiWZbu_kFH<8-Xz6}6rEI&O@4*^(7%Pq6|3L~ z6k-*%$atMCDC0IgHl;C>*{Xcru(7;*2{VSxL$%2x2r;ym_;yl4|TWrh`J{$|25zVcLL;2~MC?7Jen>d=he% zI)aflmy0uFwvCKS8hiqVWRKZ*(j0)cT5ICbh&8%$uMRtQ!pal#lReO-8-BQMzvv167??NO{q(J+oKh_?g+ zfk0jaUVH7eEJ`_}n#fY0HH9!`NSly7pgk3Mpp0)arFC<2mS@!Dk36muy= zm`b5MqWBfEI=Pi5V@J^bS&UcW+$!OmT9hR<7TU=lHymp9$+)|O?wVQE1hyBAXg|*AQmhQ^5x6z@hdHQ@ZdpS(HEr!0)apvP!s_R!;H)4{)&5&J1NB1 zUw^$2xpHt}V@x%dH%+L2CB~~X>Qp9+(=(S}FE2Rf&!2CSU){TRFGAdl>Vhad5C{bF zB5?NX*<8!#ylNsl0b^MzbOH{-CY30aoxRS}7RYrqoQKp9*1im57P}m$=W@wgT(Q8( zH3z-j_KGI?l`VvV8S+ZMC@l~O1OkCV2#{B-E?a1X**(H?WouO-%N33G!V51{PA|9U zGETkW=gVMd6(XZ)!=tdIt=Iz9?#yxqx=$iqA1iob&LOW-mc%@qrA)2hJ7nAdwOI1j-!Y$Z8QPI6 z`vU5WEZQ2eM1#q#XX}6h@t|4K%fu; z^7RRY9j>R8P#eEO3>cTNphBPaQeEvk42Js$!+y0du*(-Y^)lK*WuIs=#67aO7t#e$ zY#+4ze4`yVK{FNC=d#fQ>w&Y}&gi&B1 z5C{YUc@f~d*;+U4c`(;5sy)SS^e5dU+J|wesO758Y?&JY)&J(<5lRe1XiWb%j&>(| z5h^~=er3F63_IkF&B(7<4qJ5*Mi%$HiXci01OkD)2t0lIG?!|qfm~_J^Upsok9tvZ zMW1HWfTMAVtzX1AgM<$xA(EU|2pZ4$@TTRpWI`z;P|kd8)kR2l!;F$JiV6e*fj}T50*;}V7;0a=v*|^YV_N%_w;w%vv>dZi zGPBqYlB+ZlP>6y2%Hz&Ku8NxCjZBfl+m$`+(1wCdC*Yd<9b3>Ozq)((Zny|Ds)Hyh z5C{Y^B47cS>u6fh%h|Qe8kMo;xN##_GDG~z zXKNKO3Bexsfx+PCr+C5`lc6ChQ@IerMKWbMGwA7w9Tm^i3m8dG; z`Z#XQyz>+>X1H!I3QM%Z5P2BS1_FUVAdm$C#;cPjPmZGPQ+}7IPDpyIo(PRUYKTM1jiHFr(XUea~jhGU`RZId$q(d;H2l zIay?56cPvo0)fB~1ROd~@2r>VmHf*7;JoJ28Ln8akgFG8d~r0TSqZ#DszFodjTP_s zRrdwa!jTZU6o!Opd+BnWUG$T_L&+pwV50G0S4j3R=1#_}am&pqeZ_=ok6+!seLF(1 zhA4%2HV_B|vLGN_VP8E}TCi_gKE*mh5(eZ-dUh_Pxft{|g|XcI%tYA(u~yL`l!^CH zu6}RC>(U4N@+b4ApGr6ZS5?OA@|u;(_0e+4rq!iOml~s3WLjit$f6yhkU$_1*ct)O z!Pj1UZCUD8bp_R-H>K-IF;PYTO&LUIK{%`Gqf{AIBlKn!4{7*1Iwvw}j>E>}YBCX4 zWNFx1Da3<;Kp>C>0f7p6BWANJeJcB{}PelEa?UFqK-< zGzPSc`}?-;f=wS}26V7{V)bjj!zH{?08ch z(Xy#Rto(i)qiD#}8iq6ZPZ}@)3fj}TI906Hk zstwKMwqOPs$0wM!3Pv>hvgY0T3W~)lGCA9sqyi$|C32rv{GQz$?Ipr`@ZiC4AsHnE z0)apvumu7aE?n4Jffjwx&ab0KkCr~HImL1DJkrA3?fowb!rTiVGu(X=9<~0Z=;e%j zg)Fyc&z^0}gvCV|XFYGB7vhmXAP^Xc0OOTKYi&xLt3n1yhy5k;Q~FhH+A9L z0uLR^H^O;>iMBaauv+)%8qzYapNyiP|NQ4W8;*tM$sMtNqE*tNjK-gR_E}>TD-yYH zp&H_mKp+qpf`G{O7hZT_jbI<2T%kH5%u5@rQu#cOaq!KW-p~FMf?;o64K}4o>VRHy zz>PnrHtk3AqA`ButY@-rh^UNb1A#yw5ZDL-`S(^u9MJ+JD*`oZ{{~vLjaluBiC&o4JhkZeB6Q3Z1Y#iD7Efml}JMWN$Fw z`%pXaa=h~`@hfc!7va{LA|4C`0)b5tun~LDaUSHV&&aHUz^86TIH|ewISRO%QM_@( z1dO|oF=xypY&IoAbZ&CqwdR!xEJ zaNGJR(_9!B*w?J2+{1z1k_pRM&-O}hAu8jMKp+qZ1U5pz;xy3=w91$9nUyy(TfP1E z+nrgd^p`lVd25Y4!h<%AGAiO56Q*%sNfUnWpr|p)p7u&!VH%DA^5QGJ5zF%LDwbt> z+FaZc#R?bUMmi#H4g>;$Ef5fS_43OvA1GiKrE%WxqODY5G_w`v=14(WEN?5KwCo6A z-PpdK8k1o=ckIu(qxlyUv{T2KK$^*miU!KqgzPJcq9-A1OkEn z2rypp$VhZEzS)W-XB-$a+6s${Bn;V!Q0W2_(UPp=x#ylMVNGH+LTN;QVHY^YvJFQC zM$U<bywV7F<)@&meT~?_zkdCCOB5@15%yOTac3Y92yBFaBrsom@r9gM;TIklMA@Qh-M-VE6!O9{>1EVQ=v4an?!)@zC#=kE=$R4N zhfpn7W_({EHmD(!tbkyPQZ9zRL$akPEQv;A7hxY|5%&ZFfk00LtlB>M=p(vjS$&kg zLLqwZ>#x5)X0(;9Pj*LA6Qx@hnTXdV+gwl)& zOQO*@i?FBGh}!~zKwv!r-+ue;nKNfB@Fx+}7>*q2Bb%+*=maNkXRH`sm&F_Bf&jxW z?__o!wZ1?OO~$uLAi}bk{#dja2`^l@&_#TS%m9#NBkNH1OlrN`0>XduU)&wa5M?Cq6I8_j~+eBNmrUsEtc;@kE!DJ$5(vu z#;FiMImQoqXX9czGp#1ELVGFOo$1`hUP3OyCr_TN5}t8A5C{YUfqfAWx@nmywUkxo zBnrqX+j4u%^b3h%Ir2sz?j+i05}f0u(;{GgG0%={$VzeVQ@IP1Mf#IZKDlw@#@r2A zUw{2|n6UQMAaOAe2n3c9z^rcFy7k&?uT2=#&5NM|i#DYZzDFqgv`k}X-;QsHKew7# zA3&A;S8o&$HHo`WU#A7ssZ*zBeL5i*VI;y@Rw8jF5C{bJAb?rPODq?G9qUsmJMM!+ zhYpSG5JcYWY_gMmDmUm7Zx)@b$o|lGFwFkh6%eqUcCwdgx`u|d_xwNWw|lc?!tryKdCLl=g*&? z5zC6RazdX50)aq60JFM(|Gq2)qFYx<_z|urhv4`-1XHxtRO!4%05)FH00NAIY0OJzWvYIkAkT=P_H$hdaSvjFw1A$#e;NHD^Y*y1U zD=T6Zc=gp+$9D)aTd|cf2t>5iE-;gp+BntLLhizJcHy*B2Fqg0!m?`KV<-{UE-RO4 zdmylz2=E4CR+HPT=sR-qrI%hB`3%7n$Bxbs(P6e~iFNE$TQD38lSvF&Sk|;T98yPD z&axsA)^4iTX!Xt_keJo9djpefv@=Lh$0VUvDcUNIY2GO|(rRNFvSevPc*g(K5R|1` ztBuQYR?auye6zE<$8gEx-KoO94*PdIQNr@f$S4TW`HJey9~@#cai57G|qf z`Nj^mD|y(t?Z&5A-pGJ9ZKkZ$<5-rsEPD*GntDRBh+IqB-O)19(m-I>5O5;%?c29& zNSH|x$ow!#R;%O_eEs#;<0QcyWFWiHWP5LoZ8oK;Se8YTI!p^SYu=F~N2{O`N(zWe<1&rg_-dRqMB?Yn@0 zS;jCsNdkvN>e#X*>6&(fp^i4qQ||W~qTl7c2@}>XXxnJx?jT^%bmhvG7him_21Y^V zPZh+D#qmNq7}}P0+GiJ(Y_xI55fJx2$&osp-3-eTgfQ&}Lt}t3&5~;J)1o8FeRtGu zw6u8yo;-OX1s_>A`6`l#V>eS1wxf})Ro&~HT`2o>4N&a3(vRkkjDUrejG$Aw3(b1* zVAE!OPk@{I40Xuur~^ zX>wH(6$k`61S~Wdkr;52O=*&Uu`CO~$v4_0Of0^LsZT%sbTpO~QSPm3;b>QT2-p~S z?b(y%e!CJf5LvP@e{uM(DpcB;=OpL|j-0RGOMJCO*h0bLwTXbFK7WF=f& zN|{RRGpa!_((eZ{fyKzE?B6*A*>fuKkZ!F&F)O-8|87T9#hU?vr(^31#DlwufLUzV zOqh%`c?=WFs>d2HN{v_(eR1p7t-O9iv0l6nE$OCcOCT^`1Z+7Gf$6x1dTbPAGUpUu z)wImY+p#+}sf2KDr=Z2daQ0={Xeq-OTLh}MT}|StokhSPG>?#+#CE3ow@TTfIRglPo5N|K>Af8`I8);oLMpQIHHmYIX z;;FW?S?y~HR8&1XNw>o!o|*~)PP%8Fd1hL7A!=6}%SxeHXU?2q$jU;r*u=j7{`&@$ zR5T$Fm>mLKfqe8rYpM#>PTs)DnH5sO7lv~-V5PA-&SJJ&CR!lk;FwBH$9rdu09X6u zL0J{DEK502uhuWuuU{YTG<@*j!R!=MR5%crH3CncK4pvM3al!c2(z*`(Ehb)y@6PS zP%8(vwh?87Twy`W)F{`L_uhMtmYlWcbk;0o)|EGG%rbOhDo0`W-ek+FB>Fw|si0HB z(7CR%4sIQqB~inVKmIstZ55Rd1ZIIiw<}N_PE`&sVwR4cHlJ1E8>k&W8cxy%VUU2R zkmYKTo(adI3udk8qw*6XKo;3eGi|1)<-32aA+BspwZTbQ%>8RIy@S!m~| znolR+~FDYMERV)iQwq9EO-MDdMQ*)N%2qVgUzPdYVUM&JCc3mzz zlBz1xH>s{Z`~uUSZj-nNX2r;(GL`Jw&ZY7g1jZp(-U34&)i#WNx$uv2wm<-@5&Dkd zOhvA`_o_oWVW+B5&9rVWvyI+tS^Z<+1%y)-c=n$Jt;K0U%N-F{wm`t>ts(Rs*TS;YM187~ zqDh2){PD*<%~_GCVRjlkDqJT5yzLh*TzLNZ=c|fcPcl}OY|1VgZrz_Y2+Vd+MXQt` zZ9(dfMwUD2qb-zaJQ4^jBY@ACn}P=>Pvc-ztAm;lUsbUzm0`|GCr5J{t}$o%ReHlZ z6;{+L5U3vk1}l?@QK&+L72#=@5dV=t=q!4CU?J&fX0hMPQoWfg&b}Fl(iV>k@N3M+ z+RS*EX+sjrs$qj+Vp(c}_0<-l$-HK%C~+2wwJJKxd1v)&v8Z7nP#XddA3n6Z#Pm1I zDwLvDSceZEW-Qu5UuSFHW((B zCDh#NthS{Dlq{~zK`9-iW!SUX(4P_>)~39oK7l};2ryV#t?;$k8ef&wI>}FyUD{HI zK1`m>DzO69P#IX&w)WgY-5mG`$v+9~Sac+6IIwr(hV2kAbFrElHW*@AKKP!|UfaGQ z*ji|d4{><3tXYUwmpdyGHPorfqgM4GkaAd^K7Cq9K%G(91dfPMJM!!)JJ8}W!VQ=P zzZJ5#3(P8ME(2o{e#P->1-+g2jHd#DJ_uMlFp1a0ved+wH{)tsIcF|iy2NS7 zekD;uheXjH9x%eu*Sn@K!V`|>mdPw*$QSDPijj~*Fv4~jbp zzhb|_V~5l{o(%;0AYewb9o56K(l*1|0^k#pqyeBvNQSJ4a<59KM`b2Qz>34VgJnQy zWwjO9Ion=;?VwxmzE2nUsn=Cq5;!Ar7U|FP4J+>^NS>z8gQ>WQnt&l(~Pze$R@lLDe z;_ZRJ$Ou?meD>LA{N|QswfXcr;Y_AU2vbjxRbpQ@QFVgL!d&IMHV4`6^3S|uD5JQ1)c8k_19m=0XidV`FP#P2v|zk>p|1uEj2TQ zG%M=~vI=IkucAcG$Ipo&)NS9&#Kk~h90V$4St&G2)~q_09%?1J!bE zFJ2c26h*+o!Qlm`PMxxpsM)t-8VaqEwUXAZ#}$ZNv7uQf*145(9G$Z7TexmnlX4lR z`jo?XSo6AIUzFlvlL%DEvV>;U>@+kCNDSvK3Zazt=lk!!FRJyT@Ias_0%(=R!o`ah zF&4{*I+r#{_7Ya?613+eThdl(cJTwjtkx?>akisHxqA`2>-ze{uYtgr2oPMXxXeeE zuJwG9)3D~1h_xy<=x{@R!$?V5lm>e&^TxK?6T zLNvo>wb)tvekUi#Va0Zj*12bDUs&Se?jVp@R#nmO$X?C)9J;Y#;cs`nk1*8iq)(U_*U$N z(MKO~zSpmV#ICESL!xtO-dyEiRveT&m??CXzUY75`rY}D0L;}Fd&-gUw*G3ktr3tE^zPleT-a79 zHAk&?ved*ma^y&D1}mx@F>r1m5fn#R+`P%F|kWRJztHH>4?FPnD9&fagR)W9F` z1fDMe2DPy)%0jKwt!8tU(F;IqQ26W3n>Qm>>DDA69^4cG(SSAsIvkKXvmv*BK}zCT z%?SphE34WSh*=37vIEXU76vxC5~mkxPz_s;D3wnlagX(B>pvyvu;?afx2{q=xKjx5 zf-#IEZVoq$lXo^{3vqu>1QM;1s12>E zM0)I*2+MyGcZUugsx8?oiyqzho~kN#g`2JNdL`Kw4l?_9n_#vm)zLH;`JhZ<=s} z@MM3mpJ*;ay$=*|&j<)mz6RSKOX)lBykihfZkJBYCvEo3^m;5>P$IEOp30-M5|Z=_ zhX^rlGgnx&4x|uq!!iP5t5QbL8R;4Vgu#k&-pChhzem>9@MqH9RDVZPeVI^|lV-x{ z_xKL{DL!@tl{CUDNJ2w`9uc4pd{!w8YR^buNaP0;(Q2rtlRieMSiGVo1PrrPd2SP9 zM;_c$Lz4*{Hfrms+LAdWvd5gIZuLiJrLIgw3yVgyB1UVOMZ}do2(VTOS!b=163QU2 zK_K+0gB2nP#yC%!)fQouw7IqI@=A6>as@HL53AA=s_L{RwLYD`(LJEnWQ{@{ktiz0 z#}|LP=qER9RAAg32qXkJwhr98N-mKAm_rRg-G+Ly6#19ftjCJASd$c;#o#uJiHT_G zT*0*AI^4r3;!g-ju;85WPd@nst(uWyCE2J*QA`Y0bm@jdJ43X?e` zL1dvP3Is|cK$&7q`?9H37u`=XSmR7Y>eZ_cA3of1rm<7a=P72!wB{llW|6n5 z8`1~~Az;vwQFYQPLKW-dFX+P8yUH(q(U36-Eumz&x`i*m2wBAs7n>8`1A!exz-lEe z@m5i(HP_Sj;b{XM@vB8Cgzu$*%mayVGWO3|C0?DXl5KW=!!!{{W;J*8No+ivBl}{6ym#-OZGaqAtENxQ5|8*o3@Y~n zlAo5JDU_nW6AiiASDIz)jzr-yMpF>51VY9dMp1#ld=W6eB!TG})83zDSw)&?{Uu2* z0Er{kDvjE=K)(`MTprar4Y4e^S>9^JEYfE!;!M-QR;ore5Mf&EA#>y#J5uNGzyIDg zK&+UTYQn5ai{odb?`ftx#GD_n&IDGSv?L6-$P7kOm6o4uXv-UdmLp1_7-mSj6OS5yLrL`1CIU(Xud~(SE}YbGnb4 z0B>g%p~S;`SPy5j5A?>38#sxHPlI<|Hlr_QgsH(!Ub7#N4BW^SxCeg%%4g5T?0@3b zknAs!`rm1E5dzsO90djfGeUroWb2srZgsZr7fUu`a4IOQp8D9REe}h34W>vtNGbp#jBrm7-ZljFP!|25au8T%FX!+|0sJ~Ef) zC0g)I8LI>t&eQ{F@R+$mgIIx5cva1r7Dz=VHOZFoz@BTmRkOp?7?WJ3YFMn1*xQk) z^-mdr;~3&r;ThKhfk_acpvi?qV!e60%}uJkNatV0;lE}_$1a4Eg~J! zBE%}eeAB^<(^@`Lqvy_@ljp%n!FkEXj+ACAfpla%fV4ahAXGQ)h)V7^`-}&t*l@Ao zRF%^zvQc~m^WYY8W?#Tf*4(~*+fjhFry1u}O}$k!Yv1d7AFa{~w2G*ypH`7|T$af`lWWEyR}&Ir zZ!fgpCz6itJLcnJlL%1365RFSOPk(f?OfqfMSIz!w(d$TvN+9{AEqepBJk6e!}$^| zJq2@Nw~QFJAAb4em$ChD4+oR`A|+SX*VN+HV|(%kF%un)R;A@${j`cmR8=F>$}6v| z!>lInN(&q-wd?{)ncFRLCm)|tfk0p*1PC#eeSn4N#wvrl^N}36&o0c0yomn z5_=ZrEE2K}q6Kyx$8%wHIr?yyPvnuV3e`M)`ZVRvP&r>ym06!?6+y&S$q+OPTBVXc zW>$&#C{%57a+Rd9p;dxn5t|d5=0;OA@uD3^07FO?_&$`W|2@jAe5*+R?S$(`2q~eZ z>;@&IQ1+E$Gek?LU=&utT0|q?ym?cqhvxH_Y9K%9_3PL15F~Tp8e#pw9^uzSt4y3k ztLonjm;~U76DM%{FTVJKolO(61Eoylszk|KR8=*Y=1K@6yA>*F;})>QBZ0ty2=EyV zKV)#3blKp8ZyfmcX>TyKbH$))h|-9}xkP6rY1xKFD~%%Sec;;w%bp_uNf^=|58AB% zuQv7PCv?6UVjQxwh{I> zfj!nf7;lBDcGI5H1VIS)5sL$#OKeq=X$)2uE?f}g_Vnq~Mc1?4tc6&CVyiVyvZ|E` zfv{1ifkD3Mq=@_5M!+n#F5W|phX1L|AzSk%!5o(;WE>zZrT?fw1PVrR#be-_OPfir}ZAPim>#bH0{_GS>ft5$LGfdowa;86>11zW{}Tg0?}l^fJ{?Q((LwfBdm@@zm(} z{0h6{Z%UEs_EH&v4HyhzYaX#kyz zf-=_D5XG6ZFX&j9tF_u?L@$ck5d|&~Dfr)70&xlq_!ceF4hcdI!tsHaQb49t9@^9U`CI2UOXBswxq)~x~ zOQSbOTE!1&R;J!xW7X7mcw-42LH^Wixms+p`BEYf%L=ZI^~EAq@qGsoK!I3MGBT@F zl-$L$Ru*PAeOHJdis|hrRw7!$foun}d2?QV!$jfOTP$OlTnaJLsb(b|hd|PyPC&+j za&1Cn3=zX)>zPA;ls^|udSEY@GGZ4QAGkHyu4iYhQekuOv(G-0@?zN!xQAxrT{a9B zk`IQ&jMxP(o!v`l6e;$=As06U0+l0RYgP7h21%XKy0`(g3}%F()qNA3HkZ4u~kq1A+uR*1H(@5dp(8UWeliD}Zz92tUb zJUd?mxcCYDMNyOGdoxpmtSb}=LxggjEK{t+wFJ`&Z>Fs%^mzqnB{56eHWm-RILFNz z{tI2h+<|Ke!daz-g;X(A^8dCJQk9^v`an1jA3i+0c=b-iS;&}WY>7O5Yy5!Aoojj) zvaaB4b2R&_vxQY&ibaMrut;B&8}WVD5MXfVq)o0byp1ibJM5VADKRh#n(8c5t1n$9!;I2;yAG1F>s6bE?x`Q5*|tSu6B$n08Z+l~oR$R@VFPqX}L(P6;nl`2F>lR_g4;895B z2+;4@b29J|l*k`7Es}H!HCmz$7HA@A_hnX#7n!*vmXyO#WXl`_w35_KVOoXgQ|ID=}1}%vm77CSxg@kz6UtPODbcB>{*J6lxu! zD^bH5TDANWqIK!gC9%W={v0FWlMwE_hel&K0xFRk%-XbM%2;K^G+$aJ!$vw0X-~TK zRrG27bpcvjqJ>5&3PHkDG605DqlA}`S*#6kh5#GS&I^I;M-37_7|6Up*r>KdYa!Ps z+J+{fOv^m#z$;xOJcT&NNce8GYoRJcmYuLw@8L#+ZRDHN@&Vly={LvJ3XAJRn*l97 z?%cVPg;pifgbv>KZMw}@I_Z@jY2q|n;R2ybkV8&ugdjz$#LPRXUYHWikTM5|J+_3btTuBTP$SAkoFEb~@XjghM~>P*0r0W(^_>K-vQ zUngRKFapO5{o|cc2YHe$}&xZmXODZ_FO(UWnqZ>YcbA2yBM{JvD?)EkA27 zTQl(keIO+mQLI8u);of759Cf8-GFGNQx50uI!udVMlI5t5r)aMd6#sb0lDg)J*Fx% zcfP^uN$fE2jzg;wxpI<`waF@Yhg{b+g;Kr@sa3{jS>xHCGg`6C`k3q)J1B}Ofq)eg zI<(A@w!Xr6RVdqDiRR}j6S=aUDly-c$<`!leIo|d^JcC?7OfPcHFt{^(M^DJ92kD= zeyy4UwivOX5LMMcUWHC5C2N&b`O;5ikF82nYWZK}%1kM=jN(KnAw9MjErlM@y6hR< z3&p+`LLiFWK?Lk|6-V6(uHj#pM4AjCIB;yxV&y27^9Q%vPS~Glv1m0zw2}kS3RjO< zIJd32_8pm;tnJvQ475DL>{N3%RS`{g0o0kD%QXcZTEp`CyoeOmv;yeKra8N>?N#72;K8@^Hwuf9cG?!j+XI1B2v|*IOv_-s%wW6fT|07}HaF!9 z1^)=)?sGcfMm*}ko4I4|-@h*;-cVr`8I39Rd6Aeggi3Hbc0qI}LbW3!O=Bs2+KQ#o z9>9zfd0KLH`t<3mSFe8k_1E8h_nkDJt2obS*KHUy6iW;$vSO#mRl+duMnb0A5?vEz z1_A>SFuU_Q2j$Ocdkai|z!9NBl9P1GzMb$uisb-Y>Ws3Js*#&UHZ5tr$3IsZo3b@N z?H05&K&Xtj9r3NCv8S;qSC!=aPENO?nU)LXdb`-LGiT0-FnsXffinSXpjC;#iSn{x zkf`iG_xs;TL=-Bye;vlZlbbc82}@Ch7PI3c6K`w@0X_v;Kyyh*@2pEIfAf z%tEz;gvux~Y&4vW4j^d*U^DJNj71osthp%{C=Sz;?TmjLPh}yQwwso#PCW8!uOdrZ zT#sFZ9kB7G9t2ocGp=5xWhlfY>OpMNnoyC2_8gJV+(WC(O(m{>{`u$PVb<$7Hm+pU zLIxPM`Xtnnl!;j;`3n%Lv^zlSHif#4`)PBL`Os)Aq$RX)c=Zwo0y6Ja?Q>>29ilB^es#V>+rP z*Q~6eoD^6kxq&SbmBgzr57*@@HZ9sQ(SI`bzZ0|C+2z9`N*P^*=8l!@V&U;U5SSJL zb3EgjgKQ~<3^miDH2m#sdh!t!T3*r1!dF(&q3qY0u%ydgRz_>C;A0NMl@n5sFfpjY ziE!??sWWjZL1m4FsdtRdf=ikRPCz>&Dh#YzGh+Sp%{Si|tHbC1atVfgkgEhsUKgQA zjAgXrN+2*50+fEnJUN!$JFYR;^dn@-Z6{;`5@ep8O06pJ&Ye5!O;~Ic2$k5d6DLk^ za?v`!nXwh(FUWu}l5Pr#MEfd#e zAOxEKWfddJe%DT!V&v%b#4+#<(TQ)p^;X`4s0Pm2 zT#t*j(=}DrRCx7#M~JO==gU0b|=>N^;c=r^&zYYirJ`CJdAYjFyE;9$2wS z9ycD$i-EMNdmN3Qq!sbfKww`4tQ|7$NZREyarT9G`678z$cRm7vmeq{*{RfWfvgZh zl=*#-bIH@F)NWen@Tf>W6b9DlY_VpBM0lbi}SWBq2BqTr0`?cCpqaj`sz$7A^7 z>9(WL{)nk|6f(@p!Br@dM`MFrEzVzPWIXQKj5GBX%a8AYz*Gnr+hkg<1uP8`4xm0= zS#CQa1xG_=r&!#4sFWl{x|rXGDik%rCKH-svAYwevKZ%ALZ~cTAeL)#RaK6riL^X& zRcB+n3!7bN>s;wOCnyHHOcl=N~I3sdcJp~GC#MRL`Uw-+eeHQEE05|1hHViVS zEO+$qD}=393@@j>5^(8(w5ogD@F-+>Y!CKmQE3Fscjky(Vw~&^0n)$AM4=R-qtuYF zmSv~j@)edYQSn01StJC*P@SH|rb0%o=||u&t&rq0POuj8kT%Sz3=C})HkOi-Wj9r= z!Fl~pYJ&4)dgzcvB7>nZ&(Mk>ZB4q^$Cw}2zjwP|txXC|_U-CZ)l>ShBS-_k2mmg$ zZmkNjsLU)7K!+>_bMY%exE}FaKmJ56?NA6YE<6V@FA^$L%939mD&0*P=`8oCKt!P* zI8^i$l<09O<@v>+mut#YTMko|Q$)Gv@NIl@E~ZNYjhV}+=D0+6vN}o= z;cRrmPw9Fq1FI?u=b<{3TkI!tLa$;v+Vq zV%jc_6H?KfO4H51NS9Aq#h8h{^hXS^f$bu;`+kS&Kw8y3j$a|h`@SVE1_C1^VD57V zbSv3`Uj#@KMLN1_P)B<Xjd z{1W>IcX0ev+hj69$ZjqL!Jk5~RNL6fD@Gs_-64>(cN1;cMN;jQk*b^5!n{Rp+ZjiZ z#Q@7bz`6nx0W*;eIXL^X`zgMxK_DgbAIPlI2>#(7+NC{1Rq5=h1g=-?#U$4sYv#2WDlvbwOe zpaIM1#g#x{Oa#nUV=@c5Qb^=)AG7b`T?Zn-SHkX;OYB=F#{&64%;Sc<2pDn*141Q# z*A9C9(&SCK;+d*YN}P&adcDp0MAGJ*N@fyzZ%bdUK;lV z0^=Yc<|pIcb4BsRj8pS?%g!Qz37`a)1_W=~>nC4Rt~J7p%1NAxoeHOt?&&~IwMI{M zbc?el(XFs~zxMxA08VFVtm$2@-B6al)P zg(`_+#{_Ws?IxizPgAaVoJuTN;#9158|k1vHz&F!WNXox81s75aU1uqM}YCF&uHv_ z4|Bo#H^#4lz{m*jCS>GSiem2#Q9N=dHugF}!YPI-C4}5%LX|ibTE+KQlvAzIVkvfO zk#6arnB$F2x{;e>2xW}CGI}GpedHdD*Y!bwO*L--FfU=DW4!t_C+?XY0yMRqr^X?9 zi|vb{!X+|>1?F8oj8hsy#r?-l1qw-2z*53awT4rz`KhB@V&239FdD?x*V#?FX)Dad zZ}6-cV_W>Bz=$E7wp-)v%Lq_yG+JJ*!F_{b#b{qfJFY;$(zWyV$;gz_CgdggdB^i; zrFERjxja>Is`dJAF?=g+P7DKA%=A?V7#rEimGNodt$Jfz4+N${fc3!AIJ*X6f1n^t zrK#E#@2vy@(NmHxisV7Lg$yP0)XoM_?U`uFPQ~QQ2a0N%GAW(HdOlP6uZspQeqIJH zi?|4wuVg+>TMaQ+dEJ6(E^rRU0GqaFup#DneI~EDsyLb>HRAUwL?OkWIG@Nug zHf2ZK>#x6#Ip7aro?2v9>{Kw}`;*e74NkS5@+AY8A;EAFjH|s_-={?+gRak*jbU-f z#m>P#T@d$7g@6-I7v+D(@0gnalGxcXRnHcEFZ-mPCETb^JfUM#J03l?@ASc`%mtjv z9@|~uREz3w`FrP5v@J9p@Rw{{u@);jVJ9hEpGx{cL@W=3ELUW5Gk7LxTD&w6=!1aq z&(5%~UdVFMYMpP$TS9*J>5dBT(Q$-WikqSwac0IzY$0q@YbMC4Q>QLny7c+ypWnWH z``o#6;Ifd(qEp%{BzYC-N;WQxovdI8jmY^5MM3{6u~}JvaR}<%aw9feB>j6N?wkYx z+SB-7qbaidWc|(|V#OM9S(Ef~&zBku^cn>xXo|jLY+-UqQRsRwJbi2Cf_SRar%zwL zeEEwnzWC;wZ@&Nj`#=5ZPyhVq&ksNR@c8j#bnEQdv$&QZ_Hs(6fs#AMML`>i$+0Ma zhxCZOGd<_>RJRcz%#v(YMVXaB9+6j5b#c6RBLu_;X5UD-uO_0PDQm$w1ZD&!Zq!HF zZ>FbMr4p4Q40Q?uEafciA5?1J(Yt){xJl~E`iB3Or<_!KLlIqc;M;w1h(IyZi+z1yXa`kkQCgNBI=XL%M=TlvnX?*!4fF=E$wiD z+a#Q->*&}sxY#@KeMShFN0jvt#gy^cw51($u!=Xi2t$m^G;etAsc9&swV{^UNQGn) zWwa`fo;dT4L_sEuQ5i>?qWI<(ja1)#_gx_)RX=XE_b#R_Rbo98Auoy^krp8zrmarr zX8E#6y~Ne?HkyMXMHBlXdCW~_lZNFFRh2}L#%gu4geO7;oGc&@EQCBH9%rOdqpE?x zA_5k10&epvuUw_!6*LP&jW89YOH{D63^CYkFCzUaTzjSkAYe%bYd})Vsu_1uc`A|t zN?UkH#g=zAsE9DnHD*?o!y=SYD2Sx``s=R+K}}+$+DoMR{hcD@Rr~7ItDk)G3F6Hc zJWzARyyR=Rl zD`8W6dPJ>)TrDc=_&!Gj%)4qS*0Q?f&}7Wv7el=S8VTFRzSJLSL0u3S;)2{rz5okS z^oBgdbBIK<)kid}4^i{~w|BN}QWI$#{w4cmKP)1PD7pe7uY#+rq6o;qf+8=I8RI0Ar_g!~QZ{?@58~bw<$Fia5*eDI9 zM9IAEau#|6Bp)Lk<|fPw)B&GPQB72=IPZ$-X@ySMX@KMT2Cv`s>(`m?_xSN+TyMEZ zs>M`NJA0L=Es{TQQCuBO3$3mvamUcy&A$i$Ho5{fgbEuy51j*D1Y(T7qUwL>L+DH< zJ0FBu+30?&4Hd-3YvZn4`IWzA|8h8;Sn0K@{)!%t^HKpcA(bf=E0v_S-H>U17AnjY z4RJiR&Jx%`fCo00*L_t3IztZ|VvG%)!-guWHuTT*R{hF{atMD*3H&VuuIh3;@16v( z?T|mAgr>iE@d6iH!|8tQNTOsZlb%F!ZP8rO`R0FUKECHl_@5~Ie}9Vj+3^=$wBwt} ze4Ntk)M%Se&kDM=)ZI4PFdGamtPY>HUHR3Zea|>nMm7Xs))-{ zFQ^CHtwjQut%w2c&j@HuB#I5g=JQ`JHawyh+*wa(k}LEWi1} zrk}r-nTgy2mP*6}i{+5~A(*nwyVatQu&5mbc#+3rqS-1vnp=Jk3DE4xOQ5?jCoo1; zGUln0GXZ~J6+kthJXHPEMY&or`x1vN;ajNRGC8rVwyT(qGToULr0aO;5>qw-j$FRBZSj!SnQ#h6I_Yus4 z%a0+LX=|)s?EJpf>Z07)k;(+faf?ZIN|p>}cj8i{i*SnKnB~))YsVX?&8p9%ymebG z0aO-gb;*=&^!r+Bq{S}^HHEWpQcbZwGJ*bU!Gk8{U<F75csC=5NHX(Kd)v$sv${AnJKmYkp z{61t$m^MsJim3UY$+kogd&k4Nr|T^N?3t_u`RdgxBIl9cxRP-zYvx)fxy6XU@{0@& z8m#&@WLuvh5-388w-w@D8K5VJY(MvtKqaNPWhCMtzaO(0m@AECl1V+hZ(`5Ca^=c= z?X=*p&z?Oq3aht*rwp1@F>2X^%C&7M8Z*#<6suvTBHfxOMJ7 z0iG-dX!=HCv`AN|_plG*3ezISD4a4_rHF*#?UHVgx64XO&1zRxriwQvKAeMNvedE()Do{_LNey?mqozD-w%9 zcTHG5*ETD!94e)7pDXaMC_J*9_;B3OkGDW+u|KYpCK@Qf)8E;v&l%%D@e zdu`oNI!{iqNGSU(<5l%NLCz~5!L2}V2@sS;tFAp*7u`ia!y~{8MbTZ@X;A_^8mIzI zUiIW$5mfXrz=SGzwNtg#yIPI}S|>nHhz39m5aGjP%K{wa%)!8gY%ql>qN_wkoj-pb z6-savauh_oGxCxSF}M|D)Q(<`FX{bSzgZN>{o?Kr;$A7GdLLL)&_MUz%A3_z4BIBt zRChG#wi+{z#q!8Zn!Hd8mDP)f3-yJNsHZ^I>8MIg;fjSDO0@{8+Pb%`n`k)_kU%{G z<=vA$kSGhDYq~oW1;!anG`!LhFuyjsiwnVUM>N#AbLS8(MLyvZp?k015Q{sHZf#jh z6!h5Y-Gcc?Q4`c}Jy|t*6oKxm9mhR;4+$Wyn5oK(!~8~A?^m8Cwpqv0^OVkq7GBgB zPY`c0Bp9b7Dgq4i7ZG1riPuSkp`*AWt_%AfSBhtWx3lWS4JNaQ`Mm@rupR_>pQYd9 zsi%i5(XDg{^b80RtU8DjVzv=rn0grf(JlDS>N(x&9fepTfFJqC*{K6Hp+3|Ka~#zp z!XK4LpIkaIdTe?yE~N6}adoZtV~h^qO5A;_%{=-^u~g$T^YK~Iu7^XsRazkdT1Du+ zfM)@*)Z}saul)L7n0@Jss_uwqnH~vQf*q_VF@y@QNIdMk9wJ@XR-(t~9yu>(ry5j- zDpd-K3RCS#19-W*CVV_r0uoqD0;S(8FP^-6(wEY8AYkZ2==Z8lue^SiPLIx~81soK znzfZ3Ci^H#sJba+Qt76OQsSg+oSluD6v;%zRt20>GoVn7L8L}*6$ z6^fa@otnI(JY0$9$|KoOTrFFxB3F3&%0`D!HflmIQFxs*7FW_@x9SAOQ)~BY?OXq8*zA{8Dh9nRzAD3LiM(*JfkbndvAc0*85S2lM z#;!j#{1Wj-?uZ()syf6#_wMyff6hn%-qovDLoRGWk_bj>*up(r0uqpb1SBwrKnZ`H zvqSBl7#vAhROzJ}9}INwkKpOJCaeg6_^;je<{U^2dFY*D&Pn}A0uqpb1V%`J;U;7# zpycnq`>uwvDu-agdinBY$0NI^TR8#J%n}@xcoH#NDXtP=EmHy#kbnfH36xmhki;U2 zp3IQ7B^K*GzkU05dnT`R<~d| z5|DrdB+!rmJ{n@(L(>Tv?>06z>RGW^=T|S`O7u_kq`BprOGshJ=h*Nm^Kc1BKmrmN zA%P;XLQ9jd0Cc^K4Wz^R{rBIaW4(oUOn?c4hYuf4JYvx)v55*>rUWD)0SSzO0K-!# z)*X89z4u4XHjn+~gE36wkCn>TM*zByrEirQeu@c4U;5|DrdB#q0Mtn=|i~z3Q3l}aV#1&73*%)%&f+b5p0uqowa{{^WVC-Y3PoJ(4h($WA z*RNl9CIdWCf&k)*<(or`EHgoacH6x1TY>~6AOQ(TAV+|SU7^tm`xq9C`}glJtFl=4 z*+BP%?CGq`yLaz~8WqLn{Mxyv%#tM_0SQQ8Yy|M&YnG%qI1SBAV9Dy=~h3o?#e)!?-+qajMSO&VcrF=RlhmbjDG=$nu&V`+O zpe$Je5|DrdBv1$tE`>WUL4#rU$dMz<>Z>PDo|q1+18LO!6x^n7zWF9(Ut;;@&{V`k zQ@2bBNI(J-kiawn=4XXg%SB?HJ9qBhy?aZktQRj{G#~vfAx(hgn?n-F<(sD;QooUa z1SBAVArinB6PjFKGBzxwuSkbwpnF;!H7uVSiis)F)X{7qwV$Z1WlBH-5|Drd<`ck6 z7&1qo+^$@?vXsPPf#5&>_@ki)@bD0U&CN~bFU)UF^?t?RiPR4Tbk(bpM@c{e5|Drd znh;=6Lt=%7HYS2?Y-}tgv0V2#q>dUE%YFIiqmP=jv{}az%9U$@vrg*w5|DrdBp`t_ zfvEN1z<~p|Zrxg3Vv!E(-~ax1Lowjt?GhlS{ltkAArX$a`qQ8Oly2mfF98WiKmroz zo&e!e40DO|GAJKDe0Zq^pr1W^=At?63Zy2bA+Emu`s zz%UmIU1n%Le*F02(+Pk1<(F5lUNw;f9@`=Tg6KjC{|RVk&R|d4ztxa{1SB8<34{m` zkLCRsapRT*u6;)P2<0uqn_8iSlan5vLf zHO4HI*!K1|7Mpk9eRo(eqZS6l>JLBsu!t246V}U@FKdwZkR}9pL11~Kgt+1<$XQ2+ z^@v$p2}nQ!qa}dp2}?_J7gbSNUw-*zD0Dn@gK`lv4BUVF+us(PPKX)MbXZNq(z3@Q zt}xYx>`OR^hxHVM9xjWOfCMBkS^_6eo+P$v*|BNP{tR1KV+h|G5K`9731w`+K6dKV zsRbn#ZrMG3vUAA$(^3R@rwC0Lbou51J^NNw0uqow>jW5FzWCyckj;ch_>VvSxb-^c z3e06FLSp^>?|)y=OX#9GOKGIqJ99fiX=Zt>LRvl7_$^ri5|Drd+9H7K>L363M>O*i z0YyiS9BHe<9hAecm|Fmv>6VK~EEdg)-jv#cWStHqAqJ7>i57*HrsPmSSE9m}DFF#c zKmsiip#LWaX7hlnJ;z)m)_@}3!IGO!h|lQSwQGw=EZntv3HNMTwRa#J13_^uK223o zh$})F6;~AyKS)3V5*Ql+vi)@Chhjax0VS_yaAb%K#XRrdzyHRK8+%GD7tN`yo%TGC z;6N5I3P~Wud8p-#t%LG96}8*T(}StS2&kL(eeX&cC4xdBp`t?6Cft)_3PJ@<4*cBvF^iqucx*o zFA5FBM~@y|L}IyUPV3F`>eZ_u354^PZOpxj*De7GNMPgyFwPJK)cVM^XMv>19u|3q z%g`(^ZUGq^7V#3+%k{eFy%^^XckkW}`KevLd03COwUvMbB#YFJGPR6^4YUz14@K7**plBVi=wLrp3=N*>eHt-+uc|FJZk#i!}ZG^Uqtn zUz0^4k7*l|-}qSq5|DrdMoWM-Yw8VE4Ua-3ko{?(*cnE1F*dlaZr{E=$5Dt0i`TmjaKhj~A7`sA0SQPTL4f>AD;a7ZJb1wSe&UL{DU*2tp`=*2t`NQR zW8I;rmvGs3`_oT9g~U~E;zKu$*|SJM0uqow>jVg^?l}2X85VEdx)mDiT1PaiKqOWu zL?4Ou*=L{4msmJhS28hSSyj`M{W1E5^f1jhl(=J7!}EIyNI(J-=sy8Q2fR_;4}$22 z{=?a`hUlx%0?>refAPf^^Sy+fEosz!^Jw>sq-G5{qj`LCp5i^5pF2oE0uqowp9!2f zbEacw6LYxM=9M2WXGmgE?3F85=18nZj~;b=c*_#x?=vs*T4EgmZY2}nQ!y&^!g53Z;VBo;#+8Mk_M?X6S>fY_Q65{oiF z{P08OzRi+Y*dFx~?y4a-Ha0@y%4`g+JT(>~0SQQ83(0nlVLrS#~XTIfBp3=6Bb@V6l`w=PnQ)V8^Z@5d{Fxi z&N+}yySWXzhU%h&@BL*JzwY9Z{47+yi8gW)wZ+z2-Kq$nT zc6j*k;aSrOi9Q;%gRfrYX^_l*We#lOA1^4dl)sOi)cUuyWV*cPH3drUWD)0SQQ;6#@*?xtM?A-)`Kv zF)gu3j2D@ZiD3jV>9AaQ5ukgnfxJnO_i^!kM^_mMH-VNI(J-kifD8818c!8xRs38yk}n zYjbn6OPN&rTwi_lmDw1UZAfd%h?BBnCaylV%317c{U0e2a za3HB9Zrr#La+|t*bGxm}(j*`O2}nQ!eI|grDwh=N@ZrNh{q$31#llNSXj2DDsop8> z-MfbhO57|o8>YfU$(AVr2}nQ!5|BVY2}CnC96x@1aylWaB-ax^>7#!A^;ZmTi5ukd z%?YZODFF#cKmrozKLIi}gmOJ$A3JyMTqUva5^isAr^V8;<&y-JC-Vmyo=jz48(g753?;pC&H6Oc>;EqHxQUfCMBU0SQQ8 z5Cq8U9?IB2I@8IF4Zr>N+p;F6(Eh}*2$PWb#~G3nlivb?a6r>I_e7Xe#2cnv=DafCMBU0SQQ;5Qxrq`{<*Os#tft zgjkRg!fBB*Nfr@WgwbpaK1vdhfCMBU0SQbKKw^co2lla3r%sV+3P&Mc!j~^!E~156 z--jiqL(4Z~`g6kIbc^yE2}nQ!5|DrdAb`FK`OZ)vpMU;&3B-Ev;6e9ZLM9AiMoZjf z)MGALYofxIDFF#cKmrnwK*t1-SfPv!c+f6gx>O_^sHN=@SXF@UU zh$~~-J8q?(P685;fCMBkECPrSTwS49cf{MZYuAdz!do{>4z>F|;a+6o3W=*+c8g&( z8*3{82}nQ!5|F@r0!WeEbVAmnxq0&@5{p2rH*emwE2XAOLtJfaY=jb0;Y$tK`sUvt zf0cj)Bp?9^NMMKr$i9vhD^zn*BKS%szpgs@wz z1SB8<2}nQ!D<^=95a(B@8b^;Fy?ggA5^HmFvqd$vqbQ=h4jed;xC8>Oa&QtAwoC~~ zKmrnwfCPF%AeS%`@pk(3>Eb11X5S87)XKjUOKQ^uN&Kfy7)*e*ObJLp0uqqGNC=RS zJe08kl~NXfCg*4COFtv7PMkQAxJM|%TyR>V!j>rk2}nQ!5|BU-2@qvOI98%!lzjQ} zWvp1wo;_>DW>pFyrkz|{p$UV8rJ0Q((HJaK0uqpb1SBvv0*H!`#3G7`1p%2$xV^pI zio`-(v3zq#0%6JvMaz$^MR~mvkbndvAOQ*B6eHq@zX=qqS;GR*j~+d0#Y=em_U(`a za>8KZ?pvk=Bp?9^NMOta5LdYwbF5s$>V(agekPO)9hkUHXtvztCn{{25|DrdBp?9^ z41xeow@}6>VxE0m3a>fs>`1#}JK)>}ylNI(J-kbneo1ei|9mM9zAOQ(Tpb$V`K?0uqpb1V&DvxYa@sSoP+`ix)*= z-M@c7WM4vDg;xIwVX;^VNI(J-kbnf%o&XXnH=U5RZwP2-`DXHNB}kG)l*%VcwoC~~ zKmrnwfCMDagaB^4+;l<~fF|{5lj_YnwkX3{zxurdBp?9^NI(J-SSNClKKlbcMkLSj&`v1SB8<2}qz_0*IE-6u)-sIV>sI z?zLN*1SB8<2}nQ!!y+&UryHplhULl}RvWOk5|DrdBp?9^v`zqt6^eClrK&F9+zLhu zk$?mwAOQ(Tpko4kPI{0_CDActPbUEhNI(J-kiggokbndvAb}nd=uZv=0@_2%>+}%2Rg!=NBp?9^ zNMOAQ4fNw zpN>^&Iy))mGA0Zf)7}|yPb2{eNI(J-kibd^Fp00T3<;Ra6jv*`%brvM5|DrdBp`u~ z33QXOf!Tt+O1;%FWKSmn2}nQ!5|F^C2o$$n^pX)*eO>@DdhHf20SQPz0uqqGXbI$| z6XJhVT#dF}dEpX}fCMBUfiV+cIw2CPbpk8Twbl9+S)c?YAOQ(TKmrn2oB$GwaQDUc z-*eBBje);=?&%H^kbndvAOQ(TU|k6iD22*u>+1Tj5KmjzVmT6!fCMBU0SQQ;HUXv+ zwj!~*%=}RMVm(j-5|DrdBp?9^bU=WJDeO)SoqD8VXxG))!G(JY2}nQ!5|DrdB#P;tXsLeXNKu;tA2}nQ!5|Drdx+j1cYS{&# z@ha9+W!+z$XOw^hBp?9^NI(KBAwU=v+v2Bo!r6f~vjij{0SQPz0umT4fjvXk5m&A-INIjn zg-bvJ5|DrdBv6k4f$JzJgx2)o{6rZ1u0Kuh>^BmSfCMBU0SQPz0u=$K6HXhckX23? ztPuG@0uqpb1SB8<2`ozhKj5GL{O9T@#MQoi`}PdYs`mGT1SB8<2}nQ!5|F?&fyq?` zaSJN0rV;s#1SB8<2}nQ!5?Gc14ncf{7_yd1jkWAq++P9`kbndvAOQ)ChX8ItELYR9 zSmPn!l}bPY5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! c5|DrdBp?9^NI(J-kbndvAOQ(TU=afU0bl9lnE(I) literal 0 HcmV?d00001 diff --git a/usbcreator.sh b/usbcreator.sh new file mode 100644 index 0000000..b4abe7e --- /dev/null +++ b/usbcreator.sh @@ -0,0 +1,164 @@ +#!/bin/bash +#Check for root +if [[ $EUID -ne "0" ]] +then + echo "You must be root - try: sudo $0 or sudo bash $0" + exit 1 +fi + +#check for wipefs +command -v wipefs >/dev/null 2>&1 || { echo >&2 "I require wipefs but it's not installed. Aborting."; exit 1; } + +script="$0" +basename="$(dirname $script)" +DIR="/home/temp/smrusb" + +#Warn user that this will detroit the things +echo "This will destroy all data and partitions on the device name you enter without further warning!!" + +#get device name +echo "Please enter the device you wish to use (/dev/sdX):" +read dev +device=${dev}1 + +echo "Unmounting $device Partitions..." +for part in $dev* + do umount $part > /dev/null 2>&1 +done +#umount $device +DD="${device:0:7}" +if [ "$DD" == "/dev/sd" ]; +then + echo "" +else + echo "Bad device - must start with /dev/sd" + exit 1 +fi + +if [ ${device:8:1} == 0 ] +then + echo "Bad Partition! should end in the number 1 or 2 - e.g. /dev/sdc1" + exit1 +fi + +#format device + +echo "Partitioning: $dev" +read -p "Proceed with partitioning (y/n): " opinion2 +if [[ $opinion2 == 'y' ]] || [[ $opinion2 == 'yes' ]] + +then + + #umount $device > /dev/null 2>&1 + label="RESCUE-USB" + + ##Remove existing data/partitions + echo "Removing existing partitions and data from $dev..." + #dd if=/dev/zero of=$dev bs=512 count=1 conv=notrunc > /dev/null 2>&1 + wipefs -a $dev > /dev/null 2>&1 + + ##Create partition table + echo "Creating partition table..." + parted $dev --script -- mklabel msdos > /dev/null 2>&1 + + ##Create partitions + echo "Creating partitions on $device..." + parted $dev --script -- mkpart primary 0% 90% > /dev/null 2>&1 + parted $dev --script -- mkpart primary 91% 100% > /dev/null 2>&1 + + #Create /home/temp if it doesn't exist + echo "Creating working directory of $DIR..." + mkdir -p $DIR + + #Fetch Easy2Boot + echo "Fetching Easy2Boot..." + wget -O $DIR/E2B.zip "http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/Easy2Boot_v1.93A.zip" > /dev/null 2>&1 + + #Extract it + echo "Extracting Easy2Boot..." + unzip -d $DIR/ $DIR/E2B.zip > /dev/null 2>&1 + + #Remove the zip + echo "Removing Easy2Boot zip..." + rm -f $DIR/E2B.zip > /dev/null 2>&1 + + echo "Formatting primary partition..." + #Run E2B's fmt.sh + /sbin/mkfs.vfat -F32 -n "$label" $device > /dev/null 2>&1 + ptn=${device: -1} + echo Making partition "$ptn" active using parted... + sudo parted -s ${device%?} set $ptn boot on > /dev/null 2>&1 + sleep 2 + sync + sleep 5 + + echo "Mounting $device as /mnt/myusb" + mkdir -p /mnt/myusb 2>/dev/null + mount $device /mnt/myusb > /dev/null 2>&1 + + + echo "Installing grub4dos to MBR" + chmod +rwx $DIR/_ISO/docs/linux_utils/bootlace.com > /dev/null 2>&1 + $DIR/_ISO/docs/linux_utils/bootlace.com --time-out=0 ${device%?} > /dev/null 2>&1 + echo "Installing grub4dos to PBR" + $DIR/_ISO/docs/linux_utils/bootlace.com --floppy=1 $device > /dev/null 2>&1 + + echo "Copying $DIR to /mnt/myusb..." + cp -r -i $DIR/* /mnt/myusb > /dev/null 2>&1 + + #Fetch ISOs to device + echo "Copying ISOs from files.sysres to the USB..." + pushd /mnt/myusb/_ISO/MAINMENU/ > /dev/null 2>&1 + wget -nd -e robots=off -r --no-parent /mnt/myusb/_ISO/MAINMENU/ http://files.sysres.liquidweb.com/iso/for-usb/ --reject index.htm* > /dev/null 2>&1 + wget -nd -e robots=off -r --no-parent /mnt/myusb/_ISO/MAINMENU/ http://repo.win.liquidweb.com/tools/WinPE_Fixer.iso --reject index.htm* > /dev/null 2>&1 + popd > /dev/null 2>&1 + + #Use E2B's defragger + echo "Defragmenting the drive and ISOs..." + chmod +x $DIR/_ISO/docs/linux_utils/defragfs > /dev/null 2>&1 + + $DIR/_ISO/docs/linux_utils/defragfs /mnt/myusb -f > /dev/null 2>&1 + #mount WinPE iso to copy /tools dir + echo "Mounting WinPE ISO and copying tools directory..." + mkdir $DIR/isomount > /dev/null 2>&1 + mount -o loop /mnt/myusb/_ISO/MAINMENU/WinPE_Fixer.iso $DIR/isomount > /dev/null 2>&1 + + #copy tools dir + cp -r $DIR/isomount/tools /mnt/myusb/ > /dev/null 2>&1 + + #unmount ISO + umount $DIR/isomount > /dev/null 2>&1 + + #Get files to Update Menu settings + echo "Fetching menu config files..." + wget -O /mnt/myusb/_ISO/menu_defaults.txt http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/menu_defaults.txt > /dev/null 2>&1 + wget -O /mnt/myusb/_ISO/MyE2B.cfg http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/MyE2B.cfg > /dev/null 2>&1 + + #Get background + #wget -O /mnt/myusb/_ISO/mybackground.bmp http://files.sysres.liquidweb.com/usbkey/smrusb-4-0/mybackground.bmp > /dev/null 2>&1 + + #Remove working dir + echo "Removing working directory..." + rm -rf $DIR > /dev/null 2>&1 + + #unmount drive + echo "Unmounting drive..." + sleep 20 + umount $dev* > /dev/null 2>&1 + umount /mnt/myusb > /dev/null 2>&1 + + #remove mountpoint + echo "Removing mountpoint..." + rm -r /mnt/myusb > /dev/null 2>&1 + + #Complete + echo "Script completed, your USB has been created!" + + exit 1 + +else + + echo "You said no, stopping." + exit 1 + +fi \ No newline at end of file