TempleOSCDV4.01.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:47 +02:00
1 parent 0e0592d9a6
commit fedf66361e
85 files changed
+2450 -2363

No files matched your search

Binary file not shown.
+1 -2
View File
@@ -1,5 +1,4 @@
#help_index "File/Cmd Line (Typically);Cmd Line (Typically)"
public U8 *DBlk(I64 blk,Bool write=FALSE)
{//Dump disk block. Optionally, write.
//If you set write to TRUE, the block will
@@ -261,7 +260,7 @@ U0 TouchFile(U8 *filename,U8 *attr,CDate cdt=MIN_I64)
} else
PrintErr("File not found.\n");
}
public U0 Touch(U8 *files_find_mask,U8 *attr="+?",
public U0 Touch(U8 *files_find_mask="*",U8 *attr="+?",
U8 *fu_flags=NULL,CDate cdt=MIN_I64)
{/*Touch file attributes and DateTime.
Default lists attributes.
-1
View File
@@ -1,5 +1,4 @@
#help_index "Info;File/Cmd Line (Typically);Cmd Line (Typically)"
Bool ChkDskConfirm(Bool *_fix,Bool *_confirm)
{
if (*_fix && *_confirm) {
+1
View File
@@ -1,5 +1,6 @@
Cd(__DIR__);;
#include "ADskA"
#include "Mount"
#include "ADskB"
#include "ChkDsk"
#include "FileMgr"
+102
View File
@@ -0,0 +1,102 @@
#help_index "Install;File/Cmd Line (Typically);Cmd Line (Typically);"
CDoc *BlkDevPmt(U8 boot_drv_let=0,Bool make_free=FALSE,Bool repartition=FALSE)
{
I64 num_hints,drv_let,type,unit;
U8 blks_buf[STR_LEN],addr_buf[STR_LEN],base0_buf[STR_LEN],base1_buf[STR_LEN];
CATARep *root=NULL,*tempha;
CDoc *doc;
"\n****** Mount Drives ******\n"
"$$GREEN$$A$$FG$$-$$GREEN$$B$$FG$$ are RAM drives.\n"
"$$GREEN$$C$$FG$$-$$GREEN$$S$$FG$$ are hard drives.\n"
"$$GREEN$$T$$FG$$-$$GREEN$$Z$$FG$$ are CD/DVD drives.\n"
"\nDrive Letter ($$PURPLE$$<ENTER>$$FG$$ to exit):";
drv_let=ToUpper(GetChar);
'\n';
if ('A'<=drv_let<='Z') {
doc=DocNew;
unit=0;
if ('A'<=drv_let<='B') {
type=BDT_RAM;
"Addr of RAM disk ($$PURPLE$$<ENTER>$$FG$$ to MAlloc):";
GetS(addr_buf,STR_LEN);
"Blks of 512 bytes:";
GetS(blks_buf,STR_LEN);
} else {
num_hints=ATARep(,,&root);
if ('C'<=drv_let<='S')
type=BDT_ATA;
else
type=BDT_ATAPI;
if (type==BDT_ATAPI && boot_drv_let)
"<ENTER> to use booted CD/DVD\n";
do {
if (num_hints)
"Enter dev number or\nport with $$PURPLE$$0x$$FG$$ prefix.\n"
"I/O Port Base0:\n";
else
"Include $$PURPLE$$0x$$FG$$ prefix.\nI/O Port Base0:\n";
GetS(base0_buf,STR_LEN);
} while (!Str2I64(base0_buf) && (type!=BDT_ATAPI || !boot_drv_let));
if (1<=Str2I64(base0_buf)<=num_hints) {
tempha=ATARepFind(root,Str2I64(base0_buf));
StrPrint(base0_buf,"0x%X",tempha->base0);
StrPrint(base1_buf,"0x%X",tempha->base1);
unit=tempha->unit;
} else if (type!=BDT_ATAPI || *base0_buf) {
if (type==BDT_ATAPI)
StrCpy(base1_buf,"0");
else
do {
"I/O Port Base1:\n";
GetS(base1_buf,STR_LEN);
} while (!Str2I64(base1_buf));
do {
"\t$$PURPLE$$0$$FG$$=Master\n\t$$PURPLE$$1$$FG$$=Slave\nUnit:";
unit=GetChar-'0';
} while (!(0<=unit<=1));
'\n';
}
LinkedLstDel(root);
}
DocPrint(doc,"bd=BlkDevNextFree(%d,%d);bd->unit=%d;\n",drv_let,type,unit);
if (type==BDT_RAM) {
if (!*addr_buf) StrCpy(addr_buf,"0");
DocPrint(doc,"bd->RAM_dsk=%s;bd->max_blk=(%s)-1;\n",addr_buf,blks_buf);
}
if (type==BDT_ATA || type==BDT_ATAPI) {
if (type==BDT_ATAPI && !*base0_buf) {
DocPrint(doc,"GetBaseUnit(bd);\n");
if (drv_let==boot_drv_let)
make_free=TRUE;
} else
DocPrint(doc,"bd->base0=%s;bd->base1=%s;\n",
base0_buf,base1_buf);
}
if (type==BDT_ATA && repartition) {
"\nReformat WHOLE drive!";
if (YorN) {
DocPrint(doc,"if (!BlkDevAdd(bd,TRUE,TRUE))"
"\"\n\n$$BK,1$$$$RED$$Operation Failed$$BK,0$$$$FG$$\n\n\";"
"else PrtDsk(bd->first_drv_let);\n");
return doc;
}
}
DocPrint(doc,"if (!BlkDevAdd(bd,FALSE,%d))"
"\"\n\n$$BK,1$$$$RED$$Operation Failed$$BK,0$$$$FG$$\n\n\";\n",make_free);
return doc;
} else
return NULL;
}
public U0 Mount(Bool repartition=FALSE)
{//Mount a drive.
CDoc *doc;
ExePrint("CBlkDev *bd;"); //Leaks
do {
DrvRep;
if (doc=BlkDevPmt(,TRUE,repartition)) {
ExeDoc(doc);
DocDel(doc);
}
} while (doc);
}
+2 -2
View File
@@ -11,8 +11,8 @@ U0 LoadDocDefines()
//This is cut and replaced when I generate a distro.
//See $LK,"DD_TEMPLEOS_LOC",A="FF:::/Demo/AcctExample/TOSDistro.CPP,DD_TEMPLEOS_LOC"$.
$TR-C,"LineRep"$
$ID,4$DefinePrint("DD_TEMPLEOS_LOC","118,860");
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","80,947");
$ID,4$DefinePrint("DD_TEMPLEOS_LOC","118,914");
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","80,867");
$ID,-4$
DefinePrint("DD_KERNEL","%08X",bfh);
bfh(I64)+=bfh->file_size-1;
+1
View File
@@ -46,6 +46,7 @@ extern U0 DrawCtrls(CTask *task);
extern Bool Ed(U8 *link_st,I64 edf_dof_flags=0);
extern U0 EdCodeTools(CDoc *doc);
extern U8 *EdSprite(I64 bin_num);
extern I64 ExeDoc(CDoc *doc,Bool just_load=FALSE);
extern I64 FindWiz();
extern I64 GetI64(U8 *msg,I64 dft,I64 lo=MIN_I64,I64 hi=MAX_I64);
extern U0 GrPlot0(CDC *dc,I64 x,I64 y);
+3 -3
View File
@@ -45,7 +45,7 @@ public Bool HeapRep(CTask *task)
while (LBts(&task->data_heap->locked_flags,HClf_LOCKED))
PAUSE
for (i=0;i<HEAP_HASH_SIZE>>3;i++) {
for (i=0;i<MEM_HEAP_HASH_SIZE>>3;i++) {
cnt=0;
uum=task->code_heap->heap_hash[i];
while (uum) {
@@ -96,7 +96,7 @@ public Bool IsInHeapCtrl(U8 *a,CHeapCtrl *hc,Bool lock=TRUE)
PAUSE
m=hc->next_mem_blk;
while (m!=&hc->next_mem_blk) {
if (a>=m && a<m(U8 *)+m->pages*PAGE_SIZE) {
if (a>=m && a<m(U8 *)+m->pages*MEM_PAGE_SIZE) {
if (lock)
LBtr(&hc->locked_flags,HClf_LOCKED);
POPFD
@@ -120,7 +120,7 @@ public Bool HeapCtrlWalk(CHeapCtrl *hc)
while (LBts(&hc->locked_flags,HClf_LOCKED))
PAUSE
for (i=0;i<HEAP_HASH_SIZE>>3;i++) {
for (i=0;i<MEM_HEAP_HASH_SIZE>>3;i++) {
uum=hc->heap_hash[i];
while (uum) {
if (!IsInHeapCtrl(uum,hc,FALSE))
+1
View File
@@ -1,4 +1,5 @@
#help_index "AutoFile;Help System/Training"
#help_file "::/Doc/AutoFile"
public U0 AFGetStr(U8 *st)
{//Wait for user to type certain str.
+9 -11
View File
@@ -28,7 +28,7 @@ public U0 EdCursorLeft(CDoc *doc,I64 sc=MIN_I64)
if (sc!=MIN_I64) sc=sc.u32[0];
if (sc>=0 && sc&SCF_CTRL) {
while (doc_ce->last!=doc && (doc_ce->last->y==y ||
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)))
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP)))
doc_ce=doc_ce->last; //TODO: select? recurse?
cc=doc_ce->min_col;
} else {
@@ -57,8 +57,7 @@ public U0 EdCursorLeft(CDoc *doc,I64 sc=MIN_I64)
while (doc_ce->last!=doc &&
(doc_ce->last->type_u8==DOCT_SOFT_NEW_LINE ||
doc_ce->last->type_u8==DOCT_INDENT ||
doc_ce->last->de_flags
&(DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
doc_ce->last->de_flags&(DOCEF_SKIP|DOCEF_FILTER_SKIP))) {
doc_ce=doc_ce->last;
if (sc>=0)
BEqu(&doc_ce->type,DOCEt_SELECTED,sc&SCF_SHIFT);
@@ -103,7 +102,7 @@ public U0 EdCursorRight(CDoc *doc,I64 sc=MIN_I64)
while (doc_ce!=doc && doc_ce->next->y==y &&
doc_ce->next->type_u8!=DOCT_SOFT_NEW_LINE && doc_ce->next!=doc &&
(doc_ce->next->type_u8!=DOCT_NEW_LINE || !(doc->flags & DOCF_FORM)) ||
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP))
doc_ce=doc_ce->next;
if (doc_ce->max_col>doc_ce->min_col)
cc=doc_ce->max_col-1;
@@ -144,8 +143,7 @@ public U0 EdCursorRight(CDoc *doc,I64 sc=MIN_I64)
if (cc<=doc_ce->min_col && sc>=0)
BEqu(&doc_ce->type,DOCEt_SELECTED,sc&SCF_SHIFT);
doc_ce=doc_ce->next;
while (doc_ce!=doc && doc_ce->de_flags
&(DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)) {
while (doc_ce!=doc && doc_ce->de_flags&(DOCEF_SKIP|DOCEF_FILTER_SKIP)) {
if (sc>=0)
BEqu(&doc_ce->type,DOCEt_SELECTED,sc&SCF_SHIFT);
doc_ce=doc_ce->next;
@@ -205,7 +203,7 @@ public U0 EdLineUp(CDoc *doc,I64 sc=MIN_I64)
DocFormBwd(doc);
doc_ce=doc->cur_entry;
while (doc_ce->last!=doc && (doc_ce->y>=y ||
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP))) {
doc_ce=doc_ce->last;
if (sc>=0)
BEqu(&doc_ce->type,DOCEt_SELECTED,sc&SCF_SHIFT);
@@ -213,7 +211,7 @@ public U0 EdLineUp(CDoc *doc,I64 sc=MIN_I64)
y=doc_ce->y;
doc->y=y;
while (doc_ce!=doc && (doc_ce->y>=y && doc_ce->x>=x ||
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP))) {
if (sc>=0)
BEqu(&doc_ce->type,DOCEt_SELECTED,sc&SCF_SHIFT);
doc_ce=doc_ce->last;
@@ -320,12 +318,12 @@ public U0 EdLineDown(CDoc *doc,I64 sc=MIN_I64)
}
doc_ce2=doc_ce;
while (doc_ce!=doc && (doc_ce->y<=y ||
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)))
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP)))
doc_ce=doc_ce->next;
y=doc_ce->y;
doc->y=y;
while (doc_ce!=doc && (doc_ce->y<=y && doc_ce->x<=x ||
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
doc_ce->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP))) {
old_de_flags=doc_ce->de_flags;
old_color=doc_ce->type;
doc_ce=doc_ce->next;
@@ -344,7 +342,7 @@ public U0 EdLineDown(CDoc *doc,I64 sc=MIN_I64)
}
while (doc_ce2!=doc && (doc_ce2!=doc_ce || IsEditableText(doc_ce))) {
if ((doc_ce2->y<y || doc_ce2->x<x ||
doc_ce2->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP) ||
doc_ce2->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP) ||
doc_ce2->x==x && !doc_ce2->max_col &&
Bt(doldoc.type_flags_nontag_invisible,doc_ce2->type_u8)) && sc>=0)
BEqu(&doc_ce2->type,DOCEt_SELECTED,sc&SCF_SHIFT);
+2 -2
View File
@@ -82,7 +82,7 @@ public U8 *DocSave(CDoc *doc,I64 *_size=NULL)
break;
case DOCT_TEXT://$BK,1$Update $LK,"DOCT_TEXT",A="FF:D:/Compiler/Lex.CPP,DOCT_TEXT"$$BK,0$
if (!(doc_e->de_flags & ~(DOCEF_TAG|DOCG_BL_IV_UL|DOCEF_WORD_WRAP|
DOCEF_HIGHLIGHT|DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))&&
DOCEF_HIGHLIGHT|DOCEF_SKIP|DOCEF_FILTER_SKIP))&&
!(doc_e->type&DOCG_BL_IV_UL)) {
cnt+=StrLen(doc_e->tag);
if (!(doc->flags & (DOCF_PLAIN_TEXT | DOCF_PLAIN_TEXT_WITH_TABS)) ||
@@ -115,7 +115,7 @@ public U8 *DocSave(CDoc *doc,I64 *_size=NULL)
if (!Bt(doldoc.type_flags_data,doc_e->type_u8)) {
if (doc_e->type_u8==DOCT_TEXT &&
!(doc_e->de_flags & ~(DOCEF_TAG|DOCG_BL_IV_UL|DOCEF_WORD_WRAP|
DOCEF_HIGHLIGHT|DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)) &&
DOCEF_HIGHLIGHT|DOCEF_SKIP|DOCEF_FILTER_SKIP)) &&
!(doc_e->type&DOCG_BL_IV_UL)) {
src=doc_e->tag;
i=0;
+5 -7
View File
@@ -105,8 +105,7 @@ public U0 EdFindNext(CDoc *doc)
do {
if (doc_e!=doc) {
if (doc_e->de_flags&DOCEF_TAG && doc_e->tag &&
!(doc_e->de_flags&(DOCEG1_DONT_EDIT|
DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
!(doc_e->de_flags&(DOCEG1_DONT_EDIT|DOCEF_FILTER_SKIP))) {
if (doc_e->type & DOCET_SELECTED ||
!doc->find_replace->scan_selected_text) {
if (doc->find_replace->scan_fwd) {
@@ -194,7 +193,7 @@ Bool fwd,Bool abort_on_dbl_colon=FALSE)
do {
if (doc_e!=doc) {
if (doc_e->de_flags&DOCEF_TAG && doc_e->tag &&
!(doc_e->de_flags&(DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
!(doc_e->de_flags&DOCEF_FILTER_SKIP)) {
if (fwd) {
if (doc_e==doc_ce)
ptr=doc_e->tag+doc->cur_col+1;
@@ -405,7 +404,7 @@ I64 EdFindReplace(CDoc *doc)
doc_ce=doc->root.next;
while (doc_ce!=doc) {
if (doc_ce->de_flags&DOCEF_TAG && doc_ce->tag &&
!(doc_ce->de_flags&(DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)) &&
!(doc_ce->de_flags&DOCEF_FILTER_SKIP) &&
StrFind(doc->find_replace->find_text,doc_ce->tag,sf_flags)) {
doc_ce->type|=DOCET_SELECTED;
result++;
@@ -416,7 +415,7 @@ I64 EdFindReplace(CDoc *doc)
doc_ce=doc->root.next;
while (doc_ce!=doc) {
if (!(doc_ce->de_flags&(DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP))) {
if (!(doc_ce->de_flags&DOCEF_FILTER_SKIP)) {
found=FALSE;
doc_e=doc_ce;
@@ -474,8 +473,7 @@ I64 EdFindReplace(CDoc *doc)
break;
}
if (doc_e->type_u8==DOCT_TEXT &&
!(doc_e->de_flags&(DOCEG1_DONT_EDIT|DOCEF_HARD_SKIP|
DOCEF_FILTER_SKIP)) &&
!(doc_e->de_flags&(DOCEG1_DONT_EDIT|DOCEF_FILTER_SKIP)) &&
(doc_e->type & DOCET_SELECTED ||
!doc->find_replace->scan_selected_text&&
!doc->find_replace->local_var)) {
+1 -1
View File
@@ -15,7 +15,7 @@ U0 DocInit()
"LC\0LA\0RC\0RA\0TC\0LX\0CX\0RX\0TY\0CY\0BY\0"
"HL\0WW\0BK\0IV\0SEL\0UL\0"
"PRY\0MRX\0WR\0L\0X\0Q\0FST\0B\0S\0BD\0C\0CA\0RD\0UD\0P\0TRM\0Z\0H\0"
"TR\0LS\0SK\0PU\0SIF\0HS\0FS\0NC\0DD\0");
"TR\0LS\0SK\0PU\0SIF\0FS\0NC\0DD\0");
DefineLstLoad("ST_LINK_TYPES",
"FI\0FA\0FF\0FL\0MN\0PI\0PF\0PL\0BF\0DF\0HI\0AD\0AI\0AA\0AF\0AL\0");
+17 -15
View File
@@ -1,6 +1,6 @@
#help_index "DolDoc"
I64 DocOptEntry(CDoc *,CDocEntry *doc_e)
I64 DocOptEntry(CDoc *,CDocEntry *doc_e,I64 fuf_flags)
{
U8 *st,*st2,**_dst;
I64 i,result=0;
@@ -31,7 +31,7 @@ I64 DocOptEntry(CDoc *,CDocEntry *doc_e)
}
Free(st);
}
/* !!! Dangerous, but handy !!!
if (fuf_flags&FUF_RISKY) {
if (doc_e->de_flags & DOCEF_AUX_STR) {
if (st=StrMatch(".Z",doc_e->aux_str)) {
StrCpy(st,st+2);
@@ -44,12 +44,12 @@ I64 DocOptEntry(CDoc *,CDocEntry *doc_e)
result++;
}
}
*/
}
}
return result;
}
I64 DocOptDoc(CDoc *doc)
I64 DocOptDoc(CDoc *doc,I64 fuf_flags)
{//Optimize Doc.
Bool unlock=DocLock(doc);
I64 result=0;
@@ -57,8 +57,8 @@ I64 DocOptDoc(CDoc *doc)
DocRecalc(doc);
doc_e=doc->root.next;
while (doc_e!=doc) {
if (result+=DocOptEntry(doc,doc_e))
result+=DocOptEntry(doc,doc_e);
if (result+=DocOptEntry(doc,doc_e,fuf_flags))
result+=DocOptEntry(doc,doc_e,fuf_flags);
doc_e=doc_e->next;
}
DocRecalc(doc);
@@ -67,18 +67,18 @@ I64 DocOptDoc(CDoc *doc)
return result;
}
I64 DocOptFile(U8 *filename)
I64 DocOptFile(U8 *filename,I64 fuf_flags)
{//Optimize File.
I64 result;
CDoc *doc=DocRead(filename);
if (result=DocOptDoc(doc)) {
if (result=DocOptDoc(doc,fuf_flags)) {
"-%d:%s\n",result,doc->filename.name;
DocWrite(doc);
}
DocDel(doc);
return result;
}
I64 DocOptLst(CDirEntry *tempde)
I64 DocOptLst(CDirEntry *tempde,I64 fuf_flags)
{
I64 result=0;
CDirEntry *tempde1;
@@ -87,10 +87,10 @@ I64 DocOptLst(CDirEntry *tempde)
if (tempde->attr & RS_ATTR_DIR) {
if (tempde->sub) {
"Scanning Directory: %s\n",tempde->full_name;
result+=DocOptLst(tempde->sub);
result+=DocOptLst(tempde->sub,fuf_flags);
}
} else
result+=DocOptFile(tempde->full_name);
result+=DocOptFile(tempde->full_name,fuf_flags);
DirEntryDel(tempde);
tempde=tempde1;
}
@@ -98,8 +98,10 @@ I64 DocOptLst(CDirEntry *tempde)
}
public I64 DocOpt(U8 *files_find_mask="*",U8 *fu_flags=NULL)
{//Optimize $LK,"DolDoc",A="FI:::/Doc/DolDocOverview.TXT"$ Files, eliminating aux_str's and .Z's.
I64 f=0;
ScanFlags(&f,Define("ST_FILE_UTIL_FLAGS"),"+r+T");
ScanFlags(&f,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
return DocOptLst(FilesFind(files_find_mask,f));
//+R flag for aggressively risky.
I64 fuf_flags=0;
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+r+T");
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
return DocOptLst(FilesFind(files_find_mask,fuf_flags&FUG_FILES_FIND),
fuf_flags&~FUG_FILES_FIND);
}
+1 -1
View File
@@ -500,7 +500,7 @@ U0 DocEntryToggle(CDoc *doc)
!(doc->flags&(DOCF_PLAIN_TEXT|DOCF_PLAIN_TEXT_WITH_TABS))) {
if (doc_ce->type_u8==DOCT_TEXT && !(doc_ce->de_flags &
~(DOCEF_TAG|DOCG_BL_IV_UL|DOCEF_WORD_WRAP|DOCEF_HIGHLIGHT|
DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)) &&
DOCEF_SKIP|DOCEF_FILTER_SKIP)) &&
!(doc_ce->type&DOCG_BL_IV_UL)) {
doc_ce2=doc_ce->last;
for (k=0;k<20;k++) {
+3 -4
View File
@@ -188,7 +188,7 @@ CDocEntry *DocWordWrapAdd(CDoc *doc,CDocEntry *doc_e,
doc_e2->type=DOCT_SOFT_NEW_LINE | doc_e->type & 0xFFFFFF00;
doc_e2->de_flags=DOCEF_WORD_WRAP|doldoc.dft_de_flags[DOCT_SOFT_NEW_LINE]|
doc_e->de_flags&(DOCEF_HIGHLIGHT|DOCG_BL_IV_UL|
DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP);
DOCEF_SKIP|DOCEF_FILTER_SKIP);
doc_e2->x=x;
doc_e2->y=y;
doc_e2->page_line_num=doc_e->last->page_line_num;
@@ -424,7 +424,7 @@ public Bool DocRecalc(CDoc *doc,Bool has_cursor=FALSE,I64 recalc=DOC_RECALC)
while (doc_e!=doc) {
while (TRUE) {
del_cl=FALSE;
if (doc_e->de_flags & (DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)) {
if (doc_e->de_flags & (DOCEF_SKIP|DOCEF_FILTER_SKIP)) {
doc_e2=doc_e;
goto rc_skip;
}
@@ -1079,8 +1079,7 @@ rc_adjust_xy:
doc_e2=doc_e->next;
rc_skip:
while (doc_e2!=doc && doc_e2->de_flags
&(DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP)) {
while (doc_e2!=doc && doc_e2->de_flags&(DOCEF_SKIP|DOCEF_FILTER_SKIP)) {
if (doc_e2==doc->cur_entry) {
doc->cur_entry=doc_e2->next;
doc->cur_col=doc->cur_entry->min_col;
+144 -142
View File
@@ -1,4 +1,4 @@
$PURPLE$$TX+CX,"The Purpose of Life"$$FG$
$FG,5$$TX+CX,"The Purpose of Life"$$FG$
$WW,1$The Catholic purpose of life is to know God, love God and obey God.$FG$ Pope Francis said it was "to serve the other." I am High Priest of God's official temple and I say the purpose of life is to do continual offerings to God like Cain and Abel and enjoy God's response. Francis has a charity; I have a church. Jesus said loving God was more important than loving neighbor. $LK,"Matthew,22:36",A="BF:Matthew,22:36"$ And, He did not say with half your brain behind your back.
@@ -8,11 +8,11 @@ There's something obviously different about people in the Bible compared to peop
You can't tell if God's talking unless you have a context of conversation, but, more importantly, you are commanded to do an offering of love, like communion preparation. $LK,"1 Corinthians,11:27",A="BF:1 Corinthians,11:27"$ When you pick a greeting card for someone, that is love effort. If you expect God to put effort toward you, you must put effort toward Him. God said, "honest measures" applies between your offering of love and His response, like a fair barter. You get out of prayer what you put into it. God wants praise, hymns, or whatever you think He might want. Try and see, like Cain and Abel. $LK,"Genesis,4:1",A="BF:Genesis,4:1"$, $LK,"Ephesians,5:10",A="BF:Ephesians,5:10"$ God told Cain his offering was not good and told him to try again. Cain really loved God! Can you imagine being so heart-broken?
Do a text search for "new song" in the Bible. It's mentioned nine times. When I hear a NEW awesome rock song, it is ecstasy for the first five times I hear it. Soon, it brings little-to-no pleasure. I did $MA-X+PU,"hymns",HTML="http://www.templeos.org/Wb/Home/Wb2/Hymns.html",LM="#include \"::/Apps/Psalmody/Load\";JukeBox(\"::/Apps/Psalmody/Examples\");"$ for God. I also did Moses $MA-X+PU,"comics",HTML="http://www.templeos.org/Wb/Home/Wb2/Files/Comics/",LM="Dir(\"::/Apps/AfterEgypt/Comics\");View;\n"$ for God. When you get to the gates of Heaven, St. Peter will ask how many times you gave blood. That shows you loved neighbor. You better also be able to count the ways you loved God with all heart mind and soul. I praised God for sand castles, popcorn, snowmen, bubbles... You try putting effort into praise! $LK,"Matthew,11:25",A="BF:Matthew,11:25"$, $LK,"Matthew,6:29",A="BF:Matthew,6:29"$
Do a text search for "new song" in the Bible. It's mentioned nine times. When I hear a NEW awesome rock song, it is ecstasy for the first five times I hear it. Soon, it brings little-to-no pleasure. I did $MA-X+PU,"hymns",HTML="http://www.templeos.org/Wb/Home/Wb2/HymnVideos.html",LM="#include \"::/Apps/Psalmody/Load\";JukeBox(\"::/Apps/Psalmody/Examples\");"$ for God. I also did Moses $MA-X+PU,"comics",HTML="http://www.templeos.org/Wb/Home/Wb2/Files/Comics/",LM="Dir(\"::/Apps/AfterEgypt/Comics\");View;\n"$ for God. When you get to the gates of Heaven, St. Peter will ask how many times you gave blood. That shows you loved neighbor. You better also be able to count the ways you loved God with all heart mind and soul. I praised God for sand castles, popcorn, snowmen, bubbles... You try putting effort into praise! $LK,"Matthew,11:25",A="BF:Matthew,11:25"$, $LK,"Matthew,6:29",A="BF:Matthew,6:29"$
This is funny -- $LK,"Acts,2:1",A="BF:Acts,2:1"$ -- they didn't bother to record anything the Holy Spirit said. The Holy Spirit is supposed to be a really good gift. $LK,"Luke,11:13",A="BF:Luke,11:13"$ Just remember, "Boys are made of snakes and snails and puppy-dog tails."
The technique I use to consult the Holy Spirit is reading a microsecond-range stop-watch each button press for random numbers. Then, I pick words or passages. You can use the $MA-X+PU,"AfterEgypt",HTML="http://www.youtube.com/watch?v=P0MsDl39UL0",LM="#include \"::/Apps/AfterEgypt/Run\""$ in God's official temple, $RED$$TX,"TempleOS",HTML="http://www.templeos.org"$$FG$.
The technique I use to consult the Holy Spirit is reading a microsecond-range stop-watch each button press for random numbers. Then, I pick words or passages. You can use the $MA-X+PU,"AfterEgypt",HTML="http://www.youtube.com/watch?v=P0MsDl39UL0",LM="#include \"::/Apps/AfterEgypt/Run\""$ in God's official temple, $FG,4$$TX,"TempleOS",HTML="http://www.templeos.org"$$FG$.
Since seeking the word of the Holy Spirit, I have come to know God much better than I've heard others explain. For example, God said to me in an oracle that war was, "servicemen competing." That sounds more like the immutable God of our planet than what you hear from most religious people. God is not Venus (god of love) and not Mars (god of war), He's our dearly beloved God of Earth. If Mammon is a false god of money, Mars or Venus might be useful words to describe other false gods. I figure the greatest challenge for the Creator is boredom, ours and His. What would teen-age male video games be like if war had never happened? Christ said live by the sword, die by the sword, which is loving neighbor as self. $LK,"Matthew,26:52",A="BF:Matthew,26:52"$
@@ -52,160 +52,162 @@ ________________________________________________________________________________
QUESTION | GOD'S ANSWER
________________________________|_______________________________________________
War? $RED$"Servicemen competing"$FG$
War? $FG,4$"Servicemen competing"$FG$
(Praise the Creator--what would teenage male video games be like if never war?)
Is the World perfectly just? $RED$Are you calling me lazy?$FG$
Is the World perfectly just? $FG,4$Are you calling me lazy?$FG$
(Slavery was just. In the movie, Titanic, the rich wore straight jackets. You must bow to authority to get authority. I do $TX,"Moses comics",HTML="http://www.templeos.org/Wb/Apps/AfterEgypt/Comics/"$ as offerings. I said, "We're dying of malnutrician on manna." Like Cain and Abel, God didn't like it. Duh! He wants to be the hero. How do I know they died of malnutrician? Screw Hollywood for making slavery worse than it was -- I love God. School is more cruel. Read $LK,"Numbers,11:1",A="BF:Numbers,11:1"$. All you need is food, clothing and the word of God. Today, you can take Ivy League course videos! There is no excuse except you were born stupid... or ugly. I'm gonna praise God.)
On using Markov chains? $RED$"No weights"$FG$
On doing offerings? $RED$"Honest measures"(You get out what you put in.)
On using Markov chains? $FG,4$"No weights"$FG$
On doing offerings? $FG,4$"Honest measures"(You get out what you put in.)
It's a covenant to do an offering, first.
Offer New Songs, $TX,"Moses Comics",HTML="http://www.templeos.org/Wb/Apps/AfterEgypt/Comics"$, praise, poems,
and conversation. See $LK,"Cain and Abel",A="BF:Genesis,4:1"$.$FG$
The holocaust? $RED$Wanted to "compact" the Jews.$FG$
Arab/Jews? $RED$"Oil funny hopefully"$FG$
Peace? $RED$One Palestinian can ruin it.$FG$
Best religion? $RED$One with most new vistas of understanding in$FG$
$RED$a lifetime. One you can level-up the most in.$FG$
Chavez blaming the US. $RED$"Japan industrious"$FG$
On racism? $RED$"Sports"$FG$
On socialism? $RED$"pardon_the_French, never_happy, never_enough"$FG$
$RED$"Gall aspect anti-Christ"$FG$
On overpopulation $RED$"Okay church what_now whats_the_plan"$FG$
Favorite thing on TV? $RED$"Soap_operas"$FG$
Favorite movie? $RED$$TX,"Three Kings",HTML="http://www.youtube.com/watch?v=8NOAd2mldQ8"$. Also Highlander$FG$
Favorite song? $RED$$TX,"Morning has Broken",HTML="http://www.youtube.com/watch?v=kKoRp05L95c"$
The holocaust? $FG,4$Wanted to "compact" the Jews.$FG$
Arab/Jews? $FG,4$"Oil funny hopefully"$FG$
Peace? $FG,4$One Palestinian can ruin it.$FG$
Best religion? $FG,4$One with most new vistas of understanding in$FG$
$FG,4$a lifetime. One you can level-up the most in.$FG$
Chavez blaming the US. $FG,4$"Japan industrious"$FG$
On racism? $FG,4$"Sports"$FG$
On socialism? $FG,4$"pardon_the_French, never_happy, never_enough"$FG$
$FG,4$"Gall aspect anti-Christ"$FG$
On overpopulation $FG,4$"Okay church what_now whats_the_plan"$FG$
Favorite thing on TV? $FG,4$"Soap_operas"$FG$
Favorite movie? $FG,4$$TX,"Three Kings",HTML="http://www.youtube.com/watch?v=8NOAd2mldQ8"$. Also Highlander$FG$
Favorite song? $FG,4$$TX,"Morning has Broken",HTML="http://www.youtube.com/watch?v=kKoRp05L95c"$
God said the first bird croaked, not sung.$FG$
Favorite comic strip? $RED$$TX,"Prince Valiant",HTML="http://en.wikipedia.org/wiki/Prince_Valiant"$$FG$
Shakespeare? $RED$had a "vile heart"$FG$
Likes $RED$Beverly Hillbillies (Oil is a gift from God)$FG$
$RED$God likes being hero. Don't be proud of heart$FG$
$RED$and not accept a gift from God!$FG$
Likes $RED$Gomer Pile$FG$
Favorite saint? $RED$"ho_ho_ho"$FG$
Favorite animal? $RED$"Elephant two"$FG$
Favorite animal? $RED$"Bears"$FG$
Favorite color? $RED$"Jude" (Jade Blue?)$FG$
Favorite color? $RED$"Gold"$FG$
Favorite color? $RED$$TX,"\"Iceberg\" blue",HTML="http://en.wikipedia.org/wiki/Blue_iceberg"$$FG$
Money? $RED$"Enough vehemently better"$FG$
$RED$"Pride [or] money, choose_one"$FG$
Favorite car? $RED$Beamer$FG$
Favorite soda? $RED$Root beer, $TX,"scotch variety",HTML="http://www.root-beer.org/modules.php?name=Brands&rbop=Brand&bid=1965"$.$FG$
Favorite comic strip? $FG,4$$TX,"Prince Valiant",HTML="http://en.wikipedia.org/wiki/Prince_Valiant"$$FG$
Shakespeare? $FG,4$had a "vile heart"$FG$
Likes $FG,4$Beverly Hillbillies (Oil is a gift from God)$FG$
$FG,4$God likes being hero. Don't be proud of heart$FG$
$FG,4$and not accept a gift from God!$FG$
Likes $FG,4$Gomer Pile$FG$
Favorite saint? $FG,4$"ho_ho_ho"$FG$
Favorite animal? $FG,4$"Elephant two"$FG$
Favorite animal? $FG,4$"Bears"$FG$
Favorite color? $FG,4$"Jude" (Jade Blue?)$FG$
Favorite color? $FG,4$"Gold"$FG$
Favorite color? $FG,4$$TX,"\"Iceberg\" blue",HTML="http://en.wikipedia.org/wiki/Blue_iceberg"$$FG$
Money? $FG,4$"Enough vehemently better"$FG$
$FG,4$"Pride [or] money, choose_one"$FG$
Favorite car? $FG,4$Beamer$FG$
Favorite soda? $FG,4$Root beer, $TX,"scotch variety",HTML="http://www.root-beer.org/modules.php?name=Brands&rbop=Brand&bid=1965"$.$FG$
Homosexuality? $LK,"Matthew,15:10",A="BF:Matthew,15:10",HTML="http://www.biblegateway.com/passage/?search=matthew%2015:10-11&version=NIV"$
Pets? $RED$"homo"$FG$
Sports? $RED$"homo"$FG$
Favorite sport? $RED$Hockey$FG$
$TX,"Wreck of the Edmund Fitzgerald",HTML="http://www.youtube.com/watch?v=9vST6hVRj2A"$ $RED$"homo"$FG$
Smelling farts $RED$"Sodom"$FG$
Women's dress $RED$Upper skin exposure not as bad as lower.$FG$
Remarriage? $RED$"More babies"$FG$
Pets? $FG,4$"homo"$FG$
Sports? $FG,4$"homo"$FG$
Favorite sport? $FG,4$Hockey$FG$
$TX,"Wreck of the Edmund Fitzgerald",HTML="http://www.youtube.com/watch?v=9vST6hVRj2A"$ $FG,4$"homo"$FG$
Smelling farts $FG,4$"Sodom"$FG$
Women's dress $FG,4$Upper skin exposure not as bad as lower.$FG$
Remarriage? $FG,4$"More babies"$FG$
Things you don't care about
that people think you do? $RED$Solomon's 300 concubines$FG$
Adultery? $RED$Can be good.$FG$
Pretty ladies? $RED$$TX,"A prince is not flustered.",HTML="http://www.youtube.com/watch?v=YcqF6sC-ztY"$$FG$
Animal sacrifices? $RED$Early Jews were "primitive".$FG$
What do elephants think about? $RED$"Skin, hunger"$FG$
What makes elephants happy? $RED$"Baths"$FG$
Elephants $RED$"Mini-skirts" (Skin webbing from back leg.)$FG$
What makes my birds happy? $RED$"Gnawing"$FG$
What makes my birds laugh? $RED$"Bite ouch" (If I say "ouch".)$FG$
What are my birds saying? $RED$"Chanting"$FG$
that people think you do? $FG,4$Solomon's 300 concubines$FG$
Adultery? $FG,4$Can be good.$FG$
Pretty ladies? $FG,4$$TX,"A prince is not flustered.",HTML="http://www.youtube.com/watch?v=YcqF6sC-ztY"$$FG$
Animal sacrifices? $FG,4$Early Jews were "primitive".$FG$
What do elephants think about? $FG,4$"Skin, hunger"$FG$
What makes elephants happy? $FG,4$"Baths"$FG$
Elephants $FG,4$"Mini-skirts" (Skin webbing from back leg.)$FG$
What makes my birds happy? $FG,4$"Gnawing"$FG$
What makes my birds laugh? $FG,4$"Bite ouch" (If I say "ouch".)$FG$
What are my birds saying? $FG,4$"Chanting"$FG$
My birds sure preen a lot. $LK,"The creature was made subject to vanity...",A="BF:Romans,8:20"$
What makes bears happy? $RED$"Reaping depends"$FG$
What makes otters happy? $RED$"Eternal skies"$FG$
What makes hippos happy? $RED$"Ascending breath"$FG$
What makes horses happy? $RED$"[the] Call [of the] Open Range"$FG$
What do cheetahs think about? $RED$"Seeth me?" (Can he see me?)$FG$
Orangutan or chimp smarter? $RED$"Species exhibit similar glory"$FG$
Endangered species? $RED$"Enough stars?"$FG$
Everything seems bad. $RED$Plant trees.$FG$
What's for dinner? $RED$"Whale"$FG$
Favorite Messier Object? $RED$"$TX,"M104 Sombrero Galaxy",HTML="http://en.wikipedia.org/wiki/Messier_104"$"$FG$
$TX,"Shepard's Prayer",HTML="http://en.wikipedia.org/wiki/Alan_Shepard"$? $RED$"I_am_not_amused economy joke"$FG$
Favorite band? $RED$"Beatles"$FG$
Good bands? $RED$Rush, Triumph$FG$
$RED$Likes harmonies$FG$
$TX,"Little Drummer Boy?",HTML="http://www.youtube.com/watch?v=S50cf3xIb50"$ $RED$Doesn't like my drumming.$FG$
Should I listen to classical? $RED$"Poison"$FG$
Do You like chess people? $RED$"Do not admire the proud."$FG$
Chess? $RED$"... will winter with you."$FG$
$RED$"Headstones"$FG$
If You could teach one class? $RED$Health$FG$
Favorite video game? $RED$Donkey Kong$FG$
Favorite National Park? $RED$$TX,"Whitman Mission",HTML="http://www.nps.gov/whmi/index.htm"$$FG$
Favorite National Anthem? $RED$$TX,"Latvia's National Anthem",HTML="http://www.youtube.com/watch?v=qKITbBjO4nE"$$FG$
Favorite actor? $RED$Hugh Grant$FG$
Favorite vocalist? $RED$Mick Jagger$FG$
Favorite guitarist? $RED$"$TX,"Simmons Destroyer",HTML="http://www.youtube.com/watch?v=nNADrrjTysk&t=3m55s"$"$FG$
Model for new $TX,"Sistine Chapel",HTML="http://en.wikipedia.org/wiki/Sistine_chapel"$? $RED$Ben Franklin$FG$
Voice if God wanted to sing? $RED$$TX,"Stabbing Westward's singer",HTML="https://www.youtube.com/watch?v=5NZsCYOM4j0"$$FG$
Stonehenge? $RED$Landmark for boundaries.$FG$
Easter Island? $RED$Ice, telephone pole holes.$FG$
Dinosaurs? $RED$Brontosaurs' feet hurt when stepped.
What makes bears happy? $FG,4$"Reaping depends"$FG$
What makes otters happy? $FG,4$"Eternal skies"$FG$
What makes hippos happy? $FG,4$"Ascending breath"$FG$
What makes horses happy? $FG,4$"[the] Call [of the] Open Range"$FG$
What do cheetahs think about? $FG,4$"Seeth me?" (Can he see me?)$FG$
Orangutan or chimp smarter? $FG,4$"Species exhibit similar glory"$FG$
Endangered species? $FG,4$"Enough stars?"$FG$
Everything seems bad. $FG,4$Plant trees.$FG$
What's for dinner? $FG,4$"Whale"$FG$
Favorite Messier Object? $FG,4$"$TX,"M104 Sombrero Galaxy",HTML="http://en.wikipedia.org/wiki/Messier_104"$"$FG$
$TX,"Shepard's Prayer",HTML="http://en.wikipedia.org/wiki/Alan_Shepard"$? $FG,4$"I_am_not_amused economy joke"$FG$
Favorite band? $FG,4$"Beatles"$FG$
Good bands? $FG,4$Rush, Triumph$FG$
$FG,4$Likes harmonies$FG$
$TX,"Little Drummer Boy?",HTML="http://www.youtube.com/watch?v=S50cf3xIb50"$ $FG,4$Doesn't like my drumming.$FG$
Should I listen to classical? $FG,4$"Poison"$FG$
Do You like chess people? $FG,4$"Do not admire the proud."$FG$
Chess? $FG,4$"... will winter with you."$FG$
$FG,4$"Headstones"$FG$
If You could teach one class? $FG,4$Health$FG$
Favorite video game? $FG,4$Donkey Kong$FG$
Favorite National Park? $FG,4$$TX,"Whitman Mission",HTML="http://www.nps.gov/whmi/index.htm"$$FG$
Favorite National Anthem? $FG,4$$TX,"Latvia's National Anthem",HTML="http://www.youtube.com/watch?v=qKITbBjO4nE"$$FG$
Favorite actor? $FG,4$Hugh Grant$FG$
Favorite vocalist? $FG,4$Mick Jagger$FG$
Favorite guitarist? $FG,4$"$TX,"Simmons Destroyer",HTML="http://www.youtube.com/watch?v=nNADrrjTysk&t=3m55s"$"$FG$
Model for new $TX,"Sistine Chapel",HTML="http://en.wikipedia.org/wiki/Sistine_chapel"$? $FG,4$Ben Franklin$FG$
Voice if God wanted to sing? $FG,4$$TX,"Stabbing Westward's singer",HTML="https://www.youtube.com/watch?v=5NZsCYOM4j0"$$FG$
Stonehenge? $FG,4$Landmark for boundaries.$FG$
Easter Island? $FG,4$Ice, telephone pole holes.$FG$
Dinosaurs? $FG,4$Brontosaurs' feet hurt when stepped.
Dinosaurs slept in water.$FG$
Hardest part in evolution? $RED$Getting monkey mothers to hold babies nursing.$FG$
$RED$(Smothering a problem).$FG$
Happiest day in evolution? $RED$"Fruit"$FG$
Significant thing in evolution? $RED$"Fish shoulders"$FG$
Biggest thing to fly (pterodactyl)? $RED$"Couch"$FG$
What made pterodactyls happy? $RED$"Members against organs"$FG$
What did Neanderthals think about? $RED$"Warmth"$FG$
What was the first thing cooked? $RED$I think He said "hair".$FG$
What was Lucy's husband's name? $RED$"Golem"$FG$
Was stegosuarus lame like turtles? $RED$"Not pet rocks"$FG$
T-Rex? $RED$Lugged carcases over his shoulder.
Hardest part in evolution? $FG,4$Getting monkey mothers to hold babies nursing.$FG$
$FG,4$(Smothering a problem).$FG$
Happiest day in evolution? $FG,4$"Fruit"$FG$
Significant thing in evolution? $FG,4$"Fish shoulders"$FG$
Biggest thing to fly (pterodactyl)? $FG,4$"Couch"$FG$
What made pterodactyls happy? $FG,4$"Members against organs"$FG$
What did Neanderthals think about? $FG,4$"Warmth"$FG$
What was the first thing cooked? $FG,4$I think He said "hair".$FG$
What was Lucy's husband's name? $FG,4$"Golem"$FG$
Was stegosuarus lame like turtles? $FG,4$"Not pet rocks"$FG$
T-Rex? $FG,4$Lugged carcases over his shoulder.
Carcus lasted a month.$FG$
How does He feel about the Avatar movie?$RED$"Sick skin"$FG$
What do You like at zoos with kids? $RED$"Dignity" Animals worried about dignity.$FG$
Who's better alien or preditor? $RED$"Lions"$FG$
What from You is like a Rubik's cube? $RED$Training a horse.$FG$
Does He like mirrored glass megachurch? $RED$"Secular glass"$FG$
Pipe Organs $RED$Are sacred.$FG$
You like to hangout in courts?Hospitals?$RED$"Prisons"$FG$
Best way for Bill Gates to save lives? $RED$Earthquake prediction$FG$
Stem cells? $RED$Lower hanging fruit exists (2007)$FG$
Eleventh commandment? $RED$Thou shall not litter.$FG$
Twelfth commandment? $RED$$TX,"Don't shoot unarmed men on the shitter.",HTML="http://www.youtube.com/watch?v=8wGiJcq95Ug"$
What was T-Rexes sharing a carcus like? $FG,4$"Punch... Punch"$FG$
Surprises in dinosaur anatomy? $FG,4$Supporting and securing the heart.$FG$
How does He feel about the Avatar movie?$FG,4$"Sick skin"$FG$
What do You like at zoos with kids? $FG,4$"Dignity" Animals worried about dignity.$FG$
Who's better alien or preditor? $FG,4$"Lions"$FG$
What from You is like a Rubik's cube? $FG,4$Training a horse.$FG$
Does He like mirrored glass megachurch? $FG,4$"Secular glass"$FG$
Pipe Organs $FG,4$Are sacred.$FG$
You like to hangout in courts?Hospitals?$FG,4$"Prisons"$FG$
Best way for Bill Gates to save lives? $FG,4$Earthquake prediction$FG$
Stem cells? $FG,4$Lower hanging fruit exists (2007)$FG$
Eleventh commandment? $FG,4$Thou shall not litter.$FG$
Twelfth commandment? $FG,4$$TX,"Don't shoot unarmed men on the shitter.",HTML="http://www.youtube.com/watch?v=8wGiJcq95Ug"$
(I asked God why pointless plagues in Exodus?
God wanted guilt to accumulate, first.)$FG$
Thirteenth commandment $RED$No gore unless it looks fake.$FG$
Fourteenth commandment $RED$No pedophilia or child porn.$FG$
Fifteenth commandment $RED$Don't eat rare meat with blood.$FG$
Sixteenth commandment $RED$No wife beating.$FG$
Seventeen commandment $RED$Do not swing from radio towers with one hand.$FG$
Before Katrina $RED$Floods do justice. Black bead elder (tree book)$FG$
After Katrina $RED$Suffering Simplifies Life$FG$
What field are You most better? $RED$Economics$FG$
Favorite toy for kids? $RED$Magnifying glass$FG$
Asked Jesus if He liked mustard?$RED$"Bad meat happeneth"$FG$
(Reluctantly) Faith healing? $RED$"It's complicated"$FG$
Mars? $RED$Start planting!$FG$
Mars rover? $RED$Should have had a microphone$FG$
$TX,"Storm on Saturn",HTML="http://www.space.com/22646-monster-saturn-storm-water-ice.html"$ $RED$Pollen$FG$
Space war game? $RED$Should have space weather.$FG$
$TX,"Saturn's hexagon pole cloud?",HTML="http://en.wikipedia.org/wiki/Saturn's_hexagon"$ $RED$"Compass" (Magnetism)$FG$
Liquid moon's odd atmosphere? $RED$"Surf"$FG$
How many E.T. civs in Universe? $RED$20 or 80 (I forgot. I died laughing.)$FG$
Are they peaceful? $RED$Fight them! (Also, funny.)$FG$
How can Judge Judy improve? $RED$No hard feelings$FG$
How can Chef Ramsay improve? $RED$Make so it doesn't seem like toil for cooks.$FG$
How can Hawking communicate? $RED$Blow from a nostril on a candle.$FG$
$TX,"Photons bouncing?",HTML="https://www.youtube.com/watch?v=8FC6udrMPvo"$ $RED$"Folded coffee filter"$FG$
Wormholes? $RED$Bent wormholes have echoes.$FG$
Thirteenth commandment $FG,4$No gore unless it looks fake.$FG$
Fourteenth commandment $FG,4$No pedophilia or child porn.$FG$
Fifteenth commandment $FG,4$Don't eat rare meat with blood.$FG$
Sixteenth commandment $FG,4$No wife beating.$FG$
Seventeen commandment $FG,4$Do not swing from radio towers with one hand.$FG$
Before Katrina $FG,4$Floods do justice. Black bead elder (tree book)$FG$
After Katrina $FG,4$Suffering Simplifies Life$FG$
What field are You most better? $FG,4$Economics$FG$
Favorite toy for kids? $FG,4$Magnifying glass$FG$
Asked Jesus if He liked mustard?$FG,4$"Bad meat happeneth"$FG$
(Reluctantly) Faith healing? $FG,4$"It's complicated"$FG$
Mars? $FG,4$Start planting!$FG$
Mars rover? $FG,4$Should have had a microphone$FG$
$TX,"Storm on Saturn",HTML="http://www.space.com/22646-monster-saturn-storm-water-ice.html"$ $FG,4$Pollen$FG$
Space war game? $FG,4$Should have space weather.$FG$
$TX,"Saturn's hexagon pole cloud?",HTML="http://en.wikipedia.org/wiki/Saturn's_hexagon"$ $FG,4$"Compass" (Magnetism)$FG$
Liquid moon's odd atmosphere? $FG,4$"Surf"$FG$
How many E.T. civs in Universe? $FG,4$20 or 80 (I forgot. I died laughing.)$FG$
Are they peaceful? $FG,4$Fight them! (Also, funny.)$FG$
How can Judge Judy improve? $FG,4$No hard feelings$FG$
How can Chef Ramsay improve? $FG,4$Make so it doesn't seem like toil for cooks.$FG$
How can Hawking communicate? $FG,4$Blow from a nostril on a candle.$FG$
$TX,"Photons bouncing?",HTML="https://www.youtube.com/watch?v=8FC6udrMPvo"$ $FG,4$"Folded coffee filter"$FG$
Wormholes? $FG,4$Bent wormholes have echoes.$FG$
Operating system? $RED$Was about to make line number column in editor.
Operating system? $FG,4$Was about to make line number column in editor.
God nixed it. I was about to do different graphic modes when I found 800x600 missing. God said just one mode 640x480. I was about to add child windows. God said, "God is not the author of such confusion." I asked for verification of 640x480 16 color. God said it was because of the children and their offerings. I asked about sound. God said "single voice". I asked for verification of not having different drivers. God confirmed this.$FG$
640x480 16 color? $RED$God said it was a covenant, like circumcision.
640x480 16 color? $FG,4$God said it was a covenant, like circumcision.
$TX,"Modern graphics hard for kids/amateurs",HTML="http://www.youtube.com/watch?v=VUxcVzpeFqc"$.$FG$
On Unix? $RED$God said it was rich with the patina of age.$FG$
On Alcohol? $RED$Hate inebriation$FG$
On rare steak? $RED$Too rare is very bad. Don't eat blood!$FG$
Just before Katrina? $RED$Floods do my justice.Black bead elder(tree book)$FG$
After Katrina? $RED$Suffering simplifies life$FG$
Why the Sandy Hook shooting? $RED$The pot legalization law. (Sarcastic answer?)$FG$
Deep Water Horizon $RED$(Claimed credit.)$FG$
Cost of God's time to me? $RED$"The complete works of Shakespeare"$FG$
On death? $RED$"awful"$FG$
Opening of Saving Private Ryan? $RED$"Ouch"$FG$
On Unix? $FG,4$God said it was rich with the patina of age.$FG$
On Alcohol? $FG,4$Hate inebriation$FG$
On rare steak? $FG,4$Too rare is very bad. Don't eat blood!$FG$
Just before Katrina? $FG,4$Floods do my justice.Black bead elder(tree book)$FG$
After Katrina? $FG,4$Suffering simplifies life$FG$
Why the Sandy Hook shooting? $FG,4$The pot legalization law. (Sarcastic answer?)$FG$
Deep Water Horizon $FG,4$(Claimed credit.)$FG$
Cost of God's time to me? $FG,4$"The complete works of Shakespeare"$FG$
On death? $FG,4$"awful"$FG$
Opening of Saving Private Ryan? $FG,4$"Ouch"$FG$
+3 -3
View File
@@ -16,7 +16,7 @@ U0 GrUpdateTaskODEs(CTask *task)
}
U0 GrUpdateTaskWin(CTask *task)
{ //Draw core#0 task win.
{ //Draw core0 task win.
CDC *dc;
CD3I64 saved_scroll;
sys_task_being_screen_updated=task;
@@ -64,7 +64,7 @@ U0 GrUpdateTasks()
if (Bt(&sys_semas[SYS_SEMA_UPDATE_WIN_Z_BUF],0))
WinZBufUpdate;
task1=task=sys_winmgr_task;
do { //Loop through core#0 tasks.
do { //Loop through core0 tasks.
if (!TaskValidate(task)) break;
if (Bt(&task->display_flags,DISPLAYf_SHOW) &&
Bt(gr.win_uncovered_bitmap,task->win_z_num))
@@ -399,7 +399,7 @@ U0 GrUpdateVGAGraphics()
}
U0 GrUpdateScreen()
{//Called by the Window Manager $LK,"HERE",A="FF:::/Adam/WinB.CPP,GrUpdateScreen"$, 60 times a second.
{//Called by the Window Manager $LK,"HERE",A="FF:::/Adam/WinB.CPP,GrUpdateScreen"$, 30 times a second.
CDC *dc;
if (!Bt(&sys_run_level,RLf_VGA)) //if text mode
GrUpdateTasks;
+1 -1
View File
@@ -166,7 +166,7 @@ public CDoc *Doc2Html(CDoc *doc_in,
col=doc_e->x;
y=doc_e->y;
while (doc_e!=doc_in) {
if (!(doc_e->de_flags&(DOCEF_SKIP|DOCEF_HARD_SKIP))) {
if (!(doc_e->de_flags&DOCEF_SKIP)) {
if (line_anchors && y!=old_y) {
DocPrint(doc_out,"<a name=\"l%d\"></a>",y+1);
old_y=y;
+1 -1
View File
@@ -50,7 +50,7 @@ public CDoc *Doc2TXT(CDoc *doc_in)
col=doc_e->x;
y=doc_e->y;
while (doc_e!=doc_in) {
if (!(doc_e->de_flags&(DOCEF_SKIP|DOCEF_HARD_SKIP))) {
if (!(doc_e->de_flags&DOCEF_SKIP)) {
while (y<doc_e->y) {
TXTPutS(doc_out,"\n",&col);
y++;
+1
View File
@@ -1,4 +1,5 @@
#help_index "Windows"
#help_file "::/Doc/Windows"
CIPStateGlbls old_ip={IP_NULL,{-1000,-1000,0},{-1000,-1000,0},{-1000,-1000,0},
{0,0,0},{1.0,1.0,1.0},
+1 -1
View File
@@ -1,5 +1,5 @@
Bool Option(I64 num,Bool val)
{//Set compiler $LK,"option",A="MN:OPTf_ECHO"$ to value.
{//Set compiler $LK,"Option",A="FI:::/Doc/Options.TXT"$ to val.
return BEqu(&Fs->last_lex->opts,num,val);
}
Binary file not shown.
+122 -122
View File
@@ -81,7 +81,7 @@ $LK,"LexExpression",A="FL:::/Compiler/PrsExp.CPP.Z,1163",BI=59$
$LK,"ICAddSubEctEqual",A="FL:::/Compiler/BackA.CPP.Z,545",BI=60$
$LK,"PrsExpression",A="FL:::/Compiler/PrsExp.CPP.Z,264",BI=61$
$LK,"PrsClassNew",A="FL:::/Compiler/PrsLib.CPP.Z,40",BI=62$
$LK,"LexInStr",A="FL:::/Compiler/Lex.CPP.Z,368",BI=63$
$LK,"LexInStr",A="FL:::/Compiler/Lex.CPP.Z,373",BI=63$
$LK,"internal_types_table",A="FL:::/Compiler/CInit.CPP.Z,6"$
$LK,"OptPass3",A="FL:::/Compiler/OptPass3.CPP.Z,1",BI=64$
$LK,"OptPass4",A="FL:::/Compiler/OptPass4.CPP.Z,171",BI=65$
@@ -227,7 +227,7 @@ $LK,"ICCmpAndBranch",A="FL:::/Compiler/BackB.CPP.Z,556",BI=179$
$LK,"PrsStatement",A="FL:::/Compiler/PrsStmt.CPP.Z,893",BI=180$
$LK,"PrsWhile",A="FL:::/Compiler/PrsStmt.CPP.Z,483",BI=181$
$LK,"ICFCmpAndBranch",A="FL:::/Compiler/BackFB.CPP.Z,306",BI=182$
$LK,"Lex",A="FL:::/Compiler/Lex.CPP.Z,438",BI=183$
$LK,"Lex",A="FL:::/Compiler/Lex.CPP.Z,443",BI=183$
$LK,"ICTestAndBranch",A="FL:::/Compiler/BackB.CPP.Z,736",BI=184$
$LK,"uasm",A="FL:::/Compiler/Compiler.PRJ.Z,21"$
$LK,"MDR_SIB_D32_INDIRECT_REG",A="FL:::/Compiler/BackLib.CPP.Z,138"$
@@ -248,7 +248,7 @@ $LK,"PrsPop2",A="FL:::/Compiler/PrsLib.CPP.Z,16",BI=192$
$LK,"CMP_TEMPLATES",A="FL:::/Compiler/Templates.CPP.Z,4"$
$LK,"PrsAsmBlk",A="FL:::/Compiler/Asm.CPP.Z,901",BI=193$
$LK,"PrsAsmArg",A="FL:::/Compiler/Asm.CPP.Z,35",BI=194$
$LK,"LexFirstRem",A="FL:::/Compiler/Lex.CPP.Z,271",BI=195$
$LK,"LexFirstRem",A="FL:::/Compiler/Lex.CPP.Z,276",BI=195$
$LK,"MemberClassBaseFind",A="FL:::/Compiler/LexLib.CPP.Z,87",BI=196$
$LK,"MemberFind",A="FL:::/Compiler/LexLib.CPP.Z,67",BI=197$
$LK,"cmp",A="FL:::/Compiler/Compiler.PRJ.Z,16"$
@@ -282,10 +282,10 @@ $LK,"PassTrace",A="FL:::/Compiler/CMisc.CPP.Z,11",BI=220$
$LK,"PrsPopDeref",A="FL:::/Compiler/PrsLib.CPP.Z,21",BI=221$
$LK,"ICCopyTemplate",A="FL:::/Compiler/BackFA.CPP.Z,75",BI=222$
$LK,"PrsFun",A="FL:::/Compiler/PrsStmt.CPP.Z,132",BI=223$
$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.CPP.Z,293",BI=224$
$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.CPP.Z,298",BI=224$
$LK,"PrsType",A="FL:::/Compiler/PrsVar.CPP.Z,287",BI=225$
$LK,"CmpCtrlNew",A="FL:::/Compiler/Lex.CPP.Z,28",BI=226$
$LK,"cmp_type_flags_src_code",A="FL:::/Compiler/Lex.CPP.Z,323"$
$LK,"cmp_type_flags_src_code",A="FL:::/Compiler/Lex.CPP.Z,328"$
$LK,"PrsVarInit2",A="FL:::/Compiler/PrsVar.CPP.Z,123",BI=227$
$LK,"PrsPop",A="FL:::/Compiler/PrsLib.CPP.Z,6",BI=228$
$LK,"asm_seg_prefixes",A="FL:::/Compiler/Asm.CPP.Z,388"$
@@ -295,7 +295,7 @@ $LK,"PrsIf",A="FL:::/Compiler/PrsStmt.CPP.Z,456",BI=231$
$LK,"ICBuiltInFloatConst",A="FL:::/Compiler/BackLib.CPP.Z,413",BI=232$
$LK,"ICFUnaryMinus",A="FL:::/Compiler/BackFA.CPP.Z,198",BI=233$
$LK,"ICOrEqual",A="FL:::/Compiler/BackC.CPP.Z,715",BI=234$
$LK,"LexDocRead",A="FL:::/Compiler/Lex.CPP.Z,305",BI=235$
$LK,"LexDocRead",A="FL:::/Compiler/Lex.CPP.Z,310",BI=235$
$LK,"CmpFixUpJITAsm",A="FL:::/Compiler/CMain.CPP.Z,174",BI=236$
$LK,"COCPopNoFree",A="FL:::/Compiler/PrsLib.CPP.Z,114",BI=237$
$LK,"ParenWarning",A="FL:::/Compiler/CExcept.CPP.Z,110",BI=238$
@@ -310,7 +310,7 @@ $LK,"LexBackupLastChar",A="FL:::/Compiler/LexLib.CPP.Z,1",BI=243$
$LK,"Trace",A="FL:::/Compiler/CMisc.CPP.Z,19",BI=244$
$LK,"ICBrBitOps",A="FL:::/Compiler/BackC.CPP.Z,211",BI=245$
$LK,"LexGetChar",A="FL:::/Compiler/Lex.CPP.Z,107",BI=246$
$LK,"LexSkipEol",A="FL:::/Compiler/Lex.CPP.Z,264",BI=247$
$LK,"LexSkipEol",A="FL:::/Compiler/Lex.CPP.Z,269",BI=247$
$LK,"ICFlagBranch",A="FL:::/Compiler/BackB.CPP.Z,785",BI=248$
$LK,"SLASH_OP_FSUBR",A="FL:::/Compiler/BackLib.CPP.Z,266"$
$LK,"ICFPreIncDec",A="FL:::/Compiler/BackFB.CPP.Z,657",BI=249$
@@ -328,123 +328,123 @@ $LK,"PrsNoUnusedWarn",A="FL:::/Compiler/PrsStmt.CPP.Z,780",BI=259$
$LK,"OptFixSizeOf",A="FL:::/Compiler/OptLib.CPP.Z,485",BI=260$
$LK,"cmp_templates_dont_push",A="FL:::/Compiler/CExts.CPP.Z,45"$
$LK,"cmp_templates_dont_push_pop",A="FL:::/Compiler/CExts.CPP.Z,46"$
$LK,"LexAttachDoc",A="FL:::/Compiler/Lex.CPP.Z,326",BI=261$
$LK,"LexAttachDoc",A="FL:::/Compiler/Lex.CPP.Z,331",BI=261$
$LK,"PrsStreamBlk",A="FL:::/Compiler/PrsStmt.CPP.Z,794",BI=262$
$LK,"cmp_templates_dont_push2",A="FL:::/Compiler/CExts.CPP.Z,44"$
$LK,"InstEntryFind",A="FL:::/Compiler/UAsm.CPP.Z,66",BI=263$
$LK,"PrsDotDotDot",A="FL:::/Compiler/PrsVar.CPP.Z,381",BI=264$
$LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.CPP.Z,1",BI=265$
H2@¡#¡#ª#°#Ë#Ğ#û#ı#0$$@$G$X$k$¨+^j^jtj|j‡j“j�j½j jÉjÏjÏjöjk.kGkGkqk“k«k˜k·kİkÊkñkşk)l)l0lNlalalalklH<J6õ6õPõZõ^õbõgõiõ…õ¡õ¡õ«õ|ªÅNùNùxùzù�ù‡ù�ù�ù•ù›ù¢ù¯ù¼ùÏùİùìùñùóùøùúú%ú5úSúeú8NßNßWß\ßgßpßwßyß~ßd`µ>Ó>Ó\Ó`ÓmÓoÓ|Ó~ÓŠÓŠÓ—Ó™Ó¦Ó¨Ó´Ó´ÓÊÓÓÓÓÓŞÓåÓôÓÿÓÔ
Ô ÔÔ Ô.Ô9Ô?ÔDÔFÔRÔ‚Ô¨Ô¸ÔÈÔØÔÚÔêÔúÔ
Õ
ÕÕ)Õ0Õ7Õ7Õ7Õ7Õ>ÕTÕ`ÕfÕlÕrÕvÕvÕvÕ£ÕªÕÀÕÌÕÒÕØÕŞÕàÕàÕîÕDÃîÕîÕÖÖ
ÖÖÖ*Ö-Ö0Ö6Ö8ÖBÖ,cjğ†ğ†ş†‡‡‡$‡*‡ jn&&4IO
P 66'666N6T6f6f6q6z6€6‡6�6 œ;^FEFENEREkE~E‘E®EÏEØEéEF'F'FIFXFaFnFuF§F´F¸FÀFÀFÓFãFçFëF Œ×ö––¾ÂĞÖÜÜ  3AX^jo}œ¥µ·¾¾ÄÄÔ␍|1### #+#D#D#G#V#\#e#g#m#v#x#~#ˆ#�#’#’#œ#0 '8…8…F…f…l…r…r…x…„•²�œ�œ¤œ«œ²œ¶œÚœíœôœ�*�5�@�B�M�r�}�ˆ�Š�‘�š�œ�§�®�Ø�("æÛæÛõÛÜ Ü Ü&Ü �Û�Û�Û°Û¶Ûƒà®à®¯ ¯#¯/¯:¯L¯]¯N¯L¯}¯˜¯¤¯«¯±¯½¯Ç¯Î¯Õ¯Ù¯Û¯á¯í¯÷¯ş¯° ° °°°#°5°F°7°5°f°‡°“°š° °¬°¶°½°Ä°È°Ê°Ğ°Ü°æ°í°ô°ø°ø°±±#±5±F±7±5±f±‡±“±š± ±¬±¶±½±Ä±È±Ê±Ğ±Ü±æ±í±ô±ø±ø±²²$²5²&²$²U²\²b²n²x²²†²Š²Œ²’²�²¨²¯²¶²º²º²Ä²Ò²Û²ô²³³³³³†³ìæzæz{¡  {{9{D{V{]{n{v{~{�{�{»{»{Ğ{Ò{Ò{Ş{æ{ê{÷{÷{| |||||8|C|T|T|Y|q|€|…|‹|–|›|›| |¸|Ç|Ì|Ò|İ|â|â|ğ|ù|}␍}}} }&}+}4}F}O}`}p}p}u}}}…}ˆ}�}�}“}“}“}™}œ}£}®}Ã}è}ÿ} ~~~(~4~:~A~J~N~Q~]~c~j~o~o~}~�~�~š~š~¢~ª~³~Â~Ç~Ç~Î~Ù~ß~ç~í~ø~ı~ı~ )/7=BM_emsxxŒ’�£¥µ»»İ€ € €€#€9€J€P€U€n€t€„€Œ€”€š€Ÿ€Ÿ€³€¹€Ï€à€æ€ë€�
��"�*�0�5�5�K�Q�g�x�~�ƒ�’�˜�©�±�¹�¿�Æ�Ë�Ë�á�ç�ı�‚‚‚%‚+‚5‚=‚E‚K‚R‚R‚R‚d‚m‚~‚�‚�‚“‚“‚¡‚©‚º‚͂Ԃڂâ‚è‚ø‚ş‚ƒ ƒ ƒ ƒƒƒƒƒƒ0ƒ<ƒAƒAƒWƒ`ƒkƒtƒƒŠƒ�ƒ�ƒ¥ƒ«ƒÁƒÒƒ؃݃ïƒõƒúƒ„1„1„6„6„B„J„M„S„Y„^„^„‚„Š„’„¢„¨„®„®„¿„݄݄â„â„î„ö„ù„…… … …+…3…C…I…P…n…}………�…¥…¨…¯…µ…Í…Õ…í…õ…ø…ÿ…†††$†4†@†H†K†R†X†h†w†ƒ†�†¦†©†°†¶†ΆÚ†õ†ı†‡‡␍‡␍‡␍‡␍‡‡‡‡+‡A‡G‡_‡r‡x‡}‡�‡•‡š‡¶‡¼‡ȇЇÓ‡Ú‡à‡ ˆˆ!ˆ'ˆ.ˆ.ˆ.ˆ3ˆ3ˆ<ˆTˆjˆpˆˆˆ›ˆ¡ˆ¦ˆш׈êˆ!‰3‰O‰W‰]‰b‰b‰|‰ˆ‰”‰Ÿ‰Ÿ‰¤‰¤‰¾‰ʉÖ‰á‰á‰æ‰æ‰Š ŠŠ#Š#Š(Š(Š>ŠDŠPŠVŠ[ŠmŠsŠxŠ‡Š“ŠŸŠ¥Š«Š²ŠÅŠĞŠÙŠåŠíŠğŠöŠüŠ‹‹$‹,‹D‹L‹O‹U‹[‹s‹{‹›‹µ‹½‹À‹Æ‹Ì‹Ì‹İ‹æ‹ò‹ú‹ı‹Œ
ŒŒ!Œ0Œ8ŒPŒXŒ[ŒbŒhŒ€ŒˆŒ§ŒÁŒÉŒÌŒÓŒÙŒÙŒéŒòŒşŒ� ����.�=�E�_�g�j�p�v���–�¸�Ô�Ü�ß�å�ë�ë�ü�����#�)�.�@�O�W�r�z�}�„�Š�¢�ª�Ì�é�ñ�ô�û���������"�.�4�9�K�Q�V�d�p�y�…�����—���¢�´�Ã�Ë�ã�ë�î�õ�û���:�T�\�_�f�l�l�l�}�†�’�š���¤�ª�¯�Á�Ğ�Ü�÷�ÿ�‘ ‘‘'‘3‘U‘r‘z‘}‘„‘БББББ�‘�‘¢‘½‘ÑΑÓ‘Ó‘æ‘ü‘’␍’’’"’E’K’V’V’h’q’‚’‡’™’©’©’®’®’Á’×’İ’ë’ú’ÿ’ÿ’“(“.“<“K“P“P“f“l“‰“¡“¡“˓ѓ֓â“ë“ú“ú“ÿ“ÿ“””8”P”P”z”€”…”‘”𔩔©”®”®”Ĕʔç”ÿ”ÿ”)•/•4•@•I•X•X•]•]•s•y•–•®•®•ؕޕà•ì•õ•–––––––-–/–A–N–N–N–^–n–s–—–£–¤–©–¾–Û–ë–— —%—%—%—*—/—D—W—•—¥—«—­—²—×Ò—˜ ˜˜˜˜ ˜ ˜)˜;˜N˜W˜f˜f˜k˜p˜˜ˆ˜“˜•˜�˜©˜©˜ʘјטߘê˜ğ˜™™™™ ™ ™$™)™0™7™>™E™N™]™]™]™b™b™b™t™y™y™‹™–™�™¦™¬™¬™¬™±™±™¼™Í™Ğ™Ü™å™ñ™ø™ş™ššš š"š.š7šCšJšPšUšUšUšUšZš_š_šfšjšjšvšš‚š‚š�š�š¡š¨š®š½šÈšÓšÙšâšæšæšòšûšşšşš › ››$›*›2›=›H›N›X›[›_›_›g›n›q›s›~›‚›‹›�›�›™›››³›º›Å›Ğ›Ó›Ù›Ş›Ş›å›é›é›õ›ş›œœ œœ œ'œ-œ<œGœRœXœaœeœeœqœzœ}œ}œˆœŠœœœ£œ©œ±œ¼œÇœÍœלڜޜޜæœíœğœòœıœ�
�␍�␍���2�9�D�O�R�X�]�]�o�s�s��ˆ�‹�‹�–�˜�ª�±�·�É�Ô�ß�å�ê�ê�õ�ú�ú��
�
����#�(�-�2�2�F�K�K�X�\�m�u�y���”�˜�˜�¥�±�¹�¿�Ï�Ó�ä�ö�ŸŸŸŸŸ"Ÿ(Ÿ(Ÿ(Ÿ(Ÿ(Ÿ*Ÿ*Ÿ8Ÿ?ŸLŸXŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸfŸhŸhŸŸ‡Ÿ“Ÿ“Ÿ´ŸŸÚŸÜŸèŸõŸõŸ % 0 9 B M T T ^ ^ a s ‘ � � Ì¢x¿Ù 4 444!4*464B4W4W4ƒ4‡4Œ4˜4«4µ4¸4Ã4Æ4Î4Ø4°›Ãދދô‹û‹ ŒŒ&ŒŒ2Œ8Œ8ŒDŒ\ŒIŒhŒkŒmŒ{Œ€Œ•Œ‚Œ¡Œ¤Œ¤Œ°ŒÅŒ²ŒÑŒ׌׌êŒıŒ�#�6�@�„�~w~wœw®w´w»wÂwÄwÇwÎwÕwÕwñwõwûwûwx'x8x8x@xdx„x¥xªxËxĞxÜxçxìxùxüx3yDyIyOyQyWyZykypysy{y„yŸy¿yÖyéyîyòyz'z,zCzVz[z_z�zœz¼zÏzÔzåzêzízïzõzûz {{{ { {){2{I{\{a{e{‡{¢{Â{Õ{Ú{õ{|,|?|D|H|j|}|}|˜|˜|˜|¦|¾|À|À|À|Î|æ|è|è|ö|}} } })}6}L}l}†}�}—}ª}®}®}®}µ}»}Õ}Ü}æ}ş}~~ ~'~1~?~J~J~d~H‰—�‚�‚§‚½‚͂Ԃ낃ƒƒ_ƒLíü®�®�Â�Î�ä�Ğ�ğ�ò���#�.�6�`Ê^–^–t–––£–­–¼–Õ–Ù–ß–ò–———B—0——a—k—4IRÆÒÆÒÏÒÏÒÒÒàÒîÒñÒöÒä;&ó&óNóQóoó†ó—ó—ó²ó¸ó½ó½óØóŞóãóãóìóúóô␍ôôô[ôeôlôrôtôtô‡ô�ô�ô�ô�ô’ô®ô½ôÏôÔôÔôÔôÛôâôéôşôõ!õ!õ3õĞL¼H¡H¡b¡m¡x¡�¡‰¡Œ¡“¡—¡ ¡±¡µ¡»¡É¡æ¡ó¡¢¢¢¢ ¢+¢0¢3¢=¢5¢M¢V¢g¢e¢]¢u¢~¢„¢„¢’¢•¢©¢²¢»¢Â¢Æ¢Ë¢â¢ú¢££-£9£9£Q£b£b£i£…£‘£™£¬£³£Ç£Ğ£×£Û£æ£ë£ò£¤<¤C¤G¤I¤T¤`¤d¤y¤{¤Œ¤–¤¡¤«¤º¤É¤å¤å¤è¤ğ¤õ¤w¥Xs…¾G¾GÛGìGùGHH7HUH[HdHrHxH{H‡HŒ _ _0_Q_Q_________h_h_o_‰_š_¢_¢_­_­_»_Ë_Ë_Ù_ß_ß_÷_÷_ı_#` (kq0‡0‡>‡J‡Z‡a‡g‡ @Uaşåşå æææ:æGæGæJæLæRæ!$/4~Ü~܋ܙÜ�ܤÜ"$).VÜVÜcÜqÜvÜ|Ü#$#(&Ü&Ü5ÜDÜIÜOÜ$8ìv  %;CMejz�˜¢º¿Ïßõı + 3 = M R h r | † � š ¤ ® ¸ Â Ì Ö à ê
  ( 2 < F P f p z � š ¤ ® ¸ Â Ì Ö à ê ô ş !!!&!0!:!D!N!X!b!l!v!€!Š!”!�!¨!²!¼!Ì!%¨D�˜�˜¦˜­˜´˜Â˜Ó˜å˜ç˜î˜ô˜™™™$™;™>™@™R™X™h™r™|™ƒ™�™£™«™«™Á™Á™Á™Õ™&Ğ1��¬³ºÅÍææú"-U4aw…›Ÿ¤Şõú 2HLL\™x¥ÂÂáìò0Xot|€‚©¿Ãß.DRfk„•™««««°Ì ë5@F\mr�¾ÃÇÌİïı,=AAS{’—Ÿ£¥Ìâæóóóó 0GGcs��—§µÌßäê$4;Ig_ŒµµµÂû ;RB^t‚š°´Äãÿ8Wbh~�”ªÀÄà/ESgl…–𬬬¬±Íì 'DOUk|��ÅÍÒÖÛìş  ";LPPo…›Ÿ¬¬¬¿ÅÏÖé,::P`un‰œ¡§½ÌÅáñÿ88Eeee…'$5:¦Ü¦Ü´ÜÃÜÈÜÎÜ(¨Ekؙؙî™õ™ü™
šš-š/š6š<šLšWšašlšƒš†šˆššš¡š±š»šÅšÌš×šëšóšóš › › ››)(&,±/±/¿/Æ/Ğ/Ö/Ü/*0_gîFîFGG&G,G/G7G+  ßææ   # * F L L L Y [ f p w ƒ � ” � ¥ Á Ë Ë İ ã ó ù ş   & , ; N T W ] ] _ e k m m m ~ ˆ � � ¢ ¬ ¬ À É Ï Õ ë ğ ÷ 
!!!!!"!,!3!:!C!U!U!z!~!„!Š!™!¬!²!¶!¼!Â!È!È!Ê!Î!Ô!Ú!à!å!å!å!å!"!"!"8"E"I"Q"f"†"†"Œ"�"“"™"™"«"¼"Ñ"å"í"ş"####6#8#>#K#M#Y#w#}#ˆ#«#¶#¼#Â#È#Ñ#×#ì#ú#$$$$!$:$<$B$O$Q$]${$�$‡$�$–$œ$¹$¬$Ó$Ü$â$â$÷$ü$ü$%
%%!%!%!%;%=%W%Y%s%y%�%…%Œ%¯%µ%»%Ç%Ş%å%ë%ö%û%û%&&␍&&&%&*&2&=&C&O&T&Z&_&g&l&{&–&¦&³&Â&Ş&à&ü&ü&'''&'3'8'>'C'C'J'N'U'c'e'm'q'u''‹'’'–'�'¦'®'½'Ë'Ğ'Ü'Ü'ä'ä'(((( ($()()()()(/(1(1(T(Z(`(g(}((((Š(Š(Š(�(¸),4+t�Ä�ĨĬÄÄÄÌÄÔÄŞÄâÄéÄïÄÅ ÅÅÅÅ)Å1Å<ÅGÅIÅ_ÅfÅmÅxŃŅÅ�Å›Å�ũŲŲÅÈÅÒÅéÅïÅõÅÆ ÆÆ'Æ-Æ-Æ5Æ9ÆDÆIÆ[ÆfÆjÆxÆzÆ~Æ�Æ�Æ�Æ�Æ�ƣƵƻÆ)Ç-Ô@~à~à”à›à�àÂàÂàßàòàáááá;áIá\áoáwáwáyáyáyáŒá�á�á�á•á¨á»á»á»áÎáÙáìáââ ââ'â:âAâAâDâiâ.LAPq$q$$�$œ$·$¼$Ü$Ş$ù$%%%#%J%/P~�¸‡¸‡Æ‡Ó‡á‡ó‡ş‡ ˆˆ'ˆ9ˆDˆRˆXˆ^ˆ04
Á5Á5Ï5Û5ì5ş56661|¼W66X_nyŸŸ¨ªª±Øßßîı$$07GMkvx‘—¢²ÄÍØİãê"++2AXXgm�ˆ�”Ÿ¥­ÓÜãèóÿ"'/;MMdksƒ•›¤¤³¹ÍÖæõ   3 ; O p ‡ ‹ — ® Ê Ü â í ù 


'
'
9
=
I
`
|
�
”
Ÿ
«
»
Ë
İ
ã
ã
è
ê
ê
ï
ï
ş
 

 ‡␍2�ÄäFÖFÖbÖnÖrÖvÖ}Ö„Ö“Ö�Ö¤Ö©Ö«Ö·Ö¾ÖÆÖÌÖÒÖÖÖÖÖåÖìÖôÖúÖ××××38 é.é.÷.ı. //%///6/</4@}‰FçFçTç_çfç…ç’ç’ç•ç—ç�ç5ğh ††¬¿ÇÎÕÛİäëîî:bjs{€‘§·ÉÎè 5Jf�–Ÿ§¬½Ïßñó␍%))Emu~†‹œ²ÂÔÙó """:'ZGgsy‘©®Ãß %6HXjl†�¢¢¾æî÷ÿ+;MRl„ˆ››› Ààìò
""".4?J\lƒš±ÈÈÜøøø)77@KYtƒŠšœ¢¹ÈÁŞï

# 6D}Š®®¾ÒÛáóó÷ú7\ObH†H†h†w†€†‰†�†‘†�†¢†§†§†¸†¼†Ã†Û†Ş†ê†80ı&ß&ß/ß4ß=ßDßFßKß9Do|VVfzƒ‰››Ÿ¢ª:°ÄìF�F�\�c�t�y���{�š� � �¬�Ä�±�Ğ�Ó�Õ�ã�è�ı�ê� � � ��-��9�?�?�R�e�x�‹���¨�;<‹–'06:E<\!´–H–HÈHÓHIùHàHI=IBIBIFIPI\IwI~IŒI�I–I°IÌIŞIëIJJJ#JHJOJXJZJ_JsJ�J¢J¯JÇJäJİJùJıJıJKK!K$K&K<K+KHK`KbKzKŒK�K‘K§K–K³K³K³KÅKÅKÓKİKLşKLL L#L?LKLfL„L�L’L¢LÁL¶LÍLÏLáLõLMÿLMM/MNMCMZM\MnMxMŒM–MŸM¶MÀMÂMÖMàMàMöMúMúMúMN N N8N:NRNfN}N‚N”NœN½NÓNÓNÓNøNøN
O=”).é.é6é:éFéWéYéiété†é‘éœé«é¼éÃéÜéàéíéíé÷éþéêê(ê<êXê]êzê>d(=x…x…„…˜…›…¯…·…»…Å…Ï…×…Ú…à…?$pµEE$E'E+E8EAELEXE`EjE’E’EžE E E¬E±E±E½EÂEÂEÎEÓEÓEßEäEäEðEõEõEFFFFFFFFF3FAFUFeFeFgFgFsFyF~F~F„F�F�F›F§F´FÉFÑF×F×FèFèFñFôF[G@è w΢΢ë¢ó¢ö¢££'£0£H£^£p£{£Œ£�£¢£¥£°£¹£Å£Ø£ ¤þ£ä£¤-¤>¤J¤X¤v¤ˆ¤¬¤½¤¿¤à¤Ƥû¤û¤þ¤¥¥¥ ¥$¥+¥8¥=¥L¥Y¥l¥l¥€¥„¥±¥±¥É¥Î¥Î¥Þ¥æ¥ö¥¦¦¦*¦6¦;¦;¦K¦S¦c¦m¦}¦‡¦—¦£¦¨¦¨¦¨¦ʦئâ¦ç¦ô¦ § §§§'§,§2§7§7§<§F§U§Z§`§e§e§k§q§v§v§…§˜§¤§±§½§ЧاÞ§ç§þ§¨#¨0¨5¨M¨`¨w¨„¨Œ¨Ÿ¨§¨­¨¶¨¿¨¿¨ĨĨĨĨĨШШШÙ¨ò¨©©*©;©H©J©^©c©c©c©n©|©�©�©ˆ©–©›©³©¿©Ñ©Ý©ã©ò©ö©ÿ©ª%ª1ª7ª=ªPªXª`ª�ªžª«ª­ª»ª»ªÀªÀªǪÕªÚªíªùª« ««««««««5«:«:«:«:«:«K«K«K«K«K«K«K«K«K«K«T«m«‚«Š«¥«¶«ëū٫å«ê«ê«ê«ó« ¬¬¬@¬L¬L¬Q¬Q¬Q¬Q¬Q¬Q¬Q¬Q¬f¬k¬k¬k¬|¬‡¬Œ¬Œ¬—¬©¬Á¬Ó¬ô¬­ ­0­5­5­5­>­`­i­z­~­–­¦­®­¶­Á­ë­ô­ø­® ® ® ® ® ®B®{®„®ˆ®Ž®“®œ®¥®ª®ª®ª®ª®¹®Í®ë®ö®û®¯¯¯¯-¯S¯^¯f¯l¯l¯q¯q¯€¯”¯²¯½¯¯ȯͯͯà¯ô¯°%°-°3°3°8°8°8°A°Z°o°w°’°£°°°²°Á°ððððð×°×°×°×°×°×°×°×°×°×°×°×°×°×°×°×°æ°õ°±±± ± ± ±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±!±#±#±:±B±N±N±R±W±g±‚±—±¦±²±ȱâ±å±ï±û±!²A²a²…²‡²š²Ȳ ²ã²ã²æ²ö²þ²³*³-³G³U³a³y³y³¤³§³¶³ʳë³ü³´´4´F´d´—´•´Š´´p´¥´¥´¥´¨´­´°´Ê´Ø´µ(µ(µSµVµeµyµšµ«µǵ³µãµãµ4¶2¶'¶B¶B¶B¶E¶J¶J¶Q¶a¶‚¶޶ã¹A°«Ó¶¿¶¿Ì¿пÛ¿â¿í¿ÀÀ ÀÀ$À1À=ÀJÀRÀcÀcÀlÀqÀyÀ‰À—À¦À±ÀÄÀÄÀ×À×ÀíÀÁÁ-Á/Á/Á9ÁAÁAÁKÁSÁSÁSÁdÁdÁdÁhÁpÁvÁ{Á{ÁÁ‡Á‹Á‘Á–Á–Á¢Á·ÁÇÁÑÁäÁéÁñÁñÁöÁöÁýÁ ÂÂ.Â8Â@ÂFÂYÂ^ÂfÂlÂlÂqÂxƒ«¶ÂÅÂÏÂ×ÂÝÂïÂõÂúÂúÂúÂúÂúÂúÂúÂúÂúÂÃÃÃ.Ã4Ã<ÃOÃTÃ\ÃaÃiÃnÃnÃnÃvÃ~ÇÃ�ÔÜáèóÃÛÃæÃîÃýÃÄÄÄ$Ä)Ä)Ä0ÄBÄJÄ]ÄeÄmĂĄÄ�ėĬĬĴÄÈÄÐÄ×ÄÝÄáÄåÄôÄùÄÅÅ'Å/ÅDÅPÅUÅaÅlÅqÅqÅqŒŬűŹÅÈÅÐÅØÅíÅòÅýÅÆÆ Æ Æ+ÆAÆMÆUÆjÆvÆ{ƇƒƗƗƗƗƗƗƢƢƢƢƢƢƢƢƢƢƢƢƭÆÍÆêÆúÆÇÇÇ Ç(Ç0Ç2Ç:ÇMÇSÇ[ÇcÇeÇ…Ç�ǖǞǦǫǰǷÇÂÇêÇõÇýÇ ÈÈ/È4È<ÈAÈAÈAÈJÈSÈVÈ`ÈnȀȂȔȦȦȦȱȶÈÓÈØÈØÈáÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈæÈñÈýÈ É)É<ÉDÉdÉiÉqÉxÉ…É�ɖɞɥɪɪɲɺÉÖÉÞÉáÉãÉóÉýÉýÉýÉÿÉÊ#Ê&Ê)Ê1Ê6Ê6Ê?ÊDÊLÊSÊ`ÊyʀʅÊ�ʧÊÂÊÛÊãÊðÊ ËËËËËËËËËËË(Ë3ËBËGËGËOËWËdËiËiËiËmËrËr˂ˇˇˇ˓˚ˠ˰ËÁËÝËðËöËþËÌÌ"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"Ì"ÌLine truncated
2
22Z2o2�2N$tyÖcÖcdêc ddOLu„.Ç.Ç@ÇUÇfÇwÇ~džǖÇ�ǯǵÇçÇPTHYĞaĞaâaäaíaöab bbbb(b2b5b?bQ¨!G(`(`8`A`T`a`m`y`…`‘`¨`¨`·`Â`Ë`Ò`Û`ò`a
aa+a7aIaIaRararata‡a‰a£a¯a²aÉaRxîˆplpl‰l”l¤lílôlmmm m(m0m8m:mBmJmQmXmwm�m˜m˜mÍm÷mn"n<nYnƒn�n±n³nºnÁnÁnänın$o=odo}o¤o½oäoıo$p=pdpdpsp€p…p…p”p¡p¦p¦p­p¸pÊpãpüpqqqqqq+q0q0q0qAqOqbqwq±q¸q¸q¸qÀqİqëq rrr(r6rPrlrlrlrr�r©rÇrÇrÇrÒrÕrsss!s2s;s=sJsLsYs[shshsŒs�s•s¦s¯s±s¿sÁsÏsÑsßsßsÿsÿsÿsÿs t t2tSt`tyt�t…t�t‘tŸt­t¯t·t»t¿tÇtÕtãtãtıtuu0uPuguru|uƒuœu¨u¯uÈuÈuÚußuáuçuøu vv v0v9v;vIvKvYv[viviviv�v�vªv±v¸v»vÇvÊvØvÜvêvîvüvwww w%w3wDwKwaw�w”w£w¥w´w¶wÅwÏwÏwİwæwüwx(x-xVx†x‹x™x›x©x²xÌxÎxĞx×xèxñxóxyyyy!y!yAyAyAyAyAy`y`y`yky‡y¬yÅyÊyÊyÊyìyñyñyñyzzzz5z:z:zAzCzCzKzMzMzTzTzWz\z{z‘z¶zÒzæzëzëz{{{${-{G{I{I{N{I{o{q{q{y{t{²{²{²{Ñ{Ñ{Ñ{ò{÷{÷{÷{||||>|C|C|C|b|g|g|‚|�|’|¡|ª|Ä|Æ|Æ|Ë|Æ|ì|î|î|ö|ñ|/}/}/}:}:}d}d}�}¦}¾}É}ß}ï}~~0~J~L~]~w~�~•~�‚S|.^ã^ã‚ã–ã¡ã¶ãÔãßãıãıãıã
ä"ä$ä$ä$ä1äIäKäKäYäfä~ä~ä�ä£äTçe××(×1×Q×Q×W×_×g×o×w×}׊׊ק׬׬ײ׷׷׽×Â×Â×È×Í×Í×å×ø×ş×ØØ Ø,Ø,Ø,Ø3Ø5Ø5Ø<Ø>Ø>ØDØDØKØMØMØSØSØZØ\Ø\ØbØbØiØiØqØwØ}؅؅؅؅ؙؑءةرعØÁØÇØßØîØøØûØûØÙ ÙÙÙÙÙ$Ù(Ù0Ù8Ù>ÙFÙMÙUÙ]ÙaÙgÙrÙxمّٟٗ٣٪ٲٺپÙÄÙÌÙÓÙÛÙãÙçÙíÙøÙıÙÚ$Ú)Ú,ÚÒÚUL˜§`ƒ`ƒyƒ{ƒ‚ƒ˜ƒ¨ƒ®ƒÆƒŞƒáƒóƒ;„VÔ*[~ê~ê’ê§ê¶êºêÈêÎêİêİêìê÷êë␍ëë$ë;ëNëTëYë]ëmëmëƒë…ë�ë°ë»ë½ëÖëÚëèëíëíëôëììì…ìW\X«¾?¾?Ö?İ?ï?"@-@9@G@;@h@h@t@|@‹@Å@Ç@ô@ü@ü@)AAA.A\AMAhAnA}A’A”AŸA§A§AÂAÇAĞAÛAãAîABBõA5B"BABVBCBƒBnBbB�B©B—BÄBÉBãBĞBCïBC#CCBC/CNCNCiCxCqCŒCŒCŒC¸C¸CÄCX$ns–c–cÁcªcËcÓcYl  �G�G¬GÆG³GåGÒGñGHóG%HH1H?HGHRHTH_HjHjH‰H�HZ,†Ñ†Ñ�Ñ•Ñ�ѬѻÑÀÑ[TÒî î ¡!¡,¡5¡W¡a¡o¡‰¡–¡–¡ ¡ ¡§¡º¡¸¡È¡È¡Ó¡İ¡ã¡é¡ì¡ú¡¢¢ ¢#¢5¢:¢E¢P¢j¢…¢™¢¶¢Ø¢İ¢ã¢é¢ô¢£ ££(£,£2£:£?£_£G£h£l£r£z£££Œ£’£­£™£¹£½£ãˣУУñ£õ£û£¤¤-¤¤9¤=¤C¤K¤P¤P¤q¤u¤{¤ƒ¤ƒ¤ˆ¤•¤³¤›¤¼¤À¤ƤΤî¤Ö¤÷¤û¤¥ ¥ ¥¥4¥¥=¥A¥G¥O¥o¥W¥x¥|¥‚¥Š¥Š¥Š¥ ¥ ¥ ¥ ¥«¥µ¥¾¥Ş¥ê¥ø¥ı¥ ¦ ¦$¦$¦/¦7¦?¦H¦T¦h¦u¦„¦“¦­¦²¦²¦½¦ŦÒ¦ݦê¦õ¦§!§3§>§C§C§N§d§q§y§…§“§˜§¦§º§º§§º§Ú§ß§ß§î§ó§ó§¨¨¨¨¨¨.¨3¨3¨F¨U¨Z¨Z¨m¨|¨�¨�¨�¨£¨¨¨¶¨¨¨ʨϨݨϨñ¨ö¨©ö¨©©©:©?©a©f©t©f©ˆ©�©�©ª©¯©Ñ©Ö©ä©Ö©ø©ı©ı©ª ªAªFªTªFªhªmªmªŠª�ª±ª¶ªĪ¶ªتݪݪøªıªıª«««8«=«=«X«]«]«x«}«}«˜«�«�«¸«½«½«Ø«İ«İ«î«ó«ó«¬ ¬ ¬¬ ¬5¬:¬:¬F¬_¬d¬‡¬�¬˜¬�¬®¬¸¬ͬجݬî¬ù¬­­­
­­­ ­)­)­<­A­A­A­E­[­d­d­‡­Œ­Œ­”­¨­±­Ë­Ø­ã­î­ù­ ®® ®%®%®%®6®S®^®h®s®x®ƒ®‹®�®�®›®£®¬®·®Ç®ß®÷® ¯¯¯¯.¯8¯C¯d¯p¯~¯ƒ¯‘¯•¯š¯š¯ª¯µ¯½¯¯ͯÚ¯å¯ÿ¯°#°.°3°>°F°K°V°c°n°ˆ°š°¬°¬°¬°¬°±°¶°¶°°Ó°Ó°ù°û°±±!±5±?±A±M±U±r±ƒ±�±˜±»±̱ݱî±ù±²!²&²&²1²6²6²>²I²N²N²V²a²f²f²n²Œ²v²¤²©²©²±²ϲ¹²ç²ì²³ì²³³³*³/³/³7³<³<³H³Y³k³p³p³„³p³œ³¡³¡³©³®³®³Á³ƳƳÙ³޳޳ø³´␍´␍´'´7´<´<´V´f´k´k´…´•´š´±´š´É´δδÙ´Ş´µµö´Ş´2µ7µsµaµOµ7µ‹µ�µ�µŸµ¯µ´µ´µõÓµصصçµõµúµ"¶úµ:¶?¶g¶U¶?¶„¶¬¶š¶„¶Ķɶɶæ¶ж· ·%·%·@·,·j·z···‹·�·�·œ·¡·¡·´·Ä·É·É·Ü·ì·ñ·ñ·¸¸¸¸,¸<¸A¸A¸I¸N¸N¸V¸[¸[¸c¸h¸h¸p¸u¸u¸ˆ¸�¸�¸ ¸¥¸ó¸á¸ϸ½¸¥¸¹¹S¹A¹/¹¹¹`¹e¹e¹t¹�¹”¹”¹¥¹À¹ŹŹÖ¹ä¹é¹é¹ñ¹ö¹ö¹ş¹ºº ºººHº6º$ººgº‚º‡º‡º¿º­º›º�º޺ùºşº0»»»şºH»M»»m»e»M»—»œ»¶» »œ»λÓ»ğ»Ú»Ó»¼␍¼␍¼¼2¼B¼S¼S¼y¼{¼‘¼—¼—¼³¼À¼ñ¼3½"½½?½G½G½G½S½X½X½k½v½€½…½�½š½Ÿ½Ÿ½¹½¾½¾½ƽ˽ß½˽ë½ö½û½¾û½¾&¾+¾+¾6¾D¾I¾I¾T¾_¾d¾d¾u¾z¾z¾‹¾�¾�¾ª¾µ¾º¾¾º¾ξÓ¾ç¾Ó¾ó¾ø¾¿ø¾ ¿¿%¿¿1¿6¿6¿J¿6¿V¿V¿V¿[¿g¿[¿z¿¿¿‹¿¿�¿£¿£¿¯¿£¿¿Ç¿Ç¿Ó¿Ç¿æ¿ë¿ÿ¿ë¿ ÀÀ"À-À2ÀFÀ2ÀRÀ^ÀiÀtÀyÀ�ÀyÀ¡À™ÀªÀ¯À¯À·À¼À¼ÀÅÀÊÀÊÀÓÀØÀØÀáÀæÀæÀñÀöÀöÀÁÁÁÁÁÁ!Á&Á&Á1Á6Á6ÁAÁFÁFÁQÁVÁjÁVÁvÁ�ÁŒÁ—ÁœÁœÁ¦Á«Á«ÁµÁºÁºÁÄÁÉÁÉÁÓÁØÁØÁàÁåÁåÁòÁ÷Á÷Á     ÂÂÂÂÂ#Â#Â+Â0Â0Â8Â=Â=ÂEÂJÂ^ÂJÂjÂ{€€’Â�½ÂÂÂØÂãÂüÂèÂÃÃÃ#Ã#Ã5Ã@Ã`ÃeÃ{ÆßËëöÃÁÃÆÃÆÃØÃãÃÄÄÄ)ÄBÄ.ÄNÄYÄdÄiÄiÄ�Ä{ěĻÄÀÄÖÄáÄæÄÅíÄ!Å␍Å-ÅCÅ/ÅcÅOÅoÅzÅÅťőűÅÑÅÖÅìÅ÷ÅüÅÆÆ7Æ#ÆCÆYÆEÆyÆeÆ…Æ�ƕƕƻƧÆÇÆçÆìÆÇ␍ÇÇ-ÇÇMÇ9ÇYÇoÇ[Ç�Ç{ǛǦǫǫǺǿǿÇÎÇÓÇÓÇÓÇÙÇŞÇŞÇŞÇèÇêÇêÇôÇÈ!È#È#È-È-È-È-È-È/È/ÈFÈMÈXÈXÈeÈkÈrÈ}ȈȓÈ�ȩȣÈÌÈÄÈäÈòÈìÈÉ␍É-É-É-É6É>ÉQÉWÉeÉxÉxÉ�ɚɮÉÈÉÈÉÈÉéÉùÉÊ Ê0Ê0ÊXÊ_ÊnʀʀʄʉÊ�ʠʿʿÊÃÊÚÊáÊæÊæÊêÊõÊËË<ËEËVËd˗ˣ˨˾ËÒËŞËìËñËÿËÌFÌlÌoÌÌ�Ì�̤̯̯̲̅ÌÀÌëÌ Í Í ÍÍ7Ï\, ÆÑÆÑÔÑÚÑŞÑíÑüÑÒ]8cm&c&cGc4cSc^cictcc‹c‘c^\�”؛؛æ›è›ó›û›œœœœ4œ4œFœRœ[œ^œ�œ_ܳféé@éIéWéyéyéŠé—éµé½éêéïéê5êQêWê[ê~ê¤ê©êÒêìêë)ë/ë3ëLëTëYëjërë‘ë—ë›ë´ë¼ëÛëàëñëùëìì%ì+ì/ì3ìEìMìYìoìtì†ì‹ìœì¡ì³ì¼ìĞìÛìí0íUíZíZíZíjíqííŒí®í®íÅíÊíÊíáíãíãí÷íùíùíîîî)î+î+îBîBîSîXîXîhî�îŸî¤î¤î¤î¤î¼îßîòîïïïï4ï6ï6ï6ïCïZï\ï\ïiï€ï€ï—ï™ï³ïÑïÑïÑïÕï×ï×ï×ïÜïŞïŞïãïãïíïòïòïğğğğğğğ"ğ$ğ$ğ,ğ,ğ.ğ5ğSğUğhğ~ğ~ğ~ğ~ğ~ğ‘ğ©ğ±ğ±ğôğ``
6T6THTTTrTŽT›T²TÅTÐTåTÒTñTùTUUU/U5UaôW==$='=9=@=G=L=N=U=\=`=r=¤=¾=«=Ö=Û=ü=ü=>> >Y>^>‹>“>˜>¡>¬>´>»>Ú>à>ÿ>? ?+?B?a?g?n?n?t?w?{?Œ?¬?¾?b$¶Û¶ÛÅÛÝÛÝÛãÛcxb|VæVævæ˜æ˜æ¢æ§æ§æÆæÓæÕæÕæÕæÕæâæêæýæçççç.ç.ç@çdHÏ9969C9F9O9U9l9ƒ9š9¬9Ú9ö9:::%:<:N:[:n:„:˜:�:¨:È:Í:Ð:ê:; ;;;3;M;U;];b;|;„;‰;©;®;±;Ë;å;í;õ;÷;<+<3<;<=<W<_<_<d<i<t<t<<<‹<‹<�<Ý<ó<ó<=ed¤¹‰‰ ‰'‰3‰9‰A‰O‰b‰n‰…‰’‰’‰•‰£‰³‰Ê‰Î‰Ö‰fºûÁ*Á*×*Ü*ð* +++8+B+R+R+i+p+‡+Ž+—+®+®+Ä+Ä+Ú+Ú+ð+ð+,,,,2,2,H,H,^,^,u,u,Œ,Œ,£,£,º,º,Ñ,Ñ,è,è,ÿ,ÿ,--/-7-B-S-^-o-r-t-‹-’-ž.g¬÷ÖÖðöý --AHKMVggjrˆ‹™œŸ¦ª²ÀÒâå4h(EKæ‘æ‘ ’ú‘’(’0’iC–J–J¹JÎJÓJÛJãJëJøJþJK KKK6K<K>K@KMKMKZKOKkKqKsKuK‚K‚K‚K‡K�K˜K¡K©K«K³K»KÃKÐKÖKáKèKøKLL-L4L?LELVLZLbLbLvL†LŽL‘L÷Lj8-7á/á/õ/ù/þ/ 0000#0k¤õš†™†™¤™È™Ιՙՙܙü™šš3š š?šRšdšmšušš�š¯š¸šÀšÊšãšÏšïš› ›››3› ›S›?›_›u›a›•›�›¡›³›½›Å›Å›Λ֛웜œ&œ*œ*œ1œ6œTœVœ[œfœ|œ|œ|œ€œŒœ­œ»œÅœÒœóœ� � � �'�:�H�K�k�o�Ž�’�µ�¹�Ø�Ü�Ü�Ü�â�ð�ú�žž$ž0ž2ž:ž@žYždžrž|ž•ž˜ž ž¬ž®ž¶ž¹žÒžÔžàžâžêžðž Ÿ!Ÿ-ŸBŸGŸYŸhŸ�Ÿ’Ÿ’Ÿ�Ÿ¨ŸÀŸÌŸáŸæŸøŸ   1 1 7 B J X _ q lfäÖÚÖÚðÚùÚÛÛ Û'Û/Û7Û?ÛEÛRÛRÛ`ÛeÛeÛkÛpÛpÛvÛ{Û{Û�Û†Û†ÛžÛ±Û·Û¼Û¼ÛÅÛåÛåÛåÛìÛîÛîÛõÛ÷Û÷ÛýÛýÛÜÜÜ Ü ÜÜÜÜÜÜ"Ü"Ü*Ü0Ü6Ü>Ü>Ü>Ü>ÜJÜRÜZÜbÜjÜrÜz܀ܘܧܱܴܴܾÜÄÜÊÜÊÜÎÜÖÜÝÜåÜíÜñÜ÷ÜÿÜÝÝÝÝ Ý+Ý1Ý>ÝJÝPÝXÝ\ÝcÝkÝsÝwÝ}݅݌ݔݜݠݦݱݶÝÌÝÝÝâÝåÝ‹ÞmÖ¶P¶PèPüPQQQQ&Q(Q+QIQPQkQmQtQ�Q–QŸQ¡Q¤QÂQÂQÂQÐQÚQçQR R#R+R+RGReRjRqR…RŒR§R©R°RËRßRúRýRSS2S4SNSVSVSrS�S�S³SÅSn`Ñ!Ñ!Ú!á!õ! "","1"O"Q"o"q"ˆ"œ"¥"§"»"Ë"ü"o|2Í‘‘.‘?‘P‘a‘r‘ƒ‘–‘ž‘¬‘ʑՑۑè‘ý‘ý‘’!’'’<’W’W’l’q’y’�’‡’Ÿ’²’½’Á’Ë’à’æ’è’õ’÷’ “ “““*“*“9“G“Z“^“h“l“x“|“ˆ“Œ“˜“œ“œ“¯““ȓ̓֓ړé“í“ü“”””””””.”=”L”Z”u”…”•”š”š”š”¦”®”¶”¼”єٔç”ñ”ÿ”••••••••••••#•)•>•F•J•R•`•f•f•f•x•~•Š•�•�•¸•ȕԕڕç•ù•–&–…—pÔ¼í�j�j¢j³j¾jÉjßjñj kkkk+k2k@kGkIkLkQkSkYksk�k£k»kÀkÉkÐkÝkñk lllll@l^ljlq$hm�&�&�&£&ª&Ä&r¤b‡îWîWX X/XX;X@XGXGXgX}XiX‰X¯X›X»XÀXÇXÇXÏXÖXáXìXôXüXYY%YY=YEYs?|ökökll1lIlSl^l^lclnlzl…l“l£l³lºlÀlÕlêlêlþlmm#m2m?mPmamom}m„mŠmŸm´m´mÈmÕmæmömüm n nn!n2n?nOn±nt8¬FJFJJJOJTJeJsJ|J�J†JLine truncated
¹¹¹,¹4¹?¹D¹L¹W¹c¹g¹r¹w¹‰¹‘¹œ¹œ¹œ¹œ¹ª¹¹¹Ö¹â¹ê¹ú¹
º(º,º[ºPºAºkºkºuº|º‹ºšº¢º°º·º»º½ºÌºÔºâºéºíºíºïº»»»»»»%»7»?»W»ƒ»‘»•»³»º»Á»Ì»â»ä»ë»ş»¼¼¼ ¼!¼4¼<¼J¼Q¼U¼U¼U¼U¼c¼n¼}¼…¼“¼�¼¢¼¢¼§¼¯¼³¼Â¼Ä¼Ó¼Õ¼ä¼æ¼õ¼ü¼½½½*½1½5½E½P½U½s½{½‰½�½”½œ½ª½±½µ½½½Ñ½Ù½ä½è½è½è½ó½ú½¾"¾2¾=¾R¾W¾b¾r¾~¾”¾œ¾§¾¶¾¾¾É¾Î¾Ö¾á¾í¾ñ¾ü¾¿¿¿&¿&¿&¿&¿:¿J¿_¿l¿p¿„¿•¿ª¿·¿»¿É¿Ş¿î¿ÀÀ7À9ÀDÀLÀLÀUÀrÀƒÀšÀ³ÀÁÀÌÀØÀàÀâÀíÀõÀõÀõÀÁÁ+Á@ÁWÁfÁsÁ‘Á˜Á˜Á¨Á¼ÁÖÁÖÁÚÁğÁÿÁÂ%Â<ÂDÂDÂfÂfÂy”Â�²ÂÌÂÛÂèÂÃÃ*ÃCÃSÃkÃkÃÃÃ�çÿÃÈÃÈÃÈÃÔÃåÃıÃÄÄ␍ÄÄÄ(Ä�Ä|ÌL»şõşõö'ö2öXöXöZögöröxö‰ö˜ö§ö´ö´öºö¿öÄö×öêöõöùö ÷÷ ÷+÷'÷B÷P÷P÷P÷[÷v÷a÷‡÷~÷‘÷“÷¯÷›÷·÷Å÷Å÷Ç÷ã÷ã÷ê÷ğ÷ù÷øø%ø9ø,øAøGøPøPøPøcøhøhøpøpø{ø�ø™ø™ø™ø™øµøÌøÒø×ø×øìøòø÷ø÷øù ù@ùEùJùJùVùsù‚ù‘ù™ù�ù¤ù©ù©ù°ù·ùÚù÷ùùùú+ú+ú1ú1ú>úGúGúbútúú„ú‘úœú¤ú¬ú¼úÓúÓúãúãúõúûú#û,û,û.û5û:û:ûGûRûXûaûaûtû�û“û�û¬ûµûºûáûêûõûúûü üü1ü6ü=üJüQücüxüü…ü�ü�ü—ü±ü¸ü½üËüÛüéüéüïüöüÿüÿüı$ı'ı'ı8ı@ıHıTıqıxı…ı‡ı�ı¢ı±ı±ı±ıØıØıØıåıåıúışş$ş/ş=şHşWş^ş^şxş‹ş�şœş±ş³şÁşÖşÖşÜşåşåşòşøş
ÿ
ÿÿÿ%ÿ7ÿ>ÿIÿNÿVÿ]ÿhÿmÿ‚ÿ„ÿ�ÿ³ÿ³ÿ³ÿµÿ¼ÿÂÿÓÿáÿóÿóÿùÿ /88>GGffsv|…�˜ª°»»ÈËÑÚâíÿ &/1Sf{�Œ�¤¬¬¬¬·2}@I•

Î
à
ë
 ş
ò
 = j U I v � � ¯ Ä ± ñ Ü Ğ ı    ) C C p ‰ }  » Î  ğ á ü ␍2␍&␍X␍E␍s␍d␍␍�␍²␍Ÿ␍Ê␍¾␍ì␍İ␍ø␍$>>Yf……�~”�¾33%3)32353>3G3Y3Y3‚3†3‹3�3—3§3®3±3¹3¼3É3Ñ3Ù3á3è3ø3ø34Œ >6U6UJUQU�UmU�U’U™U™U¹UÏU»UÛU V÷UVV#V#V+V2V=VEVPVcV[V{VƒV€À-XdXdvd†d�d�dšdšd¤d¶dÃdÆdÈdÑdŞdŞdìdee$e1e1eAeNeNeqe~e~e”e·eÍeğeùeff)f3f3fff™fŸfŸfŸf±f�¸ºä؉؉ğ‰ò‰ş‰ŠŠŠ,Š,Š,Š2Š6Š>ŠIŠ]ŠiŠkŠkŠtŠvŠvŠŠ�Š�ŠŠŠŒŠŒŠ•Š•Š�ФЧбŠÂŠÈŠÔŠÔŠ<‹‚œWzN)N)l)}) )§)À)¸)Ø)ø)ä)***;*'*S*{*‚*›*“*³*Ó*¿*ß*ğ*+ò*+++++C+C+M+ƒœX{--*-:-E-o-Ÿ-¬-½-Ï-Ö-İ-ñ-ø-..-.:.=.V.Y.^.u.�.�.‘.˜.Î.„x¬¸«¸«Î«Õ«Ü«û«
¬¬(¬7¬F¬P¬P¬U¬\¬o¬~¬ƒ¬�¬¸¬¸¬Î¬à¬ä¬ò¬ù¬ş¬ş¬­­ ­"­0­B­B­B­T­_­q­|­‰­�­�­£­³­¿­Ä­Ñ­Ö­æ­ë­û­ı­␍®® ®!®2®;®;®=®M®T®d®d®®‘®£®µ®Å®Å®Å®È®Û®…\åø@‹@‹[‹b‹g‹u‹Š‹‘‹›‹©‹¬‹®‹¸‹Ê‹Ê‹Ñ‹Œ†0ÎÖ6xl@>Œ”‡L4C–+–+¤+¶+¼+Ä+Ö+Ü+å+÷+ı+,<,ˆ(–œá2á2ï2ş233 3‰\DW>,>,L,^,d,l,~,„,�,Ÿ,¥,®,À,Æ,É,-Š, ^Ñ^ÑlÑsÑ{рцы¬!H& & D V ] d s x — — œ » À Ç Ö Ø ÷ ÷ 
+

7
F
H
g
g
g
g
v
�
ˆ
§
±
Œ@? Ş`Ş`û`a
a/aAaGaRaiaxaƒa‡a’a�a©aµaÌaãaöa␍b"b2b2bDbJb[babqbqb‰b‰b®b®b³b³b¹bÅbÒbŞbób
cc$c6cBcYcqc’c’c›c c c c c°c¹cÁcÆcÔcâcòc÷c÷cddddd)d;dAdMd]dhdrdvdd˜d›d«d²dĞdÙdÙdèdødeee!e)e4e;e?eReXeeepeve†e–e–eÃeåeñeùef fff#f#f3f8f8fBfMf_fefsf€f�f—f›f¤f½fÀfĞf×fÜfÜfğfğfõfùf gg$g*g,g,g:g@gFgWg]gigygygyg~g–g–g¥g¨g¼gÚgågh h+h=hAhFhMh_hoh‡h�h’h˜h h«h®i�<KV�(�(¸(Ä(Ö(ì(␍)ú(%)=)=)G)�`l€ › ›@›G›O›Z›d›o›w›†›�›“›·›¹›É›É›×›�`àô~˜~˜”˜¶˜ØǘÖ˜ï˜ó˜ù˜ ™)™+™+™\™J™+™{™…™�XnNÔNÔtÔ†Ô‹Ô¢Ô´Ô¾ÔÈÔÖÔŞÔíÔÕÕÕ$Õ2Õ:ÕBÕDÕOÕZÕZÕbÕjÕtÕ|Õ†Õ�Õ—ÕšÕ£Õ¾ÕÏÕáÕäÕéÕüÕÖ(Ö0Ö0ÖBÖEÖJÖ]ÖuÖ‰Ö‘Ö‘Ö²ÖµÖºÖÍÖÓÖèÖşÖ××+×3×3×>×]×d×o׆ב83=^Ò^ÒgÒgÒuÒyÒ‡ÒŠÒ�Ò’8>H–Ò–ÒŸÒŸÒ­Ò±Ò¸Ò»ÒÀÒ“D*�*�*¸*Ë*Õ*Ü*è*+ +␍+ +%+D+”Ğy©Î÷Î÷ø÷û÷øøøøøøø.ø9ø@øMøZømø|ø�ø–ø˜øŸø¥ø¯ø¯øÀøÂøÉøÏøÙøÙøÙøğøù ùùù,ù;ù;ùMù•0+3F+F+O+u+†+Œ+Œ+”+–„\y†ì†ì˜ì­ì·ìÀìÂìÉìÙìäìæìğìğìöìí
í
í+í6í8íQíXí\íhí{íÎí— 
î)î)÷)**˜h÷␍>^>^T^_^j^x^ƒ^‰^š^ ^±^·^Ã^Ú^Ú^ì^ı^
__!_'_u_™”"Î.Î.ğ.ú./ //!/6/J/Y/g/u/Œ/”/�/­/µ/Â/Ê/Í/Í/Í/Ï/Ş/è/ñ/ù/ü/0š�µÕOO<OAOUO]OkOoOxOxO}OŠO OÊOÏOóOûOPPP3P5PKPaP…PŸP±P›ˆùFüFü^üpüwü~ü�ü¢üÁüÆüàüÍüÿüìü ı ı␍ı?ı,ıKıKıKı]ıdıƒıƒı‹ıœ y}˜‡˜‡¡‡­‡²‡�(Anânâ�â˜â�â¦â¨â¨â¹â¹â¹âÁâÉâÛâêâÛâÿâããããã(ã-ãGãLãLãLãaãcãpãrãã�ã�ã–ã�ã¥ã´ãÁãÃãÔãáãáãáãêãüãäää ä,ä,äAäAäAäLäVänäsäsäsä�ä‡äŒä”äŸä±ä¼äÁäÁäÈäÌäÚäŞäçäîä åå å)åEåJåJåJåJåRå]åkåkå‹å‹å‹å’å å¯åÂåÕå×å×å×åêåêåñåøåıåææ æ:æcæiæiæ}æ‚æ¦æ­æ¹æ×æêæõæüæçççç çç#çEçPçmçwçwç…ç£çÓçæç÷çè!è&è&è&è.è9èKèVè[è[è[èmèšè è è è«èµèÁèÌèÎèÎèÎèÓèßèßè)é�H%A/A/O/V/a/o/z/‚/‚/š/¤/ª/°/Ÿ0 ÆSÆSíSÚSùSTT'T/T T9J~'~'˜'¤'¶'Ì'í'Ú'((((>(_(L(w(�(�(™(¡TXi�␍�␍¤␍²␍¸␍¾␍Ï␍İ␍ë␍ı␍"¢Lg�ı�ı½ı²ıÊıåıÑışñış'şşGş3şSş_şdşpş€ş‡ş”şŸş«ş¶ş¾şÃşÏşÔşèşïşóşşşÿÿ'ÿ0ÿ<ÿAÿUÿ\ÿ`ÿ`ÿeÿ~ÿƒÿœÿ±ÿÃÿÈÿÓÿÛÿÛÿÛÿİÿöÿ  +-8@@MEe…£àZ�@b@bZbhbmbzbˆb‘b¬bºbÜbåbõbcc*c,c.c8cDcHcUcacsc{c“c—c—c—c—cœcºcÔcÔcÛcŞcæcòcûcQd¤d{�N+N+l+�+ +§+À+¸+Ø+ø+ä+,,+,,C,P,P,h,h,r,¥(~ß~ߌ߯ߵߺߺßÀߦ(!'ÒÒÒÒ#Ò%Ò*Ò§D]j°8°8Ê8Ñ8Ú8æ8û89 9999 9¨„½Úx¥x¥«¥·¥»¥Ã¥Ë¥Ï¥Ú¥Ş¥â¥æ¥î¥ó¥÷¥¦¦¦ ¦0¦A¦N¦a¦h¦r¦r¦r¦„¦©€ˆ—ˆ—¡—¨—¯—¶—¼—Ì—×—á—ì—˜˜˜#˜-˜7˜>˜I˜[˜c˜c˜y˜y˜‹˜ª˜b.^.^T^t^|^‡^–^Ÿ^£^®^Î^Ó^í^ ___*_W_`_v_|_„_‡_Œ_Ÿ_Ä_É_ß_å_í_ğ_``2`Q`W`_`_`d`j`m`x`˜`�`·`Ö`Ü`á`a
aa.a6a;a[adafa…a�a­a²aÌaëañaöaöaöaöabb b7bBbUbbbzb�bŸb©b«b¿bĞbÕbàbíb␍c␍c␍c c«°)Ø�Ø�û��␍���'�3�>�I�Q�\�d�g�s�{�•�»�µ�Ë�Ô� Ÿõ�ŸŸ1Ÿ<ŸXŸ_ŸƒŸ¼Ÿ¼Ÿ¼Ÿ¼Ÿ ¬0ùAŒŒ-Œ9ŒDŒNŒTŒ^ŒdŒnŒ|Œ†Œ˜Œ¢Œ¨Œ²Œ¸ŒÂŒÉŒÕŒÛŒäŒ��!�#�-�?�I�[�e�z�z�}�‡�œ�¡�±�¼�Á�Õ�è�ò����&�4�E�U�f�s�s�€�€�ˆ�–�İ�­l£:¶?¶?Ï?ç?÷?@)@A@\@\@†@�@’@•@™@�@¨@«@²@¸@¿@Å@É@Î@Ø@é@ğ@÷@ù@ı@AAAA*A-A>AIAOAVA_AxA‰A’A›A£A®A¹AÅAÖAçAóABB
BBBB'B.BQB_BiBsB|B•B¦B¯B¸BÀBÉBÏBÓBØBÜBéBğBşBCC'C0CICZCcClCtC}CƒC‡CŒC’CœC¦CÂCĞCÖCÛCãCëCóCDD'DD9DBD]DqD„D‹D”D�D¤D­D¶D¿DØDÈDèDìDFE®  �„�„�„½„įÀ�¹é'é'ò'((ù':(J(<(k(�(�(�(£(£(·(¼(¼(Ø(İ(İ(ı()))))8)8)F)j)�)°)Â)Ô)æ)ö)ö)ö)ö)ö)¿*°$bg9&9&=&U&g&�&±´ªæ¹æ¹ººººº'º'º3ºHºiº{º�º‘º¡ºÁºÓºÙºìºõºùºÿº»»)»-»=»J»h»z»€»“»¥»±»³»¿»Ç»Ë»Ñ»Ú»Ú»Ú»Ú»ì»¼¼¼)¼0¼8¼D¼Y¼`¼`¼`¼n¼|¼†¼‰¼—¼¡¼¤¼¶¼»¼À¼мÓ¼ؼè¼ë¼ï¼ø¼½½½#½9½?½K½`½g½o½�½‡½–½§½§½®½®½®½¼½ʽÔ½×½å½ï½ò½¾ ¾¾¾!¾&¾6¾9¾=¾F¾N¾`¾h¾q¾q¾|¾“¾«¾¯¾»¾Ó¾Û¾á¾í¾ö¾ú¾¿ ¿ ¿ ¿$¿,¿2¿I¿R¿Z¿`¿f¿f¿f¿m¿¿‹¿“¿™¿Ÿ¿Ÿ¿¡¿³¿²x&Ó&Ó4ÓIÓPÓ[Ó}Ó±ÓÍÓßÓóÓùÓÔÔÔÔ Ô&Ô,Ô8Ô@ÔFÔHÔNÔ³Ü,ßnlnlŒl”l¤l¬lÙlğlôlülm
mm&m&m.mgm±mŒmÔmÙmëmúmüm&n,n5n<nDnLnXn`nhn{nƒnˆn’n²nºn¼nÆnÕnõnınÿn o'o'o'o2o9oLoTo]o]obofonowo€oˆo¤o¿oÙoppp*p>pUpYpŠp¤p¶pàpæpèpqqq,q9qMqdqoqsq~q‰q›qªq¬qÖqÙqëqúqÿq)r/r4rFrUrWr�r„r–r¥r§rÑr×r×r×rárárìrs(s(s(s(s1s=sSslss†s’s™s™s¬s°s°s°s·s¼sÏsÖsâséséstttt!t-t4t4tAtKtKtRtstst…t´}¾¶n¶nÔn×nİnñnùn
ooo"o"o/o8o>oNo\o^o}o�o•o¡o±o±o¿oÒoİoáoòoòoòo÷o÷opp%p+p0pDpJpRpdpjplp{pˆp�p”p™pŸp¥p¬p¸p¿pÁpÆpÎpĞpÕpápãpèpğpòp÷pÿpqqqqq q!q&q0q0q0q@q@q@qWq]qcqnqsq{q”qšq¥q©q¯qºqÓqŞqéqïqüqrrrr#r+rIrTr_rkrertr}r‚r‡rœr£r¬r¸r¾rÊrÎrÓrØrãrîrùrûrssss1s<sGsGsMsZs\sasjsƒs�s™sŸs¬s¬s°sµsµsÆsÈsÈsÛsİsİsğsòsòstttttt.t.t4t9t9tPtdtYtqtyt€t†t�t¡t¬t£t¼t¼t¾tÖtÙtÛtçtùt uu,uFuKu_uou‚u‡u‡u�u¡u³u¾uÆuÎuÒuàuæuëuëuñuvvvv v&v+v+v+v1v@vSv`vdvivivmvrvrvwv‚v�v¨v¾vÊvÊvĞvİvßvìvøvwww'w3w3w3w3w7w<wMw_wjwrwzw|w�w“w¡w­w³wÀwÀw×wçwçwûwx xxx5x5x;xHxJx\x\xgxgxgxgxgxãzµ\ãöN]N]d]v]|]‡]•]¡]¸]¸]Ê]Ğ]Û]ë]ö]^^=^(28††¤·¾ÅÌĞÒÙàääì#.<MQVrš�§«°ÁŞŞì   / 3 3 3 8 f { ‚ • ™ � º â ê ó ÷ ü ␍  / C E ^ q u u u ‘ ¹ ½ Æ Ê Ï à ı ı  ! !$!=!N!R!d!d!d!i!x!™!¸!Ã!É!ß!ğ!õ!
"&"N"R"["_"d"u"�"�"œ"°"²"Ë"Ü"à"à"ç"ú"ş"##1#Y#a#j#n#s#„#š#ª#¾#Ã#Ü#ï#ó#$$$$
$)$8$Y$d$j$€$‘$‘$‘$˜$«$Ä$Ä$Ä$Ó$Ó$æ$ı$%%%$%.%0%<%<%C%N%c%e%p%…%‘%“%�%ª%º%Á%È%Ò%Ú%Ş%â%ä%é%ñ%õ%& &&&&&&%&2&H&h&‚&�&š&¡&¡&´&¸&¸&¸&¿&Ä&Ş&ê&ö&ı&ı&'''5'A'M'T'T'a'k'k'}'·˜ ˜`G`G}GŒGŒGŒG¦G¦GµGµG»G½G½GÃGÅGÅGËGÍGÍGÔGØGİGİGİGİGİGİGåGúGúGHH$H1HFHHHcHeH€H…H H¥H«H«HÀHÃHêH÷HI/I/I8I=I[IIIaIpIuI|I…I˜I I¨I­I­I­I¶IÏIÕIÕIîIüIJ,J.J6J<JDJIJIJOJOJXJiJkJ€J‚JŠJ�J˜J�J�J�J�J«J¿JÁJÕJÕJİJãJëJğJùJK
KKKKKK K K.KBKFKHKTKVKqKwKK„K�K˜K›K¡K§K°K³K³KÁKÏKÑKôKLL L$L-L/L/L4L6L>L>LYLkLpL|L‚L…LœL�L¡L±LµL¼LÅLÔLâLèLğLõLıLMM
MM/M4M>MfMqM|M‡M’M�M¨M³M¾M¾M¾MÆMÆMßMíMNNN N N(N.N0N0N6N<N<NDNMNSN_N_NfNiNˆN“N›N£N¨N¨N®N²N·NÆNËNÕNßNßNìNOOO'O8ODOKOYOhO~O„O‰O‰O�O¡O­OµOÅOÏOØOæOíOïOøOøOşO PP+P>PRPXPZPmPrPrP�P�P¡P§P°PP¿PÍPÒPÒPåPëPíPøP
QQQ1Q=QOQTQ`QfQiQ€Q‚Q…Q•QŸQ¢Q¢Q±QÄQÖQÛQçQíQğQR R RR R(R6R;R@R@RFRNRSRSRYRYRgRmRsR}R‡R•RªR­R¯R¹R¹R»RÃRÈRÍRÒRÒRØRàRåRåRêRõRúRÿR
SS5S7S<SASFSKSPSUSZSZS_SdS€SŠS�S²S¸SÀSÀSÎSÔSÚSäSîSüSTTT T/T4T4T4T<TATJTJTOTOTUT]TbTbTgTrTwT|T�T�T�T¡T§T§TµT»TÁTËTÕTãTøTûTıTUUUUU#U(U1U6U6U<UDUIUIUNUYU^UcUhUwUwUˆU�U�UœU¢U¨U²U¼UÊUßUâUäUîUıUVVV
VVVVV#V+V0V0V=VCVCVQVWV]VgVqVV”V—V™V£V²V·V·V·V¿VÄVÍVÒVÒVØVàVåVåVòVøVøVW WWW&W4WIWLWNWXWgWlWlWlWtWyW‚W‡W‡W‘W™W�W�W�W¤W®W´WÈWÍWÍWÓWİWãWèWèWîWüWXXXXX,X8XIXVX]XeXoX}X}X‚X‚X�X�X�X‘X–X–XœX X¥X­X³XµX¾XÍXÕXÚXàXàXèXîXüXY YYY Y Y Y Y Y Y Y Y Y Y8Y>YGYMYUYZY_YhYsY|Y„Y‰Y‰Y‰Y�Y—YœYœY Y¥Y¥Y®Y¼YÈYÕYÛYÛYäYøYøYşYZZZ$Z&Z,Z5ZIZIZRZRZRZWZ\Z\ZdZiZiZ†Z”Z Z©Z¯Z¹ZÁZÆZÆZÆZÚZãZéZûZ[[␍[␍[[[[0[:[C[E[E[E[K[O[Q[Q[Q[Q[V[\[b[f[á^¸Ğà†t†t¨t¾tÊtètuu(u;uFu\uHuhupupuuu‡u“u©u¾uÍuØuëuñuñuñuöuûu
vv,v.v3vBvMvZvdvdvrv¹”*K    8 ? F I R U X \ a � n ‘ ™ ¡ ¤ ¦ ¶ ¿ È Î Ñ â ù 
¡¡G¡ºà.¢Æ;Æ;ä;ï;<<<<<%<4<J<[<l<~<�<Ÿ<®<¿<Î<Î<Ü<à<ä<é<í<ú<==#=,=2=@=Y=[=_=i=i=n=n=n=s=s=‚=‹=“=©=©=©=®=®=Ã=Ï=Ú=ß=ß=â=ç=ç=>>>>>">$>$>@>L>X>Z>Z>]>_>_>l>n>n>q>q>z>€>…>¡>¡>¡>¡>¡>¡>¡>¡>¡>¡>¡>¡>£>´>Æ>Õ>ä>ä>è>è>ğ> ???°?»,6Ñ6ÑDÑKÑSÑXÑ^Ѽ˜?a†V†VœV¢V©VÙVÅVåVêVñVñVW'WW3WcWOWoWtW{W{W{W�W„WˆW�W¨W³WÆW¾WŞWèW½PQaQ%Q%_%m%t%„%•%š%·%½%Ä%Ë%Ù%å%÷%3&¾D%ÆßÆßÚßèßîßàààBàHàNàTàTà\à¿ô#œ000%0)060C0W0f0†0“0¥0Ç0ç0õ01#1;1R1]1~1œ1«1Æ1Ñ1ì122 2I2c2~2�2Ÿ2®2®2¹2Ì2İ2ğ23␍33'3G3G3S3S3S3d3q3x3—3 3­3±3¹3Ä3Ü3ô3ı3␍444>4N4^4i4}4‚4Š4°4²4½4ğ4
5
5"51595H5Q5Y5k5Š5’5š5¥5§5·5Ï5ç5ÿ56)6@6I6R6d6r6v6z6À ȄȄфğ„õ„Á\…XîÇîÇÈÈÈ'È,È2ÈDÈJÈbÈhȆȚȥȫÈÍÈÍÈİÈòÈôÈ÷ÈÉ ÉÉÉ)É/É5ÉAÉAÉCÉUÉ[É`É`ÉwÉwɕɕɨɵɺɺÉÑÉÚÉéÉÿÉ
ÊÊ#Ê3Ê@ÊRÊXÊbÊnÊ{Ê}Ê}ʅʊʊʒʗʗʟʤʤʬʱʱʷʼʼÊÃÊÈÊÈÊÏÊÔÊÔÊßÊäÊäÊïÊôÊôÊÿÊËËËË(Ë/Ë5Ë8ËCËFËZËgËvË}ˀ˒˔˚ˮ˻ËÊËÊËÊËÊËÔËìËÌÌ"Ì(Ì9Ì?ÌDÌNÌ_ÌpÌ̡̖̫̺̅ÌÉÌÏÌÚÌàÌõÌûÌ ÍÍÍ-Í-Í=ÍPÍ\ÍdÍtÍ{Í�Í’Í�͢ͿÍÔÍâÍòÍşÍÎÎ*Î,Î>ÎFÎKÎRÎVÎdÎnÎtÎ~΄Î�ΕΗΤαλÎÔÎâÎâÎèÎïÎ/ÑÂ0#«¸§¸§×§¨ ¨ ¨¨*¨C¨F¨b¨b¨b¨j¨l¨l¨t¨v¨v¨~¨€¨€¨ˆ¨ˆ¨‘¨—¨œ¨œ¨¥¨±¨µ¨º¨À¨Å¨Å¨Í¨Ö¨Ü¨á¨á¨æ¨ò¨
©)©,©A©`©`©`©h©j©j©j©r©t©t©t©|©~©~©~©†©ˆ©ˆ©“©“©™©�©�©�©�©¥©°©Â©Ğ©Ş©è©è©è©ø©ø©ÿ©ª ª!ª/ªBªNªwªzª�ª“ª›ª¤ª¯ª¯ªºªÀªÅªÅªÅªÌªÒªçªïªõª«#«)«.«.«5«@«@«E«W«]«]«]«]«¶«Ãd$èAèA
BBBB!B4B6BCBEBPBdBlB|B�B‡B�B’B¤BÄLWfÙ0Ù0í0ñ0ö011 11111Å\CVq0q0‡0‡0‹0�0£0¦0«0«0µ0»0»0É0Ë0Õ0Æ8(2.Ò.Ò7Ò7ÒEÒIÒPÒSÒXÒǨ²Øffff~f†f‘fªf�f×f1gggüfåf7gLg<ggglgxgŸg¤g¹g¦gÅgËgËgØgÿg'h␍h;hVhVhVhbhÈ Ä¾D¾DÓDŞDEñDåD%EE1EFE3EsE^EREE�E•E E¢E­E¸E¸E½EêEïEF!F;F(FZFGFfFqF†FsF¥F’F±F¶F±FÌFÚFâFíFïFúFGG
G%G'GBGBGOGTGsGuG”G”G”GœGÉl¥¼†-†- -È-«-Ô-ô-␍..%.=.*.I.\.|.�.¡.¡.®.Í.Í.×.Ê4“œşçşçèèè!è%èDèLè˼Lw6’6’N’Y’c’|’”’™’�’¢’¤’ª’°’Æ’³’Ò’Ò’ñ’ “ö’“ “8“P“U“Z“^“`“f“l“‚“o“�“�“¡“©“»“Õ“Γá“í“Ì4;DÎÜÎÜ×ÜãÜİİ İ İİÍ”"ˆ¦ˆ¦–¦¨¦¬¦´¦¼¦Ç¦Ò¦Ú¦å¦ğ¦õ¦ §§§$§/§1§<§G§I§U§`§k§t§|§|§€§·§Î€ÚöÙ4Ù4÷4û4ÿ45555.54565E5I5M5U5]5i5~5�5–5�5�5ª5¿5Ïd9Ά2†2¼2Ã2Ë2Ô2å2ò23
3␍333(32373_3d3q3�3¢3¯3Ï3Ô3ã344414]4e4j4j4}4�4 4¤4Ã4Ô4Ù4Ù4û4û4û4û4û4 5 5#5&5*5*5/5W5\5e5r5z5•5§5´5¿5İ5İ5İ5ê566666'6)6)666M6M6^6c6ƒ6•6§6Å6Å6Å6Ò6é6ë6ë6ë6ø677775757F7N7S7y7‹7�7»7»7»7È7ß7á7á7î78888#8E8c8h8o8}8‡8‰8‰8‰8¥8­8¯8¯8Ñ8 9Ф/T¦ä¦äÆäèäèäåååå+å=åWå_åfåhå{åƒåƒåƒå…å…å…å…å£å£å£å£åµå·å·å·å·åÊåÕåøåÑxµî“î“””” ”,”7”<”C”H”S”X”X”X”Š”w”–”˜”�”¨”­”­”­”ߔ̔딕•%•8•K•^•c•c•v•‰•œ•¯•´•´•Ǖڕ핖–––(–;–N–N–N–\–Ò0Š’�ç�ç¬ç²ç¶çÕçöçöçüçÓ<:E±7±7º7Å7Ó7ß7ë7ô7ı78 88ÔluŒ''''1'8'O'O'T'V'b'l'z'—'™'©'©'®'°'·'é'ÕÜŸÒf~f~z~¤~™~…~¿~Ì~Ø~ë~Ş~IINdvŒ¢Õ䀀7€D€p€u€}€œ€¤€É€¾€ª€Ù€ò€Ş€�ş€&�3�_�_�_�_�g�ÖL½ÌŞ.Ş.ü.//4/4/F/Y/f/_/~/ˆ/×Èg•!1!1E1I1h1Š1–1�1¨1³1À1É1É1Î1Ø1ğ1û1 222)2:2<2M2O2Q2Q2Q2Y2Y2c2c2k2s2{2ƒ2‡2‘2İ2Ø @„@„N„b„h„Ù`FZ88!8(8*8/8>8D8Y8Y8g8g8s8|88�8—8š8¢8Ú<›¦v v  Š •   « µ Ó Ş î Û 2v_v_�_ _¦_²_½_Ë_×_î_ù_ ``!`'`-`@`F`O`U`g`m`x`€`�`›`Ø`Ü, **,*=*S*d*g*m*İ4ø„ø„……… …'…1…1…7…ŞÄKx®õ®õÚõİõâõïõôõöö ööö&ö?öaöjöuö|ö•ö·ö¼öÕö÷öüö÷÷>÷@÷Y÷{÷{÷{÷�÷ª÷¹÷Ë÷ß „ÈæNæNOO%O*OHONOSOYOgOnO}O‚O�O O O¾OÉOÜOãOıOP&PAPYPuP~P�P•P¢P«P°PÁPÏPïPôPüPQ'Q7Q=QHQQQWQ�Q‡QxQ­QèQÒQÃQøQûQR¯Rà<%0¨B¨BÉBÏBØBêBC C!C-Cá„ |66Xcjruu…��“š¡§­³ºÀÑÑÓÜèî+388?EV\bm~~‡Œ–�¤¬²´ÂÙÜë÷
"3Te}„�–��¦­¹ÉÔÔÔèü Êâ„9‘6‘6­6¼6Ã6İ677*737A7S7l7l7~7”7œ7Ÿ7«7ãX{ÍISfqƒ‘—¨¯·ÍÕèı␍)9BHMTZ`fq|† ¨Â×äçïó '>W[dk}…Œ�™›­ÄÒØÜŞëëëí

ä 
h„h„q„…„Š„å,ıD6�6�R�X�c�t�y��‚�†�†�¦�«�á�Í�í��ò��+��7�>�C�M�P�T�Y�r�^�~�~�~�ƒ�”�™�Ÿ�¢�¦�¦�Æ�Ë�‘í�␍‘&‘‘2‘H‘4‘T‘[‘`‘f‘i‘m‘o‘ˆ‘t‘”‘”‘”‘”‘¬‘Õ‘á‘æˆÍëQQZUUdss‚‚‘‘  ¯¯¾ÒÍÜÜëú çxÈâ\\<\N\T\`\w\w\‰\�\š\ª\¶\¿\Å\Ë\Ö\ä\ñ\ı\ ]]]J]èd�²NèNèRèeèeèè†è’è’è©è©èÀèÀè×è×èîèîèééé é騯øfúfúˆú�úšú°ú°úÂúÍúØúéúúúûûûû û1ûCûOûaûcû|û‹û�û�û�û¢û·û·ûÃûÉûÓûŞûìûóûüüü4ü4üFüê`Ëßn—n—„—¦—³—·—Æ—å—é—ï—˜ ˜!˜!˜R˜@˜!˜q˜{˜ëP1A0C0CFCRCZC^CoC}CƒC�C—C¢C¨C«CµCì ®-6767P7[7_7h7o7v7Œ7�7®7À7Ò7á7ğ788888$81888A8H8L8l8l8l8l8l8x8|88‡8•8�8ª8²8º8Ë8Ö8Û8Û8è8î8ı899!9.9=9@9F9B9Z9q9s9�9ƒ9�9”9”9œ9œ9®9µ9Ë9Ë9Ë9Ğ9Ğ9å9ó9ş9::: : :':5:B:D:D:H:J:J:f:t:€:‚:‚:…:‡:‡:”:–:–:™:™:™:™:™:¢:¨:¬:¸:Ø:å:ó:ú:Â;í(rxh‡h‡v‡}‡�‡�‡–‡î(ntÉ&É&Ò&Ü&ì&÷&÷&'ïTzKÎíÎíìíòíõíşíî î0î9î?îBîFîHî`îpî}îƒî‡î�î�î’î–î–î¹î½îÃîÃîÊîìîïï'ï-ï4ï?ïIïMïPïWï]ïaïgïxï~ïƒïˆï•ï—ï©ï«ï²ï¿ïÁïÓïÓïÓïÓïÓï÷ïğğ%ğ%ğ:ğFğcğ‡ğ¡ğ¦ğ½ğÂğĞğçğìğòğñññ.ñ;ñSñZñfñ~ñŠñŠñŠñ�ñ“ñ–ñ¯ñµñÉñÏñÔñßñßñäñññşñşñòò)ò/ò2ò5ò<òEòLòLòQò^òkòkòqòò–òœòŸò¢ò©ò©òºòÁòÎòÛòÛòâòìòóòùòó ó ó ó9ó>óEóMóTócógópóˆó�ó”ó¶óÁóÇóÏóèóüóüóôô1ô?ôFôMôoô‚ô¦ô¨ô²ôÔôÔôÔôíôùô
õ"õ&õûõğ¼Ùfhfh~h‚h�hŸhªh¶hÁháhÃhíhòhòhiDi(iifiki“i˜i¤i¯iÏi±iÛiàióiúij*j*jMjMjYjñ ¾)¾)Í)æ)ì)ò8�™ÖHÖHïHşHI I%I+I.IOIó8 ¡.¡.¯.¶.Á.É.Ğ.Ö.Ü.Ü.â.ô n*n*x*€*…*õôÓŒn�n�Œ�œ�§�²�Ë�÷�‚<‚f‚l‚r‚z‚|‚„‚Ÿ‚¢‚­‚¹‚Ò‚ş‚ƒCƒmƒsƒyƒ�ƒ†ƒ�ƒ©ƒ¬ƒ·ƒÃȃáƒ␍„&„R„|„‚„ˆ„�„’„š„µ„¸„Äτ脅-…Y…ƒ…‰…�…—…œ…¤…¿……ͅممޅä…ê…ò…ú…††&†A†U††…†Іœ†«†Ɇ݆‡␍‡‡‡,‡;‡V‡j‡”‡š‡Ÿ‡±‡À‡Û‡ï‡ˆ ˆ$ˆ$ˆ$ˆ5ˆ@ˆKˆqˆ‰ˆ”ˆœˆ©ˆ©ˆ®ˆÁˆ؈݈‰‰&‰.‰;‰;‰@‰S‰`‰j‰~‰•‰®‰À‰͉ø‰ Š#Š1Š3ŠGŠ^Š^ŠgŠsЉТеŠÁŠÔШШШŠߊäŠ÷Š‹‹‹!‹4‹@‹M‹W‹W‹i‹ö€k 9 969B9B9X9c9e9�9�9�9ˆ9’9–9š9�9�9¦9ª9À9À9ö9:␍::-:2:5:::::::O:V:c:j:r:w:w:Œ:˜: :¥:¥:º:Ç:Ï:Ô:Ô:é:õ:ş:;;;0;;;^;b;p;x;};};’;¬;¶;Â;Ê;Ï;Ï;î;ú;<
< <+<:<?<N<[<`<`<`<c<h<h<h<‡<“<�< <£<¨<¨<¨<²<º<Á<É<Ò<İ<ã<ñ<û<û<=
="='='=:=B=B=D=D=D=I=I=P=V=Z=a=e=e=e=e=t=t=™=¢=¢=¦=´A÷(¸A¸AÆAÏAİAãAø�1vvvv”vœv¨v¾vÓvávìvûvwwww ww$w:w<wAwOwZwgwnw|wù\‘¤v,v,�,´,—,À,Ù,Ò,ñ,-ó,-%-7-J-J-W-v-v-€-ú8hr>G>GWGfGzG‰G�G•G˜G¹Gû0�—`ˆ`ˆtˆ€ˆ�ˆ‘ˆ©ˆ¬ˆ´ˆü0S[öÒöÒ
ÓÓ Ó)Ó<ÓıP>Nà…à…ì…††† †#†-†7†?†B†H†şTš«VIVIpIƒI†I�I�I²I´IÆIĞIäIäIêIíIAJÿ<˜£¸ˆ¸ˆÌˆÓˆßˆëˆûˆ‰‰‰‰ ,0^à^àlàxàHzˆdd*d6dAdWdCdcdedldwdƒd‹d DƒşLşL"M)M.M6MPMYM[MhMhMjM„MŠMŒM�M›M›M›M›MŸM®M·M¿MÈMĞM×MİMßMûMÿMN$N*N>NCNPNPNdNkNrN{N‰N’N²N¸N¼NÁNÆNÉNÓNÖNæND ®i®i¼iÆiĞiàiåiëi÷iùi j j␍j=jlåü�Ş�ޢ޸ŞÅŞĞŞÔŞÛŞßŞèŞ÷ŞùŞùŞ␍ßßßßßßß&ß´FoÀCÀCæC÷CüCD␍D␍DD(D,D1DFDHDKDODVDjDnDvD‚D‰D�D•D—DŸD­DµD·DºDÏD×DßDíDñDÿD >>j>jNjZjfjvj�j”j¢j³j»jÂjØjşjk%k2kBkHkJk[k}k„kŠk˜k k¶kÁkÇkÍkğkôB»¸f¸fÒfÕfÜfçföføfggg g-g0g2g2g7g<gEgPgVg_grgwgŒg—g¡g¡g·g·gägøg␍hhh h%h,h1h1h7h=hBhBhUhch{h�h†hšh¤h«h«h«h°h°hÙhŞhŞhi.i3i3i3i6i=iCiJiOiOiUi[i`i`iwi�i‹i‘i´iºiÊiÖiÜiêiñióij␍jjjjjjj!j&j*j,j/j:jFjIjKjOjOjTjTjbjŒj˜}ŸÎÎêïö!)16AKQ\lt„‹“›£«°»ÉÉß Ğ1à�à�ô�ô���7�;�@�@�@�L�Q�a�f�f�f�k�k���ˆ�—�¥�®�¾�Ç�É�É�É�É�Ğ�×�Ş�å�ì�ó�ú����� ��‘
H2@¡#¡#ª#°#Ë#Ğ#û#ı#0$$@$G$X$k$¨+ÆjÆjÜjäjïjûjk%kk1k7k7k^kkk–k¯k¯kÙkûkll lEl2lYlfl‘l‘l˜llÉlÉlÉlÓlH<J�õ�õ¸õÂõÆõÊõÏõÑõíõ ö öö|ªÅ¶ù¶ùàùâùéùïùõù÷ùıùú
úú$ú7úEúTúYú[ú`újúzú�ú�ú»úÍú8¶ß¶ß¿ßÄßÏߨßßßáßæßd`µ¦Ó¦ÓÄÓÈÓÕÓ×ÓäÓæÓòÓòÓÿÓÔÔÔÔÔ2Ô;Ô;ÔFÔMÔ\ÔgÔmÔrÔtÔ€Ô‡Ô–Ô¡Ô§Ô¬Ô®ÔºÔêÔÕ Õ0Õ@ÕBÕRÕbÕrÕrÕwÕ‘Õ˜ÕŸÕŸÕŸÕŸÕ¦Õ¼ÕÈÕÎÕÔÕÚÕŞÕŞÕŞÕ ÖÖ(Ö4Ö:Ö@ÖFÖHÖHÖVÖDÃVÖVÖlÖoÖrÖÖ…Ö’Ö•Ö˜Ö�Ö ÖªÖ,cjX‡X‡f‡p‡{‡†‡Œ‡’‡ jn��œ±·
P 66'666N6T6f6f6q6z6€6‡6�6 œ;^®E®E¶EºEÓEæEùEF7F@FQFxF�F�F±FÀFÉFÖFİFGG G(G(G;GKGOGSG Œ×öşş&*8>DDq‡›©ÀÆÒ×å␍ &&,,<␍|1### #+#D#D#G#V#\#e#g#m#v#x#~#ˆ#�#’#’#œ#0 ' … …®…Î…Ô…Ú…Ú…à…„•²øœøœ ����B�U�\�m�’���¨�ª�µ�Ú�å�ğ�ò�ù�����@�("NÜNÜ]Üp܈܈Ü�Ü öÛöÛÜÜ܃H¯H¯m¯t¯‹¯—¯¢¯´¯Å¯¶¯´¯å¯° °°°%°/°6°=°A°C°I°U°_°f°m°q°q°{°€°‹°�°®°Ÿ°�°Î°ï°û°±±±±%±,±0±2±8±D±N±U±\±`±`±m±{±‹±�±®±Ÿ±�±Î±ï±û±²²²²%²,²0²2²8²D²N²U²\²`²`²j²z²Œ²�²�²Œ²½²Ä²Ê²Ö²à²ç²î²ò²ô²ú²³³³³"³"³,³:³C³\³h³l³l³o³x³î³ìN{N{k{ ¡s{…{¡{¬{¾{Å{Ö{Ş{æ{é{÷{#|#|8|:|:|F|N|R|_|_|k|s|w|„|„|„| |«|¼|¼|Á|Ù|è|í|ó|ş|}}} }/}4}:}E}J}J}X}a}m}u}}}…}ˆ}�}“}œ}®}·}È}Ø}Ø}İ}å}í}ğ}ö}ö}û}û}û}~~ ~~+~P~g~t~|~„~�~œ~¢~©~²~¶~¹~Å~Ë~Ò~×~×~å~õ~õ~
*//6AGOU`eet‘—Ÿ¥ªµÇÍÕÛààôú€ €␍€€#€#€E€l€q€q€…€‹€¡€²€¸€½€Ö€Ü€ì€ô€ü€����!�7�H�N�S�l�r�‚�Š�’�˜�����³�¹�Ï�à�æ�ë�ú�‚‚‚!‚'‚.‚3‚3‚I‚O‚e‚v‚|‚~‚�‚“‚�‚¥‚­‚³‚º‚º‚º‚̂Ղæ‚ö‚ö‚û‚û‚ ƒƒ"ƒ5ƒ<ƒBƒJƒPƒ`ƒfƒnƒtƒtƒtƒyƒyƒyƒyƒyƒ˜ƒ¤ƒ©ƒ©ƒ¿ƒȃÓƒ܃çƒòƒ÷ƒ÷ƒ␍„„)„:„@„E„W„]„b„{„™„™„�„�„ª„²„µ„»„Á„ƄƄê„ò„ú„
…………'…E…E…J…J…V…^…a…h…n…s…s…“…›…«…±…¸…Ö…å…í…†␍††††5†=†U†]†`†g†m†m†m†Œ†œ†¨†°†³†º†À†І߆놇‡‡‡‡6‡B‡]‡e‡h‡o‡u‡u‡u‡u‡z‡z‡ƒ‡“‡©‡¯‡LJÚ‡à‡å‡÷‡ı‡ˆˆ$ˆ0ˆ8ˆ;ˆBˆHˆqˆyˆ‰ˆ�ˆ–ˆ–ˆ–ˆ›ˆ›ˆ¤ˆ¼ˆÒˆ؈ğˆ‰ ‰‰9‰?‰R‰‰‰›‰·‰¿‰ʼnʉʉä‰ğ‰ü‰ŠŠ Š Š&Š2Š>ŠIŠIŠNŠNŠhŠtЀЋЋŠ�Š�ЦЬЏоŠÊÕŠÛŠàŠïŠûŠ‹␍‹‹‹-‹8‹A‹M‹U‹X‹^‹d‹i‹}‹Œ‹”‹¬‹´‹·‹½‹Ëۋ㋌Œ%Œ(Œ.Œ4Œ4ŒEŒNŒZŒbŒeŒlŒrŒwŒ‰Œ˜Œ Œ¸ŒÀŒÃŒÊŒĞŒèŒğŒ�)�1�4�;�A�A�Q�Z�f�n�q�w�}�‚�–�¥�­�Ç�Ï�Ò�Ø�Ş�ö�ş� �<�D�G�M�S�S�d�m�y���„�‹�‘�–�¨�·�¿�Ú�â�å�ì�ò�
��4�Q�Y�\�c�i�i�i�i�i�n�n�„�Š�–�œ�¡�³�¹�¾�Ì�Ø�á�í�õ�ø�ÿ��
��+�3�K�S�V�]�c�{�ƒ�¢�¼�Ä�Ç�Î�Ô�Ô�Ô�å�î�ú�‘‘ ‘‘‘)‘8‘D‘_‘g‘j‘q‘w‘�‘›‘½‘Ú‘â‘å‘ì‘ò‘ò‘ò‘ò‘ò‘÷‘÷‘
’%’+’6’;’;’N’d’j’u’w’w’Š’­’³’¾’¾’Ğ’Ù’ê’ï’“““““)“?“E“S“b“g“g“z“�“–“¤“³“¸“¸“ΓÔ“ñ“ ” ”3”9”>”J”S”b”b”g”g”}”ƒ” ”¸”¸”â”è”í”ù”•••••,•2•O•g•g•‘•—•œ•¨•±•À•À•Å•Å•Û•á•ş•––@–F–H–T–]–h–h–h–h–m–{–„–•–—–©–¶–¶–¶–Æ–Ö–Û–ÿ– — ——&—C—S—w—‡—�—�—�—’———¬—¿—ı—␍˜˜˜˜+˜:˜l˜t˜z˜|˜�˜ˆ˜ˆ˜‘˜£˜¶˜¿˜ΘΘÓ˜ؘç˜ğ˜û˜ı˜™™™2™9™?™G™R™X™h™n™v™�™‡™‡™Œ™‘™˜™Ÿ™¦™­™¶™Å™Å™Å™Ê™Ê™Ê™Ü™á™á™ó™ş™ššššššš$š5š8šDšMšYš`šfškškšvš‡šŠš–šŸš«š²š¸š½š½š½š½ššÇšÇšΚҚҚޚçšêšêšõš÷š ›››%›0›;›A›J›N›N›Z›c›f›f›q›s›…›Œ›’›š›¥›°›¶›À›ÛǛǛϛ֛ٛۛæ›ê›ó›ö›ö›œœœ"œ-œ8œ;œAœFœFœMœQœQœ]œfœiœiœtœvœˆœ�œ•œ¤œ¯œºœÀœÉœÍœÍœÙœâœåœåœğœòœ� ���$�/�5�?�B�F�F�N�U�X�Z�e�i�r�u�u�€�‚�š�¡�¬�·�º�À�Å�Å�×�Û�Û�ç�ğ�ó�ó�ş���� �1�<�G�M�R�R�]�b�b�m�r�r�}�€�„�‹���•�š�š�®�³�³�À�Ä�Õ�İ�á�õ�ü�ŸŸ␍ŸŸ!Ÿ'Ÿ7Ÿ;ŸLŸ^ŸiŸmŸmŸzŸ‚ŸŠŸ�Ÿ�Ÿ�Ÿ�Ÿ�Ÿ’Ÿ’Ÿ Ÿ§Ÿ´ŸÀŸΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟΟĞŸĞŸçŸïŸûŸûŸ * B D P ] ] € � ˜ ¡ ª µ ¼ ¼ Æ Æ É Û ù ¡¡4£x¿Ù 4 444!4*464B4W4W4ƒ4‡4Œ4˜4«4µ4¸4Ã4Æ4Î4Ø4°›ÃFŒFŒ\ŒcŒtŒyŒ�Œ{ŒšŒ Œ Œ¬ŒÄŒ±ŒĞŒÓŒÕŒãŒèŒıŒêŒ � � ��-��9�?�?�R�e�x�‹���¨�„�æwæwxxx#x*x,x/x6x=x=xYx]xcxcx{x�x x x¨xÌxìx␍yy3y8yDyOyTyaydy›y¬y±y·y¹y¿yÂyÓyØyÛyãyìyz'z>zQzVzZz|z�z”z«z¾zÃzÇzéz{${7{<{M{R{U{W{]{c{t{y{{‡{‡{‘{š{±{Ä{É{Í{ï{
|*|=|B|]|}|”|§|¬|°|Ò|å|å|}}}}&}(}(}(}6}N}P}P}^}v}v}ˆ}ˆ}‘}�}´}Ô}î}õ}ÿ}~~~~~#~=~D~N~f~h~n~ˆ~�~™~§~²~²~Ì~H‰—ø‚ø‚ƒ%ƒ5ƒ<ƒSƒnƒ€ƒ„ƒÇƒLíü��*�6�L�8�X�Z�m�€�‹�–���`ÊÆ–Æ–Ü–ş– ——$—=—A—G—Z—w—y—y—ª—˜—y—É—Ó—4IR.Ó.Ó7Ó7Ó:ÓHÓVÓYÓ^Óä;�ó�ó¶ó¹ó×óîóÿóÿóô ô%ô%ô@ôFôKôKôTôbônôuô{ô€ôÃôÍôÔôÚôÜôÜôïôõôõôõôõúôõ%õ7õ<õ<õ<õCõJõQõfõmõ‰õ‰õ›õĞL¼°¡°¡Ê¡Õ¡à¡é¡ñ¡ô¡û¡ÿ¡¢¢¢#¢1¢N¢[¢j¢o¢{¢€¢‡¢“¢˜¢›¢¥¢�¢µ¢¾¢Ï¢Í¢Å¢İ¢æ¢ì¢ì¢ú¢ı¢££#£*£.£3£J£b£k£y£•£¡£¡£¹£Ê£Ê£Ñ£í£ù£¤¤¤/¤8¤?¤C¤N¤S¤Z¤w¤¤¤«¤¯¤±¤¼¤È¤Ì¤á¤ã¤ô¤ş¤ ¥¥"¥1¥M¥M¥P¥X¥]¥ß¥Xs…&H&HCHTHaHkH‚HŸH½HÃHÌHÚHàHãHïHŒ ˆ_ˆ_˜_¹_¹_Ç_Ç_Ç_Ç_Ğ_Ğ_×_ñ_`
`
```#`3`3`A`G`G`_`_`e`‹` (kq˜‡˜‡¦‡²‡Â‡É‡Ï‡ @Uafæfætæ|æƒæ¢æ¯æ¯æ²æ´æºæ!$/4æÜæÜóÜİİ İ"$).¾Ü¾ÜËÜÙÜŞÜäÜ#$#(�Ü�Ü�ܬܱܷÜ$8ìv  %;CMejz�˜¢º¿Ïßõı + 3 = M R h r | † � š ¤ ® ¸ Â Ì Ö à ê
  ( 2 < F P f p z � š ¤ ® ¸ Â Ì Ö à ê ô ş !!!&!0!:!D!N!X!b!l!v!€!Š!”!�!¨!²!¼!Ì!%¨Dø˜ø˜™™™*™;™M™O™V™\™l™w™�™Œ™£™¦™¨™º™À™Ğ™Ú™ä™ë™ö™ ššš)š)š)š=š&Ğ1öö"-5NNb{{†Š•½œÉßí F]bjnsš°´´Äà␍**ITZp�†˜À×Üäèê'+Gow|€…–¬ºÎÓìı4tS€�¨®ÄÕÚö&+/4EWey{”¥©©»ãúÿ ␍4JN[[[[nt~…˜¯¯ËÛééÿ4GLRhwpŒœ£±ÏÇô*chsy„£ºªÆÜê,Kwgƒ ¿ÊĞæ÷ü(,Hpx}�†—­»ÏÔíş5Tƒs�¬·½Óäé-5:>CTftˆŠ£´¸¸×í'-7>Qhhh„”¢¢¸ÈİÖñ %4-IYg„„  ­ÍÍÍí'$5:İİİ+İ0İ6İ(¨Ek@š@šVš]šdšršƒš•š—š�š¤š´š¿šÉšÔšëšîšğš› ››#›-›4›?›S›[›[›q›q›q›†›)(&,±/±/¿/Æ/Ğ/Ö/Ü/*0_gVGVGlGG�G”G—GŸG+  ßN N p x ~ ‹ ’ ® ´ ´ ´ Á à Î Ø ß ë ö ü  ␍   ) 3 3 E K [ a f m m � ” £ ¼ ¿ Å Å Ç Í Ó Õ Õ Õ æ ğ õ õ 
!!!(!1!7!=!S!X!_!r!v!v!~!„!Š!”!›!¢!«!½!½!â!æ!ì!ò!""""$"*"0"0"2"6"<"B"H"M"M"M"M"x"‰"‰" "­"±"¹"Î"î"î"ô"÷"û"###$#9#M#U#f#j#{##…#�# #¦#³#µ#Á#ß#å#ğ#$$$$*$0$9$?$T$b$j$n$$ƒ$‰$¢$¤$ª$·$¹$Å$ã$é$ï$õ$ş$%!%%;%D%J%J%_%d%d%k%r%„%‰%‰%‰%£%¥%¿%Á%Û%á%é%í%ô%&&#&/&F&M&S&^&c&c&j&n&u&ƒ&…&�&’&š&¥&«&·&¼&Â&Ç&Ï&Ô&ã&ş&''*'F'H'd'd'k'€'…'�'›' '¦'«'«'²'¶'½'Ë'Í'Õ'Ù'İ'ç'ó'ú'ş'(((%(3(8(D(D(L(L(o(o(}(ƒ(ˆ(Œ(‘(‘(‘(‘(—(™(™(¼(Â(È(Ï(å(ç(ç(ç(ò(ò(ò(÷( *,4+töÄöÄÅÅ,Å4Å<ÅFÅJÅQÅWÅkÅsÅxÅ{ņőřŤůűÅÇÅÎÅÕÅàÅëÅíÅøÅÆÆÆÆÆ0Æ:ÆQÆWÆ]ÆnÆtÆ}Æ�ƕƕÆ�ơƬƱÆÃÆÎÆÒÆàÆâÆæÆõÆõÆõÆÇÇ ÇÇ#Ç‘Ç-Ô@æàæàüàáá*á*áGáZámá€á…á…á£á±áÄá×áßáßáááááááôáöáöáöáıáâ#â#â#â6âAâTâjâoâsâzâ�â¢â©â©â¬âÑâ.LAPq$q$$�$œ$·$¼$Ü$Ş$ù$%%%#%J%/P~� ˆ ˆ.ˆ;ˆIˆ[ˆfˆtˆ�ˆ�ˆ¡ˆ¬ˆºˆÀˆÆˆ04
Á5Á5Ï5Û5ì5ş56661|¼W��ÀÇÖá@GGVe�ŒŒ˜Ÿ¯µÓŞàùÿ
,5@EKRw|Š““š©ÀÀÏÕéğ÷ü␍;DKP[gvŠ�—£µµÌÓÛëı    ! 5 > N ] o x ˆ › £ · Ø ï ó ÿ 
2
D
J
U
a
q
�
†
�
�
¡
¥
±
È
ä
ö
ü
  # 3 E K K P R R W W f l r r v ï␍2�Ää®Ö®ÖÊÖÖÖÚÖŞÖåÖìÖûÖ× ××× ×&×.×4×:×>×>×M×T×\×b×h×j×j×v×38 é.é.÷.ı. //%///6/</4@}‰®ç®ç¼çÇçÎçíçúçúçıçÿçè5ğh îî'/6=CELSVVhh{†¢ÊÒÛãèù 16Phllq�²Îöş%7GY[u�‘‘­Õİæîó*<A[swŠŠŠ¢�¯ÏÛáù+Gow€ˆ��°ÀÒÔî

&NV_gl}“£µºÔìğ(HTZrŠŠŠ–œ§²ÄÔë00D```�‘ŸŸ¨³ÁÜëò  
! 0 ) F W r r ‹ 6D}Š&:CI[[_bj7\Ob°†°†Ğ†ß†è†ñ†õ†ù†‡
‡‡‡ ‡$‡+‡C‡F‡R‡80ı�ß�ߗߜߥ߬߮߳ß9Do|¾¾Îâëñ
:°Äì®�®�Ä�Ë�Ü�á�ö�ã�����,��8�;�=�K�P�e�R�q�t�t�€�•�‚�¡�§�§�º�Í�à�ó���;<‹–nn~�˜�¢­<\!´şHşH0I;IpIaIHIvI¥IªIªI®I¸IÄIßIæIôIöIşIJ4JFJSJkJJ„J‹J°J·JÀJÂJÇJÛJøJ
KK/KLKEKaKeKeKpKwK‰KŒK�K¤K“K°KÈKÊKâKôK÷KùKLşKLLL-L-L;LELmLfL‚L‚L‡L‹L§L³LÎLìLöLúL
M)MM5M7MIM]MnMgM}M�M—M¶M«MÂMÄMÖMàMôMşMNN(N*N>NHNHN^NbNbNbNmNtNˆN N¢NºNÎNåNêNüNO%O;O;O;O`O`OrO=”)–é–é�é¢é®é¿éÁéÑéÜéîéùéêê$ê+êDêHêUêUê_êfêyê‚ê�ê¤êÀêÅêâê>d(=à…à…ì…††† †#†-†7†?†B†H†?$uºhEhEŒE�E“E E©E´EÀEÈEÒEúEúEFFFFFF%F*F*F6F;F;FGFLFLFXF]F]FiFnFnFzFFFF‚F‚F›F©F½FÍFÍFÏFÏFÛFáFæFæFìFøFøFGGG1G9G?G?GPGPGYG\GÃG@è w6£6£S£[£^£l£z£�£˜£°£Æ£Ø£ã£ô£ø£
¤␍¤¤!¤-¤@¤q¤f¤L¤�¤•¤¦¤²¤À¤ޤğ¤¥%¥'¥H¥.¥c¥c¥f¥k¥n¥n¥u¥Œ¥“¥ ¥¥¥´¥Á¥Ô¥Ô¥è¥ì¥¦¦1¦6¦6¦F¦N¦^¦h¦x¦‚¦’¦�¦£¦£¦³¦»¦˦Õ¦å¦ï¦ÿ¦ §§§§2§@§J§O§\§q§q§v§€§�§”§š§Ÿ§Ÿ§¤§®§½§§ȧͧͧÓ§Ù§ާާí§¨ ¨¨%¨8¨@¨F¨O¨f¨z¨‹¨˜¨�¨µ¨Ȩߨì¨ô¨©©©©'©'©,©,©,©,©,©8©8©8©A©Z©o©w©’©£©°©²©Æ©Ë©Ë©Ë©Ö©ä©é©é©ğ©ş©ªª'ª9ªEªKªZª^ªgªpª�ª™ªŸª¥ª¸ªÀªȪõª«««#«#«(«(«/«=«B«U«a«m«s«w«€«…«…«…«…«…«�«¢«¢«¢«¢«¢«³«³«³«³«³«³«³«³«³«³«¼«Õ«ê«ò«␍¬¬+¬-¬A¬M¬R¬R¬R¬[¬u¬�¬†¬¨¬´¬´¬¹¬¹¬¹¬¹¬¹¬¹¬¹¬¹¬άÓ¬Ó¬Ó¬ä¬ï¬ô¬ô¬ÿ¬­)­;­\­|­‡­˜­�­�­�­¦­È­Ñ­â­æ­ş­®®®)®S®\®`®x®ˆ®ˆ®ˆ®ˆ®ˆ®ª®ã®ì®ğ®ö®û®¯␍¯¯¯¯¯!¯5¯S¯^¯c¯i¯n¯n¯�¯•¯»¯Ưίԯԯٯٯè¯ü¯°%°*°0°5°5°H°\°‚°�°•°›°›° ° ° °©°°×°ß°ú° ±±±)±+±+±+±+±+±?±?±?±?±?±?±?±?±?±?±?±?±?±?±?±?±N±]±h±j±j±s±u±u±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‰±‹±‹±¢±ª±¶±¶±º±¿±ϱê±ÿ±²²0²J²M²W²c²‰²©²ɲí²ï²³0³³K³K³N³^³f³�³’³•³¯³½³ɳá³á³ ´´´2´S´d´€´l´œ´®´Ì´ÿ´ı´ò´ç´Ø´␍µ␍µ␍µµµµ2µ@µnµ�µ�µ»µ¾µ͵áµ/¶K¶K¶i¶œ¶š¶�„¶u¶ª¶ª¶ª¶­¶²¶²¶¹¶ɶê¶ö¶KºA°«ÓÀÀ4À8ÀCÀJÀUÀiÀiÀtÀ…ÀŒÀ™À¥À²ÀºÀËÀËÀÔÀÙÀáÀñÀÿÀÁÁ,Á,Á?Á?ÁUÁ�Á�Á•Á—Á—Á¡Á©Á©Á³Á»Á»Á»ÁÌÁÌÁÌÁĞÁØÁŞÁãÁãÁçÁïÁóÁùÁşÁşÁ
 Â/Â9ÂLÂQÂYÂYÂ^Â^ÂeÂq†– ¨®ÂÁÂÆÂÎÂÔÂÔÂÙÂàÂëÂÃÃ-Ã7Ã?ÃEÃWÃ]ÃbÃbÃbÃbÃbÃbÃbÃbÃbÃmÃyÆÖÜä÷üÃÄÃÉÃÑÃÖÃÖÃÖÃŞÃæÃïÃ÷ÃüÃÄ ÄÄÄCÄNÄVÄeÄoÄ�ĆČđđĘĪIJÄÅÄÍÄÕÄêÄìÄ÷ÄÿÄÅÅÅ0Å8Å?ÅEÅIÅMÅ\ÅaÅmŃÅ�ŗŬŸŽÅÉÅÔÅÙÅÙÅÙÅúÅÆÆ!Æ0Æ8Æ@ÆUÆZÆeÆmƂƇƇƓƩƵƽÆÒÆŞÆãÆïÆúÆÿÆÿÆÿÆÿÆÿÆÿÆ
Ç
Ç
Ç
Ç
Ç
Ç
Ç
Ç
Ç
Ç
Ç
ÇÇ5ÇRÇbÇhÇpǃLjÇ�ǘǚǢǵǻÇÃÇËÇÍÇíÇõÇşÇÈÈÈÈ È*ÈRÈ]ÈeÈtÈ~ȗȜȤȩȩȩȲȻȾÈÈÈÖÈèÈêÈüÈÉÉÉÉÉ;É@É@ÉIÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉNÉYÉeÉqɑɤɬÉÌÉÑÉÙÉàÉíÉõÉşÉÊ␍ÊÊÊÊ"Ê>ÊFÊIÊKÊ[ÊeÊeÊeÊgÊzÊ‹Ê�ʑʙÊ�Ê�ʧʬʴʻÊÈÊáÊèÊíÊËË*ËCËKËXËqËxËxË}Ë}Ë}Ë}Ë}Ë}Ë}Ë…Ë�˛˪˯˯˷˿ËÌËÑËÑËÑËÕËÚËÚËêËïËïËïËûËÌÌÌ)ÌEÌXÌ^ÌfÌ{̧̱̂̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̊̌̌̿̿ÌÄÌÏÌÖÌòÌÿÌÿÌÿÌÍÍ,Í:Í2ÏBü|6Ï6ÏLÏWÏ^ÏiÏtϋϖÏ�Ï­ÏÀÏÊÏÊÏæÏĞĞĞĞĞ&Ğ/Ğ6Ğ9Ğ>ĞTĞ^ĞpĞvЂЗĞ�ЦвĞÇĞÎĞÎĞÎĞÜĞêĞôĞ÷ĞÑÑÑ$Ñ)Ñ.Ñ>ÑAÑFÑVÑYÑ]ÑfÑnршшшÑ�ѨѺÑÀÑÌÑáÑèÑğÑÒÒÒ(Ò(Ò/Ò/Ò/Ò=ÒKÒUÒXÒfÒpÒsÒ…ÒŠÒ�ÒŸÒ¢Ò§Ò·ÒºÒ¾ÒÇÒÏÒáÒéÒéÒõÒÓ
Ó
Ó␍ÓÓ6ÓDÓ�ÓChoÅî×îרØ"Ø)Ø4ØGØJØSØZØ]ØmØ{؆ؑؔتضØËØÖØáØìØ÷ØÙÙ%Ù<ÙDÙMÙUÙbÙ}ـنًÙ�٤٬ٿÙÅÙÍÙÍÙÛÙíÙúÙ␍ÚÚÚ.Ú4Ú<Ú<ÚeÚjډڌڌړڠڤگÚÉÚÕÚåÚÛ!Û5Û=ÛGÛfÛzÛzÛğÛD î*î*ø*++EÉÇSS;SFSYSFSsS�S�S‘SšS¡S¥S®S®S¶SºSØSäSğSöST#T#T6TATGTNTSTSTfTqT|TƒT‹T˜T˜TªT¯T¯T¿TÄTÄTÄT×TÜTïTõTüTU%U%U*U*U:U?U?UDUKUSUZU\UdUkUkUzU€U�U”U—U¹U¹UÁUĞUÛUâUäUøUV VVVV$V)V8V?VFV[VoVoVtVtV|V’V—V«V²V·V·VÃVÒVäVóVW
WW'W5WDWaWlWqW€W”W›W¢W²W´WÂWÒWÔWâWïWÿWXX"X.X?XVXXXdXoXqXqX|X�X�X¥X§X»XÍXÔXäXğXYY$YBYBYBYJYUYYYaYeYmYtY„Y�Y©Y®YµYÀYÉYÑYÖYÖYåYòYZ ZZ$Z*Z0Z6Z?ZEZTZaZiZuZƒZšZœZ¥Z°Z²Z¾ZÜZâZèZîZ÷Z[/[7[A[N[f[m[y[ˆ[�[�[ª[¯[Á[Ç[Ç[Ç[Ç[ƒ\FD�šÖ‹Ö‹ê‹ö‹ Œø‹ŒŒ,Œ>ŒFŒGìˆÿ®Y®YĞYÚY␍ZZ2ZVZ[Z_ZgZpZZ†Z�Z”Z©ZºZÙZáZãZ[
[[ [,[1[8[@[F[H[d[i[[k[‹[‘[‘[™[¢[±[Ğ[×[Ù[ø[ÿ[ÿ[ÿ[\'\+\9\L\D\d\i\t\{\ƒ\‰\‹\§\¬\Â\®\Î\Ô\Ô\ğ\õ\]ú\] ]%]A]F]\]H]h]n]u]}]ƒ]…]¡]¦]¼]¨]È]Î]Î]Î]Ö]ß]ß]é]é]^1^E^I^W^j^b^‚^‚^”^HüE€vİvݕݱݶİ×İõİŞ"Ş6ŞNŞUŞZŞ{ޙިŞÅŞÖŞíŞñŞñŞõŞúŞÿŞ ß ßßß9ß<ß<ß<ßAßGßcßqß}߆ߚߢ߫ßÇßÒߪßçßûßûß
ààààIl¬Ã.D.D<DVDCDuDbD�D–DƒDµD¢DÁDÏD×DâDäDïDúDúDE EJP‡—ÎòÎòâòïòşò
óó:óPó<ógó\óó‡óKŒg†^ñ^ñ�ñ³ñ³ñÆñÊñéñýñòòòò ò4ò@òQòVògò{ò€ò‚ò‚ò‚ò›ò³ò³òÍòLP�­æ6æ677 7%7C7R7a7p7~7‰7Œ7œ7Mì8ö/ö/ 0#0&0,010H0_0v0ˆ0®0Õ0Ø0ñ011'1:1M1R1Z1d1l1l1s1|1|1‡1¯1É1Ï1è1222#2<2U2]2h2h2r2r2„2Â2×2é2N$ty>d>didRdsd{dOLu„–ǖǨǽÇÎÇßÇæÇîÇþÇÈÈÈOÈPTHY8b8bJbLbUb^blbqbzb}b‚b�bšb�b§bQ¨!G�`�` `©`¼`É`Õ`á`í`ù`aa a*a3a:aCaZamara„a“aŸa±a±aºaÚaÚaÜaïaña bbb1bRxîˆØlØlñlül mUm\mpmwmm‡m�m˜m m¢mªm²m¹mÀmßm÷mnn5n_nhnŠn¤nÁnën÷noo"o)o)oLoeoŒo¥oÌoåo p%pLpepŒp¥pÌpÌpÛpèpípípüp qqqq q2qKqdq}qqqq†q†q“q˜q˜q˜q©q·qÊqßqr r r r(rErSrqrzrƒr�ržr¸rÔrÔrÔrçrõrs/s/s/s:s=sjslsƒs‰sšs£s¥s²s´sÁsÃsÐsÐsôsösýsttt't)t7t9tGtGtgtgtgtgttt‡tšt»tÈtátétítõtùtuuu u#u'u/u=uKuKueupu†u˜u¸uÏuÚuäuëuvvv0v0vBvGvIvOv`vqv€v‡v˜v¡v£v±v³vÁvÃvÑvÑvÑvõvõvww w#w/w2w@wDwRwVwdwhwhw�wˆw�w›w¬w³wÉwéwüw x xxx-x7x7xExNxdxkx�x•x¾xîxóxyyyy4y6y8y?yPyYy[yiykyyy{y‰y‰y©y©y©y©y©yÈyÈyÈyÓyïyz-z2z2z2zTzYzYzYzyz~z~z~z�z¢z¢z©z«z«z³zµzµz¼z¼z¿zÄzãzùz{:{N{S{S{n{{{}{Œ{•{¯{±{±{¶{±{×{Ù{Ù{á{Ü{|||9|9|9|Z|_|_|_|�|†|†|†|¦|«|«|«|Ê|Ï|Ï|ê|ø|ú| }},}.}.}3}.}T}V}V}^}Y}—}—}—}¢}¢}Ì}Ì}ö}~&~1~G~W~l~„~˜~²~´~Å~ß~ö~ý~õ‚S|.ÆãÆãêãþã ää<äGäeäeäeäräŠäŒäŒäŒä™ä±ä³ä³äÁäÎäæäæä÷ä åTçev×v×�י׹׹׿×Ç×Ï×××ß×å×ò×ò×ØØØØ Ø Ø%Ø*Ø*Ø0Ø5Ø5ØMØ`ØfØkØkØtؔؔؔ؛Ø�Ø�ؤئئججسصصػػØÂØÄØÄØÊØÊØÑØÑØÙØßØåØíØíØíØíØùØÙ ÙÙÙ!Ù)Ù/ÙGÙVÙ`ÙcÙcÙmÙsÙyÙyÙ}Ù…ÙŒÙ�٘٠٦ٮٵٽÙÅÙÉÙÏÙÚÙàÙíÙùÙÿÙÚ ÚÚÚ"Ú&Ú,Ú4Ú;ÚCÚKÚOÚUÚ`ÚeÚ{ڌڑڔÚ:ÛUL˜§ȃȃáƒãƒêƒ„„„.„F„I„[„£„VÔ*[æêæêúêëë"ë0ë6ëEëEëTë_ëjëuë|ëŒë£ë¶ë¼ëÁëÅëÕëÕëëëíë÷ëì#ì%ì>ìBìPìUìUì\ìhìpìƒìíìW\X«&@&@>@E@W@Š@•@¡@¯@£@Ð@Ð@Ü@ä@ó@-A/A\AdAdA‘A©A–AÄAµAÐAÖAåAúAüABBB*B/B8BCBKBVB~BiB]B�BŠB©B¾B«BëBÖBÊB÷BCÿB,C1CKC8CjCWCvC‹CxCªC—C¶C¶CÑCàCÙCôCôCôC D D,DX$nsþcþc)dd3d;dYl  HHH.HHMH:HYHnH[H�HzH™H§H¯HºH¼HÇHÒHÒHñH÷HZ,îÑîÑ÷ÑýÑÒÒ#Ò(Ò[TÒV¡V¡w¡‰¡”¡�¡¿¡É¡סñ¡þ¡þ¡¢¢¢"¢ ¢0¢0¢;¢E¢K¢Q¢T¢b¢i¢�¢ˆ¢‹¢�¢¢¢­¢¸¢Ò¢í¢££@£E£K£Q£\£i£‡£o£�£”£š£¢£§£Ç£¯£УÔ£Ú£â£ç£ç£ô£ú£¤¤!¤%¤+¤3¤8¤8¤Y¤]¤c¤k¤z¤•¤�¤¡¤¥¤«¤³¤¸¤¸¤Ù¤ݤã¤ë¤ë¤ð¤ý¤¥¥$¥(¥.¥6¥V¥>¥_¥c¥i¥q¥q¥~¥œ¥„¥¥¥©¥¯¥·¥×¥¿¥à¥ä¥ê¥ò¥ò¥ò¥¦¦¦¦¦¦&¦F¦R¦`¦e¦s¦‡¦Œ¦Œ¦—¦Ÿ¦§¦°¦¼¦Цݦì¦û¦§§§%§-§:§E§Line truncated
�T�T°T¼TÚTöTUU-U8UMU:UYUaUlUUxU—U�UaôWn=n=Œ=�=¡=¨=¯=´=¶=½=Ä=È=Ú= >&>>>>C>d>d>p>x>‡>Á>Æ>ó>û>? ???#?B?H?g?i?ˆ?“?ª?É?Ï?Ö?Ö?Ü?ß?ã?ô?@&@b$ÜÜ-ÜEÜEÜKÜcxb|¾æ¾æŞæçç
ççç.ç;ç=ç=ç=ç=çJçRçeçyç{ç{çƒç–ç–ç¨çdHÏv9v9�9«9®9·9½9Ô9ë9::B:^:x:}:‚:�:¤:¶:Ã:Ö:ì:;;;0;5;8;R;l;t;|;�;›;µ;½;Å;Ê;ä;ì;ñ;<<<3<M<U<]<_<y<“<›<£<¥<¿<Ç<Ç<Ì<Ñ<Ü<Ü<ç<ç<ó<ó<=E=[=[=k=ed¤¹x‰x‰ˆ‰�‰›‰¡‰©‰·‰Ê‰Ö‰í‰ú‰ú‰ı‰ ŠŠ2Š6Š>ŠfºûÁ*Á*×*Ü*ğ* +++8+B+R+R+i+p+‡+�+—+®+®+Ä+Ä+Ú+Ú+ğ+ğ+,,,,2,2,H,H,^,^,u,u,Œ,Œ,£,£,º,º,Ñ,Ñ,è,è,ÿ,ÿ,--/-7-B-S-^-o-r-t-‹-’-�.g¬÷>>X^emuxƒ••©°³µ¾ÏÏÒÚğó(:JMœh(EKN’N’u’b’�’�’˜’iCşJşJ!K6K;KCKKKSK`KfKoKuKzK‚K�K¤K¦K¨KµKµKÂK·KÓKÙKÛKİKêKêKêKïKøKL LLLL#L+L8L>LILPL`LkLwL•LœL§L­L¾LÂLÊLÊLŞLîLöLùL_Mj8-7á/á/õ/ù/ş/ 0000#0k¤õšî™î™ š0š6š=š=šDšdšišš›š‡š§šºšÌšÕšİšçš›› ›(›2›K›7›W›i›s›{›€›››‡›»›§›Ç›İ›É›ı›é› œœ%œ-œ-œ6œ>œTœmœœ�œ’œ’œ™œ�œ¼œ¾œÜΜäœäœäœèœôœ�#�-�:�[�i�s�u�u���¢�°�³�Ó�×�ö�ú��!�@�D�D�D�J�X�b�{���Œ�˜�š�¢�¨�Á�Ì�Ú�ä�ı�ŸŸŸŸŸ!Ÿ:Ÿ<ŸHŸJŸRŸXŸqŸ‰Ÿ•ŸªŸ¯ŸÁŸĞŸéŸúŸúŸ  ( 4 I N ` o ˆ ™ ™ Ÿ ª ² À Ç Ù lfä>Û>ÛXÛaÛ�Û�Û‡Û�Û—ÛŸÛ§Û­ÛºÛºÛÈÛÍÛÍÛÓÛØÛØÛŞÛãÛãÛéÛîÛîÛÜÜ Ü$Ü$Ü-ÜMÜMÜMÜTÜVÜVÜ]Ü_Ü_ÜeÜeÜlÜnÜnÜtÜtÜ{Ü}Ü}܃܃܊܊ܒܘÜ�ܦܦܦܦܲܺÜÂÜÊÜÒÜÚÜâÜèÜİİİİİ&İ,İ2İ2İ6İ>İEİMİUİYİ_İgİnİvİ~݂݈ݓݙݦݲݸİÀİÄİËİÓİÛİßİåİíİôİüİŞŞŞŞŞ4ŞEŞJŞMŞóŞmÖQQPQdQlQwQ~Q…Q�Q�Q“Q±Q¸QÓQÕQÜQ÷QşQR R R*R*R*R8RBRORoRqR‹R“R“R¯RÍRÒRÙRíRôRSSS3SGSbSeSmSzSšSœS¶S¾S¾SÚSõSõST-Tn`Ñ!Ñ!Ú!á!õ! "","1"O"Q"o"q"ˆ"œ"¥"§"»"Ë"ü"o|2Í€‘€‘–‘§‘¸‘ɑڑ둺‘’’2’=’C’P’e’e’x’‰’�’¤’¿’¿’Ô’Ù’á’é’ï’““%“)“3“H“N“P“]“_“q“q“x“€“’“’“¡“¯““ƓГԓà“ä“ğ“ô“””””*”0”4”>”B”Q”U”d”h”{”””””„”–”¥”´””ݔí”ı”••••••$•9•A•O•Y•g•m•o•o•o•o•o•o•o•o•o•{•ƒ•‹•‘•¦•®•²•º•È•Î•Î•Î•à•æ•ò•ø•– –0–<–B–O–a–o–�–í—pÔ¼íøjøj
kk&k1kGkYkqkvkk†k“kšk¨k¯k±k´k¹k»kÁkÛkõk l#l(l1l8lElYltl{l}l€l…l¨lÆlÒlq$hm�&�&�&£&ª&Ä&r¤b‡VXVXjXqX—XƒX£X¨X¯X¯XÏXåXÑXñXYY#Y(Y/Y/Y7Y>YIYTY\YdYoYzY�Y…Y¥Y­Ys?|^l^lzl�l™l±l»lÆlÆlËlÖlâlílûl mm"m(m=mRmRmfmnm~m‹mšm§m¸mÉm×måmìmòmnnn0n=nNn^ndnunun{n‰nšn§n·not8¬®J®J²J·J¼JÍJÛJäJéJîJğJu88B)0)0=0A0F0Q0[0^0b0j0v0†�öHöH I I,I2I5I=IwÜt®®ĞÛæïÿ#9(MZ]ew}‚¥¸¼ÂÙßïõ";IRbdkpx—¥±Ëêñû
"8Ymy�›ª·ÆÓãñ'FXox~‰�”«ÃÊÊØçé÷ CN‚xT�Şàà6à>àKàkà}à„à�à”àšà�à¢àÄàÄàËàÎàÓàâàæàáááá#á&á+á7áEáIáZáiámáoá~á‚á¤á¨á­á­áÁáÄáĞáÚáááââââQâhâsâwâˆâ“â—â™â¤â¨â¨âÂâÆâÈâÈâÓâ×âñâõâõâõâùâãyˆßıãã2ãHãHãHãJãJãQãSãSãZã\ã\ãiãkãkãxãã�ã�ã�ã•ã—ã—ã¯ã´ã´ãÄãz°‰±ödödee!e{efe[eFe/e�e“eƒe®e®eÇe»eôeùeff%ff1f7f>f_fQfEfsfuf�f�f›fÂfÂfÂfÎf{ †*ö³ö³´´"´-´D´N´N´e´o´Š´ ´®´²´Ò´æ´ú´µµµ(µ9µFµFµMµTµYµ^µcµjµqµ‹µ’µ¢µ¦µ¦µ°µÆµÊµÊµÛµîµ!¶,3¶;¶F¶M¶M¶X¶v¶z¶’¶ƒ¶­¶­¶³¶º¶É¶Ñ¶ß¶æ¶ê¶ì¶ş¶ş¶ş¶··>·L·L·P·e·m·}·ˆ·�·¢·°·¿·Ç·Õ·à·ä·é·ñ·õ·¸¸¸¸&¸(¸7¸>¸B¸V¸^¸l¸s¸w¸‡¸’¸—¸µ¸½¸Ë¸Ò¸Ö¸Ş¸ì¸ó¸÷¸ÿ¸¹¹&¹*¹*¹*¹5¹@¹P¹\¹r¹z¹…¹”¹œ¹§¹¬¹´¹¿¹Ë¹Ï¹Ú¹ß¹ñ¹ù¹ººººº!º>ºJºRºbºrº�º”ºÃº¸º©ºÓºÓºİºäºóº»
»» »#»%»4»<»J»Q»U»U»W»i»i»{»{»{»�»�»Ÿ»§»¿»ë»ù»ı»¼"¼)¼4¼J¼L¼S¼f¼n¼|¼ƒ¼‡¼‰¼œ¼¤¼²¼¹¼½¼½¼½¼½¼Ë¼Ö¼å¼í¼û¼½
½
½½½½*½,½;½=½L½N½]½d½h½|½„½’½™½�½­½¸½½½Û½ã½ñ½ø½ü½¾¾¾¾%¾9¾A¾L¾P¾P¾P¾[¾b¾p¾Š¾š¾¥¾º¾¿¾Ê¾Ú¾æ¾ü¾¿¿¿&¿1¿6¿>¿I¿U¿Y¿d¿i¿{¿ƒ¿�¿�¿�¿�¿¢¿²¿Ç¿Ô¿Ø¿ì¿ı¿À À#À1ÀFÀVÀmÀ†ÀŸÀ¡À¬À´À´À½ÀÚÀëÀÁÁ)Á4Á@ÁHÁJÁUÁ]Á]Á]ÁwÁ…Á“Á¨Á¿ÁÎÁÛÁùÁÂÂÂ$Â>Â>ÂBÂXÂg‚Â�¤¬¬ÂÎÂÎÂáÂüÂÃÃ4ÃCÃPÃnÃ|ÒëûÃÓÃÓÃëÃëÃ÷ÃÄ'Ä0Ä0Ä0Ä<ÄMÄeÄnÄnÄuÄ~Ä„Ä�ÄöÄ|ÌL»föfö„ö�öšöÀöÀöÂöÏöÚöàöñö÷÷÷÷"÷'÷,÷?÷R÷]÷a÷s÷€÷ˆ÷“÷�÷ª÷¸÷¸÷¸÷Ã÷Ş÷É÷ï÷æ÷ù÷û÷øø ø-ø-ø/øKøKøRøXøaøhøkø�ø¡ø”ø©ø¯ø¸ø¸ø¸øËøĞøĞøØøØøãøøøùùùùù4ù:ù?ù?ùTùZù_ù_ùkùˆù¨ù­ù²ù²ù¾ùÛùêùùùúú úúúú úBú_úaú~ú“ú“ú™ú™ú¦ú¯ú¯úÊúÜúçúìúùúû ûû$û;û;ûKûKû]ûcû‹û”û”û–û�û¢û¢û¯ûºûÀûÉûÉûÜûéûûûüüü"üIüRü]übüiüqü„ü™ü�ü¥ü²ü¹üËüàüçüíüöüöüÿüı ı%ı3ıCıQıQıWı^ıgıgızıŒı�ı�ı ı¨ı°ı¼ıÙıàıíıïıöı
şşşş@ş@ş@şMşMşbşmşşŒş—ş¥ş°ş¿şÆşÆşàşóşõşÿÿÿ)ÿ>ÿ>ÿDÿMÿMÿZÿ`ÿrÿrÿÿ‚ÿ�ÿŸÿ¦ÿ±ÿ¶ÿ¾ÿÅÿĞÿÕÿêÿìÿ$*;I[[ahqv—  ¦¯¯ÎÎÛŞäíõ##039BJUgmxx…ˆ�—™»Îãéô  š}@I•  6 H S { f Z ‡ ¥ Ò ½ ± Ş ø ø  ,  Y D 8 e    ‘ « « Ø ñ å ␍#␍6␍*␍X␍I␍d␍‚␍š␍�␍À␍­␍Û␍Ì␍ç␍2&TE`zzzŒ¦¦ÁÎííõ~”�¾33%3)32353>3G3Y3Y3‚3†3‹3�3—3§3®3±3¹3¼3É3Ñ3Ù3á3è3ø3ø34Œ >�U�U²U¹UéUÕUõUúUVV!V7V#VCVsV_VV„V‹V‹V“VšV¥V­V¸VËVÃVãVëV€À-ÀdÀdŞdîdødødee ee+e.e0e9eFeFeTeheheŒe™e™e©e¶e¶eÙeæeæeüe f5fXfafnfnf‘f›f›fÎfggggg�¸ºä@Š@ŠXŠZŠfŠjŠwŠzŠ”Š”Š”ŠšŠ�ЦбŠÅŠÑŠÓŠÓŠÜŠŞŠŞŠçŠéŠéŠòŠôŠôŠıŠıŠ‹ ‹‹‹*‹0‹<‹<‹¤‹‚œWz¶)¶)Ô)å)**(* *@*`*L*l*}*‚*£*�*»*ã*ê*+û*+;+'+G+X+n+Z+†+“+“+«+«+µ+ƒœX{†-†-’-¢-­-×-..%.7.>.E.Y.`.n.†.•.¢.¥.¾.Á.Æ.İ.é.õ.ù./6/„x¬ ¬ ¬6¬=¬D¬c¬r¬�¬�¬Ÿ¬®¬¸¬¸¬½¬Ä¬×¬æ¬ë¬­ ­ ­6­H­L­Z­a­f­f­m­­ˆ­Š­˜­ª­ª­ª­¼­Ç­Ù­ä­ñ­ö­® ®®'®,®9®>®N®S®c®e®u®w®‡®‰®š®£®£®¥®µ®¼®Ì®Ì®ç®ù® ¯¯-¯-¯-¯0¯C¯…\åø¨‹¨‹Ã‹Ê‹Ï‹İ‹ò‹ù‹ŒŒŒŒ Œ2Œ2Œ9ŒoŒ†0ÎÖ††�àÔ¨¦ôü‡L4Cş+ş+ ,,$,,,>,D,M,_,e,h,¤,ˆ(–œá2á2ï2ş233 3‰\DW¦,¦,´,Æ,Ì,Ô,æ,ì,õ,-␍--(-.-1--Š, ÆÑÆÑÔÑÛÑãÑèÑîÑ‹¬!H� � ¬ ¾ Å Ì Û à ÿ ÿ 
#
(
/
>
@
_
_
~
“
€
Ÿ
®
°
Ï
Ï
Ï
Ï
Ş
÷
ğ
  Œ@? FaFacakara—a©a¯aºaÑaàaëaïaúabbb4bKb^bubŠbšbšb¬b²bÃbÉbÙbÙbñbñbcccc!c-c:cFc[crc�cŒc�cªcÁcÙcúcúcdddddd!d)d.d<dJdZd_d_dwdwd|d|d†d‘d£d©dµdÅdĞdÚdŞdçdeeee8eAeAePe`epewe}e‰e‘eœe£e§eºeÀeÍeØeŞeîeşeşe+fMfYfaflfsf~f€f‹f‹f›f f fªfµfÇfÍfÛfèfõfÿfg g%g(g8g?gDgDgXgXg]gagqgzgŒg’g”g”g¢g¨g®g¿gÅgÑgágágágægşgşg␍hh$hBhMhvhˆh“h¥h©h®hµhÇh×hïhöhúhiiij�<KV)) ),)>)T)u)b)�)¥)¥)¯)�`l€ˆ›ˆ›¨›¯›·›Â›Ì›×›ß›î›ø›û› œ!œ1œ1œ?œ�`àôæ˜æ˜ü˜™+™/™>™W™[™a™t™‘™“™“™Ä™²™“™ã™í™�Xn¶Ô¶ÔÜÔîÔóÔ
ÕÕ&Õ0Õ>ÕFÕUÕkÕmÕvՌ՚բժլշÕÂÕÂÕÊÕÒÕÜÕäÕîÕ÷ÕÿÕÖ Ö&Ö7ÖIÖLÖQÖdÖ|Ö�Ö˜Ö˜ÖªÖ­Ö²ÖÅÖİÖñÖùÖùÖ××"×5×;×P×f×h×}דככצ×Å×Ì×××îב83=ÆÒÆÒÏÒÏÒİÒáÒïÒòÒ÷Ò’8>HşÒşÒÓÓÓÓ Ó#Ó(Ó“D*++ +3+=+D+P+h+q+u+‡+�+¬+”Ğy©6ø6ø`øcøjøpøvøxø~ø„ø„ø–ø¡ø¨øµøÂøÕøäøøøşøùù␍ùùù(ù*ù1ù7ùAùAùAùXùjùqù€ù‚ù”ù£ù£ùµù•0+3®+®+·+İ+î+ô+ô+ü+–„\yîìîìíí í(í*í1íAíLíNíXíXí^íoírírí“í�í í¹íÀíÄíĞíãí6î— 
V*V*_*}*‚*˜h÷␍¦^¦^¼^Ç^Ò^à^ë^ñ^___ _+_B_B_T_e_r_x_‰_�_İ_™”"6/6/X/b/n/s/ƒ/‰/�/²/Á/Ï/İ/ô/ü/000*02050505070F0P0Y0a0d0v0š�µÕvOvO¤O©O½OÅOÓO×OàOàOåOòOP2P7P[PcPhPoP…P›P�P³PÉPíPQQ›ˆù®ü®üÆüØüßüæüı
ı)ı.ıHı5ıgıTısıˆıuı§ı”ı³ı³ı³ıÅıÌıëıëıóıœ y}ˆˆ ˆˆˆ�(AÖâÖâøâããããã!ã!ã!ã)ã1ãCãRãCãgãiãiãƒã…ã…ã�ã•ã¯ã´ã´ã´ãÉãËãØãÚãçãéãöãşãä␍ää)ä+ä<äIäIäIäRädäwä}ä…ä‡ä”ä”ä©ä©ä©ä´ä¾äÖäÛäÛäÛäéäïäôäüäåå$å)å)å0å4åBåFåOåVåtå�åˆå‘å­å²å²å²å²åºåÅåÓåÓåóåóåóåúåææ*æ=æ?æ?æ?æRæRæYæ`æeækæ}æ‡æ¢æËæÑæÑæåæêæçç!ç?çRç]çdçhçhçhçhçsç}ç‹ç­ç¸çÕçßçßçíç è;èNè_èvè‰è�è�è�è–è¡è³è¾èÃèÃèÃèÕèéééééé)é4é6é6é6é;éGéGé‘é�H%A/A/O/V/a/o/z/‚/‚/š/¤/ª/°/Ÿ0 .T.TUTBTaTwTpT�T—T T9Jæ'æ'( ((4(U(B(m(~(�(¦(Ç(´(ß(÷(÷()¡TXiö␍ö␍  &7ESeio}€Š¢Lgöıöı%şş2şMş9şmşYşyş�ş{ş¯ş›ş»şÇşÌşØşèşïşüşÿÿÿ&ÿ+ÿ7ÿ<ÿPÿWÿ[ÿfÿkÿvÿ�ÿ˜ÿ¤ÿ©ÿ½ÿÄÿÈÿÈÿÍÿæÿëÿ+0;CCCE^s~ˆ“• ¨¨µ­Íí£àZ�¨b¨bÂbĞbÕbâbğbùbc"cDcMc]cwc‚c’c”c–c c¬c°c½cÉcÛcãcûcÿcÿcÿcÿcd"d<d<dCdFdNdZdcd¹d¤d{�¶+¶+Ô+÷+,,(, ,@,`,L,l,},“,,«,¸,¸,Ğ,Ğ,Ú,¥(æßæßôßàà"à"à(à¦(!'nÒnÒwÒ…Ò‹Ò�Ò’Ò§D]j°8°8Ê8Ñ8Ú8æ8û89 9999 9¨„½Úà¥à¥¦ ¦#¦+¦3¦7¦B¦F¦J¦N¦V¦[¦_¦p¦�¦ƒ¦‡¦˜¦©¦¶¦É¦Ğ¦Ú¦Ú¦Ú¦ì¦©€ğ—ğ— ˜˜˜˜$˜4˜?˜I˜T˜k˜n˜p˜‹˜•˜Ÿ˜¦˜±˜Ã˜Ë˜Ë˜á˜á˜ó˜ª˜b–^–^¼^Ü^ä^ï^ş^_ __6_;_U_t_z__’_¿_È_Ş_ä_ì_ï_ô_`,`1`G`M`U`X`x`}`š`¹`¿`Ç`Ç`Ì`Ò`Õ`à`aa a>aDaIaiarawa–a�a£aÃaÌaÎaíaõabb4bSbYb^b^b^b^bkb|b‡bŸbªb½bÊbâböbccc'c8c=cHcUcucucuc‡c«°)@�@�c�p�u�y�‚���›�¦�±�¹�Ä�Ì�Ï�Û�ã�ı�#ŸŸ3Ÿ<ŸqŸ]Ÿ�Ÿ�Ÿ™Ÿ¤ŸÀŸÇŸëŸ$ $ $ $ … ¬0ùApŒpŒ•Œ¡Œ¬Œ¶Œ¼ŒÆŒÌŒÖŒäŒîŒ�
��� �*�1�=�C�L�w�†�‰�‹�•�§�±�Ã�Í�â�â�å�ï�Ž ŽŽ$Ž)Ž=ŽPŽZŽoŽ}Ž†ŽŽŽœŽ­Ž½ŽÎŽÛŽÛŽèŽèŽðŽþŽE�­l£:@@7@O@_@@‘@©@Ä@Ä@î@ö@ú@ý@AAAAA A'A-A1A6A@AQAXA_AaAeAnAxA{A†A’A•A¦A±A·A¾AÇAàAñAúAB BB!B-B>BOB[BiBkBrByB~B‚B�B–B¹BÇBÑBÛBäBýBCC C(C1C7C;C@CDCQCXCfCpC…C�C˜C±CÂCËCÔCÜCåCëCïCôCúCDD*D8D>DCDKDSD[DhDpD�D‚D¡DªDÅDÙDìDóDüDE EEE'E@E0EPETE®E®  ø„ø„…%…+…¯À�¹é'é'ò'((ù':(J(<(k(Ž(Ž(ž(£(£(·(¼(¼(Ø(Ý(Ý(ý()))))8)8)F)j)�)°)Â)Ô)æ)ö)ö)ö)ö)ö)¿*°$bg9&9&=&U&g&�&±´ªNºNºhºwºwºzºƒº�º�º›º°ºѺãºõºùº »)»;»A»T»]»a»g»p»p»‘»•»¥»²»лâ»è»û» ¼¼¼'¼/¼3¼9¼B¼B¼B¼B¼T¼j¼p¼|¼‘¼˜¼ ¼¬¼Á¼ȼȼȼÖ¼ä¼î¼ñ¼ÿ¼ ½ ½½#½(½8½;½@½P½S½W½`½h½z½‚½‹½¡½§½³½ȽϽ×½é½ï½þ½¾¾¾¾¾$¾2¾<¾?¾M¾W¾Z¾l¾q¾v¾†¾‰¾޾ž¾¡¾¥¾®¾¶¾Ⱦоپپä¾û¾¿¿#¿;¿C¿I¿U¿^¿b¿j¿s¿s¿s¿Œ¿”¿š¿±¿º¿¿È¿οοοÕ¿ç¿ó¿û¿ÀÀÀ ÀÀ²xŽÓŽÓœÓ±Ó¸ÓÃÓåÓÔ5ÔGÔ[ÔaÔmÔvÔ~Ô†ÔˆÔŽÔ”Ô Ô¨Ô®Ô°Ô¶Ô³Ü,ßÖlÖlôlül mmAmXm\mdmlmrm†mŽmŽm–mÏmnôm<nAnSnbndnŽn”n�n¤n¬n´nÀnÈnÐnãnënðnúno"o$o.o=o]oeogo‡o�o�o�ošo¡o´o¼oÅoÅoÊoÎoÖoßoèoðo p'pApkpnp…p’p¦p½pÁpòp qqHqNqPqzq}q}q”q¡qµqÌq×qÛqæqñqrrr>rArSrbrgr‘r—rœr®r½r¿rérìrþr ss9s?s?s?sIsIsTs…s�s�s�s�s™s¥s»sÔsçsîsústttttt t$t7t>tJtQtQthtjtot‚t‰t•tœtœt©t³t³tºtÛtÛtít´}¾oo<o?oEoYoaoroo…oŠoŠo—o o¦o¶oÄoÆoåoöoýo ppp'p:pEpIpZpZpZp_p_pkpzp�p“p˜p¬p²pºpÌpÒpÔpãpðpöpüpqq qq q'q)q.q6q8q=qIqKqPqXqZq_qgqiqnqvqxq}q‡q‰qŽq˜q˜q˜q¨q¨q¨q¿qÅqËqÖqÛqãqüqr rrr"r;rFrQrWrdrirnrnrƒr‹r“r±r¼rÇrÓrÍrÜrårêrïrs ss s&s2s6s;s@sKsVsascsisvs{s€s™s¤s¯s¯sµsÂsÄsÉsÒsësösttttttt.t0t0tCtEtEtXtZtZtmtotot‚t„t„t–t–tœt¡t¡t¸tÌtÁtÙtátètîtöt uu u$u$u&u>uAuCuOuauqu}u”u®u³uÇu×uêuïuïuõu vv&v.v6v:vHvNvSvSvYvmv}v‚v‚vˆvŽv“v“v“v™v¨v»vÈvÌvÑvÑvÕvÚvÚvßvêvövw&w2w2w8wEwGwTw`wow‚w‚w�w›w›w›w›wŸw¤wµwÇwÒwÚwâwäwöwûw xxx(x(x?xOxOxcxoxqxzx†x�x�x£x°x²xÄxÄxÏxÏxÏxÏxÏxK{µ\ãö¶]¶]Ì]Þ]ä]ï]ý] ^ ^ ^2^8^C^S^^^l^y^¥^(28îî  &-48:AHLLTmww‹–¤µ¹¾Ú     ) F F T h m † — › › ›   Î ã ê ý   " J R [ _ d u ‡ — « ­ Æ Ù Ý Ý Ý ù !!%!.!2!7!H!e!e!s!‡!Œ!¥!¶!º!Ì!Ì!Ì!Ñ!à!" "+"1"G"X"]"r"Ž"¶"º"Ã"Ç"Ì"Ý"ö"ö"###3#D#H#H#O#b#f#x#}#™#Á#É#Ò#Ö#Û#ì#$$&$+$D$W$[$m$m$m$m$r$‘$ $Á$Ì$Ò$è$ù$ù$ù$%%,%,%,%;%;%N%e%p%�%†%Œ%–%˜%¤%¤%«%¶%Ë%Í%Ø%í%ù%Line truncated
PPP.P8PAPOPVPXPaPaPgPuP�P”P§P»PÁPÃPÖPÛPÛPøPøP
QQQ Q(Q6Q;Q;QNQTQVQaQsQ†Q†QšQ¦Q¸Q½QÉQÏQÒQéQëQîQşQR R RR-R?RDRPRVRYRpRrRuR…R‰R‘RŸR¤R©R©R¯R·R¼R¼RÂRÂRĞRÖRÜRæRğRşRSSS"S"S$S,S1S6S;S;SASISNSNSSS^ScShSsSxS�S S¥SªS¯S´S¹S¾SÃSÃSÈSÍSéSóSTT!T)T)T7T=TCTMTWTeTzT}TT‰T˜T�T�T�T¥TªT³T³T¸T¸T¾TÆTËTËTĞTÛTàTåTêTùTùT
UUUU$U*U4U>ULUaUdUfUpUU„U„U„UŒU‘UšUŸUŸU¥U­U²U²U·UÂUÇUÌUÑUàUàUñU÷U÷UV VVV%V3VHVKVMVWVfVkVkVkVsVxV�V†V†VŒV”V™V™V¦V¬V¬VºVÀVÆVĞVÚVèVıVWW WW W W W(W-W6W;W;WAWIWNWNW[WaWaWoWuW{W…W�W�W²WµW·WÁWĞWÕWÕWÕWİWâWëWğWğWúWXXXX␍XXX1X6X6X<XFXLXQXQXWXeXnX|X�X�X‡X•X¡X²X¿XÆXÎXØXæXæXëXëXöXöXöXúXÿXÿXY YYYYY'Y6Y>YCYIYIYQYWYeYpYuY{YƒYˆYˆYˆYˆYˆYˆYˆYˆYˆYˆY¡Y§Y°Y¶Y¾YÃYÈYÑYÜYåYíYòYòYòYøYZZZ ZZZZ%Z1Z>ZDZDZMZaZaZgZpZ„Z„Z�Z�Z•Z�Z²Z²Z»Z»Z»ZÀZÅZÅZÍZÒZÒZïZıZ [[["[*[/[/[/[C[L[R[d[n[n[v[v[~[€[€[™[£[¬[®[®[®[´[¸[º[º[º[º[¿[Å[Ë[Ï[J_¸Ğàîtîtu&u2uPuluyu�u£u®uÄu°uĞuØuØuçuçuïuûuv&v5v@vSvYvYvYv^vcvrv}v”v–v›vªvµvÂvÌvÌvÚv¹”*Kˆ ˆ   § ® ± º ½ À Ä É é Ö ù ¡ ¡ ¡¡¡'¡0¡6¡9¡J¡a¡r¡}¡¯¡ºà.¢.<.<L<W<h<k<o<x<<�<œ<²<Ã<Ô<æ<ø<=='=6=6=D=H=L=Q=U=b=i=w=‹=”=š=¨=Á=Ã=Ç=Ñ=Ñ=Ö=Ö=Ö=Û=Û=ê=ó=û=>>>>>+>7>B>G>G>J>O>O>k>w>„>†>†>Š>Œ>Œ>¨>´>À>Â>Â>Å>Ç>Ç>Ô>Ö>Ö>Ù>Ù>â>è>í> ? ? ? ? ? ? ? ? ? ? ? ? ??.?=?L?L?P?P?X?t?x?}?@»,�Ñ�ѬѳѻÑÀÑÆÑ¼˜?aîVîVW
WWAW-WMWRWYWYWyW�W{W›WËW·W×WÜWãWãWãWéWìWğWøWXX.X&XFXPX½PQaQ%Q%_%m%t%„%•%š%·%½%Ä%Ë%Ù%å%÷%3&¾D%.à.àBàPàVàyàà…àªà°à¶à¼à¼àÄà¿ô#œv0v0~0�0‘0�0«0¿0Î0î0û0␍1/1O1]1y1‹1£1º1Å1æ122.292T2m2m2ˆ2±2Ë2æ2ø2333!343E3X3h3u3€3�3¯3¯3»3»3»3Ì3Ù3à3ÿ3444!4,4D4\4e4u4}4‚4¦4¶4Æ4Ñ4å4ê4ò455%5X5r5r5Š5™5¡5°5¹5Á5Ó5ò5ú56␍66 676O6g66‘6¨6±6º6Ì6Ú6Ş6â6À 0…0…9…X…]…Á\…XVÈVÈpÈwÈ„È�ȔȚȬȲÈÊÈĞÈîÈÉ␍ÉÉ5É5ÉEÉZÉ\É_ÉkÉsÉ{ɃɑɗÉ�ɩɩɫɽÉÃÉÈÉÈÉßÉßÉıÉıÉÊÊ"Ê"Ê9ÊBÊQÊgÊrʀʋʛʨʺÊÀÊÊÊÖÊãÊåÊåÊíÊòÊòÊúÊÿÊÿÊË Ë ËËËË Ë$Ë$Ë+Ë0Ë0Ë7Ë<Ë<ËGËLËLËWË\Ë\ËgËlËlËwËwË�Ë—Ë�ˠ˫ˮËÂËÏËŞËåËèËúËüËÌÌ#Ì2Ì2Ì2Ì2Ì<ÌTÌiÌyÌŠÌ�̶̡̧̬ÌÇÌØÌçÌíÌşÌ ÍÍ"Í1Í7ÍBÍHÍ]ÍcÍtÍ͕͕ͥͅ͸ÍÄÍÌÍÜÍãÍéÍúÍÎ
Î'Î<ÎJÎZÎfÎx΃ΒΔΦήγκξÎÌÎÖÎÜÎæÎìÎ÷ÎıÎÿÎ ÏÏ#Ï<ÏJÏJÏPÏWÏ—ÑÂ0#« ¨ ¨?¨i¨q¨q¨¨’¨«¨®¨Ê¨Ê¨Ê¨Ò¨Ô¨Ô¨Ü¨Ş¨Ş¨æ¨è¨è¨ğ¨ğ¨ù¨ÿ¨©©␍©©©"©(©-©-©5©>©D©I©I©N©Z©r©‘©”©©©È©È©È©Ğ©Ò©Ò©Ò©Ú©Ü©Ü©Ü©ä©æ©æ©æ©î©ğ©ğ©û©û©ªªªªª␍ªª*ª8ªFªPªPªPª`ª`ªgªkªqª‰ª—ªªª¶ªßªâªéªûª« «««"«(«-«-«-«4«:«O«W«]««‹«‘«–«–«�«¨«¨«­«¿«Å«Å«Å«Å«¬Ãd)PBPBrB|BBB‰BœB�B«B­B¸BÌBÔBäBéBïB÷BúB CÄLWfÙ0Ù0í0ñ0ö011 11111Å\CVq0q0‡0‡0‹0�0£0¦0«0«0µ0»0»0É0Ë0Õ0Æ8(2–Ò–ÒŸÒŸÒ­Ò±Ò¸Ò»ÒÀÒǨ²ØÎfÎfæfîfùfgg?g™g„gygdgMgŸg´g¤gÏgÔgàgh h!hh-h3h3h@hgh�huh£h¾h¾h¾hÊhÈ Ä&E&E;EFEnEYEME�EzE™E®E›EÛEÆEºEçEõEıEF
FF F F%FRFWF„F‰F£F�FÂF¯FÎFÙFîFÛF␍GúFGGG4GBGJGUGWGbGmGmGrG�G�GªGªG·G¼GÛGİGüGüGüGHÉl¥¼î-î-.0..<.\.u.n.�.¥.’.±.Ä.ä.ö. / //5/5/?/Ê4“œfèfèzèè…è‰è�è¬è´è˼Lw�’�’¶’Á’Ë’ä’ü’““
“ “““.““:“:“Y“q“^“}“‡“ “¸“½““ƓȓΓÔ“ê“דö“ö“ ””#”=”6”I”U”Ì4;D6İ6İ?İKİjİoİqİqİvİÍ”"ğ¦ğ¦ş¦§§§$§/§:§B§M§X§]§s§z§�§Œ§—§™§¤§¯§±§½§È§Ó§Ü§ä§ä§è§ ¨Î€ÚöÙ4Ù4÷4û4ÿ45555.54565E5I5M5U5]5i5~5�5–5�5�5ª5¿5Ïd9Îî2î2$3+333<3M3Z3o3r3u3y3‚3�3š3Ÿ3Ç3Ì3Ù34
4474<4K4w44„4™4Å4Í4Ò4Ò4å4ø45 5+5<5A5A5c5c5c5c5c5s5ˆ5‹5�5’5’5—5¿5Ä5Í5Ú5â5ı566'6E6E6E6R6i6k6k6k6x6�6‘6‘6�6µ6µ6Æ6Ë6ë6ı67-7-7-7:7Q7S7S7S7`7w7y7y7†7�7�7®7¶7»7á7ó78#8#8#808G8I8I8V8m8m8‚8„8‹8­8Ë8Ğ8×8å8ï8ñ8ñ8ñ8␍999999s9Ф/Tåå.åPåPåoåå„å„å“å¥å¿åÇåÎåĞåãåëåëåëåíåíåíåíå æ æ æ ææ æ æ æ æ2æ=æ`æÑxµV”V”l”x”ƒ”ˆ”””Ÿ”¤”«”°”»”À”À”À”ò”ß”ş”••••••G•4•S•z•z•�• •³•ƕ˕˕ޕñ•––––/–B–U–h–j–j–}–�–£–¶–¶–¶–Ä–Ò0Š’èèèèè=è^è^èdèÓ<:E±7±7º7Å7Ó7ß7ë7ô7ı78 88ÔluŒ''''1'8'O'O'T'V'b'l'z'—'™'©'©'®'°'·'é'ÕÜŸÒÎ~Î~â~ í~'4@SF€…±±ÌŞô
€=€L€„€p€Ÿ€¬€Ø€İ€å€� �1�&��A�Z�F�z�f���›�Ç�Ç�Ç�Ç�Ï�ÖL½ÌF/F/d/v/}/œ/œ/®/Á/Î/Ç/æ/ğ/×Èg•!1!1E1I1h1Š1–1�1¨1³1À1É1É1Î1Ø1ğ1û1 222)2:2<2M2O2Q2Q2Q2Y2Y2c2c2k2s2{2ƒ2‡2‘2İ2Ø ¨„¨„¶„ʄЄÙ`FZ88!8(8*8/8>8D8Y8Y8g8g8s8|88�8—8š8¢8Ú<›¦Ş Ş ç ò ı ¡¡¡;¡F¡V¡Û 2Ş_Ş_ö_```%`3`?`V`a`q`ƒ`‰`�`•`¨`®`·`½`Ï`Õ`à`è`ö`a@aÜ, †*†*”*¥*»*Ì*Ï*Õ*İ4`…`…n…x…�…ˆ…�…™…™…Ÿ…ŞÄKxööBöEöJöWö\önöpötöxö{ö�ö§öÉöÒöİöäöıö ÷$÷=÷_÷d÷k÷„÷¦÷¨÷Á÷ã÷ã÷ã÷ø÷ø!ø3øß „ÈNONOlOzO�O’O°O¶O»OÁOÏOÖOåOêOöOPP&P1PDPKPeP‚P�P©PÁPİPæPõPıP
QQQ)Q7QWQ\QdQ}Q�QŸQ¥Q°Q¹Q¿QRïQàQRPR:R+R`RcRƒRSà<*5CC1C7C@CRCkCsC‰C•Cá„ |��ÀËÒÚİİíøøû "(99;DPV|€ƒ“›  §­¾ÄÊÕææïôş *ADS_llllr„Š›¼Íåìöş!1<<<Pdtw2â„9‘6‘6­6¼6Ã6İ677*737A7S7l7l7~7”7œ7Ÿ7«7ãX{͆†±»ÎÙëùÿ 5=Peu�‘¡ª°µ¼ÂÈÎÙäçî*?LOW[m|‡�¦¿ÃÌÓåíôø,:@DFSSSUlrr„ä 
ЄЄلí„ò„å,ıD����º�À�Ë�Ü�á�ç�ê�î�î���I�5�U�n�Z�z�“��Ÿ�¦�«�µ�¸�¼�Á�Ú�Æ�æ�æ�æ�ë�ü�‘‘
‘‘‘.‘3‘i‘U‘u‘�‘z‘š‘°‘œ‘¼‘ÑÈ‘ΑёՑבğ‘Ü‘ü‘ü‘ü‘ü‘’=’I’æˆÍëQQZUUdss‚‚‘‘  ¯¯¾ÒÍÜÜëú çxÈâ†\†\¤\¶\¼\È\ß\ß\ñ\÷\]]]']-]3]>]L]Y]e]s]‚]‚]²]èd�²¶è¶èºèÍèÍèçèîèúèúèéé(é(é?é?éVéVéméoéoésé騯øÎúÎúğú÷úûûû*û5û@ûQûbûyû}û‚û†ûˆû™û«û·ûÉûËûäûóû÷û÷û÷û
ü ü ü+ü1ü;üFüTü[üjülü‚üœüœü®üê`ËßÖ—Ö—ì—˜˜ ˜.˜M˜Q˜W˜j˜‡˜‰˜‰˜º˜¨˜‰˜Ù˜ã˜ëP6F˜C˜C®CºCÂCÆC×CåCëC÷CÿC
DDDDì ®-�7�7¸7Ã7Ç7Ğ7×7Ş7ô788(8:8I8X8i8x8x88ƒ8Œ8™8 8©8°8´8Ô8Ô8Ô8Ô8Ô8à8ä8ç8ï8ı8999"939>9C9C9P9V9e9|9~9‰9–9¥9¨9®9ª9Â9Ù9Û9é9ë9ö9ü9ü9::::3:3:3:8:8:M:[:f:k:k:n:s:s:�:�:ª:¬:¬:°:²:²:Î:Ü:è:ê:ê:í:ï:ï:ü:ş:ş:;;;;;
;;; ;@;M;[;b;*<í(rxЇЇއå‡õ‡ø‡ş‡î(ntÉ&É&Ò&Ü&ì&÷&÷&'ïTzK6î6îTîZî]îfîpîˆî˜î¡î§îªî®î°îÈîØîåîëîïîõî÷îúîşîşî!ï%ï+ï+ï2ïTïiï|ï�ï•ïœï§ï±ïµï¸ï¿ïÅïÉïÏïàïæïëïğïıïÿïğğğ'ğ)ğ;ğ;ğ;ğ;ğ;ğ_ğjğvğ�ğ�ğ¢ğ®ğËğïğ ññ%ñ*ñ8ñOñTñZñkñ€ñ†ñ–ñ£ñ»ñÂñÎñæñòñòñòñøñûñşñòò1ò7ò<òGòGòLòYòfòfòlòzò‘ò—òšò�ò¤ò­ò´ò´ò¹òÆòÓòÓòÙòçòşòóó
óóó"ó)ó6óCóCóJóTó[óaóhósó‡ó‡ó¡ó¦ó­óµó¼óËóÏóØóğóõóüóô)ô/ô7ôPôdôdôôô™ô§ô®ôµô×ôêôõõõ<õ<õ<õUõaõrõŠõ�õcöğ¼ÙÎhÎhæhêhøhiii)iIi+iUiZiZi|i¬i�iƒiÎiÓiûij jj7jjCjHj[jbjj’j’jµjµjÁjñ &*&*5*N*T*ò8�™>I>IWIfIzI‡I�I“I–I·Ió8 ¡.¡.¯.¶.Á.É.Ğ.Ö.Ü.Ü.â.ô Ö*Ö*à*è*í*õôÓŒÖ�Ö�ô�‚‚‚3‚_‚x‚¤‚΂Ô‚Ú‚â‚ä‚삃
ƒƒ!ƒ:ƒfƒƒ«ƒÕƒÛƒáƒéƒîƒöƒ„„ „+„0„I„u„�„º„ä„ê„ğ„ø„ú„…… …+…7…P…|…•…Á…ë…ñ…÷…ÿ…† †'†*†5†A†A†F†L†R†Z†b†m††�†©†½†ç†í†ò†‡‡1‡E‡o‡u‡}‡‚‡”‡£‡¾‡Ò‡ü‡ˆˆˆ(ˆCˆWˆ�ˆ‡ˆŒˆŒˆŒˆ�ˆ¨ˆ³ˆÙˆñˆüˆ‰‰‰‰)‰@‰E‰k‰ƒ‰�‰–‰£‰£‰¨‰»‰ȉÒ‰æ‰ı‰Š(Š5Š`ŠtЋЙЛНЯЯŠÏŠÛŠñŠ
‹‹)‹<‹@‹@‹@‹G‹L‹_‹k‹‚‹„‹‰‹œ‹¨‹µ‹¿‹¿‹Ñ‹ö”k  9 969B9B9X9c9e9�9�9�9ˆ9’9–9š9�9�9¦9ª9À9À9ö9:␍::-:2:5:::::::O:V:c:j:r:w:w:Œ:˜: :¥:¥:º:Ç:Ï:Ô:Ô:é:õ:ş:;;;0;;;^;b;p;x;};};’;¬;¶;Â;Ê;Ï;Ï;î;ú;<
< <+<:<?<N<[<`<`<`<c<h<h<h<‡<“<�< <£<¨<¨<¨<²<º<Á<É<Ò<İ<ã<ñ<ÿ<ÿ< ===O=U=\=k=�=†=†=™=¡=¡=£=£=£=¨=¨=¯=µ=¹=À=Ä=Ä=Ä=Ä=Ó=Ó=ø=>>> B÷(␍ B B.B7BEBKBø�1ŞvŞvüvww&w;wIwTwcwiwiwiwnwsw�wŒw¢w¤w©w·wÂwÏwÖwäwù\‘¤Ş,Ş,ø,-ÿ,(-A-:-Y-n-[-z-�-Ÿ-²-²-¿-Ş-Ş-è-ú8hr¦G¦G¿GÎGâGñG÷GıGH!Hû0�—ȈȈ܈èˆöˆùˆ‰‰‰ü0S[^Ó^ÓrÓzÓ‡Ó‘Ó¤ÓıP>NH†H†T†h†k††‡†‹†•†Ÿ†§†ª†°†şTš«¾I¾IØIëIîIøIJJJ.J8JLJLJRJUJ©Jÿ<˜£ ‰ ‰4‰;‰G‰S‰c‰h‰k‰o‰w‰ ,0ÆàÆàÔàààHzˆ~d~d’d�d©d¿d«dËdÍdÔdßdëdód DƒfMfMŠM‘M–M�M¸MÁMÃMĞMĞMÒMìMòMôMöMNNNNNN N'N0N8N?NENGNcNgNyNŒN’N¦N«N¸N¸NÌNÓNÚNãNñNúNO O$O)O.O1O;O>ONOD jj$j.j8jHjMjSj_jajsjsjuj¥jlåüöŞöŞ
ß ß-ß8ß<ßCßGßPß_ßaßaßußw߀߆߆߆߆ß�ß´Kt(D(DND_DdDkDuDuD}D�D”D™D®D°D³D·D¾DÒDÖDŞDêDñDõDıDÿDEEE E"E7E?EGEUEYEgE >¦j¦j¶jÂjÎjŞjöjüj
kk#k*k@kfk€k�kškªk°k²kÃkåkìkòklll)l/l5lXlôB» g g:g=gDgOg^g`gkgzgzg‡g•g˜gšgšgŸg¤g­g¸g¾gÇgÚgßgôgÿg h h h hLh`huh{h€h‡h�h”h™h™hŸh¥hªhªh½hËhãhéhîhi iiiiiiAiFiFioi–i›i›i›i�i¥i«i²i·i·i½iÃiÈiÈißiéióiùij"j2j>jDjRjYj[jojuj|j|j~j~j~jƒj‰j�j’j”j—j¢j®j±j³j·j·j¼j¼jÊjôj˜}Ÿ66RW^hny‰‘™�©³¹ÄÔÜìóû    # 1 1 G  Ğ1H�H�\�\�‚�‚�Ÿ�£�¨�¨�¨�´�¹�É�Î�Î�Î�Ó�Ó�é�ğ�ÿ�␍��&�/�1�1�1�1�8�?�F�M�T�[�b�i�i�k�k�q�v�}‘
+8 -3
View File
@@ -131,7 +131,7 @@ lgc_start2:
case DOCT_TEXT:
if (doc_e->de_flags & ~(DOCEF_TAG|DOCEF_DEFINE|DOCEF_TAG_CB|
DOCG_BL_IV_UL|DOCEF_WORD_WRAP|DOCEF_HIGHLIGHT|
DOCEF_SKIP|DOCEF_HARD_SKIP|DOCEF_FILTER_SKIP) &&
DOCEF_SKIP|DOCEF_FILTER_SKIP) &&
LexDollar(cc,doc,doc_e) && *(src=cc->dollar_buf)) {
tempf->line_num=doc_e->y+1;
tempf->buf_ptr=cc->cur_buf_ptr=src;
@@ -228,8 +228,13 @@ lgc_start2:
} else {
if (cc->flags & CCF_PMT) {
Free(tempf->buf);
tempf->buf=tempf->buf_ptr=tempf->line_start=
cc->cur_buf_ptr=CmdLinePmt;
ptr=CmdLinePmt;
if (StrCmp(ptr,"\n") && !cc->pmt_line++ && !StrCmp(ptr,"?\n") &&
cc->flags & CCF_QUESTION_HELP) {
Free(ptr);
ptr=StrNew("Help;;\n");
}
tempf->buf=tempf->buf_ptr=tempf->line_start=cc->cur_buf_ptr=ptr;
goto lgc_start1;
} else {
if (src)
+45
View File
@@ -33,6 +33,27 @@ U0 InsDirLinks()
Free(st2);
}
U0 DocHiddenDel(CDoc *doc=NULL)
{
Bool unlock;
CDocEntry *doc_e,*doc_e1;
if (!doc) doc=DocPut;
if (doc) {
unlock=DocLock(doc);
DocRecalc(doc);
doc_e=doc->root.next;
while (doc_e!=doc) {
doc_e1=doc_e->next;
if (doc_e->de_flags&(DOCEF_FILTER_SKIP|DOCEF_SKIP))
DocEntryDel(doc,doc_e);
doc_e=doc_e1;
}
DocRecalc(doc);
if (unlock)
DocUnlock(doc);
}
}
Bool MyPutKey(I64 ch,I64 sc)
{//ch=ASCII; sc=scan_code
@@ -105,6 +126,24 @@ Bool MyPutKey(I64 ch,I64 sc)
"$$BLUE$$";
}
return TRUE;
case SC_F5:
if (sc&SCF_SHIFT) {
if (sc&SCF_KEY_DESC)
KeyDescSet("Edit/Collaborative Fiction");
else
"---- $TX,"Collaborative Fiction",HTML="http://en.wikipedia.org/wiki/Collaborative_fiction"$ ----\n"
"Once upon a time ";
} else {
if (sc&SCF_KEY_DESC)
KeyDescSet("Edit/Moses Comic");
else
"---- Moses Comic ---- "
"(Set in the $TX,"Numbers 11",HTML="http://www.biblegateway.com/passage/?search=Numbers%%%%2011&version=NIV"$ "
"part of the story.)\n"
"Moses says, \"\"\n"
"God says, \"\"\n";
}
return TRUE;
case SC_F6:
if (sc&SCF_SHIFT) {
if (sc&SCF_KEY_DESC)
@@ -173,6 +212,12 @@ Bool MyPutKey(I64 ch,I64 sc)
else
WinTileHorz;
return TRUE;
case 'H':
if (sc&SCF_KEY_DESC)
KeyDescSet("Edit/Del Hidden Doc Entries");
else
DocHiddenDel;
return TRUE;
case 'm':
if (sc&SCF_KEY_DESC)
KeyDescSet("Cmd /Maximize");
+26 -18
View File
@@ -1,25 +1,29 @@
seven nation
cage the elephant
spoonman
joline
Sound garden
black hole
$WW,1$* Redo videos, make more professional.
$WW,1$* I'm going to redo all my videos and make them more professional.
* What if you had a $LK,"ClassRep",A="MN:ClassRep"$() that converted to plain text?
* Why is nontimer $LK,"Rand",A="MN:Rand"$() so bad?
* Nontimer $LK,"Rand",A="MN:Rand"$() is really bad!
* Investigate why packet loss $LK,"Training Sleep(1)",A="FF:::/Adam/Training.CPP,Sleep(1)"$.
* 8/20/2015 TAD8, Tour1, then Tour TestSuite was missing #include "TestSuite".
* Add AVL binary tree support or red/black whatever that is. We have fixed-size stack. Auto-balancing binary tree is very needed. I've done everything myself. I don't want to ruin a perfect record. I'm in no hurry.
* 1/12/16 $LK,"ATARepEntry",A="MN:ATARepEntry"$ shows corrupted buttons.
* 8/20/2015 TAD8, Tour TestSuite was missing #include "TestSuite".
* 1/03/2016 TAD8 Repeated
* Bug introduced around 11/1/15. Changed $LK,"::/Kernel/Sched.CPP"$ and now $LK,"WinToTop",A="MN:WinToTop"$ is called on Adam task at start-up, sometimes.
* 1/12/16 make RAM drive 2288 blks, copy /Home.
* Clean-up $LK,"FileNameAbs",A="MN:FileNameAbs"$().
* $LK,"Mount",A="MN:Mount"$() crashes on bad drive.
* $$DA fixed width string: <Del> or <BACKSPACE> permanently shortens
* Bug 12/25/15 Copy-Paste index.html glitch if source window 40 columns.
* 12/25/2015 Copy-Paste index.html glitch if source window 40 columns.
* 01/10/16 find-replace editor hung on $LK,"CounterRenaissance",A="FI:::/Home/Wb2/CounterRenaissance.TXT"$ "Rennaisance"
* 01/06/2016 Editor filter "str" applied to output from LineRep looks broken.
* Get rid of having two terms and pick one, "Disk" and "BlkDev"? I don't think so. (Probably not.)
@@ -84,8 +88,6 @@ $WW,1$* I'm going to redo all my videos and make them more professional.
* Add change-triangle-color to mesh editor.
* Add 3D-Mesh Editor make-prism.
* Add AVL binary tree support or red/black whatever that is. We have fixed-size stack. Auto-balancing binary tree is very needed. Where could we use?
* DCF_TRANSFORMATION|DCF_SYMMETRY|DCF_JUST_MIRROR -- maybe not both needed at once.
* DiskCache during FileRead. <CTRL-ALT-C>, $LK,"Kill",A="MN:Kill"$().
@@ -372,9 +374,10 @@ assignments. Is ShiftNoPush fully implemented?
================================================================================
>lspci -v
Size:$TX,"17322 KB",D="DD_TEMPLEOSCD_K_SIZE"$
Size:$TX,"17328 KB",D="DD_TEMPLEOSCD_K_SIZE"$
It is love I desire: $TX,"Hosea 6:6",HTML="http://www.biblegateway.com/verse/en/Hosea%206:6"$
Males Appear Three Times: $TX,"Deuteronomy 16:16",HTML="http://www.biblegateway.com/verse/en/Deuteronomy%2016:16"$
Offer a sacrifice of praise: $TX,"Hebrews 13:15",HTML="http://www.biblegateway.com/verse/en/Hebrews%2013:15"$
Do I drink blood of goats? Offer praise: $TX,"Psalms 50:14",HTML="http://www.biblegateway.com/verse/en/Psalms%2050:14"$
When a servant becomes king. $TX,"Proverb 30:22",HTML="http://www.biblegateway.com/verse/en/Proverb%2030:22"$
@@ -385,12 +388,16 @@ Lord does not repeat: $TX,"Job 33:14",HTML="http://www.biblegateway.com/verse/en
Offer only in approved place: $TX,"Deuteronomy 12:13-18",HTML="http://www.biblegateway.com/passage/?search=Deuteronomy%2012:13-18&version=NIV"$
Jesus' zeal for the Temple: $TX,"John 2:14-19",HTML="http://www.biblegateway.com/passage/?search=John%202:14-19&version=NIV"$
Famine not for bread: $TX,"Amos 8:11-12",HTML="http://www.biblegateway.com/passage/?search=Amos%208:11-12&version=NIV"$
Meek and HUmble of Heart: $TX,"Matthew 11:29",HTML="http://www.biblegateway.com/verse/en/Matthew%2011:29"$
TempleOS Logo
$HC,"<img src=\"http://www.templeos.org/images/Logo128x152.jpg\" width=\"640\" height=\"760\" alt=\"\">"$
Cop tying shoe
$HC,"<img src=\"https://goodtimestories.files.wordpress.com/2013/04/cop-tying-shoe-cambridge-county-pd.jpg\" width=\"480\" height=\"376\" alt=\"\">"$
Dragon Scale
$HC,"<img src=\"http://i.imgur.com/zUdfEqy.jpg\" width=\"800\" height=\"640\" alt=\"\">"$
$WW,1$
$TX,"Good Time Bad Times Lyrics",HTML="https://www.google.com/#q=led+zep+good+times+bad+times+lyrics"$
Intel CEO: Brian Krzanich
$TX,"WWW.OSDEV.ORG",HTML="http://www.osdev.org"$
$TX,"Unikernels",HTML="https://ma.ttias.be/what-is-a-unikernel"$
$TX,"Look at PCI interrupt routing.",HTML="http://forum.osdev.org/viewtopic.php?f=1&t=29558"$
@@ -416,5 +423,6 @@ $TX,"CBS News",HTML="http://www.cbsnews.com/live/?ftag= NM14632fc"$
$TX,"Mapping the Commodore 64",HTML="http://unusedino.de/ec64/technical/project64/mapping_c64.html"$
$TX,"C64 Users Guide",HTML="http://www.commodore.ca/manuals/c64_users_guide/c64-users_guide.htm"$
$TX,"C64 Programmers Reference Guide",HTML="http://www.commodore.ca/manuals/c64_programmers_reference/c64-programmers_reference.htm"$
$TX,"8-Bit Pixel Art",HTML="http://8bitdecals.com/8-bit-image-gallery"$
$TX,"8-Bit Japanese Pixel Art",HTML="http://designmadeinjapan.com/magazine/illustration-icon/tumblr-gifs-of-japanese-life"$
$TX,"Risperdal Shortens Life",HTML="http://factmed.com/study-RISPERDAL-causing-LIFE EXPECTANCY SHORTENED.php"$
+13 -13
View File
@@ -2,22 +2,18 @@ $TR-UL,"Adam"$
$ID,2$$TR,"SysMsgFlags"$
$ID,2$sys_msg_flags[0]=0xFF;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=3.120;
$ID,2$registry_version=4.010;
$ID,-2$$ID,-2$$TR-UL,"TempleOS"$
$ID,2$$TR,"TOS"$
$ID,2$I64 tos_code_walk_thru=105,tos_after_egypt_in_action=46;
$ID,-2$$TR,"CircleTrace"$
$ID,2$F64 best_score=4.9425;
$ID,-2$$TR,"BlackDiamond"$
$ID,2$I64 best_score=9;
$ID,-2$$TR,"DiningStars"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"DunGen"$
$ID,2$F64 best_score=20.5295;
$ID,-2$$TR,"CastleFrankenstein"$
$ID,2$F64 best_score=33.8405;
$ID,-2$$TR,"ZoneOut"$
$ID,2$F64 best_score=8.1373;
$ID,-2$$TR,"Varoom"$
$ID,2$F64 best_score=46.2643;
$ID,-2$$TR,"FlapBat"$
$ID,2$F64 best_score=16.4090;
$ID,-2$$TR,"TimeOut"$
@@ -26,20 +22,24 @@ $ID,-2$$TR,"RawHide"$
$ID,2$F64 best_score=96.1279;
$ID,-2$$TR,"KeepAway"$
$ID,2$I64 best_score0=0,best_score1=9999;
$ID,-2$$TR,"Wenceslas"$
$ID,2$F64 best_score=49.8074;
$ID,-2$$TR,"XCaliber"$
$ID,2$I64 best_score=248;
I64 msg_flags=1;
$ID,-2$$TR,"Wenceslas"$
$ID,2$F64 best_score=49.8074;
$ID,-2$$TR,"DiningStars"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"EagleDive"$
$ID,2$I64 best_score=4;
$ID,-2$$TR,"BomberGolf"$
$ID,2$I64 best_score=175;
$ID,-2$$TR,"Varoom"$
$ID,2$F64 best_score=46.2643;
$ID,-2$$TR,"BlackDiamond"$
$ID,2$I64 best_score=9;
$ID,-2$$TR,"CastleFrankenstein"$
$ID,2$F64 best_score=33.8405;
$ID,-2$$ID,-2$$TR,"DemoCompany"$
$ID,2$$TR,"Game1"$
$ID,2$F64 best_score=180.89820;
$ID,2$F64 best_score=169.44508;
$TR,"SimpleVal"$
$ID,2$1272;
$ID,2$1274;
$ID,-2$$ID,-2$$ID,-2$
+9 -9
View File
@@ -25,7 +25,7 @@ U0 TOSInit()
switch (tos_cid) {
case CID_DFT:
DefinePrint("CFG_RAM_DRVS",
"\"b1\nScale2Mem(2048,0x100000,4*1024*1024*1024)\n\"");
"\"b\nScale2Mem(2048,0x100000,4*1024*1024*1024)\n\"");
if (blkdev.auto_mount_ide_cnt) {
//If AutoMount was successful, No need to manually mount in next compile
DefinePrint("CFG_HARD_DRVS","\"\"");
@@ -33,27 +33,27 @@ U0 TOSInit()
} else {
//These two are a crazy guess. ATA:IDE Primary ATAPI:IDE Secondary
DefinePrint("CFG_HARD_DRVS","\"c2s0x1F0\n0x3F4\n0\"");
DefinePrint("CFG_DVD_DRVS","\"t3s0x170\n0\"");
DefinePrint("CFG_HARD_DRVS","\"cs0x1F0\n0x3F4\n0\"");
DefinePrint("CFG_DVD_DRVS","\"ts0x170\n0\"");
bd=Let2BlkDev(':');
if (bd->type==BDT_ATAPI) {
ATARep(FALSE,,&root);
ATAIDDrvs(root,blkdev.boot_drv_let,&ata_drv,&atapi_drv);
if (ata_drv)
DefinePrint("CFG_HARD_DRVS","\"c2p%d\n\"",ata_drv->num);
DefinePrint("CFG_HARD_DRVS","\"cp%d\n\"",ata_drv->num);
if (atapi_drv)
DefinePrint("CFG_DVD_DRVS","\"t3p%d\n\"",atapi_drv->num);
DefinePrint("CFG_DVD_DRVS","\"tp%d\n\"",atapi_drv->num);
} else {
try {
bd=Let2BlkDev('C');
DefinePrint("CFG_HARD_DRVS","\"c2s0x%X\n0x%X\n%d\"",
DefinePrint("CFG_HARD_DRVS","\"cs0x%X\n0x%X\n%d\"",
bd->base0,bd->base1,bd->unit);
} catch
Fs->catch_except=TRUE;
try {
bd=Let2BlkDev('T');
DefinePrint("CFG_DVD_DRVS","\"t3s0x%X\n%d\"",bd->base0,bd->unit);
DefinePrint("CFG_DVD_DRVS","\"ts0x%X\n%d\"",bd->base0,bd->unit);
} catch
Fs->catch_except=TRUE;
}
@@ -82,9 +82,9 @@ U0 TOSDrvTextAttrSet()
"HeapInit\n0\nMemInit\n0\nVarInit\n0\n\n"
#define TOS_CFG "\n" CFG_RAM_DRVS CFG_DVD_DRVS CFG_HARD_DRVS "\n"\
CFG_DSK_CACHE CFG_OPTS
#define TOS_DVD_CFG "Tb1\n0x20000\nt3 \n\n\nAutoMountIDE\nCT\n"
#define TOS_DVD_CFG "Tb\n0x20000\nt \n\n\nAutoMountIDE\nCT\n"
#define TOS_DVD_DBG_CFG "A" CFG_BOOT_RESCUE_DRV\
"b1\nScale2Mem(2048,0x40000)\n\n\n"\
"b\nScale2Mem(2048,0x40000)\n\n\n"\
"DontProbe\nBootRescueDrv\n"\
"C:" CFG_BOOT_RESCUE_DRV_FILE "\n"\
CFG_BOOT_RESCUE_DRV_START "\n\n"
+10 -11
View File
@@ -135,13 +135,12 @@ U0 DistroPrep()
//Once in a while, do these:
// SortHeaders;
// DocOpt("/*");
// DblSpaceScan("/*");
CursorRem("/*");
DelTree("/Demo/*.BI*");
S2T("/*","+r+S");
DocOpt("/*");
DocOpt("/*","+R");
Move(ACD_DEF_FILENAME,ACD_DEF_FILENAME_Z);
}
@@ -289,7 +288,7 @@ U0 MakeTOSDistro()
ISOFileCreate(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSTS_SIZE",
"Download $TX,"TempleOS V3.10",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1f MB)",
"Download $TX,"TempleOS V3.12",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1f MB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -325,7 +324,7 @@ U0 MakeDbgDistro()
ISOFileCreate(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSDBG_SIZE",
"Download $TX,"TempleOS V3.10",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1f MB)",
"Download $TX,"TempleOS V3.12",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1f MB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -373,7 +372,7 @@ U0 MakeLiteDistro()
ISOFileCreate(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSLITE_SIZE",
"Download $TX,"TempleOS V3.10",D="DD_OS_NAME_VERSION"$ - Lite Distro (%0.1f MB)",
"Download $TX,"TempleOS V3.12",D="DD_OS_NAME_VERSION"$ - Lite Distro (%0.1f MB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -406,7 +405,7 @@ U0 MakeUltraDistro()
ISOFileCreate(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSULTRA_SIZE",
"Download $TX,"TempleOS V3.10",D="DD_OS_NAME_VERSION"$ - UltraLite Distro (%0.1f MB)",
"Download $TX,"TempleOS V3.12",D="DD_OS_NAME_VERSION"$ - UltraLite Distro (%0.1f MB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -440,9 +439,9 @@ U0 MakeWebSite()
DelTree("D:/Wb/Home/Budget");
DelTree("D:/Wb/Home/Psalmody");
Del("D:/Wb/Home/*");
Touch("D:/Wb/Home/Wb2/index.TXT.Z","",,Now);
Touch("D:/Wb/Home/Wb2/Downloads.TXT.Z","",,Now);
Touch("D:/Wb/Home/Wb2/TempleOS.TXT.Z","",,Now);
Touch("D:/Wb/Home/Wb2/index.TXT.Z","");
Touch("D:/Wb/Home/Wb2/Downloads.TXT.Z","");
Touch("D:/Wb/Home/Wb2/TempleOS.TXT.Z","");
tempde=tempde1=FilesFind("*",
FUF_RECURSE|FUF_JUST_FILES|FUF_JUST_TXT|FUF_CLUSTER_ORDER);
while (tempde) {
@@ -491,12 +490,12 @@ U0 MakeWebSitePartial()
U0 UpdateISODocDefines()
{
DefinePrint("DD_TEMPLEOSCD_SIZE",
"Download $TX,"TempleOS V3.10",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1f MB)",
"Download $TX,"TempleOS V3.12",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1f MB)",
0.1*(10*Size("D:/Wb/TempleOSCD.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSCD_K_SIZE",
"%d KB",Size("D:/Wb/TempleOSCD.ISO","+s")/1024);
DefinePrint("DD_TEMPLEOSULTRA_SIZE",
"Download $TX,"TempleOS V3.10",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.1f MB)",
"Download $TX,"TempleOS V3.12",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.1f MB)",
0.1*(10*Size("D:/Wb/TempleOSUltra.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSULTRA_K_SIZE",
"%d KB",Size("D:/Wb/TempleOSUltra.ISO","+s")/1024);
+28 -23
View File
@@ -354,9 +354,9 @@ U0 MyBibleLines(U8 *st,I64 num_lines,I64 radix,Bool modulo,Bool plus_one)
I64 i,start;
U8 *verse;
if (*st && (doc_out=DocPut)) {
DocPrint(doc_out,"$$BG,LTGRAY$$");
i=Str2I64(st,radix);
if (modulo) {
if (radix==16)
DocPrint(doc_out,"0x%s-->",st);
@@ -376,7 +376,7 @@ U0 MyBibleLines(U8 *st,I64 num_lines,I64 radix,Bool modulo,Bool plus_one)
DocPrint(doc_out,"-->Line:%d\n",start);
verse=BibleLine2Verse(start);
DocPrint(doc_out,"$TX,"KingJamesBible",HTML="http://www.templeos.org/files/NumBible.TXT"$ (%s) God says...\n$$RED$$",verse);
DocPrint(doc_out,"$TX,"KingJamesBible",HTML="http://www.templeos.org/files/NumBible.TXT"$ (%s)\n$$BG$$\nGod says...\n$$RED$$",verse);
Free(verse);
doc_in=DocNew;
@@ -417,6 +417,7 @@ public U0 GodBooksPassage(U8 *files_find_mask,I64 len=512,
*tempde1=tempde;
I64 i=0;
U8 *st,*st2=NULL;
"$$BG,LTGRAY$$";
while (tempde) {
st=FileRead(tempde->full_name);
tempde->user_data=StrLen(st);
@@ -446,7 +447,7 @@ public U0 GodBooksPassage(U8 *files_find_mask,I64 len=512,
st=FileRead(tempde->full_name);
st2=st+(tempde->user_data+1-len)+i;
st2[len]=0;
"%s\n\n$$RED$$%s$$FG$$\n",tempde->full_name,st2;
"%s\n$$BG$$\nGod says...\n$$RED$$%s$$FG$$\n",tempde->full_name,st2;
Free(st);
}
}
@@ -455,7 +456,7 @@ public U0 GodBooksPassage(U8 *files_find_mask,I64 len=512,
DirTreeDel(tempde1);
}
#define NIST_TIME_OFFSET (-11455-local_time_offset/CDATE_FREQ)
#define NIST_TIME_OFFSET (-7879-local_time_offset/CDATE_FREQ)
#define NIST_TIME_TO_SWITCH 3
public U0 NISTSync()
@@ -487,22 +488,26 @@ U0 InsMyURL()
"Roulette\0Movie\0Metallica\0")) {
case:
if (DocForm(url(CRandHexBeacon5Form *))) {
"$$BG,LTGRAY$$";
if (FileFind("::/Home/Wb2/Files/NISTPassage.TXT.Z"))
Type("::/Home/Wb2/Files/NISTPassage.TXT.Z",0);
"$$TX,\"Guidelines for Talking with God.\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag=MStrPrint("https:/beacon.nist.gov/rest/record/%d",url->timestamp);
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
Free(tag);
MyBibleLines(url->special,20,16,TRUE,TRUE);
}
break;
case:
if (DocForm(url(CRandHexBeacon8Form *))) {
"$$BG,LTGRAY$$";
if (FileFind("::/Home/Wb2/Files/NISTPick.TXT.Z"))
Type("::/Home/Wb2/Files/NISTPick.TXT.Z");
Type("::/Home/Wb2/Files/NISTPick.TXT.Z",0);
"$$TX,\"Guidelines for Talking with God.\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag=MStrPrint("https:/beacon.nist.gov/rest/record/%d",url->timestamp);
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
Free(tag);
GodBooksPassage("C:/Home/Wb2/Files/Text/*",,
Str2I64(url->special,16),TRUE);
@@ -581,69 +586,69 @@ U0 InsMyURL()
break;
case:
if (DocForm(url(CRandDecForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="http://www.randomnumbers.info";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,10,FALSE,TRUE);
}
break;
case:
if (DocForm(url(CRandDecForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="http://www.random.org";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,10,FALSE,FALSE);
}
break;
case:
if (DocForm(url(CRandDecForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="https://passed.pw";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,10,FALSE,FALSE);
}
break;
case:
if (DocForm(url(CRandCertForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="http://virtual-notary.org";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
tag="Here is the certificate";
st=MStrPrint("http://www.templeos.org/Certs/virtual-notary-cert"
"-randomnum-%d.p12",url->cert);
"\n$$TX,\"%Q: %d\",HTML=\"%Q\"$$.\n",tag,url->cert,st;
"\n$$TX,\"%Q: %d\",HTML=\"%Q\"$$.\n$$BG$$",tag,url->cert,st;
Free(st);
MyBibleLines(url->special,20,10,FALSE,FALSE);
}
break;
case:
if (DocForm(url(CRandHexForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="http://qrng.anu.edu.au/NIST.php";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,16,TRUE,TRUE);
}
break;
case:
if (DocForm(url(CRandHexForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="https://www.fourmilab.ch/hotbits/secure_generate.html";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,16,TRUE,TRUE);
}
break;
case:
if (DocForm(url(CRandDecForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="http://www.generatedata.com";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,10,FALSE,FALSE);
}
break;
@@ -658,10 +663,10 @@ U0 InsMyURL()
break;
case:
if (DocForm(url(CRandDecForm *))) {
"$$TX,\"Guidelines for Talking with God\","
"$$BG,LTGRAY$$$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n";
tag="https://www.dublinbet.com";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$\n$$BG$$",tag,tag;
MyBibleLines(url->special,20,10,FALSE,FALSE);
}
break;
+12 -2
View File
@@ -76,12 +76,22 @@ public U0 FrameGrabberToggle()
}
}
public U0 JukeSong(I64 num)
{
AutoComplete;
if (!fg_on)
FrameGrabberToggle;
JukeSongsPuppet("::/Home/Wb2/Files/Psalmody",,num,num+1);
if (fg_on)
FrameGrabberToggle;
}
public U0 JukeLines(I64 start_line,I64 end_line)
{
AutoComplete;
if (!fg_on)
FrameGrabberToggle;
JukeSongsPuppet("::/Apps/Psalmody/Examples",,start_line*5,end_line*5);
JukeSongsPuppet("::/Home/Wb2/Files/Psalmody",,start_line*5,end_line*5);
if (fg_on)
FrameGrabberToggle;
}
@@ -305,6 +315,6 @@ U0 TOSJukeVideo(I64 start=0,I64 end=10)
Free(buf);
AutoComplete;
FrameGrabberToggle;
JukeSongsPuppet("::/Apps/Psalmody/Examples",,start,end);
JukeSongsPuppet("::/Home/Wb2/Files/Psalmody",,start,end);
FrameGrabberToggle;
}
+2 -2
View File
@@ -414,9 +414,9 @@ U0 MPDrawIt(CTask *task,CDC *dc)
zh=-256;
Mat4x4MulXYZ(s2w,&xh,&yh,&zh);
//The layer for core#1 is not cleared automatically
//The layer for core1 is not cleared automatically
//it is persistent. I have carefully syncronized to the update
//cycle initiated by core#0 to prevent flicker.
//cycle initiated by core0 to prevent flicker.
dc->flags|=DCF_TRANSFORMATION;
dc->transform=&EDTransform;
+64
View File
@@ -0,0 +1,64 @@
U0 MemDemo()
{
I64 i;
"$$HL,1$$$$BLACK$$
#define MEM_PAGE_BITS 9
#define MEM_PAGE_SIZE (1<<MEM_PAGE_BITS)
#define MEM_HEAP_HASH_SIZE 1024
#define MEM_FREE_PAGE_HASH_SIZE 0x100
#define MEM_EXTRA_HASH2_PAGES 2
public class CBlkPool
{
CMemBlk *free_page_hash[MEM_FREE_PAGE_HASH_SIZE],
*free_page_hash2[64-MEM_PAGE_BITS];
};
public class CHeapCtrl
{
CBlkPool *bp;
CMemUnused *heap_hash[MEM_HEAP_HASH_SIZE/sizeof(U8 *)];
};
public class CTask //The Fs segment reg points to current CTask.
{
CHeapCtrl *code_heap,*data_heap;
};
$$HL,0$$$$FG$$
";
"$$PURPLE$$Chunks in increments of 8 bytes, owned by the task.$$FG$$\n";
for (i=sizeof(CMemUnused);i<MEM_HEAP_HASH_SIZE;i+=8)
if (i==0x48)
"...\n";
else if (!(0x48<i<0x3C8))
"Fs->data_heap->heap_hash[%X/8]"
"$$BLACK$$ -->$$FG$$[X]$$BLACK$$ -->$$FG$$[X]$$BLACK$$ -->$$FG$$\n",i;
"\n\n";
"$$PURPLE$$Pages of 512 bytes, owned by the system.$$FG$$\n";
for (i=MEM_HEAP_HASH_SIZE;i<MEM_FREE_PAGE_HASH_SIZE*MEM_PAGE_SIZE;
i+=MEM_PAGE_SIZE)
if (i==0x1200)
"...\n";
else if (!(0x1200<i<0x1F200))
"Fs->data_heap->bp->free_page_hash[%X/512]"
"$$BLACK$$ -->$$FG$$[X]$$BLACK$$ -->$$FG$$[X]$$BLACK$$ -->$$FG$$\n",i;
"\n\n";
"$$PURPLE$$Powers of two, owned by the system.$$FG$$\n";
for (i=Bsf(MEM_FREE_PAGE_HASH_SIZE*MEM_PAGE_SIZE);i<64;i++)
if (i==0x1A)
"...\n";
else if (!(0x1A<=i<=0x36))
"Fs->data_heap->bp->free_page_hash2[%X] %016X"
"$$BLACK$$ -->$$FG$$[X]$$BLACK$$ -->$$FG$$[X]$$BLACK$$ -->$$FG$$\n",i,
1<<i+MEM_EXTRA_HASH2_PAGES*MEM_PAGE_SIZE;
"\n\n";
}
MemDemo;
+1 -1
View File
@@ -14,7 +14,7 @@ U0 IntTest()
{//Modify interrupt descriptor table use by all cores.
IntEntrySet(I_USER,&IntBeepOn,IDTET_TRAP);
IntEntrySet(I_USER+1,&IntBeepOff,IDTET_TRAP);
//Issue interupt to core#1
//Issue interupt to core1
MPInt(I_USER,1);
Sleep(1000);
MPInt(I_USER+1,1);
+1 -2
View File
@@ -1,2 +1 @@
¦¬₪„p~?�˜j#Jc¹?†}�ִ‘Nֻ?}s�-9ׁ? y�Dה
א?D­…ֳסח?;�`¾Jכ?�ײA| ¯כ?ֹֹ*jKל?�ֵ˜�[×ם?
Yk─г#ы┤?╢]t²╕└ж?═8Ч<█Б? ╤ЬкКД?▀wъ_Е?rнпЕDИЕ?╠$▌ДХ?KД│$;И?ОДГЧ.Л?╘p╞и4╔Л?
+10 -10
View File
@@ -1,11 +1,11 @@
//This is sorted.
0.077175
0.155571
0.382169
0.396101
0.523144
0.539825
0.540769
0.818686
0.853280
0.897183
0.191824
0.343942
0.612445
0.711101
0.746556
0.758473
0.843496
0.875693
0.922265
0.937839
+1 -2
View File
@@ -1,2 +1 @@
†}�ִ‘Nֻ?;�`¾Jכ?D­…ֳסח?}s�-9ׁ? y�Dה
א?�ֵ˜�[×ם?ֹֹ*jKל?¦¬₪„p~?�ײA| ¯כ?�˜j#Jc¹?
╢]t²╕└ж? ╤ЬкКД?KД│$;И?▀wъ_Е?Yk─г#ы┤?═8Ч<█Б?╘p╞и4╔Л?ОДГЧ.Л?╠$▌ДХ?rнпЕDИЕ?
+10 -10
View File
@@ -1,11 +1,11 @@
//This is unsorted.
0.539825
0.155571
0.077175
0.396101
0.523144
0.540769
0.897183
0.818686
0.382169
0.853280
0.711101
0.875693
0.191824
0.612445
0.937839
0.922265
0.746556
0.843496
0.343942
0.758473
+17 -17
View File
@@ -27,7 +27,7 @@
58.128.177.232 - - [10/Feb/2015:00:46:17 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2014/06/Img030.BMP HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
58.128.177.232 - - [10/Feb/2015:00:48:19 -0800] "GET /Certs/virtual-notary-cert-randomnum-34325.p12 HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
74.51.144.148 - - [10/Feb/2015:00:48:52 -0800] "GET /Wb/Accts/TS/Wb2/TAD/2014/03/Rant140315.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "www.templeos.org"
87.177.35.128 - - [10/Feb/2015:00:49:02 -0800] "GET /Wb/Accts/TS/Wb2/Hymns.html HTTP/1.1" 404 89 "http://444.hu/2014/11/26/a-skizofren-programozo-aki-10-even-at-irt-egy-operacios-rendszert-istennek/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
87.177.35.128 - - [10/Feb/2015:00:49:02 -0800] "GET /Wb/Accts/TS/Wb2/HymnVideos.html HTTP/1.1" 404 89 "http://444.hu/2014/11/26/a-skizofren-programozo-aki-10-even-at-irt-egy-operacios-rendszert-istennek/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
225.87.3.137 - - [10/Feb/2015:00:51:21 -0800] "GET / HTTP/1.1" 200 6329 "http://www.google.fi/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCAQFjAA&url=http%3A%2F%2Fwww.templeos.org%2F&ei=hsbZVNCiLYTWPPKsgXA&usg=AFQjCNFKL3We7L8wuY5up5gkGZtpKv4qtA&sig2=7eCjIh6Ty27MDMpx6g9wsA" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0" "www.templeos.org"
225.87.3.137 - - [10/Feb/2015:00:51:22 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0" "www.templeos.org"
10.182.160.183 - - [10/Feb/2015:00:51:31 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" "www.templeos.org"
@@ -97,7 +97,7 @@
130.98.70.92 - - [10/Feb/2015:01:53:47 -0800] "GET /Wb/Accts/TS/Wb2/TAD/2014/10/Rant141010.html HTTP/1.1" 404 89 "http://www.templeos.org/Wb/Accts/TS/Wb2/TAD/2014/10/Rant141010.html" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRA 5.10 (build 5339); GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322)" "www.templeos.org"
151.190.39.120 - - [10/Feb/2015:01:53:52 -0800] "GET /apple-touch-icon.png HTTP/1.1" 404 89 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3" "www.templeos.org"
31.28.244.154 - - [10/Feb/2015:01:54:27 -0800] "GET / HTTP/1.1" 200 6329 "http://www.google.com/url?url=http://www.templeos.org/&rct=j&frm=1&q=&esrc=s&sa=U&ei=T9XZVMKfDcytPLv8gKgB&ved=0CBQQFjAA&usg=AFQjCNGE6bW93Hv9DZ0KcAYVUpQAPcF_aA" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB0.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; CMDTDF; InfoPath.3)" "www.templeos.org"
31.28.244.154 - - [10/Feb/2015:01:54:30 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB0.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; CMDTDF; InfoPath.3)" "www.templeos.org"
31.28.244.154 - - [10/Feb/2015:01:54:30 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB0.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; CMDTDF; InfoPath.3)" "www.templeos.org"
82.153.251.69 - - [10/Feb/2015:01:59:33 -0800] "GET /Wb/Accts/TS/Wb2/WalkThru.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16" "www.templeos.org"
78.73.194.7 - - [10/Feb/2015:01:59:51 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 589824 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
75.167.213.20 - - [10/Feb/2015:02:01:02 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2013/10/Rant131004.html HTTP/1.1" 404 89 "http://www.templeos.org/Wb/Accts/TS/Wb2/Rants/TAD/2013/10/Rant131004.html" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36" "www.templeos.org"
@@ -109,7 +109,7 @@
211.88.221.103 - - [10/Feb/2015:02:09:05 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko" "www.templeos.org"
52.87.77.86 - - [10/Feb/2015:02:09:09 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko" "www.templeos.org"
52.53.176.225 - - [10/Feb/2015:02:09:13 -0800] "GET /Wb/Demo/DolDoc/Data.CPP.Z HTTP/1.1" 200 950 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
52.87.77.86 - - [10/Feb/2015:02:09:43 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko" "www.templeos.org"
52.87.77.86 - - [10/Feb/2015:02:09:43 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko" "www.templeos.org"
119.225.240.174 - - [10/Feb/2015:02:10:24 -0800] "GET /Wb/Accts/TS/Wb2/TempleOSV0218A.BMP HTTP/1.1" 404 89 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)" "www.templeos.org"
14.6.26.253 - - [10/Feb/2015:02:10:59 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0" "www.templeos.org"
14.6.26.253 - - [10/Feb/2015:02:11:07 -0800] "GET /Wb/Home/Wb2/Downloads.html HTTP/1.1" 200 7102 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0" "www.templeos.org"
@@ -173,7 +173,7 @@
246.2.100.39 - - [10/Feb/2015:03:09:07 -0800] "GET /Wb/Adam/DevInfo.html HTTP/1.1" 200 110324 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "www.templeos.org"
229.137.198.53 - - [10/Feb/2015:03:09:27 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 327680 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
28.130.54.100 - - [10/Feb/2015:03:09:56 -0800] "GET /Wb/Home/Wb2/Files/Text/Walden.TXT HTTP/1.1" 200 652722 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" "www.templeos.org"
50.26.245.193 - - [10/Feb/2015:03:12:00 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/Wb/Home/Wb2/Videos.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" "www.templeos.org"
50.26.245.193 - - [10/Feb/2015:03:12:00 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/Wb/Home/Wb2/TempleOSVideos.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" "www.templeos.org"
228.141.141.213 - - [10/Feb/2015:03:13:19 -0800] "GET /Wb/Apps/Psalmody/Examples/elijah.html HTTP/1.1" 200 34593 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)" "www.templeos.org"
34.222.78.124 - - [10/Feb/2015:03:13:44 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 655360 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
34.222.78.124 - - [10/Feb/2015:03:13:45 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 655360 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
@@ -253,8 +253,8 @@
148.120.95.68 - - [10/Feb/2015:04:52:46 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
75.176.241.118 - - [10/Feb/2015:04:53:12 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.es/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
75.176.241.118 - - [10/Feb/2015:04:53:14 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
75.176.241.118 - - [10/Feb/2015:04:53:21 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
148.120.95.68 - - [10/Feb/2015:04:53:27 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
75.176.241.118 - - [10/Feb/2015:04:53:21 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
148.120.95.68 - - [10/Feb/2015:04:53:27 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
148.120.95.68 - - [10/Feb/2015:04:54:13 -0800] "GET /Wb/Demo/Games/CastleFrankenstein.html HTTP/1.1" 200 259730 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
223.88.111.105 - - [10/Feb/2015:04:56:03 -0800] "GET /Wb/Doc/Welcome.html HTTP/1.1" 200 24269 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
75.176.241.118 - - [10/Feb/2015:04:56:25 -0800] "GET /Wb/Doc/RedSea.html HTTP/1.1" 200 23788 "http://www.templeos.org/Wb/Doc/Demands.html" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
@@ -271,7 +271,7 @@
228.141.169.196 - - [10/Feb/2015:05:24:45 -0800] "GET /Wb/Apps/AfterEgypt/Comics/Moses58.html HTTP/1.1" 200 3650 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)" "www.templeos.org"
222.32.254.206 - - [10/Feb/2015:05:30:20 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.com/" "Mozilla/5.0 (Linux; Android 5.0.2; Nexus 7 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Safari/537.36" "www.templeos.org"
222.32.254.206 - - [10/Feb/2015:05:30:21 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Linux; Android 5.0.2; Nexus 7 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Safari/537.36" "www.templeos.org"
222.32.254.206 - - [10/Feb/2015:05:30:55 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (Linux; Android 5.0.2; Nexus 7 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Safari/537.36" "www.templeos.org"
222.32.254.206 - - [10/Feb/2015:05:30:55 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/" "Mozilla/5.0 (Linux; Android 5.0.2; Nexus 7 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Safari/537.36" "www.templeos.org"
164.176.61.156 - - [10/Feb/2015:05:30:58 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0" "www.templeos.org"
223.88.111.189 - - [10/Feb/2015:05:31:25 -0800] "GET /Wb/Doc/HelpIndex.html HTTP/1.1" 200 19954 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
223.88.111.189 - - [10/Feb/2015:05:31:25 -0800] "GET /files/ASU_Transcripts.pdf HTTP/1.1" 200 13602 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
@@ -291,7 +291,7 @@
34.222.78.124 - - [10/Feb/2015:06:13:46 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 720896 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
34.222.78.124 - - [10/Feb/2015:06:13:47 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 655360 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
52.53.176.0 - - [10/Feb/2015:06:17:23 -0800] "GET /Wb/Apps/AfterEgypt/?M=A HTTP/1.1" 200 4643 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
130.183.37.67 - - [10/Feb/2015:06:19:52 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40105 "http://www.templeos.org/Wb/Home/Wb2/Videos.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36" "www.templeos.org"
130.183.37.67 - - [10/Feb/2015:06:19:52 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40105 "http://www.templeos.org/Wb/Home/Wb2/TempleOSVideos.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36" "www.templeos.org"
150.106.210.108 - - [10/Feb/2015:06:20:25 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
115.70.68.214 - - [10/Feb/2015:06:20:38 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://codigofonte.uol.com.br/artigos/o-programador-que-criou-um-os-para-falar-com-deus" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
115.70.68.214 - - [10/Feb/2015:06:20:39 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -440,7 +440,7 @@
119.156.166.145 - - [10/Feb/2015:10:19:03 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
130.15.226.45 - - [10/Feb/2015:10:21:04 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=d1b39333cdab5cb490d069fe62825a04&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" "www.templeos.org"
52.53.176.137 - - [10/Feb/2015:10:27:25 -0800] "GET /Wb/Apps/Psalmody/Examples/readier.CPP.Z HTTP/1.1" 200 348 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
136.232.213.50 - - [10/Feb/2015:10:33:47 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40265 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2301.0 Safari/537.36" "www.templeos.org"
136.232.213.50 - - [10/Feb/2015:10:33:47 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40265 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2301.0 Safari/537.36" "www.templeos.org"
136.232.213.50 - - [10/Feb/2015:10:34:11 -0800] "GET /Wb/Doc/HolyC.html HTTP/1.1" 200 30095 "http://www.reddit.com/r/TempleOS_Official/comments/2q0k2l/how_can_i_learn_holyc/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2301.0 Safari/537.36" "www.templeos.org"
222.211.142.20 - - [10/Feb/2015:10:37:15 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
70.137.95.233 - - [10/Feb/2015:10:38:34 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -485,7 +485,7 @@
52.53.176.53 - - [10/Feb/2015:11:23:39 -0800] "GET /Wb/Apps/Budget/Load.CPP.Z HTTP/1.1" 200 136 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
58.128.177.232 - - [10/Feb/2015:11:25:53 -0800] "GET /beacon.nist.gov/rest/record/1417188660 HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
58.71.218.57 - - [10/Feb/2015:11:26:06 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
58.71.218.57 - - [10/Feb/2015:11:26:10 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
58.71.218.57 - - [10/Feb/2015:11:26:10 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
112.201.223.166 - - [10/Feb/2015:11:26:49 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
172.177.247.196 - - [10/Feb/2015:11:29:01 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0" "www.templeos.org"
222.58.71.125 - - [10/Feb/2015:11:31:16 -0800] "GET /Wb/Home/Wb2/Files/ HTTP/1.1" 200 5204 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -664,7 +664,7 @@
78.5.254.186 - - [10/Feb/2015:15:45:50 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 589824 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
18.1.147.164 - - [10/Feb/2015:15:48:08 -0800] "GET / HTTP/1.1" 200 6329 "http://www.reddit.com/comments/1aqdxn" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.43 Safari/537.36" "www.templeos.org"
18.1.147.164 - - [10/Feb/2015:15:48:09 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.43 Safari/537.36" "www.templeos.org"
18.1.147.164 - - [10/Feb/2015:15:48:32 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.43 Safari/537.36" "www.templeos.org"
18.1.147.164 - - [10/Feb/2015:15:48:32 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.43 Safari/537.36" "www.templeos.org"
228.141.141.213 - - [10/Feb/2015:15:52:49 -0800] "GET /Wb/Apps/AfterEgypt/Comics/Moses66.html HTTP/1.1" 200 3038 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)" "www.templeos.org"
58.128.177.232 - - [10/Feb/2015:15:53:55 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2013/12/Rant131220.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
131.8.134.171 - - [10/Feb/2015:15:55:02 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2015/11/Rant150210.html HTTP/1.1" 404 89 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "www.templeos.org"
@@ -681,7 +681,7 @@
192.93.245.183 - - [10/Feb/2015:16:46:14 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=d1b39333cdab5cb490d069fe62825a04&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36" "www.templeos.org"
78.19.21.206 - - [10/Feb/2015:16:46:41 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 589824 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
150.244.103.30 - - [10/Feb/2015:16:58:13 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=d1b39333cdab5cb490d069fe62825a04&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257 iPad4,5/J86AP Zite/2.6" "www.templeos.org"
150.244.103.30 - - [10/Feb/2015:16:58:19 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257 iPad4,5/J86AP Zite/2.6" "www.templeos.org"
150.244.103.30 - - [10/Feb/2015:16:58:19 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257 iPad4,5/J86AP Zite/2.6" "www.templeos.org"
119.225.240.14 - - [10/Feb/2015:16:59:20 -0800] "GET /Wb/Accts/TS/Wb2/TempleOSV0218A.BMP HTTP/1.1" 404 89 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)" "www.templeos.org"
131.8.134.171 - - [10/Feb/2015:17:00:02 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2015/11/Rant150210.html HTTP/1.1" 404 89 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "www.templeos.org"
112.77.76.210 - - [10/Feb/2015:17:02:54 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18" "www.templeos.org"
@@ -738,7 +738,7 @@
111.7.18.116 - - [10/Feb/2015:18:41:08 -0800] "GET /Wb/Accts/TS/Wb2/TempleOS.html HTTP/1.1" 404 89 "http://www.reddit.com/r/AskReddit/comments/24e4sf/reddit_what_are_some_of_the_creepiest/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
112.77.76.210 - - [10/Feb/2015:18:43:42 -0800] "GET /Wb/Doc/Demands.html HTTP/1.1" 200 11835 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18" "www.templeos.org"
112.77.76.210 - - [10/Feb/2015:18:46:20 -0800] "GET /Wb/Home/Wb2/3rdParty.html HTTP/1.1" 200 3094 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18" "www.templeos.org"
228.191.84.89 - - [10/Feb/2015:18:49:49 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/Wb/Home/Wb2/Videos.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 YaBrowser/14.10.2062.12061 Safari/537.36" "www.templeos.org"
228.191.84.89 - - [10/Feb/2015:18:49:49 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/Wb/Home/Wb2/TempleOSVideos.html" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 YaBrowser/14.10.2062.12061 Safari/537.36" "www.templeos.org"
82.223.38.239 - - [10/Feb/2015:18:52:38 -0800] "GET /Wb/Home/Wb2/Files/Text/Paradise.html HTTP/1.1" 200 704139 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" "www.templeos.org"
159.151.172.112 - - [10/Feb/2015:18:54:49 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18" "www.templeos.org"
159.151.172.112 - - [10/Feb/2015:18:54:51 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18" "www.templeos.org"
@@ -752,7 +752,7 @@
52.53.176.179 - - [10/Feb/2015:19:19:38 -0800] "GET /Wb/Demo/DolDoc/CallBack.html HTTP/1.1" 200 37017 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
126.106.40.164 - - [10/Feb/2015:19:21:42 -0800] "GET / HTTP/1.1" 200 6329 "http://www.losethos.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
126.106.40.164 - - [10/Feb/2015:19:21:44 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
126.106.40.164 - - [10/Feb/2015:19:22:16 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
126.106.40.164 - - [10/Feb/2015:19:22:16 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
27.241.156.119 - - [10/Feb/2015:19:26:35 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "www.templeos.org"
58.71.218.57 - - [10/Feb/2015:19:26:58 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
58.71.218.57 - - [10/Feb/2015:19:28:39 -0800] "GET /Wb/Home/Wb2/TADRant.html HTTP/1.1" 200 136360 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -791,7 +791,7 @@
89.174.197.231 - - [10/Feb/2015:20:25:40 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
74.51.200.50 - - [10/Feb/2015:20:26:19 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0 Google favicon" "www.templeos.org"
70.90.255.16 - - [10/Feb/2015:20:30:46 -0800] "GET /Wb/Home/Wb2/Downloads.html HTTP/1.1" 200 7086 "http://templeos.org/" "Mozilla/5.0 (X11; Linux i686; rv:25.2) Gecko/20150123 Firefox/31.9 PaleMoon/25.2.1" "www.templeos.org"
136.88.5.205 - - [10/Feb/2015:20:31:59 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
136.88.5.205 - - [10/Feb/2015:20:31:59 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
74.51.144.214 - - [10/Feb/2015:20:33:29 -0800] "GET /Wb/Accts/TS/Wb2/TempleOS.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "www.templeos.org"
224.253.247.40 - - [10/Feb/2015:20:34:26 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=d1b39333cdab5cb490d069fe62825a04&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (Linux; Android 4.4.2; SGH-I337M Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36" "www.templeos.org"
224.253.247.40 - - [10/Feb/2015:20:34:27 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Linux; Android 4.4.2; SGH-I337M Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36" "www.templeos.org"
@@ -894,7 +894,7 @@
199.38.39.172 - - [10/Feb/2015:23:06:30 -0800] "GET /Wb/Accts/TS/Wb2/TempleOS.html HTTP/1.1" 404 89 "http://www.linux.org/threads/linux-kernel-vs-other-kernels.6026/" "Opera/9.80 (Android; Opera Mini/7.6.40234/35.7194; U; en) Presto/2.8.119 Version/11.10" "www.templeos.org"
199.58.211.111 - - [10/Feb/2015:23:09:29 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
98.20.198.134 - - [10/Feb/2015:23:09:31 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=d1b39333cdab5cb490d069fe62825a04&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
98.20.198.134 - - [10/Feb/2015:23:09:51 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
98.20.198.134 - - [10/Feb/2015:23:09:51 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
178.0.187.99 - - [10/Feb/2015:23:13:04 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
78.19.21.206 - - [10/Feb/2015:23:17:41 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 720896 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
129.226.244.66 - - [10/Feb/2015:23:25:01 -0800] "GET /Wb/Kernel/PSect.html HTTP/1.1" 200 151686 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
@@ -938,7 +938,7 @@
74.187.37.30 - - [10/Feb/2015:23:54:34 -0800] "GET /Wb/Accts/TS/Wb2/TempleOSV0218A.BMP HTTP/1.1" 404 89 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)" "www.templeos.org"
69.185.167.13 - - [10/Feb/2015:23:54:53 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Linux; Android 5.0.1; Nexus 5 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36" "www.templeos.org"
131.8.134.171 - - [10/Feb/2015:23:55:02 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2015/11/Rant150211.html HTTP/1.1" 404 89 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "www.templeos.org"
69.185.167.13 - - [10/Feb/2015:23:55:07 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Linux; Android 5.0.1; Nexus 5 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36" "www.templeos.org"
69.185.167.13 - - [10/Feb/2015:23:55:07 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Linux; Android 5.0.1; Nexus 5 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36" "www.templeos.org"
111.92.62.205 - - [10/Feb/2015:23:55:53 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" "www.templeos.org"
111.92.62.205 - - [10/Feb/2015:23:55:54 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" "www.templeos.org"
111.92.62.205 - - [10/Feb/2015:23:56:14 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36" "www.templeos.org"
+15 -15
View File
@@ -26,7 +26,7 @@
58.128.177.232 - - [11/Feb/2015:00:37:06 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2013/11/Rant131108.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
202.176.250.234 - - [11/Feb/2015:00:38:24 -0800] "GET /Wb/Demo/MultiCore/RadixSort.html HTTP/1.1" 200 60928 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "www.templeos.org"
52.221.226.64 - - [11/Feb/2015:00:39:38 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "templeos.org"
127.101.53.207 - - [11/Feb/2015:00:40:12 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (Linux; Android 5.0.1; HTC One_M8 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36" "www.templeos.org"
127.101.53.207 - - [11/Feb/2015:00:40:12 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (Linux; Android 5.0.1; HTC One_M8 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36" "www.templeos.org"
58.128.177.232 - - [11/Feb/2015:00:42:10 -0800] "GET /Wb/Accts/TOS/Wb2/History.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
189.117.13.223 - - [11/Feb/2015:00:42:21 -0800] "HEAD / HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)" "www.templeos.org"
27.241.156.119 - - [11/Feb/2015:00:50:41 -0800] "GET /Wb/Apps/Logic/Load.html HTTP/1.1" 200 3967 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "www.templeos.org"
@@ -64,7 +64,7 @@
214.200.131.51 - - [11/Feb/2015:01:22:58 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (Linux; Android 4.4.2; ALCATEL ONE TOUCH 4037T Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36" "www.templeos.org"
25.28.235.97 - - [11/Feb/2015:01:23:05 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
165.169.82.82 - - [11/Feb/2015:01:25:10 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" "www.templeos.org"
165.169.82.82 - - [11/Feb/2015:01:25:11 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" "www.templeos.org"
165.169.82.82 - - [11/Feb/2015:01:25:11 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" "www.templeos.org"
25.28.235.97 - - [11/Feb/2015:01:25:35 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 206 1 "http://www.templeos.org/Wb/Home/Wb2/Downloads.html" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
25.28.235.97 - - [11/Feb/2015:01:26:37 -0800] "GET /TempleOSUltra.ISO HTTP/1.1" 200 1114112 "http://www.templeos.org/Wb/Home/Wb2/Downloads.html" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
25.28.235.97 - - [11/Feb/2015:01:27:23 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 786432 "http://www.templeos.org/Wb/Home/Wb2/Downloads.html" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
@@ -468,7 +468,7 @@
182.48.85.221 - - [11/Feb/2015:09:16:22 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
83.141.82.225 - - [11/Feb/2015:09:16:44 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.ro/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
83.141.82.225 - - [11/Feb/2015:09:16:44 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
83.141.82.225 - - [11/Feb/2015:09:17:36 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
83.141.82.225 - - [11/Feb/2015:09:17:36 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
112.227.70.67 - - [11/Feb/2015:09:17:41 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2013/09/Rant130913.html HTTP/1.1" 404 89 "http://www.atheistfoundation.org.au/forums/showthread.php?t=21972" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4" "www.templeos.org"
202.176.251.130 - - [11/Feb/2015:09:21:48 -0800] "GET /Wb/Home/Wb2/Files/?D=A HTTP/1.1" 200 5204 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "www.templeos.org"
58.170.132.124 - - [11/Feb/2015:09:22:10 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0" "www.templeos.org"
@@ -477,7 +477,7 @@
78.19.21.206 - - [11/Feb/2015:09:24:35 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 10813440 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
150.57.222.231 - - [11/Feb/2015:09:26:00 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
224.223.108.49 - - [11/Feb/2015:09:28:09 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Googlebot (gocrawl v0.4)" "templeos.org"
150.57.222.231 - - [11/Feb/2015:09:28:52 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
150.57.222.231 - - [11/Feb/2015:09:28:52 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
150.57.222.231 - - [11/Feb/2015:09:28:54 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
182.48.85.221 - - [11/Feb/2015:09:28:54 -0800] "GET /Wb/Doc/Demands.html HTTP/1.1" 200 11835 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
150.57.222.231 - - [11/Feb/2015:09:28:54 -0800] "GET /Wb/Doc/Demands.html HTTP/1.1" 200 11835 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
@@ -486,7 +486,7 @@
150.57.222.231 - - [11/Feb/2015:09:30:05 -0800] "GET /Wb/Apps/AfterEgypt/Comics/Moses47.html HTTP/1.1" 200 2840 "http://www.templeos.org/Wb/Apps/AfterEgypt/Comics/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
58.128.177.232 - - [11/Feb/2015:09:33:05 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2014/08/Rant140826.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" "www.templeos.org"
228.141.169.196 - - [11/Feb/2015:09:33:31 -0800] "GET /Wb/Home/TOSIDComputer.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)" "www.templeos.org"
130.115.199.131 - - [11/Feb/2015:09:37:08 -0800] "GET /Wb/Doc/ImportExports.html HTTP/1.1" 200 19214 "https://www.google.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
130.115.199.131 - - [11/Feb/2015:09:37:08 -0800] "GET /Wb/Doc/ScopingLinkage.html HTTP/1.1" 200 19214 "https://www.google.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
189.135.83.213 - - [11/Feb/2015:09:41:09 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Googlebot (gocrawl v0.4)" "templeos.org"
175.133.186.103 - - [11/Feb/2015:09:43:32 -0800] "GET /Wb/Home/Wb2/Downloads.html HTTP/1.1" 200 7086 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
27.210.37.110 - - [11/Feb/2015:09:44:20 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Twitterbot/1.0" "www.templeos.org"
@@ -515,7 +515,7 @@
87.5.200.32 - - [11/Feb/2015:10:18:58 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2014/06/Rant140618.html HTTP/1.1" 404 89 "http://vpihnul.ru/" "Opera/7.54 (Windows NT 5.1; U) [pl]" "www.templeos.org"
106.171.103.114 - - [11/Feb/2015:10:23:39 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.de/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 OPR/27.0.1689.66" "www.templeos.org"
228.141.141.213 - - [11/Feb/2015:10:25:18 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)" "www.templeos.org"
106.171.103.114 - - [11/Feb/2015:10:25:27 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 OPR/27.0.1689.66" "www.templeos.org"
106.171.103.114 - - [11/Feb/2015:10:25:27 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 OPR/27.0.1689.66" "www.templeos.org"
155.193.28.70 - - [11/Feb/2015:10:26:07 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
143.94.237.51 - - [11/Feb/2015:10:29:00 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
129.66.239.134 - - [11/Feb/2015:10:36:46 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Jakarta Commons-HttpClient/3.1" "www.templeos.org"
@@ -649,7 +649,7 @@
112.240.191.115 - - [11/Feb/2015:13:44:04 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36" "www.templeos.org"
74.51.214.50 - - [11/Feb/2015:13:44:52 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0 Google favicon" "www.templeos.org"
240.92.54.138 - - [11/Feb/2015:13:46:25 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
240.92.54.138 - - [11/Feb/2015:13:46:34 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
240.92.54.138 - - [11/Feb/2015:13:46:34 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
38.191.148.193 - - [11/Feb/2015:13:55:13 -0800] "GET /files/DICTIONARY.TXT HTTP/1.1" 200 2555904 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60" "www.templeos.org"
27.210.37.110 - - [11/Feb/2015:13:59:05 -0800] "GET /Wb/Kernel/Memory.html HTTP/1.1" 404 89 "-" "Twitterbot/1.0" "www.templeos.org"
82.39.137.4 - - [11/Feb/2015:14:01:26 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=d1756393434cb7a7170f4fceda22c860&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -705,7 +705,7 @@
193.22.148.87 - - [11/Feb/2015:14:52:26 -0800] "HEAD /TempleOSCD.ISO HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 2.0.50727)" "www.templeos.org"
88.41.4.142 - - [11/Feb/2015:14:53:19 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
131.8.134.171 - - [11/Feb/2015:14:55:01 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2015/11/Rant150211.html HTTP/1.1" 404 89 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "www.templeos.org"
88.41.4.142 - - [11/Feb/2015:14:55:51 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/Wb/Home/Wb2/TempleOS.html" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
88.41.4.142 - - [11/Feb/2015:14:55:51 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/Wb/Home/Wb2/TempleOS.html" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
2.18.244.210 - - [11/Feb/2015:14:58:01 -0800] "GET /Wb/Accts/TS/Wb2/TAD/Files/Text/2Cities.html HTTP/1.1" 404 89 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60" "www.templeos.org"
2.18.244.210 - - [11/Feb/2015:14:58:01 -0800] "GET / HTTP/1.1" 200 6329 "http://www.templeos.org" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60" "www.templeos.org"
131.8.134.171 - - [11/Feb/2015:15:00:02 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/2015/11/Rant150211.html HTTP/1.1" 404 89 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "www.templeos.org"
@@ -798,7 +798,7 @@
48.232.145.192 - - [11/Feb/2015:17:38:56 -0800] "GET /Wb/Home/Wb2/3rdParty.html HTTP/1.1" 200 3094 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
48.232.145.192 - - [11/Feb/2015:17:39:47 -0800] "GET /files/ASU_Transcripts.pdf HTTP/1.1" 200 13602 "http://www.templeos.org/Wb/Home/Wb2/History.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
215.134.105.68 - - [11/Feb/2015:17:44:23 -0800] "GET / HTTP/1.1" 200 6329 "http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCAQFjAA&url=http%3A%2F%2Fwww.templeos.org%2F&ei=cwXcVPDVCpLwoAT-0oCgBg&usg=AFQjCNFKL3We7L8wuY5up5gkGZtpKv4qtA&bvm=bv.85970519,d.cGU" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
215.134.105.68 - - [11/Feb/2015:17:44:43 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
215.134.105.68 - - [11/Feb/2015:17:44:43 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
215.134.105.68 - - [11/Feb/2015:17:45:03 -0800] "GET /TempleOS.html HTTP/1.1" 200 12669 "http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCoQFjAB&url=http%3A%2F%2Fwww.templeos.org%2FTempleOS.html&ei=cwXcVPDVCpLwoAT-0oCgBg&usg=AFQjCNFgKoJBriQLYGUTwabTk3qxKB7Xfg&bvm=bv.85970519,d.cGU" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
48.232.145.192 - - [11/Feb/2015:17:45:11 -0800] "GET /Wb/Home/Wb2/LineRep.html HTTP/1.1" 200 110073 "http://www.templeos.org/Wb/Home/Wb2/TempleOS.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
112.130.98.166 - - [11/Feb/2015:17:45:44 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "templeos.org"
@@ -834,7 +834,7 @@
192.140.118.152 - - [11/Feb/2015:18:38:24 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 720896 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
183.160.76.101 - - [11/Feb/2015:18:38:57 -0800] "GET / HTTP/1.1" 200 6329 "-" "ZEEFscraper 0.3 (+https://zeef.com/scraper)" "www.templeos.org"
183.160.76.101 - - [11/Feb/2015:18:38:57 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "ZEEFscraper 0.3 (+https://zeef.com/scraper)" "www.templeos.org"
52.53.176.20 - - [11/Feb/2015:18:51:14 -0800] "GET /Wb/Accts/TS/Wb2/Hymns.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
52.53.176.20 - - [11/Feb/2015:18:51:14 -0800] "GET /Wb/Accts/TS/Wb2/HymnVideos.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
119.225.255.174 - - [11/Feb/2015:18:55:04 -0800] "GET /Wb/Accts/TS/Wb2/TempleOSV0218A.BMP HTTP/1.1" 404 89 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)" "www.templeos.org"
212.15.17.5 - - [11/Feb/2015:18:58:13 -0800] "GET /Wb/Adam/Snd/SndMath.html HTTP/1.1" 200 111985 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "www.templeos.org"
215.73.32.178 - - [11/Feb/2015:18:59:33 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.44 like Chrome/37.0.2026.117 Safari/537.36" "www.templeos.org"
@@ -863,13 +863,13 @@
16.254.102.53 - - [11/Feb/2015:19:29:43 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.co.uk/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
234.111.185.200 - - [11/Feb/2015:19:29:43 -0800] "GET / HTTP/1.1" 200 6329 "-" "www.ahmadsoftware.com" "www.templeos.org"
52.53.176.53 - - [11/Feb/2015:19:30:08 -0800] "GET /Wb/Accts/TS/Wb2/Rants/TAD/TADRants.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
207.244.49.30 - - [11/Feb/2015:19:30:53 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36" "www.templeos.org"
207.244.49.30 - - [11/Feb/2015:19:30:53 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36" "www.templeos.org"
207.244.49.30 - - [11/Feb/2015:19:31:44 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
175.175.225.39 - - [11/Feb/2015:19:35:17 -0800] "GET /Wb/Home/Wb2/Downloads.html HTTP/1.1" 200 7086 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" "www.templeos.org"
190.241.251.38 - - [11/Feb/2015:19:45:40 -0800] "GET /apple-touch-icon.png HTTP/1.1" 404 89 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" "www.templeos.org"
190.241.251.38 - - [11/Feb/2015:19:45:41 -0800] "GET /apple-touch-icon-72x72.png HTTP/1.1" 404 89 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" "www.templeos.org"
82.144.237.15 - - [11/Feb/2015:19:53:49 -0800] "GET / HTTP/1.1" 200 6329 "http://disqus.com/embed/comments/?base=default&version=0523ff5c0c3046e85673af71613146f3&f=hausdorff&t_u=http%3A%2F%2Fblog.nullspace.io%2Fkernel-latency.html&t_d=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&t_t=84%25%20of%20a%20single-threaded%201KB%20write%20in%20Redis%20is%20spent%20in%20the%20kernel&s_o=default" "Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0" "www.templeos.org"
82.144.237.15 - - [11/Feb/2015:19:54:52 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0" "www.templeos.org"
82.144.237.15 - - [11/Feb/2015:19:54:52 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0" "www.templeos.org"
61.87.248.67 - - [11/Feb/2015:19:55:26 -0800] "GET /Wb/Home/Wb2/Files/Text/Yankee.TXT HTTP/1.1" 200 663207 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36" "www.templeos.org"
82.144.237.15 - - [11/Feb/2015:19:55:40 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
52.53.176.42 - - [11/Feb/2015:19:56:47 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
@@ -889,7 +889,7 @@
52.53.176.236 - - [11/Feb/2015:20:41:43 -0800] "GET /Wb/Accts/TS/TAD/MusicOrgan/battlehymnsolo.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)" "www.templeos.org"
129.226.244.238 - - [11/Feb/2015:20:42:40 -0800] "GET /Wb/Doc/KeyAlloc.html HTTP/1.1" 200 6621 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
222.23.138.147 - - [11/Feb/2015:20:43:36 -0800] "GET /Wb/Home/Wb2/TADRant.html HTTP/1.1" 200 3600 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
222.23.138.147 - - [11/Feb/2015:20:43:59 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
222.23.138.147 - - [11/Feb/2015:20:43:59 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
121.139.44.4 - - [11/Feb/2015:20:44:39 -0800] "GET /Wb/Doc/Charter.html HTTP/1.1" 200 10431 "-" "creepyCrawler" "www.templeos.org"
58.71.218.57 - - [11/Feb/2015:20:44:40 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
121.139.44.4 - - [11/Feb/2015:20:45:40 -0800] "HEAD /robots.txt HTTP/1.1" 404 0 "-" "creepyCrawler" "www.templeos.org"
@@ -1015,7 +1015,7 @@
175.107.111.93 - - [11/Feb/2015:22:41:21 -0800] "GET / HTTP/1.1" 200 6329 "http://www.best-sport-videoclips.com/sport=sportnews" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; FunWebProducts)" "www.templeos.org"
122.43.121.5 - - [11/Feb/2015:22:41:58 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "templeos.org"
122.43.121.5 - - [11/Feb/2015:22:42:11 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0" "templeos.org"
240.177.94.44 - - [11/Feb/2015:22:42:13 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
240.177.94.44 - - [11/Feb/2015:22:42:13 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
240.177.94.44 - - [11/Feb/2015:22:42:52 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
190.248.157.66 - - [11/Feb/2015:22:43:24 -0800] "GET /images/Machine.jpg HTTP/1.1" 200 90402 "http://motherboard.vice.com/read/gods-lonely-programmer" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "templeos.org"
190.248.157.66 - - [11/Feb/2015:22:43:51 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
@@ -1025,7 +1025,7 @@
70.112.108.22 - - [11/Feb/2015:22:49:04 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://www.templeos.org/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18" "www.templeos.org"
111.127.160.133 - - [11/Feb/2015:22:50:30 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.35 Safari/537.36 OPR/28.0.1750.15 (Edition beta)" "www.templeos.org"
111.127.160.133 - - [11/Feb/2015:22:50:35 -0800] "GET /Wb/Home/Wb2/Downloads.html HTTP/1.1" 200 7086 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.35 Safari/537.36 OPR/28.0.1750.15 (Edition beta)" "www.templeos.org"
129.226.244.80 - - [11/Feb/2015:22:50:36 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
129.226.244.80 - - [11/Feb/2015:22:50:36 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
111.127.160.133 - - [11/Feb/2015:22:50:56 -0800] "GET /Wb/Home/Wb2/Files HTTP/1.1" 301 105 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.35 Safari/537.36 OPR/28.0.1750.15 (Edition beta)" "www.templeos.org"
111.127.160.133 - - [11/Feb/2015:22:50:56 -0800] "GET /Wb/Doc/AboutTempleOS.html HTTP/1.1" 200 4925 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.35 Safari/537.36 OPR/28.0.1750.15 (Edition beta)" "www.templeos.org"
39.83.94.17 - - [11/Feb/2015:22:55:35 -0800] "GET /Wb/Doc/MultiCore.html HTTP/1.1" 200 5292 "-" "Mozilla/5.0 (compatible; XoviBot/2.0; +http://www.xovibot.net/)" "www.templeos.org"
+6 -6
View File
@@ -20,7 +20,7 @@
18.199.184.33 - - [12/Feb/2015:00:27:52 -0800] "GET /Wb/Doc/AboutTempleOS.html HTTP/1.1" 200 4925 "http://templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
18.199.184.33 - - [12/Feb/2015:00:27:54 -0800] "GET /Wb/Home/Wb2/3rdParty.html HTTP/1.1" 200 3094 "http://templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
18.199.184.33 - - [12/Feb/2015:00:31:02 -0800] "GET /Wb/Home/Wb2/TempleOS.html HTTP/1.1" 200 12669 "http://templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
147.59.227.112 - - [12/Feb/2015:00:31:06 -0800] "GET /Wb/Accts/TS/Wb2/Videos.html HTTP/1.1" 404 89 "-" "Pinterest/0.2 (+http://www.pinterest.com/)" "www.templeos.org"
147.59.227.112 - - [12/Feb/2015:00:31:06 -0800] "GET /Wb/Accts/TS/Wb2/TempleOSVideos.html HTTP/1.1" 404 89 "-" "Pinterest/0.2 (+http://www.pinterest.com/)" "www.templeos.org"
34.87.144.98 - - [12/Feb/2015:00:34:59 -0800] "HEAD /TempleOSCD.ISO HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 2.0.50727)" "www.templeos.org"
164.151.148.185 - - [12/Feb/2015:00:37:23 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:25.2) Gecko/20150122 PaleMoon/25.2.1" "www.templeos.org"
18.199.184.33 - - [12/Feb/2015:00:39:13 -0800] "GET /Wb/Adam/God/HSNotes.html HTTP/1.1" 200 35828 "http://templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -114,7 +114,7 @@
146.195.0.189 - - [12/Feb/2015:01:44:43 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
146.195.0.189 - - [12/Feb/2015:01:44:52 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.pl/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" "www.templeos.org"
146.195.0.189 - - [12/Feb/2015:01:44:53 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.pl/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36" "www.templeos.org"
146.195.0.189 - - [12/Feb/2015:01:45:18 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
146.195.0.189 - - [12/Feb/2015:01:45:18 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
46.48.190.210 - - [12/Feb/2015:01:45:44 -0800] "GET /Wb/Apps/Psalmody/Examples/blinded.html HTTP/1.1" 200 24692 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "www.templeos.org"
46.48.190.210 - - [12/Feb/2015:01:47:21 -0800] "GET /Wb/Demo/SortFileExample/SortedF64.html HTTP/1.1" 200 2725 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "www.templeos.org"
15.88.213.93 - - [12/Feb/2015:01:47:29 -0800] "GET /TempleOS.html HTTP/1.1" 200 12685 "-" "DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)" "www.templeos.org"
@@ -228,7 +228,7 @@
117.45.170.127 - - [12/Feb/2015:03:33:40 -0800] "GET /Wb/Compiler/ HTTP/1.1" 200 8721 "http://www.reddit.com/user/TempleOS_Terry_Davis" "Mozilla/5.0 (Windows NT 6.3; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
117.45.170.127 - - [12/Feb/2015:03:34:24 -0800] "GET /Wb/Compiler/UAsm.CPP.Z HTTP/1.1" 200 6806 "http://www.templeos.org/Wb/Compiler/" "Mozilla/5.0 (Windows NT 6.3; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
231.231.121.111 - - [12/Feb/2015:03:40:51 -0800] "GET /Wb/Accts/TS/TAD/Adam3cKeyPlugIns.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
231.231.121.111 - - [12/Feb/2015:03:40:51 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
231.231.121.111 - - [12/Feb/2015:03:40:51 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "www.templeos.org"
52.209.44.154 - - [12/Feb/2015:03:42:20 -0800] "GET /Wb/Accts/TS/Wb2/TempleOS.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "www.templeos.org"
154.241.32.105 - - [12/Feb/2015:03:44:33 -0800] "GET /Wb/Compiler/CmpMain.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" "www.templeos.org"
40.89.142.17 - - [12/Feb/2015:03:47:47 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0" "www.templeos.org"
@@ -241,7 +241,7 @@
147.190.232.70 - - [12/Feb/2015:03:55:02 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; linkdexbot/2.0; +http://www.linkdex.com/bots/)" "templeos.org"
147.190.232.70 - - [12/Feb/2015:03:55:02 -0800] "GET /Wb/Doc/Credits.html HTTP/1.1" 200 9704 "-" "Mozilla/5.0 (compatible; linkdexbot/2.0; +http://www.linkdex.com/bots/)" "www.templeos.org"
147.190.232.70 - - [12/Feb/2015:03:55:02 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; linkdexbot/2.0; +http://www.linkdex.com/bots/)" "www.templeos.org"
105.108.89.95 - - [12/Feb/2015:03:55:04 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "-" "mifetcher/1.0" "www.templeos.org"
105.108.89.95 - - [12/Feb/2015:03:55:04 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "-" "mifetcher/1.0" "www.templeos.org"
147.255.165.35 - - [12/Feb/2015:03:55:34 -0800] "HEAD / HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)" "www.templeos.org"
147.59.8.215 - - [12/Feb/2015:03:57:31 -0800] "GET /robots.txt HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; linkdexbot/2.0; +http://www.linkdex.com/bots/)" "www.templeos.org"
147.59.8.215 - - [12/Feb/2015:03:57:31 -0800] "GET /Wb/Accts/TS/Wb2/TAD/2013/11/Rant131114.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; linkdexbot/2.0; +http://www.linkdex.com/bots/)" "www.templeos.org"
@@ -490,7 +490,7 @@
30.122.182.64 - - [12/Feb/2015:11:34:54 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 206 2424832 "http://www.templeos.org/Wb/Home/Wb2/Downloads.html" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36" "www.templeos.org"
89.114.33.147 - - [12/Feb/2015:11:35:11 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 786432 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
89.114.33.147 - - [12/Feb/2015:11:35:12 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 720896 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
129.135.178.96 - - [12/Feb/2015:11:35:41 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "www.templeos.org"
129.135.178.96 - - [12/Feb/2015:11:35:41 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "www.templeos.org"
27.157.61.98 - - [12/Feb/2015:11:36:47 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) WhiteHat Aviator/37.0.2062.99 Chrome/37.0.2062.99 Safari/537.36" "www.templeos.org"
27.157.61.98 - - [12/Feb/2015:11:37:16 -0800] "GET /Wb/Home/Wb2/Downloads.html HTTP/1.1" 200 7086 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) WhiteHat Aviator/37.0.2062.99 Chrome/37.0.2062.99 Safari/537.36" "www.templeos.org"
90.249.21.63 - - [12/Feb/2015:11:45:16 -0800] "GET /Wb/Accts/TS/Wb2/TempleOSV0218A.BMP HTTP/1.1" 404 89 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "www.templeos.org"
@@ -572,7 +572,7 @@
102.173.16.164 - - [12/Feb/2015:14:32:51 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
78.175.24.35 - - [12/Feb/2015:14:33:32 -0800] "GET / HTTP/1.1" 200 6329 "https://www.google.it/" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
102.173.16.164 - - [12/Feb/2015:14:33:35 -0800] "GET / HTTP/1.1" 200 6329 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36" "www.templeos.org"
102.173.16.164 - - [12/Feb/2015:14:33:50 -0800] "GET /Wb/Home/Wb2/Videos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36" "www.templeos.org"
102.173.16.164 - - [12/Feb/2015:14:33:50 -0800] "GET /Wb/Home/Wb2/TempleOSVideos.html HTTP/1.1" 200 40440 "http://www.templeos.org/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36" "www.templeos.org"
154.16.41.17 - - [12/Feb/2015:14:34:18 -0800] "GET /favicon.ico HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" "www.templeos.org"
89.114.33.147 - - [12/Feb/2015:14:35:12 -0800] "GET /TempleOSCD.ISO HTTP/1.1" 200 589824 "-" "Mozilla/5.0 Gecko/20100115 Firefox/3.6" "www.templeos.org"
52.209.44.178 - - [12/Feb/2015:14:36:14 -0800] "GET /Wb/Accts/TS/Wb2/ScreenShots.html HTTP/1.1" 404 89 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" "www.templeos.org"
+47
View File
@@ -0,0 +1,47 @@
$WW,1$$FG,5$$TX+CX,"Assembler"$$FG$
See $LK,"::/Compiler/OpCodes.TXT"$ for opcodes. They're not standard. Some invalid instructions are not flagged and some valid instructions are not implemented. 16-bit asm support is limited.
Here are example instruction formats:
$HL,1$ ADD RAX,I64 FS:DISP[RSI+RDI*8]
$HL,0$$HL,1$ ADD RAX,I64 [DISP]
$HL,0$
$FG,2$$$$FG$ Current compiler output pos (instruction ptr). Even works in HolyC expressions.
$FG,2$$$$FG$ works in $FG,2$class$FG$es.
$FG,2$class MyFun
{
$$=-16;
I64 local1;
I64 local2;
$$=$$+256;
I64 crazy;
};$FG$
$FG,4$LABEL$FG,2$::
$FG$ Defines an exported glbl label.
$FG,4$LABEL$FG,2$:
$FG$ Defines an non-exported glbl label.
$FG,2$@@$FG,4$LABEL$FG,2$:
$FG$ Defines a local label with scope valid between two global labels.
$FG,2$DU8$FG$, $FG,2$DU16$FG$, $FG,2$DU32$FG$, $FG,2$DU64$FG$
Define BYTE, WORD, DWORD or QWORD. Can be used with $FG,2$DUP()$FG$ and ASCII strings. For your convenience, the ASCII strings do not have terminating zeros. Define cmds must end with a semicolon.
$FG,2$USE16$FG$, $FG,2$USE32$FG$, $FG,2$USE64$FG$
$FG,2$IMPORT$FG$ $FG,4$sym1name$FG$, $FG,4$sym2name$FG$;
$FG,2$LIST$FG$, $FG,2$NOLIST$FG$
$FG,2$ALIGN$FG$ $FG,4$num$FG$, $FG,4$fill_byte$FG$
Align to $FG,4$num$FG$ boundary and fill with $FG,4$fill_byte$FG$.
$FG,2$MODULE_ORG$FG$ $FG,4$num$FG$
Set code addr for JIT or set module $LK,"Load",A="MN:Load"$() addr -- has 16-byte $LK,"CBinFile",A="MN:CBinFile"$ header and patch table trailing.
$FG,2$BINFILE$FG,4$ "FileName.BIN"$FG$;
See $LK,"Assembly Language",A="FF:::/Doc/GuideLines.TXT,Assembly Language"$, $LK,"::/Demo/Asm/AsmAndC1.CPP"$, $LK,"::/Demo/Asm/AsmAndC2.CPP"$ and $LK,"::/Demo/Asm/AsmAndC3.CPP"$.
+22 -2
View File
@@ -2,8 +2,28 @@
Use $LK,"R",A="MN:R"$() to rename if I change a label.
$IV,1$----01/03/16 16:30:56----$IV,0$
* Updated $LK,"::/Misc/PCIDevices.TXT.Z"$.
$IV,1$----01/12/16 16:47:54----$IV,0$
* Overhauled $LK,"Mount",A="MN:Mount"$() and $LK,"::/Kernel/KCfg.CPP"$.
$IV,1$----01/12/16 10:06:18----$IV,0$
* $BK,1$TempleOS version 4.01 Released$BK,0$
* Standardized drive letters. Your $LK,"Auto",A="MN:Auto"$() config scripts for compiling the kernel with $LK,"MakeOSDrvBootInstall",A="MN:MakeOSDrvBootInstall"$() must be changed.
* Added $LK,"CCF_QUESTION_HELP",A="MN:CCF_QUESTION_HELP"$.
$IV,1$----01/11/16 00:04:38----$IV,0$
* $LK,"R",A="MN:R"$("PAGE_SIZE","MEM_PAGE_SIZE"); etc.
* $LK,"R",A="MN:R"$("DFT_STK","MEM_DFT_STK"); etc.
* Added $LK,"::/Demo/MemDemo.CPP"$.
$IV,1$----01/08/16 17:04:58----$IV,0$
* Added $LK,"FUF_RISKY",A="MN:FUF_RISKY"$ to $LK,"DocOpt",A="MN:DocOpt"$().
* Fixed $LK,"::/Doc/CompilerOverview.TXT"$.
$IV,1$----01/06/16 11:01:57----$IV,0$
* Got rid of $FG,4$DOCEF_HARD_SKIP$FG$.
$IV,1$----01/03/16 17:15:41----$IV,0$
* Updated $LK,"::/Misc/PCIDevices.TXT"$.
* Added null case option. Next higher integer with "$FG,2$case:$FG$" in $FG,2$switch$FG$ statements. See $LK,"::/Demo/NullCase.CPP"$.
$IV,1$----12/31/15 00:44:44----$IV,0$
+7 -86
View File
@@ -1,92 +1,13 @@
$WW,1$$FG,5$$TX+CX,"Compiler Directives"$$FG$
$WW,1$$FG,5$$TX+CX,"Compiler Index"$$FG$
The compiler looks-ahead a token most of the time, so you might throw an extra semicolon after the directive if it's not taking affect right away.
$LK,"::/Doc/Asm.TXT"$
$FG,2$#include ""$FG$ There is no angle bracket <> form of this directive.
$FG,2$#exe {}$FG$ Will execute code at compile-time and can be used to insert code into the stream being compiled using $LK,"StreamPrint",A="MN:StreamPrint"$().
$FG,2$#define$FG$ Define string const
$FG,2$#assert$FG$ Print a warning during compilation if an expression is not true.
$FG,2$#if$FG$ Include code if an expresion is true.
$FG,2$#else
#endif
#ifdef,#ifndef $FG$Include code if a sym is defined.
$FG,2$#ifaot,#ifjit $FG$Include code if in $FG,2$AOT$FG$ compiler mode.
$FG,2$defined()$FG$ Is a function that can be used in expressions.
$FG,2$#help_index$FG$, $FG,2$#help_file$FG$ See $LK,"Help System",A="FI:::/Doc/HelpSystem.TXT"$.
$HL,1$$WW,0$
#define __DATE__ #exe{StreamPrint("\"%D\"",Now);}
#define __TIME__ #exe{StreamPrint("\"%T\"",Now);}
#define __LINE__ #exe{StreamPrint("%d",Fs->last_lex->lex_include_stk->line_num);}
#define __DEPTH__ #exe{StreamPrint("%d",Fs->last_lex->lex_include_stk->depth);}
#define __FILE__ #exe{StreamPrint("\"%s\"",Fs->last_lex->lex_include_stk->full_name);}
#define __DIR__ #exe{StreamDir;}
$HL,0$$WW,1$
See $LK,"::/Demo/Directives.CPP"$, $LK,"Scoping and Linkages",A="FI:::/Doc/ImportExports.TXT"$, and $LK,"preprocessor",A="FF:::/Compiler/Lex.CPP,KW_DEFINE"$.
$LK,"::/Doc/Directives.TXT"$
$LK,"::/Doc/Options.TXT"$
$FG,5$$TX+CX,"Compiler Options"$$FG$
$LK,"::/Doc/PreProcessor.TXT"$
Use $LK,"Option",A="MN:Option"$(). You might need to do $FG,2$#exe {Option();}$FG$.
$LK,"::/Doc/ScopingLinkage.TXT"$
$LK,"OPTf_GLBLS_ON_DATA_HEAP",A="MN:OPTf_GLBLS_ON_DATA_HEAP"$ without this option, global vars are placed in the code heap which is limited to 2 Gig. In $FG,2$AOT$FG$ modules, global vars take-up room in the $FG,2$.BIN$FG$ file, so you might want to use this option, instead. You might wish to turn it on and off around specific vars. A disadvantage of data heap global vars in $FG,2$AOT$FG$ modules is they can't be initialized.
$LK,"OPTf_EXTERNS_TO_IMPORTS",A="MN:OPTf_EXTERNS_TO_IMPORTS"$ and $LK,"OPTf_KEEP_PRIVATE",A="MN:OPTf_KEEP_PRIVATE"$ are strange options, you'll never need. They're to allow the same header file for $FG,2$Kernel$FG$ to act as $FG,2$extern$FG$s when compiling itself and $FG,2$import$FG$s when compiled by $FG,2$AOT$FG$ modules.
$LK,"OPTf_WARN_UNUSED_VAR",A="MN:OPTf_WARN_UNUSED_VAR"$ warning if unused var. It is applied to functions.
$LK,"OPTf_WARN_PAREN",A="MN:OPTf_WARN_PAREN"$ warning if parenthesis are not needed.
$LK,"OPTf_WARN_DUP_TYPES",A="MN:OPTf_WARN_DUP_TYPES"$ warning if dup local var type statements.
$LK,"OPTf_NO_REG_VAR",A="MN:OPTf_NO_REG_VAR"$ forces all function local vars to the stk not regs. Applied to functions.
$LK,"OPTf_NO_BUILTIN_CONST",A="MN:OPTf_NO_BUILTIN_CONST"$ Disable 10-byte float consts for ã, log2_10, log10_2, loge_2. Applied to functions.
$FG,5$$TX+CX,"Assembler Directives"$$FG$
See $LK,"::/Compiler/OpCodes.TXT"$ for opcodes. They're not standard. Some invalid instructions are not flagged and some valid instructions are not implemented. 16-bit asm support is limited.
Here are example instruction formats:
$HL,1$ ADD RAX,I64 FS:DISP[RSI+RDI*8]
$HL,0$$HL,1$ ADD RAX,I64 [DISP]
$HL,0$
$FG,2$$$$FG$ Current compiler output pos (instruction ptr). Even works in HolyC expressions.
$FG,2$$$$FG$ works in $FG,2$class$FG$es.
$FG,2$class MyFun
{
$$=-16;
I64 local1;
I64 local2;
$$=$$+256;
I64 crazy;
};$FG$
$FG,4$LABEL$FG,2$::
$FG$ Defines an exported glbl label.
$FG,4$LABEL$FG,2$:
$FG$ Defines an non-exported glbl label.
$FG,2$@@$FG,4$LABEL$FG,2$:
$FG$ Defines a local label with scope valid between two global labels.
$FG,2$DU8$FG$, $FG,2$DU16$FG$, $FG,2$DU32$FG$, $FG,2$DU64$FG$
Define BYTE, WORD, DWORD or QWORD. Can be used with $FG,2$DUP()$FG$ and ASCII strings. For your convenience, the ASCII strings do not have terminating zeros. Define cmds must end with a semicolon.
$FG,2$USE16$FG$, $FG,2$USE32$FG$, $FG,2$USE64$FG$
$FG,2$IMPORT$FG$ $FG,4$sym1name$FG$, $FG,4$sym2name$FG$;
$FG,2$LIST$FG$, $FG,2$NOLIST$FG$
$FG,2$ALIGN$FG$ $FG,4$num$FG$, $FG,4$fill_byte$FG$
Align to $FG,4$num$FG$ boundary and fill with $FG,4$fill_byte$FG$.
$FG,2$MODULE_ORG$FG$ $FG,4$num$FG$
Set code addr for JIT or set module $LK,"Load",A="MN:Load"$() addr -- has 16-byte $LK,"CBinFile",A="MN:CBinFile"$ header and patch table trailing.
$FG,2$BINFILE$FG,4$ "FileName.BIN"$FG$;
See $LK,"::/Demo/Asm/AsmAndC1.CPP"$, $LK,"::/Demo/Asm/AsmAndC2.CPP"$ and $LK,"::/Demo/Asm/AsmAndC3.CPP"$.
See $LK,"Hello World",A="FI:::/Doc/HelloWorld.TXT"$.
+1 -1
View File
@@ -22,7 +22,7 @@ $WW,1$$FG,5$$TX+CX,"Debugging Overview"$$FG$
* $LK,"Prof",A="MN:Prof"$() and $LK,"ProfRep",A="MN:ProfRep"$() provide code profiling. See $LK,"::/Demo/AutoFile/AFProfile.AUT"$ (This is an $LK,"AutoFile",A="FF:::/Doc/Glossary.TXT,AutoFile"$.)
* Use $LK,"RawPrint",A="MN:RawPrint"$() to print debug info bypassing the window framework. You pass these routines a count in milliseconds for how long it should be displayed. You can use $LK,"Raw",A="MN:Raw"$($FG,2$TRUE$FG$) to make all output bypass the window framework. The WinMgr runs on core0 and will overwrite raw text from other cores when it updates the screen.
* Use $LK,"RawPrint",A="MN:RawPrint"$() to print debug info bypassing the window framework. You pass these routines a count in milliseconds for how long it should be displayed. You can use $LK,"Raw",A="MN:Raw"$($FG,2$TRUE$FG$) to make all output bypass the window framework. The $FG,2$WinMgr$FG$ runs on $FG,2$core0$FG$ and will overwrite raw text from other cores when it updates the screen.
* Use $LK,"SysDbg",A="MN:SysDbg"$() to set a flag which you can read with $LK,"IsSysDbg",A="MN:IsSysDbg"$() when you wish to trigger some debug activity. It's just a handy simple flag, nothing fancy.
+1
View File
@@ -165,6 +165,7 @@ $LK,"::/Demo/DolDoc/ClickCallBack.CPP"$
$LK,"::/Demo/DolDoc/TreeDemo.CPP"$
$LK,"::/Demo/Exceptions.CPP"$
$LK,"::/Demo/Dsk/SerializeTree.CPP"$
$LK,"::/Demo/MemDemo.CPP"$
$LK,"::/Demo/StkGrow.CPP"$
$LK,"::/Demo/DolDoc/TextDemo.CPP"$
$LK,"::/Demo/DolDoc/CursorMove.CPP"$
+4 -4
View File
@@ -13,7 +13,7 @@ $FG,2$<CTRL-v> or <SHIFT-INS>$FG$
$ID,2$Paste clipboard.
$ID,-2$
$FG,2$LEFT-CLICK,drag-drop$FG$
$ID,2$Move a file or tree to a directory.
$ID,2$Move a file or tree to a dir.
$ID,-2$
$FG,2$LEFT-CLICK,same file or <SPACE>$FG$
$ID,2$Edit file.
@@ -34,7 +34,7 @@ $FG,2$'r'$FG$
$ID,2$Rename file.
$ID,-2$
$FG,2$'d'$FG$
$ID,2$Make Directory.
$ID,2$Make Dir.
$ID,-2$
$FG,2$'m'$FG$
$ID,2$ChgDsk (Remount removable media). Do not do this on blank disks.
@@ -43,7 +43,7 @@ $FG,2$'f'$FG$
$ID,2$Format drive.
$ID,-2$
$FG,2$'M'$FG$
$ID,2$Make CD/DVD ISO file. This creates a file image of the directory the cursor is on. The name of the ISO file is $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$ and can be redefined in your start-up scripts. You may wish to place it on a different drive.
$ID,2$Make CD/DVD ISO file. This creates a file image of the dir the cursor is on. The name of the ISO file is $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$ and can be redefined in your start-up scripts. You may wish to place it on a different drive.
$ID,-2$
$FG,2$'B'$FG$
$ID,2$Burn CD/DVD ISO file. This burns a CD/DVD using the image file, $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$ to the drive the cursor is on.
@@ -54,7 +54,7 @@ $ID,2$If you have not recompiled Kernel and defined your CD/DVD drive, exit the
$ID,-2$
$FG,5$Instructions on Burning CD/DVD's$FG$
$ID,2$Create a temporary holding drive in RAM or on disk, copy files into the holding drive. Make an ISO image of the drive by pressing $FG,2$'M'$FG$ when on top of the holding drive. Press $FG,2$'B'$FG$ when on top of the CD/DVD ROM drive to burn the ISO to disk. If you have not recompiled $FG,2$Kernel$FG$ and defined your CD/DVD drive, exit the file mgr and use $LK,"Mount",A="MN:Mount"$.
$ID,2$Create a temporary dir to hold files and copy files into the holding dir. Make an ISO image of the dir by pressing $FG,2$'M'$FG$ when on top of the dir. Press $FG,2$'B'$FG$ when on top of the CD/DVD ROM drive to burn the ISO, $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$, to disk. If you have not recompiled $FG,2$Kernel$FG$ and defined your CD/DVD drive, exit the file mgr and use $LK,"Mount",A="MN:Mount"$.
$LK,"Making Your Own Distro",A="FI:::/Misc/DoDistro.CPP"$
$ID,-2$
+3 -3
View File
@@ -140,11 +140,11 @@ $FG,2$Vol$FG$ Volume
$FG,2$Win$FG$ Window
$FG,2$Wiz$FG$ Wizard
$ID,-2$$TR,"Task/Process/Thread"$
$ID,2$There is no distinction between $FG,2$task$FG$, $FG,2$process$FG$ or $FG,2$thread$FG$. The $FG,2$Fs$FG$ segment reg is kept pointing to the current task's $LK,"CTask",A="MN:CTask"$. There is only one window per task, and only $FG,2$core#0$FG$ tasks can have windows. Each task has a code and data heap so memory is returned when it dies. Each task has a $LK,"hash",A="HI:Hash"$ symbol table.
$ID,2$There is no distinction between $FG,2$task$FG$, $FG,2$process$FG$ or $FG,2$thread$FG$. The $FG,2$Fs$FG$ segment reg is kept pointing to the current task's $LK,"CTask",A="MN:CTask"$. There is only one window per task, and only $FG,2$core0$FG$ tasks can have windows. Each task has a code and data heap so memory is returned when it dies. Each task has a $LK,"hash",A="HI:Hash"$ symbol table.
$ID,-2$$TR,"Adam Task"$
$ID,2$This is Adam, as in Adam and Eve, the parent of all tasks and immortal. This task is created at start-up and appears in the small window at the top beneath the user windows. On it's heap are all memory objects which you don't want destroyed by a task's death. When created, Adam runs the file $LK,"::/StartOS.CPP"$. When start-up is finished, the adam task enters a server mode where it accepts requests from other tasks. The $LK,"Adam",A="MN:Adam"$("") routine will make Adam compile and run text src code. $FG,2$#include$FG$ statements can be sent to $LK,"Adam",A="MN:Adam"$(""), creating system-wide code and data which don't disappear when any particular task ends.
$ID,-2$$TR,"Seth Task"$
$ID,2$$FG,2$Seth$FG$ is Adam and Eve's child. Each CPU core has a special task which is immortal and which is special. The Adam task on $FG,2$CPU#0$FG$ is also it's $FG,2$Seth$FG$ task.
$ID,2$$FG,2$Seth$FG$ is Adam and Eve's child. Each CPU core has an executive task called $FG,2$Seth$FG$ that is immortal. The Adam task on $FG,2$CPU#0$FG$ is also it's $FG,2$Seth$FG$ task.
$ID,-2$$TR,"Code and Data Heaps"$
$ID,2$TempleOS uses the asm $FG,2$CALL$FG$ instruction, exclusively, and that instruction is limited to calling routines $FG,2$+/-2 Gig$FG$ from the current code location. To prevent out-of-range issues, I decided to separate code and data, placing all code within the lowest $FG,2$2 Gig$FG$ of memory, addresses $FG,2$00000000$FG$-$FG,2$7FFFFFFF$FG$. The compiler and $LK,"Load",A="MN:Load"$()er alloc memory from the code heap to store code and glbl vars, unless the compiler option $LK,"OPTf_GLBLS_ON_DATA_HEAP",A="MN:OPTf_GLBLS_ON_DATA_HEAP"$ is used. When programs call $LK,"MAlloc",A="MN:MAlloc"$() is from the data heap, which in not limited in size, except by physical RAM memory. You can alloc from any heap in any task at any time on any core, even making $LK,"independent",A="MN:Mem512Alloc"$ heaps.
$ID,-2$$TR,"Parent, Child and PopUp Tasks"$
@@ -253,5 +253,5 @@ $ID,2$When two parts of a program have a common low-level routine, that routine
$ID,-2$$TR,"user_data"$
$ID,2$Many operating system structures have space set aside for you to store values. You are on your own managing these with multiple applications and libraries.
$ID,-2$$TR,"Multicore Core0/CoreAP"$
$ID,2$Core#0, has the $FG,2$Adam task$FG$, and it is the master. The $FG,2$application processors$FG$ have Seth tasks and are the slave processors. Only core#0 tasks can have windows and can launch applications. Slave cores are used if the application explicitly $LK,"Spawn",A="MN:Spawn"$s() a task or $LK,"JobQue",A="MN:JobQue"$() a job on them.
$ID,2$Core0, has the $FG,2$Adam task$FG$, and it is the master. The $FG,2$application processors$FG$ have an executive $FG,2$Seth tasks$FG$ and are the slave processors. Only $FG,2$core0$FG$ tasks can have windows and can launch applications. Slave cores are used if the application explicitly $LK,"Spawn",A="MN:Spawn"$s() a task or $LK,"JobQue",A="MN:JobQue"$() a job on them.
$ID,-2$
+2
View File
@@ -106,6 +106,8 @@ $FG,5$$TX+CX,"Hash Sym Tables"$$FG$
$FG,5$$TX+CX,"Assembly Language"$$FG$
See $LK,"::/Doc/Asm.TXT"$.
* $FG,2$FS$FG$ must always point to the cur $LK,"CTask",A="MN:CTask"$.
* $FG,2$GS$FG$ must always point to the cur $LK,"CCPU",A="MN:CCPU"$.
BIN
View File
Binary file not shown.
+3 -3
View File
@@ -1,9 +1,9 @@
$WW,1$$FG,5$$TX+CX,"HolyC"$$FG$
* See $LK,"Scoping and Linkages",A="FI:::/Doc/ImportExports.TXT"$ for details on $FG,2$extern$FG$, $FG,2$import$FG$, $FG,2$_extern$FG$, $FG,2$_import$FG$, etc.
* See $LK,"::/Doc/CompilerOverview.TXT"$.
* See $LK,"Scoping and Linkage",A="FI:::/Doc/ScopingLinkage.TXT"$ for details on $FG,2$extern$FG$, $FG,2$import$FG$, $FG,2$_extern$FG$, $FG,2$_import$FG$, etc.
* Built-in types include $FG,2$I0,I8,I16,I32,I64$FG$ for signed 0-8 byte ints and $FG,2$U0,U8,U16,U32,U64$FG$ for unsigned 0-8 byte ints and $FG,2$F64$FG$ for 8 byte floats.
$FG,2$ U0 void, but ZERO size!
@@ -239,7 +239,7 @@ $FG$$ID,-2$
* You can $LK,"Free",A="MN:Free"$() a $FG,2$NULL$FG$ ptr. Useful variants of $LK,"MAlloc",A="MN:MAlloc"$() can be found $LK,"Here",A="MN:CAlloc"$. Each task has a heap and you can $FG,2$MAlloc$FG$ and $FG,2$Free$FG$ off of other task's heaps, or make an independent heap with $LK,"HeapCtrlBPInit",A="MN:HeapCtrlBPInit"$().
* The stk does not grow because virtual mem is not used. I recommend allocating large local vars from the heap. You can change $LK,"DFT_STK",A="MN:DFT_STK"$ and recompile $FG,2$Kernel$FG$ or request more when doing a $LK,"Spawn",A="MN:Spawn"$(). You can use $LK,"CallStkGrow",A="MN:CallStkGrow"$(), but it's odd. See $LK,"::/Demo/StkGrow.CPP"$.
* The stk does not grow because virtual mem is not used. I recommend allocating large local vars from the heap. You can change $LK,"MEM_DFT_STK",A="MN:MEM_DFT_STK"$ and recompile $FG,2$Kernel$FG$ or request more when doing a $LK,"Spawn",A="MN:Spawn"$(). You can use $LK,"CallStkGrow",A="MN:CallStkGrow"$(), but it's odd. See $LK,"::/Demo/StkGrow.CPP"$.
* Only one base class is allowed.
-120
View File
@@ -1,120 +0,0 @@
$FG,5$$TX+CX,"Details of Scoping and Linkages"$$FG$
$WW,1$
$LK,"JIT Compile Mode",A="FF:::/Doc/Glossary.TXT,JIT Compile Mode"$ makes use of the current task's hash sym table and its parent tasks' tables. It fetches syms from parent tasks' tables if not found locally in the current task's table and it places new syms in the current task's table. Conceptually, syms are at the scope of environment vars in other operating systems.
When a sym is placed into a table, older syms with identical names will be overshadowed if they exist. Duplicates are not allowed in many cases, especially in asm blks. Dupicates are allowed, by design in other cases, so that you can repeatedly $FG,2$#include$FG$ the same file from the cmd line while developing it. Or, so you can repeatedly declare a function with a standard name, like $FG,2$DrawIt()$FG$. This case might occur when the $FG,2$adam task$FG$ is starting-up loading-in many little utilities.
$FG,2$extern$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to an existing sym of the same name if it exists in the sym table (just in just-in-time code). It also can be used to generate a fwd reference.
$FG,2$import$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to a sym of the same name imported from the task's sym table at $LK,"Load",A="MN:Load"$() time. If no sym exists to bind to at $LK,"Load",A="MN:Load"$() time, the code using this sym will be left incomplete until the sym is defined.
$WW,1$
$FG,2$_extern$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to an existing sym, of a $BK,1$different$BK,0$ name. It must exists in the sym table. Basically, this binds C to asm.
$FG,2$_import$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to a sym, of a $BK,1$different$BK,0$ name imported from the task's sym table at $LK,"Load",A="MN:Load"$() time. If no sym exists to bind to at $LK,"Load",A="MN:Load"$() time, the code using this sym will be left incomplete until the sym is defined. Basically, this binds C to asm from elsewhere.
$WW,0$$FG,5$Ahead of Time Compilation$FG$
$FG,2$G$FG$lobalScope/$FG,2$F$FG$unctionScope
| $FG,2$C$FG$odeHeap/$FG,2$D$FG$ataHeap/$FG,2$S$FG$tack/$FG,2$R$FG$egister
| | TaskHashEntry:Export$FG,2$S$FG$ysSym/$FG,2$D$FG$efine/$FG,2$F$FG$unction/$FG,2$C$FG$lass
| | | UsageScope: $FG,2$M$FG$odule/$FG,2$A$FG$smLocal/Asm$FG,2$B$FG$lk/$FG,2$T$FG$askAndChildren/$FG,2$F$FG$unction
| | | |UsageScope: $FG,2$G$FG$lbl/Asm$FG,2$L$FG$ocal/$FG,2$R$FG$emainder/$FG,2$g$FG$lblThisBlkAndRemainder
| | | || $FG,2$S$FG$taticVarInit/$FG,2$D$FG$ynamicVarInitAllowed/$FG,2$N$FG$oInitAllowed
| | | || | Are dups allowed within the namespace? A dup overshadows the original.
| | | || | $FG,2$D$FG$upsAllowed/$FG,2$N$FG$oDups/NoDupsBut$FG,2$P$FG$ad/$FG,2$W$FG$arningUnlessClosedOut
asm export $FG,2$label::$FG$ G C S MG N
asm $FG,2$label:$FG$ G C MG N
asm local $FG,2$@@label:$FG$ G C AL N
asm $FG,2$IMPORT label;$FG$ G C MR N
asm export $FG,2$label::$FG$ F C S BG N
asm $FG,2$label:$FG$ F C BG N
asm local $FG,2$@@label:$FG$ F C AL N
asm $FG,2$IMPORT label;$FG$ F C BR N
C goto $FG,2$label:$FG$ F C FG N
$FG,2$#define$FG$ x MR D
function G C S MR D
var F R FR N
var F S FR N
$FG,2$static$FG$ var F C FR D N
var G C S MR D D
var G D MR N D
$FG,2$class$FG$ G MR D
class member G MR P
$FG,2$extern class$FG$ G MR D
$FG,2$extern$FG$ function G C MR W
$FG,2$import$FG$ function G C MR D
$FG,2$import$FG$ var G C MR D
$FG,2$_extern$FG$ function G C MR D
$FG,2$_extern$FG$ var G C MR D
$FG,2$_import$FG$ function G C MR D
$FG,2$_import$FG$ var G C MR D
$FG,5$Just in Time Compilation$FG$
$FG,2$G$FG$lobalScope/$FG,2$F$FG$unctionScope
| $FG,2$C$FG$odeHeap/$FG,2$D$FG$ataHeap/$FG,2$S$FG$tack/$FG,2$R$FG$egister
| | TaskHashEntry:Export$FG,2$S$FG$ysSym/$FG,2$D$FG$efine/$FG,2$F$FG$unction/$FG,2$C$FG$lass
| | | UsageScope: $FG,2$M$FG$odule/$FG,2$A$FG$smLocal/Asm$FG,2$B$FG$lk/$FG,2$T$FG$askAndChildren/$FG,2$F$FG$unction
| | | |UsageScope: $FG,2$G$FG$lbl/Asm$FG,2$L$FG$ocal/$FG,2$R$FG$emainder/$FG,2$g$FG$lblThisBlkAndRemainder
| | | || $FG,2$S$FG$taticVarInit/$FG,2$D$FG$ynamicVarInitAllowed/$FG,2$N$FG$oInitAllowed
| | | || | Are dups allowed within the namespace? A dup overshadows the original.
| | | || | $FG,2$D$FG$upsAllowed/$FG,2$N$FG$oDups/NoDupsBut$FG,2$P$FG$ad/$FG,2$W$FG$arningUnlessClosedOut
asm export $FG,2$label::$FG$ G C S Tg N
asm $FG,2$label:$FG$ G C BG N
asm local $FG,2$@@label:$FG$ G C AL N
asm $FG,2$IMPORT label;$FG$ G C TR N
asm export $FG,2$label::$FG$ F C BG N
asm $FG,2$label:$FG$ F C BG N
asm local $FG,2$@@label:$FG$ F C AL N
asm $FG,2$IMPORT label;$FG$ F C BR N
C goto $FG,2$label:$FG$ F C FG N
$FG,2$#define$FG$ x D TR D
function G C F TR D
var F R FR N
var F S FR N
$FG,2$static$FG$ var F C FR D N
var G C G TR D D
var G D G TR S D
$FG,2$class$FG$ G C TR D
class member G TR P
$FG,2$extern class$FG$ G C TR D
$FG,2$extern$FG$ function G C F TR W
$FG,2$extern$FG$ var G C G TR D
$FG,2$extern$FG$ var G D G TR D
$FG,2$_extern$FG$ function G C F TR D
$FG,2$_extern$FG$ var G C G TR D
$WW,1$
* Goto labels must not have the same name as global scope objects. GoTo's are rare and I don't want to slow the compiler and add code to fix this. You will get errors if a collision happens, so it's not very dangerous, but the error message is baffling.
* The member names $FG,2$pad$FG$ and $FG,2$reserved$FG$ are special because multiple instances with the same name are allowed in a class.
* Use $FG,2$reg$FG$ or $FG,2$noreg$FG$ in front of local var names to override automatic reg var allocation. You can, optionally, specify a reg after the $FG,2$reg$FG$ keyword.
* Local non-reg function vars can be accessed in asm blks with $FG,2$&i[RBP]$FG$ for example.
* Glbl vars and functions can be accessed in asm with and $FG,2$&$FG$ as in
$FG,2$MOV RAX,I64 [&glbl_var]
CALL I32 &Fun
CALL I32 &SYS_SYM$FG$
* In $FG,2$JIT$FG$ asm code, &SYS_SYM and &Fun don't need $FG,2$IMPORT$FG$.
* All offspring tasks of a task inherit syms.
* The $FG,2$sizeof()$FG$ and HolyC structure members can be used in asm blks.
* Using $FG,2$&i$FG$ in $LK,"HolyC",A="FI:::/Doc/HolyC.TXT"$ or $FG,2$i.u8[2]$FG$ on a local var, $FG,2$i$FG$, will force it to $FG,2$noreg$FG$.
* Using $FG,2$try$FG$/$FG,2$catch$FG$ in a function will force all local vars to $FG,2$noreg$FG$.
* An unused gap on the stk is left for $FG,2$reg$FG$ vars.
* Note: $FG,2$static$FG$ function vars do not go on the data heap, no matter the setting of the $LK,"OPTf_GLBLS_ON_DATA_HEAP",A="MN:OPTf_GLBLS_ON_DATA_HEAP"$$FG$. They may in the future.
* $LK,"OPTf_EXTERNS_TO_IMPORTS",A="MN:OPTf_EXTERNS_TO_IMPORTS"$ will treat $FG,2$_extern$FG$ as $FG,2$_import$FG$ and $FG,2$extern$FG$ as $FG,2$import$FG$. This allows a header to be used either as a $FG,2$JIT compiled$FG$ or $FG,2$AOT compiled$FG$ header.
+4 -4
View File
@@ -1,6 +1,6 @@
$WW,1$$FG,5$$TX+CX,"Memory Overview"$$FG$
Paging is practically not used. 64-bit mode requires paging to be active, however, so it is identity-mapped, virtual identical to physical. All tasks on all cores use the same page table map, just as though all addresses are physical addresses. 2 Meg page table entries are used, except the first 2 Meg, which uses 4K page tables entries. Nothing swaps to disk, either.
Paging is practically not used. 64-bit mode requires paging, however, so it is identity-mapped, virtual identical to physical. All tasks on all cores use the same page table map, just as though all addresses are physical addresses. 2 Meg page table entries are used, except the first 2 Meg, which uses 4K page tables entries. Nothing swaps to disk, either.
In TempleOS, the lowest 2 Gig of memory is called the $FG,2$code heap$FG$. TempleOS's compiler always uses 32-bit signed relative JMP & CALL instructions because 64-bit CALLs take two instructions. With signed +/- 32-bit values, code can only call a function within 2 Gig distance. Therefore, TempleOS keeps all code in the lowest 2 Gig memory addresses including what would normally be called "the kernel". Two Gig is plenty for code, don't worry.
@@ -10,14 +10,14 @@ Memory alloced by a task will be freed when the task is killed.
Eventually, memory will become fragmented, requiring a reboot.
See $LK,"MemRep",A="MN:MemRep"$().
See $LK,"MemRep",A="MN:MemRep"$() and $LK,"::/Demo/MemDemo.CPP"$.
$FG,5$$TX+CX,"Single System-wide Mem Map"$
$FG,2$ 0x0000000000- 0x00$TX,"00006FFF",D="DD_PROTECTED_LOW"$$FG$
$ID,2$Pages marked not present so NULL ptr dereference causes a fault.
$ID,-2$
$FG,2$ 0x00$TX,"00007C00",D="DD_KERNEL"$- 0x00$TX,"00034EAF",D="DD_KERNEL_END"$$FG$
$FG,2$ 0x00$TX,"00007C00",D="DD_KERNEL"$- 0x00$TX,"00034E7F",D="DD_KERNEL_END"$$FG$
$ID,2$Kernel module, placed here by the boot-loader, $LK,"BOOT_RAM_BASE",A="MN:BOOT_RAM_BASE"$.
$ID,-2$
$FG,2$ 0x00$TX,"00096600",D="DD_BOOT_HIGH_LOC_DVD"$- 0x00$TX,"00096FFF",D="DD_BOOT_HIGH_LOC_DVD_END"$$FG$
@@ -35,7 +35,7 @@ $ID,-2$
$FG,2$ 0x00$TX,"00100000",D="DD_SYS_FIXED_AREA_BASE"$- 0x00$TX,"001845FF",D="DD_SYS_FIXED_AREA_END"$$FG$
$ID,2$$LK,"CSysFixedArea",A="MN:CSysFixedArea"$ for page tables and misc. $TX,"128 Gig",D="DD_MEM_MAPPED_SPACE_GIG"$ of address space mapped.
$ID,-2$
$FG,2$ 0x00$TX,"00184600",D="DD_SYS_HEAP_BASE"$- 0x00$TX,"3FFDFEFF",D="DD_SYS_HEAP_LIMIT"$$FG$
$FG,2$ 0x00$TX,"00184600",D="DD_SYS_HEAP_BASE"$- 0x00$TX,"7FFFFFFF",D="DD_SYS_HEAP_LIMIT"$$FG$
$ID,2$Code Heap mem.
$ID,-2$
$FG,2$ - 0x007FFFFFFF$FG$
+6 -4
View File
@@ -1,12 +1,14 @@
$WW,1$TempleOS does master-slave multicore instead of SMP. $GREEN$Core#0$FG$ is the master. The master core assigns computational jobs to other cores. It is symmetrical, however, in the sense that you can freely do file access and heap allocations because there are locks. See $LK,"::/Demo/MultiCore/LoadTest.CPP"$. TempleOS does not move tasks between cores.
$WW,1$TempleOS does master-slave multicore instead of SMP. $FG,2$Core0$FG$ is the master. The master core's applications explicitly assign computational jobs to other cores and the TempleOS scheduler does not move tasks between cores.
Only tasks on core#0 can have windows, but other cores can help render them.
There are multicore safe locks for file access and heap allocations, however, so TempleOS is symmetrical in some sense. See $LK,"::/Demo/MultiCore/LoadTest.CPP"$.
Each core has a $GREEN$seth task$FG$ which is the father of all tasks on that core. Adam is the seth task on core 0.
Only tasks on $FG,2$core0$FG$ can have windows, but other cores can help render them.
Each core has an executive $FG,2$seth task$FG$ which is the father of all tasks on that core. Adam is the seth task on core 0.
You give a job to a seth task with $LK,"JobQue",A="MN:JobQue"$() and get the result with $LK,"JobResultGet",A="MN:JobResultGet"$(). You spawn a task on another core with $LK,"Spawn",A="MN:Spawn"$().
Note: You must use the $GREEN$LOCK$FG$ asm prefix when changing shared structures in a multicore environment. The $LK,"LBts",A="MN:LBts"$(), $LK,"LBtr",A="MN:LBtr"$() and $LK,"LBtc",A="MN:LBtc"$() instructions have $GREEN$LOCK$FG$ prefixes. The compiler has a $GREEN$lock{}$FG$ feature but it doesn't work well. See $LK,"::/Demo/MultiCore/Lock.CPP"$.
Note: You must use the $FG,2$LOCK$FG$ asm prefix when changing shared structures in a multicore environment. The $LK,"LBts",A="MN:LBts"$(), $LK,"LBtr",A="MN:LBtr"$() and $LK,"LBtc",A="MN:LBtc"$() instructions have $FG,2$LOCK$FG$ prefixes. The compiler has a $FG,2$lock{}$FG$ feature but it doesn't work well. See $LK,"::/Demo/MultiCore/Lock.CPP"$.
See $LK,"::/Demo/Graphics/Transform.CPP"$.
See $LK,"::/Kernel/MultiProc.CPP"$.
+17
View File
@@ -0,0 +1,17 @@
$WW,1$$FG,5$$TX+CX,"Compiler Options"$$FG$
Use $LK,"Option",A="MN:Option"$(). You might need to do $FG,2$#exe {Option();}$FG$.
$LK,"OPTf_GLBLS_ON_DATA_HEAP",A="MN:OPTf_GLBLS_ON_DATA_HEAP"$ without this option, global vars are placed in the code heap which is limited to 2 Gig. In $FG,2$AOT$FG$ modules, global vars take-up room in the $FG,2$.BIN$FG$ file, so you might want to use this option, instead. You might wish to turn it on and off around specific vars. A disadvantage of data heap global vars in $FG,2$AOT$FG$ modules is they can't be initialized.
$LK,"OPTf_EXTERNS_TO_IMPORTS",A="MN:OPTf_EXTERNS_TO_IMPORTS"$ and $LK,"OPTf_KEEP_PRIVATE",A="MN:OPTf_KEEP_PRIVATE"$ are strange options, you'll never need. They're to allow the same header file for $FG,2$Kernel$FG$ to act as $FG,2$extern$FG$s when compiling itself and $FG,2$import$FG$s when compiled by $FG,2$AOT$FG$ modules.
$LK,"OPTf_WARN_UNUSED_VAR",A="MN:OPTf_WARN_UNUSED_VAR"$ warning if unused var. It is applied to functions.
$LK,"OPTf_WARN_PAREN",A="MN:OPTf_WARN_PAREN"$ warning if parenthesis are not needed.
$LK,"OPTf_WARN_DUP_TYPES",A="MN:OPTf_WARN_DUP_TYPES"$ warning if dup local var type statements.
$LK,"OPTf_NO_REG_VAR",A="MN:OPTf_NO_REG_VAR"$ forces all function local vars to the stk not regs. Applied to functions.
$LK,"OPTf_NO_BUILTIN_CONST",A="MN:OPTf_NO_BUILTIN_CONST"$ Disable 10-byte float consts for ã, log2_10, log10_2, loge_2. Applied to functions.
+19
View File
@@ -0,0 +1,19 @@
$WW,1$$FG,5$$TX+CX,"PreProcessor"$$FG$
There is no separate preprocessor pass. The parser front-end calls $LK,"Lex",A="MN:Lex"$() which has the preprocessor built-in. The compiler looks ahead a token, most of the time, so you might throw an extra semicolon after a directive if it's not taking affect right away.
Put an extra semicolon $FG,2$#exe {Cd("DirName");;}$FG$ in case a $FG,2$#include$FG$ follows.
$FG,2$#include ""$FG$ There is no angle bracket <> form of this directive.
$FG,2$#exe {}$FG$ Will execute code at compile-time and can be used to insert code into the stream being compiled using $LK,"StreamPrint",A="MN:StreamPrint"$().
$FG,2$#define$FG$ Define string const
$FG,2$#assert$FG$ Print a warning during compilation if an expression is not true.
$FG,2$#if$FG$ Include code if an expresion is true.
$FG,2$#else
#endif
#ifdef,#ifndef $FG$Include code if a sym is defined.
$FG,2$#ifaot,#ifjit $FG$Include code if in $FG,2$AOT$FG$ compiler mode.
$FG,2$defined()$FG$ Is a function that can be used in expressions.
$FG,2$#help_index$FG$, $FG,2$#help_file$FG$ See $LK,"Help System",A="FI:::/Doc/HelpSystem.TXT"$.
See $LK,"PreProcessor",A="FF:::/Compiler/Lex.CPP,KW_DEFINE"$.
+1 -1
View File
@@ -4,7 +4,7 @@ $WW,1$* You run a risk of problems if you do file operations on the same files s
* When using $FG,2$FAT32$FG$, TempleOS does not generate unique short-entry names, the ones with the $FG,2$~$FG$s. Not all $FG,2$FAT32$FG$ filenames are valid TempleOS names and it will complain. Do not access $FG,2$FAT32$FG$ drives not dedicated to TempleOS. Disable them with $LK,"DrvEnable",A="MN:DrvEnable"$(OFF), or they will generate error messages. $FG,2$FAT32$FG$ involves a long and short name for each file.
* The stk does not grow because virtual mem is not used. I recommend allocating large local vars from the heap. You can change $LK,"DFT_STK",A="MN:DFT_STK"$ and recompile $FG,2$Kernel$FG$ or request more when doing a $LK,"Spawn",A="MN:Spawn"$().
* The stk does not grow because virtual mem is not used. I recommend allocating large local vars from the heap. You can change $LK,"MEM_DFT_STK",A="MN:MEM_DFT_STK"$ and recompile $FG,2$Kernel$FG$ or request more when doing a $LK,"Spawn",A="MN:Spawn"$().
* The syntax highlighting occassionally glitches. The compiler doesn't.
+120
View File
@@ -0,0 +1,120 @@
$PURPLE$$TX+CX,"Scoping and Linkage"$$FG$
$WW,1$
$LK,"JIT Compile Mode",A="FF:::/Doc/Glossary.TXT,JIT Compile Mode"$ makes use of the current task's hash sym table and its parent tasks' tables. It fetches syms from parent tasks' tables if not found locally in the current task's table and it places new syms in the current task's table. Conceptually, syms are at the scope of environment vars in other operating systems.
When a sym is placed into a table, older syms with identical names will be overshadowed if they exist. Duplicates are not allowed in many cases, especially in asm blks. Dupicates are allowed, by design in other cases, so that you can repeatedly $GREEN$#include$FG$ the same file from the cmd line while developing it. Or, so you can repeatedly declare a function with a standard name, like $GREEN$DrawIt()$FG$. This case might occur when the $GREEN$adam task$FG$ is starting-up loading-in many little utilities.
$GREEN$extern$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to an existing sym of the same name if it exists in the sym table (just in just-in-time code). It also can be used to generate a fwd reference.
$GREEN$import$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to a sym of the same name imported from the task's sym table at $LK,"Load",A="MN:Load"$() time. If no sym exists to bind to at $LK,"Load",A="MN:Load"$() time, the code using this sym will be left incomplete until the sym is defined.
$WW,1$
$GREEN$_extern$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to an existing sym, of a $BK,1$different$BK,0$ name. It must exists in the sym table. Basically, this binds C to asm.
$GREEN$_import$FG$ binds a new $LK,"HTT_FUN",A="MN:HTT_FUN"$ or $LK,"HTT_GLBL_VAR",A="MN:HTT_GLBL_VAR"$ sym to a sym, of a $BK,1$different$BK,0$ name imported from the task's sym table at $LK,"Load",A="MN:Load"$() time. If no sym exists to bind to at $LK,"Load",A="MN:Load"$() time, the code using this sym will be left incomplete until the sym is defined. Basically, this binds C to asm from elsewhere.
$WW,0$$PURPLE$Ahead of Time Compilation$FG$
$GREEN$G$FG$lobalScope/$GREEN$F$FG$unctionScope
| $GREEN$C$FG$odeHeap/$GREEN$D$FG$ataHeap/$GREEN$S$FG$tack/$GREEN$R$FG$egister
| | TaskHashEntry:Export$GREEN$S$FG$ysSym/$GREEN$D$FG$efine/$GREEN$F$FG$unction/$GREEN$C$FG$lass
| | | UsageScope: $GREEN$M$FG$odule/$GREEN$A$FG$smLocal/Asm$GREEN$B$FG$lk/$GREEN$T$FG$askAndChildren/$GREEN$F$FG$unction
| | | |UsageScope: $GREEN$G$FG$lbl/Asm$GREEN$L$FG$ocal/$GREEN$R$FG$emainder/$GREEN$g$FG$lblThisBlkAndRemainder
| | | || $GREEN$S$FG$taticVarInit/$GREEN$D$FG$ynamicVarInitAllowed/$GREEN$N$FG$oInitAllowed
| | | || | Are dups allowed within the namespace? A dup overshadows the original.
| | | || | $GREEN$D$FG$upsAllowed/$GREEN$N$FG$oDups/NoDupsBut$GREEN$P$FG$ad/$GREEN$W$FG$arningUnlessClosedOut
asm export $GREEN$label::$FG$ G C S MG N
asm $GREEN$label:$FG$ G C MG N
asm local $GREEN$@@label:$FG$ G C AL N
asm $GREEN$IMPORT label;$FG$ G C MR N
asm export $GREEN$label::$FG$ F C S BG N
asm $GREEN$label:$FG$ F C BG N
asm local $GREEN$@@label:$FG$ F C AL N
asm $GREEN$IMPORT label;$FG$ F C BR N
C goto $GREEN$label:$FG$ F C FG N
$GREEN$#define$FG$ x MR D
function G C S MR D
var F R FR N
var F S FR N
$GREEN$static$FG$ var F C FR D N
var G C S MR D D
var G D MR N D
$GREEN$class$FG$ G MR D
class member G MR P
$GREEN$extern class$FG$ G MR D
$GREEN$extern$FG$ function G C MR W
$GREEN$import$FG$ function G C MR D
$GREEN$import$FG$ var G C MR D
$GREEN$_extern$FG$ function G C MR D
$GREEN$_extern$FG$ var G C MR D
$GREEN$_import$FG$ function G C MR D
$GREEN$_import$FG$ var G C MR D
$PURPLE$Just in Time Compilation$FG$
$GREEN$G$FG$lobalScope/$GREEN$F$FG$unctionScope
| $GREEN$C$FG$odeHeap/$GREEN$D$FG$ataHeap/$GREEN$S$FG$tack/$GREEN$R$FG$egister
| | TaskHashEntry:Export$GREEN$S$FG$ysSym/$GREEN$D$FG$efine/$GREEN$F$FG$unction/$GREEN$C$FG$lass
| | | UsageScope: $GREEN$M$FG$odule/$GREEN$A$FG$smLocal/Asm$GREEN$B$FG$lk/$GREEN$T$FG$askAndChildren/$GREEN$F$FG$unction
| | | |UsageScope: $GREEN$G$FG$lbl/Asm$GREEN$L$FG$ocal/$GREEN$R$FG$emainder/$GREEN$g$FG$lblThisBlkAndRemainder
| | | || $GREEN$S$FG$taticVarInit/$GREEN$D$FG$ynamicVarInitAllowed/$GREEN$N$FG$oInitAllowed
| | | || | Are dups allowed within the namespace? A dup overshadows the original.
| | | || | $GREEN$D$FG$upsAllowed/$GREEN$N$FG$oDups/NoDupsBut$GREEN$P$FG$ad/$GREEN$W$FG$arningUnlessClosedOut
asm export $GREEN$label::$FG$ G C S Tg N
asm $GREEN$label:$FG$ G C BG N
asm local $GREEN$@@label:$FG$ G C AL N
asm $GREEN$IMPORT label;$FG$ G C TR N
asm export $GREEN$label::$FG$ F C BG N
asm $GREEN$label:$FG$ F C BG N
asm local $GREEN$@@label:$FG$ F C AL N
asm $GREEN$IMPORT label;$FG$ F C BR N
C goto $GREEN$label:$FG$ F C FG N
$GREEN$#define$FG$ x D TR D
function G C F TR D
var F R FR N
var F S FR N
$GREEN$static$FG$ var F C FR D N
var G C G TR D D
var G D G TR S D
$GREEN$class$FG$ G C TR D
class member G TR P
$GREEN$extern class$FG$ G C TR D
$GREEN$extern$FG$ function G C F TR W
$GREEN$extern$FG$ var G C G TR D
$GREEN$extern$FG$ var G D G TR D
$GREEN$_extern$FG$ function G C F TR D
$GREEN$_extern$FG$ var G C G TR D
$WW,1$
* Goto labels must not have the same name as global scope objects. GoTo's are rare and I don't want to slow the compiler and add code to fix this. You will get errors if a collision happens, so it's not very dangerous, but the error message is baffling.
* The member names $GREEN$pad$FG$ and $GREEN$reserved$FG$ are special because multiple instances with the same name are allowed in a class.
* Use $GREEN$reg$FG$ or $GREEN$noreg$FG$ in front of local var names to override automatic reg var allocation. You can, optionally, specify a reg after the $GREEN$reg$FG$ keyword.
* Local non-reg function vars can be accessed in asm blks with $GREEN$&i[RBP]$FG$ for example.
* Glbl vars and functions can be accessed in asm with and $GREEN$&$FG$ as in
$GREEN$MOV RAX,I64 [&glbl_var]
CALL I32 &Fun
CALL I32 &SYS_SYM$FG$
* In $GREEN$JIT$FG$ asm code, &SYS_SYM and &Fun don't need $GREEN$IMPORT$FG$.
* All offspring tasks of a task inherit syms.
* The $GREEN$sizeof()$FG$ and HolyC structure members can be used in asm blks.
* Using $GREEN$&i$FG$ in $LK,"HolyC",A="FI:::/Doc/HolyC.TXT"$ or $GREEN$i.u8[2]$FG$ on a local var, $GREEN$i$FG$, will force it to $GREEN$noreg$FG$.
* Using $GREEN$try$FG$/$GREEN$catch$FG$ in a function will force all local vars to $GREEN$noreg$FG$.
* An unused gap on the stk is left for $GREEN$reg$FG$ vars.
* Note: $GREEN$static$FG$ function vars do not go on the data heap, no matter the setting of the $LK,"OPTf_GLBLS_ON_DATA_HEAP",A="MN:OPTf_GLBLS_ON_DATA_HEAP"$$FG$. They may in the future.
* $LK,"OPTf_EXTERNS_TO_IMPORTS",A="MN:OPTf_EXTERNS_TO_IMPORTS"$ will treat $GREEN$_extern$FG$ as $GREEN$_import$FG$ and $GREEN$extern$FG$ as $GREEN$import$FG$. This allows a header to be used either as a $GREEN$JIT compiled$FG$ or $GREEN$AOT compiled$FG$ header.
+1 -1
View File
@@ -52,7 +52,7 @@ A three button mouse is like a leg you cannot put weight on. TempleOS just does
* The $LK,"Scheduler",A="FI:::/Kernel/Sched.CPP"$ is for home systems. It is not preemptiove. Disk requests are not broken-up, so sharing is bad. It's wonderfully simple.
* $LK,"MultiCore",A="FI:::/Doc/MultiCore.TXT"$ is done $FG,2$master/slave$FG$, instead of $FG,2$SMP$FG$. Core zero explicitly assigns jobs. Locks are present allowing multicore file, heap, and hardware access, though.
* $LK,"MultiCore",A="FI:::/Doc/MultiCore.TXT"$ is done $FG,2$master/slave$FG$, instead of $FG,2$SMP$FG$. $FG,2$Core0$FG$ applications explicitly assigns jobs. Locks are present allowing multicore file, heap, and hardware access, though.
* $LK,"Music",A="MN:Play"$ is done with an elegant one-voice notation.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -43,7 +43,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
* Many data structures have a $FG,2$user_data$FG$ member. Those are available for you to store a data item, for convenience. $LK,"CTask",A="MN:CTask"$, $LK,"CDocEntry",A="MN:CDocEntry"$ and $LK,"CDirEntry",A="MN:CDirEntry"$ have them. You shouldn't encounter conflicts with TempleOS using them.
* If, for some strange reason, you wanted to reduce mem usage, make a smaller disk cache when you recompile the kernel; disabling $FG,2$AutoComplete$FG$; Specify smaller stk sizes when doing $LK,"Spawn",A="MN:Spawn"$(), chang $LK,"DFT_STK",A="MN:DFT_STK"$, and using $LK,"DocMax",A="MN:DocMax"$() to reduce the cmd line buffer size.
* If, for some strange reason, you wanted to reduce mem usage, make a smaller disk cache when you recompile the kernel; disabling $FG,2$AutoComplete$FG$; Specify smaller stk sizes when doing $LK,"Spawn",A="MN:Spawn"$(), chang $LK,"MEM_DFT_STK",A="MN:MEM_DFT_STK"$, and using $LK,"DocMax",A="MN:DocMax"$() to reduce the cmd line buffer size.
* Filenames ending in "$FG,2$.Z$FG$" will be automatically compressed and uncompressed when read or written. The compression method is not supported by other operating systems. You can store files uncompressed by $LK,"Move",A="MN:Move"$()ing them to a filename not ending in "$FG,2$.Z$FG$". See $LK,"::/Doc/TOSZ.TXT"$ if you want to uncompress while in $FG,2$Linux$FG$.
+3 -3
View File
@@ -1,13 +1,13 @@
$WW,1$$FG,5$$TX+CX,"Welcome to TempleOS"$$FG$
TempleOS is a x86_64, multi-cored, multi-tasking, ring-0-only, single-address_mapped (identity-mapped), operating system for recreational programming. Paging is almost not used.
TempleOS is a x86_64, multi-cored, non-preemptive multi-tasking, ring-0-only, single-address_mapped (identity-mapped), operating system for recreational programming. Paging is almost not used.
The people whom can most benefit are:
$ID,2$* Professionals doing hobby projects
* Teenagers doing projects
* Non-professional, older-persons projects
$ID,-2$
Simplicity is a goal to $LK,"keep the line count down",A="FI:::/Doc/Strategy.TXT"$, so it's easy to tinker with. As it turns-out, simplicity makes it faster in some ways, too. It never switches privilege levels, never changes address maps, tends to load whole contiguous files and other, similar things which boost speed. It's only $TX,"118,751",D="DD_TEMPLEOS_LOC"$ lines of code including the kernel, the 64-bit compiler, the graphics library and all the tools. More importantly, it's designed to keep the user's line count down -- you can do a $LK,"Hello World",A="FI:::/Doc/HelloWorld.TXT"$ application in one line of code and can put graphics on the screen with a three line program!
Simplicity is a goal to $LK,"keep the line count down",A="FI:::/Doc/Strategy.TXT"$, so it's easy to tinker with. As it turns-out, simplicity makes it faster in some ways, too. It never switches privilege levels, never changes address maps, tends to load whole contiguous files and other, similar things which boost speed. It's only $TX,"80,940",D="DD_TEMPLEOS_LOC_OFFICIAL"$ lines of code including the kernel, the 64-bit compiler, the graphics library and all the tools. More importantly, it's designed to keep the user's line count down -- you can do a $LK,"Hello World",A="FI:::/Doc/HelloWorld.TXT"$ application in one line of code and can put graphics on the screen with a three line program!
It's a kayak, not a Titanic -- it will crash if you do something wrong. You quickly reboot, however. DOS and the 8-bit home computers of the 80's worked fine without memory protection and most computers in the world -- the embedded ones -- operate without protection. The resulting simplicity of no protections is why TempleOS has value. In facts, that's the point of TempleOS. See the $LK,"TempleOS Charter",A="FI:::/Doc/Charter.TXT"$.
@@ -15,7 +15,7 @@ Conventional thinking is "failure is not an option" for general purpose operatin
Two things to know about TempleOS are that $UL,1$tasks$UL,0$ have $LK,"MAlloc",A="MN:MAlloc"$/$LK,"Free",A="MN:Free"$ heap memory, not applications, and tasks have compiler symbol tables that persist at a scope like environment variables in other operating systems, and the symbols can include functions.
In other operating systems, I hated learning one language for command line scripts and another for programming. With $FG,2$TempleOS$FG$, the command line feeds right into the $LK,"HolyC",A="FI:::/Doc/HolyC.TXT"$ compiler, line by line, and it places code into memory it $LK,"MAlloc",A="MN:MAlloc"$()s. The compiler is paused at the command line, waiting for input. Naturally, you $FG,2$#include$FG$ a program to load it into memory and, usually, start it. See $LK,"::/Doc/HelloWorld.TXT"$.
In other operating systems, I hated learning one language for command line scripts and another for programming. With $FG,2$TempleOS$FG$, the command line feeds right into the $LK,"HolyC",A="FI:::/Doc/HolyC.TXT"$ compiler, line by line, and it places code into memory it $LK,"MAlloc",A="MN:MAlloc"$()s. The compiler is paused at the command line, waiting for input. Naturally, you $FG,2$#include$FG$ a program to load it into memory and, usually, start it.
During the boot process, many files get $LK,"compiled",A="FI:::/StartOS.CPP"$ before you have access to the command line. (Don't worry, booting takes only a couple of seconds.) All the header declarations for the operating system are compiled and are available for use in your programs without needing to $FG,2$#include $FG$them. Everything is truly compiled to native $FG,2$$TX,"x86_64",HTML="http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$ machine code, nothing is $FG,2$interpreted$FG$ and there is no $FG,2$byte code$FG$.
+1
View File
@@ -0,0 +1 @@
$WW,1$Only tasks on $FG,2$core0$FG$ can have a window and there can be only one window per task. The window Z-buffer, top-to-bottom order is determined by the order in the task queue, with the $FG,2$WinMgr$FG$ on the bottom. A task can have child task popup windows.
+13 -3
View File
@@ -98,10 +98,10 @@ U0 ATARepEntry(I64 base0,I64 base1,I64 unit,I64 irq,U8 *msg,
*num_hints+=1;
"\n\n$$PURPLE$$ $$BT+X,\"%d\",LM=\"%d\\n\"$$$$FG$$$$LM,4$$",*num_hints,*num_hints;
if (type==BDT_ATA)
"$$RED$$ATA ";
"$$RED$$Hard Drive $$LTBLUE$$ATA ";
else
"$$RED$$ATAPI ";
"$$LTBLUE$$%s$$FG$$\nBase0:0x%04X Base1:0x%04X\nIrq:0x%02X Unit:%d$$LM,0$$\n",
"$$RED$$CD/DVD Drive $$LTBLUE$$ATAPI ";
"%s$$FG$$\nBase0:0x%04X Base1:0x%04X\nIrq:0x%02X Unit:%d$$LM,0$$\n",
msg,base0,base1,irq,unit;
if (_root) {
tempha=CAlloc(sizeof(CATARep));
@@ -191,6 +191,16 @@ public I64 ATARep(Bool pmt=TRUE,Bool just_ide=FALSE,CATARep **_root=NULL)
return num_hints;
}
CATARep *ATARepFind(CATARep *haystack_root,I64 needle_num)
{
while (haystack_root) {
if (haystack_root->num==needle_num)
return haystack_root;
haystack_root=haystack_root->next;
}
return NULL;
}
CATARep *ATAIDDrvs(CATARep *root,I64 _sys_boot_drv,
CATARep **_ata_drv,CATARep **_atapi_drv)
{//This is for when trying to sort-out main hard drives and CD/DVD drives.
-106
View File
@@ -160,112 +160,6 @@ Bool DrvEnable(U8 drv_let,Bool val)
return result;
}
CATARep *ATARepFind(CATARep *haystack_root,I64 needle_num)
{
while (haystack_root) {
if (haystack_root->num==needle_num)
return haystack_root;
haystack_root=haystack_root->next;
}
return NULL;
}
U0 Mount(Bool repartition=FALSE)
{//Mount a drive.
CBlkDev *bd;
I64 first_drv_num,type,unit,num_hints;
U8 blks_buf[STR_LEN],addr_buf[STR_LEN],base0_buf[STR_LEN],base1_buf[STR_LEN];
Bool add;
CATARep *root,*tempha;
do {
DrvRep;
"\n****** Mount Drives ******\n"
"The first drive letter is the letter\n"
"of the first partition. If adding\n"
"a hard drive, you should pick 'C'.\n"
"If more than one partition is present\n"
"they will be lettered in sequence.\n"
"\nFirst Drive Letter ($$PURPLE$$<ENTER>$$FG$$ to exit):";
first_drv_num=ToUpper(GetChar)-'A';
'\n';
if (0<=first_drv_num<NUM_DRVS) {
"\t$$PURPLE$$1$$FG$$=RAM\n\t$$PURPLE$$2$$FG$$=ATA(Harddisk)\n"
"\t$$PURPLE$$3$$FG$$=ATAPI(CD/DVD)\nType:";
type=GetChar-'0';
'\n';
unit=0;
if (type==BDT_ATA || type==BDT_ATAPI) {
num_hints=ATARep(,,&root);
do {
if (num_hints)
"Enter dev number or\nport with $$PURPLE$$0x$$FG$$ prefix.\n"
"I/O Port Base0:\n";
else
"Include $$PURPLE$$0x$$FG$$ prefix.\nI/O Port Base0:\n";
GetS(base0_buf,STR_LEN);
} while (!Str2I64(base0_buf));
if (1<=Str2I64(base0_buf)<=num_hints) {
tempha=ATARepFind(root,Str2I64(base0_buf));
StrPrint(base0_buf,"0x%X",tempha->base0);
StrPrint(base1_buf,"0x%X",tempha->base1);
unit=tempha->unit;
} else {
if (type==BDT_ATAPI)
StrCpy(base1_buf,"0");
else
do {
"I/O Port Base1:\n";
GetS(base1_buf,STR_LEN);
} while (!Str2I64(base1_buf));
do {
"\t$$PURPLE$$0$$FG$$=Master\n\t$$PURPLE$$1$$FG$$=Slave\nUnit:";
unit=GetChar-'0';
} while (!(0<=unit<=1));
'\n';
}
LinkedLstDel(root);
}
if (type==BDT_RAM) {
"Addr of RAM disk ($$PURPLE$$<ENTER>$$FG$$ to MAlloc):";
GetS(addr_buf,STR_LEN);
"Blks of 512 bytes:";
GetS(blks_buf,STR_LEN);
}
if (BDT_NULL<type<BDT_NUM_TYPES && 0<=unit<=1) {
bd=BlkDevNextFree(first_drv_num+'A',type);
bd->unit=unit;
if (type==BDT_RAM) {
if (!*addr_buf) StrCpy(addr_buf,"0");
bd->RAM_dsk=Str2I64(addr_buf);
bd->max_blk=Str2I64(blks_buf)-1;
}
if (type==BDT_ATA ||
type==BDT_ATAPI) {
bd->base0=Str2I64(base0_buf);
bd->base1=Str2I64(base1_buf);
}
add=TRUE;
if (type==BDT_ATA && repartition) {
"\nReformat WHOLE drive!";
if (YorN) {
if (!BlkDevAdd(bd,TRUE,TRUE))
"\n\n$$BK,1$$$$RED$$Operation Failed$$BK,0$$$$FG$$\n\n";
else
CallExtStr("PrtDsk",bd->first_drv_let);
add=FALSE;
}
}
if (add && !BlkDevAdd(bd,FALSE,TRUE))
"\n\n$$BK,1$$$$RED$$Operation Failed$$BK,0$$$$FG$$\n\n";
} else
"\n\n$$BK,1$$$$RED$$Operation Failed$$BK,0$$$$FG$$\n\n";
}
} while (0<=first_drv_num<NUM_DRVS);
}
I64 SysGetI64()
{
U8 st[STR_LEN];
+6 -93
View File
@@ -23,17 +23,12 @@ class CKernelCfg
Bool opts[CFG_NUM_OPTIONS];
U8 mem_init_val,heap_init_val,var_init_val,
boot_drv_let,auto_mount_ide_hd_let,auto_mount_ide_cd_let;
Bool dvd_ports_pmt;
};
CDoc *KernelCfgAddDev(CKernelCfg *c)
{
I64 ch,num_hints,first_drv_num,type,unit,cnt=0;
U8 blks_buf[STR_LEN],addr_buf[STR_LEN],base0_buf[STR_LEN],base1_buf[STR_LEN];
CATARep *root=NULL,*tempha;
CDoc *doc=DocNew;
Bool make_free;
I64 ch,cnt=0;
CDoc *doc=DocNew,*doc2;
"\n\nIn anticipation of the drives you will\n"
"define shortly, enter the drive letter\n"
"of the drive with the account directory.\n"
@@ -43,97 +38,15 @@ CDoc *KernelCfgAddDev(CKernelCfg *c)
c->boot_drv_let=ch;
else
c->boot_drv_let=Drv2Let(Fs->cur_dv);
"\n\n$$BK,1$$$$PURPLE$$Mount drives so they will be present when "
"you boot.$$FG$$$$BK,0$$\n";
do {
"\n****** Mount Drives ******\n"
"The first drive letter is the letter\n"
"of the first partition. If adding\n"
"a hard drive, you should pick 'C'.\n"
"If more than one partition is present\n"
"they will be lettered in sequence.\n"
"\nFirst Drive Letter ($$PURPLE$$<ENTER>$$FG$$ to exit):";
first_drv_num=ToUpper(GetChar)-'A';
'\n';
if (0<=first_drv_num<NUM_DRVS) {
"\t$$PURPLE$$1$$FG$$=RAM\n\t$$PURPLE$$2$$FG$$=ATA(Harddisk)\n"
"\t$$PURPLE$$3$$FG$$=ATAPI(CD/DVD)\nType:";
type=GetChar-'0';
'\n';
unit=0;
if (type==BDT_RAM) {
"Addr of RAM disk ($$PURPLE$$<ENTER>$$FG$$ to MAlloc):";
GetS(addr_buf,STR_LEN);
"Blks of 512 bytes:";
GetS(blks_buf,STR_LEN);
} else if (type==BDT_ATA ||
type==BDT_ATAPI) {
num_hints=ATARep(,,&root);
if (type==BDT_ATAPI) {
"<ENTER> to use booted CD/DVD\n";
if (num_hints)
"Enter dev number or\nport with $$PURPLE$$0x$$FG$$ prefix.\n"
"I/O Port Base0:\n";
else
"Include $$PURPLE$$0x$$FG$$ prefix.\nI/O Port Base0:\n";
GetS(base0_buf,STR_LEN);
} else
do {
if (num_hints)
"Enter dev number or\nport with $$PURPLE$$0x$$FG$$ prefix.\n"
"I/O Port Base0:\n";
else
"Include $$PURPLE$$0x$$FG$$ prefix.\nI/O Port Base0:\n";
GetS(base0_buf,STR_LEN);
} while (!Str2I64(base0_buf));
if (1<=Str2I64(base0_buf)<=num_hints) {
tempha=ATARepFind(root,Str2I64(base0_buf));
StrPrint(base0_buf,"0x%X",tempha->base0);
StrPrint(base1_buf,"0x%X",tempha->base1);
unit=tempha->unit;
} else if (type!=BDT_ATAPI || *base0_buf) {
if (type==BDT_ATAPI)
StrCpy(base1_buf,"0");
else
do {
"I/O Port Base1:\n";
GetS(base1_buf,STR_LEN);
} while (!Str2I64(base1_buf));
do {
"\t$$PURPLE$$0$$FG$$=Master\n\t$$PURPLE$$1$$FG$$=Slave\nUnit:";
unit=GetChar-'0';
} while (!(0<=unit<=1));
'\n';
}
LinkedLstDel(root);
}
if (BDT_NULL<type<BDT_NUM_TYPES && 0<=unit<=1) {
DocPrint(doc,"bd=BlkDevNextFree(%d,%d);"
"bd->unit=%d;",first_drv_num+'A',type,unit);
if (type==BDT_RAM) {
if (!*addr_buf) StrCpy(addr_buf,"0");
DocPrint(doc,"bd->RAM_dsk=%s;",addr_buf);
DocPrint(doc,"bd->max_blk=(%s)-1;",blks_buf);
}
make_free=FALSE;
if (type==BDT_ATA || type==BDT_ATAPI) {
if (type==BDT_ATAPI && !*base0_buf) {
c->dvd_ports_pmt=TRUE;
DocPrint(doc,"blkdev.boot_rescue_drv_pmt=GetBaseUnit(bd);");
if (first_drv_num+'A'==c->boot_drv_let)
make_free=TRUE;
} else
DocPrint(doc,"bd->base0=%s;bd->base1=%s;",
base0_buf,base1_buf);
}
DocPrint(doc,"BlkDevAdd(bd,FALSE,%d);",make_free);
if (doc2=BlkDevPmt(c->boot_drv_let)) {
DocInsDoc(doc,doc2);
DocDel(doc2);
cnt++;
} else
"\n\n$$BK,1$$$$RED$$Operation Failed$$BK,0$$$$FG$$\n\n";
}
} while (!cnt || 0<=first_drv_num<NUM_DRVS);
} while (!cnt || doc2);
return doc;
}
-6
View File
@@ -173,12 +173,6 @@ U0 KernelMain()
BlkDevsInitAll;
"After BlkDevsInitAll\n";
#exe {
if (kernel_cfg->dvd_ports_pmt)
StreamPrint(
"if (blkdev.boot_rescue_drv_pmt) \"%%S\",\"ST_DVD_PORTS_PMT2\";");
};
ChgDsk(':');
Gs->idle_task->cur_dv=blkdev.let_to_drv[ToUpper(blkdev.boot_drv_let)-'A'];
LBts(&sys_run_level,RLf_BLKDEV);
+1 -1
View File
@@ -305,7 +305,7 @@ USE64
BTS U32 [SYS_RUN_LEVEL],RLf_BOOT_HEAP
PUSH ADAM_STK
PUSH MEM_ADAM_STK
PUSH U32 SYS_FIXED_AREA+CSysFixedArea.adam
CALL &TaskInit
CALL SET_FS_BASE
+4 -3
View File
@@ -177,10 +177,10 @@ I64 TaskInit(CTask *task,I64 stk_size)
MemCpy(task->fpu_mmx,
SYS_FIXED_AREA+offset(CSysFixedArea.init_fpu_mmx),sizeof(CFPU));
task->hash_table=HashTableNew(TASK_HASH_SIZE,task);
task->hash_table=HashTableNew(TASK_HASH_TABLE_SIZE,task);
if (!stk_size)
stk_size=DFT_STK;
stk_size=MEM_DFT_STK;
task->stk=temps=TaskStkNew(stk_size,task);
task->rsp=(&temps->stk_base)(U8 *)+temps->stk_size;
@@ -308,6 +308,7 @@ I64 ExeCmdLine(CCmpCtrl *cc)
Fs->answer_type=type;
Fs->answer_time=tS-t0;
Fs->new_answer=TRUE;
cc->pmt_line=0;
}
if (!(cc->flags&CCF_HAS_MISC_DATA))
Free(machine_code);
@@ -333,7 +334,7 @@ U0 UserTaskCont()
CDoc *doc;
Bool cont=TRUE;
do {
cc=CmpCtrlNew(,CCF_PMT);
cc=CmpCtrlNew(,CCF_PMT|CCF_QUESTION_HELP);
QueIns(cc,Fs->last_lex);
try {
Lex(cc);
+1344 -1347
View File
File diff suppressed because it is too large. Load diff
+42 -39
View File
@@ -1011,10 +1011,9 @@ public class CHashGlblVar:CHashSrcSym
#define DOCEF_SKIP 0x10000000000000
#define DOCEF_POPUP 0x20000000000000
#define DOCEF_SKIP_IN_FORM 0x40000000000000
#define DOCEF_HARD_SKIP 0x80000000000000
#define DOCEF_FILTER_SKIP 0x100000000000000
#define DOCEF_NO_CLICK_ON 0x200000000000000
#define DOCEF_DONT_DRAW 0x400000000000000 //only works on sprites
#define DOCEF_FILTER_SKIP 0x80000000000000
#define DOCEF_NO_CLICK_ON 0x100000000000000
#define DOCEF_DONT_DRAW 0x200000000000000 //only works on sprites
#define DOCEG1_DONT_EDIT (DOCEF_DEFINE|DOCEF_HTML_LINK|\
DOCEF_AUX_STR|DOCEF_BIN_PTR_LINK|DOCEF_SCROLLING_X|DOCEF_TAG_CB)
@@ -1086,11 +1085,10 @@ public class CHashGlblVar:CHashSrcSym
#define DOCEf_SKIP 52
#define DOCEf_POPUP 53
#define DOCEf_SKIP_IN_FORM 54
#define DOCEf_HARD_SKIP 55
#define DOCEf_FILTER_SKIP 56
#define DOCEf_NO_CLICK_ON 57
#define DOCEf_DONT_DRAW 58 //only works on sprites
#define DOCEf_NUM_FLAGS 59
#define DOCEf_FILTER_SKIP 55
#define DOCEf_NO_CLICK_ON 56
#define DOCEf_DONT_DRAW 57 //only works on sprites
#define DOCEf_NUM_FLAGS 58
public class CDocBin
{
@@ -2086,15 +2084,16 @@ class CLexHashTableContext
//CmpCtrl flags
#define CCF_PMT 1
#define CCf_PMT 0
#define CCF_DONT_FREE_BUF 2
#define CCF_NO_DEFINES 4
#define CCF_IN_IF 8
#define CCF_JUST_LOAD 16
#define CCF_KEEP_NEW_LINES 32
#define CCF_KEEP_DOT 64
#define CCF_KEEP_NUM_SIGN 128
#define CCF_KEEP_AT_SIGN 256
#define CCf_PASS_TRACE_PRESENT 9
#define CCF_QUESTION_HELP 2
#define CCF_DONT_FREE_BUF 4
#define CCF_NO_DEFINES 8
#define CCF_IN_IF 16
#define CCF_JUST_LOAD 32
#define CCF_KEEP_NEW_LINES 64
#define CCF_KEEP_DOT 128
#define CCF_KEEP_NUM_SIGN 256
#define CCF_KEEP_AT_SIGN 512
#define CCf_PASS_TRACE_PRESENT 10
#define CCF_NOT_CONST 0x0000010000
#define CCF_NO_REG_OPT 0x0000020000
#define CCF_IN_QUOTES 0x0000040000
@@ -2165,7 +2164,7 @@ public class CCmpCtrl
CCodeCtrl coc;
CPrsStk *ps;
CAOTCtrl *aotc;
I64 aot_depth;
I64 aot_depth,pmt_line;
U0 pad;#assert !($$&7) //(compiler lags one token)
};
@@ -2532,6 +2531,7 @@ public class CDirEntry
#define FUf_ALL 3
#define FUf_CANCEL 4
#define FUf_REPLACE 5
#define FUf_RISKY 5
#define FUf_PUBLIC 6
#define FUf_MAP 7
#define FUf_EXPAND 8
@@ -2557,6 +2557,7 @@ public class CDirEntry
#define FUF_ALL 0x000008 //a
#define FUF_CANCEL 0x000010 //c
#define FUF_REPLACE 0x000020 //R
#define FUF_RISKY 0x000020 //R
#define FUF_PUBLIC 0x000040 //p
#define FUF_MAP 0x000080 //m
#define FUF_EXPAND 0x000100 //x
@@ -2613,7 +2614,7 @@ public class CDirEntry
//locked flags
#define BDlf_LOCKED 0
#define NUM_BLKDEVS 32
#define NUM_BLKDEVS 26
#define BD_SIGNATURE_VAL 'BDSV'
public class CBlkDev
{
@@ -2664,7 +2665,7 @@ class CFreeLst
I64 start,size;
};
#define NUM_DRVS 32
#define NUM_DRVS 26
#define DRV_SIGNATURE_VAL 'DVSV'
public class CDrv
@@ -2715,7 +2716,7 @@ public class CBlkDevGlbls
CDrv *drvs,*let_to_drv[32];
I64 auto_mount_ide_cnt;
U8 boot_drv_let,first_hd_drv_let,first_dvd_drv_let;
Bool boot_rescue_drv_pmt,dvd_boot_is_good,pad[3];
Bool dvd_boot_is_good,pad[4];
};
#help_index "File/Internal"
@@ -2784,8 +2785,8 @@ class CMemUsed
#help_index "Memory/BlkPool"
/*TempleOS does not mess with page tables after it
identity-maps them during boot -- $LK,"SYS_INIT_MEM",A="MN:SYS_INIT_MEM"$.
$LK,"PAGE_SIZE",A="MN:PAGE_SIZE"$ is arbitrary, and is not related to CPU hardware.
I need some unit for memory allocation so I invented "$LK,"PAGE_SIZE",A="MN:PAGE_SIZE"$".
$LK,"MEM_PAGE_SIZE",A="MN:MEM_PAGE_SIZE"$ is arbitrary, and is not related to CPU hardware.
I need some unit for memory allocation so I invented "$LK,"MEM_PAGE_SIZE",A="MN:MEM_PAGE_SIZE"$".
All virtual addresses are identical to physical, always.
There is no high kernel memory because RAM's physical
@@ -2825,18 +2826,20 @@ class CMemRange
I64 size;
};
#define PAGE_BITS 9
#define PAGE_SIZE (1<<PAGE_BITS)
#define MEM_PAGE_BITS 9
#define MEM_PAGE_SIZE (1<<MEM_PAGE_BITS)
#define MEM_HEAP_HASH_SIZE 1024
#define MEM_FREE_PAGE_HASH_SIZE 0x100
//It is common to $LK,"MAlloc",A="MN:MAlloc"$() exact powers of two. There is some overhead.
//We add $TX,"2",D="MEM_EXTRA_HASH2_PAGES"$ pages, so a request is not rounded-up to next power of two.
#define MEM_EXTRA_HASH2_PAGES 2
#define HEAP_HASH_SIZE 1024
#define FREE_PAGE_HASH_SIZE 0x100
#define MEM_ADAM_STK (MEM_PAGE_SIZE*512) //Like 16384*MEM_PAGE_SIZE
#define MEM_SETH_STK (MEM_PAGE_SIZE*512)
#define MEM_INTERRUPT_STK (MEM_PAGE_SIZE*512)
#define MEM_DFT_STK (MEM_PAGE_SIZE*512)
#define ADAM_STK (PAGE_SIZE*512) //limit of like 16384*PAGE_SIZE
#define SETH_STK (PAGE_SIZE*512)
#define INTERRUPT_STK (PAGE_SIZE*512)
#define DFT_STK (PAGE_SIZE*512)
#define TASK_HASH_SIZE (1<<10)
#define TASK_HASH_TABLE_SIZE (1<<10)
//locked flags
#define BPlf_LOCKED 0
@@ -2844,8 +2847,8 @@ public class CBlkPool
{
I64 locked_flags,alloced_u8s,used_u8s;
CMemBlk *mem_free_lst,*mem_free_2meg_lst,
*free_page_hash[FREE_PAGE_HASH_SIZE],
*free_page_hash2[64-PAGE_BITS];
*free_page_hash[MEM_FREE_PAGE_HASH_SIZE],
*free_page_hash2[64-MEM_PAGE_BITS];
};
#help_index "Memory/HeapCtrl"
@@ -2862,7 +2865,7 @@ public class CHeapCtrl
CMemBlk *next_mem_blk,*last_mem_blk;
CMemUnused *malloc_free_lst;
CMemUsed *next_um,*last_um;
CMemUnused *heap_hash[HEAP_HASH_SIZE/sizeof(U8 *)];
CMemUnused *heap_hash[MEM_HEAP_HASH_SIZE/sizeof(U8 *)];
};
#help_index "Devices"
@@ -3425,7 +3428,7 @@ public class CSysFixedArea
CTask adam;
CBlkPool adam_bp;
CHeapCtrl adam_hc;
$$=($$+PAGE_SIZE-1)&-PAGE_SIZE;
$$=($$+MEM_PAGE_SIZE-1)&-MEM_PAGE_SIZE;
};
#help_index "Char"
@@ -3835,7 +3838,7 @@ public class CDbgGlbls
#define BOOT_SRC_DVD 3
// $LK,"Auto",A="MN:Auto"$("") StdIn for call to $LK,"MakeOSDrvBootInstall",A="MN:MakeOSDrvBootInstall"$().
#define STD_DISTRO_DVD_CFG "Tb1\nScale2Mem(2048,0x40000)\nt3 \n\n\n\n"
#define STD_DISTRO_DVD_CFG "Tb\nScale2Mem(2048,0x40000)\nt \n\n\n\n"
#help_index "Misc/Registry"
//Registry sys_msg_flags. $LK,"RegOneTimePopUp",A="MN:RegOneTimePopUp"$()
-4
View File
@@ -5,9 +5,6 @@ public extern CAutoCompleteGlbls ac;
#help_index "AutoComplete/Dictionary"
public extern CAutoCompleteDictGlbls acd;
#help_index "AutoFile;StdIn/AutoFile"
#help_file "::/Doc/AutoFile"
#help_index "Bit"
public extern I64 BCnt(I64 d);
public extern U8 *reverse_bits_table,*set_bits_table;
@@ -461,7 +458,6 @@ public extern Bool DrvEnable(U8 drv_let,Bool val);
#help_index "Install;File/Cmd Line (Typically);Cmd Line (Typically);"
public extern U0 Fmt(U8 drv_let,Bool quick=TRUE,
Bool confirm=TRUE,I64 type=DVT_FAT32);
public extern U0 Mount(Bool repartition=FALSE);
#help_index "Install;Memory/BlkPool"
public extern I64 Scale2Mem(I64 min,I64 max,I64 limit=2*1024*1024*1024);
+7 -7
View File
@@ -9,7 +9,7 @@ U0 BlkPoolAdd(CBlkPool *bp,CMemBlk *m,I64 pages512)
m->next=bp->mem_free_lst;
m->pages=pages512;
m->mb_signature=MBS_UNUSED_SIGNATURE_VAL;
bp->alloced_u8s+=pages512<<PAGE_BITS;
bp->alloced_u8s+=pages512<<MEM_PAGE_BITS;
bp->mem_free_lst=m;
LBtr(&bp->locked_flags,BPlf_LOCKED);
POPFD
@@ -20,9 +20,9 @@ U0 BlkPoolInit(CBlkPool *bp,I64 pages512)
I64 num;
CMemBlk *m;
MemSet(bp,0,sizeof(CBlkPool));
m=(bp(U8 *)+sizeof(CBlkPool)+PAGE_SIZE-1)&~(PAGE_SIZE-1);
num=(bp(U8 *)+pages512<<PAGE_BITS-m(U8 *))>>PAGE_BITS;
bp->alloced_u8s=(pages512-num)<<PAGE_BITS; //Compensate before num added.
m=(bp(U8 *)+sizeof(CBlkPool)+MEM_PAGE_SIZE-1)&~(MEM_PAGE_SIZE-1);
num=(bp(U8 *)+pages512<<MEM_PAGE_BITS-m(U8 *))>>MEM_PAGE_BITS;
bp->alloced_u8s=(pages512-num)<<MEM_PAGE_BITS; //Compensate before num added.
BlkPoolAdd(bp,m,num);
}
@@ -42,7 +42,7 @@ U0 BlkPoolsInit()
code_heap_limit=0x80000000;
i=code_heap_limit-0x1000000;
BlkPoolAdd(sys_code_bp,0x1000000,i>>PAGE_BITS);
BlkPoolAdd(sys_code_bp,0x1000000,i>>MEM_PAGE_BITS);
sys_heap_limit=i+0x1000000-1;
if (code_heap_limit<total) {
@@ -58,12 +58,12 @@ U0 BlkPoolsInit()
}
if (code_heap_limit<=lo<hi) {
if (first) {
BlkPoolInit(lo,(hi-lo)>>PAGE_BITS);
BlkPoolInit(lo,(hi-lo)>>MEM_PAGE_BITS);
sys_data_bp=lo;
Fs->data_heap=HeapCtrlInit(,Fs,sys_data_bp);
first=FALSE;
} else
BlkPoolAdd(sys_data_bp,lo,(hi-lo)>>PAGE_BITS);
BlkPoolAdd(sys_data_bp,lo,(hi-lo)>>MEM_PAGE_BITS);
}
}
m20++;
+4 -3
View File
@@ -17,9 +17,10 @@ CHeapCtrl *HeapCtrlBPInit(CBlkPool *bp,I64 pages512)
CHeapCtrl *hc;
MemSet(bp,0,sizeof(CBlkPool)+sizeof(CHeapCtrl));
hc=HeapCtrlInit(bp(U8 *)+sizeof(CBlkPool),,bp);
m=(bp(U8 *)+sizeof(CBlkPool)+sizeof(CHeapCtrl)+PAGE_SIZE-1)&~(PAGE_SIZE-1);
num=(bp(U8 *)+pages512<<PAGE_BITS-m(U8 *))>>PAGE_BITS;
bp->alloced_u8s=(pages512-num)<<PAGE_BITS;
m=(bp(U8 *)+sizeof(CBlkPool)+sizeof(CHeapCtrl)+MEM_PAGE_SIZE-1)&
~(MEM_PAGE_SIZE-1);
num=(bp(U8 *)+pages512<<MEM_PAGE_BITS-m(U8 *))>>MEM_PAGE_BITS;
bp->alloced_u8s=(pages512-num)<<MEM_PAGE_BITS;
BlkPoolAdd(bp,m,num);
return hc;
}
+8 -8
View File
@@ -41,7 +41,7 @@ _MALLOC::
PAUSE //don't know if this instruction helps
JC @@25
CMP RAX,HEAP_HASH_SIZE
CMP RAX,MEM_HEAP_HASH_SIZE
JAE @@30
MOV RSI,U64 CHeapCtrl.heap_hash[RAX+RDX]
TEST RSI,RSI
@@ -51,8 +51,8 @@ _MALLOC::
JMP I32 MALLOC_ALMOST_DONE
//Big allocation
@@30: ADD RAX,sizeof(CMemBlk)+PAGE_SIZE-1
SHR RAX,PAGE_BITS
@@30: ADD RAX,sizeof(CMemBlk)+MEM_PAGE_SIZE-1
SHR RAX,MEM_PAGE_BITS
PUSH RDX //preserve HeapCtrl
PUSH RAX //num blks (we must pass address of this)
@@ -66,7 +66,7 @@ _MALLOC::
TEST RSI,RSI
JZ @@45 //Out of memory
SHL RAX,PAGE_BITS
SHL RAX,MEM_PAGE_BITS
SUB RAX,sizeof(CMemBlk)
ADD RSI,sizeof(CMemBlk)
JMP I32 MALLOC_ALMOST_DONE
@@ -79,8 +79,8 @@ _MALLOC::
TEST RSI,RSI
JNZ @@55
PUSH RAX //-**** save byte size
ADD RAX,16*PAGE_SIZE-1
SHR RAX,PAGE_BITS
ADD RAX,16*MEM_PAGE_SIZE-1
SHR RAX,MEM_PAGE_BITS
PUSH RDX //preserve HeapCtrl
PUSH RAX //num blks (we must pass address of this)
@@ -105,7 +105,7 @@ _MALLOC::
JMP I32 MALLOC_FINAL_EXIT //Never gets here, hopefully.
@@50: LEA RSI,U64 sizeof(CMemBlk)[RSI]
SHL RAX,PAGE_BITS
SHL RAX,MEM_PAGE_BITS
SUB RAX,sizeof(CMemBlk)
LEA RBX,U64 CHeapCtrl.malloc_free_lst-CMemUnused.next[RDX]
MOV RDI,U64 CMemUnused.next[RBX]
@@ -292,7 +292,7 @@ _FREE::
MOV RDX,U64 CMemUsed.hc[RSI]
#endif
CMP RAX,HEAP_HASH_SIZE
CMP RAX,MEM_HEAP_HASH_SIZE
JAE @@50
#assert CMemUnused.size==CMemUsed.size
+11 -11
View File
@@ -14,7 +14,7 @@ Return: NULL if out of memory.
CLI
while (LBts(&bp->locked_flags,BPlf_LOCKED))
PAUSE
num<<=21-PAGE_BITS;
num<<=21-MEM_PAGE_BITS;
m=&bp->mem_free_2meg_lst;
while (TRUE) {
@@ -28,7 +28,7 @@ Return: NULL if out of memory.
goto am_done;
} else {
result->pages-=num;
result(U8 *)+=result->pages<<PAGE_BITS;
result(U8 *)+=result->pages<<MEM_PAGE_BITS;
result->pages=num;
goto am_done;
}
@@ -53,20 +53,20 @@ Return: NULL if out of memory.
goto am_done;
}
} else {
if (i=(result(U8 *)&0x1FFFFF)>>PAGE_BITS) {
j=1<<(21-PAGE_BITS)-i;
if (i=(result(U8 *)&0x1FFFFF)>>MEM_PAGE_BITS) {
j=1<<(21-MEM_PAGE_BITS)-i;
if (result->pages<num+j)
m=result;
else if (result->pages==num+j) {
result->pages-=num;
result(U8 *)+=result->pages<<PAGE_BITS;
result(U8 *)+=result->pages<<MEM_PAGE_BITS;
result->pages=num;
goto am_done;
} else {
m1=result;
result(U8 *)+=j<<PAGE_BITS;
result(U8 *)+=j<<MEM_PAGE_BITS;
result->pages=num;
m=result(U8 *)+num<<PAGE_BITS;
m=result(U8 *)+num<<MEM_PAGE_BITS;
m->pages=m1->pages-num-j;
m1->pages=j;
m->next=m1->next;
@@ -75,7 +75,7 @@ Return: NULL if out of memory.
goto am_done;
}
} else {
m=m->next=result(U8 *)+num<<PAGE_BITS;
m=m->next=result(U8 *)+num<<MEM_PAGE_BITS;
m->next=result->next;
m->pages=result->pages-num;
m->mb_signature=MBS_UNUSED_SIGNATURE_VAL;
@@ -86,9 +86,9 @@ Return: NULL if out of memory.
}
}
am_done:
i=num<<PAGE_BITS;
i=num<<MEM_PAGE_BITS;
bp->used_u8s+=i;
num>>=21-PAGE_BITS;
num>>=21-MEM_PAGE_BITS;
*_pages2Meg=num;
m=result;
m1=m(U8 *)+i;
@@ -170,7 +170,7 @@ U0 Mem2MegFree(CMemBlk *m,I64 pages2Meg,CBlkPool *bp=NULL)
while (LBts(&bp->locked_flags,BPlf_LOCKED))
PAUSE
m->mb_signature=MBS_UNUSED_SIGNATURE_VAL;
m->pages=pages2Meg<<(21-PAGE_BITS);
m->pages=pages2Meg<<(21-MEM_PAGE_BITS);
bp->used_u8s-=pages2Meg<<21;
m->next=bp->mem_free_2meg_lst;
bp->mem_free_2meg_lst=m;
+16 -16
View File
@@ -23,21 +23,21 @@ Return: NULL if out of memory.
CLI
while (LBts(&bp->locked_flags,BPlf_LOCKED))
PAUSE
if (num<FREE_PAGE_HASH_SIZE) {
if (num<MEM_FREE_PAGE_HASH_SIZE) {
if (result=bp->free_page_hash[num]) {
bp->free_page_hash[num]=result->next;
goto at_done;
}
i=Bsr(FREE_PAGE_HASH_SIZE)+1;
i=Bsr(MEM_FREE_PAGE_HASH_SIZE)+1;
} else {
//We'll now round-up to a power of two.
//There is some overhead on allocations and
//we wouldn't want to round to the next
//power of two if a power of two was requested.
//So we use a little more than a power of two.
num-=2;
num-=MEM_EXTRA_HASH2_PAGES;
i=Bsr(num)+1;
num=1<<i+2;
num=1<<i+MEM_EXTRA_HASH2_PAGES;
if (result=bp->free_page_hash2[i]) {
bp->free_page_hash2[i]=result->next;
goto at_done;
@@ -50,11 +50,11 @@ Return: NULL if out of memory.
//freed larger size block... and, screw-it, return the whole thing.
do {
if (result=bp->free_page_hash2[++i]) {
num=1<<i+2;
num=1<<i+MEM_EXTRA_HASH2_PAGES;
bp->free_page_hash2[i]=result->next;
goto at_done;
}
} while (i<64-PAGE_BITS-1);
} while (i<64-MEM_PAGE_BITS-1);
num=0;
result=NULL; //Out of memory
goto at_done;
@@ -67,7 +67,7 @@ Return: NULL if out of memory.
goto at_done;
} else {
result->pages-=num;
result(U8 *)+=result->pages<<PAGE_BITS;
result(U8 *)+=result->pages<<MEM_PAGE_BITS;
result->pages=num;
goto at_done;
}
@@ -75,7 +75,7 @@ Return: NULL if out of memory.
}
at_done:
*_pages512=num;
bp->used_u8s+=num<<PAGE_BITS;
bp->used_u8s+=num<<MEM_PAGE_BITS;
LBtr(&bp->locked_flags,BPlf_LOCKED);
POPFD
return result;
@@ -92,8 +92,8 @@ U0 Mem512Free(CMemBlk *m,I64 pages512,CBlkPool *bp=NULL)
PAUSE
m->mb_signature=MBS_UNUSED_SIGNATURE_VAL;
m->pages=pages512;
bp->used_u8s-=pages512<<PAGE_BITS;
if (pages512<FREE_PAGE_HASH_SIZE) {
bp->used_u8s-=pages512<<MEM_PAGE_BITS;
if (pages512<MEM_FREE_PAGE_HASH_SIZE) {
m->next=bp->free_page_hash[pages512];
bp->free_page_hash[pages512]=m;
} else {
@@ -102,7 +102,7 @@ U0 Mem512Free(CMemBlk *m,I64 pages512,CBlkPool *bp=NULL)
//we wouldn't want to round to the next
//power of two if a power of two was requested.
//So we use a little more than a power of two.
pages512-=2;
pages512-=MEM_EXTRA_HASH2_PAGES;
i=Bsr(pages512);
m->next=bp->free_page_hash2[i];
bp->free_page_hash2[i]=m;
@@ -124,12 +124,12 @@ Return: NULL if out of memory.
if (result=Mem512Alloc(_pages512,hc->bp)) {
QueIns(result,hc->last_mem_blk);
result->mb_signature=MBS_USED_SIGNATURE_VAL;
hc->alloced_u8s+=*_pages512<<PAGE_BITS;
hc->alloced_u8s+=*_pages512<<MEM_PAGE_BITS;
//Tidy-up free lst (Move into heap hash)
//because if free lst gets long, delay causes crash
threshold=HEAP_HASH_SIZE>>4;
#assert HEAP_HASH_SIZE>>4>=sizeof(U8 *)
threshold=MEM_HEAP_HASH_SIZE>>4;
#assert MEM_HEAP_HASH_SIZE>>4>=sizeof(U8 *)
do {
cnt=0;
_uum=&hc->malloc_free_lst;
@@ -147,7 +147,7 @@ Return: NULL if out of memory.
}
}
threshold<<=1;
} while (cnt>8 && threshold<=HEAP_HASH_SIZE);
} while (cnt>8 && threshold<=MEM_HEAP_HASH_SIZE);
}
return result;
}
@@ -161,7 +161,7 @@ U0 Mem512TaskFree(CMemBlk *m,CHeapCtrl *hc)
SysBadFree(m);
else {
QueRem(m);
hc->alloced_u8s-=m->pages<<PAGE_BITS;
hc->alloced_u8s-=m->pages<<MEM_PAGE_BITS;
Mem512Free(m,m->pages,hc->bp);
}
POPFD
+4 -3
View File
@@ -124,7 +124,8 @@ pain without MAlloc up-and-running.
#define ESTIMATED_MISC_ALLOCS 0x100000
#assert CONSERVATIVE_16MEG_SIZE-
(SYS_FIXED_AREA+sizeof(CSysFixedArea))>ADAM_STK+ESTIMATED_MISC_ALLOCS
(SYS_FIXED_AREA+sizeof(CSysFixedArea))>MEM_ADAM_STK+
ESTIMATED_MISC_ALLOCS
//EBX=BASE EAX=SIZE
TEST U8 [SYS_MEM_INIT_FLAG],1
@@ -136,7 +137,7 @@ pain without MAlloc up-and-running.
REP_STOSB
POP EAX
@@40: SHR EAX,PAGE_BITS
@@40: SHR EAX,MEM_PAGE_BITS
MOV ESI,SYS_FIXED_AREA+CSysFixedArea.adam_bp
MOV EDI,U32 CBlkPool.mem_free_lst[ESI]
MOV U32 CMemBlk.next[EBX],EDI
@@ -145,7 +146,7 @@ pain without MAlloc up-and-running.
MOV U32 CBlkPool.mem_free_lst+4[ESI],0
MOV U32 CMemBlk.mb_signature[EBX],MBS_UNUSED_SIGNATURE_VAL
MOV U32 CMemBlk.pages[EBX],EAX
SHL EAX,PAGE_BITS
SHL EAX,MEM_PAGE_BITS
ADD U32 CBlkPool.alloced_u8s[ESI],EAX
RET
}
+5 -5
View File
@@ -80,11 +80,11 @@ CTSS *TSSNew(I64 cpu_num)
tss->io_map_offset=offset(CTSS.io_map);
MemSet(tss->io_map,0xFF,0x10000/8);
tss->st0=MAlloc(INTERRUPT_STK);
tss->st0=MAlloc(MEM_INTERRUPT_STK);
tss->rsp0=tss->st0(U8 *)+MSize(tss->st0);
tss->st1=MAlloc(INTERRUPT_STK);
tss->st1=MAlloc(MEM_INTERRUPT_STK);
tss->rsp1=tss->st1(U8 *)+MSize(tss->st1);
tss->st2=MAlloc(INTERRUPT_STK);
tss->st2=MAlloc(MEM_INTERRUPT_STK);
tss->rsp2=tss->st2(U8 *)+MSize(tss->st2);
tss->tr =offset(CGDT.tr)+cpu_num*16;
@@ -352,7 +352,7 @@ U0 Core0StartMP()
for (i=1;i<my_mp_cnt;i++) {
StrPrint(buf,"Seth Task CPU#%d",i);
task=Spawn(&CoreAPSethInit,NULL,buf,,,SETH_STK,0);
task=Spawn(&CoreAPSethInit,NULL,buf,,,MEM_SETH_STK,0);
task->rflags=RFLAGG_START;
//$LK,"CTask",A="MN:CTask"$ alloced off this core's seth_task's heap (Which is Adam)
CPUStructInit(i,&cpu_structs[i],task);
@@ -397,7 +397,7 @@ U0 Core0Init()
}
interrupt U0 IntMPCrash()
{//Entering the debugger from another core causes an interrupt on core#0
{//Entering the debugger from another core causes an interrupt on core0
//Which calls this routine.
*LAPIC_EOI(U32 *)=0;
mp_cnt=1;
+2 -2
View File
@@ -1,6 +1,6 @@
/*On each core, tasks are linked in a
circular doubly-linked list queue with
the Seth task as the head. On core#0,
the Seth task as the head. On core0,
the queue order represents the front-to-back
window stack order with the window mgr
as the wallpaper.
@@ -224,7 +224,7 @@ RESTORE_RSI_TASK2:
JC @@20 //Jmp if had chance for IRQ already
MOV RAX,U64 GS:CCPU.idle_task[RAX]
MOV RSP,U64 CTask.stk[RAX]
ADD RSP,DFT_STK+CTaskStk.stk_base //Rst to top
ADD RSP,MEM_DFT_STK+CTaskStk.stk_base //Rst to top
CALL SET_FS_BASE
STI //Restore idle task so we can unmask IRQs.
HLT
+2 -1
View File
@@ -1,9 +1,10 @@
//Make Your own Distro by #include-ing this file.
#define STD_DISTRO_DVD_CFG "Tb1\nScale2Mem(2048,0x40000)\nt3 \n\n\n\n"
#define STD_DISTRO_DVD_CFG "Tb\nScale2Mem(2048,0x40000)\nt \n\n\n\n"
U0 MakeMyISO(U8 *out_iso_filename)
{//Does everything with current drive.
//If you have not recompiled $FG,2$Kernel$FG$ and defined your CD/DVD drive, use $LK,"Mount",A="MN:Mount"$.
if (!DrvIsWritable) {
"Drive must be writable. Install on Hard drive, first.\n";
return;
+7 -7
View File
@@ -1,7 +1,7 @@
Bool VMPrtDsk(CTask *task,CATARep *ata_drv)
{
if (ata_drv) {
XTalkWait(task,"PrtDsk;\nYC2p%d\nYYY",ata_drv->num);
XTalkWait(task,"PrtDsk;\nYCp%d\nYYY",ata_drv->num);
XTalkWait(task,"%d\nY\nY\n",(drv_dsk_dsk_size-DRV_HEADER)/2);
return TRUE;
} else
@@ -27,12 +27,12 @@ U0 VMInstallBoot(CTask *task,U8 dvd_drv,U8 drv,
XTalkWait(task,
"MakeOSDrvBootInstall('%C');\n"
"\nB1\n0x20000\n",drv);
"\nB\n0x20000\n",drv);
if (ata_drv)
XTalkWait(task,"C2p%d\n",ata_drv->num);
XTalkWait(task,"Cp%d\n",ata_drv->num);
if (atapi_drv)
XTalkWait(task,"T3p%d\n",atapi_drv->num);
XTalkWait(task,"Tp%d\n",atapi_drv->num);
XTalkWait(task,
"\n" //Exit Drives
@@ -84,7 +84,7 @@ U0 RegularInstallWiz()
WinVert(Fs->win_top,(Fs->win_top+Fs->win_bottom)>>2-1,task);
WinVert(task->win_bottom+3,Fs->win_bottom);
WinToTop(Fs);
XTalk(task,"Mount;\nC2 ");
XTalk(task,"Mount;\nC ");
num_hints=ATARep(FALSE,,&root);
"\nInclude '$$PURPLE$$0x$$FG$$' for hexidecimal numbers.\n\n";
@@ -157,9 +157,9 @@ U0 RegularInstallWiz()
Copy("::/MakeHome.CPP.Z",new_home_str);
XTalkWait(task,
"MakeOSDrvBootInstall('%C');\n"
"\nB1\n0x20000\n"
"\nB\n0x20000\n"
"C"
"2p"
"p"
"%s\n"
"%s\n"
"%C"
+10 -1
View File
@@ -6,7 +6,7 @@ U0 TSStart()
U0 TS()
{
progress4=ts_num++;
progress4_max=163;
progress4_max=164;
*progress4_desc=0;
}
U0 TSEnd()
@@ -1241,6 +1241,14 @@ U0 DoStkGrow()
XTalk(task,"Exit;\n");
}
U0 DoMemDemo()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/MemDemo\";\n");
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoSpan()
{
CTask *task=User;
@@ -2360,6 +2368,7 @@ U0 OSTestSuite()
TS; DoSuggestedSpelling;
TS; DoWordSearch;
TS; DoStkGrow;
TS; DoMemDemo;
TS; DoWaterFowl;
TS; DoAsmHelloWorld;
TS; DoAsmAndC1;
+1 -1
View File
@@ -17,7 +17,7 @@ HashTablePurge(adam_task->hash_table);
#help_index "Misc"
//Use Dbg("Type 'G;'"); to debug before window mgr is running.
public F64 os_version=3.12;//Operating system version.
public F64 os_version=4.01;//Operating system version.
#include "/Adam/MakeAdam"