Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK!`^`^Piece/Piece.sonuȯELF>@`W@8 @<< JJ J HH LL L 888$$;;; Std;;; Ptd(9(9(9ddQtdRtdJJ J HPGNUIx=l7;'Oec#@!(#&(VBE|f.BDr u=DB /IA$uL$HH9H|$LIHGL$HHL|$ E1ELd$Hl$(!fAB II EEuHy2 AB J4HHt$Ht$H|$HcHYuHDHl$(Ld$L|$ EI?H2 E1L|$ Hl$(MHD$>NL@LLHcHk II9D|$HD$AAuNA+. A- A`Ml$1IH0IUHDVILPM9u݉ȺQ))AEkd)H$A)M@AH84Wf %fp1AYTMD1f.E4$Et$A4OftEIATVM9uAYxAyuDJd@@EхUA$HDQ AuyIAbDA tV@MHIEuEtBDpuM9#LL)HxHD$IHHT$LHHD$ALH=u H$L~H$MSAH0DVAL$AMD$0D~ITQЃU A$@HBDr |@IA$DB u H0AFJIL$1t,EIADFL9tE4$Et AVuL=mEIE H5L{} uEIaL$HHq?A EL$HHEHADAgAT$AI|$0DqIDBЃ(kd-lEIA%D[HADAAD$AI|$0KDqV4IT$DpЃ5AD$IԄBDA 7Au*IADA t@L$HHAH0V +A|$AMD$0@DBDN@ITWAMR<UA$xHDQ jAu]IAJDA t>@D 1AAfHL$HHHDAH8DW;At$AML$0@pDBDG`@ITVAHAk UA$~HDQ pAucfIAJDA t>@+Ht$0 LD0IA}"WEuH|$fHt$@HD$8Ld$0)D$@)D$P)D$`HD$pYH|$8Oo)L$@oP)T$PoX )\$`H@0HD$pHD$@HEHD$HHEHD$PHEHD$XHED$`E s$AHDQAփ0UA$HD$XdH3%(Hh[]A\A]A^A_HAHEH9@HD$HEfDHc$HEHCAHEbH#AHEH58fDAVAUATUSHHHPL#dH%(HD$H1HCxLHPHSxHcHCHՍJHH)HH?HcIH4ȋV  LnHcH4F % =LvH|$Hl$HD$LD$HLoLHD$)D$oH)L$ oP )T$0H@0D$0HD$@ H8umHLH/HD$HdH3%(ueHP[]A\A]A^f1HQIHC%D1H1I*fHH=1}H59H=ff.fUHL1SH HH HHE1LH HH5VHE1LH HH5/HE1LH eHH5HE1LH >HH5HE1LrH HfH5yHE1H5HLAH H5@(HH@(H[]HHfmt, epoch, islocal = 1%b %e%B %e%a %Ef %X %Z %Y%a %Ef %T %Y%m/%d/%y%H:%M%I:%M:%S %p%H:%M:%SAMPMGMTsecstring, formatError parsing time1.31v5.26.0Piece.c$$;$Time::Piece::_strftimeTime::Piece::_tzsetTime::Piece::_strptime$$$$$$Time::Piece::_mini_mktimeTime::Piece::_crt_gmtimeTime::Piece::_crt_localtimeJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayPP8(hh8pp8+y(Isec, min, hour, mday, mon, yeargarbage at end of string in strptime: %s;d hX$phPHzRx $ FJ w?:*3$"D\>oLpFBB B(A0D8Gx 8A0A(B BBBF HlK BEB B(D0D8N 8A0A(B BBBE ( pFDD AB08FAG Dp+  AABG ,ljFDA  ABG LFBB B(A0G8D 8A0A(B BBBD D0FBB A(A0J 0A(A BBBC (4AEMZ AAGNUp0J 66666#6'6+6/63676;6?6G6P6V66\6a6f6m6w66666666666666666$5 5-5054?6G6P6V66\6a6f6m6w66644Ucs h 4J J o`  N P8  oo oo~ o<L  0@P`p 0@P`pGA$3a1h4 GA$3p11134GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA+GLIBCXX_ASSERTIONS GA*FORTIFYPiece.so-5.26.3-423.el8_10.x86_64.debugg7zXZִF!t/']?Eh=ڊ2N%y^ (1#xcwjWƩ,Ŝ Cn"i%_)-r|S8icI6 >5٨^CZ]/sr APb/ MRͻ0aEIDBbvob&.ր-Gٞ>Etʚ {Z!>;RkG ktQZ3jT&6#$zcmCXkTq(lV [iB񇬛+2l&>U$.j[]3+#;&dEY6!q[²jZkRFc!.88a_obPob_ٸYJm g U_hT (3:=kc#lLS]X'0"\QDZW2<(bXDdKJ\%jt(⭜l}{ĭRؚ$FHOZz;3%Maۣ<\M]Vbmy qe!{kH`j<7=97X/ˣ2X|GUَ3mײ&fwvFEP#9MeMrVS`m8řuC wtg=K,T/BTdUb,W <C$B 9؉D~{C\M͘'2; Jaln @d\+T`jx8JS2щ{0@`|-rGrA&]v򠾒!ߡE?ͤ#|![ ,5vʰĐb|EW gYZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata 88$o``H(  08o~ ~ XEo `T8 8 ^BPPhhhc nw}44 44`(9(9d99`;; J JJ JJ J L LN NHP O Q`OH@R,lR8V"PK!(~~HiRes/HiRes.sonuȯELF>@w@8 @ee ll l  0l0l 0l 888$$eee Stdeee Ptdp_p_p_QtdRtdll l GNUyi?G v<]w5 57BE|#ԵqX~'% rseMw L^B_, 59F"Tp gp  0Q[p __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizelibpthread.so.0gettimeofday__stack_chk_failclockPerl_sv_newmortalPerl_sv_setnv_mgPerl_croak_xs_usageclock_getresPerl_sv_2iv_flagsclock_gettimegetitimerPerl_newSVnvPerl_sv_2mortalPerl_dowantarrayPerl_stack_growPerl_newSVivsetitimerPerl_sv_2nv_flagsPerl_croak_nocontextPerl_sv_setiv_mgPerl_av_fetchusleeppauseclock_nanosleepPerl_newSVsvPerl_push_scopePerl_save_pushptrPL_ppaddrPerl_pop_scopePL_thr_keypthread_getspecificPerl_block_gimmePerl_sv_2uv_flagsPerl_gv_add_by_typePerl_sv_2pv_flagsPerl_newSVpvf_nocontextmemchrutimensatPerl_sv_2ioPerl_PerlIO_fileno__errno_locationPerl_ck_warnerfutimensboot_Time__HiResPerl_xs_handshakePerl_newXS_flagsPerl_hv_common_key_lenPerl_xs_boot_epiloglibrt.so.1libperl.so.5.26libc.so.6_edata__bss_start_endGLIBC_2.2.5GLIBC_2.4GLIBC_2.17GLIBC_2.6U ui lJii xui lii l p l 0(l (l o o o o "o .o 2Xn `n hn pn xn n n n  n  n  n  n  n n n n n n n n n o o o o  o (o 0o 8o  @o !Ho #Po $Xo %`o &ho 'po (xo )o *o +o ,o -o /o 0o 1o 2o 3o 4HH!^ HtH5r\ %s\ hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.%}Y D%uY D%mY D%eY D%]Y D%UY D%MY D%EY D%=Y D%5Y D%-Y D%%Y D%Y D%Y D% Y D%Y D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%X D%}X D%uX D%mX D%eX D%]X D%UX D%MX D%EX D%=X D%5X D%-X D%%X D%X D%X D% X DH=9X H2X H9tHW Ht H= X H5X H)HHH?HHtHW HtfD=W u+UH=W Ht H=S 9dW ]wSH1H dH%(HD$1HH$HHT$HSHL$dH3 %(uH [ff.@H(1dH%(HD$1H.Fu!ffH* $H*D$^FXHD$dH3%(uH(AUATUSHHHGxHHPHWxHWHchHH)HHHG@#HPHGL$HtkfH*^zEHCHcLlAD$ u\tS"AD$ I$@(MeHCHHH[]A\A]EfDkImLHuHH5>@AUATUSHH(HdH%(HD$1HGxHPHWxHWHchHH)HHHG@#HPHGL$H1\DtpHCHcLlAD$ "AD$ I$@(MeHCHHHD$dH3%(uaH([]A\A]fDffH* $H*D$^CXjf.I=LH%HH5=\ff.AUATUSHH(H/dH%(HD$1HGxHPHWxHWHcD`HH)H.HG@#HPHGL,Ic1L$~!HCH4ЋF % =Hx H BtaHCJl AE "AE IE@(LmLcL#HD$dH3%(usH([]A\A]ffH* $H*D$^[BXyf.HߺG@ILHr#HH57@AUATUSHH(H/dH%(HD$1HGxHPHWxHWHcD`HH)H.HG@#HPHGL,Ic1L$~!HCH4ЋF % =Hx HM=AtaHCJl AE "AE IE@(LmLcL#HD$dH3%(usH([]A\A]ffH* $H*D$^@Xyf.Hߺ3G@ILHrHH554@ATUSHHH0H+HKdH%(HD$(1HCxHHPHSxHcPHH)HHvHcLeH4ыF % =Hx HHC L)HffHH*D$Y?H*L$X HHID$HC@"<ItLHC H)HffLeHH*D$YR?H* $XHHHEL#HD$(dH3%(H0[]A\@Hߺ@H _LLHIHhfHHH}H5H584Y@ATUSHH H/dH%(HD$1HGxHHPHWxHcHGHH)HH-1HuiHC@"<HC H)tkHH4$HLe HH>HHEHt$HH"HELH+HD$dH3%(H []A\H~SffLeHH* $H*D$^o=XHHHELfH0HHH HHHHH HH57AVAUATUSHH`H/dH%(HD$X1HGxIHPHWxHWHcI̍AH I)IAMHIcH4HH)͋F % =HDp AD$HH4‹V  HP(AHCAMcJ4F % =H@(ff/-f/#H,fH*\ ;YH,H,fHt$DHD$HL$H*HT$ \YH,HT$(HT$0HC H)HlffLeHH*D$HYn;H*L$@XHHHEHC@"<LtOHC L)H"ffIl$HH*D$8Y;H*L$0XSHH8ID$H+HD$XdH3%(H`[]A\A]A^ff/11 :fHSf(&f.HSAf.HT$ T$fHXHHHHyDLLHIf(Icf(¸H=4HH5_/zDAVAUATUSHH`H/dH%(HD$X1HGxHPHWxHWHcI͍AH H)HMHH4L$F % =Hh(HC@#HPHCL4ЃAEHSHH4‹F % =MH@(ff/f/H,ff(H,f(H*\fH*\ 8f/f/m8YH,YHD$ Ht$1HT$HT$0$D$HL$H,HD$($u$fD$H*T$H^fH*D$@XHCJl AF "AF IP(LuLcL#HD$XdH3%( H`[]A\A]A^H,$^,$@FHCf(@#AH,$,$Iƃ8ff/weH,ff(H*\f/.7s(117f(LHi ff(H=M2f(Ÿff(H=1f(ŸHH5m,kfDAWAVAUATUSHHXL7dH%(HD$H1HGxHPHWxHWHcIύAH I)IANHH4H,F % =fHD` HC@#lHPHCL,AkAGHSHH4‹F % =HH@ EUMCD1D)Hci@BHD$0A)McLd$8)Hci@BHD$ )HHcHt$(Ht$ 1҅uHiT$@BHT$HCLd(AE IUAE Ml$HkH+HD$HdH3%(HX[]A\A]A^A_ÐHSf6AHC@#HIA11LH`H=0D1mhHH5* fAWAVAUATUSHH8H/dH%(HD$(1HGxHPHWxHWHcID`HH)HHG@#-HHHGL,IcL$H 1t AFHHA QLqA~ BH@ =Hh} /11HHE1HtH0F % =jHLx H1ɺH1HtH0F % =LHHh 11LHHtH0F % =HL+x f1ɺLI*HL$KHtH0F % =HH+h HCfH*^t2XD$Jl AE "AE IE@(LmLcL#HD$(dH3%(H8[]A\A]A^A_fHI)HkH)JHSIH;HHSI1H|$u(L|$Hl$lfLH1E1IH=G-1XH=q-1JHH5'6fDAUATUSHHHHHKH3dH%(HD$81HCxHPHSxHcPHH)HHHcH4H,F % =RH@(HC@#WHPHCL$1H|$D$D$f/X0ff/UH,H|$ 1HD$ fH+D$H*fHD$(H+D$H*HCY/Ll(AD$ X"AD$ I$@(MeHkH+HD$8dH3%(HH[]A\A]Df(^ /L,M2DfD$I*Y W/\ fDHHC@#HD$D$ILHAH5$H=`+ff.AUATUSHHHH/dH%(HD$81HGxHPHWxHWHcD`HH)HGH@#HPHGL,H|$1IcL$HSH4‹F % =6H@(f/>.@.f/>H,HKfH*f(\ -Yf/H,f/-rH,D$D$HaH|$ 1HD$(fH+D$H*fHD$ H+D$H*HCYv-Jl AE X"AE IE@(LmLcL#HD$8dH3%(HH[]A\A]ÐHfD\H,H?Df(\H,H?HHƒfHH H*XIfDLH5{H=T)jHHH=(SHH9|0H)HHLHL9|L)fHH*H+HfHfH*Y+XHʚ;HfHHH+HH*ff.@AWAVAUATUSHHHH/dH%(HD$81HGxHPHWxHWHcIύAH H)HMHHH4L$F % =HDh AGHH4‹F % =SH@(HC@#XHPHCL41ff/f(ff(DHl$ *L|$D$HD$ HHD$(^H,H*HT$Y\H,HT$LoD$HCJl AF #"AF I@(LuLcL#HD$8dH3%(HH[]A\A]A^A_fHCAWHcH4ЋF % =Hp HHC@#HD$D$IfHSA:f.HT$ HMIwL fDHD$D$:LHHH5 H=&ff.AVAUATUSHHH@HKH3dH%(HD$81HCxHPHSxHcPHH)HHHcH4H,F % =H@(HC@#HPHCL$ff/M((f(ff(Ll$ Lt$D$^LLHD$ HD$(H,H*HD$Y\H,HD$D$HCLl(AD$ "AD$ I$@(MeHkH+HD$8dH3%(u|H@[]A\A]A^HHC@#HD$D$IHT$ IMIvLBfDLHeiH=T$H5ff.AWIAVAUATUSHhHWxdH%(HD$X1HHJHOxHc IHWH͍YHI)HIDb(IcHH)IHG L)H-HcHHD$AcIHPH2HLLHYLIEIEIIwLALJAfHD$P)D$@)D$0 AHf ffT$PH.6 HHD$@IG@"<„tvD$RHD$0LL$IGT$@LM/'IGIMIL)HI΃ tmIcHHDIHD$XdH3%(Hh[]A\A]A^A_@IG@"o<lf.IGH4U HcH4H<H|$V  HLj U HcH4H<H|$V  HLb HcH4H<H|$F % =HHh H4 8 HLHHmMHIGfLWLIIG*LcHrLKIIG%L@H1L{H@H03BfH*^)#HfH*XLsLHl$IoHOHE fDjfI*^"M0fI*XLHT$LLd$MgHHT$I$@fH*^q"MfI*XLHT$(LL$ LLl$MoHHT$(LL$ IE-f.LLIHЃfHH H*XfLAfHL H*XZHfHH H*X!fLAfHL H*XLAfHL H*XHfHH H*X#Mff.fAVAUATUSHHL'dH%(HD$1HGxLHPHWxHWHchHH)HH HG@#tpHHHGL,HcH4F % =u.HHvHPH$HHweHHcH>@HHH$HHSIfFd_cldf~ocX~kNfFd_us f~le~e EDF<_DF<_DDFd_uaf~la~rHNOTONIC_H3VHCLOCK_MOH3H ~FASTf.HALTIME_PH3VHCLOCK_REH3H l~RECI_f~SESfDHTIME_FASH3VHCLOCK_UPH3H $~TDHCLOCK_PRH9f~OFl@HNOTONIC_H3VHCLOCK_MOH3H ~PRECf~IS~E@HTIME_RAWH3VHCLOCK_UPH3H t~_APPgf~RO[~XQ@Hd_hires_H95~stat(AcDHNOTONIC_H3VHCLOCK_MOH3H f~RA~W@HALTIME_FH3VHCLOCK_REH3H f~AS~TfHREAD_CPUH3VHCLOCK_THH3H l~TIME_f~_IS~DACfDHCLOCK_SEH9%~CONDHCLOCK_VIH9~RTUAkHCLOCK_MOH9~NOTOf~ NI~CDHd_utimenH9f~sa~ tf.Hd_nanoslH9]f~eeQ~ pGfHd_getitiH9hHd_setitiH9f~me~ r?HITIMER_RH9f~EA~ LE1 HITIMER_PH9f~RO~ FZfHd_clock_H9}~getrpf~ esdHd_gettimH9E~eofd8f~ ay,gHCLOCK_BOH9 ~OTTIf~ MEA/fHITIMER_VH9~IRTUf~ ALHCLOCK_SOH9~FTTIf~ ME|HCLOCKS_PH9]~ER_SPf~ ECA@B>fHCLOCK_REH9~ALTIf~ ME0LLH:xDHHHH f~me~ rHH5 fDAWAVAUATUSHHhH/dH%(HD$X1HGxIHPHWxHWHcIDxHI)IA7HG@#HHHGL,IcAL?C;`` pD`PpPP0@H \0p T zRx $xFJ w?:*3$"DP \QEI0| AA $iH0[ A 8x FBA A(G0 (A ABBI 8LTFBA A(GP (A ABBG 8pFBA A(GP (A ABBA 8PĻFBA A(GP (A ABBA 0FAA JPE  AABE 0ľFAA G@  AABD D KFBB A(A0G% 0A(A BBBH D<( FBB A(A0G 0A(A BBBI LWFBB B(A0A8G 8A0A(B BBBB HFBB B(A0A8Gp 8A0A(B BBBJ 8 2FBA A(Jp` (A ABBF 8\FBA A(Gp (A ABBB <LFBB B(A0A8G 8A0A(B BBBJ @8FBB A(A0Jpb 0A(A BBBH L@FEB B(A0A8D 8A0A(B BBBE @Tj FBB A(A0G@% 0A(A BBBH \FBB B(A0A8G 8A0A(B BBBH NkMA84EMZ (K0\(D P(L0^FAGNUp0(l U/:J  Tl  l o`  @n hH p  oo oo o0l  0@P`p 0@P`p 0@P`pGA$3a1T GA$3p950TGA*GA$annobin gcc 8.4.1 20200928GA$running gcc 8.4.1 20200928GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONSHiRes.so-1.9758-2.el8.x86_64.debugnB]7zXZִF!t/_]?Eh=ڊ2N%y^ q''ܰ%P<CՀ\Mt>|t[D/ɓNeK$U >͢*~I^sRM-.ca9P\^ cmG.NOz} ĸAtRCDv鐅H;@ ]!2seM1qݸyە:7ƵE@;TI4^;FʌREkGPL #Cj)2N)X+ Y|>X—{HC e雊^Ŗz jh)K Û7-a<kJ0/'_y{Xܚc;T%5WG<6{lٺ[e6,{HioFBʼn + E$8nN(z$8Ԟ^M¹3A\ (g@=pv- z6vKI]̲#>Z&c>ޔ/1_qJY7}+.F[4&~kL&l ԡ=Ѕl*Vh?Pј|ՂgVt/oɩUZ-s`ъ J"X5/cR_ !VСwK:*Ucuz9*)*40ʪdĴrb@j,U֯vRӉg[vVڝ#l~؀ + ӓD&Dǃ܇l𔠰-GҺѠVs.+CꝀU+xCpg@bk"$ CMpn\-*i&|3䍜Nʰڟ3G\No)m(Y[HcZ^vcir6S{w~:r1UڛG'#4Fxu ̪EC(h * @license http://opensource.org/licenses/MIT MIT * @link https://benramsey.com/projects/ramsey-uuid/ Documentation * @link https://packagist.org/packages/ramsey/uuid Packagist * @link https://github.com/ramsey/uuid GitHub */ namespace Ramsey\Uuid\Provider\Time; use Ramsey\Uuid\Provider\TimeProviderInterface; /** * SystemTimeProvider uses built-in PHP functions to provide the time */ class SystemTimeProvider implements TimeProviderInterface { /** * Returns a timestamp array * * @return int[] Array containing `sec` and `usec` components of a timestamp */ public function currentTime() { return gettimeofday(); } } PK!FixedTimeProvider.phpnuIw * @license http://opensource.org/licenses/MIT MIT * @link https://benramsey.com/projects/ramsey-uuid/ Documentation * @link https://packagist.org/packages/ramsey/uuid Packagist * @link https://github.com/ramsey/uuid GitHub */ namespace Ramsey\Uuid\Provider\Time; use InvalidArgumentException; use Ramsey\Uuid\Provider\TimeProviderInterface; /** * FixedTimeProvider uses an previously-generated timestamp to provide the time * * This provider allows the use of a previously-generated timestamp, such as one * stored in a database, when creating version 1 UUIDs. */ class FixedTimeProvider implements TimeProviderInterface { /** * @var int[] Array containing `sec` and `usec` components of a timestamp */ private $fixedTime; /** * Constructs a `FixedTimeProvider` using the provided `$timestamp` * * @param int[] Array containing `sec` and `usec` components of a timestamp * @throws InvalidArgumentException if the `$timestamp` does not contain `sec` or `usec` components */ public function __construct(array $timestamp) { if (!array_key_exists('sec', $timestamp) || !array_key_exists('usec', $timestamp)) { throw new InvalidArgumentException('Array must contain sec and usec keys.'); } $this->fixedTime = $timestamp; } /** * Sets the `usec` component of the timestamp * * @param int $value The `usec` value to set */ public function setUsec($value) { $this->fixedTime['usec'] = $value; } /** * Sets the `sec` component of the timestamp * * @param int $value The `sec` value to set */ public function setSec($value) { $this->fixedTime['sec'] = $value; } /** * Returns a timestamp array * * @return int[] Array containing `sec` and `usec` components of a timestamp */ public function currentTime() { return $this->fixedTime; } } PK!z8`8`HiRes.pmnu[package Time::HiRes; { use 5.006; } use strict; require Exporter; use XSLoader (); our @ISA = qw(Exporter); our @EXPORT = qw( ); # TODO: this list is a superset of the @names in # Makefile.PL:doConstants(), automate this somehow. our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval getitimer setitimer nanosleep clock_gettime clock_getres clock clock_nanosleep CLOCKS_PER_SEC CLOCK_BOOTTIME CLOCK_HIGHRES CLOCK_MONOTONIC CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC_FAST CLOCK_MONOTONIC_PRECISE CLOCK_MONOTONIC_RAW CLOCK_MONOTONIC_RAW_APPROX CLOCK_PROCESS_CPUTIME_ID CLOCK_PROF CLOCK_REALTIME CLOCK_REALTIME_COARSE CLOCK_REALTIME_FAST CLOCK_REALTIME_PRECISE CLOCK_REALTIME_RAW CLOCK_SECOND CLOCK_SOFTTIME CLOCK_THREAD_CPUTIME_ID CLOCK_TIMEOFDAY CLOCK_UPTIME CLOCK_UPTIME_COARSE CLOCK_UPTIME_FAST CLOCK_UPTIME_PRECISE CLOCK_UPTIME_RAW CLOCK_UPTIME_RAW_APPROX CLOCK_VIRTUAL ITIMER_PROF ITIMER_REAL ITIMER_REALPROF ITIMER_VIRTUAL TIMER_ABSTIME d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer d_nanosleep d_clock_gettime d_clock_getres d_clock d_clock_nanosleep d_hires_stat d_futimens d_utimensat d_hires_utime stat lstat utime ); our $VERSION = '1.9758'; our $XS_VERSION = $VERSION; $VERSION = eval $VERSION; our $AUTOLOAD; sub AUTOLOAD { my $constname; ($constname = $AUTOLOAD) =~ s/.*:://; # print "AUTOLOAD: constname = $constname ($AUTOLOAD)\n"; die "&Time::HiRes::constant not defined" if $constname eq 'constant'; my ($error, $val) = constant($constname); # print "AUTOLOAD: error = $error, val = $val\n"; if ($error) { my (undef,$file,$line) = caller; die "$error at $file line $line.\n"; } { no strict 'refs'; *$AUTOLOAD = sub { $val }; } goto &$AUTOLOAD; } sub import { my $this = shift; for my $i (@_) { if (($i eq 'clock_getres' && !&d_clock_getres) || ($i eq 'clock_gettime' && !&d_clock_gettime) || ($i eq 'clock_nanosleep' && !&d_clock_nanosleep) || ($i eq 'clock' && !&d_clock) || ($i eq 'nanosleep' && !&d_nanosleep) || ($i eq 'usleep' && !&d_usleep) || ($i eq 'utime' && !&d_hires_utime) || ($i eq 'ualarm' && !&d_ualarm)) { require Carp; Carp::croak("Time::HiRes::$i(): unimplemented in this platform"); } } Time::HiRes->export_to_level(1, $this, @_); } XSLoader::load( 'Time::HiRes', $XS_VERSION ); # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ =head1 NAME Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers =head1 SYNOPSIS use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep clock_gettime clock_getres clock_nanosleep clock stat lstat utime); usleep ($microseconds); nanosleep ($nanoseconds); ualarm ($microseconds); ualarm ($microseconds, $interval_microseconds); $t0 = [gettimeofday]; ($seconds, $microseconds) = gettimeofday; $elapsed = tv_interval ( $t0, [$seconds, $microseconds]); $elapsed = tv_interval ( $t0, [gettimeofday]); $elapsed = tv_interval ( $t0 ); use Time::HiRes qw ( time alarm sleep ); $now_fractions = time; sleep ($floating_seconds); alarm ($floating_seconds); alarm ($floating_seconds, $floating_interval); use Time::HiRes qw( setitimer getitimer ); setitimer ($which, $floating_seconds, $floating_interval ); getitimer ($which); use Time::HiRes qw( clock_gettime clock_getres clock_nanosleep ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF ); $realtime = clock_gettime(CLOCK_REALTIME); $resolution = clock_getres(CLOCK_REALTIME); clock_nanosleep(CLOCK_REALTIME, 1.5e9); clock_nanosleep(CLOCK_REALTIME, time()*1e9 + 10e9, TIMER_ABSTIME); my $ticktock = clock(); use Time::HiRes qw( stat lstat ); my @stat = stat("file"); my @stat = stat(FH); my @stat = lstat("file"); use Time::HiRes qw( utime ); utime $floating_seconds, $floating_seconds, file...; =head1 DESCRIPTION The C module implements a Perl interface to the C, C, C, C, and C/C system calls, in other words, high resolution time and timers. See the L section below and the test scripts for usage; see your system documentation for the description of the underlying C or C, C, C, and C/C calls. If your system lacks C or an emulation of it you don't get C or the one-argument form of C. If your system lacks all of C, C, C, and C, you don't get C, C, or C. If your system lacks both C and C you don't get C or C. If you try to import an unimplemented function in the C statement it will fail at compile time. If your subsecond sleeping is implemented with C instead of C, you can mix subsecond sleeping with signals since C does not use signals. This, however, is not portable, and you should first check for the truth value of C<&Time::HiRes::d_nanosleep> to see whether you have nanosleep, and then carefully read your C C API documentation for any peculiarities. If you are using C for something else than mixing sleeping with signals, give some thought to whether Perl is the tool you should be using for work requiring nanosecond accuracies. Remember that unless you are working on a I system, any clocks and timers will be imprecise, especially so if you are working in a pre-emptive multiuser system. Understand the difference between I and process time (in UNIX-like systems the sum of I and I times). Any attempt to sleep for X seconds will most probably end up sleeping B than that, but don't be surprised if you end up sleeping slightly B. The following functions can be imported from this module. No functions are exported by default. =over 4 =item gettimeofday () In array context returns a two-element array with the seconds and microseconds since the epoch. In scalar context returns floating seconds like C (see below). =item usleep ( $useconds ) Sleeps for the number of microseconds (millionths of a second) specified. Returns the number of microseconds actually slept. Can sleep for more than one second, unlike the C system call. Can also sleep for zero seconds, which often works like a I. See also C, C, and C. Do not expect usleep() to be exact down to one microsecond. =item nanosleep ( $nanoseconds ) Sleeps for the number of nanoseconds (1e9ths of a second) specified. Returns the number of nanoseconds actually slept (accurate only to microseconds, the nearest thousand of them). Can sleep for more than one second. Can also sleep for zero seconds, which often works like a I. See also C, C, and C. Do not expect nanosleep() to be exact down to one nanosecond. Getting even accuracy of one thousand nanoseconds is good. =item ualarm ( $useconds [, $interval_useconds ] ) Issues a C call; the C<$interval_useconds> is optional and will be zero if unspecified, resulting in C-like behaviour. Returns the remaining time in the alarm in microseconds, or C if an error occurred. ualarm(0) will cancel an outstanding ualarm(). Note that the interaction between alarms and sleeps is unspecified. =item tv_interval tv_interval ( $ref_to_gettimeofday [, $ref_to_later_gettimeofday] ) Returns the floating seconds between the two times, which should have been returned by C. If the second argument is omitted, then the current time is used. =item time () Returns a floating seconds since the epoch. This function can be imported, resulting in a nice drop-in replacement for the C