//Compiler initializes globals in AOT bin modules to zero.
//Globals Set to Zero Here.

CJob     sys_macro_head;
CTask   *sys_macro_task;
CDoc    *sys_clip_doc;

CTask   *sys_task;
I64      sys_num_spawned_tasks;

CTask   *sys_winmgr_task,
        *sys_task_being_screen_updated;
U8      *rev_bits_table; //Table with U8 bits reversed
CDate    local_time_offset;
F64     *pow10_I64,
         sys_os_version = 0.05;

CAutoCompleteDictGlobals acd;
CAutoCompleteGlobals     ac;
CBlkDevGlobals           blkdev;
CCountsGlobals           counts = {1, 0, 2676302000, 2676302, 2676302000, FALSE};
CDebugGlobals            debug;
CDevGlobals              dev;
CGridGlobals             mouse_grid; //See ::/Demo/Graphics/Grid.CC.
CMouseStateGlobals       mouse, mouse_last;
CKbdStateGlobals         kbd;
CKeyDevGlobals           keydev;
CMouseHardStateGlobals   mouse_hard, mouse_hard_last;
CScreenCastGlobals       screencast;
CTextGlobals             text;

U8      *(*fp_getstr2)(I64 flags=0);
U0       (*fp_update_ctrls)(CTask *task);
CDoc    *(*fp_doc_put)(CTask *task=NULL);
U0       (*fp_set_std_palette)();