<commit_before><?php

    // Set the path to The Bug Genie top folder
    $path = realpath(getcwd());
    defined('DS') || define('DS', DIRECTORY_SEPARATOR);
    defined('THEBUGGENIE_SESSION_NAME') || define('THEBUGGENIE_SESSION_NAME', 'THEBUGGENIE');

    // Default behaviour: define the path to thebuggenie as one folder up from this
    defined('THEBUGGENIE_PATH') || define('THEBUGGENIE_PATH', realpath(getcwd() . DS . '..' . DS) . DS);

    // Default behaviour: define the public folder name to "public" (actually autodetect name of current folder)
    defined('THEBUGGENIE_PUBLIC_FOLDER_NAME') || define('THEBUGGENIE_PUBLIC_FOLDER_NAME', mb_substr($path, strrpos($path, DS) + 1));

    // Root installation: http://issues.thebuggenie.com/wiki/TheBugGenie:HowTo:RootDirectoryInstallation
    // ----
    // Don't look one directory up to find the path to the bug genie
    // defined('THEBUGGENIE_PATH') || define('THEBUGGENIE_PATH', realpath(getcwd() . DS) . DS);
    // Don't autodetect the subfolder, but use "" instead, since there is none
    // defined('THEBUGGENIE_PUBLIC_FOLDER_NAME') || define('THEBUGGENIE_PUBLIC_FOLDER_NAME', '');
    // ----

    // Include the "engine" script, which initializes and sets up stuff
    defined('THEBUGGENIE_CORE_PATH') || define('THEBUGGENIE_CORE_PATH', THEBUGGENIE_PATH . 'core' . DS);
    require THEBUGGENIE_CORE_PATH . 'bootstrap.php';

    // Trigger the framework's start function
    if (\thebuggenie\core\framework\Context::isInitialized()) \thebuggenie\core\framework\Context::go();<commit_msg>don't use mb_substr() in index.php so the user can get to the mb_* warning if missing (fixes issue #2464)<commit_after><?php

    // Set the path to The Bug Genie top folder
    $path = realpath(getcwd());
    defined('DS') || define('DS', DIRECTORY_SEPARATOR);
    defined('THEBUGGENIE_SESSION_NAME') || define('THEBUGGENIE_SESSION_NAME', 'THEBUGGENIE');

    // Default behaviour: define the path to thebuggenie as one folder up from this
    defined('THEBUGGENIE_PATH') || define('THEBUGGENIE_PATH', realpath(getcwd() . DS . '..' . DS) . DS);

    // Default behaviour: define the public folder name to "public" (actually autodetect name of current folder)
    defined('THEBUGGENIE_PUBLIC_FOLDER_NAME') || define('THEBUGGENIE_PUBLIC_FOLDER_NAME', substr($path, strrpos($path, DS) + 1));

    // Root installation: http://issues.thebuggenie.com/wiki/TheBugGenie:HowTo:RootDirectoryInstallation
    // ----
    // Don't look one directory up to find the path to the bug genie
    // defined('THEBUGGENIE_PATH') || define('THEBUGGENIE_PATH', realpath(getcwd() . DS) . DS);
    // Don't autodetect the subfolder, but use "" instead, since there is none
    // defined('THEBUGGENIE_PUBLIC_FOLDER_NAME') || define('THEBUGGENIE_PUBLIC_FOLDER_NAME', '');
    // ----

    // Include the "engine" script, which initializes and sets up stuff
    defined('THEBUGGENIE_CORE_PATH') || define('THEBUGGENIE_CORE_PATH', THEBUGGENIE_PATH . 'core' . DS);
    require THEBUGGENIE_CORE_PATH . 'bootstrap.php';

    // Trigger the framework's start function
    if (\thebuggenie\core\framework\Context::isInitialized()) \thebuggenie\core\framework\Context::go();
{'fraction_non_alphanumeric': 0.13566739606126915, 'fraction_numerical': 0.001875586120662707, 'mean_word_length': 4.228758169934641, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '867723', 'n_tokens_mistral': 1046, 'n_tokens_neox': 1031, 'n_words': 253}