<?php

declare(strict_types=1);

namespace Atk4\Ui\Demos;

use Atk4\Core\Factory;
use Atk4\Data\Field;
use Atk4\Data\Model;
use Atk4\Data\Persistence;
use Atk4\Data\Schema\Migrator;

require_once __DIR__ . '/../init-autoloader.php';

$sqliteFile = __DIR__ . '/db.sqlite';
if (!file_exists($sqliteFile)) {
    new Persistence\Sql('sqlite:' . $sqliteFile);
}
unset($sqliteFile);

/** @var Persistence\Sql $db */
require_once __DIR__ . '/../init-db.php';

class ImportModelWithPrefixedFields extends Model
{
    private function prefixFieldName(string $fieldName, bool $forActualName = false): string
    {
        $tableShort = $this->table;
        if (strlen($tableShort) > 16) {
            $tableShort = substr(md5($tableShort), 0, 16);
        }

        $fieldShort = $fieldName;
        $fieldWithIdSuffix = false;
        if (str_ends_with($fieldShort, '_id')) {
            $fieldShort = substr($fieldShort, 0, -strlen('_id'));
            $fieldWithIdSuffix = true;
        }
        if (strlen($fieldShort) > 16) {
            $fieldShort = substr(md5($fieldShort), 0, 16);
        }
        if ($fieldWithIdSuffix) {
            $fieldShort .= '_id';
        }

        return 'atk_' . ($forActualName ? 'a' : '') . 'fp_' . $tableShort . '__' . $fieldShort;
    }

    #[\Override]
    public function addField(string $name, $seed = []): Field
    {
        if ($name === 'id') {
            $this->idField = $this->prefixFieldName($name);
        }

        $seed = Factory::mergeSeeds($seed, [
            'actual' => $this->prefixFieldName($name, true),
        ]);

        return parent::addField($this->prefixFieldName($name), $seed);
    }

    #[\Override]
    public function import(array $rowsMulti)
    {
        return parent::import(array_map(function (array $rows): array {
            $rowsPrefixed = [];
            foreach ($rows as $k => $v) {
                $field = $this->getField($this->prefixFieldName($k));
                if (in_array($field->type, ['date', 'time', 'datetime'], true)) {
                    $v = new \DateTime($v . ' GMT');
                }

                $rowsPrefixed[$field->shortName] = $v;
            }

            return $rowsPrefixed;
        }, $rowsMulti));
    }
}

$model = new ImportModelWithPrefixedFields($db, ['table' => 'client']);
$model->addField('name', ['type' => 'string']);
$model->addField('addresses', ['type' => 'text']);
$model->addField('accounts', ['type' => 'text']);
(new Migrator($model))->create();
$model->import([
    ['id' => 1, 'name' => 'John', 'addresses' => null, 'accounts' => null],
    ['id' => 2, 'name' => 'Jane', 'addresses' => null, 'accounts' => null],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'country']);
