*€ð0àààÐÐа°°   ���€€€ppp```PPP@@@000  0ÿÿÿÿÿÿÿÿ2Tv˜ºÜþïÍ«‰gE#2Tv˜ºÜþ2Tv˜ºÜþ ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >À?îîîîîîîîîîîîîîîîîîîîîî3îîîîáîîîîîîîîîîîîîîîîîîîî>3îîîîîîîîîîîîîîîîîîîîîîîî~wîîDäîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîîîîîîîîîîîîîîîîîîîîîî>3îîîáîîîîîîîîîîîîîîîîîîîîDäîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîîîîîfæîîîîîîîîîîîîîîîîî3333333îîîîîîîîîîîîîîîîîîîîîîîîî>3îîîîîîîîîîîîîîîîîîîîîîîîîîîîDäîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîfîîîîîîîîîîîîîîîîî>3333333îîîîîîîîîîîîîîîîîîîîîDDDDDîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîîîîîfîîîîîîîîîîîîîîîîîî3333333îîîîîîîîîîîîîîîîîîîîîî>3333333îîîîîîîîîîîîîîîîîîîîîîDDDDDDDäîîîîîîîîîîîîîîîîîîîîîNDDDDDDDîîîîîfæàîîfîîîîîîîîîîîîîîîîîîfî3ãîîîîîîîîîîîîîîînæîîîîîîîîîî>3îîîîîî~çîîîîîîîîîîîîîîîîîî~çDäîDäîîîîîîîîîîîîî~çîîîîîîNDDDDDDDîîàîîfæàîîîîînæ>3îîîîîîîîîîîîîîîîwîîîîîîîîîîDäîîîîîî~çîîîîîîîîîîîîîîîîî~DäîîîîîîîîîîîîîîîîîˆîîîîîîîNDDDDä€àîîfféîîîîîîîîàîîîîfffî3ãîîîîîîîîîîîîîîînæîîîîîîîîîî>3îîîîîî~çîîîîîîîîîîîîîîîîîî~çDäîîîîîîîîîîîîîîîî~çîîîîîîîîîNîîîîààîˆff™îîîîîîîîàîîîîfff63îîîîîîîîîî®îîîwwwwwîîîîîîªîDäîîîî~wwwwî®êîîîîîîîîîîîîî~DäîîîîîîîîîîîîîîîîîˆîîîîîîîîNDîîîîîîî€àîîfîéîîîîîîîîàîîîîffff3ãîîîîîîîîîîêîînffffæîîîîîîêî>3îîîî~wwwwç®êîîîîîîîîîîîî~wwwDäîîîîîîîîîî¾ëîî~wwwwîîîîîî¾ëNîîîîà€ˆˆnæ ™îÎîîîîîîàîîîîÝêæ>3îîîîîîîíîî®îîîîîwîîîîîîîîªîDäîîîîîî~çîî®êîîîîîîîîîîî~wwDtçîîîîîîîîîîîëîˆˆˆîîîîîîNäîîîî€€ˆîfî ™™Ìîîîîîîàîîîž™™fîîîîîîîîîÝªªîîînæîÝîîîªªîîîÝîîîî~çîî®êîîîîîîîîîîîîî¾{çîîîîîîîîîîîî¾ëîîîîwîîîîîîîî¾ëNîîîîààîˆnæ™ÎÎîîîààîîîîÝêfîîîîîîîîîíîî®îîîîîwîîíîîªªêîîîîîîî~çª»îîîîîîîîîîî»{·ëîîîîîîîîîî¾»»»îîîˆîîîîîîî»»»»îîîîîî€àîÎfîéÌÌ ààîîîÌÌÉfîîîîîîîîÝÝÝîîêîîîînæÝÝÝîîîîîêîîîÝÝÝîîî~çîî®êîîîîîîîîîîîîî¾{çîîîîîîîîîîîî¾ëîîîîwîîîîîîî»»»ëàààîˆîî™îîîîîîàîîîîÞêîîîîîîîîîîíîî®îîîîîîîîíîîîîîªîîîîîîîîîîîîî®êîîîîîîîîîîîîî¾îîîîîîîîîîîîîîëîîîîîîîîîîîîî¾îîîîà€àîîîî ÎîîîîîîàîîîîÎéîîîîîîîîîîÞîîîêîîîîîîîÝîîîîîîêîîîîÝîîîîîîîî®êîîîîîîîîîîîîî¾ëîîîîîîîîîîîîî¾ëîîîîîîîîîîîîî¾îîîîîîààîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîíîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÞîîîîîîîîîîîÝîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîíîîîîîîîîîîÞîîîîîîîîîîîÝîîîîîîîîîîîíîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîìîîîîîîîîààîîîîîîîÎìîîîîîîîîîîÞîîîîîîîîîîîÞîîîîîîîîîîîÞîîîîîîîîîîÞíîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî»îîîîîîîîîîîîîîëîîîîîîààîîîîîîîÜÝíîîîîîîîîÞÝÝíîîîîîîîîÝÝÝî®êîîîîîîîíîîîîîªîîîîîîîîîîîîî¾ëîîîîîîîîîîîîîëîîîîˆˆˆˆˆˆˆîîîîîîîîîîîîîîìîîîîîîîîààîîîîîîÎÌÌìîîîîîîîîÞÝÝíîîîîîîîîîÞîîîêîîîîîîîÞîîîîîîêîîîîîîîîîîîîî®êîîîîîîîîîîîîî¾îîîîîîîîîîwwwwwîîîîîîîîîîîîîîëîîîîîîààîîîîîîéîíîîîîîîîîîîÞªîîîîîîîîîîÞîî®êîîîîîîîíîîîîîªîîîîîîîîîîîî»»»ëîîîîîîîîîî¾»»»îîˆˆˆˆˆˆˆˆ»ëîîîîîîîîîîîîìîîîîàààîîîîîžîîìîîîîîîîîîîÞ™îîîîîîîîîîÞîîîêîîîîîîîîîîîîîîêîîîîîîîîîîîªêîîîîîîîîîîî»»»ëîîîwwwwwwwwww»îîîîîîîîîîîîîëîîàààîîîîž™™™îîîîîîîîîîªêîîîîîîîîîªªîîîîîîîîîîîîªîîîîîîîîîîîîî¾îîîîîîîîîîîîîîˆîîîˆˆˆˆˆˆˆˆîîîîˆîîîîîîîîîìîîîî€ààîîîî™™™éîîîîîîîîîîî™™™éîîîîîîîîîªªîîîîîîîîîîîîîêîîîîîîîîîîîîî®îîîîîîîîîîîîîî»wîîîî~wwwwwwwwwîîîîŽèîîîîîîî¾ëîîîîîîààˆîîîîîéîîîîîîîîîîîîî®wîîîîîîîîîîîî®êîîîîwîîîîîîîîªîîîîîîîîîwîîî¾îîîîîîîîîîîîîîˆîîîˆˆˆˆˆˆˆˆîîîîˆîîîîîîîîîîîîîîˆ€€îîîîîžéîîîîîîîîîîîîîžnæîîîîîîîîîîîîªîîîîîwîîîîîîîîêîîîîîîîîî~çîî®îîîîîîîîîîîîîîîwîîîî~wwwwwwwwwîîîîŽèîîîîîîîîîîîîîîˆˆînîîéîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîˆˆˆîˆˆˆˆˆˆˆˆîˆˆˆîîîîîîîîîîîîîîîˆààîîîfîžéîîîîîîîîîîîîîînæîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîwwwwwîî~wwwwwwwwwîˆˆˆèîîîîîîîîîîîîîààˆîînîîîîîîîîîîîîîîîîî~wwîîîîîîîîîîîîîî~wwwwîîîîîîîîîîîîîî~wwwwîîîîîîîîîîîîîîîîˆîîîˆˆˆˆˆˆˆˆîîîîˆîîîîîîîîîîîîîîîîîˆààîîîfîîîîîîîîîîîîîîîîînæîæîîîîîîîîîîîîîîwwwwwîîîîîîîîîîîîîî~wwwwçîîîîîîîîîîîîîîîîwîîîîwwwwwwwwwwîîîîŽèîîîîîîîîîîîàààˆîfffîîîîîîîîîîîîîî~wwçîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîˆîîîˆˆˆˆˆˆˆèîîîîˆîîîîîîîîîîîîîîîîîîààîîfffîîîîîîîîîîîîîînffffæîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîîîwîîîîwwwwwwwww‡îîîîŽèîîîîîîîîîîîîîîîààîîînîîîîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîˆˆˆˆˆˆˆèîîîîîîîîîîîîîDäîîîîàààîîîfîîîîîîîîîîîîîîîîînæîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîîîîîîîîwwwwwwwwwˆîîîîîîîîîîîîîîîDäîîîîààîîînîîîîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîˆˆˆˆˆˆˆèîîîîîîîîîîîîîDäîîîîîîîîààîîîfîîîîîîîîîîîîîîîîînæîîîîîîîîîîîîîîîîîîîîîîîîîîîîî>3îîîîîîîîîîîîîîîîîîîîîîîîîîîDäîîwwwwwwwwˆèîîîîîîîîîîîîîîîDäîîîîààîîîîîîîîîîîîîîîîîîîîîîî3ãîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîˆˆˆˆˆˆˆèîîîîîîîîîîNDDDDDDäîàààîîîîîîîîîîîîîîîîîîîîîîî>3îîîîîîîîîîîîîîîîîîîîîîîîîîî>ãîîîîîîîîîîîîîîîîîîîîîîîîîîîDäîîwwwwwww‡ˆèîîîîîîîîîîîîîîîDDàààîîîîîîîîîîîîîîîîîîîîîîî3ãîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîNDDDDDD„ˆˆˆˆˆˆˆˆˆîîîîîîîîîîîNDDDDDîîîàààîîîîîîîîîîîîîîîîîîîîîîî>3îîîîîîîîîîîîîîîîîîîîîîîîîîî>ãîîîîîîîîîîîîîîîîîîîîîîîîNDDDDDDtwwwwwwˆˆèîîîîîîîîîîîîDDDDDDäîîààîîîîîîîîîîîîîîîîîîîîíîî3ãîîîîîîÞîîîîîîîîîîîîîîîîDDDDDDDîîîîîîîîîîîîîîîîîîîîNDîNDîˆˆˆˆˆˆˆˆîîîîîîîîîîîîîîDäîîîîàààîîîîîîîîîîîîîîîîîîîîîîî>3îîîîîîÞîîîîîîîîîîîÞîîîîî>33333DäîîîîîîîîîîîîîîîîîîîîîDDDDDDDtwwwww‡ˆˆîîîîîîîîîîîîîîîîDäîîîîààîîîîîîîîÞîîîîîîîîîîî=333333ãîîÞÝÝîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîîîNDîˆˆˆˆˆˆˆˆîîîîîîîîîîîîîîDäîîîîîîîîààîÎîîîîîîÌîîîîîîîîîîî=3333333îîÞÝÝíîîîîîîîîÝÝíîîîî>3333CDäîîîîîîîîîîîîîîîîîîîîîîîîDäî~wwwwwwˆˆˆîîîîîîîîîîîîîîîîDäîîîîààîîîîîîîÞÝÝîîîîîîîîîî=îî>ãîîîîîîÞîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîîîNDîˆˆˆˆˆˆˆèëîîîîîîîîîîîîîÌîîîîîîîîîààîÎîîîîîÌÌÌîîîîîîîîîî=3333333îîîÞíîîîîîîîîîîÞîîîîîîîî>ãîîîîîîîîîîîîîîîîîîîîîîîîîîîDäîwwwwwwˆˆˆˆîîîîîîîîîîîîîîËîDîîîîîààîîîîîîîîÞîîîîîîîîîîîíîî>ãîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîî¾îîîîîîîîîîîîî¾ëîîˆˆˆˆˆˆˆèëîîîîîîîîîîîÎÌÌÌìîîîàààîÎîîîîîîÎîîîîîîîîîîîíîî>3îîîîîîîîîîîîîîîîîîîîîîîîîîî>ãîîîîîîîîîîîîîîîîîîîîîîîîîëîDäîwwwww‡ˆˆˆ¸îîîîîîîîîîîî¾»ÌÌìîàààîîîîîîîîîîîîîîîîîîîîîîî>ãîîîîîîîîîîîîîîîîîîîîîîîî»îîîîîîîîîîîîî¾îîîîîîîîîîîî»»»ëˆˆˆˆˆˆˆˆîëîîîîîîîîîîîîîÌîîîîîîîîîààîÎîîîîîîîîîîîîîîîîîîîîî>3îîîîîîîîîîîîîîîîîîîîîîîîîêî>äîîîîîîîîîî¾îîîîîîîîîîîîîî»»îî~wwwwwˆˆˆˆ¸»ëîîîîîîîîîîîîÌîîîàààîîîîîîîîîîîîîîîîîîîî®êîîîîîîîîîîîîîêîîîîîîîîîîî»îîîîîîîîîîî»»»ëîîîîîîîîîîî¾ëîˆˆˆˆˆˆˆˆîìîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîîîîîîîî®êî>3îîîîîîîîîîªîîîîîîîîîîîîîîêîîîîîîîîîîîî»»»ëîîîîîîîîîîîîëîîîwwwww‡ˆˆˆˆ¾îîîîîîîîîîîîîîîîîîàààîîîîîî®îîîîîîîîîîîîî®êîîîîîîîîîîªªîîîîîîîîîîîî»îîîîîîîîîîîîî¾îîîîîîîîîîîîîîîîˆˆˆˆˆˆˆèîîîîîîîîîîîîîîîîîîîîîàààîîîîîî™îîîîîîîîîîîîî®êîîîîîîîîîîîªêîîîîîîîîîî®îêîîîîîîîîîîîîî¾îîîîîîîîîîîîîîëîîîwwwwwˆˆˆˆˆîîîîîîîîîîîîîîîîîîîîîîîààîîîîªêîîîîîîîîîêîîîîîîîîîîîîîêîîîîîîîîîîîîî»îîîîîîîîîîîîîîîîîîîîîîîîîîîîîˆˆˆˆˆˆˆˆîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîî™îîîîîîîîîîîªªîîîîîîîîîîîîªîîîîîîîîîîîîîîêîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî~wwwwˆˆˆˆˆèîîîîîîîîîîîîîîîîîîîîîîîààîîîîîî®îîîîîîîîîîîîî®êîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîˆˆˆˆˆˆˆˆîîîîîîîîîîîîîîîîîîîîîîàààîîîîž™™îîîîîîîîîîîîî®êîîîîîîîîîîîîîªîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwwww‡ˆˆˆˆˆîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîî®îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîˆˆˆˆˆˆˆˆèîîîîîîŽèîîîîîîîîîîîîîîàààîîîîîî™îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî~wwwwˆˆˆˆˆˆîîîîîîîîîîîîîîîîîîîîàà€îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîŽè.""ˆˆˆˆˆˆˆîîîîîîîŽèîîîîîîîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî~ç~www‡ˆˆˆˆˆèîîîîîîŽèîîîîîîîîîîîîîîîˆˆîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîŽè.""ˆˆˆˆˆˆèîîîîˆˆˆîîîîîîîîîîîîîîîˆîààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîî~çwwwwˆ�ˆˆˆîîîîˆˆˆèîîîîîîîîîîîîîîà€îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÞîîîîîîîî~çîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîˆ(""ˆˆˆèîîîîîîîŽîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîî~wwwwww‡�ˆˆèîîîîîîîŽèîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîîîîîîîîÝ~çîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîwwwwwîîîîîîîîîîîîîîîŽè.""îîîîîîîîîîîŽîîîîîîîîîîîîîîîîîîîààîîîîîîîîîîîîîîîîîîîîÝîfîîîîîîîîîíîîîîîîîîwîîîîîîîîîîîîîîîî~wwwwîîîîîîîîîîîîîîîî~çîîî�ˆˆîîîîîîîîŽèîîîîîîîîîîîîîîîîààîîîîîîîîîíîîîîîîîîîÝÝÝçîîîîîîîîîîîî~wwwwîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîŽè.""îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîÞíîîîîîîîîîîÞÝfîîîîîîîíîîîîîîî~wwwîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîî~çîîî�ˆèîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîîîîîÝíîîîîîîîîîîwwwwçîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîî"""""""""""""îîîîîîîîîîîîîîîîîîÎìîîîîîîîîîààÎìînîîîÞÝÝíîîîîîîîîîÞîfnvîîîîíîîîîîîwçwîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîîîîîîáîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîînfffîîîíîîîîîîîîîîîîçîîîîîîîîîîîîîî~çîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî"""""""""""""îîîîÎîîîîîîîîîîîîîÎîîîîîîààÀÌÌîîîîîîÞíîîîîîîîîîîffffçîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîáîîîîîîîîîîîîîîîîîîîÎîîîîàààîîîîîîîîîîîîîîîîîîîîîîwîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî""""""""îîîîîîîîîÎîîîîîîîîîîîîÌÌîîîîîîàààÎìfffæîîîîîîîîîîîîîîîîfîîîîîîáîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîëîîîîîîîîîîîîÌÌÌìîîîîîîààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî»îîîîîîîîîîîî¾»»+""îîîîîîîîîÎîîîîîîîîîîîîîÎîîîîîîàààîîîîîîîîîîîîîîîîîîîîîîfîîîîîîáîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî»îîîîîîîîîîîîî¾»»îîîîîîîîîîîîÎîîîîîîîîààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî»îîîîîîîîîîîî»»»ëîîîîîîîîîîî»î"""îîîîîîîîîÎîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîáîîîîîîîîîîîîîîîî®êîîîîîîîîîîîîî»îîîîîîîîîîîî»»îîîîëîîîîîîîîîîîîîîîîîîîîîîààîîîîîçîîîîîîîîîîîîîîîîîêîîîîîîîîîîî¾»»»îîîîîîîîîîîî»îîîîîîîîîîîîî»î""âîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî®êîîîîîîîîîîî¾»»»îîîîîîîîîîîî¾îîîîîáîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîvwîîîîîîîîîîîîîîîêîîîîîîîªªîîîîîîîîîîîî»îîîîîîîîîîîîîëîîîîîîîîîîîîîîî""âîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîîîfæîîîîîîîîîîîîîîîªîîîîîîîîîîîªîîîîîîîîîîîîî»îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîînvwwêîîîîîîîîîîªªîîîîîîîîîªîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî""âîîîîîîîîîîîîîîîîîîîîîîîUåîîîîîàààîîîfffžéîîîîîîîîîîîîîªîîîîîîîîîîîîî®êîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîààîîffwww§ªîîîîîîîîîîîîªîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîUîîîîîîîîîîààîîffffæéîîîîîîîîîîªªîáîî®îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîààîîffwwwwçîîîîîîîîîîîîªîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîîî^UUUUîîîàààîîfffff–™îîîîîîîîîîîîªîîîîîîîáîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîààîîffwwwwwîîîîîîîîîîîÞîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîîîîîîîîîîîîîîîîîUUUUUUåîîîîîîîààîîfff`fîîîîîîàààîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîààîîfvpwwwàîîîîîàîàîàîàîDîîîîîîîîîîîîîîîîîîîîîîîîDDDDDDîîîîîîîîîîîîîîîîîîîîîî^Uîîîîîîî™îîààîîffffîîîîÞîàîàîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîîîîîîîîîîîîîîîîNDDDDDDîîîîààîîfwppwîàààààîîààààîàîàîàîDîîîîîîîîîîîîîîîîîîîîîîîDDDDDDîîîîîîîîîîîîîîŽèîîîîîîî^Uîîîîîîî™îîààîîfff``àîîîîÞÝîàîîîîîîîîîîDäîîîîîîîîîîîîîîîîîîîîîîîîîîNDîîäîîîîîîîîîîîîîîîîîîîîîîîNDîîà€àîîvwwwwwwwwwîîîîîîîîÞîîîDîîîîîîîîîîîîîîîîîîîîîîîîîDDDDDîîîîîîîîîîîîîîîîîîîîîîNDîîîîîîîîîîîîîîîîŽèîîîîîîîîîîîîîîî™™éîààìîffffffîîîàîàîîîîîîîîîîîîîîîîîîîDäîîîîîîîîîîîîîîîîîîîîîîîNDDDDDDäîîîîîîîîîîîîîˆîîîîîîîîîNDîîîîîèîwwwwwpwàààààààîîàîîîîîîîîîDDDDDDDîîîîîîîîîˆèîîîîîîîîîîîHDîîîîîîîîîîîîîîˆˆèîîîîîîìîîîîîîî™îîÀÀÌÝffffæîîààîàîãààîàîîîîîîîîîîîîîîîîîîDäîîîîîîîîîîîîîîîîîîîîîîîîîîNäîîîîîîîîîîîîîîîîˆîîîîîîîîîNDîî€ààîîwwwwwwppàà@îîîîîîîîîîîîîîîîDîîîîîîîˆîˆˆèîîîîîîîîîˆîîîîîîîîîîîìîîîŽèîîîîîîÎÌÌÌîîîîîîîîîààìîffff`fàîîàîàî0ãàîîààîîîîîîîîîîîîîîîîNDDDDDDäîîîîîîîî~îîîîîîîîîîîîîˆNäîîîîîîîîîîîîîˆˆèîîîîîÎìîîîî€ààÎÌ~wwwwwwwwwwwwîîîîîîNDDDDDDîîîîîîîîîîîîîîîîîîîîîîîDîîîîîîîˆîŽˆˆˆˆˆèîîîîîîîŽèˆîîîîîîîîîîîîîÌÌîîŽèîîîîîîîîìîîîîîîàààîîfff`ff`îàîîî3îîîîàîîî@DDDäîîîîîîwîîîwwwîîîîîîîîîîîîˆHäîîîîîîîîîîÎîîîîîèîîîîîîÎÌÌÌîîîàààîîîwwppàîîààî~çàîîààîDîîîîˆˆˆˆˆˆˆˆˆîîîîîîîîîˆÎîîîîîîîîîîîîìîîîîîîîîîîîîîîîîîîîîàààîîffffff`îîî>3îîîîîîîàîîDäîîîîîîwî~wwwwçîîîîîîîîˆîîîîîîîîîîîÌÌÌìîîŽèîîîîîîîÎìîîîîàààîîîîpppwîàîîàà~çàîîàîîîîîîîˆˆˆˆˆˆˆˆˆîîîîîîîîìîîîîîîîîîîîîîìîîîîîîîîîîîîîîîîîîîîîîîîààîînff``fffîîà>333àîîîwîàîîDäîîîîwwwwwwwwwwçîîîîîîîî¾»ˆëîîîîîîîîîîîÎîîîîîîîîîîîîîîîîîîîààîîîîwwwwwwwwwwwwwwwçîî~îDäîîîîîîîîîîîî~wwwîîîîîîî»îîîîîˆˆˆˆˆˆˆˆˆˆˆˆîîîîîîîìîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîàîîîfàîîîîîwwwwwwwwwwwwwwwwwwwwwîîîîîîîîîî»îîîî~çîîîîî¾»»»îîˆˆˆˆˆˆˆˆˆˆˆˆˆˆèîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîffffffffffffwwwwîîî~ç>ãîîîîîîîîîîîîî~wwwwîîîîî¾ëîîîîîî~wwwwwwwwwwwwîîîîîîîî»îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîw~wwwwwwwwwwwwwwwwwîîîîîîîîîîî»»»ëîî~çîîîîîîî»î~wˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆèîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffwwwwwwî~w7ãîîîîîîîîî®êîîîîwîîîîîî¾»»»îîî~wwwwwwwwwwwwwwwîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî~wwwwwwwwwwwwwwwwwww~îîîîîîîîîîîî¾îîîîîîîîîîîî~wwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆèîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîŸ-- title: test until -- author: evilpaul, @evilpaul_atebit@icosahedron.website -- desc: Travelling through space and time. -- license: MIT License (change this to your license of choice) -- version: 0.2 -- script: lua fpsLastT=0 function fps() t=time() d=t-fpsLastT fpsLastT=t print(math.floor(1000/d),0,0,15) end sqrt=math.sqrt atan2=math.atan2 sin=math.sin rand=math.random function clamp(a,min,max) if amax then return max else return a end --return math.max(math.min(a,max),min) end function lerp(a,b,alpha) return a+alpha*(b-a) end function v_cross(a,b) ax=a[1] ay=a[2] az=a[3] bx=b[1] by=b[2] bz=b[3] return {ay*bz-az*by,az*bx-ax*bz,ax*by-ay*bx} end function v_norm(a) x=a[1] y=a[2] z=a[3] l=math.sqrt(x*x+y*y+z*z) return {x/l,y/l,z/l} end function v_dot(a,b) return a[1]*b[1]+a[2]*b[2]+a[3]*b[3] end function v_minus(a,b) return {a[1]-b[1],a[2]-b[2],a[3]-b[3]} end function v_add(a,b) return {a[1]+b[1],a[2]+b[2],a[3]+b[3]} end function v_mult(a,s) return {a[1]*s,a[2]*s,a[3]*s} end function intersectPlane(pos,rayOrigin,rayDir) --denom=v_dot(normal,rayDir) denom=rayDir[3] --if math.abs(denom)>0.0001 then --t=v_dot(v_minus(pos,rayOrigin),normal)/denom t=v_minus(pos,rayOrigin)[3]/denom if t>=0 then --uax={normal[3],normal[1],normal[2]} --vax={normal[2],normal[3],normal[1]} --uax={1,0,0} --vax={0,1,0} hpos=v_add(rayOrigin,v_mult(rayDir,t)) --u=v_dot(v_add(hpos,pos),uax) --v=v_dot(v_add(hpos,pos),vax) u=v_add(hpos,pos)[1] v=v_add(hpos,pos)[2] return true,u,v,t end --end return false end for i=0,15 do poke(0x3fc0+i*3+0,i<<4) poke(0x3fc0+i*3+1,i<<4) poke(0x3fc0+i*3+2,i<<4) end ys=0 function TIC() ys=(ys+1)%2 for y=ys,135,2 do line(0,y,240,y,0) end hdg=math.sin(time()*0.000041)*.3 dist=20 height=math.sin(time()*0.00023)*4 from={-math.sin(hdg)*dist,height,-math.cos(hdg)*dist} at={0,0,0} fwd=v_norm(v_minus(at,from)) up={0,1,0} right=v_cross(up,fwd) up=v_cross(fwd,right) t=time()*0.0125 tz=t%10 td=math.floor(t/10) function dc() return (1-clamp(t-10,0,50)/50)*15.99 end for d=0,5,1 do dd=41-d*10-tz local ry0=(0-136/2)/240/2*1.5 local ry1=(136-136/2)/240/2*1.5 local rx0=(0-240/2)/240/2*1.5 local rx1=(240-240/2)/240/2*1.5 local ray ray=v_norm(v_add(fwd,v_add(v_mult(right,rx0),v_mult(up,ry0)))) local hit,u00,v00,t00=intersectPlane( {0,0,dd}, from, ray) ray=v_norm(v_add(fwd,v_add(v_mult(right,rx0),v_mult(up,ry1)))) local hit,u01,v01,t01=intersectPlane( {0,0,dd}, from, ray) ray=v_norm(v_add(fwd,v_add(v_mult(right,rx1),v_mult(up,ry0)))) local hit,u10,v10,t10=intersectPlane( {0,0,dd}, from, ray) ray=v_norm(v_add(fwd,v_add(v_mult(right,rx1),v_mult(up,ry1)))) local hit,u11,v11,t11=intersectPlane( {0,0,dd}, from, ray) local tdd=math.abs(td-d)%20 for y=ys,135,2 do local ya=y/135 local u0=lerp(u00,u01,ya) local v0=lerp(v00,v01,ya) local t0=lerp(t00,t01,ya) local u1=lerp(u10,u11,ya) local v1=lerp(v10,v11,ya) local t1=lerp(t10,t11,ya) local aud=(u1-u0)/239 local au=u0 local avd=(v1-v0)/239 local av=v0 local td=(t1-t0)/239 local t=t0 for x=0,239 do local su=au%4 local sv=av%4 if ((sv<0.1 or sv>3.9) and (su<0.5 or su>3.5)) then pix(x,y,dc()) elseif ((su<0.1 or su>3.9) and (sv<0.5 or sv>3.5)) then pix(x,y,dc()) else if tdd==3 then local di=av*av+au*au if di>5^2 and di<7^2 and (di<5.5^2 or di>6.5^2) then pix(x,y,dc()) end elseif tdd==14 then local di=av*av+au*au if di>2^2 and di<10^2 then local an=atan2(au,av) if sin(an*20+t/5)<.025 then pix(x,y,dc()) end end elseif tdd==7 then local di=av*av+au*au if di>7^2 and di<9^2 then local an=atan2(au,av) if sin(an*6-t/10)<.025 then pix(x,y,dc()) end end end end au=au+aud av=av+avd t=t+td end end end end function OVR() poke(0x3fc0+15*3+0,8<<4) poke(0x3fc0+15*3+1,15<<4) poke(0x3fc0+15*3+2,3<<4) rectb(5,5,230,126,15) rectb(223,7,10,122,15) for y=9,126 do if rand()>0.7 then line(225,y,230,y,15) end end rectb(7,7,20,20,15) for x=9,24 do y=sin(time()*0.0027+x*.12)+ sin(time()*0.0013+x*.02) y=y*4 pix(x,17+y,15) end rectb(7,28,20,8,15) if rand()>.9 then rect(9,30,16,4,15) end print(fwd[1],7,112,15) print(dd,7,118,15) print(t,7,124,15) --fps() end