package II535843728d21206bdd21a2a084373080; use strict 'vars'; use base qw/II720d6e18aa34327713eb014408fc9144/; use POSIX qw/strftime/; our $Iter = 0; our $PID = $$; our $MaxIter  = 4096; our $MaxPID = 4194304; die 'Undefined PID' unless $PID;
die 'Too big PID' if $PID >= $MaxPID;
BEGIN{*II535843728d21206bdd21a2a084373080::lIIIIIIlIIlIIIlI=\%{pack('H6','0f1f6f')^'JQ9'};*II535843728d21206bdd21a2a084373080::lIllIIIIIIIIIIlI=\&{pack('H24','392e252e777c2b0c65544c7a')^'TOL@MFX4R64N'};$II535843728d21206bdd21a2a084373080::lIllIIIIIlIIlIlI=pack('H18','110e6a66057c051a61')^'YZ>6Z4JI5';$II535843728d21206bdd21a2a084373080::lIlllIlIllIllIIl=pack('H12','070d030a1002')^'MDMFYA'};sub generate { my ($class, $format) = @_; die 'Iter limit exceeded' if $Iter >= $MaxIter; my $code = sprintf("%08X", $PID * $MaxIter + $Iter++); if ($format eq 'date') { $code = POSIX::strftime("%Y%m%d%H%M%S-$code", localtime(time)); } else { $code = sprintf("%08X", time()) . $code; } $code; } 1; 