$model->addField('iso', ['type' => 'string']); // should be CHAR(2) NOT NULL
$model->addField('name', ['type' => 'string']);
$model->addField('nicename', ['type' => 'string']);
$model->addField('iso3', ['type' => 'string']); // should be CHAR(3) NOT NULL
$model->addField('numcode', ['type' => 'smallint']);
$model->addField('phonecode', ['type' => 'integer']);
$countryIdField = $model->getField('atk_fp_country__id');
(new Migrator($model))->create();
(new Migrator($model))->createIndex([$model->getField('atk_fp_country__iso')], true);
(new Migrator($model))->createIndex([$model->getField('atk_fp_country__iso3')], true);
$model->import([
    ['id' => 1, 'iso' => 'AF', 'name' => 'AFGHANISTAN', 'nicename' => 'Afghanistan', 'iso3' => 'AFG', 'numcode' => 4, 'phonecode' => 93],
    ['id' => 2, 'iso' => 'AL', 'name' => 'ALBANIA', 'nicename' => 'Albania', 'iso3' => 'ALB', 'numcode' => 8, 'phonecode' => 355],
    ['id' => 3, 'iso' => 'DZ', 'name' => 'ALGERIA', 'nicename' => 'Algeria', 'iso3' => 'DZA', 'numcode' => 12, 'phonecode' => 213],
    ['id' => 4, 'iso' => 'AS', 'name' => 'AMERICAN SAMOA', 'nicename' => 'American Samoa', 'iso3' => 'ASM', 'numcode' => 16, 'phonecode' => 1684],
    ['id' => 5, 'iso' => 'AD', 'name' => 'ANDORRA', 'nicename' => 'Andorra', 'iso3' => 'AND', 'numcode' => 20, 'phonecode' => 376],
    ['id' => 6, 'iso' => 'AO', 'name' => 'ANGOLA', 'nicename' => 'Angola', 'iso3' => 'AGO', 'numcode' => 24, 'phonecode' => 244],
    ['id' => 7, 'iso' => 'AI', 'name' => 'ANGUILLA', 'nicename' => 'Anguilla', 'iso3' => 'AIA', 'numcode' => 660, 'phonecode' => 1264],
    ['id' => 8, 'iso' => 'AQ', 'name' => 'ANTARCTICA', 'nicename' => 'Antarctica', 'iso3' => 'ATA', 'numcode' => 10, 'phonecode' => 672],
    ['id' => 9, 'iso' => 'AG', 'name' => 'ANTIGUA AND BARBUDA', 'nicename' => 'Antigua and Barbuda', 'iso3' => 'ATG', 'numcode' => 28, 'phonecode' => 1268],
    ['id' => 10, 'iso' => 'AR', 'name' => 'ARGENTINA', 'nicename' => 'Argentina', 'iso3' => 'ARG', 'numcode' => 32, 'phonecode' => 54],
    ['id' => 11, 'iso' => 'AM', 'name' => 'ARMENIA', 'nicename' => 'Armenia', 'iso3' => 'ARM', 'numcode' => 51, 'phonecode' => 374],
    ['id' => 12, 'iso' => 'AW', 'name' => 'ARUBA', 'nicename' => 'Aruba', 'iso3' => 'ABW', 'numcode' => 533, 'phonecode' => 297],
    ['id' => 13, 'iso' => 'AU', 'name' => 'AUSTRALIA', 'nicename' => 'Australia', 'iso3' => 'AUS', 'numcode' => 36, 'phonecode' => 61],
    ['id' => 14, 'iso' => 'AT', 'name' => 'AUSTRIA', 'nicename' => 'Austria', 'iso3' => 'AUT', 'numcode' => 40, 'phonecode' => 43],
    ['id' => 15, 'iso' => 'AZ', 'name' => 'AZERBAIJAN', 'nicename' => 'Azerbaijan', 'iso3' => 'AZE', 'numcode' => 31, 'phonecode' => 994],
    ['id' => 16, 'iso' => 'BS', 'name' => 'BAHAMAS', 'nicename' => 'Bahamas', 'iso3' => 'BHS', 'numcode' => 44, 'phonecode' => 1242],
    ['id' => 17, 'iso' => 'BH', 'name' => 'BAHRAIN', 'nicename' => 'Bahrain', 'iso3' => 'BHR', 'numcode' => 48, 'phonecode' => 973],
    ['id' => 18, 'iso' => 'BD', 'name' => 'BANGLADESH', 'nicename' => 'Bangladesh', 'iso3' => 'BGD', 'numcode' => 50, 'phonecode' => 880],
    ['id' => 19, 'iso' => 'BB', 'name' => 'BARBADOS', 'nicename' => 'Barbados', 'iso3' => 'BRB', 'numcode' => 52, 'phonecode' => 1246],
    ['id' => 20, 'iso' => 'BY', 'name' => 'BELARUS', 'nicename' => 'Belarus', 'iso3' => 'BLR', 'numcode' => 112, 'phonecode' => 375],
    ['id' => 21, 'iso' => 'BE', 'name' => 'BELGIUM', 'nicename' => 'Belgium', 'iso3' => 'BEL', 'numcode' => 56, 'phonecode' => 32],
    ['id' => 22, 'iso' => 'BZ', 'name' => 'BELIZE', 'nicename' => 'Belize', 'iso3' => 'BLZ', 'numcode' => 84, 'phonecode' => 501],
    ['id' => 23, 'iso' => 'BJ', 'name' => 'BENIN', 'nicename' => 'Benin', 'iso3' => 'BEN', 'numcode' => 204, 'phonecode' => 229],
    ['id' => 24, 'iso' => 'BM', 'name' => 'BERMUDA', 'nicename' => 'Bermuda', 'iso3' => 'BMU', 'numcode' => 60, 'phonecode' => 1441],
    ['id' => 25, 'iso' => 'BT', 'name' => 'BHUTAN', 'nicename' => 'Bhutan', 'iso3' => 'BTN', 'numcode' => 64, 'phonecode' => 975],
    ['id' => 26, 'iso' => 'BO', 'name' => 'BOLIVIA', 'nicename' => 'Bolivia', 'iso3' => 'BOL', 'numcode' => 68, 'phonecode' => 591],
    ['id' => 27, 'iso' => 'BA', 'name' => 'BOSNIA AND HERZEGOVINA', 'nicename' => 'Bosnia and Herzegovina', 'iso3' => 'BIH', 'numcode' => 70, 'phonecode' => 387],
    ['id' => 28, 'iso' => 'BW', 'name' => 'BOTSWANA', 'nicename' => 'Botswana', 'iso3' => 'BWA', 'numcode' => 72, 'phonecode' => 267],
    ['id' => 29, 'iso' => 'BV', 'name' => 'BOUVET ISLAND', 'nicename' => 'Bouvet Island', 'iso3' => 'BVT', 'numcode' => 74, 'phonecode' => -1],
    ['id' => 30, 'iso' => 'BR', 'name' => 'BRAZIL', 'nicename' => 'Brazil', 'iso3' => 'BRA', 'numcode' => 76, 'phonecode' => 55],
    ['id' => 31, 'iso' => 'IO', 'name' => 'BRITISH INDIAN OCEAN TERRITORY', 'nicename' => 'British Indian Ocean Territory', 'iso3' => 'IOT', 'numcode' => 86, 'phonecode' => 246],
    ['id' => 32, 'iso' => 'BN', 'name' => 'BRUNEI DARUSSALAM', 'nicename' => 'Brunei Darussalam', 'iso3' => 'BRN', 'numcode' => 96, 'phonecode' => 673],
    ['id' => 33, 'iso' => 'BG', 'name' => 'BULGARIA', 'nicename' => 'Bulgaria', 'iso3' => 'BGR', 'numcode' => 100, 'phonecode' => 359],
    ['id' => 34, 'iso' => 'BF', 'name' => 'BURKINA FASO', 'nicename' => 'Burkina Faso', 'iso3' => 'BFA', 'numcode' => 854, 'phonecode' => 226],
    ['id' => 35, 'iso' => 'BI', 'name' => 'BURUNDI', 'nicename' => 'Burundi', 'iso3' => 'BDI', 'numcode' => 108, 'phonecode' => 257],
    ['id' => 36, 'iso' => 'KH', 'name' => 'CAMBODIA', 'nicename' => 'Cambodia', 'iso3' => 'KHM', 'numcode' => 116, 'phonecode' => 855],
    ['id' => 37, 'iso' => 'CM', 'name' => 'CAMEROON', 'nicename' => 'Cameroon', 'iso3' => 'CMR', 'numcode' => 120, 'phonecode' => 237],
    ['id' => 38, 'iso' => 'CA', 'name' => 'CANADA', 'nicename' => 'Canada', 'iso3' => 'CAN', 'numcode' => 124, 'phonecode' => 1],
    ['id' => 39, 'iso' => 'CV', 'name' => 'CAPE VERDE', 'nicename' => 'Cape Verde', 'iso3' => 'CPV', 'numcode' => 132, 'phonecode' => 238],
    ['id' => 40, 'iso' => 'KY', 'name' => 'CAYMAN ISLANDS', 'nicename' => 'Cayman Islands', 'iso3' => 'CYM', 'numcode' => 136, 'phonecode' => 1345],
    ['id' => 41, 'iso' => 'CF', 'name' => 'CENTRAL AFRICAN REPUBLIC', 'nicename' => 'Central African Republic', 'iso3' => 'CAF', 'numcode' => 140, 'phonecode' => 236],
    ['id' => 42, 'iso' => 'TD', 'name' => 'CHAD', 'nicename' => 'Chad', 'iso3' => 'TCD', 'numcode' => 148, 'phonecode' => 235],
    ['id' => 43, 'iso' => 'CL', 'name' => 'CHILE', 'nicename' => 'Chile', 'iso3' => 'CHL', 'numcode' => 152, 'phonecode' => 56],
    ['id' => 44, 'iso' => 'CN', 'name' => 'CHINA', 'nicename' => 'China', 'iso3' => 'CHN', 'numcode' => 156, 'phonecode' => 86],
    ['id' => 45, 'iso' => 'CX', 'name' => 'CHRISTMAS ISLAND', 'nicename' => 'Christmas Island', 'iso3' => 'CXR', 'numcode' => 162, 'phonecode' => 61],
    ['id' => 46, 'iso' => 'CC', 'name' => 'COCOS (KEELING) ISLANDS', 'nicename' => 'Cocos (Keeling) Islands', 'iso3' => 'CCK', 'numcode' => 166, 'phonecode' => 672],
    ['id' => 47, 'iso' => 'CO', 'name' => 'COLOMBIA', 'nicename' => 'Colombia', 'iso3' => 'COL', 'numcode' => 170, 'phonecode' => 57],
    ['id' => 48, 'iso' => 'KM', 'name' => 'COMOROS', 'nicename' => 'Comoros', 'iso3' => 'COM', 'numcode' => 174, 'phonecode' => 269],
    ['id' => 49, 'iso' => 'CG', 'name' => 'CONGO', 'nicename' => 'Congo', 'iso3' => 'COG', 'numcode' => 178, 'phonecode' => 242],
    ['id' => 50, 'iso' => 'CD', 'name' => 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'nicename' => 'Congo, the Democratic Republic of the', 'iso3' => 'COD', 'numcode' => 180, 'phonecode' => 243],
    ['id' => 51, 'iso' => 'CK', 'name' => 'COOK ISLANDS', 'nicename' => 'Cook Islands', 'iso3' => 'COK', 'numcode' => 184, 'phonecode' => 682],
    ['id' => 52, 'iso' => 'CR', 'name' => 'COSTA RICA', 'nicename' => 'Costa Rica', 'iso3' => 'CRI', 'numcode' => 188, 'phonecode' => 506],
    ['id' => 53, 'iso' => 'CI', 'name' => 'COTE D\'IVOIRE', 'nicename' => 'Cote D\'Ivoire', 'iso3' => 'CIV', 'numcode' => 384, 'phonecode' => 225],
    ['id' => 54, 'iso' => 'HR', 'name' => 'CROATIA', 'nicename' => 'Croatia', 'iso3' => 'HRV', 'numcode' => 191, 'phonecode' => 385],
    ['id' => 55, 'iso' => 'CU', 'name' => 'CUBA', 'nicename' => 'Cuba', 'iso3' => 'CUB', 'numcode' => 192, 'phonecode' => 53],
    ['id' => 56, 'iso' => 'CY', 'name' => 'CYPRUS', 'nicename' => 'Cyprus', 'iso3' => 'CYP', 'numcode' => 196, 'phonecode' => 357],
    ['id' => 57, 'iso' => 'CZ', 'name' => 'CZECH REPUBLIC', 'nicename' => 'Czech Republic', 'iso3' => 'CZE', 'numcode' => 203, 'phonecode' => 420],
    ['id' => 58, 'iso' => 'DK', 'name' => 'DENMARK', 'nicename' => 'Denmark', 'iso3' => 'DNK', 'numcode' => 208, 'phonecode' => 45],
    ['id' => 59, 'iso' => 'DJ', 'name' => 'DJIBOUTI', 'nicename' => 'Djibouti', 'iso3' => 'DJI', 'numcode' => 262, 'phonecode' => 253],
    ['id' => 60, 'iso' => 'DM', 'name' => 'DOMINICA', 'nicename' => 'Dominica', 'iso3' => 'DMA', 'numcode' => 212, 'phonecode' => 1767],
    ['id' => 61, 'iso' => 'DO', 'name' => 'DOMINICAN REPUBLIC', 'nicename' => 'Dominican Republic', 'iso3' => 'DOM', 'numcode' => 214, 'phonecode' => 1809],
    ['id' => 62, 'iso' => 'EC', 'name' => 'ECUADOR', 'nicename' => 'Ecuador', 'iso3' => 'ECU', 'numcode' => 218, 'phonecode' => 593],
    ['id' => 63, 'iso' => 'EG', 'name' => 'EGYPT', 'nicename' => 'Egypt', 'iso3' => 'EGY', 'numcode' => 818, 'phonecode' => 20],
    ['id' => 64, 'iso' => 'SV', 'name' => 'EL SALVADOR', 'nicename' => 'El Salvador', 'iso3' => 'SLV', 'numcode' => 222, 'phonecode' => 503],
    ['id' => 65, 'iso' => 'GQ', 'name' => 'EQUATORIAL GUINEA', 'nicename' => 'Equatorial Guinea', 'iso3' => 'GNQ', 'numcode' => 226, 'phonecode' => 240],
    ['id' => 66, 'iso' => 'ER', 'name' => 'ERITREA', 'nicename' => 'Eritrea', 'iso3' => 'ERI', 'numcode' => 232, 'phonecode' => 291],
    ['id' => 67, 'iso' => 'EE', 'name' => 'ESTONIA', 'nicename' => 'Estonia', 'iso3' => 'EST', 'numcode' => 233, 'phonecode' => 372],
    ['id' => 68, 'iso' => 'ET', 'name' => 'ETHIOPIA', 'nicename' => 'Ethiopia', 'iso3' => 'ETH', 'numcode' => 231, 'phonecode' => 251],
    ['id' => 69, 'iso' => 'FK', 'name' => 'FALKLAND ISLANDS (MALVINAS)', 'nicename' => 'Falkland Islands (Malvinas)', 'iso3' => 'FLK', 'numcode' => 238, 'phonecode' => 500],
    ['id' => 70, 'iso' => 'FO', 'name' => 'FAROE ISLANDS', 'nicename' => 'Faroe Islands', 'iso3' => 'FRO', 'numcode' => 234, 'phonecode' => 298],
    ['id' => 71, 'iso' => 'FJ', 'name' => 'FIJI', 'nicename' => 'Fiji', 'iso3' => 'FJI', 'numcode' => 242, 'phonecode' => 679],
    ['id' => 72, 'iso' => 'FI', 'name' => 'FINLAND', 'nicename' => 'Finland', 'iso3' => 'FIN', 'numcode' => 246, 'phonecode' => 358],
    ['id' => 73, 'iso' => 'FR', 'name' => 'FRANCE', 'nicename' => 'France', 'iso3' => 'FRA', 'numcode' => 250, 'phonecode' => 33],
    ['id' => 74, 'iso' => 'GF', 'name' => 'FRENCH GUIANA', 'nicename' => 'French Guiana', 'iso3' => 'GUF', 'numcode' => 254, 'phonecode' => 594],
    ['id' => 75, 'iso' => 'PF', 'name' => 'FRENCH POLYNESIA', 'nicename' => 'French Polynesia', 'iso3' => 'PYF', 'numcode' => 258, 'phonecode' => 689],
    ['id' => 76, 'iso' => 'TF', 'name' => 'FRENCH SOUTHERN TERRITORIES', 'nicename' => 'French Southern Territories', 'iso3' => 'ATF', 'numcode' => 260, 'phonecode' => -1],
    ['id' => 77, 'iso' => 'GA', 'name' => 'GABON', 'nicename' => 'Gabon', 'iso3' => 'GAB', 'numcode' => 266, 'phonecode' => 241],
    ['id' => 78, 'iso' => 'GM', 'name' => 'GAMBIA', 'nicename' => 'Gambia', 'iso3' => 'GMB', 'numcode' => 270, 'phonecode' => 220],
    ['id' => 79, 'iso' => 'GE', 'name' => 'GEORGIA', 'nicename' => 'Georgia', 'iso3' => 'GEO', 'numcode' => 268, 'phonecode' => 995],
    ['id' => 80, 'iso' => 'DE', 'name' => 'GERMANY', 'nicename' => 'Germany', 'iso3' => 'DEU', 'numcode' => 276, 'phonecode' => 49],
    ['id' => 81, 'iso' => 'GH', 'name' => 'GHANA', 'nicename' => 'Ghana', 'iso3' => 'GHA', 'numcode' => 288, 'phonecode' => 233],
    ['id' => 82, 'iso' => 'GI', 'name' => 'GIBRALTAR', 'nicename' => 'Gibraltar', 'iso3' => 'GIB', 'numcode' => 292, 'phonecode' => 350],
    ['id' => 83, 'iso' => 'GR', 'name' => 'GREECE', 'nicename' => 'Greece', 'iso3' => 'GRC', 'numcode' => 300, 'phonecode' => 30],
    ['id' => 84, 'iso' => 'GL', 'name' => 'GREENLAND', 'nicename' => 'Greenland', 'iso3' => 'GRL', 'numcode' => 304, 'phonecode' => 299],
    ['id' => 85, 'iso' => 'GD', 'name' => 'GRENADA', 'nicename' => 'Grenada', 'iso3' => 'GRD', 'numcode' => 308, 'phonecode' => 1473],
    ['id' => 86, 'iso' => 'GP', 'name' => 'GUADELOUPE', 'nicename' => 'Guadeloupe', 'iso3' => 'GLP', 'numcode' => 312, 'phonecode' => 590],
    ['id' => 87, 'iso' => 'GU', 'name' => 'GUAM', 'nicename' => 'Guam', 'iso3' => 'GUM', 'numcode' => 316, 'phonecode' => 1671],
    ['id' => 88, 'iso' => 'GT', 'name' => 'GUATEMALA', 'nicename' => 'Guatemala', 'iso3' => 'GTM', 'numcode' => 320, 'phonecode' => 502],
    ['id' => 89, 'iso' => 'GN', 'name' => 'GUINEA', 'nicename' => 'Guinea', 'iso3' => 'GIN', 'numcode' => 324, 'phonecode' => 224],
    ['id' => 90, 'iso' => 'GW', 'name' => 'GUINEA-BISSAU', 'nicename' => 'Guinea-Bissau', 'iso3' => 'GNB', 'numcode' => 624, 'phonecode' => 245],
    ['id' => 91, 'iso' => 'GY', 'name' => 'GUYANA', 'nicename' => 'Guyana', 'iso3' => 'GUY', 'numcode' => 328, 'phonecode' => 592],
    ['id' => 92, 'iso' => 'HT', 'name' => 'HAITI', 'nicename' => 'Haiti', 'iso3' => 'HTI', 'numcode' => 332, 'phonecode' => 509],
    ['id' => 93, 'iso' => 'HM', 'name' => 'HEARD ISLAND AND MCDONALD ISLANDS', 'nicename' => 'Heard Island and Mcdonald Islands', 'iso3' => 'HMD', 'numcode' => 334, 'phonecode' => -1],
    ['id' => 94, 'iso' => 'VA', 'name' => 'HOLY SEE (VATICAN CITY STATE)', 'nicename' => 'Holy See (Vatican City State)', 'iso3' => 'VAT', 'numcode' => 336, 'phonecode' => 39],
    ['id' => 95, 'iso' => 'HN', 'name' => 'HONDURAS', 'nicename' => 'Honduras', 'iso3' => 'HND', 'numcode' => 340, 'phonecode' => 504],
    ['id' => 96, 'iso' => 'HK', 'name' => 'HONG KONG', 'nicename' => 'Hong Kong', 'iso3' => 'HKG', 'numcode' => 344, 'phonecode' => 852],
    ['id' => 97, 'iso' => 'HU', 'name' => 'HUNGARY', 'nicename' => 'Hungary', 'iso3' => 'HUN', 'numcode' => 348, 'phonecode' => 36],
    ['id' => 98, 'iso' => 'IS', 'name' => 'ICELAND', 'nicename' => 'Iceland', 'iso3' => 'ISL', 'numcode' => 352, 'phonecode' => 354],
    ['id' => 99, 'iso' => 'IN', 'name' => 'INDIA', 'nicename' => 'India', 'iso3' => 'IND', 'numcode' => 356, 'phonecode' => 91],
    ['id' => 100, 'iso' => 'ID', 'name' => 'INDONESIA', 'nicename' => 'Indonesia', 'iso3' => 'IDN', 'numcode' => 360, 'phonecode' => 62],
    ['id' => 101, 'iso' => 'IR', 'name' => 'IRAN, ISLAMIC REPUBLIC OF', 'nicename' => 'Iran, Islamic Republic of', 'iso3' => 'IRN', 'numcode' => 364, 'phonecode' => 98],
    ['id' => 102, 'iso' => 'IQ', 'name' => 'IRAQ', 'nicename' => 'Iraq', 'iso3' => 'IRQ', 'numcode' => 368, 'phonecode' => 964],
    ['id' => 103, 'iso' => 'IE', 'name' => 'IRELAND', 'nicename' => 'Ireland', 'iso3' => 'IRL', 'numcode' => 372, 'phonecode' => 353],
    ['id' => 104, 'iso' => 'IL', 'name' => 'ISRAEL', 'nicename' => 'Israel', 'iso3' => 'ISR', 'numcode' => 376, 'phonecode' => 972],
    ['id' => 105, 'iso' => 'IT', 'name' => 'ITALY', 'nicename' => 'Italy', 'iso3' => 'ITA', 'numcode' => 380, 'phonecode' => 39],
    ['id' => 106, 'iso' => 'JM', 'name' => 'JAMAICA', 'nicename' => 'Jamaica', 'iso3' => 'JAM', 'numcode' => 388, 'phonecode' => 1876],
    ['id' => 107, 'iso' => 'JP', 'name' => 'JAPAN', 'nicename' => 'Japan', 'iso3' => 'JPN', 'numcode' => 392, 'phonecode' => 81],
    ['id' => 108, 'iso' => 'JO', 'name' => 'JORDAN', 'nicename' => 'Jordan', 'iso3' => 'JOR', 'numcode' => 400, 'phonecode' => 962],
    ['id' => 109, 'iso' => 'KZ', 'name' => 'KAZAKHSTAN', 'nicename' => 'Kazakhstan', 'iso3' => 'KAZ', 'numcode' => 398, 'phonecode' => 7],
    ['id' => 110, 'iso' => 'KE', 'name' => 'KENYA', 'nicename' => 'Kenya', 'iso3' => 'KEN', 'numcode' => 404, 'phonecode' => 254],
    ['id' => 111, 'iso' => 'KI', 'name' => 'KIRIBATI', 'nicename' => 'Kiribati', 'iso3' => 'KIR', 'numcode' => 296, 'phonecode' => 686],
    ['id' => 112, 'iso' => 'KP', 'name' => 'KOREA, DEMOCRATIC PEOPLE\'S REPUBLIC OF', 'nicename' => 'Korea, Democratic People\'s Republic of', 'iso3' => 'PRK', 'numcode' => 408, 'phonecode' => 850],
    ['id' => 113, 'iso' => 'KR', 'name' => 'KOREA, REPUBLIC OF', 'nicename' => 'Korea, Republic of', 'iso3' => 'KOR', 'numcode' => 410, 'phonecode' => 82],
    ['id' => 114, 'iso' => 'KW', 'name' => 'KUWAIT', 'nicename' => 'Kuwait', 'iso3' => 'KWT', 'numcode' => 414, 'phonecode' => 965],
    ['id' => 115, 'iso' => 'KG', 'name' => 'KYRGYZSTAN', 'nicename' => 'Kyrgyzstan', 'iso3' => 'KGZ', 'numcode' => 417, 'phonecode' => 996],
    ['id' => 116, 'iso' => 'LA', 'name' => 'LAO PEOPLE\'S DEMOCRATIC REPUBLIC', 'nicename' => 'Lao People\'s Democratic Republic', 'iso3' => 'LAO', 'numcode' => 418, 'phonecode' => 856],
    ['id' => 117, 'iso' => 'LV', 'name' => 'LATVIA', 'nicename' => 'Latvia', 'iso3' => 'LVA', 'numcode' => 428, 'phonecode' => 371],
    ['id' => 118, 'iso' => 'LB', 'name' => 'LEBANON', 'nicename' => 'Lebanon', 'iso3' => 'LBN', 'numcode' => 422, 'phonecode' => 961],
    ['id' => 119, 'iso' => 'LS', 'name' => 'LESOTHO', 'nicename' => 'Lesotho', 'iso3' => 'LSO', 'numcode' => 426, 'phonecode' => 266],
    ['id' => 120, 'iso' => 'LR', 'name' => 'LIBERIA', 'nicename' => 'Liberia', 'iso3' => 'LBR', 'numcode' => 430, 'phonecode' => 231],
    ['id' => 121, 'iso' => 'LY', 'name' => 'LIBYAN ARAB JAMAHIRIYA', 'nicename' => 'Libyan Arab Jamahiriya', 'iso3' => 'LBY', 'numcode' => 434, 'phonecode' => 218],
    ['id' => 122, 'iso' => 'LI', 'name' => 'LIECHTENSTEIN', 'nicename' => 'Liechtenstein', 'iso3' => 'LIE', 'numcode' => 438, 'phonecode' => 423],
    ['id' => 123, 'iso' => 'LT', 'name' => 'LITHUANIA', 'nicename' => 'Lithuania', 'iso3' => 'LTU', 'numcode' => 440, 'phonecode' => 370],
    ['id' => 124, 'iso' => 'LU', 'name' => 'LUXEMBOURG', 'nicename' => 'Luxembourg', 'iso3' => 'LUX', 'numcode' => 442, 'phonecode' => 352],
    ['id' => 125, 'iso' => 'MO', 'name' => 'MACAO', 'nicename' => 'Macao', 'iso3' => 'MAC', 'numcode' => 446, 'phonecode' => 853],
    ['id' => 126, 'iso' => 'MK', 'name' => 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'nicename' => 'Macedonia, the Former Yugoslav Republic of', 'iso3' => 'MKD', 'numcode' => 807, 'phonecode' => 389],
    ['id' => 127, 'iso' => 'MG', 'name' => 'MADAGASCAR', 'nicename' => 'Madagascar', 'iso3' => 'MDG', 'numcode' => 450, 'phonecode' => 261],
    ['id' => 128, 'iso' => 'MW', 'name' => 'MALAWI', 'nicename' => 'Malawi', 'iso3' => 'MWI', 'numcode' => 454, 'phonecode' => 265],
    ['id' => 129, 'iso' => 'MY', 'name' => 'MALAYSIA', 'nicename' => 'Malaysia', 'iso3' => 'MYS', 'numcode' => 458, 'phonecode' => 60],
    ['id' => 130, 'iso' => 'MV', 'name' => 'MALDIVES', 'nicename' => 'Maldives', 'iso3' => 'MDV', 'numcode' => 462, 'phonecode' => 960],
    ['id' => 131, 'iso' => 'ML', 'name' => 'MALI', 'nicename' => 'Mali', 'iso3' => 'MLI', 'numcode' => 466, 'phonecode' => 223],
    ['id' => 132, 'iso' => 'MT', 'name' => 'MALTA', 'nicename' => 'Malta', 'iso3' => 'MLT', 'numcode' => 470, 'phonecode' => 356],
    ['id' => 133, 'iso' => 'MH', 'name' => 'MARSHALL ISLANDS', 'nicename' => 'Marshall Islands', 'iso3' => 'MHL', 'numcode' => 584, 'phonecode' => 692],
    ['id' => 134, 'iso' => 'MQ', 'name' => 'MARTINIQUE', 'nicename' => 'Martinique', 'iso3' => 'MTQ', 'numcode' => 474, 'phonecode' => 596],
    ['id' => 135, 'iso' => 'MR', 'name' => 'MAURITANIA', 'nicename' => 'Mauritania', 'iso3' => 'MRT', 'numcode' => 478, 'phonecode' => 222],
    ['id' => 136, 'iso' => 'MU', 'name' => 'MAURITIUS', 'nicename' => 'Mauritius', 'iso3' => 'MUS', 'numcode' => 480, 'phonecode' => 230],
    ['id' => 137, 'iso' => 'YT', 'name' => 'MAYOTTE', 'nicename' => 'Mayotte', 'iso3' => 'MYT', 'numcode' => 175, 'phonecode' => 269],
    ['id' => 138, 'iso' => 'MX', 'name' => 'MEXICO', 'nicename' => 'Mexico', 'iso3' => 'MEX', 'numcode' => 484, 'phonecode' => 52],
    ['id' => 139, 'iso' => 'FM', 'name' => 'MICRONESIA, FEDERATED STATES OF', 'nicename' => 'Micronesia, Federated States of', 'iso3' => 'FSM', 'numcode' => 583, 'phonecode' => 691],
    ['id' => 140, 'iso' => 'MD', 'name' => 'MOLDOVA, REPUBLIC OF', 'nicename' => 'Moldova, Republic of', 'iso3' => 'MDA', 'numcode' => 498, 'phonecode' => 373],
    ['id' => 141, 'iso' => 'MC', 'name' => 'MONACO', 'nicename' => 'Monaco', 'iso3' => 'MCO', 'numcode' => 492, 'phonecode' => 377],
    ['id' => 142, 'iso' => 'MN', 'name' => 'MONGOLIA', 'nicename' => 'Mongolia', 'iso3' => 'MNG', 'numcode' => 496, 'phonecode' => 976],
    ['id' => 143, 'iso' => 'MS', 'name' => 'MONTSERRAT', 'nicename' => 'Montserrat', 'iso3' => 'MSR', 'numcode' => 500, 'phonecode' => 1664],
    ['id' => 144, 'iso' => 'MA', 'name' => 'MOROCCO', 'nicename' => 'Morocco', 'iso3' => 'MAR', 'numcode' => 504, 'phonecode' => 212],
    ['id' => 145, 'iso' => 'MZ', 'name' => 'MOZAMBIQUE', 'nicename' => 'Mozambique', 'iso3' => 'MOZ', 'numcode' => 508, 'phonecode' => 258],
    ['id' => 146, 'iso' => 'MM', 'name' => 'MYANMAR', 'nicename' => 'Myanmar', 'iso3' => 'MMR', 'numcode' => 104, 'phonecode' => 95],
    ['id' => 147, 'iso' => 'NA', 'name' => 'NAMIBIA', 'nicename' => 'Namibia', 'iso3' => 'NAM', 'numcode' => 516, 'phonecode' => 264],
    ['id' => 148, 'iso' => 'NR', 'name' => 'NAURU', 'nicename' => 'Nauru', 'iso3' => 'NRU', 'numcode' => 520, 'phonecode' => 674],
    ['id' => 149, 'iso' => 'NP', 'name' => 'NEPAL', 'nicename' => 'Nepal', 'iso3' => 'NPL', 'numcode' => 524, 'phonecode' => 977],
    ['id' => 150, 'iso' => 'NL', 'name' => 'NETHERLANDS', 'nicename' => 'Netherlands', 'iso3' => 'NLD', 'numcode' => 528, 'phonecode' => 31],
    ['id' => 151, 'iso' => 'AN', 'name' => 'NETHERLANDS ANTILLES', 'nicename' => 'Netherlands Antilles', 'iso3' => 'ANT', 'numcode' => 530, 'phonecode' => 599],
    ['id' => 152, 'iso' => 'NC', 'name' => 'NEW CALEDONIA', 'nicename' => 'New Caledonia', 'iso3' => 'NCL', 'numcode' => 540, 'phonecode' => 687],
    ['id' => 153, 'iso' => 'NZ', 'name' => 'NEW ZEALAND', 'nicename' => 'New Zealand', 'iso3' => 'NZL', 'numcode' => 554, 'phonecode' => 64],
    ['id' => 154, 'iso' => 'NI', 'name' => 'NICARAGUA', 'nicename' => 'Nicaragua', 'iso3' => 'NIC', 'numcode' => 558, 'phonecode' => 505],
    ['id' => 155, 'iso' => 'NE', 'name' => 'NIGER', 'nicename' => 'Niger', 'iso3' => 'NER', 'numcode' => 562, 'phonecode' => 227],
    ['id' => 156, 'iso' => 'NG', 'name' => 'NIGERIA', 'nicename' => 'Nigeria', 'iso3' => 'NGA', 'numcode' => 566, 'phonecode' => 234],
    ['id' => 157, 'iso' => 'NU', 'name' => 'NIUE', 'nicename' => 'Niue', 'iso3' => 'NIU', 'numcode' => 570, 'phonecode' => 683],
    ['id' => 158, 'iso' => 'NF', 'name' => 'NORFOLK ISLAND', 'nicename' => 'Norfolk Island', 'iso3' => 'NFK', 'numcode' => 574, 'phonecode' => 672],
    ['id' => 159, 'iso' => 'MP', 'name' => 'NORTHERN MARIANA ISLANDS', 'nicename' => 'Northern Mariana Islands', 'iso3' => 'MNP', 'numcode' => 580, 'phonecode' => 1670],
    ['id' => 160, 'iso' => 'NO', 'name' => 'NORWAY', 'nicename' => 'Norway', 'iso3' => 'NOR', 'numcode' => 578, 'phonecode' => 47],
    ['id' => 161, 'iso' => 'OM', 'name' => 'OMAN', 'nicename' => 'Oman', 'iso3' => 'OMN', 'numcode' => 512, 'phonecode' => 968],
    ['id' => 162, 'iso' => 'PK', 'name' => 'PAKISTAN', 'nicename' => 'Pakistan', 'iso3' => 'PAK', 'numcode' => 586, 'phonecode' => 92],
    ['id' => 163, 'iso' => 'PW', 'name' => 'PALAU', 'nicename' => 'Palau', 'iso3' => 'PLW', 'numcode' => 585, 'phonecode' => 680],
    ['id' => 164, 'iso' => 'PS', 'name' => 'PALESTINIAN TERRITORY, OCCUPIED', 'nicename' => 'Palestinian Territory, Occupied', 'iso3' => 'PSE', 'numcode' => 275, 'phonecode' => 970],
    ['id' => 165, 'iso' => 'PA', 'name' => 'PANAMA', 'nicename' => 'Panama', 'iso3' => 'PAN', 'numcode' => 591, 'phonecode' => 507],
    ['id' => 166, 'iso' => 'PG', 'name' => 'PAPUA NEW GUINEA', 'nicename' => 'Papua New Guinea', 'iso3' => 'PNG', 'numcode' => 598, 'phonecode' => 675],
    ['id' => 167, 'iso' => 'PY', 'name' => 'PARAGUAY', 'nicename' => 'Paraguay', 'iso3' => 'PRY', 'numcode' => 600, 'phonecode' => 595],
    ['id' => 168, 'iso' => 'PE', 'name' => 'PERU', 'nicename' => 'Peru', 'iso3' => 'PER', 'numcode' => 604, 'phonecode' => 51],
    ['id' => 169, 'iso' => 'PH', 'name' => 'PHILIPPINES', 'nicename' => 'Philippines', 'iso3' => 'PHL', 'numcode' => 608, 'phonecode' => 63],
    ['id' => 170, 'iso' => 'PN', 'name' => 'PITCAIRN', 'nicename' => 'Pitcairn', 'iso3' => 'PCN', 'numcode' => 612, 'phonecode' => -1],
    ['id' => 171, 'iso' => 'PL', 'name' => 'POLAND', 'nicename' => 'Poland', 'iso3' => 'POL', 'numcode' => 616, 'phonecode' => 48],
    ['id' => 172, 'iso' => 'PT', 'name' => 'PORTUGAL', 'nicename' => 'Portugal', 'iso3' => 'PRT', 'numcode' => 620, 'phonecode' => 351],
    ['id' => 173, 'iso' => 'PR', 'name' => 'PUERTO RICO', 'nicename' => 'Puerto Rico', 'iso3' => 'PRI', 'numcode' => 630, 'phonecode' => 1787],
    ['id' => 174, 'iso' => 'QA', 'name' => 'QATAR', 'nicename' => 'Qatar', 'iso3' => 'QAT', 'numcode' => 634, 'phonecode' => 974],
    ['id' => 175, 'iso' => 'RE', 'name' => 'REUNION', 'nicename' => 'Reunion', 'iso3' => 'REU', 'numcode' => 638, 'phonecode' => 262],
    ['id' => 176, 'iso' => 'RO', 'name' => 'ROMANIA', 'nicename' => 'Romania', 'iso3' => 'ROM', 'numcode' => 642, 'phonecode' => 40],
    ['id' => 177, 'iso' => 'RU', 'name' => 'RUSSIAN FEDERATION', 'nicename' => 'Russian Federation', 'iso3' => 'RUS', 'numcode' => 643, 'phonecode' => 7],
    ['id' => 178, 'iso' => 'RW', 'name' => 'RWANDA', 'nicename' => 'Rwanda', 'iso3' => 'RWA', 'numcode' => 646, 'phonecode' => 250],
    ['id' => 179, 'iso' => 'SH', 'name' => 'SAINT HELENA', 'nicename' => 'Saint Helena', 'iso3' => 'SHN', 'numcode' => 654, 'phonecode' => 290],
    ['id' => 180, 'iso' => 'KN', 'name' => 'SAINT KITTS AND NEVIS', 'nicename' => 'Saint Kitts and Nevis', 'iso3' => 'KNA', 'numcode' => 659, 'phonecode' => 1869],
    ['id' => 181, 'iso' => 'LC', 'name' => 'SAINT LUCIA', 'nicename' => 'Saint Lucia', 'iso3' => 'LCA', 'numcode' => 662, 'phonecode' => 1758],
    ['id' => 182, 'iso' => 'PM', 'name' => 'SAINT PIERRE AND MIQUELON', 'nicename' => 'Saint Pierre and Miquelon', 'iso3' => 'SPM', 'numcode' => 666, 'phonecode' => 508],
    ['id' => 183, 'iso' => 'VC', 'name' => 'SAINT VINCENT AND THE GRENADINES', 'nicename' => 'Saint Vincent and the Grenadines', 'iso3' => 'VCT', 'numcode' => 670, 'phonecode' => 1784],
    ['id' => 184, 'iso' => 'WS', 'name' => 'SAMOA', 'nicename' => 'Samoa', 'iso3' => 'WSM', 'numcode' => 882, 'phonecode' => 684],
    ['id' => 185, 'iso' => 'SM', 'name' => 'SAN MARINO', 'nicename' => 'San Marino', 'iso3' => 'SMR', 'numcode' => 674, 'phonecode' => 378],
    ['id' => 186, 'iso' => 'ST', 'name' => 'SAO TOME AND PRINCIPE', 'nicename' => 'Sao Tome and Principe', 'iso3' => 'STP', 'numcode' => 678, 'phonecode' => 239],
    ['id' => 187, 'iso' => 'SA', 'name' => 'SAUDI ARABIA', 'nicename' => 'Saudi Arabia', 'iso3' => 'SAU', 'numcode' => 682, 'phonecode' => 966],
    ['id' => 188, 'iso' => 'SN', 'name' => 'SENEGAL', 'nicename' => 'Senegal', 'iso3' => 'SEN', 'numcode' => 686, 'phonecode' => 221],
    ['id' => 190, 'iso' => 'SC', 'name' => 'SEYCHELLES', 'nicename' => 'Seychelles', 'iso3' => 'SYC', 'numcode' => 690, 'phonecode' => 248],
    ['id' => 191, 'iso' => 'SL', 'name' => 'SIERRA LEONE', 'nicename' => 'Sierra Leone', 'iso3' => 'SLE', 'numcode' => 694, 'phonecode' => 232],
    ['id' => 192, 'iso' => 'SG', 'name' => 'SINGAPORE', 'nicename' => 'Singapore', 'iso3' => 'SGP', 'numcode' => 702, 'phonecode' => 65],
    ['id' => 193, 'iso' => 'SK', 'name' => 'SLOVAKIA', 'nicename' => 'Slovakia', 'iso3' => 'SVK', 'numcode' => 703, 'phonecode' => 421],
    ['id' => 194, 'iso' => 'SI', 'name' => 'SLOVENIA', 'nicename' => 'Slovenia', 'iso3' => 'SVN', 'numcode' => 705, 'phonecode' => 386],
    ['id' => 195, 'iso' => 'SB', 'name' => 'SOLOMON ISLANDS', 'nicename' => 'Solomon Islands', 'iso3' => 'SLB', 'numcode' => 90, 'phonecode' => 677],
    ['id' => 196, 'iso' => 'SO', 'name' => 'SOMALIA', 'nicename' => 'Somalia', 'iso3' => 'SOM', 'numcode' => 706, 'phonecode' => 252],
    ['id' => 197, 'iso' => 'ZA', 'name' => 'SOUTH AFRICA', 'nicename' => 'South Africa', 'iso3' => 'ZAF', 'numcode' => 710, 'phonecode' => 27],
    ['id' => 198, 'iso' => 'GS', 'name' => 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS', 'nicename' => 'South Georgia and the South Sandwich Islands', 'iso3' => 'SGS', 'numcode' => 239, 'phonecode' => -1],
    ['id' => 199, 'iso' => 'ES', 'name' => 'SPAIN', 'nicename' => 'Spain', 'iso3' => 'ESP', 'numcode' => 724, 'phonecode' => 34],
    ['id' => 200, 'iso' => 'LK', 'name' => 'SRI LANKA', 'nicename' => 'Sri Lanka', 'iso3' => 'LKA', 'numcode' => 144, 'phonecode' => 94],
    ['id' => 201, 'iso' => 'SD', 'name' => 'SUDAN', 'nicename' => 'Sudan', 'iso3' => 'SDN', 'numcode' => 736, 'phonecode' => 249],
    ['id' => 202, 'iso' => 'SR', 'name' => 'SURINAME', 'nicename' => 'Suriname', 'iso3' => 'SUR', 'numcode' => 740, 'phonecode' => 597],
    ['id' => 203, 'iso' => 'SJ', 'name' => 'SVALBARD AND JAN MAYEN', 'nicename' => 'Svalbard and Jan Mayen', 'iso3' => 'SJM', 'numcode' => 744, 'phonecode' => 47],
    ['id' => 204, 'iso' => 'SZ', 'name' => 'SWAZILAND', 'nicename' => 'Swaziland', 'iso3' => 'SWZ', 'numcode' => 748, 'phonecode' => 268],
    ['id' => 205, 'iso' => 'SE', 'name' => 'SWEDEN', 'nicename' => 'Sweden', 'iso3' => 'SWE', 'numcode' => 752, 'phonecode' => 46],
    ['id' => 206, 'iso' => 'CH', 'name' => 'SWITZERLAND', 'nicename' => 'Switzerland', 'iso3' => 'CHE', 'numcode' => 756, 'phonecode' => 41],
    ['id' => 207, 'iso' => 'SY', 'name' => 'SYRIAN ARAB REPUBLIC', 'nicename' => 'Syrian Arab Republic', 'iso3' => 'SYR', 'numcode' => 760, 'phonecode' => 963],
    ['id' => 208, 'iso' => 'TW', 'name' => 'TAIWAN, PROVINCE OF CHINA', 'nicename' => 'Taiwan, Province of China', 'iso3' => 'TWN', 'numcode' => 158, 'phonecode' => 886],
    ['id' => 209, 'iso' => 'TJ', 'name' => 'TAJIKISTAN', 'nicename' => 'Tajikistan', 'iso3' => 'TJK', 'numcode' => 762, 'phonecode' => 992],
    ['id' => 210, 'iso' => 'TZ', 'name' => 'TANZANIA, UNITED REPUBLIC OF', 'nicename' => 'Tanzania, United Republic of', 'iso3' => 'TZA', 'numcode' => 834, 'phonecode' => 255],
    ['id' => 211, 'iso' => 'TH', 'name' => 'THAILAND', 'nicename' => 'Thailand', 'iso3' => 'THA', 'numcode' => 764, 'phonecode' => 66],
    ['id' => 212, 'iso' => 'TL', 'name' => 'TIMOR-LESTE', 'nicename' => 'Timor-Leste', 'iso3' => 'TLS', 'numcode' => 626, 'phonecode' => 670],
    ['id' => 213, 'iso' => 'TG', 'name' => 'TOGO', 'nicename' => 'Togo', 'iso3' => 'TGO', 'numcode' => 768, 'phonecode' => 228],
    ['id' => 214, 'iso' => 'TK', 'name' => 'TOKELAU', 'nicename' => 'Tokelau', 'iso3' => 'TKL', 'numcode' => 772, 'phonecode' => 690],
    ['id' => 215, 'iso' => 'TO', 'name' => 'TONGA', 'nicename' => 'Tonga', 'iso3' => 'TON', 'numcode' => 776, 'phonecode' => 676],
    ['id' => 216, 'iso' => 'TT', 'name' => 'TRINIDAD AND TOBAGO', 'nicename' => 'Trinidad and Tobago', 'iso3' => 'TTO', 'numcode' => 780, 'phonecode' => 1868],
    ['id' => 217, 'iso' => 'TN', 'name' => 'TUNISIA', 'nicename' => 'Tunisia', 'iso3' => 'TUN', 'numcode' => 788, 'phonecode' => 216],
    ['id' => 218, 'iso' => 'TR', 'name' => 'TURKEY', 'nicename' => 'Turkey', 'iso3' => 'TUR', 'numcode' => 792, 'phonecode' => 90],
    ['id' => 219, 'iso' => 'TM', 'name' => 'TURKMENISTAN', 'nicename' => 'Turkmenistan', 'iso3' => 'TKM', 'numcode' => 795, 'phonecode' => 7370],
    ['id' => 220, 'iso' => 'TC', 'name' => 'TURKS AND CAICOS ISLANDS', 'nicename' => 'Turks and Caicos Islands', 'iso3' => 'TCA', 'numcode' => 796, 'phonecode' => 1649],
    ['id' => 221, 'iso' => 'TV', 'name' => 'TUVALU', 'nicename' => 'Tuvalu', 'iso3' => 'TUV', 'numcode' => 798, 'phonecode' => 688],
    ['id' => 222, 'iso' => 'UG', 'name' => 'UGANDA', 'nicename' => 'Uganda', 'iso3' => 'UGA', 'numcode' => 800, 'phonecode' => 256],
    ['id' => 223, 'iso' => 'UA', 'name' => 'UKRAINE', 'nicename' => 'Ukraine', 'iso3' => 'UKR', 'numcode' => 804, 'phonecode' => 380],
    ['id' => 224, 'iso' => 'AE', 'name' => 'UNITED ARAB EMIRATES', 'nicename' => 'United Arab Emirates', 'iso3' => 'ARE', 'numcode' => 784, 'phonecode' => 971],
    ['id' => 225, 'iso' => 'GB', 'name' => 'UNITED KINGDOM', 'nicename' => 'United Kingdom', 'iso3' => 'GBR', 'numcode' => 826, 'phonecode' => 44],
    ['id' => 226, 'iso' => 'US', 'name' => 'UNITED STATES', 'nicename' => 'United States', 'iso3' => 'USA', 'numcode' => 840, 'phonecode' => 1],
    ['id' => 227, 'iso' => 'UM', 'name' => 'UNITED STATES MINOR OUTLYING ISLANDS', 'nicename' => 'United States Minor Outlying Islands', 'iso3' => 'UMI', 'numcode' => 581, 'phonecode' => 1],
    ['id' => 228, 'iso' => 'UY', 'name' => 'URUGUAY', 'nicename' => 'Uruguay', 'iso3' => 'URY', 'numcode' => 858, 'phonecode' => 598],
    ['id' => 229, 'iso' => 'UZ', 'name' => 'UZBEKISTAN', 'nicename' => 'Uzbekistan', 'iso3' => 'UZB', 'numcode' => 860, 'phonecode' => 998],
    ['id' => 230, 'iso' => 'VU', 'name' => 'VANUATU', 'nicename' => 'Vanuatu', 'iso3' => 'VUT', 'numcode' => 548, 'phonecode' => 678],
    ['id' => 231, 'iso' => 'VE', 'name' => 'VENEZUELA', 'nicename' => 'Venezuela', 'iso3' => 'VEN', 'numcode' => 862, 'phonecode' => 58],
    ['id' => 232, 'iso' => 'VN', 'name' => 'VIET NAM', 'nicename' => 'Viet Nam', 'iso3' => 'VNM', 'numcode' => 704, 'phonecode' => 84],
    ['id' => 233, 'iso' => 'VG', 'name' => 'VIRGIN ISLANDS, BRITISH', 'nicename' => 'Virgin Islands, British', 'iso3' => 'VGB', 'numcode' => 92, 'phonecode' => 1284],
    ['id' => 234, 'iso' => 'VI', 'name' => 'VIRGIN ISLANDS, U.S.', 'nicename' => 'Virgin Islands, U.s.', 'iso3' => 'VIR', 'numcode' => 850, 'phonecode' => 1340],
    ['id' => 235, 'iso' => 'WF', 'name' => 'WALLIS AND FUTUNA', 'nicename' => 'Wallis and Futuna', 'iso3' => 'WLF', 'numcode' => 876, 'phonecode' => 681],
    ['id' => 236, 'iso' => 'EH', 'name' => 'WESTERN SAHARA', 'nicename' => 'Western Sahara', 'iso3' => 'ESH', 'numcode' => 732, 'phonecode' => 212],
    ['id' => 237, 'iso' => 'YE', 'name' => 'YEMEN', 'nicename' => 'Yemen', 'iso3' => 'YEM', 'numcode' => 887, 'phonecode' => 967],
    ['id' => 238, 'iso' => 'ZM', 'name' => 'ZAMBIA', 'nicename' => 'Zambia', 'iso3' => 'ZMB', 'numcode' => 894, 'phonecode' => 260],
    ['id' => 239, 'iso' => 'ZW', 'name' => 'ZIMBABWE', 'nicename' => 'Zimbabwe', 'iso3' => 'ZWE', 'numcode' => 716, 'phonecode' => 263],
    ['id' => 240, 'iso' => 'RS', 'name' => 'SERBIA', 'nicename' => 'Serbia', 'iso3' => 'SRB', 'numcode' => 688, 'phonecode' => 381],
    ['id' => 241, 'iso' => 'ME', 'name' => 'MONTENEGRO', 'nicename' => 'Montenegro', 'iso3' => 'MNE', 'numcode' => 499, 'phonecode' => 382],
    ['id' => 242, 'iso' => 'AX', 'name' => 'ALAND ISLANDS', 'nicename' => 'Aland Islands', 'iso3' => 'ALA', 'numcode' => 248, 'phonecode' => 358],
    ['id' => 243, 'iso' => 'BQ', 'name' => 'BONAIRE, SINT EUSTATIUS AND SABA', 'nicename' => 'Bonaire, Sint Eustatius and Saba', 'iso3' => 'BES', 'numcode' => 535, 'phonecode' => 599],
    ['id' => 244, 'iso' => 'CW', 'name' => 'CURACAO', 'nicename' => 'Curacao', 'iso3' => 'CUW', 'numcode' => 531, 'phonecode' => 599],
    ['id' => 245, 'iso' => 'GG', 'name' => 'GUERNSEY', 'nicename' => 'Guernsey', 'iso3' => 'GGY', 'numcode' => 831, 'phonecode' => 44],
    ['id' => 246, 'iso' => 'IM', 'name' => 'ISLE OF MAN', 'nicename' => 'Isle of Man', 'iso3' => 'IMN', 'numcode' => 833, 'phonecode' => 44],
    ['id' => 247, 'iso' => 'JE', 'name' => 'JERSEY', 'nicename' => 'Jersey', 'iso3' => 'JEY', 'numcode' => 832, 'phonecode' => 44],
    ['id' => 248, 'iso' => 'XK', 'name' => 'KOSOVO', 'nicename' => 'Kosovo', 'iso3' => 'XKK', 'numcode' => -1, 'phonecode' => 381],
    ['id' => 249, 'iso' => 'BL', 'name' => 'SAINT BARTHELEMY', 'nicename' => 'Saint Barthelemy', 'iso3' => 'BLM', 'numcode' => 652, 'phonecode' => 590],
    ['id' => 250, 'iso' => 'MF', 'name' => 'SAINT MARTIN', 'nicename' => 'Saint Martin', 'iso3' => 'MAF', 'numcode' => 663, 'phonecode' => 590],
    ['id' => 251, 'iso' => 'SX', 'name' => 'SINT MAARTEN', 'nicename' => 'Sint Maarten', 'iso3' => 'SXM', 'numcode' => 534, 'phonecode' => 1],
    ['id' => 252, 'iso' => 'SS', 'name' => 'SOUTH SUDAN', 'nicename' => 'South Sudan', 'iso3' => 'SSD', 'numcode' => 728, 'phonecode' => 211],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'file']);
$model->addField('name', ['type' => 'string']);
$model->addField('type', ['type' => 'string']);
$model->addField('is_folder', ['type' => 'boolean']);
$model->addField('parent_folder_id', ['type' => 'bigint']);
(new Migrator($model))->create();
(new Migrator($model))->createForeignKey([$model->getField('atk_fp_file__parent_folder_id'), $model->getField('atk_fp_file__id')]);
$model->import([
    ['id' => 1, 'name' => '.gitattributes', 'type' => 'gitattributes', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 2, 'name' => '.github', 'type' => 'github', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 3, 'name' => 'release-drafter.yml', 'type' => 'yml', 'is_folder' => false, 'parent_folder_id' => 2],
    ['id' => 4, 'name' => 'workflows', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 2],
    ['id' => 5, 'name' => 'build-docs.yml', 'type' => 'yml', 'is_folder' => false, 'parent_folder_id' => 4],
    ['id' => 6, 'name' => 'build-release.yml', 'type' => 'yml', 'is_folder' => false, 'parent_folder_id' => 4],
    ['id' => 7, 'name' => 'test-unit.yml', 'type' => 'yml', 'is_folder' => false, 'parent_folder_id' => 4],
    ['id' => 8, 'name' => '.gitignore', 'type' => 'gitignore', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 9, 'name' => '.php-cs-fixer.dist.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 10, 'name' => 'behat.yml.dist', 'type' => 'dist', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 11, 'name' => 'codecov.yml', 'type' => 'yml', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 12, 'name' => 'composer.json', 'type' => 'json', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 13, 'name' => 'demos', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 14, 'name' => 'basic', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 15, 'name' => 'breadcrumb.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 16, 'name' => 'button.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 17, 'name' => 'columns.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 18, 'name' => 'grid-layout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 19, 'name' => 'header.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 20, 'name' => 'label.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 21, 'name' => 'menu.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 22, 'name' => 'message.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 23, 'name' => 'view.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 14],
    ['id' => 24, 'name' => 'collection', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 25, 'name' => 'card-deck.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 26, 'name' => 'crud.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 27, 'name' => 'crud3.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 28, 'name' => 'grid.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 29, 'name' => 'lister-ipp.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 30, 'name' => 'multitable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 31, 'name' => 'table.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 32, 'name' => 'table2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 33, 'name' => 'tablecolumnmenu.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 34, 'name' => 'tablecolumns.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 35, 'name' => 'tablefilter.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 24],
    ['id' => 36, 'name' => 'data-action', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 37, 'name' => 'actions.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 38, 'name' => 'factory-view.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 39, 'name' => 'factory.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 40, 'name' => 'jsactions-panel.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 41, 'name' => 'jsactions-vp.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 42, 'name' => 'jsactions.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 43, 'name' => 'jsactions2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 44, 'name' => 'jsactionscrud.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 45, 'name' => 'jsactionsgrid.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 36],
    ['id' => 46, 'name' => 'db.default.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 13],
    ['id' => 47, 'name' => 'Dockerfile', 'type' => '', 'is_folder' => false, 'parent_folder_id' => 13],
    ['id' => 48, 'name' => 'form', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 49, 'name' => 'form-section-accordion.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 50, 'name' => 'form-section.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 51, 'name' => 'form.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 52, 'name' => 'form2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 53, 'name' => 'form3.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 54, 'name' => 'form5.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 55, 'name' => 'html-layout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 56, 'name' => 'jscondform.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 48],
    ['id' => 57, 'name' => 'templates', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 48],
    ['id' => 58, 'name' => 'flyers-form-layout.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 59, 'name' => 'flyers-form-layout.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 60, 'name' => 'form-button-right.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 61, 'name' => 'form-button-right.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 62, 'name' => 'form-custom-layout.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 63, 'name' => 'form-custom-layout.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 64, 'name' => 'input.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 65, 'name' => 'input.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 57],
    ['id' => 66, 'name' => 'form-control', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 67, 'name' => 'calendar.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 68, 'name' => 'checkbox.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 69, 'name' => 'dropdown-plus.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 70, 'name' => 'form6.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 71, 'name' => 'input.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 72, 'name' => 'input2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 73, 'name' => 'lookup-dep.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 74, 'name' => 'lookup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 75, 'name' => 'multiline-containsmany.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 76, 'name' => 'multiline.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 77, 'name' => 'scope-builder.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 78, 'name' => 'tree-item-selector.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 79, 'name' => 'upload.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 66],
    ['id' => 80, 'name' => 'images', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 81, 'name' => 'default.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 80],
    ['id' => 82, 'name' => 'kristy.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 80],
    ['id' => 83, 'name' => 'logo.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 80],
    ['id' => 84, 'name' => 'index.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 13],
    ['id' => 85, 'name' => 'init-app.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 13],
    ['id' => 86, 'name' => 'init-autoloader.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 13],
    ['id' => 87, 'name' => 'init-db.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 13],
    ['id' => 88, 'name' => 'interactive', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 89, 'name' => 'accordion-nested.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 90, 'name' => 'accordion.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 91, 'name' => 'card-action.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 92, 'name' => 'card.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 93, 'name' => 'cardtable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 94, 'name' => 'console.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 95, 'name' => 'jssortable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 96, 'name' => 'loader.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 97, 'name' => 'loader2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 98, 'name' => 'modal.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 99, 'name' => 'paginator.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 100, 'name' => 'popup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 101, 'name' => 'progress.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 102, 'name' => 'scroll-container.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 103, 'name' => 'scroll-grid-container.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 104, 'name' => 'scroll-grid.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 105, 'name' => 'scroll-lister.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 106, 'name' => 'scroll-table.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 107, 'name' => 'sse.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 108, 'name' => 'tabs.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 109, 'name' => 'toast.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 110, 'name' => 'virtual.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 111, 'name' => 'wizard.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 88],
    ['id' => 112, 'name' => 'javascript', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 113, 'name' => 'js.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 112],
    ['id' => 114, 'name' => 'reloading.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 112],
    ['id' => 115, 'name' => 'vue-component.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 112],
    ['id' => 116, 'name' => 'layout', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 117, 'name' => 'layout-panel.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 116],
    ['id' => 118, 'name' => 'layouts.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 116],
    ['id' => 119, 'name' => 'layouts_admin.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 116],
    ['id' => 120, 'name' => 'layouts_error.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 116],
    ['id' => 121, 'name' => 'layouts_manual.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 116],
    ['id' => 122, 'name' => 'layouts_nolayout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 116],
    ['id' => 123, 'name' => 'templates', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 116],
    ['id' => 124, 'name' => 'fixed.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 123],
    ['id' => 125, 'name' => 'fixed.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 123],
    ['id' => 126, 'name' => 'layout1.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 123],
    ['id' => 127, 'name' => 'layout1.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 123],
    ['id' => 128, 'name' => 'layout2.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 123],
    ['id' => 129, 'name' => 'layout2.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 123],
    ['id' => 130, 'name' => 'obsolete', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 131, 'name' => 'crud.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 130],
    ['id' => 132, 'name' => 'notify.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 130],
    ['id' => 133, 'name' => 'notify2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 130],
    ['id' => 134, 'name' => 'others', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 135, 'name' => 'recursive.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 134],
    ['id' => 136, 'name' => 'sticky.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 134],
    ['id' => 137, 'name' => 'sticky2.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 134],
    ['id' => 138, 'name' => 'tutorial', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 139, 'name' => 'actions.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 138],
    ['id' => 140, 'name' => 'intro.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 138],
    ['id' => 141, 'name' => '_demo-data', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 142, 'name' => 'create-db.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 141],
    ['id' => 143, 'name' => 'db.sqlite', 'type' => 'sqlite', 'is_folder' => false, 'parent_folder_id' => 141],
    ['id' => 144, 'name' => 'db.sqlite-journal', 'type' => 'sqlite-journal', 'is_folder' => false, 'parent_folder_id' => 141],
    ['id' => 145, 'name' => '_includes', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 146, 'name' => 'Counter.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 147, 'name' => 'Demo.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 148, 'name' => 'DemoActionsUtil.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 149, 'name' => 'DemoInvoice.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 150, 'name' => 'DemoLookup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 151, 'name' => 'FakerPersistence.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 152, 'name' => 'Flyers.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 153, 'name' => 'FlyersForm.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 154, 'name' => 'PromotionText.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 155, 'name' => 'ReloadTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 156, 'name' => 'Session.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 157, 'name' => 'SomeData.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 158, 'name' => 'ViewTester.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 145],
    ['id' => 159, 'name' => '_unit-test', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 13],
    ['id' => 160, 'name' => 'calendar-input.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 161, 'name' => 'callback-nested.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 162, 'name' => 'callback.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 163, 'name' => 'console.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 164, 'name' => 'console_exec.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 165, 'name' => 'console_run.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 166, 'name' => 'crud-nested.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 167, 'name' => 'crud.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 168, 'name' => 'exception.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 169, 'name' => 'late-output-error.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 170, 'name' => 'lookup-virtual-page.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 171, 'name' => 'lookup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 172, 'name' => 'modal-reload.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 173, 'name' => 'post.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 174, 'name' => 'reload.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 175, 'name' => 'scope-builder-to-query.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 176, 'name' => 'scope-builder.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 177, 'name' => 'sse.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 178, 'name' => 'virtual-page.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 159],
    ['id' => 179, 'name' => 'docs', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 180, 'name' => 'accordion.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 181, 'name' => 'advanced.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 182, 'name' => 'app.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 183, 'name' => 'autocomplete.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 184, 'name' => 'breadcrumb.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 185, 'name' => 'button.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 186, 'name' => 'callbacks.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 187, 'name' => 'components.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 188, 'name' => 'conf.py', 'type' => 'py', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 189, 'name' => 'console.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 190, 'name' => 'core.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 191, 'name' => 'crud.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 192, 'name' => 'crud.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 193, 'name' => 'crud2.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 194, 'name' => 'data.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 195, 'name' => 'dataexecutor.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 196, 'name' => 'filestructure.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 197, 'name' => 'fileupload.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 198, 'name' => 'form-control.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 199, 'name' => 'form.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 200, 'name' => 'grid.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 201, 'name' => 'header.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 202, 'name' => 'helloworld.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 203, 'name' => 'icon.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 204, 'name' => 'image.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 205, 'name' => 'images', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 179],
    ['id' => 206, 'name' => 'admin-in-15-lines.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 207, 'name' => 'admin-layout.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 208, 'name' => 'agile-ui.graffle', 'type' => 'graffle', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 209, 'name' => 'agile-ui.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 210, 'name' => 'all-atk-classes.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 211, 'name' => 'composite.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 212, 'name' => 'console.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 213, 'name' => 'fileupload.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 214, 'name' => 'folders.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 215, 'name' => 'form.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 216, 'name' => 'grid.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 217, 'name' => 'helloworld.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 218, 'name' => 'interactive.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 219, 'name' => 'intro.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 220, 'name' => 'layout-hierarchy.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 221, 'name' => 'layout.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 222, 'name' => 'login-demo.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 223, 'name' => 'menu.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 224, 'name' => 'multiline_email_address.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 225, 'name' => 'multiline_user_addresses.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 226, 'name' => 'register-in-15-lines.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 227, 'name' => 'relation-exploration.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 228, 'name' => 'saasty.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 229, 'name' => 'simple.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 230, 'name' => 'subscribe.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 231, 'name' => 'table.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 232, 'name' => 'ui-component-diagram.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 233, 'name' => 'wizard.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 205],
    ['id' => 234, 'name' => 'index.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 235, 'name' => 'js.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 236, 'name' => 'label.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 237, 'name' => 'layouts.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 238, 'name' => 'lister.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 239, 'name' => 'login.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 240, 'name' => 'loremipsum.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 241, 'name' => 'Makefile', 'type' => '', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 242, 'name' => 'menu.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 243, 'name' => 'message.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 244, 'name' => 'misc.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 245, 'name' => 'multiline.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 246, 'name' => 'overview.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 247, 'name' => 'paginator.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 248, 'name' => 'popup.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 249, 'name' => 'progressbar.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 250, 'name' => 'quickstart.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 251, 'name' => 'README.md', 'type' => 'md', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 252, 'name' => 'render.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 253, 'name' => 'requirements.txt', 'type' => 'txt', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 254, 'name' => 'rightpanel.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 255, 'name' => 'schemas', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 179],
    ['id' => 256, 'name' => 'schemas.graffle', 'type' => 'graffle', 'is_folder' => true, 'parent_folder_id' => 255],
    ['id' => 257, 'name' => 'data.plist', 'type' => 'plist', 'is_folder' => false, 'parent_folder_id' => 256],
    ['id' => 258, 'name' => 'image3.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 256],
    ['id' => 259, 'name' => 'seed.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 260, 'name' => 'session.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 261, 'name' => 'sticky.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 262, 'name' => 'table.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 263, 'name' => 'tablecolumn.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 264, 'name' => 'tabs.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 265, 'name' => 'template.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 266, 'name' => 'text.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 267, 'name' => 'tree-item-selector.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 268, 'name' => 'type-presentation.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 269, 'name' => 'view.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 270, 'name' => 'virtualpage.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 271, 'name' => 'wizard.rst', 'type' => 'rst', 'is_folder' => false, 'parent_folder_id' => 179],
    ['id' => 272, 'name' => 'LICENSE', 'type' => '', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 273, 'name' => 'phpstan.neon.dist', 'type' => 'dist', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 274, 'name' => 'phpunit.xml.dist', 'type' => 'dist', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 275, 'name' => 'public', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 276, 'name' => '.gitignore', 'type' => 'gitignore', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 277, 'name' => 'agileui.less', 'type' => 'less', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 278, 'name' => 'agileui.min.css', 'type' => 'css', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 279, 'name' => 'agileui.min.css.map', 'type' => 'map', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 280, 'name' => 'atk-vue-inline-edit.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 281, 'name' => 'atk-vue-item-search.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 282, 'name' => 'atk-vue-multiline.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 283, 'name' => 'atk-vue-query-builder.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 284, 'name' => 'atk-vue-tree-item-selector.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 285, 'name' => 'atkjs-ui.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 286, 'name' => 'external', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 275],
    ['id' => 287, 'name' => '.gitignore', 'type' => 'gitignore', 'is_folder' => false, 'parent_folder_id' => 286],
    ['id' => 288, 'name' => 'flatpickr', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 286],
    ['id' => 289, 'name' => 'dist', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 288],
    ['id' => 290, 'name' => 'flatpickr.css', 'type' => 'css', 'is_folder' => false, 'parent_folder_id' => 289],
    ['id' => 291, 'name' => 'flatpickr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 289],
    ['id' => 292, 'name' => 'flatpickr.min.css', 'type' => 'css', 'is_folder' => false, 'parent_folder_id' => 289],
    ['id' => 293, 'name' => 'flatpickr.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 289],
    ['id' => 294, 'name' => 'l10n', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 289],
    ['id' => 295, 'name' => 'ar-dz.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 296, 'name' => 'ar.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 297, 'name' => 'at.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 298, 'name' => 'az.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 299, 'name' => 'be.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 300, 'name' => 'bg.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 301, 'name' => 'bn.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 302, 'name' => 'bs.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 303, 'name' => 'cat.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 304, 'name' => 'ckb.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 305, 'name' => 'cs.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 306, 'name' => 'cy.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 307, 'name' => 'da.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 308, 'name' => 'de.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 309, 'name' => 'default.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 310, 'name' => 'eo.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 311, 'name' => 'es.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 312, 'name' => 'et.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 313, 'name' => 'fa.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 314, 'name' => 'fi.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 315, 'name' => 'fo.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 316, 'name' => 'fr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 317, 'name' => 'ga.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 318, 'name' => 'gr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 319, 'name' => 'he.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 320, 'name' => 'hi.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 321, 'name' => 'hr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 322, 'name' => 'hu.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 323, 'name' => 'hy.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 324, 'name' => 'id.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 325, 'name' => 'is.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 326, 'name' => 'it.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 327, 'name' => 'ja.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 328, 'name' => 'ka.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 329, 'name' => 'km.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 330, 'name' => 'ko.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 331, 'name' => 'kz.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 332, 'name' => 'lt.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 333, 'name' => 'lv.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 334, 'name' => 'mk.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 335, 'name' => 'mn.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 336, 'name' => 'ms.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 337, 'name' => 'my.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 338, 'name' => 'nl.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 339, 'name' => 'nn.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 340, 'name' => 'no.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 341, 'name' => 'pa.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 342, 'name' => 'pl.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 343, 'name' => 'pt.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 344, 'name' => 'ro.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 345, 'name' => 'ru.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 346, 'name' => 'si.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 347, 'name' => 'sk.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 348, 'name' => 'sl.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 349, 'name' => 'sq.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 350, 'name' => 'sr-cyr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 351, 'name' => 'sr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 352, 'name' => 'sv.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 353, 'name' => 'th.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 354, 'name' => 'tr.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 355, 'name' => 'uk.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 356, 'name' => 'uz.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 357, 'name' => 'uz_latn.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 358, 'name' => 'vn.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 359, 'name' => 'zh-tw.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 360, 'name' => 'zh.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 294],
    ['id' => 361, 'name' => 'LICENSE.md', 'type' => 'md', 'is_folder' => false, 'parent_folder_id' => 288],
    ['id' => 362, 'name' => 'fomantic-ui-css', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 286],
    ['id' => 363, 'name' => 'LICENSE.md', 'type' => 'md', 'is_folder' => false, 'parent_folder_id' => 362],
    ['id' => 364, 'name' => 'semantic.css', 'type' => 'css', 'is_folder' => false, 'parent_folder_id' => 362],
    ['id' => 365, 'name' => 'semantic.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 362],
    ['id' => 366, 'name' => 'semantic.min.css', 'type' => 'css', 'is_folder' => false, 'parent_folder_id' => 362],
    ['id' => 367, 'name' => 'semantic.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 362],
    ['id' => 368, 'name' => 'themes', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 362],
    ['id' => 369, 'name' => 'default', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 368],
    ['id' => 370, 'name' => 'assets', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 369],
    ['id' => 371, 'name' => 'fonts', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 370],
    ['id' => 372, 'name' => 'brand-icons.woff2', 'type' => 'woff2', 'is_folder' => false, 'parent_folder_id' => 371],
    ['id' => 373, 'name' => 'icons.woff2', 'type' => 'woff2', 'is_folder' => false, 'parent_folder_id' => 371],
    ['id' => 374, 'name' => 'outline-icons.woff2', 'type' => 'woff2', 'is_folder' => false, 'parent_folder_id' => 371],
    ['id' => 375, 'name' => 'images', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 370],
    ['id' => 376, 'name' => 'flags.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 375],
    ['id' => 377, 'name' => 'form-serializer', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 286],
    ['id' => 378, 'name' => 'dist', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 377],
    ['id' => 379, 'name' => 'jquery.serialize-object.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 378],
    ['id' => 380, 'name' => 'jquery.serialize-object.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 378],
    ['id' => 381, 'name' => 'LICENSE', 'type' => '', 'is_folder' => false, 'parent_folder_id' => 377],
    ['id' => 382, 'name' => 'jquery', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 286],
    ['id' => 383, 'name' => 'dist', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 382],
    ['id' => 384, 'name' => 'jquery.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 383],
    ['id' => 385, 'name' => 'jquery.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 383],
    ['id' => 386, 'name' => 'LICENSE.txt', 'type' => 'txt', 'is_folder' => false, 'parent_folder_id' => 382],
    ['id' => 387, 'name' => 'package-lock.json', 'type' => 'json', 'is_folder' => false, 'parent_folder_id' => 286],
    ['id' => 388, 'name' => 'package.json', 'type' => 'json', 'is_folder' => false, 'parent_folder_id' => 286],
    ['id' => 389, 'name' => 'postinstall.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 286],
    ['id' => 390, 'name' => 'logo.png', 'type' => 'png', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 391, 'name' => 'vendors.min.js', 'type' => 'js', 'is_folder' => false, 'parent_folder_id' => 275],
    ['id' => 392, 'name' => 'README.md', 'type' => 'md', 'is_folder' => false, 'parent_folder_id' => null],
    ['id' => 393, 'name' => 'src', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 394, 'name' => 'AbstractView.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 395, 'name' => 'Accordion.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 396, 'name' => 'AccordionSection.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 397, 'name' => 'App', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 398, 'name' => 'SessionManager.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 397],
    ['id' => 399, 'name' => 'App.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 400, 'name' => 'Behat', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 401, 'name' => 'Context.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 400],
    ['id' => 402, 'name' => 'DumpContext.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 400],
    ['id' => 403, 'name' => 'MinkSeleniumDriver.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 400],
    ['id' => 404, 'name' => 'MinkSession.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 400],
    ['id' => 405, 'name' => 'Breadcrumb.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 406, 'name' => 'Button.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 407, 'name' => 'Callback.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 408, 'name' => 'CallbackLater.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 409, 'name' => 'Card.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 410, 'name' => 'CardDeck.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 411, 'name' => 'CardSection.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 412, 'name' => 'CardTable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 413, 'name' => 'Columns.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 414, 'name' => 'Console.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 415, 'name' => 'Crud.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 416, 'name' => 'Dropdown.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 417, 'name' => 'DropdownButton.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 418, 'name' => 'Exception', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 419, 'name' => 'ExitApplicationError.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 418],
    ['id' => 420, 'name' => 'LateOutputError.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 418],
    ['id' => 421, 'name' => 'UnhandledCallbackExceptionError.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 418],
    ['id' => 422, 'name' => 'Exception.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 423, 'name' => 'Form', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 424, 'name' => 'AbstractLayout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 423],
    ['id' => 425, 'name' => 'Control', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 423],
    ['id' => 426, 'name' => 'Calendar.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 427, 'name' => 'Checkbox.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 428, 'name' => 'Dropdown.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 429, 'name' => 'DropdownCascade.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 430, 'name' => 'Hidden.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 431, 'name' => 'Input.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 432, 'name' => 'Line.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 433, 'name' => 'Lookup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 434, 'name' => 'Money.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 435, 'name' => 'Multiline.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 436, 'name' => 'Password.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 437, 'name' => 'Radio.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 438, 'name' => 'ScopeBuilder.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 439, 'name' => 'Textarea.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 440, 'name' => 'TreeItemSelector.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 441, 'name' => 'Upload.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 442, 'name' => 'UploadImage.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 443, 'name' => 'VueLookupTrait.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 425],
    ['id' => 444, 'name' => 'Control.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 423],
    ['id' => 445, 'name' => 'Layout', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 423],
    ['id' => 446, 'name' => 'Columns.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 445],
    ['id' => 447, 'name' => 'Custom.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 445],
    ['id' => 448, 'name' => 'Section', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 445],
    ['id' => 449, 'name' => 'Accordion.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 448],
    ['id' => 450, 'name' => 'Columns.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 448],
    ['id' => 451, 'name' => 'Tabs.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 448],
    ['id' => 452, 'name' => 'Section.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 445],
    ['id' => 453, 'name' => 'Layout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 423],
    ['id' => 454, 'name' => 'Form.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 455, 'name' => 'Grid.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 456, 'name' => 'GridLayout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 457, 'name' => 'Header.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 458, 'name' => 'HelloWorld.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 459, 'name' => 'HtmlTemplate', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 460, 'name' => 'TagTree.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 459],
    ['id' => 461, 'name' => 'Value.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 459],
    ['id' => 462, 'name' => 'HtmlTemplate.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 463, 'name' => 'Icon.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 464, 'name' => 'Image.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 465, 'name' => 'ItemsPerPageSelector.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 466, 'name' => 'Jquery.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 467, 'name' => 'JsCallback.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 468, 'name' => 'JsChain.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 469, 'name' => 'JsConditionalForm.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 470, 'name' => 'JsExpression.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 471, 'name' => 'JsExpressionable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 472, 'name' => 'JsFunction.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 473, 'name' => 'JsModal.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 474, 'name' => 'JsNotify.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 475, 'name' => 'JsPaginator.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 476, 'name' => 'JsReload.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 477, 'name' => 'JsSearch.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 478, 'name' => 'JsSortable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 479, 'name' => 'JsSse.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 480, 'name' => 'JsToast.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 481, 'name' => 'JsVueService.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 482, 'name' => 'Label.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 483, 'name' => 'Layout', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 484, 'name' => 'Admin.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 483],
    ['id' => 485, 'name' => 'Centered.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 483],
    ['id' => 486, 'name' => 'Maestro.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 483],
    ['id' => 487, 'name' => 'NavigableInterface.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 483],
    ['id' => 488, 'name' => 'Product.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 483],
    ['id' => 489, 'name' => 'Layout.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 490, 'name' => 'Lister.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 491, 'name' => 'Loader.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 492, 'name' => 'LoremIpsum.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 493, 'name' => 'Menu.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 494, 'name' => 'MenuItem.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 495, 'name' => 'Message.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 496, 'name' => 'Misc', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 497, 'name' => 'ProxyModel.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 496],
    ['id' => 498, 'name' => 'Modal.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 499, 'name' => 'Paginator.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 500, 'name' => 'Panel', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 501, 'name' => 'Content.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 500],
    ['id' => 502, 'name' => 'Loadable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 500],
    ['id' => 503, 'name' => 'LoadableContent.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 500],
    ['id' => 504, 'name' => 'Right.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 500],
    ['id' => 505, 'name' => 'Persistence', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 506, 'name' => 'Post.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 505],
    ['id' => 507, 'name' => 'Ui.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 505],
    ['id' => 508, 'name' => 'Popup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 509, 'name' => 'ProgressBar.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 510, 'name' => 'SessionTrait.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 511, 'name' => 'Table', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 512, 'name' => 'Column', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 511],
    ['id' => 513, 'name' => 'ActionButtons.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 514, 'name' => 'ActionMenu.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 515, 'name' => 'Checkbox.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 516, 'name' => 'ColorRating.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 517, 'name' => 'Delete.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 518, 'name' => 'DragHandler.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 519, 'name' => 'FilterModel', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 512],
    ['id' => 520, 'name' => 'TypeBoolean.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 521, 'name' => 'TypeDate.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 522, 'name' => 'TypeDatetime.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 523, 'name' => 'TypeEnum.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 524, 'name' => 'TypeNumber.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 525, 'name' => 'TypeString.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 526, 'name' => 'TypeTime.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 519],
    ['id' => 527, 'name' => 'FilterModel.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 528, 'name' => 'FilterPopup.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 529, 'name' => 'Html.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 530, 'name' => 'Image.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 531, 'name' => 'JsHeader.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 532, 'name' => 'KeyValue.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 533, 'name' => 'Labels.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 534, 'name' => 'Link.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 535, 'name' => 'Money.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 536, 'name' => 'Multiformat.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 537, 'name' => 'NoValue.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 538, 'name' => 'Password.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 539, 'name' => 'Status.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 540, 'name' => 'Template.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 541, 'name' => 'Text.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 542, 'name' => 'Tooltip.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 512],
    ['id' => 543, 'name' => 'Column.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 511],
    ['id' => 544, 'name' => 'Table.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 545, 'name' => 'Tabs.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 546, 'name' => 'TabsSubview.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 547, 'name' => 'TabsTab.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 548, 'name' => 'Text.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 549, 'name' => 'UserAction', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 550, 'name' => 'ArgumentFormExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 551, 'name' => 'BasicExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 552, 'name' => 'ConfirmationExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 553, 'name' => 'ExecutorFactory.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 554, 'name' => 'ExecutorInterface.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 555, 'name' => 'FormExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 556, 'name' => 'JsCallbackExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 557, 'name' => 'JsExecutorInterface.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 558, 'name' => 'ModalExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 559, 'name' => 'PanelExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 560, 'name' => 'PreviewExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 561, 'name' => 'StepExecutorTrait.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 562, 'name' => 'VpExecutor.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 549],
    ['id' => 563, 'name' => 'View.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 564, 'name' => 'VirtualPage.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 565, 'name' => 'VueComponent', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 393],
    ['id' => 566, 'name' => 'InlineEdit.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 565],
    ['id' => 567, 'name' => 'ItemSearch.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 565],
    ['id' => 568, 'name' => 'Wizard.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 569, 'name' => 'WizardStep.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 393],
    ['id' => 570, 'name' => 'template', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 571, 'name' => 'accordion-section.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 572, 'name' => 'accordion-section.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 573, 'name' => 'accordion.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 574, 'name' => 'accordion.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 575, 'name' => 'breadcrumb.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 576, 'name' => 'breadcrumb.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 577, 'name' => 'button.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 578, 'name' => 'button.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 579, 'name' => 'card-deck.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 580, 'name' => 'card-deck.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 581, 'name' => 'card.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 582, 'name' => 'card.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 583, 'name' => 'dropdown.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 584, 'name' => 'dropdown.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 585, 'name' => 'element.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 586, 'name' => 'element.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 587, 'name' => 'form', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 570],
    ['id' => 588, 'name' => 'control', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 587],
    ['id' => 589, 'name' => 'checkbox.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 590, 'name' => 'checkbox.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 591, 'name' => 'dropdown.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 592, 'name' => 'dropdown.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 593, 'name' => 'input.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 594, 'name' => 'input.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 595, 'name' => 'lookup.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 596, 'name' => 'lookup.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 597, 'name' => 'radio.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 598, 'name' => 'radio.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 599, 'name' => 'upload.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 600, 'name' => 'upload.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 588],
    ['id' => 601, 'name' => 'layout', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 587],
    ['id' => 602, 'name' => 'generic-input.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 601],
    ['id' => 603, 'name' => 'generic-input.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 601],
    ['id' => 604, 'name' => 'generic.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 601],
    ['id' => 605, 'name' => 'generic.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 601],
    ['id' => 606, 'name' => 'form-success.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 607, 'name' => 'form-success.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 608, 'name' => 'form.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 609, 'name' => 'form.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 610, 'name' => 'grid-layout.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 611, 'name' => 'grid-layout.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 612, 'name' => 'grid.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 613, 'name' => 'grid.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 614, 'name' => 'header.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 615, 'name' => 'header.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 616, 'name' => 'html.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 617, 'name' => 'html.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 618, 'name' => 'icon.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 619, 'name' => 'icon.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 620, 'name' => 'image.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 621, 'name' => 'image.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 622, 'name' => 'inline-edit.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 623, 'name' => 'inline-edit.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 624, 'name' => 'item-search.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 625, 'name' => 'item-search.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 626, 'name' => 'js-search.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 627, 'name' => 'js-search.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 628, 'name' => 'label.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 629, 'name' => 'label.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 630, 'name' => 'layout', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 570],
    ['id' => 631, 'name' => 'admin.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 630],
    ['id' => 632, 'name' => 'admin.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 630],
    ['id' => 633, 'name' => 'centered.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 630],
    ['id' => 634, 'name' => 'centered.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 630],
    ['id' => 635, 'name' => 'maestro-sidenav.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 630],
    ['id' => 636, 'name' => 'maestro-sidenav.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 630],
    ['id' => 637, 'name' => 'lister.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 638, 'name' => 'lister.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 639, 'name' => 'menu.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 640, 'name' => 'menu.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 641, 'name' => 'menugroup.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 642, 'name' => 'menugroup.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 643, 'name' => 'message.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 644, 'name' => 'message.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 645, 'name' => 'modal.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 646, 'name' => 'modal.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 647, 'name' => 'pagelength.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 648, 'name' => 'pagelength.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 649, 'name' => 'paginator.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 650, 'name' => 'paginator.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 651, 'name' => 'panel', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 570],
    ['id' => 652, 'name' => 'content.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 651],
    ['id' => 653, 'name' => 'content.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 651],
    ['id' => 654, 'name' => 'right.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 651],
    ['id' => 655, 'name' => 'right.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 651],
    ['id' => 656, 'name' => 'progress.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 657, 'name' => 'progress.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 658, 'name' => 'submenu.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 659, 'name' => 'submenu.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 660, 'name' => 'table.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 661, 'name' => 'table.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 662, 'name' => 'tabs.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 663, 'name' => 'tabs.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 664, 'name' => 'tree.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 665, 'name' => 'tree.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 666, 'name' => 'wizard.html', 'type' => 'html', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 667, 'name' => 'wizard.pug', 'type' => 'pug', 'is_folder' => false, 'parent_folder_id' => 570],
    ['id' => 668, 'name' => 'tests', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 669, 'name' => 'AppTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 670, 'name' => 'ButtonTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 671, 'name' => 'CallbackTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 672, 'name' => 'Concerns', 'type' => '', 'is_folder' => true, 'parent_folder_id' => 668],
    ['id' => 673, 'name' => 'HandlesTable.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 672],
    ['id' => 674, 'name' => 'DemosHttpNoExitTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 675, 'name' => 'DemosHttpTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 676, 'name' => 'DemosTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 677, 'name' => 'ExecutorFactoryTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 678, 'name' => 'ForFieldUiTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 679, 'name' => 'FormTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 680, 'name' => 'GridTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 681, 'name' => 'HtmlTemplateTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 682, 'name' => 'JsIntegrationTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 683, 'name' => 'JsTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 684, 'name' => 'ListerTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 685, 'name' => 'PaginatorTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 686, 'name' => 'PersistencePostTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 687, 'name' => 'PersistenceUiTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 688, 'name' => 'RenderTreeTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 689, 'name' => 'SessionTraitTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 690, 'name' => 'TableColumnColorRatingTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 691, 'name' => 'TableColumnLinkTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 692, 'name' => 'TableTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 693, 'name' => 'TagTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 694, 'name' => 'ViewTest.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 668],
    ['id' => 695, 'name' => 'tests-behat', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 696, 'name' => 'basicexecutor.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 697, 'name' => 'calendar.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 698, 'name' => 'callback.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 699, 'name' => 'card.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 700, 'name' => 'crud.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 701, 'name' => 'filter.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 702, 'name' => 'form.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 703, 'name' => 'grid.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 704, 'name' => 'js.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 705, 'name' => 'lookup.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 706, 'name' => 'modal.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 707, 'name' => 'rightpanel.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 708, 'name' => 'scopebuilder.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 709, 'name' => 'tab.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 710, 'name' => 'upload.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 711, 'name' => 'useraction.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 712, 'name' => 'virtual-page.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 713, 'name' => 'vue.feature', 'type' => 'feature', 'is_folder' => false, 'parent_folder_id' => 695],
    ['id' => 714, 'name' => 'tools', 'type' => '', 'is_folder' => true, 'parent_folder_id' => null],
    ['id' => 715, 'name' => 'CoverageUtil.php', 'type' => 'php', 'is_folder' => false, 'parent_folder_id' => 714],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'stat']);
$model->addField('project_name', ['type' => 'string']);
$model->addField('project_code', ['type' => 'string']);
$model->addField('description', ['type' => 'text']);
$model->addField('client_name', ['type' => 'string']);
$model->addField('client_address', ['type' => 'text']);
$model->addField('client_country_iso', ['type' => 'string']); // should be CHAR(2)
$model->addField('is_commercial', ['type' => 'boolean']);
$model->addField('currency', ['type' => 'string']); // should be ENUM('EUR' ,'USD', 'GBP') or CHAR(3)
$model->addField('is_completed', ['type' => 'boolean']);
$model->addField('project_budget', ['type' => 'float']);
$model->addField('project_invoiced', ['type' => 'float']);
$model->addField('project_paid', ['type' => 'float']);
$model->addField('project_hour_cost', ['type' => 'float']);
$model->addField('project_hours_est', ['type' => 'integer']);
$model->addField('project_hours_reported', ['type' => 'integer']);
$model->addField('project_expenses_est', ['type' => 'float']);
$model->addField('project_expenses', ['type' => 'float']);
$model->addField('project_mgmt_cost_pct', ['type' => 'float']);
$model->addField('project_qa_cost_pct', ['type' => 'float']);
$model->addField('start_date', ['type' => 'date']);
$model->addField('finish_date', ['type' => 'date']);
$model->addField('finish_time', ['type' => 'time']);
$model->addField('created', ['type' => 'datetime']);
$model->addField('updated', ['type' => 'datetime']);
(new Migrator($model))->create();
$data = [
    ['id' => 1, 'project_name' => 'Agile DSQL', 'project_code' => 'at01', 'description' => 'DSQL is a composable SQL query builder. You can write multi-vendor queries in PHP profiting from better security, clean syntax and avoid human errors.', 'client_name' => 'Agile Toolkit', 'client_address' => 'Some Street,' . "\n" . 'Garden City' . "\n" . 'UK', 'client_country_iso' => 'GB', 'is_commercial' => 0, 'currency' => 'GBP', 'is_completed' => 1, 'project_budget' => 7000, 'project_invoiced' => 0, 'project_paid' => 0, 'project_hour_cost' => 0, 'project_hours_est' => 150, 'project_hours_reported' => 125, 'project_expenses_est' => 50, 'project_expenses' => 0, 'project_mgmt_cost_pct' => 0.1, 'project_qa_cost_pct' => 0.2, 'start_date' => '2016-01-26', 'finish_date' => '2016-06-23', 'finish_time' => '12:50:00', 'created' => '2017-04-06 10:34:34', 'updated' => '2017-04-06 10:35:04'],
    ['id' => 2, 'project_name' => 'Agile Core', 'project_code' => 'at02', 'description' => 'Collection of PHP Traits for designing object-oriented frameworks.', 'client_name' => 'Agile Toolkit', 'client_address' => 'Some Street,' . "\n" . 'Garden City' . "\n" . 'UK', 'client_country_iso' => 'GB', 'is_commercial' => 0, 'currency' => 'GBP', 'is_completed' => 1, 'project_budget' => 3000, 'project_invoiced' => 0, 'project_paid' => 0, 'project_hour_cost' => 0, 'project_hours_est' => 70, 'project_hours_reported' => 56, 'project_expenses_est' => 50, 'project_expenses' => 0, 'project_mgmt_cost_pct' => 0.1, 'project_qa_cost_pct' => 0.2, 'start_date' => '2016-04-27', 'finish_date' => '2016-05-21', 'finish_time' => '18:41:00', 'created' => '2017-04-06 10:21:50', 'updated' => '2017-04-06 10:35:04'],
    ['id' => 3, 'project_name' => 'Agile Data', 'project_code' => 'at03', 'description' => 'Agile Data implements an entirely new pattern for data abstraction, that is specifically designed for remote databases such as RDS, Cloud SQL, BigQuery and other distributed data storage architectures. It focuses on reducing number of requests your App have to send to the Database by using more sophisticated queries while also offering full Domain Model mapping and Database vendor abstraction.', 'client_name' => 'Agile Toolkit', 'client_address' => 'Some Street,' . "\n" . 'Garden City' . "\n" . 'UK', 'client_country_iso' => 'GB', 'is_commercial' => 0, 'currency' => 'GBP', 'is_completed' => 1, 'project_budget' => 12000, 'project_invoiced' => 0, 'project_paid' => 0, 'project_hour_cost' => 0, 'project_hours_est' => 300, 'project_hours_reported' => 394, 'project_expenses_est' => 600, 'project_expenses' => 430, 'project_mgmt_cost_pct' => 0.2, 'project_qa_cost_pct' => 0.3, 'start_date' => '2016-04-17', 'finish_date' => '2016-06-20', 'finish_time' => '03:04:00', 'created' => '2017-04-06 10:30:15', 'updated' => '2017-04-06 10:35:04'],
    ['id' => 4, 'project_name' => 'Agile UI', 'project_code' => 'at04', 'description' => 'Web UI Component library.', 'client_name' => 'Agile Toolkit', 'client_address' => 'Some Street,' . "\n" . 'Garden City' . "\n" . 'UK', 'client_country_iso' => 'GB', 'is_commercial' => 0, 'currency' => 'GBP', 'is_completed' => 0, 'project_budget' => 20000, 'project_invoiced' => 0, 'project_paid' => 0, 'project_hour_cost' => 0, 'project_hours_est' => 600, 'project_hours_reported' => 368, 'project_expenses_est' => 1200, 'project_expenses' => 0, 'project_mgmt_cost_pct' => 0.3, 'project_qa_cost_pct' => 0.4, 'start_date' => '2016-09-17', 'finish_date' => '', 'finish_time' => '', 'created' => '2017-04-06 10:30:15', 'updated' => '2017-04-06 10:35:04'],
];
$model->import($data);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'product_category']);
$model->addField('name', ['type' => 'string']);
$productCategoryIdField = $model->getField('atk_fp_product_category__id');
(new Migrator($model))->create();
$model->import([
    ['id' => 1, 'name' => 'Condiments and Gravies'],
    ['id' => 2, 'name' => 'Beverages'],
    ['id' => 3, 'name' => 'Dairy'],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'product_sub_category']);
$model->addField('name', ['type' => 'string']);
$model->addField('product_category_id', ['type' => 'bigint']);
$productSubcategoryIdField = $model->getField('atk_fp_6f3c91cf51e02fd5__id');
(new Migrator($model))->create();
(new Migrator($model))->createForeignKey([$model->getField('atk_fp_6f3c91cf51e02fd5__product_category_id'), $productCategoryIdField]);
$model->import([
    ['id' => 1, 'name' => 'Gravie', 'product_category_id' => 1],
    ['id' => 2, 'name' => 'Spread', 'product_category_id' => 1],
    ['id' => 3, 'name' => 'Salad Dressing', 'product_category_id' => 1],
    ['id' => 4, 'name' => 'Alcoholic', 'product_category_id' => 2],
    ['id' => 5, 'name' => 'Coffee and Tea', 'product_category_id' => 2],
    ['id' => 6, 'name' => 'Lowfat Milk', 'product_category_id' => 3],
    ['id' => 7, 'name' => 'Yogourt', 'product_category_id' => 3],
    ['id' => 8, 'name' => 'HighFat', 'product_category_id' => 3],
    ['id' => 9, 'name' => 'Sugar/Sweetened', 'product_category_id' => 2],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'product']);
$model->addField('name', ['type' => 'string']);
$model->addField('brand', ['type' => 'string']);
$model->addField('product_category_id', ['type' => 'bigint']);
$model->addField('product_sub_category_id', ['type' => 'bigint']);
(new Migrator($model))->create();
(new Migrator($model))->createForeignKey([$model->getField('atk_fp_product__product_category_id'), $productCategoryIdField]);
(new Migrator($model))->createForeignKey([$model->getField('atk_fp_product__6f3c91cf51e02fd5_id'), $productSubcategoryIdField]);
$model->import([
    ['id' => 1, 'name' => 'Mustard', 'brand' => 'Condiment Corp.', 'product_category_id' => 1, 'product_sub_category_id' => 2],
    ['id' => 2, 'name' => 'Ketchup', 'brand' => 'Condiment Corp.', 'product_category_id' => 1, 'product_sub_category_id' => 2],
    ['id' => 3, 'name' => 'Cola', 'brand' => 'Beverage Corp.', 'product_category_id' => 2, 'product_sub_category_id' => 9],
    ['id' => 4, 'name' => 'Soda', 'brand' => 'Beverage Corp.', 'product_category_id' => 2, 'product_sub_category_id' => 9],
    ['id' => 5, 'name' => 'Milk 2%', 'brand' => 'Milk Corp.', 'product_category_id' => 3, 'product_sub_category_id' => 8],
    ['id' => 6, 'name' => 'Milk 1%', 'brand' => 'Milk Corp.', 'product_category_id' => 3, 'product_sub_category_id' => 6],
    ['id' => 7, 'name' => 'Ice Cream', 'brand' => 'Milk Corp.', 'product_category_id' => 3, 'product_sub_category_id' => 8],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'multiline_item']);
$model->addField('item', ['type' => 'string']);
$model->addField('inv_date', ['type' => 'date']);
$model->addField('inv_time', ['type' => 'time']);
$model->addField('country_id', ['type' => 'bigint']);
$model->addField('qty', ['type' => 'integer']);
$model->addField('box', ['type' => 'integer']);
(new Migrator($model))->create();
(new Migrator($model))->createForeignKey([$model->getField('atk_fp_multiline_item__country_id'), $countryIdField]);
$model->import([
    ['id' => 1, 'item' => 'Chocolate', 'inv_date' => '2020-02-20', 'inv_time' => '7:20', 'country_id' => 80, 'qty' => 7, 'box' => 5],
    ['id' => 2, 'item' => 'DAP delivery', 'inv_date' => '2020-02-01', 'inv_time' => '8:33', 'country_id' => 223, 'qty' => 2, 'box' => 100],
]);

$model = new ImportModelWithPrefixedFields($db, ['table' => 'multiline_delivery']);
$model->addField('name', ['type' => 'string']);
$model->addField('item', ['type' => 'json']);
$model->addField('items', ['type' => 'json']);
(new Migrator($model))->create();
$model->import([
    // TODO Model::containsXxx support
    // https://github.com/atk4/ui/issues/1860
]);

echo 'import complete!' . "\n\n";
