├── .DS_Store
├── .gitignore
├── App
├── .DS_Store
├── Controllers
│ └── Home.php
├── Models
│ ├── Customer.php
│ ├── Order.php
│ ├── OrderItem.php
│ └── Statistic.php
├── Namespaces.php
├── Routes.php
└── Views
│ ├── Page
│ └── home.php
│ ├── Template.php
│ └── error.php
├── Config
├── Application.php
└── Database.php
├── README.md
├── database
├── .DS_Store
├── OrderSeeder.php
└── dumps
│ ├── dump_2018-02-24.sql
│ └── dump_2018-03-01.sql
├── public
├── .htaccess
├── css
│ └── cover.css
├── index.php
└── js
│ └── dashboard.js
├── screenshots
├── .DS_Store
├── 1.png
├── 2.png
├── 3.png
├── 4.png
└── db.png
├── seeder
└── src
├── Controller.php
├── Error.php
├── Model.php
├── Psr4AutoloaderClass.php
├── Request.php
├── Router.php
├── Seeder.php
├── Validator.php
└── View.php
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /nbproject/private/
2 | /nbproject
3 | /database/.DS_Store
--------------------------------------------------------------------------------
/App/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/App/.DS_Store
--------------------------------------------------------------------------------
/App/Controllers/Home.php:
--------------------------------------------------------------------------------
1 |
18 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
19 | * @version Release: @package_version@
20 | * @link http://pear.php.net/package/PackageName
21 | * @since Class available since Release 1.0.0
22 | */
23 | class Home extends Controller {
24 |
25 | /**
26 | * The index controller action
27 | *
28 | * It displays the statistics:
29 | * - The total number of orders, customers and revenue.
30 | * - Monthly chart
31 | * - Latest 10 orders.
32 | *
33 | * @return void
34 | * @access public
35 | * @since Method available since Release 1.0.0
36 | */
37 | public function index(): void {
38 |
39 | // Request params
40 | $from = Request::getParam("from", date("Y-m-01"));
41 | $to = Request::getParam("to", date("Y-m-t"));
42 | $month = Request::getParam("month", date("Y-m"));
43 |
44 | // Statistic counters
45 | $modelStatistic = new \App\Models\Statistic();
46 | $rows = $modelStatistic->getForDashboard($from, $to);
47 |
48 | // Remove 0 index
49 | $statistic = $rows[0];
50 |
51 | // Format revenue
52 | $statistic['total_revenue'] = number_format(
53 | $statistic['total_revenue'], 2, ".", ",");
54 |
55 | // Graphic data
56 | $graphic = $modelStatistic->getMountlyGraphicData($month);
57 |
58 | $mdlOrders = new \App\Models\Order();
59 | $orders = $mdlOrders->getLastTen();
60 |
61 | // Render view
62 | View::render("home", compact(
63 | ["test", "from", "to", "statistic", "graphic", "month", "orders"]
64 | ));
65 | }
66 |
67 | }
68 |
--------------------------------------------------------------------------------
/App/Models/Customer.php:
--------------------------------------------------------------------------------
1 |
15 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
16 | * @version Release: @package_version@
17 | * @link http://pear.php.net/package/PackageName
18 | * @since Class available since Release 1.0.0
19 | */
20 | class Customer extends Model {
21 |
22 | /**
23 | * The model construct
24 | *
25 | */
26 | public function __construct() {
27 |
28 | /**
29 | * The database table name.
30 | */
31 | parent::__construct("customers");
32 | }
33 |
34 | /**
35 | * Method getting all records from database.
36 | * [Implemented method from the Model class]
37 | *
38 | * @return array
39 | * @access public
40 | * @since Method available since Release 1.0.0
41 | */
42 | public function getAll(): iterable {
43 |
44 | return $this->DB()
45 | ->query('SELECT id, first_name FROM customers')
46 | ->fetchAll(\PDO::FETCH_ASSOC);
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/App/Models/Order.php:
--------------------------------------------------------------------------------
1 |
15 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
16 | * @version Release: @package_version@
17 | * @link http://pear.php.net/package/PackageName
18 | * @since Class available since Release 1.0.0
19 | */
20 | class Order extends Model {
21 |
22 | /**
23 | * The model construct
24 | *
25 | */
26 | public function __construct() {
27 |
28 | /**
29 | * The database table name.
30 | */
31 | parent::__construct("orders");
32 | }
33 |
34 | /**
35 | * Method getting all records from database.
36 | * [Implemented method from the Model class]
37 | *
38 | * @return array
39 | * @access public
40 | * @since Method available since Release 1.0.0
41 | */
42 | public function getAll(): iterable {
43 |
44 | return $this->DB()
45 | ->query('SELECT * FROM orders LIMIT 1')
46 | ->fetchAll(\PDO::FETCH_ASSOC);
47 | }
48 |
49 | /**
50 | * Method getting last 10 records from database.
51 | *
52 | * @return array
53 | * @access public
54 | * @since Method available since Release 1.0.0
55 | */
56 | public function getLastTen(): iterable {
57 |
58 | return $this->DB()
59 | ->query('SELECT o.*, c.first_name, c.last_name, '
60 | . 'cn.name as country_name, d.name as device_name '
61 | . 'FROM orders as o '
62 | . 'LEFT JOIN customers as c ON (o.customer_id = c.id) '
63 | . 'LEFT JOIN countries as cn ON (o.country_id = cn.id) '
64 | . 'LEFT JOIN devices as d ON (o.device_id = d.id) '
65 | . 'ORDER BY id DESC '
66 | . 'LIMIT 10')
67 | ->fetchAll(\PDO::FETCH_ASSOC);
68 | }
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/App/Models/OrderItem.php:
--------------------------------------------------------------------------------
1 |
13 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
14 | * @version Release: @package_version@
15 | * @link http://pear.php.net/package/PackageName
16 | * @since Class available since Release 1.0.0
17 | */
18 | use Core\Model;
19 |
20 | /**
21 | * Description of Home
22 | *
23 | * @author majksector
24 | */
25 | class OrderItem extends Model {
26 |
27 | /**
28 | * The model construct
29 | *
30 | */
31 | public function __construct() {
32 |
33 | /**
34 | * The database table name.
35 | */
36 | parent::__construct("order_item");
37 | }
38 |
39 | /**
40 | * Method getting all records from database.
41 | * [Implemented method from the Model class]
42 | *
43 | * @return array
44 | * @access public
45 | * @since Method available since Release 1.0.0
46 | */
47 | public function getAll(): iterable {
48 |
49 | return $this->DB()
50 | ->query('SELECT * FROM order_item LIMIT 1')
51 | ->fetchAll(\PDO::FETCH_ASSOC);
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/App/Models/Statistic.php:
--------------------------------------------------------------------------------
1 |
16 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
17 | * @version Release: @package_version@
18 | * @link http://pear.php.net/package/PackageName
19 | * @since Class available since Release 1.0.0
20 | */
21 | class Statistic extends Model {
22 |
23 | /**
24 | * The model construct
25 | *
26 | */
27 | public function __construct() {
28 | parent::__construct("");
29 | }
30 |
31 | /**
32 | * Database statistics.
33 | *
34 | * The method returns from the database statistics for the dashboard for a given period.
35 | *
36 | * - float total_revenue
37 | * - integer total_orders
38 | * - integer total_customers
39 | *
40 | * @return array [[total_revenue, total_orders, total_customers]]
41 | * @access public
42 | * @since Method available since Release 1.0.0
43 | */
44 | public function getForDashboard(string $from = NULL, string $to = NULL): iterable {
45 |
46 | if (Validator::dates(compact(["from", "to"])) === false) {
47 |
48 | $from = date("Y-m-01");
49 | $to = date("Y-m-t");
50 | }
51 |
52 | return $this->DB()
53 | ->query('SELECT '
54 | . ' SUM(quantity * price) as total_revenue, '
55 | . ' COUNT(DISTINCT order_id) as total_orders, '
56 | . ' COUNT(DISTINCT customer_id) as total_customers '
57 | . 'FROM orders AS o '
58 | . 'LEFT JOIN order_item ON (order_item.order_id = o.id)'
59 | . 'WHERE o.created_at >= ' . " '$from' AND o.created_at <= " . " '$to'")
60 | ->fetchAll(\PDO::FETCH_ASSOC);
61 | }
62 |
63 | /**
64 | * Monthly graphic
65 | *
66 | * Data for monthly graphic display for a given month and year.
67 | *
68 | * - integer orders
69 | * - integer customers
70 | * - integer day (1-31)
71 | *
72 | * @return array [[orders, customers, day]]
73 | * @access public
74 | * @since Method available since Release 1.0.0
75 | */
76 | public function getMountlyGraphicData(string $year_month = NULL): iterable {
77 |
78 | if (Validator::dates(compact("year_month"), "Y-m") === false) {
79 |
80 | $year_month = date("Y-m");
81 | }
82 |
83 | $rows = $this->DB()
84 | ->query('SELECT '
85 | . ' COUNT(DISTINCT order_id) as orders, '
86 | . ' COUNT(DISTINCT customer_id) as customers, '
87 | . ' DAY(o.created_at) as day '
88 | . 'FROM orders AS o '
89 | . 'LEFT JOIN order_item ON (order_item.order_id = o.id)'
90 | . 'WHERE o.created_at LIKE ' . " '$year_month%' "
91 | . "GROUP BY DAY(o.created_at)")
92 | ->fetchAll(\PDO::FETCH_ASSOC);
93 |
94 | // Format data for the chart
95 | $response = [];
96 | $response['orders'] = [];
97 | $response['customers'] = [];
98 |
99 | // Init vars
100 | for ($index = 0; $index < date("t", strtotime($year_month)); $index++) {
101 | $response['orders'][$index] = 0;
102 | $response['customers'][$index] = 0;
103 | $response['days'][$index] = $index + 1;
104 | }
105 |
106 | // Insert data from database
107 | foreach ($rows as $row) {
108 | $day = (int) $row['day'];
109 | $response['orders'][$day - 1] = $row['orders'];
110 | $response['customers'][$day - 1] = $row['customers'];
111 | }
112 |
113 | return $response;
114 | }
115 |
116 | /**
117 | * Method getting all records from database.
118 | * [Implemented method from the Model class]
119 | *
120 | * @return array
121 | * @access public
122 | * @since Method available since Release 1.0.0
123 | */
124 | public function getAll(): iterable {
125 |
126 | }
127 |
128 | }
129 |
--------------------------------------------------------------------------------
/App/Namespaces.php:
--------------------------------------------------------------------------------
1 | ['/src/'],
5 | 'App\\' => ['/App/'],
6 | 'Config\\' => ['/Config/'],
7 | 'Seeder\\' => ['/database/']
8 | ];
9 |
10 |
--------------------------------------------------------------------------------
/App/Routes.php:
--------------------------------------------------------------------------------
1 | [
5 | "/home" => "Home@index"
6 | ]
7 | ];
8 |
--------------------------------------------------------------------------------
/App/Views/Page/home.php:
--------------------------------------------------------------------------------
1 |
2 |
26 |
27 |
28 |
29 |
30 |
31 |
35 |
36 |
€
37 |
38 |
39 |
40 |
51 |
62 |
63 |
64 |
65 |
66 |
67 |
Montly chart
68 |
87 |
88 |
89 |
90 |
91 | Last 10 orders
92 |
93 |
94 |
95 |
96 | # |
97 | Customer |
98 | Country |
99 | Device |
100 | Date |
101 |
102 |
103 |
104 |
105 |
106 | |
107 | |
108 | |
109 | |
110 | |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/App/Views/Template.php:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 | MVC Example
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
30 |
31 |
32 |
33 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
--------------------------------------------------------------------------------
/App/Views/error.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | MVC Example
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
35 |
36 |
45 |
46 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/Config/Application.php:
--------------------------------------------------------------------------------
1 |
11 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
12 | * @version Release: @package_version@
13 | * @link http://pear.php.net/package/PackageName
14 | * @since Class available since Release 1.0.0
15 | */
16 | class Application {
17 |
18 | /**
19 | * Show or hide error messages on screen
20 | *
21 | * @var boolean
22 | */
23 | const SHOW_ERRORS = true;
24 |
25 | /**
26 | * The default route
27 | *
28 | * @var boolean
29 | */
30 | const DEFAULT_ROUTE = "/home";
31 | }
32 |
--------------------------------------------------------------------------------
/Config/Database.php:
--------------------------------------------------------------------------------
1 |
11 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
12 | * @version Release: @package_version@
13 | * @link http://pear.php.net/package/PackageName
14 | * @since Class available since Release 1.0.0
15 | */
16 | class Database {
17 |
18 | /**
19 | * Database host
20 | *
21 | * @var string
22 | */
23 | const DB_HOST = 'localhost';
24 |
25 | /**
26 | * Database name
27 | *
28 | * @var string
29 | */
30 | const DB_NAME = 'psr4';
31 |
32 | /**
33 | * Database username
34 | *
35 | * @var string
36 | */
37 | const DB_USER = 'root';
38 |
39 | /**
40 | * Database password
41 | *
42 | * @var string
43 | */
44 | const DB_PASSWORD = '';
45 | }
46 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # php-mvc-example
2 |
3 | This is simple example of creating MVC framework with php.
4 |
5 | ## Structure
6 |
7 | - App (All classes related to the application)
8 | - Controllers
9 | - Models
10 | - Views
11 | - Page
12 | - Config (Contains all of application's configuration files)
13 | - database (Contains database dumps and seeds)
14 | - logs (Contains application logs if the display of the error on the screen is turned off)
15 | - public (Contains the front controller and assets (images, JavaScript, CSS, etc)
16 | - src (All core classes)
17 |
18 | ## Database
19 |
20 | 
21 |
22 | ## JS libraries
23 |
24 | The following packages were used:
25 | * [jQuery](https://jquery.com) - JavaScript Library.
26 | * [Bootstrap](https://getbootstrap.com) - The most popular HTML, CSS, and JS library in the world.
27 | * [Feather](https://feathericons.com) - Simply beautiful open source icons.
28 | * [bootstrap-datepicker](http://bootstrap-datepicker.readthedocs.io/en/latest/) - A datepicker for Bootstrap.
29 | * [Chart.js](http://www.chartjs.org) - Simple, clean and engaging HTML5 based JavaScript charts.
30 |
31 | ## Getting Started
32 |
33 | In order to run the application, it is necessary to create a virtual host and setup database.
34 |
35 | Application tested on:
36 | * PHP 7.1.14
37 | * Nginx 1.13.8
38 |
39 | ### Prerequisites
40 |
41 | To start this project, you need to have the following components installed:
42 |
43 | * [PHP](http://php.net) - PHP is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
44 | * [MySQL](https://www.mysql.com) - MySQL is an open source relational database management system (RDBMS) based on Structured Query Language (SQL).
45 | * [Apache](https://httpd.apache.org) or [Nginx](https://www.nginx.com) - An HTTP server.
46 |
47 | ### Installing
48 |
49 | Transfer files to the folder that watches the web server and import database.
50 | The configuration parameters for the database are in /Config/Database.php.
51 |
52 | ## Database Seeding
53 |
54 | This example includes a simple method of seeding database with test data using seed classes.
55 |
56 | Seeders can be defined in a /database directory. Seeder needs to implement the core seeder interface.
57 |
58 | You can run the seeder by calling the php seeder command with name of the seeder class as first parameter.
59 | ```
60 | php seeder Order
61 | ```
62 |
63 | ## Configuration
64 |
65 | All configuration classes are located in the /Config directory.
66 | Currently, there are two configuration classes:
67 |
68 | * Configuration parameters for connection to the database.
69 | * Parameters related to the application (SHOW_ERRORS and DEFAULT_ROUTE).
70 |
71 | To get the settings in any part of the application:
72 |
73 | * use Config\Database; then for example you can get host with Database::DB_HOST.
74 |
75 | ## Namespaces and Routes
76 |
77 | Namespaces and Routes are located in /App directory. These files return a array of data.
78 | These files are automatically loaded by the framework.
79 |
80 | ### Routes
81 |
82 | One method can have multiple routes. The routes consist of request method and array with URI and controller@action.
83 |
84 | ```
85 | return [
86 | "GET" => [
87 | "/home" => "Home@index"
88 | ]
89 | ];
90 | ```
91 |
92 |
93 | ## Models
94 |
95 | The model represents an abstract class that contains two attributes:
96 |
97 | * private $db; - Represents an instance of a PDO object.
98 | * protected $_table; - The name of the table in database that the model binds.
99 |
100 |
101 | ### Insert method
102 |
103 | The _table attribute is very important for the insert() method. Without this information, the insert method will not work.
104 |
105 | This method makes it easy to insert data into the database in a quick and easy way. The data set must be associative.
106 | Index of array represents the field in the database.
107 |
108 | For example: [ "fist_name" => "John" ]
109 |
110 | ## Versioning
111 | ### Version 1.0.1:
112 | Database:
113 | * E-mail address field changed to 254 characters.
114 | * Added unique index on e-mail address and order_id + ean.
115 |
116 | Code:
117 | * Model::$db changed to static. To prevent opening a new database connection for every model.
118 | * Model $_table moved to constructor.
119 | * Using array_keys() and array_values() instead of foreach in Model insert() method.
120 | * Added new Validator class with date validation method.
121 | * Added date validation in Statistic model.
122 | * Added default option in Request::getParam.
123 | * Added type hints.
124 |
125 | ### Version 1.0.0 - The first commit of application
126 |
127 | ## Screenshots
128 | 
129 | 
130 | 
131 | 
132 |
133 | ## Authors
134 | * **Andrej** - *Initial work* - [andrejrs](github.com/andrejrs)
135 |
--------------------------------------------------------------------------------
/database/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/database/.DS_Store
--------------------------------------------------------------------------------
/database/OrderSeeder.php:
--------------------------------------------------------------------------------
1 |
17 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
18 | * @version Release: @package_version@
19 | * @link http://pear.php.net/package/PackageName
20 | * @since Class available since Release 1.0.0
21 | */
22 | class OrderSeeder implements Seeder {
23 |
24 | /**
25 | * The current route path
26 | *
27 | * @var object
28 | */
29 | private $customers;
30 |
31 | /**
32 | * The run method.
33 | * [Method from seeder interface]
34 | *
35 | * In this method, there should be a procedure for creating data
36 | * and inserting them in the database.
37 | *
38 | * @return void
39 | * @access public
40 | * @since Method available since Release 1.0.0
41 | */
42 | public function run(): void {
43 |
44 | $this->getCustomersArray();
45 |
46 | $this->insertOrders(31, "2018-02-01");
47 |
48 | $this->insertOrders(4, "2018-02-03");
49 |
50 | $this->insertOrders(3, "2018-02-08");
51 |
52 | $this->insertOrders(6, "2018-02-10");
53 |
54 | $this->insertOrders(4, "2018-02-05");
55 |
56 | $this->insertOrders(6, "2018-02-16");
57 |
58 | echo "Done \n";
59 | }
60 |
61 | /**
62 | * Method for inserting orders.
63 | *
64 | * @param integer $num The number of records to be added.
65 | * @param string $date A string representation of date.
66 | *
67 | * @return void
68 | * @access public
69 | * @since Method available since Release 1.0.0
70 | */
71 | private function insertOrders(int $num, string $date): void {
72 |
73 |
74 | for ($index = 0; $index < $num; $index++) {
75 |
76 | $order = new Order();
77 | $order_id = $order->insert([
78 | "customer_id" => $this->getRandomCustomer(),
79 | "country_id" => rand(1, 6),
80 | "device_id" => 1,
81 | "created_at" => date('Y-m-d H:i:s', strtotime($date . ' +' . $index . ' day'))
82 | ]);
83 |
84 | $this->insertItems($order_id, rand(1, 10));
85 | }
86 | }
87 |
88 | /**
89 | * Method for inserting items.
90 | *
91 | * @param integer $order_id A id of the order
92 | * @param integer $num The number of records to be added.
93 | *
94 | * @return void
95 | * @access public
96 | * @since Method available since Release 1.0.0
97 | */
98 | private function insertItems(int $order_id, int $num): void {
99 |
100 | for ($index = 0; $index < $num; $index++) {
101 |
102 | $orderItem = new OrderItem();
103 | $orderItem->insert([
104 | "order_id" => $order_id,
105 | "ean" => rand(111111, 9999999),
106 | "quantity" => rand(1, 3),
107 | "price" => rand(1, 5)
108 | ]);
109 | }
110 | }
111 |
112 | /**
113 | * Method for getting random customer from array.
114 | *
115 | * @return void
116 | * @access public
117 | * @since Method available since Release 1.0.0
118 | */
119 | private function getRandomCustomer(): int {
120 | $rand_key = array_rand($this->customers, 1);
121 | return $this->customers[$rand_key];
122 | }
123 |
124 | /**
125 | * Method for getting customers from the database.
126 | *
127 | * @return void
128 | * @access public
129 | * @since Method available since Release 1.0.0
130 | */
131 | private function getCustomersArray(): void {
132 |
133 | $mdlCustomer = new \App\Models\Customer();
134 | $rows = $mdlCustomer->getAll();
135 |
136 | $this->customers = array_column($rows, 'id');
137 | }
138 |
139 | }
140 |
--------------------------------------------------------------------------------
/database/dumps/dump_2018-02-24.sql:
--------------------------------------------------------------------------------
1 | # ************************************************************
2 | # Sequel Pro SQL dump
3 | # Version 4541
4 | #
5 | # http://www.sequelpro.com/
6 | # https://github.com/sequelpro/sequelpro
7 | #
8 | # Host: 127.0.0.1 (MySQL 5.5.5-10.2.9-MariaDB)
9 | # Database: psr4
10 | # Generation Time: 2018-02-24 09:43:52 +0000
11 | # ************************************************************
12 |
13 |
14 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
15 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
16 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
17 | /*!40101 SET NAMES utf8 */;
18 | /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
19 | /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
20 | /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
21 |
22 |
23 | # Dump of table countries
24 | # ------------------------------------------------------------
25 |
26 | DROP TABLE IF EXISTS `countries`;
27 |
28 | CREATE TABLE `countries` (
29 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
30 | `name` varchar(20) NOT NULL,
31 | PRIMARY KEY (`id`)
32 | ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
33 |
34 | LOCK TABLES `countries` WRITE;
35 | /*!40000 ALTER TABLE `countries` DISABLE KEYS */;
36 |
37 | INSERT INTO `countries` (`id`, `name`)
38 | VALUES
39 | (1,'Switzerland'),
40 | (2,'Deutschland'),
41 | (3,'Serbia'),
42 | (4,'Italy'),
43 | (5,'Danmark'),
44 | (6,'Nederland');
45 |
46 | /*!40000 ALTER TABLE `countries` ENABLE KEYS */;
47 | UNLOCK TABLES;
48 |
49 |
50 | # Dump of table customers
51 | # ------------------------------------------------------------
52 |
53 | DROP TABLE IF EXISTS `customers`;
54 |
55 | CREATE TABLE `customers` (
56 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
57 | `first_name` varchar(50) NOT NULL,
58 | `last_name` varchar(50) NOT NULL,
59 | `email` varchar(50) NOT NULL,
60 | PRIMARY KEY (`id`)
61 | ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;
62 |
63 | LOCK TABLES `customers` WRITE;
64 | /*!40000 ALTER TABLE `customers` DISABLE KEYS */;
65 |
66 | INSERT INTO `customers` (`id`, `first_name`, `last_name`, `email`)
67 | VALUES
68 | (1,'Smith','Myint','smith.myint@domain.com'),
69 | (2,'Johnson','Qadir','johnson.qadir@domain.com'),
70 | (3,'Clarke','Myerson','clarke.myerson@domain.com'),
71 | (4,'Bakker','Haab','bakker.haab@domain.com'),
72 | (9,'Lucas','Peters','lucas@domain.com'),
73 | (10,'Mathias','Hendriks','mathias@domain.com'),
74 | (11,'Clara','Dekker','clara@domain.com'),
75 | (12,'Nathan','Brouwer','nathan@domain.com'),
76 | (13,'Oceana','Dijkstra','oceana@domain.com'),
77 | (14,'Hugo','Smits','hudo@domain.com'),
78 | (15,'Marie','De Graaf','marie@domain.com'),
79 | (16,'Leon','Vos','leon@domain.com');
80 |
81 | /*!40000 ALTER TABLE `customers` ENABLE KEYS */;
82 | UNLOCK TABLES;
83 |
84 |
85 | # Dump of table devices
86 | # ------------------------------------------------------------
87 |
88 | DROP TABLE IF EXISTS `devices`;
89 |
90 | CREATE TABLE `devices` (
91 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
92 | `name` varchar(20) NOT NULL,
93 | PRIMARY KEY (`id`)
94 | ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
95 |
96 | LOCK TABLES `devices` WRITE;
97 | /*!40000 ALTER TABLE `devices` DISABLE KEYS */;
98 |
99 | INSERT INTO `devices` (`id`, `name`)
100 | VALUES
101 | (1,'Android'),
102 | (2,'iOS');
103 |
104 | /*!40000 ALTER TABLE `devices` ENABLE KEYS */;
105 | UNLOCK TABLES;
106 |
107 |
108 | # Dump of table order_item
109 | # ------------------------------------------------------------
110 |
111 | DROP TABLE IF EXISTS `order_item`;
112 |
113 | CREATE TABLE `order_item` (
114 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
115 | `order_id` int(10) unsigned NOT NULL,
116 | `ean` varchar(20) NOT NULL,
117 | `quantity` int(1) NOT NULL,
118 | `price` decimal(7,2) NOT NULL,
119 | PRIMARY KEY (`id`),
120 | KEY `order_id` (`order_id`),
121 | CONSTRAINT `order_item_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`)
122 | ) ENGINE=InnoDB AUTO_INCREMENT=2649 DEFAULT CHARSET=utf8;
123 |
124 | LOCK TABLES `order_item` WRITE;
125 | /*!40000 ALTER TABLE `order_item` DISABLE KEYS */;
126 |
127 | INSERT INTO `order_item` (`id`, `order_id`, `ean`, `quantity`, `price`)
128 | VALUES
129 | (1,1,'1852135',8,2.00),
130 | (2,2,'2207935',10,4.00),
131 | (3,2,'6592747',1,2.00),
132 | (4,3,'4845834',6,4.00),
133 | (5,3,'8805338',2,1.00),
134 | (6,3,'6616169',1,3.00),
135 | (7,3,'3271260',4,2.00),
136 | (8,3,'1531324',2,1.00),
137 | (9,3,'8539091',9,5.00),
138 | (10,3,'2380847',10,4.00),
139 | (11,3,'2466851',5,3.00),
140 | (12,3,'3510106',9,2.00),
141 | (13,4,'8826907',2,3.00),
142 | (14,4,'3693086',4,2.00),
143 | (15,4,'4613933',4,3.00),
144 | (16,4,'1822003',1,2.00),
145 | (17,4,'7253185',8,3.00),
146 | (18,4,'4186369',6,4.00),
147 | (19,5,'7586952',9,1.00),
148 | (20,5,'7005921',8,2.00),
149 | (21,6,'379950',10,5.00),
150 | (22,6,'9249730',7,4.00),
151 | (23,6,'5346160',6,4.00),
152 | (24,6,'423674',5,3.00),
153 | (25,7,'9302709',8,4.00),
154 | (26,7,'3542804',4,2.00),
155 | (27,7,'7205372',5,4.00),
156 | (28,7,'515066',5,5.00),
157 | (29,7,'6860604',6,5.00),
158 | (30,7,'2912755',1,2.00),
159 | (31,8,'8921906',7,5.00),
160 | (32,8,'7026034',10,4.00),
161 | (33,8,'3014693',6,3.00),
162 | (34,8,'7278791',2,4.00),
163 | (35,8,'1655953',5,1.00),
164 | (36,8,'6726047',2,2.00),
165 | (37,8,'4765700',7,1.00),
166 | (38,9,'5626081',5,2.00),
167 | (39,9,'3822461',9,2.00),
168 | (40,9,'4036503',2,4.00),
169 | (41,9,'4369008',3,5.00),
170 | (42,9,'7737174',2,5.00),
171 | (43,9,'298945',2,5.00),
172 | (44,10,'1649936',1,1.00),
173 | (45,11,'5419196',8,2.00),
174 | (46,11,'2272586',3,4.00),
175 | (47,11,'4975350',8,1.00),
176 | (48,11,'1748379',2,3.00),
177 | (49,11,'4008984',6,3.00),
178 | (50,11,'1547591',10,5.00),
179 | (51,11,'4385673',2,1.00),
180 | (52,11,'6240813',3,1.00),
181 | (53,12,'4919978',2,5.00),
182 | (54,12,'1958077',9,5.00),
183 | (55,12,'6052561',8,1.00),
184 | (56,13,'1977398',2,1.00),
185 | (57,13,'4302443',7,5.00),
186 | (58,14,'2774860',5,2.00),
187 | (59,15,'3648586',10,5.00),
188 | (60,15,'267199',7,5.00),
189 | (61,15,'6932619',6,1.00),
190 | (62,15,'7390096',5,5.00),
191 | (63,16,'7605903',8,3.00),
192 | (64,16,'4125375',4,2.00),
193 | (65,16,'3578150',2,1.00),
194 | (66,17,'9996550',2,4.00),
195 | (67,17,'5239479',5,2.00),
196 | (68,17,'5903493',10,2.00),
197 | (69,17,'8174875',4,3.00),
198 | (70,17,'8291503',10,4.00),
199 | (71,17,'7649976',7,3.00),
200 | (72,18,'4205109',9,3.00),
201 | (73,18,'6530176',10,1.00),
202 | (74,18,'3751735',3,3.00),
203 | (75,18,'9766687',7,4.00),
204 | (76,18,'8595274',4,1.00),
205 | (77,18,'802722',7,4.00),
206 | (78,18,'6351262',4,3.00),
207 | (79,19,'7725559',9,3.00),
208 | (80,19,'5486302',9,4.00),
209 | (81,19,'4296689',7,1.00),
210 | (82,19,'7263759',2,1.00),
211 | (83,19,'2369867',9,3.00),
212 | (84,19,'8421850',7,4.00),
213 | (85,19,'4060681',4,4.00),
214 | (86,19,'8440414',10,2.00),
215 | (87,19,'9531097',1,5.00),
216 | (88,20,'7752263',7,3.00),
217 | (89,20,'673918',5,4.00),
218 | (90,20,'7236903',4,4.00),
219 | (91,20,'769310',9,4.00),
220 | (92,21,'3197715',7,4.00),
221 | (93,21,'5399247',2,1.00),
222 | (94,21,'227848',10,2.00),
223 | (95,21,'5474295',9,1.00),
224 | (96,21,'6883571',7,3.00),
225 | (97,21,'6078782',7,1.00),
226 | (98,21,'133688',10,2.00),
227 | (99,21,'5980495',2,3.00),
228 | (100,21,'1349107',4,2.00),
229 | (101,21,'3736726',3,3.00),
230 | (102,22,'8263135',7,1.00),
231 | (103,23,'616235',10,2.00),
232 | (104,23,'9966493',5,2.00),
233 | (105,23,'2425603',1,4.00),
234 | (106,24,'7354738',2,2.00),
235 | (107,24,'6099352',2,3.00),
236 | (108,24,'8511659',8,5.00),
237 | (109,24,'8013848',1,2.00),
238 | (110,25,'2110395',7,4.00),
239 | (111,26,'3107459',3,5.00),
240 | (112,26,'5780805',7,2.00),
241 | (113,26,'3052648',9,5.00),
242 | (114,26,'542195',5,1.00),
243 | (115,26,'9640185',9,1.00),
244 | (116,26,'2212860',7,4.00),
245 | (117,26,'2731476',3,5.00),
246 | (118,26,'1818375',7,1.00),
247 | (119,26,'7092007',2,2.00),
248 | (120,27,'4524838',4,1.00),
249 | (121,27,'5635586',8,1.00),
250 | (122,27,'5709699',4,3.00),
251 | (123,27,'8432997',10,4.00),
252 | (124,27,'7042167',9,2.00),
253 | (125,27,'8063520',4,3.00),
254 | (126,27,'3476493',4,3.00),
255 | (127,27,'7546251',3,1.00),
256 | (128,27,'3565241',3,5.00),
257 | (129,28,'1705393',3,3.00),
258 | (130,28,'8818248',10,3.00),
259 | (131,28,'2060983',5,4.00),
260 | (132,28,'1504883',2,2.00),
261 | (133,28,'5412613',10,2.00),
262 | (134,28,'7888813',8,2.00),
263 | (135,28,'4853184',1,3.00),
264 | (136,28,'8488390',4,3.00),
265 | (137,29,'5206734',4,4.00),
266 | (138,29,'4843936',4,4.00),
267 | (139,29,'9676436',9,2.00),
268 | (140,29,'4292129',10,5.00),
269 | (141,30,'259856',1,4.00),
270 | (142,30,'6118068',10,4.00),
271 | (143,30,'3180521',2,4.00),
272 | (144,31,'9706255',3,3.00),
273 | (145,31,'3361861',7,3.00),
274 | (146,31,'8038932',2,5.00),
275 | (147,31,'3564250',6,3.00),
276 | (148,31,'5275348',3,4.00),
277 | (149,31,'2755700',4,3.00),
278 | (150,31,'1207502',8,1.00),
279 | (151,31,'7715520',6,4.00),
280 | (152,32,'9817759',3,1.00),
281 | (153,32,'3644584',1,2.00),
282 | (154,32,'1671078',7,3.00),
283 | (155,33,'2281904',5,5.00),
284 | (156,33,'2801652',1,5.00),
285 | (157,33,'5837387',4,5.00),
286 | (158,33,'5093293',2,3.00),
287 | (159,33,'8260579',6,2.00),
288 | (160,33,'5504135',6,5.00),
289 | (161,33,'3818310',4,5.00),
290 | (162,33,'5985282',1,5.00),
291 | (163,33,'7896377',9,2.00),
292 | (164,33,'3209310',9,4.00),
293 | (165,34,'7922359',5,4.00),
294 | (166,34,'5781492',1,4.00),
295 | (167,34,'4135410',9,4.00),
296 | (168,34,'282779',4,1.00),
297 | (169,34,'889168',3,5.00),
298 | (170,34,'2419663',5,2.00),
299 | (171,35,'1216806',6,5.00),
300 | (172,35,'6659026',6,1.00),
301 | (173,36,'6116853',2,3.00),
302 | (174,36,'5617396',6,2.00),
303 | (175,36,'1454521',5,5.00),
304 | (176,36,'6977346',3,3.00),
305 | (177,37,'1049913',5,4.00),
306 | (178,37,'661657',4,5.00),
307 | (179,37,'6664698',10,2.00),
308 | (180,37,'551343',4,3.00),
309 | (181,38,'9774978',4,2.00),
310 | (182,38,'441726',1,3.00),
311 | (183,38,'5772651',8,5.00),
312 | (184,38,'9916530',5,5.00),
313 | (185,38,'7363164',4,5.00),
314 | (186,39,'4990060',8,2.00),
315 | (187,39,'1437449',10,4.00),
316 | (188,39,'6049616',4,5.00),
317 | (189,39,'7742635',9,3.00),
318 | (190,39,'1426919',7,2.00),
319 | (191,39,'6825479',7,1.00),
320 | (192,39,'6081340',6,1.00),
321 | (193,40,'7006154',6,5.00),
322 | (194,40,'3757178',4,4.00),
323 | (195,40,'1935364',4,3.00),
324 | (196,40,'2592817',4,1.00),
325 | (197,40,'7276282',3,2.00),
326 | (198,41,'4827969',6,5.00),
327 | (199,41,'1486945',9,5.00),
328 | (200,41,'6608625',8,4.00),
329 | (201,41,'5565853',10,3.00),
330 | (202,41,'4520230',3,2.00),
331 | (203,41,'9225634',9,4.00),
332 | (204,42,'2438666',4,3.00),
333 | (205,42,'636067',6,3.00),
334 | (206,42,'2485462',3,5.00),
335 | (207,42,'5943348',5,4.00),
336 | (208,42,'373453',9,2.00),
337 | (209,42,'9983368',4,3.00),
338 | (210,42,'9482934',8,1.00),
339 | (211,42,'1622630',5,2.00),
340 | (212,42,'9192278',6,2.00),
341 | (213,42,'9130411',6,2.00),
342 | (214,43,'5955121',7,2.00),
343 | (215,44,'6219039',6,2.00),
344 | (216,44,'1410025',5,3.00),
345 | (217,44,'6527414',8,3.00),
346 | (218,44,'8548950',3,4.00),
347 | (219,44,'289891',1,3.00),
348 | (220,44,'7503306',6,4.00),
349 | (221,44,'9876378',9,3.00),
350 | (222,44,'5567820',6,3.00),
351 | (223,44,'5654861',4,1.00),
352 | (224,45,'5405003',4,3.00),
353 | (225,45,'2831231',1,3.00),
354 | (226,45,'6942925',4,1.00),
355 | (227,45,'2817077',10,2.00),
356 | (228,45,'7180324',10,1.00),
357 | (229,45,'6037771',5,3.00),
358 | (230,45,'4330025',8,2.00),
359 | (231,45,'5599638',2,2.00),
360 | (232,45,'1554611',5,5.00),
361 | (233,45,'6400368',9,4.00),
362 | (234,46,'5813241',4,4.00),
363 | (235,46,'9495897',9,4.00),
364 | (236,46,'1023328',4,1.00),
365 | (237,46,'7004528',9,3.00),
366 | (238,46,'426855',9,3.00),
367 | (239,47,'8718941',7,5.00),
368 | (240,47,'2683639',8,1.00),
369 | (241,47,'9292046',5,3.00),
370 | (242,47,'1107547',2,5.00),
371 | (243,47,'8248782',2,3.00),
372 | (244,47,'8955552',5,3.00),
373 | (245,47,'7393659',6,5.00),
374 | (246,47,'7176449',9,4.00),
375 | (247,47,'8819569',9,4.00),
376 | (248,47,'408808',7,5.00),
377 | (249,48,'1104211',9,2.00),
378 | (250,48,'1325083',3,2.00),
379 | (251,48,'5168265',2,1.00),
380 | (252,48,'1964701',9,2.00),
381 | (253,48,'249793',10,3.00),
382 | (254,49,'5100083',1,3.00),
383 | (255,49,'8433020',1,1.00),
384 | (256,49,'912302',2,1.00),
385 | (257,49,'9162478',4,5.00),
386 | (258,49,'1829239',1,3.00),
387 | (259,49,'6289816',7,3.00),
388 | (260,49,'5085547',7,2.00),
389 | (261,50,'7303594',10,5.00),
390 | (262,50,'2428598',8,5.00),
391 | (263,50,'4955966',5,4.00),
392 | (264,50,'1436710',2,2.00),
393 | (265,50,'6373371',10,3.00),
394 | (266,51,'5034462',3,5.00),
395 | (267,51,'7579154',4,5.00),
396 | (268,51,'3409266',5,5.00),
397 | (269,51,'9005481',6,3.00),
398 | (270,51,'6764014',5,3.00),
399 | (271,52,'4993632',1,4.00),
400 | (272,52,'7195771',2,1.00),
401 | (273,52,'6960759',4,5.00),
402 | (274,52,'5595874',4,3.00),
403 | (275,53,'2963489',8,1.00),
404 | (276,53,'1366711',10,3.00),
405 | (277,53,'3334928',9,5.00),
406 | (278,53,'733742',10,4.00),
407 | (279,54,'2247342',2,3.00),
408 | (280,54,'7573377',1,4.00),
409 | (281,54,'7479357',3,4.00),
410 | (282,54,'7186184',5,1.00),
411 | (283,54,'8444988',2,3.00),
412 | (284,55,'4409019',5,3.00),
413 | (285,55,'4451813',5,5.00),
414 | (286,55,'2656803',7,4.00),
415 | (287,56,'7240595',7,2.00),
416 | (288,56,'3394583',1,1.00),
417 | (289,56,'7780248',7,5.00),
418 | (290,56,'3173040',10,1.00),
419 | (291,56,'3069739',10,5.00),
420 | (292,56,'5106093',8,1.00),
421 | (293,56,'2558365',9,1.00),
422 | (294,56,'4542137',8,3.00),
423 | (295,57,'2511905',3,2.00),
424 | (296,57,'8027876',1,5.00),
425 | (297,57,'3692251',9,3.00),
426 | (298,57,'1785144',2,2.00),
427 | (299,57,'4404176',8,1.00),
428 | (300,57,'3735152',4,2.00),
429 | (301,57,'2707103',5,1.00),
430 | (302,57,'7209078',1,4.00),
431 | (303,58,'2192519',5,2.00),
432 | (304,58,'533894',5,1.00),
433 | (305,59,'5943853',8,1.00),
434 | (306,59,'305400',9,5.00),
435 | (307,59,'922525',10,3.00),
436 | (308,59,'2151511',10,4.00),
437 | (309,59,'4492657',8,1.00),
438 | (310,59,'198925',8,4.00),
439 | (311,59,'2548276',6,3.00),
440 | (312,59,'6703493',2,4.00),
441 | (313,59,'2987361',6,2.00),
442 | (314,60,'3262975',5,1.00),
443 | (315,60,'3099811',9,5.00),
444 | (316,60,'5995860',9,4.00),
445 | (317,60,'6208355',10,2.00),
446 | (318,61,'2605848',2,5.00),
447 | (319,61,'595212',2,4.00),
448 | (320,61,'1937835',10,2.00),
449 | (321,61,'490817',7,2.00),
450 | (322,61,'838003',7,5.00),
451 | (323,61,'9818126',6,3.00),
452 | (324,61,'8153916',6,4.00),
453 | (325,61,'6911242',5,2.00),
454 | (326,61,'5775655',8,3.00),
455 | (327,61,'4936946',1,5.00),
456 | (328,62,'4710113',10,4.00),
457 | (329,62,'5387185',8,1.00),
458 | (330,62,'2128359',3,1.00),
459 | (331,63,'5655766',2,5.00),
460 | (332,63,'7440905',1,2.00),
461 | (333,63,'1893432',2,5.00),
462 | (334,63,'553951',6,5.00),
463 | (335,63,'3211350',2,3.00),
464 | (336,63,'8544163',5,3.00),
465 | (337,63,'2190806',3,3.00),
466 | (338,63,'1545729',8,1.00),
467 | (339,63,'2080520',2,4.00),
468 | (340,64,'5668841',10,5.00),
469 | (341,64,'9258249',8,3.00),
470 | (342,64,'5204232',1,2.00),
471 | (343,64,'4482035',7,4.00),
472 | (344,64,'7311406',3,1.00),
473 | (345,64,'1874250',4,2.00),
474 | (346,64,'6609758',7,4.00),
475 | (347,64,'1302477',2,4.00),
476 | (348,65,'9972228',5,1.00),
477 | (349,65,'9494639',1,2.00),
478 | (350,66,'3262504',6,1.00),
479 | (351,66,'895211',3,2.00),
480 | (352,66,'4274269',3,2.00),
481 | (353,66,'8707427',1,4.00),
482 | (354,67,'7156494',8,5.00),
483 | (355,67,'6618679',9,5.00),
484 | (356,67,'6586668',5,2.00),
485 | (357,67,'2684577',8,2.00),
486 | (358,67,'2893406',8,5.00),
487 | (359,68,'1405809',6,4.00),
488 | (360,68,'2553635',10,5.00),
489 | (361,68,'2951006',1,3.00),
490 | (362,68,'8489586',4,3.00),
491 | (363,68,'8617422',9,1.00),
492 | (364,68,'1072760',9,3.00),
493 | (365,68,'1152441',7,3.00),
494 | (366,68,'9265524',9,2.00),
495 | (367,69,'6058067',10,1.00),
496 | (368,69,'5941172',9,2.00),
497 | (369,69,'132947',3,3.00),
498 | (370,69,'268936',6,1.00),
499 | (371,69,'6575122',2,2.00),
500 | (372,69,'2521595',10,3.00),
501 | (373,70,'3666179',6,3.00),
502 | (374,70,'3472867',3,1.00),
503 | (375,71,'6924116',8,5.00),
504 | (376,71,'8964001',7,2.00),
505 | (377,71,'7873194',1,5.00),
506 | (378,71,'4103174',1,4.00),
507 | (379,71,'1359555',5,2.00),
508 | (380,71,'9246363',2,5.00),
509 | (381,71,'7125282',4,2.00),
510 | (382,71,'7219222',10,2.00),
511 | (383,71,'5159946',1,4.00),
512 | (384,72,'767220',2,5.00),
513 | (385,73,'6899198',5,4.00),
514 | (386,74,'3846287',9,5.00),
515 | (387,74,'8251242',7,2.00),
516 | (388,74,'9981938',5,3.00),
517 | (389,74,'783546',4,3.00),
518 | (390,74,'8926437',7,5.00),
519 | (391,74,'121521',3,4.00),
520 | (392,74,'9260639',2,5.00),
521 | (393,74,'7133506',5,2.00),
522 | (394,74,'8425583',1,1.00),
523 | (395,75,'3092130',4,5.00),
524 | (396,75,'6201041',9,3.00),
525 | (397,75,'1954966',3,4.00),
526 | (398,75,'1243052',6,5.00),
527 | (399,75,'7520434',5,4.00),
528 | (400,75,'6614915',9,3.00),
529 | (401,76,'8524164',10,5.00),
530 | (402,76,'3974040',7,4.00),
531 | (403,76,'5118504',9,4.00),
532 | (404,76,'4146461',7,3.00),
533 | (405,77,'8821034',8,3.00),
534 | (406,78,'3278246',1,4.00),
535 | (407,78,'4763793',1,4.00),
536 | (408,78,'2013689',2,2.00),
537 | (409,79,'5305650',1,4.00),
538 | (410,79,'2410990',4,2.00),
539 | (411,79,'3396442',5,4.00),
540 | (412,79,'9337062',4,2.00),
541 | (413,79,'2895417',1,5.00),
542 | (414,79,'2880431',3,2.00),
543 | (415,79,'295520',9,3.00),
544 | (416,79,'2963927',7,3.00),
545 | (417,80,'3805230',5,3.00),
546 | (418,80,'3691202',10,3.00),
547 | (419,80,'8349496',6,4.00),
548 | (420,80,'3423187',4,5.00),
549 | (421,80,'9726477',7,1.00),
550 | (422,80,'8864836',2,3.00),
551 | (423,80,'7018527',8,5.00),
552 | (424,80,'6055656',5,4.00),
553 | (425,80,'4987516',7,3.00),
554 | (426,80,'637472',7,2.00),
555 | (427,81,'2819633',6,3.00),
556 | (428,81,'5504524',6,3.00),
557 | (429,81,'6423669',4,5.00),
558 | (430,81,'8261782',8,1.00),
559 | (431,81,'2207322',2,1.00),
560 | (432,81,'3523052',9,4.00),
561 | (433,81,'6859237',8,1.00),
562 | (434,81,'6840594',4,5.00),
563 | (435,81,'7102863',5,2.00),
564 | (436,81,'7622617',9,3.00),
565 | (437,82,'9764716',3,5.00),
566 | (438,82,'6746861',8,2.00),
567 | (439,82,'3730722',1,1.00),
568 | (440,82,'9715222',10,3.00),
569 | (441,82,'4414387',5,3.00),
570 | (442,83,'6396427',5,3.00),
571 | (443,83,'6222643',10,5.00),
572 | (444,83,'1080673',9,2.00),
573 | (445,83,'3990549',9,4.00),
574 | (446,83,'800178',5,2.00),
575 | (447,83,'1824785',2,2.00),
576 | (448,84,'5893883',2,2.00),
577 | (449,84,'2412259',7,5.00),
578 | (450,84,'4242418',3,1.00),
579 | (451,85,'3250259',2,5.00),
580 | (452,85,'542092',6,2.00),
581 | (453,85,'9110081',2,1.00),
582 | (454,85,'5960236',5,4.00),
583 | (455,85,'8136909',1,1.00),
584 | (456,85,'2333680',3,4.00),
585 | (457,85,'9748596',3,4.00),
586 | (458,85,'4456221',9,3.00),
587 | (459,85,'5657501',2,1.00),
588 | (460,86,'5618609',8,2.00),
589 | (461,86,'6868683',2,1.00),
590 | (462,86,'2906377',1,4.00),
591 | (463,86,'1881728',4,1.00),
592 | (464,86,'3003911',8,1.00),
593 | (465,86,'718339',4,3.00),
594 | (466,87,'4251922',4,1.00),
595 | (467,87,'2181391',10,2.00),
596 | (468,87,'2660940',6,2.00),
597 | (469,87,'5238104',6,5.00),
598 | (470,87,'8820724',6,4.00),
599 | (471,87,'1767025',5,3.00),
600 | (472,87,'9909521',10,2.00),
601 | (473,87,'1577501',7,5.00),
602 | (474,87,'4184784',5,2.00),
603 | (475,88,'6018082',5,2.00),
604 | (476,88,'5321482',10,4.00),
605 | (477,88,'1952383',6,5.00),
606 | (478,88,'6508432',1,4.00),
607 | (479,88,'313229',4,4.00),
608 | (480,88,'240658',6,2.00),
609 | (481,88,'961300',10,2.00),
610 | (482,88,'7321556',5,4.00),
611 | (483,89,'6184208',3,1.00),
612 | (484,90,'7609863',4,2.00),
613 | (485,90,'1251752',6,3.00),
614 | (486,90,'5227176',9,5.00),
615 | (487,90,'5056360',5,1.00),
616 | (488,90,'2217328',6,4.00),
617 | (489,90,'3387181',10,2.00),
618 | (490,90,'5573324',5,3.00),
619 | (491,90,'2572140',5,2.00),
620 | (492,90,'5580420',6,1.00),
621 | (493,91,'4328734',9,2.00),
622 | (494,91,'6184894',2,1.00),
623 | (495,91,'6821800',6,2.00),
624 | (496,91,'9876017',8,3.00),
625 | (497,92,'436333',9,1.00),
626 | (498,92,'5201045',9,3.00),
627 | (499,92,'3811873',10,1.00),
628 | (500,93,'5951428',3,5.00),
629 | (501,93,'8106381',8,3.00),
630 | (502,93,'6994278',2,3.00),
631 | (503,93,'8446663',9,5.00),
632 | (504,93,'551054',9,2.00),
633 | (505,94,'5642558',1,2.00),
634 | (506,94,'7499547',7,5.00),
635 | (507,94,'5447394',7,2.00),
636 | (508,94,'8773943',9,2.00),
637 | (509,95,'1308817',7,4.00),
638 | (510,95,'3591059',7,3.00),
639 | (511,95,'3546313',1,4.00),
640 | (512,95,'2965644',8,5.00),
641 | (513,96,'3342294',4,1.00),
642 | (514,96,'8529287',6,2.00),
643 | (515,96,'8507009',2,1.00),
644 | (516,96,'6640627',9,2.00),
645 | (517,96,'526167',9,5.00),
646 | (518,96,'5972868',4,1.00),
647 | (519,96,'7972412',10,3.00),
648 | (520,96,'1272976',7,1.00),
649 | (521,96,'8121008',6,3.00),
650 | (522,96,'8931224',5,3.00),
651 | (523,97,'5655011',3,4.00),
652 | (524,97,'8866461',1,2.00),
653 | (525,97,'7509098',10,1.00),
654 | (526,97,'7362014',7,5.00),
655 | (527,97,'9638242',5,3.00),
656 | (528,97,'875903',10,3.00),
657 | (529,97,'1800281',2,4.00),
658 | (530,97,'5694340',2,4.00),
659 | (531,97,'7132697',6,3.00),
660 | (532,97,'1136664',5,3.00),
661 | (533,98,'3621434',3,4.00),
662 | (534,98,'5848505',3,4.00),
663 | (535,98,'8100200',2,2.00),
664 | (536,98,'9130359',8,1.00),
665 | (537,98,'7698685',4,3.00),
666 | (538,98,'1549790',10,1.00),
667 | (539,99,'3492181',2,1.00),
668 | (540,99,'1442585',2,5.00),
669 | (541,99,'9390137',4,1.00),
670 | (542,99,'2622952',9,3.00),
671 | (543,100,'375290',9,5.00),
672 | (544,101,'5228867',7,3.00),
673 | (545,101,'6695965',7,5.00),
674 | (546,101,'6288093',1,1.00),
675 | (547,101,'3276128',3,4.00),
676 | (548,102,'2953524',2,1.00),
677 | (549,102,'6104598',8,2.00),
678 | (550,102,'1102942',3,5.00),
679 | (551,103,'370335',2,4.00),
680 | (552,104,'3868544',2,3.00),
681 | (553,104,'9211216',6,1.00),
682 | (554,105,'9460460',6,3.00),
683 | (555,105,'6077827',10,3.00),
684 | (556,105,'3131546',7,1.00),
685 | (557,105,'9975549',5,2.00),
686 | (558,106,'119709',9,3.00),
687 | (559,106,'1076658',5,2.00),
688 | (560,106,'9174411',8,5.00),
689 | (561,106,'3151584',8,5.00),
690 | (562,106,'4326097',1,1.00),
691 | (563,106,'8649171',9,5.00),
692 | (564,106,'9284927',6,4.00),
693 | (565,107,'1501248',4,5.00),
694 | (566,107,'8412330',7,4.00),
695 | (567,108,'2210193',3,5.00),
696 | (568,108,'7103792',9,4.00),
697 | (569,109,'4406704',7,1.00),
698 | (570,109,'6185065',1,1.00),
699 | (571,109,'2196080',8,3.00),
700 | (572,109,'8540640',2,3.00),
701 | (573,109,'4843154',4,1.00),
702 | (574,109,'9322818',3,4.00),
703 | (575,109,'3229960',7,2.00),
704 | (576,109,'3600570',5,3.00),
705 | (577,109,'5399213',4,5.00),
706 | (578,110,'1541357',5,5.00),
707 | (579,110,'541881',10,3.00),
708 | (580,110,'1998752',4,2.00),
709 | (581,110,'8118698',10,3.00),
710 | (582,110,'9692836',4,2.00),
711 | (583,110,'8852867',1,4.00),
712 | (584,110,'9891289',9,5.00),
713 | (585,110,'7601152',2,5.00),
714 | (586,111,'8037206',6,2.00),
715 | (587,111,'7902178',7,1.00),
716 | (588,111,'2852046',4,4.00),
717 | (589,111,'6013513',1,2.00),
718 | (590,111,'5386395',4,4.00),
719 | (591,112,'7671316',5,1.00),
720 | (592,113,'3644494',5,5.00),
721 | (593,113,'9668037',7,3.00),
722 | (594,113,'2738096',1,5.00),
723 | (595,113,'1805037',1,3.00),
724 | (596,113,'6355780',2,3.00),
725 | (597,113,'6078514',4,2.00),
726 | (598,113,'6463072',8,4.00),
727 | (599,113,'2352284',4,4.00),
728 | (600,114,'5470219',3,2.00),
729 | (601,114,'4663737',6,2.00),
730 | (602,114,'9730982',5,3.00),
731 | (603,115,'7013912',3,2.00),
732 | (604,115,'1898856',2,2.00),
733 | (605,115,'2363031',9,4.00),
734 | (606,115,'5802591',4,4.00),
735 | (607,115,'2811495',2,1.00),
736 | (608,115,'8928525',2,4.00),
737 | (609,115,'1662781',9,4.00),
738 | (610,115,'8994442',4,4.00),
739 | (611,116,'6695940',5,1.00),
740 | (612,116,'6556285',8,5.00),
741 | (613,116,'9138448',3,4.00),
742 | (614,116,'5650058',7,3.00),
743 | (615,116,'6607740',10,3.00),
744 | (616,116,'6831595',2,1.00),
745 | (617,116,'1270790',8,4.00),
746 | (618,116,'7697053',5,4.00),
747 | (619,116,'1005296',5,2.00),
748 | (620,117,'2649134',5,1.00),
749 | (621,117,'482662',4,4.00),
750 | (622,117,'8186024',4,2.00),
751 | (623,117,'7264619',7,1.00),
752 | (624,117,'2845809',9,1.00),
753 | (625,117,'9663775',2,5.00),
754 | (626,117,'2187990',3,2.00),
755 | (627,117,'1354820',9,5.00),
756 | (628,117,'1479078',10,2.00),
757 | (629,118,'383209',7,2.00),
758 | (630,118,'4454659',7,2.00),
759 | (631,118,'5919186',6,1.00),
760 | (632,118,'1359432',2,4.00),
761 | (633,118,'6737875',6,2.00),
762 | (634,118,'5832525',9,1.00),
763 | (635,119,'4275767',9,5.00),
764 | (636,119,'2986417',4,2.00),
765 | (637,119,'9465058',8,3.00),
766 | (638,119,'2395027',10,4.00),
767 | (639,119,'9806363',3,4.00),
768 | (640,120,'6194578',7,5.00),
769 | (641,120,'9953953',2,3.00),
770 | (642,120,'4778456',4,4.00),
771 | (643,121,'1001954',9,4.00),
772 | (644,121,'6255447',5,1.00),
773 | (645,122,'8868173',8,2.00),
774 | (646,122,'2281502',3,5.00),
775 | (647,122,'3913276',10,5.00),
776 | (648,122,'8745995',7,2.00),
777 | (649,122,'3197651',4,2.00),
778 | (650,122,'2650053',4,4.00),
779 | (651,122,'8373570',6,5.00),
780 | (652,122,'4362006',10,1.00),
781 | (653,123,'2535710',5,2.00),
782 | (654,123,'3059468',1,3.00),
783 | (655,123,'6685589',7,5.00),
784 | (656,123,'8894953',4,4.00),
785 | (657,123,'1574898',5,3.00),
786 | (658,123,'2893802',6,1.00),
787 | (659,124,'2542107',8,4.00),
788 | (660,124,'6319998',10,1.00),
789 | (661,124,'8825711',1,4.00),
790 | (662,124,'4919004',9,5.00),
791 | (663,124,'1726174',2,1.00),
792 | (664,125,'8233183',10,3.00),
793 | (665,125,'8686005',4,2.00),
794 | (666,125,'7287482',6,3.00),
795 | (667,126,'6331652',6,1.00),
796 | (668,126,'1722385',4,3.00),
797 | (669,126,'2492689',6,3.00),
798 | (670,126,'2209604',9,4.00),
799 | (671,126,'3068600',7,4.00),
800 | (672,126,'8803091',4,1.00),
801 | (673,126,'5986591',1,5.00),
802 | (674,126,'9057683',9,5.00),
803 | (675,127,'9494282',8,1.00),
804 | (676,127,'275759',5,3.00),
805 | (677,127,'3416605',1,3.00),
806 | (678,127,'9417413',3,4.00),
807 | (679,127,'5327471',9,1.00),
808 | (680,127,'2236759',1,1.00),
809 | (681,127,'4119934',1,5.00),
810 | (682,127,'1022332',9,4.00),
811 | (683,128,'4450261',10,1.00),
812 | (684,128,'4809894',1,2.00),
813 | (685,128,'3543480',10,2.00),
814 | (686,128,'4494197',5,3.00),
815 | (687,128,'6743775',3,3.00),
816 | (688,128,'3292320',3,5.00),
817 | (689,128,'8649632',3,5.00),
818 | (690,129,'5829352',10,3.00),
819 | (691,129,'4066544',4,3.00),
820 | (692,129,'6018960',4,1.00),
821 | (693,129,'5085390',10,5.00),
822 | (694,129,'5679734',10,1.00),
823 | (695,129,'5548078',9,1.00),
824 | (696,129,'9993552',4,3.00),
825 | (697,130,'7038266',2,3.00),
826 | (698,130,'1435620',7,5.00),
827 | (699,130,'1899803',5,1.00),
828 | (700,130,'7742556',4,5.00),
829 | (701,131,'1728724',3,3.00),
830 | (702,131,'7153278',10,3.00),
831 | (703,131,'4942374',7,1.00),
832 | (704,131,'5813291',3,4.00),
833 | (705,131,'1778836',9,1.00),
834 | (706,131,'8772347',8,2.00),
835 | (707,131,'7369993',10,4.00),
836 | (708,131,'4321833',8,1.00),
837 | (709,132,'6359406',2,2.00),
838 | (710,132,'4902639',9,1.00),
839 | (711,132,'919503',1,1.00),
840 | (712,132,'5659399',4,3.00),
841 | (713,132,'9923114',10,1.00),
842 | (714,132,'9820941',3,1.00),
843 | (715,133,'2257447',2,1.00),
844 | (716,133,'1795028',2,1.00),
845 | (717,133,'8296241',6,5.00),
846 | (718,133,'1172623',10,5.00),
847 | (719,133,'4214393',2,3.00),
848 | (720,134,'5310775',6,5.00),
849 | (721,134,'297493',4,2.00),
850 | (722,134,'5776053',4,1.00),
851 | (723,134,'846759',9,1.00),
852 | (724,135,'1645827',6,2.00),
853 | (725,135,'4010082',4,4.00),
854 | (726,135,'7322960',8,2.00),
855 | (727,135,'8684297',1,3.00),
856 | (728,135,'4089586',8,5.00),
857 | (729,136,'6703135',1,3.00),
858 | (730,137,'8135881',9,2.00),
859 | (731,137,'5115518',9,3.00),
860 | (732,137,'1808729',7,3.00),
861 | (733,137,'3072693',6,1.00),
862 | (734,137,'2524329',9,1.00),
863 | (735,137,'6368838',10,3.00),
864 | (736,137,'1420157',2,1.00),
865 | (737,137,'759503',7,3.00),
866 | (738,137,'7359883',5,4.00),
867 | (739,138,'343220',2,3.00),
868 | (740,138,'7906283',4,5.00),
869 | (741,138,'7506887',4,2.00),
870 | (742,138,'3220394',3,2.00),
871 | (743,138,'7199117',10,4.00),
872 | (744,138,'1026137',6,3.00),
873 | (745,138,'607478',2,5.00),
874 | (746,138,'6072257',5,1.00),
875 | (747,138,'2539405',7,5.00),
876 | (748,138,'3400764',2,5.00),
877 | (749,139,'4515462',6,1.00),
878 | (750,139,'840881',2,2.00),
879 | (751,139,'3145990',9,4.00),
880 | (752,139,'903081',10,1.00),
881 | (753,139,'2991578',10,3.00),
882 | (754,139,'6115796',7,2.00),
883 | (755,139,'4743714',9,5.00),
884 | (756,139,'2066294',10,5.00),
885 | (757,139,'2487651',10,2.00),
886 | (758,139,'9245368',9,3.00),
887 | (759,140,'5864948',9,5.00),
888 | (760,140,'8251783',4,4.00),
889 | (761,140,'5096514',5,5.00),
890 | (762,140,'5100856',8,4.00),
891 | (763,140,'1614774',7,1.00),
892 | (764,141,'642227',6,5.00),
893 | (765,141,'8662540',5,2.00),
894 | (766,141,'6248840',9,5.00),
895 | (767,141,'8373763',9,4.00),
896 | (768,141,'371177',4,1.00),
897 | (769,141,'6396912',3,2.00),
898 | (770,141,'6671620',9,3.00),
899 | (771,141,'8933648',9,4.00),
900 | (772,141,'1469065',2,1.00),
901 | (773,141,'6846049',4,1.00),
902 | (774,142,'6265689',9,3.00),
903 | (775,142,'3004468',4,2.00),
904 | (776,142,'4655994',9,2.00),
905 | (777,142,'9212454',10,5.00),
906 | (778,143,'8862674',9,4.00),
907 | (779,143,'1062364',2,3.00),
908 | (780,143,'6660590',10,2.00),
909 | (781,143,'1911799',6,2.00),
910 | (782,143,'4034795',1,5.00),
911 | (783,144,'8306941',2,4.00),
912 | (784,144,'648500',2,2.00),
913 | (785,144,'4122147',10,2.00),
914 | (786,144,'3593067',3,4.00),
915 | (787,144,'5616125',1,4.00),
916 | (788,144,'223766',3,5.00),
917 | (789,144,'7630871',10,4.00),
918 | (790,145,'7717823',10,2.00),
919 | (791,145,'1295811',4,4.00),
920 | (792,145,'6828531',8,5.00),
921 | (793,145,'8371758',6,2.00),
922 | (794,145,'4784698',5,5.00),
923 | (795,145,'6397198',10,2.00),
924 | (796,145,'606281',7,1.00),
925 | (797,145,'3220892',7,1.00),
926 | (798,145,'5774577',1,3.00),
927 | (799,146,'4513301',6,4.00),
928 | (800,147,'6478921',6,1.00),
929 | (801,147,'7365864',8,3.00),
930 | (802,147,'739283',3,1.00),
931 | (803,148,'8739878',6,3.00),
932 | (804,148,'288609',9,5.00),
933 | (805,148,'7365199',4,1.00),
934 | (806,148,'1088536',5,3.00),
935 | (807,149,'6576049',10,1.00),
936 | (808,149,'9292814',6,4.00),
937 | (809,149,'5751247',9,1.00),
938 | (810,149,'6685123',2,5.00),
939 | (811,149,'3248962',10,3.00),
940 | (812,149,'1561894',8,5.00),
941 | (813,149,'5614090',5,5.00),
942 | (814,149,'2560157',1,1.00),
943 | (815,149,'4412106',4,3.00),
944 | (816,150,'7461270',9,1.00),
945 | (817,150,'7904399',6,5.00),
946 | (818,150,'7869762',1,2.00),
947 | (819,150,'9168764',10,1.00),
948 | (820,150,'5904919',8,1.00),
949 | (821,150,'5387322',9,1.00),
950 | (822,151,'1588111',1,2.00),
951 | (823,151,'3534047',5,4.00),
952 | (824,151,'8171870',8,4.00),
953 | (825,151,'1662877',5,4.00),
954 | (826,152,'310374',8,2.00),
955 | (827,152,'5351367',7,4.00),
956 | (828,152,'7761082',9,4.00),
957 | (829,152,'7393564',5,5.00),
958 | (830,152,'3108289',10,2.00),
959 | (831,152,'4866049',8,1.00),
960 | (832,152,'3993473',1,4.00),
961 | (833,152,'3914003',6,3.00),
962 | (834,152,'5363061',4,3.00),
963 | (835,153,'8408447',6,3.00),
964 | (836,153,'2724512',9,2.00),
965 | (837,154,'441873',5,1.00),
966 | (838,154,'6870130',5,3.00),
967 | (839,154,'9770734',2,3.00),
968 | (840,154,'1589903',3,1.00),
969 | (841,155,'1648741',5,5.00),
970 | (842,155,'859014',2,3.00),
971 | (843,155,'478384',7,3.00),
972 | (844,156,'2025018',3,4.00),
973 | (845,156,'5667023',3,3.00),
974 | (846,156,'7628679',1,3.00),
975 | (847,156,'7694010',8,5.00),
976 | (848,156,'8466390',2,1.00),
977 | (849,157,'314171',5,1.00),
978 | (850,157,'4587347',7,3.00),
979 | (851,157,'8900507',5,1.00),
980 | (852,157,'307405',8,5.00),
981 | (853,157,'1441803',3,2.00),
982 | (854,157,'6963579',3,1.00),
983 | (855,157,'5047323',6,4.00),
984 | (856,158,'2198679',8,4.00),
985 | (857,159,'6399704',2,4.00),
986 | (858,159,'1591605',10,1.00),
987 | (859,159,'6482626',9,1.00),
988 | (860,159,'7695843',4,4.00),
989 | (861,160,'4633066',5,3.00),
990 | (862,160,'2068063',6,5.00),
991 | (863,160,'4393186',7,3.00),
992 | (864,160,'9217174',10,5.00),
993 | (865,160,'5679021',9,5.00),
994 | (866,160,'4174179',10,3.00),
995 | (867,160,'4665298',5,5.00),
996 | (868,161,'2067558',6,4.00),
997 | (869,162,'9421182',7,3.00),
998 | (870,162,'1218370',5,3.00),
999 | (871,162,'9581778',1,2.00),
1000 | (872,163,'2887415',10,3.00),
1001 | (873,163,'1917945',8,5.00),
1002 | (874,163,'3000085',10,2.00),
1003 | (875,163,'1831927',1,2.00),
1004 | (876,163,'9342637',10,4.00),
1005 | (877,163,'3433469',3,1.00),
1006 | (878,163,'5647997',2,2.00),
1007 | (879,163,'2751264',8,1.00),
1008 | (880,164,'6896982',3,4.00),
1009 | (881,164,'9701596',9,5.00),
1010 | (882,164,'2639175',3,2.00),
1011 | (883,164,'6203276',8,5.00),
1012 | (884,165,'437990',5,1.00),
1013 | (885,165,'4986347',8,5.00),
1014 | (886,165,'1087627',6,2.00),
1015 | (887,165,'7849131',6,5.00),
1016 | (888,165,'1792729',9,2.00),
1017 | (889,165,'7180910',10,3.00),
1018 | (890,165,'1946063',2,4.00),
1019 | (891,166,'5966949',7,5.00),
1020 | (892,166,'2171596',3,3.00),
1021 | (893,167,'3861824',7,2.00),
1022 | (894,167,'9749356',6,2.00),
1023 | (895,167,'8759205',7,5.00),
1024 | (896,167,'8936531',10,1.00),
1025 | (897,167,'7469149',9,1.00),
1026 | (898,167,'3371331',9,3.00),
1027 | (899,167,'8970799',9,3.00),
1028 | (900,167,'3096440',1,5.00),
1029 | (901,167,'1552573',2,3.00),
1030 | (902,168,'8358649',4,1.00),
1031 | (903,168,'3235994',6,4.00),
1032 | (904,168,'3273152',4,5.00),
1033 | (905,168,'7892891',2,1.00),
1034 | (906,168,'553923',8,3.00),
1035 | (907,168,'7833541',1,5.00),
1036 | (908,169,'6102415',8,2.00),
1037 | (909,169,'7158467',8,5.00),
1038 | (910,169,'5295064',1,1.00),
1039 | (911,169,'5428033',1,3.00),
1040 | (912,169,'374383',10,3.00),
1041 | (913,170,'8725391',1,4.00),
1042 | (914,170,'7443260',9,5.00),
1043 | (915,171,'7249782',8,1.00),
1044 | (916,171,'3656481',4,4.00),
1045 | (917,171,'1680999',2,2.00),
1046 | (918,171,'9844858',3,5.00),
1047 | (919,171,'3268525',1,5.00),
1048 | (920,171,'5258685',4,4.00),
1049 | (921,172,'597277',7,3.00),
1050 | (922,172,'9030654',9,4.00),
1051 | (923,172,'8704087',9,1.00),
1052 | (924,172,'7340958',3,2.00),
1053 | (925,172,'3251815',6,1.00),
1054 | (926,172,'2760198',6,1.00),
1055 | (927,172,'5552059',4,5.00),
1056 | (928,173,'4987773',9,1.00),
1057 | (929,173,'7250884',2,3.00),
1058 | (930,173,'2045846',9,4.00),
1059 | (931,173,'2543063',10,3.00),
1060 | (932,174,'1104961',5,5.00),
1061 | (933,174,'9134521',2,1.00),
1062 | (934,174,'1704902',9,5.00),
1063 | (935,174,'5654860',2,4.00),
1064 | (936,174,'3993512',2,2.00),
1065 | (937,174,'8024011',6,3.00),
1066 | (938,175,'8575526',5,1.00),
1067 | (939,175,'2411527',6,2.00),
1068 | (940,175,'6379563',10,1.00),
1069 | (941,175,'1230489',6,2.00),
1070 | (942,175,'6799371',5,5.00),
1071 | (943,175,'7170734',10,3.00),
1072 | (944,175,'6805456',1,4.00),
1073 | (945,175,'8140755',8,1.00),
1074 | (946,175,'4897836',10,5.00),
1075 | (947,176,'3035217',9,4.00),
1076 | (948,176,'321038',7,4.00),
1077 | (949,176,'4250922',1,5.00),
1078 | (950,176,'9855856',10,3.00),
1079 | (951,176,'7915827',10,3.00),
1080 | (952,176,'5849434',1,1.00),
1081 | (953,176,'482558',9,4.00),
1082 | (954,176,'8288563',2,2.00),
1083 | (955,176,'6447438',8,5.00),
1084 | (956,177,'285828',4,3.00),
1085 | (957,177,'6420210',3,2.00),
1086 | (958,177,'3894609',4,3.00),
1087 | (959,177,'1105156',10,1.00),
1088 | (960,177,'1884926',2,1.00),
1089 | (961,177,'4229027',1,2.00),
1090 | (962,177,'6507466',4,4.00),
1091 | (963,177,'6165150',7,2.00),
1092 | (964,178,'1599051',9,1.00),
1093 | (965,178,'8165728',4,5.00),
1094 | (966,178,'483543',3,4.00),
1095 | (967,178,'9613065',10,4.00),
1096 | (968,178,'2325630',2,4.00),
1097 | (969,179,'2712828',6,3.00),
1098 | (970,179,'2483318',10,3.00),
1099 | (971,179,'4983430',10,5.00),
1100 | (972,179,'5583624',10,3.00),
1101 | (973,179,'2818198',5,2.00),
1102 | (974,180,'3154095',4,1.00),
1103 | (975,180,'7729187',4,4.00),
1104 | (976,180,'5658284',8,2.00),
1105 | (977,181,'850892',10,4.00),
1106 | (978,181,'8171840',1,3.00),
1107 | (979,181,'9961933',1,3.00),
1108 | (980,181,'245048',7,2.00),
1109 | (981,181,'3885436',6,3.00),
1110 | (982,181,'9145316',5,1.00),
1111 | (983,181,'452308',10,2.00),
1112 | (984,181,'3436540',8,4.00),
1113 | (985,182,'4045429',7,4.00),
1114 | (986,182,'9015007',5,5.00),
1115 | (987,182,'3795983',2,5.00),
1116 | (988,182,'8685590',2,1.00),
1117 | (989,182,'8801747',6,2.00),
1118 | (990,182,'4418420',10,3.00),
1119 | (991,182,'6138415',8,4.00),
1120 | (992,182,'7923070',8,5.00),
1121 | (993,183,'5183116',7,2.00),
1122 | (994,183,'3415546',6,4.00),
1123 | (995,183,'6778957',9,2.00),
1124 | (996,183,'5012256',10,3.00),
1125 | (997,183,'3341162',5,5.00),
1126 | (998,183,'603622',7,2.00),
1127 | (999,183,'2640801',5,4.00),
1128 | (1000,183,'5517087',3,4.00),
1129 | (1001,183,'1192748',7,2.00),
1130 | (1002,183,'1193851',9,3.00),
1131 | (1003,184,'5414585',6,5.00),
1132 | (1004,184,'5612600',6,5.00),
1133 | (1005,184,'7574817',6,1.00),
1134 | (1006,184,'4455412',8,1.00),
1135 | (1007,184,'2075069',1,1.00),
1136 | (1008,185,'6233262',4,1.00),
1137 | (1009,185,'4901893',8,4.00),
1138 | (1010,186,'2730802',3,5.00),
1139 | (1011,186,'8478205',5,3.00),
1140 | (1012,186,'5877189',2,1.00),
1141 | (1013,186,'8069314',6,5.00),
1142 | (1014,186,'1331253',7,1.00),
1143 | (1015,186,'719819',6,2.00),
1144 | (1016,186,'4543674',2,4.00),
1145 | (1017,186,'1650508',7,4.00),
1146 | (1018,187,'9211604',1,4.00),
1147 | (1019,187,'9693276',8,1.00),
1148 | (1020,188,'6652396',7,1.00),
1149 | (1021,188,'4314069',5,2.00),
1150 | (1022,188,'3759694',9,5.00),
1151 | (1023,188,'7227975',1,3.00),
1152 | (1024,189,'6741841',8,4.00),
1153 | (1025,189,'3818804',2,4.00),
1154 | (1026,189,'6306511',5,1.00),
1155 | (1027,189,'2046022',8,2.00),
1156 | (1028,189,'6532332',7,3.00),
1157 | (1029,189,'9212797',9,1.00),
1158 | (1030,189,'7517320',5,4.00),
1159 | (1031,189,'1214672',2,3.00),
1160 | (1032,189,'4681610',1,5.00),
1161 | (1033,189,'9288161',8,5.00),
1162 | (1034,190,'9432165',7,5.00),
1163 | (1035,190,'9376612',6,3.00),
1164 | (1036,190,'3580683',1,4.00),
1165 | (1037,191,'3732063',2,4.00),
1166 | (1038,191,'5263000',6,2.00),
1167 | (1039,191,'2308849',5,3.00),
1168 | (1040,191,'393202',4,3.00),
1169 | (1041,192,'6925445',2,3.00),
1170 | (1042,192,'2548019',9,4.00),
1171 | (1043,192,'2650141',9,2.00),
1172 | (1044,192,'1720975',5,5.00),
1173 | (1045,192,'5314478',6,4.00),
1174 | (1046,192,'5389326',3,3.00),
1175 | (1047,192,'1742213',1,1.00),
1176 | (1048,192,'5078017',1,4.00),
1177 | (1049,192,'6596041',4,5.00),
1178 | (1050,192,'2050805',8,1.00),
1179 | (1051,193,'2973451',5,5.00),
1180 | (1052,193,'9413455',9,2.00),
1181 | (1053,194,'1238229',3,5.00),
1182 | (1054,194,'7122819',10,5.00),
1183 | (1055,194,'6799034',3,1.00),
1184 | (1056,194,'3262607',9,4.00),
1185 | (1057,194,'6412833',1,1.00),
1186 | (1058,194,'5775853',4,2.00),
1187 | (1059,194,'3358572',2,5.00),
1188 | (1060,194,'2024685',3,4.00),
1189 | (1061,194,'7523923',9,1.00),
1190 | (1062,194,'3024614',7,1.00),
1191 | (1063,195,'2965799',3,4.00),
1192 | (1064,195,'6948561',9,4.00),
1193 | (1065,196,'710878',2,2.00),
1194 | (1066,196,'7822446',5,1.00),
1195 | (1067,196,'1920203',10,2.00),
1196 | (1068,196,'1629331',4,1.00),
1197 | (1069,196,'4741116',6,5.00),
1198 | (1070,196,'3320724',2,4.00),
1199 | (1071,196,'7536498',5,1.00),
1200 | (1072,197,'7236280',3,1.00),
1201 | (1073,197,'5492102',7,4.00),
1202 | (1074,198,'6556491',10,2.00),
1203 | (1075,198,'4778254',3,5.00),
1204 | (1076,198,'9147146',9,5.00),
1205 | (1077,198,'7165180',7,5.00),
1206 | (1078,198,'7196826',10,1.00),
1207 | (1079,198,'5566290',2,2.00),
1208 | (1080,198,'8893789',9,3.00),
1209 | (1081,198,'5577585',2,5.00),
1210 | (1082,198,'4866302',1,3.00),
1211 | (1083,198,'6935286',4,5.00),
1212 | (1084,199,'4355154',10,4.00),
1213 | (1085,199,'9759598',8,1.00),
1214 | (1086,199,'1594546',3,2.00),
1215 | (1087,199,'4090312',4,4.00),
1216 | (1088,199,'5633796',7,3.00),
1217 | (1089,199,'7273948',4,1.00),
1218 | (1090,200,'4670072',2,3.00),
1219 | (1091,200,'1996817',4,1.00),
1220 | (1092,200,'6915073',8,5.00),
1221 | (1093,200,'9003647',6,3.00),
1222 | (1094,200,'5610538',6,3.00),
1223 | (1095,200,'3665919',9,1.00),
1224 | (1096,200,'5200475',3,5.00),
1225 | (1097,200,'2069545',2,5.00),
1226 | (1098,200,'765625',3,1.00),
1227 | (1099,201,'2089930',5,5.00),
1228 | (1100,202,'8652102',5,2.00),
1229 | (1101,202,'2529533',3,1.00),
1230 | (1102,202,'2092750',2,5.00),
1231 | (1103,202,'8805364',7,4.00),
1232 | (1104,202,'9185424',5,4.00),
1233 | (1105,202,'3830306',2,2.00),
1234 | (1106,202,'7001075',3,1.00),
1235 | (1107,203,'1998419',6,1.00),
1236 | (1108,203,'567039',3,4.00),
1237 | (1109,203,'9565345',8,1.00),
1238 | (1110,203,'790818',9,1.00),
1239 | (1111,203,'3879022',3,3.00),
1240 | (1112,203,'3573010',7,3.00),
1241 | (1113,203,'116245',8,3.00),
1242 | (1114,204,'3458318',3,5.00),
1243 | (1115,204,'1644590',9,5.00),
1244 | (1116,204,'7950221',7,1.00),
1245 | (1117,204,'5433138',3,3.00),
1246 | (1118,204,'8604057',6,3.00),
1247 | (1119,204,'1477287',1,3.00),
1248 | (1120,204,'2164091',5,1.00),
1249 | (1121,204,'3120781',2,4.00),
1250 | (1122,205,'7174484',8,1.00),
1251 | (1123,206,'9836141',1,4.00),
1252 | (1124,206,'9266387',10,4.00),
1253 | (1125,206,'1469548',8,5.00),
1254 | (1126,206,'6535905',10,1.00),
1255 | (1127,207,'6120162',6,1.00),
1256 | (1128,207,'1311558',2,5.00),
1257 | (1129,207,'4156105',7,3.00),
1258 | (1130,207,'4034456',2,1.00),
1259 | (1131,207,'1690139',9,2.00),
1260 | (1132,207,'7313496',4,4.00),
1261 | (1133,207,'3659511',8,1.00),
1262 | (1134,207,'4891936',7,1.00),
1263 | (1135,207,'3651278',9,1.00),
1264 | (1136,208,'6830238',6,4.00),
1265 | (1137,208,'9846968',10,5.00),
1266 | (1138,208,'6663491',9,1.00),
1267 | (1139,208,'9009837',2,1.00),
1268 | (1140,208,'8187898',10,5.00),
1269 | (1141,208,'3307572',5,2.00),
1270 | (1142,209,'6180260',4,5.00),
1271 | (1143,209,'4701699',9,5.00),
1272 | (1144,209,'9330750',9,1.00),
1273 | (1145,209,'4153913',1,3.00),
1274 | (1146,209,'9607855',1,3.00),
1275 | (1147,209,'9732646',1,2.00),
1276 | (1148,209,'9918953',4,3.00),
1277 | (1149,210,'3620151',6,3.00),
1278 | (1150,210,'9295616',4,3.00),
1279 | (1151,210,'9972990',8,2.00),
1280 | (1152,210,'1674344',10,1.00),
1281 | (1153,210,'7257286',9,2.00),
1282 | (1154,210,'4808259',5,4.00),
1283 | (1155,210,'8919794',7,5.00),
1284 | (1156,210,'8035322',7,3.00),
1285 | (1157,210,'9709267',4,4.00),
1286 | (1158,210,'3843814',3,4.00),
1287 | (1159,211,'5269274',10,4.00),
1288 | (1160,211,'3613744',9,5.00),
1289 | (1161,211,'6649360',1,2.00),
1290 | (1162,211,'3388833',8,1.00),
1291 | (1163,211,'655442',2,5.00),
1292 | (1164,211,'3548739',6,4.00),
1293 | (1165,211,'2925499',9,2.00),
1294 | (1166,211,'6819421',9,5.00),
1295 | (1167,211,'539547',4,2.00),
1296 | (1168,211,'3277074',2,4.00),
1297 | (1169,212,'5200812',1,4.00),
1298 | (1170,213,'9778178',8,4.00),
1299 | (1171,213,'3041749',7,4.00),
1300 | (1172,213,'4846187',9,1.00),
1301 | (1173,213,'7561318',10,5.00),
1302 | (1174,213,'745708',6,4.00),
1303 | (1175,213,'7556176',9,4.00),
1304 | (1176,213,'1129592',6,4.00),
1305 | (1177,213,'6469091',4,4.00),
1306 | (1178,213,'7468714',2,2.00),
1307 | (1179,214,'3719107',9,3.00),
1308 | (1180,215,'1814060',6,5.00),
1309 | (1181,215,'1015497',6,1.00),
1310 | (1182,215,'5829209',2,1.00),
1311 | (1183,216,'9505373',3,2.00),
1312 | (1184,216,'5926329',6,2.00),
1313 | (1185,216,'752142',5,2.00),
1314 | (1186,216,'3241720',7,4.00),
1315 | (1187,216,'7917269',6,5.00),
1316 | (1188,217,'3765565',4,5.00),
1317 | (1189,217,'4645541',8,3.00),
1318 | (1190,217,'3398094',5,3.00),
1319 | (1191,217,'417264',9,2.00),
1320 | (1192,217,'6950463',9,3.00),
1321 | (1193,217,'9227785',1,5.00),
1322 | (1194,218,'3844634',1,1.00),
1323 | (1195,219,'5562333',2,2.00),
1324 | (1196,220,'7652389',2,5.00),
1325 | (1197,220,'4053683',8,3.00),
1326 | (1198,221,'1780317',9,1.00),
1327 | (1199,221,'4288996',8,3.00),
1328 | (1200,221,'933832',2,2.00),
1329 | (1201,221,'7654468',3,2.00),
1330 | (1202,221,'4832889',7,4.00),
1331 | (1203,221,'7096735',5,5.00),
1332 | (1204,221,'3843884',4,1.00),
1333 | (1205,221,'8952391',3,2.00),
1334 | (1206,221,'6170752',6,4.00),
1335 | (1207,221,'8733538',10,2.00),
1336 | (1208,222,'6250826',6,3.00),
1337 | (1209,222,'2495119',7,4.00),
1338 | (1210,222,'7327984',2,2.00),
1339 | (1211,222,'9244843',3,5.00),
1340 | (1212,222,'6641659',7,3.00),
1341 | (1213,222,'2870575',1,2.00),
1342 | (1214,222,'9981652',5,4.00),
1343 | (1215,222,'1900186',3,3.00),
1344 | (1216,222,'4406323',9,1.00),
1345 | (1217,222,'584049',6,5.00),
1346 | (1218,223,'8360500',6,4.00),
1347 | (1219,223,'4537220',6,3.00),
1348 | (1220,223,'2316365',3,3.00),
1349 | (1221,223,'2760216',10,1.00),
1350 | (1222,224,'8305440',2,5.00),
1351 | (1223,224,'5123632',3,3.00),
1352 | (1224,224,'5162821',3,3.00),
1353 | (1225,224,'3033820',3,3.00),
1354 | (1226,224,'4330197',3,3.00),
1355 | (1227,224,'8845270',2,2.00),
1356 | (1228,225,'3575992',10,5.00),
1357 | (1229,225,'2753264',10,4.00),
1358 | (1230,225,'132627',4,3.00),
1359 | (1231,225,'6896313',2,5.00),
1360 | (1232,225,'6552060',1,4.00),
1361 | (1233,225,'8248563',8,1.00),
1362 | (1234,225,'7692837',3,4.00),
1363 | (1235,225,'5629972',5,3.00),
1364 | (1236,225,'774777',9,2.00),
1365 | (1237,225,'9266809',3,3.00),
1366 | (1238,226,'8204483',9,5.00),
1367 | (1239,226,'315367',6,2.00),
1368 | (1240,227,'7281098',10,4.00),
1369 | (1241,227,'9351310',8,2.00),
1370 | (1242,227,'2305790',3,4.00),
1371 | (1243,227,'3546428',4,1.00),
1372 | (1244,227,'2543884',6,4.00),
1373 | (1245,227,'650862',8,1.00),
1374 | (1246,228,'8365240',7,1.00),
1375 | (1247,228,'8232619',1,4.00),
1376 | (1248,228,'8056772',5,1.00),
1377 | (1249,228,'1122524',7,4.00),
1378 | (1250,229,'1685655',6,1.00),
1379 | (1251,229,'6432659',10,2.00),
1380 | (1252,229,'908393',1,3.00),
1381 | (1253,229,'6960170',1,3.00),
1382 | (1254,229,'3489079',6,2.00),
1383 | (1255,229,'9913578',1,1.00),
1384 | (1256,229,'7955867',7,1.00),
1385 | (1257,229,'7310459',9,3.00),
1386 | (1258,230,'4877473',10,5.00),
1387 | (1259,230,'3263372',3,3.00),
1388 | (1260,230,'3245892',9,1.00),
1389 | (1261,230,'2555323',7,3.00),
1390 | (1262,230,'3867243',3,1.00),
1391 | (1263,231,'1404506',7,2.00),
1392 | (1264,231,'7621532',1,1.00),
1393 | (1265,231,'1263990',3,1.00),
1394 | (1266,231,'862408',6,5.00),
1395 | (1267,231,'269334',3,3.00),
1396 | (1268,232,'4620589',6,3.00),
1397 | (1269,232,'8510908',10,3.00),
1398 | (1270,232,'919779',1,4.00),
1399 | (1271,232,'1348280',2,1.00),
1400 | (1272,232,'710132',7,2.00),
1401 | (1273,232,'8067475',9,4.00),
1402 | (1274,232,'9103297',7,3.00),
1403 | (1275,232,'9922820',10,5.00),
1404 | (1276,232,'2154222',4,5.00),
1405 | (1277,233,'7661783',4,2.00),
1406 | (1278,233,'2156655',9,3.00),
1407 | (1279,234,'7938867',1,3.00),
1408 | (1280,234,'9280387',2,5.00),
1409 | (1281,234,'4492700',8,5.00),
1410 | (1282,234,'3419744',7,3.00),
1411 | (1283,234,'726180',6,2.00),
1412 | (1284,234,'4674046',1,1.00),
1413 | (1285,235,'3897040',9,4.00),
1414 | (1286,235,'8575110',2,2.00),
1415 | (1287,236,'9948159',4,5.00),
1416 | (1288,236,'3355453',3,5.00),
1417 | (1289,236,'555101',6,5.00),
1418 | (1290,237,'9625739',10,2.00),
1419 | (1291,237,'9876247',3,1.00),
1420 | (1292,237,'7790446',7,3.00),
1421 | (1293,237,'316573',5,4.00),
1422 | (1294,237,'5065349',3,1.00),
1423 | (1295,237,'1169752',6,1.00),
1424 | (1296,238,'4710088',10,2.00),
1425 | (1297,238,'9162727',7,1.00),
1426 | (1298,238,'8296584',6,1.00),
1427 | (1299,238,'9785627',2,5.00),
1428 | (1300,238,'7375152',6,2.00),
1429 | (1301,239,'1657830',8,2.00),
1430 | (1302,239,'5300228',10,1.00),
1431 | (1303,239,'7994765',9,5.00),
1432 | (1304,239,'6634238',1,1.00),
1433 | (1305,240,'666980',8,1.00),
1434 | (1306,240,'432692',6,4.00),
1435 | (1307,240,'571724',4,2.00),
1436 | (1308,240,'2038816',4,4.00),
1437 | (1309,241,'6702690',9,5.00),
1438 | (1310,241,'653719',6,1.00),
1439 | (1311,241,'6755299',5,2.00),
1440 | (1312,241,'8539071',3,4.00),
1441 | (1313,241,'5196206',7,5.00),
1442 | (1314,241,'7642867',6,5.00),
1443 | (1315,241,'831196',7,2.00),
1444 | (1316,241,'2193669',7,3.00),
1445 | (1317,241,'2056293',5,2.00),
1446 | (1318,242,'5099606',3,1.00),
1447 | (1319,242,'8592260',7,1.00),
1448 | (1320,242,'4329328',4,1.00),
1449 | (1321,242,'3871486',5,1.00),
1450 | (1322,242,'2991722',6,3.00),
1451 | (1323,242,'5050261',10,2.00),
1452 | (1324,242,'7113687',8,1.00),
1453 | (1325,242,'6617507',10,3.00),
1454 | (1326,242,'4436954',1,3.00),
1455 | (1327,243,'9660719',10,4.00),
1456 | (1328,243,'6290183',6,2.00),
1457 | (1329,243,'4697234',10,2.00),
1458 | (1330,243,'679340',2,5.00),
1459 | (1331,243,'8408352',2,3.00),
1460 | (1332,243,'1278987',3,5.00),
1461 | (1333,244,'4118092',4,3.00),
1462 | (1334,244,'4377012',7,2.00),
1463 | (1335,244,'5911575',1,3.00),
1464 | (1336,244,'5743828',5,4.00),
1465 | (1337,244,'3312750',8,3.00),
1466 | (1338,244,'4131799',10,5.00),
1467 | (1339,244,'1075978',1,5.00),
1468 | (1340,245,'8575751',5,3.00),
1469 | (1341,246,'9193892',5,5.00),
1470 | (1342,246,'8784832',5,1.00),
1471 | (1343,246,'4361114',9,5.00),
1472 | (1344,246,'352459',2,1.00),
1473 | (1345,247,'155557',2,5.00),
1474 | (1346,247,'8089702',7,5.00),
1475 | (1347,247,'9456855',10,1.00),
1476 | (1348,247,'5758659',6,5.00),
1477 | (1349,247,'9794296',4,4.00),
1478 | (1350,247,'1949676',2,2.00),
1479 | (1351,247,'5841335',7,2.00),
1480 | (1352,247,'994777',10,1.00),
1481 | (1353,247,'1424317',10,3.00),
1482 | (1354,248,'9240542',9,4.00),
1483 | (1355,249,'1957193',3,4.00),
1484 | (1356,249,'5489551',9,4.00),
1485 | (1357,249,'1842486',2,1.00),
1486 | (1358,249,'3829183',6,5.00),
1487 | (1359,249,'2021667',10,3.00),
1488 | (1360,249,'968460',6,1.00),
1489 | (1361,249,'6483644',2,2.00),
1490 | (1362,249,'4800340',5,3.00),
1491 | (1363,250,'9229524',4,5.00),
1492 | (1364,250,'1860764',4,2.00),
1493 | (1365,250,'1210326',8,2.00),
1494 | (1366,250,'8745894',7,1.00),
1495 | (1367,250,'6713076',7,1.00),
1496 | (1368,251,'9875371',7,3.00),
1497 | (1369,251,'1627880',6,3.00),
1498 | (1370,251,'2175737',2,2.00),
1499 | (1371,251,'6356604',5,1.00),
1500 | (1372,251,'3370036',4,4.00),
1501 | (1373,251,'6058414',2,4.00),
1502 | (1374,251,'228092',3,1.00),
1503 | (1375,252,'9822910',9,1.00),
1504 | (1376,252,'316369',2,4.00),
1505 | (1377,252,'1895861',1,1.00),
1506 | (1378,252,'3861461',6,4.00),
1507 | (1379,253,'9874474',4,1.00),
1508 | (1380,254,'7544351',4,4.00),
1509 | (1381,254,'1660265',3,5.00),
1510 | (1382,254,'6880420',9,5.00),
1511 | (1383,254,'4108654',1,4.00),
1512 | (1384,254,'7580184',1,5.00),
1513 | (1385,254,'2683141',6,5.00),
1514 | (1386,254,'2578741',3,5.00),
1515 | (1387,254,'6155762',9,1.00),
1516 | (1388,254,'4430661',3,2.00),
1517 | (1389,255,'5010272',2,5.00),
1518 | (1390,255,'3821339',7,4.00),
1519 | (1391,255,'6854542',6,5.00),
1520 | (1392,256,'2367098',6,3.00),
1521 | (1393,256,'1263826',9,1.00),
1522 | (1394,256,'8685649',8,5.00),
1523 | (1395,256,'177323',8,2.00),
1524 | (1396,256,'5282846',3,5.00),
1525 | (1397,256,'9433883',10,3.00),
1526 | (1398,257,'8486324',10,4.00),
1527 | (1399,257,'6035553',7,4.00),
1528 | (1400,257,'9621956',10,4.00),
1529 | (1401,257,'5875974',2,5.00),
1530 | (1402,257,'5180365',10,2.00),
1531 | (1403,257,'4682520',8,2.00),
1532 | (1404,257,'9387642',4,5.00),
1533 | (1405,258,'984076',2,5.00),
1534 | (1406,258,'4869964',10,1.00),
1535 | (1407,258,'1271691',6,3.00),
1536 | (1408,258,'2909919',2,1.00),
1537 | (1409,258,'1310615',9,5.00),
1538 | (1410,258,'1197277',4,4.00),
1539 | (1411,258,'3040132',4,3.00),
1540 | (1412,258,'2560575',9,5.00),
1541 | (1413,259,'4448521',8,2.00),
1542 | (1414,259,'7284869',5,2.00),
1543 | (1415,259,'4928410',2,1.00),
1544 | (1416,259,'5857319',3,2.00),
1545 | (1417,259,'1000444',1,3.00),
1546 | (1418,259,'9390687',6,5.00),
1547 | (1419,259,'3012820',1,5.00),
1548 | (1420,259,'8198770',1,5.00),
1549 | (1421,259,'549151',2,1.00),
1550 | (1422,259,'1731177',2,3.00),
1551 | (1423,260,'2399305',4,4.00),
1552 | (1424,260,'3374200',10,1.00),
1553 | (1425,260,'6094380',10,2.00),
1554 | (1426,260,'9012252',10,4.00),
1555 | (1427,260,'8656705',8,2.00),
1556 | (1428,260,'8683074',6,3.00),
1557 | (1429,260,'3913160',10,2.00),
1558 | (1430,260,'3201060',10,2.00),
1559 | (1431,260,'9582889',9,4.00),
1560 | (1432,260,'9243895',8,1.00),
1561 | (1433,261,'1488645',3,4.00),
1562 | (1434,261,'8219230',1,4.00),
1563 | (1435,261,'1327343',4,1.00),
1564 | (1436,261,'7067273',3,2.00),
1565 | (1437,262,'1303772',7,4.00),
1566 | (1438,262,'6969262',7,2.00),
1567 | (1439,262,'6360551',6,3.00),
1568 | (1440,263,'4537751',8,2.00),
1569 | (1441,263,'139170',10,4.00),
1570 | (1442,263,'5209685',8,3.00),
1571 | (1443,263,'2550181',3,4.00),
1572 | (1444,263,'1150498',3,5.00),
1573 | (1445,263,'3043617',3,4.00),
1574 | (1446,263,'8265043',4,5.00),
1575 | (1447,264,'1060993',6,5.00),
1576 | (1448,264,'3066502',7,1.00),
1577 | (1449,265,'9898717',7,5.00),
1578 | (1450,265,'5715425',4,5.00),
1579 | (1451,265,'5901468',6,2.00),
1580 | (1452,265,'1102198',1,3.00),
1581 | (1453,265,'6901546',9,5.00),
1582 | (1454,265,'5552623',3,5.00),
1583 | (1455,266,'8533624',1,3.00),
1584 | (1456,266,'754876',1,5.00),
1585 | (1457,266,'687070',6,4.00),
1586 | (1458,266,'7728196',3,2.00),
1587 | (1459,266,'5842308',8,2.00),
1588 | (1460,267,'6964472',9,4.00),
1589 | (1461,267,'477385',6,2.00),
1590 | (1462,267,'5262121',9,1.00),
1591 | (1463,267,'1968037',4,4.00),
1592 | (1464,267,'2590935',5,3.00),
1593 | (1465,267,'2933124',1,5.00),
1594 | (1466,267,'9346664',5,2.00),
1595 | (1467,267,'1127049',6,4.00),
1596 | (1468,267,'4799575',3,5.00),
1597 | (1469,268,'567085',4,2.00),
1598 | (1470,268,'2429267',9,4.00),
1599 | (1471,268,'4254293',6,2.00),
1600 | (1472,268,'6053873',9,1.00),
1601 | (1473,268,'337009',7,4.00),
1602 | (1474,268,'2465946',7,3.00),
1603 | (1475,268,'310515',5,5.00),
1604 | (1476,269,'363721',5,2.00),
1605 | (1477,269,'9930196',4,4.00),
1606 | (1478,269,'4543028',6,5.00),
1607 | (1479,269,'1666299',7,4.00),
1608 | (1480,269,'2476657',5,1.00),
1609 | (1481,269,'2035345',6,5.00),
1610 | (1482,270,'1707768',2,5.00),
1611 | (1483,270,'5504067',2,2.00),
1612 | (1484,270,'5912024',7,1.00),
1613 | (1485,270,'2940369',7,5.00),
1614 | (1486,270,'1300800',3,5.00),
1615 | (1487,270,'478715',2,2.00),
1616 | (1488,270,'2434017',7,5.00),
1617 | (1489,270,'9237741',8,1.00),
1618 | (1490,271,'772773',4,3.00),
1619 | (1491,271,'3970219',9,2.00),
1620 | (1492,271,'3787067',9,2.00),
1621 | (1493,271,'8267318',8,1.00),
1622 | (1494,272,'2796230',7,1.00),
1623 | (1495,272,'4305788',6,4.00),
1624 | (1496,272,'3057158',10,2.00),
1625 | (1497,272,'7839492',1,2.00),
1626 | (1498,272,'2255244',8,1.00),
1627 | (1499,273,'2259281',2,2.00),
1628 | (1500,273,'6431314',2,1.00),
1629 | (1501,273,'8558100',10,2.00),
1630 | (1502,273,'7924551',8,4.00),
1631 | (1503,273,'8028460',9,3.00),
1632 | (1504,273,'2978404',4,1.00),
1633 | (1505,273,'394356',8,3.00),
1634 | (1506,273,'8095574',7,1.00),
1635 | (1507,273,'4354611',2,3.00),
1636 | (1508,274,'947541',9,2.00),
1637 | (1509,274,'7460454',4,5.00),
1638 | (1510,274,'7602809',9,1.00),
1639 | (1511,274,'9786941',9,5.00),
1640 | (1512,275,'788146',9,3.00),
1641 | (1513,275,'7003905',8,4.00),
1642 | (1514,275,'9260000',9,5.00),
1643 | (1515,275,'7460827',2,4.00),
1644 | (1516,276,'4320915',1,2.00),
1645 | (1517,276,'9177961',6,4.00),
1646 | (1518,276,'5201911',8,4.00),
1647 | (1519,276,'459784',9,3.00),
1648 | (1520,276,'5828897',3,5.00),
1649 | (1521,276,'7184875',10,4.00),
1650 | (1522,276,'2218593',7,3.00),
1651 | (1523,276,'9908235',7,5.00),
1652 | (1524,276,'3912004',9,1.00),
1653 | (1525,277,'8843893',8,3.00),
1654 | (1526,277,'9985365',3,2.00),
1655 | (1527,278,'194729',6,5.00),
1656 | (1528,278,'3682935',8,1.00),
1657 | (1529,278,'1551629',1,4.00),
1658 | (1530,278,'356818',10,1.00),
1659 | (1531,278,'1475739',3,1.00),
1660 | (1532,278,'1357370',5,3.00),
1661 | (1533,278,'5078051',1,5.00),
1662 | (1534,279,'9523810',8,2.00),
1663 | (1535,279,'4838250',8,3.00),
1664 | (1536,279,'9549604',5,2.00),
1665 | (1537,279,'3132182',4,5.00),
1666 | (1538,279,'437409',9,5.00),
1667 | (1539,279,'816954',1,3.00),
1668 | (1540,280,'5148790',9,1.00),
1669 | (1541,280,'4261172',10,3.00),
1670 | (1542,280,'6756899',8,5.00),
1671 | (1543,280,'9871899',1,4.00),
1672 | (1544,280,'9841326',3,2.00),
1673 | (1545,280,'2146912',6,1.00),
1674 | (1546,280,'9533870',5,3.00),
1675 | (1547,280,'8089332',2,2.00),
1676 | (1548,280,'3803913',7,4.00),
1677 | (1549,280,'751677',2,3.00),
1678 | (1550,281,'2672018',10,1.00),
1679 | (1551,281,'9796868',7,5.00),
1680 | (1552,281,'8756912',6,2.00),
1681 | (1553,281,'9087519',1,1.00),
1682 | (1554,281,'2791904',2,1.00),
1683 | (1555,281,'6315340',5,4.00),
1684 | (1556,281,'8753516',3,3.00),
1685 | (1557,281,'5473316',10,4.00),
1686 | (1558,281,'9989618',10,4.00),
1687 | (1559,281,'3199268',5,2.00),
1688 | (1560,282,'4322572',1,3.00),
1689 | (1561,282,'8228531',7,4.00),
1690 | (1562,282,'2426571',7,5.00),
1691 | (1563,282,'1641627',9,4.00),
1692 | (1564,282,'4175866',8,1.00),
1693 | (1565,282,'9819441',10,4.00),
1694 | (1566,282,'3224095',1,4.00),
1695 | (1567,282,'8241762',10,4.00),
1696 | (1568,283,'4473477',6,4.00),
1697 | (1569,283,'5088954',8,5.00),
1698 | (1570,283,'7045126',6,4.00),
1699 | (1571,283,'6828143',2,3.00),
1700 | (1572,283,'292447',3,2.00),
1701 | (1573,284,'7432041',8,5.00),
1702 | (1574,284,'114817',10,1.00),
1703 | (1575,284,'1344024',3,1.00),
1704 | (1576,285,'3573606',6,2.00),
1705 | (1577,285,'111764',9,1.00),
1706 | (1578,285,'3725882',4,2.00),
1707 | (1579,285,'4926295',5,3.00),
1708 | (1580,285,'3892257',3,5.00),
1709 | (1581,285,'7840588',9,3.00),
1710 | (1582,286,'4040508',7,2.00),
1711 | (1583,286,'9557706',4,4.00),
1712 | (1584,286,'438976',4,2.00),
1713 | (1585,286,'4821955',7,4.00),
1714 | (1586,286,'7770101',2,3.00),
1715 | (1587,286,'1981169',4,2.00),
1716 | (1588,286,'5743354',3,2.00),
1717 | (1589,286,'8845519',7,4.00),
1718 | (1590,286,'4568265',8,4.00),
1719 | (1591,286,'7934522',5,2.00),
1720 | (1592,287,'7236299',3,4.00),
1721 | (1593,287,'6916019',4,5.00),
1722 | (1594,288,'7803586',2,2.00),
1723 | (1595,288,'7037588',3,5.00),
1724 | (1596,288,'6359046',6,3.00),
1725 | (1597,288,'7936875',5,5.00),
1726 | (1598,288,'6322731',3,5.00),
1727 | (1599,288,'412413',8,4.00),
1728 | (1600,288,'2707876',9,2.00),
1729 | (1601,288,'9344726',7,3.00),
1730 | (1602,288,'335885',4,4.00),
1731 | (1603,288,'6579629',6,1.00),
1732 | (1604,289,'788562',7,4.00),
1733 | (1605,290,'4449449',10,4.00),
1734 | (1606,290,'8853087',9,5.00),
1735 | (1607,291,'7105185',10,4.00),
1736 | (1608,291,'2106901',10,3.00),
1737 | (1609,291,'1814849',3,2.00),
1738 | (1610,291,'3693438',4,2.00),
1739 | (1611,291,'4303763',1,4.00),
1740 | (1612,291,'8230727',5,1.00),
1741 | (1613,291,'7735977',5,2.00),
1742 | (1614,292,'7334964',2,3.00),
1743 | (1615,292,'4506381',1,5.00),
1744 | (1616,292,'9734689',10,1.00),
1745 | (1617,292,'7737810',5,4.00),
1746 | (1618,292,'8337852',5,4.00),
1747 | (1619,293,'7716362',4,5.00),
1748 | (1620,293,'9971695',9,2.00),
1749 | (1621,293,'7707788',8,4.00),
1750 | (1622,293,'6827507',8,2.00),
1751 | (1623,293,'1655435',4,4.00),
1752 | (1624,294,'7929063',10,3.00),
1753 | (1625,294,'865752',4,1.00),
1754 | (1626,294,'3171066',2,3.00),
1755 | (1627,294,'8632171',7,3.00),
1756 | (1628,294,'6400623',4,1.00),
1757 | (1629,294,'8519035',10,5.00),
1758 | (1630,294,'4155627',3,4.00),
1759 | (1631,294,'8917242',10,2.00),
1760 | (1632,294,'7575367',7,5.00),
1761 | (1633,295,'6767503',8,3.00),
1762 | (1634,295,'9349697',10,3.00),
1763 | (1635,295,'6011765',3,1.00),
1764 | (1636,296,'4222422',8,4.00),
1765 | (1637,296,'3546387',9,5.00),
1766 | (1638,296,'1752479',3,5.00),
1767 | (1639,296,'6496759',1,2.00),
1768 | (1640,297,'7870304',1,2.00),
1769 | (1641,297,'1867361',3,4.00),
1770 | (1642,297,'2286675',2,3.00),
1771 | (1643,297,'214869',4,4.00),
1772 | (1644,297,'8744457',7,4.00),
1773 | (1645,297,'6217504',8,2.00),
1774 | (1646,297,'963832',9,3.00),
1775 | (1647,297,'8983369',3,4.00),
1776 | (1648,297,'3949323',7,3.00),
1777 | (1649,297,'8472728',7,1.00),
1778 | (1650,298,'9124333',4,1.00),
1779 | (1651,298,'8267826',4,2.00),
1780 | (1652,298,'9207868',5,4.00),
1781 | (1653,298,'3863295',5,3.00),
1782 | (1654,298,'6059484',8,1.00),
1783 | (1655,299,'2382189',1,1.00),
1784 | (1656,299,'6351264',1,1.00),
1785 | (1657,300,'9724264',9,3.00),
1786 | (1658,300,'7932159',7,1.00),
1787 | (1659,300,'2990842',3,2.00),
1788 | (1660,300,'9428292',1,5.00),
1789 | (1661,300,'9502872',5,5.00),
1790 | (1662,300,'3968181',4,4.00),
1791 | (1663,300,'2648251',9,5.00),
1792 | (1664,300,'8641677',8,3.00),
1793 | (1665,300,'3737875',3,1.00),
1794 | (1666,301,'1722858',1,4.00),
1795 | (1667,301,'1511301',9,3.00),
1796 | (1668,301,'8553751',1,3.00),
1797 | (1669,301,'409288',4,2.00),
1798 | (1670,301,'666579',4,5.00),
1799 | (1671,301,'5368585',8,2.00),
1800 | (1672,301,'9886812',9,4.00),
1801 | (1673,301,'7899015',6,4.00),
1802 | (1674,302,'3089710',7,3.00),
1803 | (1675,302,'836860',3,5.00),
1804 | (1676,302,'9574623',9,3.00),
1805 | (1677,302,'8970186',9,3.00),
1806 | (1678,302,'6349449',4,2.00),
1807 | (1679,302,'8998282',5,5.00),
1808 | (1680,302,'6825371',7,3.00),
1809 | (1681,302,'3670673',9,3.00),
1810 | (1682,303,'7645183',7,1.00),
1811 | (1683,304,'7990585',4,4.00),
1812 | (1684,304,'1790621',5,5.00),
1813 | (1685,304,'8345451',5,1.00),
1814 | (1686,304,'7231222',5,3.00),
1815 | (1687,304,'1996588',4,5.00),
1816 | (1688,305,'7333024',4,4.00),
1817 | (1689,305,'8646402',1,1.00),
1818 | (1690,305,'1602232',7,2.00),
1819 | (1691,305,'4352529',3,1.00),
1820 | (1692,305,'6936164',2,5.00),
1821 | (1693,305,'3792006',9,4.00),
1822 | (1694,305,'3331884',8,5.00),
1823 | (1695,305,'715936',2,2.00),
1824 | (1696,306,'1962146',7,2.00),
1825 | (1697,306,'2973421',3,1.00),
1826 | (1698,306,'2658752',9,5.00),
1827 | (1699,306,'2089096',1,2.00),
1828 | (1700,307,'7344632',8,2.00),
1829 | (1701,307,'7218306',7,3.00),
1830 | (1702,307,'801745',4,2.00),
1831 | (1703,307,'815198',3,1.00),
1832 | (1704,308,'8953187',5,4.00),
1833 | (1705,308,'1366893',5,1.00),
1834 | (1706,309,'9394162',8,4.00),
1835 | (1707,309,'4888398',5,5.00),
1836 | (1708,310,'4620463',7,2.00),
1837 | (1709,310,'2168346',1,5.00),
1838 | (1710,310,'3272656',6,1.00),
1839 | (1711,310,'6515929',2,2.00),
1840 | (1712,310,'3286379',10,1.00),
1841 | (1713,310,'1868220',6,4.00),
1842 | (1714,310,'4712002',5,4.00),
1843 | (1715,311,'3462241',7,2.00),
1844 | (1716,311,'3712837',7,4.00),
1845 | (1717,312,'4022529',8,4.00),
1846 | (1718,312,'6805954',8,5.00),
1847 | (1719,312,'5041397',6,1.00),
1848 | (1720,312,'4352211',1,3.00),
1849 | (1721,312,'2145564',9,4.00),
1850 | (1722,312,'769807',1,1.00),
1851 | (1723,312,'2879218',1,3.00),
1852 | (1724,312,'3693784',5,5.00),
1853 | (1725,313,'7285839',8,3.00),
1854 | (1726,313,'714590',9,3.00),
1855 | (1727,313,'7354193',5,2.00),
1856 | (1728,313,'9360633',4,1.00),
1857 | (1729,313,'1343392',2,1.00),
1858 | (1730,313,'8650333',9,4.00),
1859 | (1731,314,'1983275',3,2.00),
1860 | (1732,314,'5741598',5,3.00),
1861 | (1733,314,'5658411',6,1.00),
1862 | (1734,314,'1750208',9,4.00),
1863 | (1735,314,'8595460',3,5.00),
1864 | (1736,314,'8159226',10,4.00),
1865 | (1737,314,'2112232',5,3.00),
1866 | (1738,314,'7794795',8,5.00),
1867 | (1739,315,'3240896',1,2.00),
1868 | (1740,315,'4604894',8,2.00),
1869 | (1741,315,'113599',2,5.00),
1870 | (1742,315,'510304',4,4.00),
1871 | (1743,315,'3329993',9,1.00),
1872 | (1744,315,'9845689',1,1.00),
1873 | (1745,315,'8198531',6,3.00),
1874 | (1746,315,'171715',1,4.00),
1875 | (1747,316,'9625977',9,1.00),
1876 | (1748,316,'2118713',6,5.00),
1877 | (1749,316,'4882043',6,1.00),
1878 | (1750,316,'4101378',1,4.00),
1879 | (1751,316,'4151877',8,2.00),
1880 | (1752,316,'1788965',10,5.00),
1881 | (1753,316,'7018346',8,3.00),
1882 | (1754,316,'2389243',4,3.00),
1883 | (1755,317,'2944537',9,2.00),
1884 | (1756,317,'1457175',8,4.00),
1885 | (1757,317,'4156747',3,1.00),
1886 | (1758,317,'6755589',6,1.00),
1887 | (1759,317,'487617',8,2.00),
1888 | (1760,317,'8019984',2,1.00),
1889 | (1761,318,'8100490',6,3.00),
1890 | (1762,318,'4369542',5,2.00),
1891 | (1763,318,'2487884',6,3.00),
1892 | (1764,319,'9776783',4,3.00),
1893 | (1765,319,'3977784',9,2.00),
1894 | (1766,319,'2392950',10,5.00),
1895 | (1767,319,'1365489',6,5.00),
1896 | (1768,319,'2530378',1,2.00),
1897 | (1769,319,'6628723',8,2.00),
1898 | (1770,319,'2119679',6,2.00),
1899 | (1771,320,'6970058',1,3.00),
1900 | (1772,320,'5308711',1,1.00),
1901 | (1773,320,'1054618',4,2.00),
1902 | (1774,320,'9297929',3,1.00),
1903 | (1775,320,'4392019',4,3.00),
1904 | (1776,320,'7292879',3,5.00),
1905 | (1777,320,'4645968',4,5.00),
1906 | (1778,321,'6266036',7,4.00),
1907 | (1779,321,'1212970',7,4.00),
1908 | (1780,321,'7916486',1,3.00),
1909 | (1781,321,'5087200',8,3.00),
1910 | (1782,321,'897727',7,2.00),
1911 | (1783,322,'9830714',9,2.00),
1912 | (1784,322,'3213741',1,5.00),
1913 | (1785,322,'3015767',5,3.00),
1914 | (1786,322,'555471',10,5.00),
1915 | (1787,322,'7432084',8,3.00),
1916 | (1788,322,'5595732',8,3.00),
1917 | (1789,322,'8283740',1,2.00),
1918 | (1790,323,'7043742',7,5.00),
1919 | (1791,323,'4295623',2,5.00),
1920 | (1792,323,'9000642',1,4.00),
1921 | (1793,323,'5081151',7,1.00),
1922 | (1794,323,'8993982',8,3.00),
1923 | (1795,323,'6691233',1,3.00),
1924 | (1796,324,'3799844',2,1.00),
1925 | (1797,324,'6291882',3,1.00),
1926 | (1798,324,'7418371',2,5.00),
1927 | (1799,325,'4349243',5,5.00),
1928 | (1800,325,'2761229',4,5.00),
1929 | (1801,325,'7719289',5,1.00),
1930 | (1802,325,'5430281',3,3.00),
1931 | (1803,325,'2731782',6,3.00),
1932 | (1804,326,'5448449',3,1.00),
1933 | (1805,326,'5902798',10,5.00),
1934 | (1806,326,'6089679',5,2.00),
1935 | (1807,326,'8959438',2,4.00),
1936 | (1808,326,'8661058',9,4.00),
1937 | (1809,326,'4437008',2,1.00),
1938 | (1810,326,'3635992',10,5.00),
1939 | (1811,326,'8267466',6,3.00),
1940 | (1812,326,'6098959',2,3.00),
1941 | (1813,327,'3666281',1,2.00),
1942 | (1814,327,'4391650',6,5.00),
1943 | (1815,328,'2679956',3,3.00),
1944 | (1816,328,'1291755',5,1.00),
1945 | (1817,328,'7877906',5,1.00),
1946 | (1818,328,'601808',2,1.00),
1947 | (1819,328,'8470144',7,3.00),
1948 | (1820,329,'5806974',1,2.00),
1949 | (1821,329,'4319526',1,4.00),
1950 | (1822,329,'2607830',6,2.00),
1951 | (1823,329,'861601',6,5.00),
1952 | (1824,329,'9426260',5,2.00),
1953 | (1825,330,'7867474',7,4.00),
1954 | (1826,330,'7595335',8,1.00),
1955 | (1827,330,'1138318',3,5.00),
1956 | (1828,330,'2790717',1,2.00),
1957 | (1829,330,'4158342',4,3.00),
1958 | (1830,330,'4281468',8,5.00),
1959 | (1831,330,'4146943',9,1.00),
1960 | (1832,330,'3270920',4,1.00),
1961 | (1833,330,'5722714',10,4.00),
1962 | (1834,330,'6936547',5,5.00),
1963 | (1835,331,'871399',2,4.00),
1964 | (1836,331,'9534784',1,3.00),
1965 | (1837,331,'7009634',1,5.00),
1966 | (1838,331,'2069043',9,1.00),
1967 | (1839,331,'3493882',10,2.00),
1968 | (1840,331,'6975777',3,4.00),
1969 | (1841,331,'5508625',6,2.00),
1970 | (1842,332,'7473124',3,3.00),
1971 | (1843,332,'6331276',10,5.00),
1972 | (1844,332,'6711065',2,3.00),
1973 | (1845,332,'7098685',6,2.00),
1974 | (1846,332,'5279264',10,3.00),
1975 | (1847,332,'860512',8,2.00),
1976 | (1848,333,'7935615',4,4.00),
1977 | (1849,333,'9646850',5,3.00),
1978 | (1850,333,'801130',7,2.00),
1979 | (1851,333,'6137452',8,2.00),
1980 | (1852,333,'3958915',5,2.00),
1981 | (1853,333,'4533560',7,4.00),
1982 | (1854,333,'6200465',5,5.00),
1983 | (1855,333,'9414350',6,3.00),
1984 | (1856,333,'5710972',7,2.00),
1985 | (1857,333,'7193518',2,1.00),
1986 | (1858,334,'6493101',2,5.00),
1987 | (1859,334,'684565',5,2.00),
1988 | (1860,334,'2170645',4,1.00),
1989 | (1861,334,'3431972',9,5.00),
1990 | (1862,335,'8197997',8,1.00),
1991 | (1863,335,'4544265',2,3.00),
1992 | (1864,335,'2162912',10,2.00),
1993 | (1865,335,'1813243',10,2.00),
1994 | (1866,335,'8029123',7,5.00),
1995 | (1867,335,'4416786',9,1.00),
1996 | (1868,335,'9242403',8,5.00),
1997 | (1869,335,'7065437',10,2.00),
1998 | (1870,335,'3276347',10,1.00),
1999 | (1871,336,'1010450',9,2.00),
2000 | (1872,336,'8717953',8,4.00),
2001 | (1873,336,'9025401',6,2.00),
2002 | (1874,337,'9830668',1,1.00),
2003 | (1875,337,'215155',8,5.00),
2004 | (1876,337,'9727297',2,5.00),
2005 | (1877,337,'3078043',6,4.00),
2006 | (1878,337,'5301861',7,4.00),
2007 | (1879,337,'1137725',5,3.00),
2008 | (1880,338,'6093048',9,3.00),
2009 | (1881,338,'3100770',1,4.00),
2010 | (1882,338,'5044533',7,4.00),
2011 | (1883,338,'2687304',4,4.00),
2012 | (1884,338,'3926949',7,4.00),
2013 | (1885,338,'1738752',4,5.00),
2014 | (1886,338,'641171',8,3.00),
2015 | (1887,338,'647955',10,4.00),
2016 | (1888,338,'5871299',2,1.00),
2017 | (1889,339,'6721740',10,5.00),
2018 | (1890,339,'5104876',10,4.00),
2019 | (1891,340,'8557221',4,3.00),
2020 | (1892,341,'9480598',10,4.00),
2021 | (1893,341,'6057671',6,3.00),
2022 | (1894,341,'5875096',10,1.00),
2023 | (1895,341,'5105369',10,3.00),
2024 | (1896,341,'9292449',6,4.00),
2025 | (1897,341,'5625930',1,3.00),
2026 | (1898,341,'7912578',8,1.00),
2027 | (1899,341,'5894293',6,4.00),
2028 | (1900,341,'9705479',10,1.00),
2029 | (1901,341,'4959323',10,1.00),
2030 | (1902,342,'7754266',10,1.00),
2031 | (1903,342,'5652438',1,4.00),
2032 | (1904,342,'5443537',7,1.00),
2033 | (1905,342,'6076499',1,1.00),
2034 | (1906,342,'4716650',7,5.00),
2035 | (1907,343,'8341350',6,1.00),
2036 | (1908,343,'3156436',4,4.00),
2037 | (1909,344,'2746218',8,5.00),
2038 | (1910,345,'6982280',10,5.00),
2039 | (1911,345,'7591117',8,4.00),
2040 | (1912,345,'2254977',8,3.00),
2041 | (1913,345,'2715150',2,2.00),
2042 | (1914,345,'6361829',7,5.00),
2043 | (1915,345,'1499840',1,1.00),
2044 | (1916,346,'7838482',8,1.00),
2045 | (1917,346,'8081024',1,5.00),
2046 | (1918,346,'6374200',6,4.00),
2047 | (1919,346,'1697937',4,5.00),
2048 | (1920,346,'1021536',10,5.00),
2049 | (1921,347,'1722617',1,3.00),
2050 | (1922,347,'466445',3,5.00),
2051 | (1923,347,'6363949',2,3.00),
2052 | (1924,348,'8031740',5,2.00),
2053 | (1925,348,'4379592',8,4.00),
2054 | (1926,349,'1200289',9,1.00),
2055 | (1927,349,'9003202',8,4.00),
2056 | (1928,349,'1696290',9,2.00),
2057 | (1929,349,'2173080',7,4.00),
2058 | (1930,349,'4243067',7,4.00),
2059 | (1931,349,'6628963',9,5.00),
2060 | (1932,349,'436713',7,3.00),
2061 | (1933,349,'7400909',7,1.00),
2062 | (1934,349,'7246232',7,3.00),
2063 | (1935,350,'2557177',9,1.00),
2064 | (1936,350,'8693965',8,1.00),
2065 | (1937,350,'2735176',6,4.00),
2066 | (1938,350,'7757432',3,5.00),
2067 | (1939,350,'5400024',1,5.00),
2068 | (1940,350,'8365708',10,5.00),
2069 | (1941,350,'869994',7,4.00),
2070 | (1942,350,'9962333',10,1.00),
2071 | (1943,350,'9261974',5,4.00),
2072 | (1944,350,'1276052',6,3.00),
2073 | (1945,351,'3945725',8,4.00),
2074 | (1946,351,'6881522',2,3.00),
2075 | (1947,351,'8164772',2,3.00),
2076 | (1948,351,'5132880',4,3.00),
2077 | (1949,351,'6740844',6,1.00),
2078 | (1950,351,'7189264',8,2.00),
2079 | (1951,351,'2391522',5,2.00),
2080 | (1952,351,'6886049',3,3.00),
2081 | (1953,351,'1854612',3,2.00),
2082 | (1954,351,'3283694',2,1.00),
2083 | (1955,352,'532283',5,4.00),
2084 | (1956,352,'6818659',7,3.00),
2085 | (1957,352,'7789916',7,4.00),
2086 | (1958,353,'3635603',5,2.00),
2087 | (1959,353,'4866688',1,5.00),
2088 | (1960,353,'2044101',3,5.00),
2089 | (1961,353,'5328360',6,1.00),
2090 | (1962,353,'4912989',1,2.00),
2091 | (1963,353,'2153720',4,1.00),
2092 | (1964,353,'7002589',8,1.00),
2093 | (1965,353,'9038111',7,5.00),
2094 | (1966,354,'5343649',6,3.00),
2095 | (1967,354,'6489518',5,4.00),
2096 | (1968,354,'2569026',3,3.00),
2097 | (1969,354,'2876428',6,5.00),
2098 | (1970,354,'5889465',8,5.00),
2099 | (1971,355,'4637764',3,5.00),
2100 | (1972,355,'9066478',4,5.00),
2101 | (1973,356,'3151815',2,4.00),
2102 | (1974,356,'7188507',1,2.00),
2103 | (1975,356,'5692905',1,1.00),
2104 | (1976,356,'7968271',9,2.00),
2105 | (1977,356,'2034505',2,2.00),
2106 | (1978,356,'7440360',5,4.00),
2107 | (1979,356,'5382316',3,3.00),
2108 | (1980,356,'683252',9,4.00),
2109 | (1981,357,'1370600',1,2.00),
2110 | (1982,357,'5930320',10,4.00),
2111 | (1983,357,'1704952',8,5.00),
2112 | (1984,357,'535274',7,2.00),
2113 | (1985,357,'5578517',7,5.00),
2114 | (1986,358,'3403473',9,3.00),
2115 | (1987,358,'1043214',4,3.00),
2116 | (1988,358,'6698968',1,1.00),
2117 | (1989,359,'7285978',3,2.00),
2118 | (1990,359,'4054293',1,2.00),
2119 | (1991,359,'5302190',4,1.00),
2120 | (1992,359,'1845426',6,2.00),
2121 | (1993,359,'8318488',4,4.00),
2122 | (1994,359,'8769081',5,5.00),
2123 | (1995,359,'6466635',4,4.00),
2124 | (1996,359,'1803466',6,2.00),
2125 | (1997,359,'7431103',10,3.00),
2126 | (1998,359,'2324769',5,3.00),
2127 | (1999,360,'9388848',4,3.00),
2128 | (2000,360,'1460251',8,3.00),
2129 | (2001,360,'2274727',10,3.00),
2130 | (2002,360,'1043838',8,2.00),
2131 | (2003,360,'6704790',10,1.00),
2132 | (2004,360,'3596478',4,2.00),
2133 | (2005,360,'5824378',1,3.00),
2134 | (2006,360,'4955915',3,3.00),
2135 | (2007,360,'373106',8,4.00),
2136 | (2008,361,'3231151',5,3.00),
2137 | (2009,361,'532381',6,2.00),
2138 | (2010,362,'8032127',7,5.00),
2139 | (2011,362,'8534558',3,4.00),
2140 | (2012,362,'8616683',5,3.00),
2141 | (2013,362,'6198154',2,4.00),
2142 | (2014,362,'3789778',7,3.00),
2143 | (2015,362,'6840481',6,4.00),
2144 | (2016,363,'5974873',3,5.00),
2145 | (2017,363,'4030009',3,3.00),
2146 | (2018,363,'9633002',5,2.00),
2147 | (2019,363,'9710882',9,3.00),
2148 | (2020,363,'8582220',10,3.00),
2149 | (2021,364,'6401970',2,3.00),
2150 | (2022,365,'755725',3,4.00),
2151 | (2023,365,'6738506',8,1.00),
2152 | (2024,366,'687921',10,1.00),
2153 | (2025,366,'2770300',3,2.00),
2154 | (2026,366,'3968907',3,1.00),
2155 | (2027,366,'6285790',5,5.00),
2156 | (2028,366,'3517268',8,1.00),
2157 | (2029,366,'5392911',9,5.00),
2158 | (2030,367,'6032558',10,1.00),
2159 | (2031,367,'9238644',8,5.00),
2160 | (2032,367,'6164410',3,1.00),
2161 | (2033,368,'1190793',2,5.00),
2162 | (2034,368,'3156231',2,3.00),
2163 | (2035,368,'3639558',6,5.00),
2164 | (2036,368,'8706667',5,3.00),
2165 | (2037,369,'4937307',4,5.00),
2166 | (2038,369,'3497351',6,1.00),
2167 | (2039,369,'3889172',3,1.00),
2168 | (2040,369,'9332114',10,3.00),
2169 | (2041,369,'7837020',2,4.00),
2170 | (2042,369,'2833976',7,4.00),
2171 | (2043,369,'4515585',8,5.00),
2172 | (2044,369,'9382812',2,2.00),
2173 | (2045,369,'6551049',2,1.00),
2174 | (2046,370,'3508028',7,4.00),
2175 | (2047,371,'8119472',6,1.00),
2176 | (2048,371,'7513611',5,2.00),
2177 | (2049,372,'9610911',5,3.00),
2178 | (2050,372,'3645216',10,5.00),
2179 | (2051,372,'3617575',4,4.00),
2180 | (2052,372,'7797598',3,2.00),
2181 | (2053,373,'3224846',3,3.00),
2182 | (2054,374,'6880889',4,5.00),
2183 | (2055,374,'3400980',2,5.00),
2184 | (2056,374,'7206040',1,5.00),
2185 | (2057,374,'4612837',3,3.00),
2186 | (2058,374,'2336018',7,4.00),
2187 | (2059,374,'7567151',8,1.00),
2188 | (2060,374,'4407910',4,5.00),
2189 | (2061,374,'4809061',9,4.00),
2190 | (2062,375,'2301673',6,5.00),
2191 | (2063,375,'6116985',1,3.00),
2192 | (2064,375,'7619193',1,3.00),
2193 | (2065,375,'7859161',5,2.00),
2194 | (2066,375,'9486413',9,3.00),
2195 | (2067,375,'4011886',8,4.00),
2196 | (2068,376,'2511319',2,5.00),
2197 | (2069,376,'7282767',10,2.00),
2198 | (2070,376,'2045299',3,5.00),
2199 | (2071,376,'9362482',9,4.00),
2200 | (2072,376,'7814598',2,2.00),
2201 | (2073,376,'1468044',4,5.00),
2202 | (2074,377,'4230239',6,2.00),
2203 | (2075,377,'1636910',5,4.00),
2204 | (2076,377,'5536557',9,4.00),
2205 | (2077,378,'8132766',8,2.00),
2206 | (2078,378,'7476512',9,3.00),
2207 | (2079,378,'6429610',4,5.00),
2208 | (2080,378,'1851293',10,2.00),
2209 | (2081,378,'3718827',5,1.00),
2210 | (2082,378,'6555223',6,3.00),
2211 | (2083,378,'9372547',6,1.00),
2212 | (2084,379,'8346010',10,1.00),
2213 | (2085,380,'1341584',4,1.00),
2214 | (2086,380,'2074162',6,4.00),
2215 | (2087,381,'3473406',9,1.00),
2216 | (2088,381,'704919',7,3.00),
2217 | (2089,381,'9713438',5,2.00),
2218 | (2090,382,'3579392',8,4.00),
2219 | (2091,382,'4612455',6,1.00),
2220 | (2092,382,'8519538',1,4.00),
2221 | (2093,382,'8964529',10,1.00),
2222 | (2094,382,'6043256',8,3.00),
2223 | (2095,383,'1307449',3,1.00),
2224 | (2096,383,'3573440',4,2.00),
2225 | (2097,383,'4057369',5,2.00),
2226 | (2098,384,'8578545',3,4.00),
2227 | (2099,385,'6167212',1,5.00),
2228 | (2100,385,'3387925',7,1.00),
2229 | (2101,385,'253774',6,4.00),
2230 | (2102,385,'1471549',4,5.00),
2231 | (2103,385,'936426',5,1.00),
2232 | (2104,385,'6799606',9,4.00),
2233 | (2105,385,'3686939',2,3.00),
2234 | (2106,385,'547396',8,1.00),
2235 | (2107,385,'8040180',3,2.00),
2236 | (2108,385,'8594500',6,5.00),
2237 | (2109,386,'3882684',10,3.00),
2238 | (2110,386,'8453098',8,5.00),
2239 | (2111,386,'6880526',5,5.00),
2240 | (2112,387,'7118820',2,2.00),
2241 | (2113,388,'6269582',8,3.00),
2242 | (2114,388,'7816865',8,2.00),
2243 | (2115,388,'5230143',6,4.00),
2244 | (2116,388,'4866242',1,3.00),
2245 | (2117,389,'1833082',5,3.00),
2246 | (2118,389,'6402033',2,5.00),
2247 | (2119,389,'8717941',4,2.00),
2248 | (2120,389,'4534996',4,3.00),
2249 | (2121,389,'7306655',9,1.00),
2250 | (2122,389,'6703679',3,1.00),
2251 | (2123,389,'9771897',8,1.00),
2252 | (2124,389,'2290989',8,5.00),
2253 | (2125,389,'1054307',3,2.00),
2254 | (2126,389,'957251',3,5.00),
2255 | (2127,390,'1061274',6,5.00),
2256 | (2128,390,'9015576',2,1.00),
2257 | (2129,390,'5402349',3,5.00),
2258 | (2130,390,'4827337',3,4.00),
2259 | (2131,390,'5360428',3,4.00),
2260 | (2132,390,'5757461',10,5.00),
2261 | (2133,390,'3371649',4,2.00),
2262 | (2134,390,'5563780',5,2.00),
2263 | (2135,391,'7308015',3,2.00),
2264 | (2136,391,'8086934',6,5.00),
2265 | (2137,391,'6633553',4,5.00),
2266 | (2138,391,'9982419',7,2.00),
2267 | (2139,391,'380514',2,2.00),
2268 | (2140,391,'3778150',9,3.00),
2269 | (2141,391,'7269747',8,3.00),
2270 | (2142,391,'9989149',8,4.00),
2271 | (2143,391,'6435446',6,1.00),
2272 | (2144,391,'5767513',3,2.00),
2273 | (2145,392,'8658484',7,2.00),
2274 | (2146,392,'3062109',2,2.00),
2275 | (2147,392,'8562430',1,5.00),
2276 | (2148,392,'462689',3,3.00),
2277 | (2149,392,'3681093',10,3.00),
2278 | (2150,392,'9033422',7,4.00),
2279 | (2151,392,'9709034',10,3.00),
2280 | (2152,392,'7724847',8,3.00),
2281 | (2153,392,'6838461',2,2.00),
2282 | (2154,392,'2153790',10,2.00),
2283 | (2155,393,'6538601',1,5.00),
2284 | (2156,393,'8836842',6,2.00),
2285 | (2157,393,'458205',5,3.00),
2286 | (2158,393,'3606156',3,4.00),
2287 | (2159,393,'2163877',10,2.00),
2288 | (2160,394,'4563585',7,2.00),
2289 | (2161,394,'8019860',5,1.00),
2290 | (2162,394,'3975638',3,1.00),
2291 | (2163,394,'6968161',4,4.00),
2292 | (2164,394,'8889237',6,3.00),
2293 | (2165,394,'4251078',3,2.00),
2294 | (2166,394,'2449177',1,5.00),
2295 | (2167,395,'5329764',3,3.00),
2296 | (2168,395,'6837487',6,5.00),
2297 | (2169,395,'1384241',1,1.00),
2298 | (2170,395,'3571727',10,3.00),
2299 | (2171,395,'8661264',9,4.00),
2300 | (2172,395,'7161457',1,1.00),
2301 | (2173,395,'7915532',6,5.00),
2302 | (2174,395,'2011860',10,2.00),
2303 | (2175,395,'7858148',2,3.00),
2304 | (2176,395,'5104106',7,2.00),
2305 | (2177,396,'2824764',2,1.00),
2306 | (2178,396,'9558579',1,5.00),
2307 | (2179,396,'1621339',2,2.00),
2308 | (2180,396,'1006739',10,2.00),
2309 | (2181,396,'6777352',1,4.00),
2310 | (2182,396,'9033829',6,4.00),
2311 | (2183,396,'1716347',8,3.00),
2312 | (2184,396,'9933183',9,4.00),
2313 | (2185,396,'6256133',10,3.00),
2314 | (2186,396,'9915371',8,5.00),
2315 | (2187,397,'8157571',7,4.00),
2316 | (2188,397,'9585552',9,4.00),
2317 | (2189,397,'3964604',1,5.00),
2318 | (2190,397,'219825',9,1.00),
2319 | (2191,397,'5349216',1,2.00),
2320 | (2192,397,'9752112',2,2.00),
2321 | (2193,397,'7491860',5,3.00),
2322 | (2194,398,'3201907',1,3.00),
2323 | (2195,398,'771993',1,4.00),
2324 | (2196,399,'8089399',10,4.00),
2325 | (2197,399,'708363',4,4.00),
2326 | (2198,399,'3936206',1,1.00),
2327 | (2199,399,'7429072',7,4.00),
2328 | (2200,399,'6888239',8,3.00),
2329 | (2201,400,'5684685',4,4.00),
2330 | (2202,400,'6729466',3,4.00),
2331 | (2203,400,'9060554',7,5.00),
2332 | (2204,400,'5219948',1,2.00),
2333 | (2205,400,'1905552',7,4.00),
2334 | (2206,400,'3568666',2,3.00),
2335 | (2207,400,'8769352',1,5.00),
2336 | (2208,401,'2625442',2,1.00),
2337 | (2209,401,'8381998',8,4.00),
2338 | (2210,401,'5359456',3,5.00),
2339 | (2211,401,'8831138',3,1.00),
2340 | (2212,401,'6212525',7,3.00),
2341 | (2213,401,'9756578',8,5.00),
2342 | (2214,401,'1572888',8,3.00),
2343 | (2215,401,'7148680',7,2.00),
2344 | (2216,401,'4160746',5,2.00),
2345 | (2217,401,'8685114',4,5.00),
2346 | (2218,402,'857053',2,1.00),
2347 | (2219,403,'2144436',9,3.00),
2348 | (2220,403,'1221822',7,4.00),
2349 | (2221,403,'9204866',2,5.00),
2350 | (2222,403,'4353817',1,1.00),
2351 | (2223,403,'8352748',6,2.00),
2352 | (2224,403,'7311229',6,4.00),
2353 | (2225,403,'9361085',5,3.00),
2354 | (2226,403,'1627640',9,1.00),
2355 | (2227,404,'7517654',7,2.00),
2356 | (2228,404,'5086281',9,4.00),
2357 | (2229,404,'6317265',6,1.00),
2358 | (2230,404,'2912484',9,1.00),
2359 | (2231,404,'8907419',4,2.00),
2360 | (2232,404,'6103538',5,3.00),
2361 | (2233,404,'1000285',6,3.00),
2362 | (2234,405,'1402518',3,3.00),
2363 | (2235,405,'977688',5,4.00),
2364 | (2236,405,'8615477',3,3.00),
2365 | (2237,405,'4160618',5,1.00),
2366 | (2238,405,'529205',4,3.00),
2367 | (2239,405,'4450008',5,1.00),
2368 | (2240,405,'261760',5,2.00),
2369 | (2241,405,'7007468',4,3.00),
2370 | (2242,405,'2208219',8,5.00),
2371 | (2243,406,'8525583',5,1.00),
2372 | (2244,406,'3213418',6,4.00),
2373 | (2245,406,'8604592',3,3.00),
2374 | (2246,406,'7769073',1,3.00),
2375 | (2247,406,'2031423',3,5.00),
2376 | (2248,406,'5358588',2,4.00),
2377 | (2249,407,'3175038',10,4.00),
2378 | (2250,407,'7922352',10,2.00),
2379 | (2251,407,'1393788',5,2.00),
2380 | (2252,407,'8490554',1,4.00),
2381 | (2253,407,'568979',4,2.00),
2382 | (2254,408,'7093718',5,5.00),
2383 | (2255,408,'7473015',2,3.00),
2384 | (2256,408,'5637252',9,4.00),
2385 | (2257,408,'8888205',7,4.00),
2386 | (2258,408,'6907762',10,5.00),
2387 | (2259,409,'3830480',9,4.00),
2388 | (2260,409,'9087838',2,2.00),
2389 | (2261,409,'1014432',10,2.00),
2390 | (2262,409,'8084629',8,3.00),
2391 | (2263,409,'4230864',5,1.00),
2392 | (2264,409,'6098883',4,3.00),
2393 | (2265,409,'9156468',6,2.00),
2394 | (2266,409,'500078',3,5.00),
2395 | (2267,409,'666124',4,3.00),
2396 | (2268,409,'6303502',2,4.00),
2397 | (2269,410,'4233231',5,1.00),
2398 | (2270,410,'5569350',9,1.00),
2399 | (2271,410,'5917883',7,4.00),
2400 | (2272,410,'3752947',2,3.00),
2401 | (2273,411,'8445092',8,4.00),
2402 | (2274,411,'5042062',8,3.00),
2403 | (2275,411,'1558120',6,3.00),
2404 | (2276,411,'2788600',3,1.00),
2405 | (2277,411,'3184928',10,1.00),
2406 | (2278,411,'5384490',8,5.00),
2407 | (2279,411,'2331727',5,5.00),
2408 | (2280,411,'9726420',8,5.00),
2409 | (2281,411,'9650252',8,2.00),
2410 | (2282,411,'6591057',9,2.00),
2411 | (2283,412,'6374295',9,2.00),
2412 | (2284,413,'1660477',8,5.00),
2413 | (2285,413,'2253637',9,3.00),
2414 | (2286,413,'5597325',3,4.00),
2415 | (2287,413,'4483399',5,4.00),
2416 | (2288,413,'5322156',8,4.00),
2417 | (2289,413,'7775994',4,2.00),
2418 | (2290,413,'8553063',1,5.00),
2419 | (2291,414,'3416229',2,3.00),
2420 | (2292,414,'3387024',9,1.00),
2421 | (2293,414,'4484825',8,1.00),
2422 | (2294,414,'785574',10,1.00),
2423 | (2295,414,'1956227',7,3.00),
2424 | (2296,414,'5938311',7,5.00),
2425 | (2297,414,'5411353',7,3.00),
2426 | (2298,415,'8915625',1,3.00),
2427 | (2299,416,'2266528',4,4.00),
2428 | (2300,416,'5959861',7,3.00),
2429 | (2301,416,'4302193',5,3.00),
2430 | (2302,417,'1050397',9,1.00),
2431 | (2303,417,'1981456',3,2.00),
2432 | (2304,417,'9301666',9,5.00),
2433 | (2305,417,'5059795',2,5.00),
2434 | (2306,417,'4421258',1,3.00),
2435 | (2307,417,'7756328',1,2.00),
2436 | (2308,417,'2894769',7,4.00),
2437 | (2309,417,'5095109',9,2.00),
2438 | (2310,417,'6389159',4,5.00),
2439 | (2311,418,'3537325',2,5.00),
2440 | (2312,418,'8215355',9,5.00),
2441 | (2313,418,'7269546',6,3.00),
2442 | (2314,419,'7648653',6,4.00),
2443 | (2315,419,'9737840',9,4.00),
2444 | (2316,419,'7351581',4,2.00),
2445 | (2317,419,'7733296',2,2.00),
2446 | (2318,419,'7677305',3,1.00),
2447 | (2319,419,'801142',8,4.00),
2448 | (2320,419,'8926342',3,1.00),
2449 | (2321,420,'8184822',10,2.00),
2450 | (2322,420,'5440268',6,3.00),
2451 | (2323,420,'6218480',1,5.00),
2452 | (2324,420,'2254406',1,4.00),
2453 | (2325,421,'3576532',5,2.00),
2454 | (2326,421,'6496340',1,3.00),
2455 | (2327,421,'482911',3,5.00),
2456 | (2328,421,'6119302',1,1.00),
2457 | (2329,421,'4774853',7,2.00),
2458 | (2330,421,'2234172',10,3.00),
2459 | (2331,422,'1994972',6,1.00),
2460 | (2332,422,'1888946',9,3.00),
2461 | (2333,422,'5825513',4,2.00),
2462 | (2334,422,'3556063',5,3.00),
2463 | (2335,422,'2672487',9,4.00),
2464 | (2336,422,'5945345',9,1.00),
2465 | (2337,422,'8782728',8,4.00),
2466 | (2338,422,'2081411',6,4.00),
2467 | (2339,422,'3205262',6,4.00),
2468 | (2340,422,'4488336',2,4.00),
2469 | (2341,423,'5249542',3,4.00),
2470 | (2342,423,'6478778',3,3.00),
2471 | (2343,423,'9355609',1,2.00),
2472 | (2344,423,'3716646',2,3.00),
2473 | (2345,423,'1080458',1,1.00),
2474 | (2346,423,'902179',3,2.00),
2475 | (2347,423,'195862',1,3.00),
2476 | (2348,423,'7378786',3,4.00),
2477 | (2349,423,'8657610',3,1.00),
2478 | (2350,424,'8035955',1,4.00),
2479 | (2351,424,'5261724',2,2.00),
2480 | (2352,424,'3924864',1,1.00),
2481 | (2353,424,'8900273',3,4.00),
2482 | (2354,424,'4201607',1,5.00),
2483 | (2355,424,'9308109',1,3.00),
2484 | (2356,424,'1089928',3,1.00),
2485 | (2357,424,'5535464',3,3.00),
2486 | (2358,424,'2959883',3,1.00),
2487 | (2359,424,'3326412',2,4.00),
2488 | (2360,425,'4266802',2,1.00),
2489 | (2361,425,'5494032',1,5.00),
2490 | (2362,425,'8538937',1,4.00),
2491 | (2363,425,'9513581',2,2.00),
2492 | (2364,425,'6588602',2,5.00),
2493 | (2365,425,'2607601',3,5.00),
2494 | (2366,425,'8982457',1,5.00),
2495 | (2367,426,'967278',3,5.00),
2496 | (2368,427,'2806949',1,5.00),
2497 | (2369,427,'1226164',3,1.00),
2498 | (2370,427,'5389793',1,2.00),
2499 | (2371,427,'3064478',3,4.00),
2500 | (2372,427,'1003533',1,4.00),
2501 | (2373,427,'1558556',3,4.00),
2502 | (2374,427,'2625450',1,3.00),
2503 | (2375,427,'350852',3,2.00),
2504 | (2376,428,'1402293',3,4.00),
2505 | (2377,428,'1423004',2,2.00),
2506 | (2378,428,'1101609',3,4.00),
2507 | (2379,428,'8755127',1,2.00),
2508 | (2380,428,'9082522',3,4.00),
2509 | (2381,428,'5790096',2,3.00),
2510 | (2382,428,'4615358',3,3.00),
2511 | (2383,428,'6095526',1,2.00),
2512 | (2384,428,'7257941',1,4.00),
2513 | (2385,428,'9137642',1,3.00),
2514 | (2386,429,'7582988',3,1.00),
2515 | (2387,429,'9893107',3,1.00),
2516 | (2388,429,'4007881',2,4.00),
2517 | (2389,429,'6725081',1,1.00),
2518 | (2390,430,'8980021',2,5.00),
2519 | (2391,430,'575404',1,4.00),
2520 | (2392,430,'9779307',2,1.00),
2521 | (2393,430,'8219447',2,1.00),
2522 | (2394,431,'7243978',2,2.00),
2523 | (2395,431,'3636692',1,4.00),
2524 | (2396,431,'5649348',2,4.00),
2525 | (2397,431,'2896081',3,2.00),
2526 | (2398,431,'6771803',3,2.00),
2527 | (2399,432,'1212791',2,5.00),
2528 | (2400,432,'3351317',1,4.00),
2529 | (2401,433,'2103600',1,2.00),
2530 | (2402,434,'7992629',3,2.00),
2531 | (2403,434,'1886336',1,3.00),
2532 | (2404,434,'3249791',1,3.00),
2533 | (2405,434,'3785834',2,1.00),
2534 | (2406,434,'7958245',3,2.00),
2535 | (2407,434,'2024880',1,1.00),
2536 | (2408,434,'9310577',2,5.00),
2537 | (2409,435,'541574',2,1.00),
2538 | (2410,436,'2598500',3,3.00),
2539 | (2411,436,'6489890',1,2.00),
2540 | (2412,436,'3469694',1,3.00),
2541 | (2413,436,'1504477',3,5.00),
2542 | (2414,436,'5680850',1,4.00),
2543 | (2415,437,'8683225',1,3.00),
2544 | (2416,437,'7868525',3,3.00),
2545 | (2417,437,'5465418',1,5.00),
2546 | (2418,437,'3722462',2,4.00),
2547 | (2419,437,'9573154',2,5.00),
2548 | (2420,437,'3896487',1,1.00),
2549 | (2421,437,'6863953',2,2.00),
2550 | (2422,438,'4357225',2,5.00),
2551 | (2423,438,'1049964',3,4.00),
2552 | (2424,438,'9062457',1,3.00),
2553 | (2425,438,'7363777',1,1.00),
2554 | (2426,439,'2990589',3,4.00),
2555 | (2427,439,'665984',2,4.00),
2556 | (2428,439,'7213995',1,5.00),
2557 | (2429,439,'9733074',3,1.00),
2558 | (2430,439,'1905798',1,3.00),
2559 | (2431,439,'624485',1,1.00),
2560 | (2432,439,'5736557',2,3.00),
2561 | (2433,440,'1345190',2,3.00),
2562 | (2434,440,'4210096',3,5.00),
2563 | (2435,440,'1920049',2,2.00),
2564 | (2436,440,'6336088',1,3.00),
2565 | (2437,440,'6978181',2,5.00),
2566 | (2438,440,'3414511',1,2.00),
2567 | (2439,440,'8965612',2,2.00),
2568 | (2440,440,'6120562',3,3.00),
2569 | (2441,440,'5981202',2,2.00),
2570 | (2442,441,'964255',3,5.00),
2571 | (2443,441,'783929',3,5.00),
2572 | (2444,441,'7896194',2,1.00),
2573 | (2445,441,'7119339',3,3.00),
2574 | (2446,441,'6087549',3,4.00),
2575 | (2447,441,'9425061',2,5.00),
2576 | (2448,442,'2697533',3,1.00),
2577 | (2449,442,'4010512',1,5.00),
2578 | (2450,442,'3898239',2,1.00),
2579 | (2451,442,'7847635',3,4.00),
2580 | (2452,442,'2897140',3,1.00),
2581 | (2453,442,'8084751',2,4.00),
2582 | (2454,442,'5963953',1,1.00),
2583 | (2455,442,'8092723',2,1.00),
2584 | (2456,442,'535887',3,5.00),
2585 | (2457,443,'4045179',2,1.00),
2586 | (2458,443,'5447825',2,4.00),
2587 | (2459,443,'472743',3,2.00),
2588 | (2460,444,'8431482',3,5.00),
2589 | (2461,444,'4273655',3,1.00),
2590 | (2462,445,'7129514',1,1.00),
2591 | (2463,445,'9175598',3,3.00),
2592 | (2464,446,'4881378',2,2.00),
2593 | (2465,446,'3568663',3,5.00),
2594 | (2466,446,'837243',1,4.00),
2595 | (2467,446,'4544288',3,1.00),
2596 | (2468,446,'2693887',1,2.00),
2597 | (2469,446,'779040',2,4.00),
2598 | (2470,446,'6896449',2,2.00),
2599 | (2471,447,'6659457',2,3.00),
2600 | (2472,447,'8852025',2,3.00),
2601 | (2473,447,'9495802',2,4.00),
2602 | (2474,447,'7699027',3,1.00),
2603 | (2475,447,'1167239',1,3.00),
2604 | (2476,447,'1404411',1,2.00),
2605 | (2477,447,'2880374',1,5.00),
2606 | (2478,448,'7140340',3,2.00),
2607 | (2479,448,'8455845',3,1.00),
2608 | (2480,448,'1649986',3,3.00),
2609 | (2481,449,'1246163',3,2.00),
2610 | (2482,449,'6570077',2,2.00),
2611 | (2483,449,'3229309',1,2.00),
2612 | (2484,449,'8690299',2,5.00),
2613 | (2485,449,'5185481',1,3.00),
2614 | (2486,449,'6765235',1,2.00),
2615 | (2487,449,'3082803',2,3.00),
2616 | (2488,449,'9159174',2,1.00),
2617 | (2489,449,'782660',2,1.00),
2618 | (2490,449,'2507756',1,1.00),
2619 | (2491,450,'2505302',3,3.00),
2620 | (2492,450,'5785376',1,1.00),
2621 | (2493,450,'4096542',3,5.00),
2622 | (2494,451,'7216824',3,5.00),
2623 | (2495,451,'765277',1,4.00),
2624 | (2496,451,'6875497',1,5.00),
2625 | (2497,451,'7236699',2,4.00),
2626 | (2498,452,'7824627',1,5.00),
2627 | (2499,452,'5892022',1,1.00),
2628 | (2500,452,'1095742',1,5.00),
2629 | (2501,452,'9045010',1,3.00),
2630 | (2502,452,'5092578',1,3.00),
2631 | (2503,452,'2751366',3,1.00),
2632 | (2504,452,'9983116',2,5.00),
2633 | (2505,453,'1249364',2,5.00),
2634 | (2506,453,'1282731',3,4.00),
2635 | (2507,453,'1761651',1,5.00),
2636 | (2508,453,'7286415',3,5.00),
2637 | (2509,453,'7874901',3,2.00),
2638 | (2510,453,'1151125',3,2.00),
2639 | (2511,453,'8305813',1,1.00),
2640 | (2512,453,'6347649',3,5.00),
2641 | (2513,454,'6044804',2,5.00),
2642 | (2514,454,'4495845',1,1.00),
2643 | (2515,454,'4687588',1,3.00),
2644 | (2516,454,'1393353',2,2.00),
2645 | (2517,454,'5871587',2,2.00),
2646 | (2518,454,'8653988',2,1.00),
2647 | (2519,454,'4430431',2,5.00),
2648 | (2520,454,'7223177',1,3.00),
2649 | (2521,455,'4170599',1,4.00),
2650 | (2522,455,'5556049',2,1.00),
2651 | (2523,455,'2827796',3,1.00),
2652 | (2524,455,'4234539',2,4.00),
2653 | (2525,455,'336515',3,1.00),
2654 | (2526,455,'7616149',3,5.00),
2655 | (2527,455,'1555876',3,2.00),
2656 | (2528,455,'2817813',3,4.00),
2657 | (2529,455,'5393132',2,2.00),
2658 | (2530,455,'4155162',3,2.00),
2659 | (2531,456,'7972576',1,1.00),
2660 | (2532,456,'6121527',1,2.00),
2661 | (2533,456,'8629325',1,3.00),
2662 | (2534,456,'7823882',2,2.00),
2663 | (2535,456,'2916117',2,5.00),
2664 | (2536,456,'8866003',2,5.00),
2665 | (2537,456,'4345184',3,1.00),
2666 | (2538,456,'8888557',2,5.00),
2667 | (2539,456,'8687229',2,3.00),
2668 | (2540,456,'2244102',2,1.00),
2669 | (2541,457,'1004418',1,5.00),
2670 | (2542,457,'8134798',1,1.00),
2671 | (2543,457,'4628585',3,4.00),
2672 | (2544,457,'1726347',2,5.00),
2673 | (2545,457,'7428399',2,1.00),
2674 | (2546,457,'1742227',3,3.00),
2675 | (2547,457,'8843649',2,5.00),
2676 | (2548,457,'1051845',1,3.00),
2677 | (2549,458,'7304926',2,3.00),
2678 | (2550,458,'723704',3,3.00),
2679 | (2551,458,'3774664',1,1.00),
2680 | (2552,458,'9312813',1,1.00),
2681 | (2553,458,'4839902',2,1.00),
2682 | (2554,458,'8636127',3,2.00),
2683 | (2555,458,'806478',3,5.00),
2684 | (2556,459,'7913267',1,5.00),
2685 | (2557,459,'9642006',2,3.00),
2686 | (2558,459,'8759093',1,2.00),
2687 | (2559,459,'1447656',3,5.00),
2688 | (2560,459,'9179959',2,1.00),
2689 | (2561,459,'9040036',2,5.00),
2690 | (2562,460,'1291262',1,5.00),
2691 | (2563,460,'5371153',2,2.00),
2692 | (2564,461,'5915347',1,3.00),
2693 | (2565,461,'2906687',3,4.00),
2694 | (2566,461,'4705894',1,2.00),
2695 | (2567,461,'8707886',1,1.00),
2696 | (2568,461,'8315177',2,1.00),
2697 | (2569,461,'9225163',3,3.00),
2698 | (2570,461,'1119339',1,2.00),
2699 | (2571,461,'3509557',3,3.00),
2700 | (2572,461,'3596670',2,2.00),
2701 | (2573,462,'3509497',1,4.00),
2702 | (2574,462,'8956203',3,3.00),
2703 | (2575,462,'4054387',2,3.00),
2704 | (2576,462,'6828155',3,5.00),
2705 | (2577,462,'8049944',1,4.00),
2706 | (2578,463,'497691',3,3.00),
2707 | (2579,463,'7929149',2,2.00),
2708 | (2580,463,'2464050',3,2.00),
2709 | (2581,463,'9646282',2,2.00),
2710 | (2582,463,'2502294',2,5.00),
2711 | (2583,464,'6355020',1,5.00),
2712 | (2584,464,'1589063',3,5.00),
2713 | (2585,464,'3533987',1,1.00),
2714 | (2586,464,'8255792',3,2.00),
2715 | (2587,465,'4649569',2,2.00),
2716 | (2588,465,'7724105',3,2.00),
2717 | (2589,465,'9821481',2,5.00),
2718 | (2590,465,'9763347',2,5.00),
2719 | (2591,465,'3835713',2,2.00),
2720 | (2592,465,'5090391',1,3.00),
2721 | (2593,466,'1934469',2,4.00),
2722 | (2594,467,'8605134',1,2.00),
2723 | (2595,467,'4241523',2,5.00),
2724 | (2596,467,'8809667',2,4.00),
2725 | (2597,468,'7889882',3,5.00),
2726 | (2598,468,'9607530',3,3.00),
2727 | (2599,468,'9503226',3,2.00),
2728 | (2600,468,'716569',2,1.00),
2729 | (2601,468,'3474082',3,1.00),
2730 | (2602,468,'1978131',1,3.00),
2731 | (2603,469,'5421775',1,3.00),
2732 | (2604,469,'2471360',1,4.00),
2733 | (2605,469,'1366109',1,5.00),
2734 | (2606,469,'4718294',2,3.00),
2735 | (2607,470,'1635549',3,1.00),
2736 | (2608,470,'6590834',3,3.00),
2737 | (2609,471,'4566335',3,2.00),
2738 | (2610,471,'4515863',2,4.00),
2739 | (2611,471,'2578070',1,1.00),
2740 | (2612,471,'8990865',2,3.00),
2741 | (2613,471,'633433',3,3.00),
2742 | (2614,471,'5937671',3,1.00),
2743 | (2615,472,'4531306',1,2.00),
2744 | (2616,472,'6617338',2,1.00),
2745 | (2617,472,'3400420',3,2.00),
2746 | (2618,472,'407100',2,4.00),
2747 | (2619,472,'9434289',1,2.00),
2748 | (2620,472,'593130',3,5.00),
2749 | (2621,472,'5500836',2,1.00),
2750 | (2622,472,'7658487',2,4.00),
2751 | (2623,472,'4923658',2,5.00),
2752 | (2624,473,'4404499',1,4.00),
2753 | (2625,473,'3549624',2,5.00),
2754 | (2626,473,'4475379',2,1.00),
2755 | (2627,473,'6752036',2,3.00),
2756 | (2628,473,'5245911',1,2.00),
2757 | (2629,473,'2450662',1,2.00),
2758 | (2630,474,'667758',2,4.00),
2759 | (2631,474,'2673278',1,4.00),
2760 | (2632,474,'5822110',2,5.00),
2761 | (2633,474,'4110921',3,5.00),
2762 | (2634,474,'6393798',1,5.00),
2763 | (2635,474,'9692365',2,1.00),
2764 | (2636,474,'9927077',1,2.00),
2765 | (2637,474,'6491551',2,4.00),
2766 | (2638,475,'9155006',1,5.00),
2767 | (2639,476,'639878',2,4.00),
2768 | (2640,476,'3150280',3,4.00),
2769 | (2641,476,'9848115',2,2.00),
2770 | (2642,476,'6103532',2,3.00),
2771 | (2643,476,'2780872',2,1.00),
2772 | (2644,476,'5405421',1,4.00),
2773 | (2645,476,'8861485',3,4.00),
2774 | (2646,476,'630230',3,5.00),
2775 | (2647,476,'8201969',1,5.00),
2776 | (2648,476,'5404793',1,1.00);
2777 |
2778 | /*!40000 ALTER TABLE `order_item` ENABLE KEYS */;
2779 | UNLOCK TABLES;
2780 |
2781 |
2782 | # Dump of table orders
2783 | # ------------------------------------------------------------
2784 |
2785 | DROP TABLE IF EXISTS `orders`;
2786 |
2787 | CREATE TABLE `orders` (
2788 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
2789 | `customer_id` int(10) unsigned NOT NULL,
2790 | `created_at` datetime NOT NULL,
2791 | `country_id` int(10) unsigned NOT NULL,
2792 | `device_id` int(10) unsigned NOT NULL,
2793 | PRIMARY KEY (`id`),
2794 | KEY `customer_id` (`customer_id`),
2795 | KEY `country_id` (`country_id`),
2796 | KEY `device_id` (`device_id`),
2797 | CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`),
2798 | CONSTRAINT `orders_ibfk_2` FOREIGN KEY (`country_id`) REFERENCES `countries` (`id`),
2799 | CONSTRAINT `orders_ibfk_3` FOREIGN KEY (`device_id`) REFERENCES `devices` (`id`)
2800 | ) ENGINE=InnoDB AUTO_INCREMENT=477 DEFAULT CHARSET=utf8;
2801 |
2802 | LOCK TABLES `orders` WRITE;
2803 | /*!40000 ALTER TABLE `orders` DISABLE KEYS */;
2804 |
2805 | INSERT INTO `orders` (`id`, `customer_id`, `created_at`, `country_id`, `device_id`)
2806 | VALUES
2807 | (1,12,'2018-01-01 00:00:00',6,1),
2808 | (2,11,'2018-01-02 00:00:00',4,1),
2809 | (3,13,'2018-01-03 00:00:00',2,1),
2810 | (4,2,'2018-01-04 00:00:00',5,1),
2811 | (5,9,'2018-01-05 00:00:00',5,1),
2812 | (6,12,'2018-01-06 00:00:00',2,1),
2813 | (7,13,'2018-01-07 00:00:00',1,1),
2814 | (8,1,'2018-01-08 00:00:00',5,1),
2815 | (9,13,'2018-01-09 00:00:00',6,1),
2816 | (10,11,'2018-01-10 00:00:00',2,1),
2817 | (11,1,'2018-01-11 00:00:00',1,1),
2818 | (12,11,'2018-01-12 00:00:00',2,1),
2819 | (13,2,'2018-01-13 00:00:00',3,1),
2820 | (14,16,'2018-01-14 00:00:00',4,1),
2821 | (15,16,'2018-01-15 00:00:00',4,1),
2822 | (16,11,'2018-01-16 00:00:00',3,1),
2823 | (17,10,'2018-01-17 00:00:00',3,1),
2824 | (18,3,'2018-01-18 00:00:00',1,1),
2825 | (19,1,'2018-01-19 00:00:00',2,1),
2826 | (20,16,'2018-01-20 00:00:00',4,1),
2827 | (21,11,'2018-01-21 00:00:00',2,1),
2828 | (22,12,'2018-01-22 00:00:00',4,1),
2829 | (23,9,'2018-01-23 00:00:00',2,1),
2830 | (24,9,'2018-01-24 00:00:00',4,1),
2831 | (25,4,'2018-01-25 00:00:00',1,1),
2832 | (26,1,'2018-01-26 00:00:00',4,1),
2833 | (27,4,'2018-01-27 00:00:00',2,1),
2834 | (28,1,'2018-01-28 00:00:00',6,1),
2835 | (29,3,'2018-01-29 00:00:00',4,1),
2836 | (30,15,'2018-01-30 00:00:00',2,1),
2837 | (31,14,'2018-01-01 00:00:00',6,1),
2838 | (32,1,'2018-01-02 00:00:00',4,1),
2839 | (33,1,'2018-01-03 00:00:00',3,1),
2840 | (34,3,'2018-01-04 00:00:00',2,1),
2841 | (35,2,'2018-01-05 00:00:00',3,1),
2842 | (36,2,'2018-01-06 00:00:00',2,1),
2843 | (37,9,'2018-01-07 00:00:00',2,1),
2844 | (38,10,'2018-01-08 00:00:00',1,1),
2845 | (39,13,'2018-01-09 00:00:00',2,1),
2846 | (40,15,'2018-01-10 00:00:00',5,1),
2847 | (41,13,'2018-01-11 00:00:00',4,1),
2848 | (42,15,'2018-01-12 00:00:00',3,1),
2849 | (43,10,'2018-01-13 00:00:00',3,1),
2850 | (44,9,'2018-01-14 00:00:00',2,1),
2851 | (45,10,'2018-01-15 00:00:00',5,1),
2852 | (46,2,'2018-01-16 00:00:00',1,1),
2853 | (47,10,'2018-01-17 00:00:00',3,1),
2854 | (48,14,'2018-01-18 00:00:00',4,1),
2855 | (49,15,'2018-01-19 00:00:00',2,1),
2856 | (50,9,'2018-01-20 00:00:00',2,1),
2857 | (51,2,'2018-01-21 00:00:00',4,1),
2858 | (52,2,'2018-01-22 00:00:00',5,1),
2859 | (53,15,'2018-01-23 00:00:00',1,1),
2860 | (54,11,'2018-01-24 00:00:00',2,1),
2861 | (55,3,'2018-01-25 00:00:00',2,1),
2862 | (56,12,'2018-01-26 00:00:00',6,1),
2863 | (57,13,'2018-01-27 00:00:00',3,1),
2864 | (58,14,'2018-01-28 00:00:00',3,1),
2865 | (59,9,'2018-01-29 00:00:00',1,1),
2866 | (60,2,'2018-01-30 00:00:00',6,1),
2867 | (61,12,'2018-01-01 00:00:00',6,1),
2868 | (62,3,'2018-01-02 00:00:00',1,1),
2869 | (63,9,'2018-01-03 00:00:00',2,1),
2870 | (64,10,'2018-01-04 00:00:00',5,1),
2871 | (65,16,'2018-01-05 00:00:00',1,1),
2872 | (66,2,'2018-01-06 00:00:00',4,1),
2873 | (67,9,'2018-01-07 00:00:00',6,1),
2874 | (68,9,'2018-01-08 00:00:00',3,1),
2875 | (69,1,'2018-01-09 00:00:00',2,1),
2876 | (70,11,'2018-01-10 00:00:00',4,1),
2877 | (71,11,'2018-01-11 00:00:00',6,1),
2878 | (72,4,'2018-01-12 00:00:00',5,1),
2879 | (73,15,'2018-01-13 00:00:00',2,1),
2880 | (74,11,'2018-01-14 00:00:00',3,1),
2881 | (75,11,'2018-01-15 00:00:00',4,1),
2882 | (76,10,'2018-01-16 00:00:00',2,1),
2883 | (77,9,'2018-01-17 00:00:00',1,1),
2884 | (78,15,'2018-01-18 00:00:00',3,1),
2885 | (79,13,'2018-01-19 00:00:00',6,1),
2886 | (80,14,'2018-01-20 00:00:00',3,1),
2887 | (81,4,'2018-01-21 00:00:00',3,1),
2888 | (82,11,'2018-01-22 00:00:00',1,1),
2889 | (83,10,'2018-01-23 00:00:00',4,1),
2890 | (84,9,'2018-01-24 00:00:00',2,1),
2891 | (85,16,'2018-01-25 00:00:00',4,1),
2892 | (86,13,'2018-01-26 00:00:00',3,1),
2893 | (87,11,'2018-01-27 00:00:00',3,1),
2894 | (88,15,'2018-01-28 00:00:00',3,1),
2895 | (89,11,'2018-01-29 00:00:00',5,1),
2896 | (90,4,'2018-01-30 00:00:00',6,1),
2897 | (91,14,'2018-01-01 00:00:00',6,1),
2898 | (92,16,'2018-01-02 00:00:00',1,1),
2899 | (93,11,'2018-01-03 00:00:00',3,1),
2900 | (94,13,'2018-01-04 00:00:00',2,1),
2901 | (95,10,'2018-01-05 00:00:00',3,1),
2902 | (96,16,'2018-01-06 00:00:00',5,1),
2903 | (97,9,'2018-01-07 00:00:00',1,1),
2904 | (98,13,'2018-01-08 00:00:00',1,1),
2905 | (99,1,'2018-01-09 00:00:00',2,1),
2906 | (100,16,'2018-01-10 00:00:00',5,1),
2907 | (101,3,'2018-01-11 00:00:00',3,1),
2908 | (102,9,'2018-01-12 00:00:00',5,1),
2909 | (103,15,'2018-01-13 00:00:00',3,1),
2910 | (104,16,'2018-01-14 00:00:00',1,1),
2911 | (105,4,'2018-01-15 00:00:00',5,1),
2912 | (106,3,'2018-01-16 00:00:00',5,1),
2913 | (107,2,'2018-01-17 00:00:00',1,1),
2914 | (108,13,'2018-01-18 00:00:00',4,1),
2915 | (109,13,'2018-01-19 00:00:00',3,1),
2916 | (110,1,'2018-01-20 00:00:00',2,1),
2917 | (111,9,'2018-01-21 00:00:00',3,1),
2918 | (112,11,'2018-01-22 00:00:00',5,1),
2919 | (113,16,'2018-01-23 00:00:00',3,1),
2920 | (114,11,'2018-01-24 00:00:00',2,1),
2921 | (115,3,'2018-01-25 00:00:00',4,1),
2922 | (116,2,'2018-01-26 00:00:00',5,1),
2923 | (117,16,'2018-01-27 00:00:00',6,1),
2924 | (118,2,'2018-01-28 00:00:00',3,1),
2925 | (119,11,'2018-01-29 00:00:00',5,1),
2926 | (120,12,'2018-01-30 00:00:00',6,1),
2927 | (121,15,'2018-01-01 00:00:00',2,1),
2928 | (122,12,'2018-01-02 00:00:00',6,1),
2929 | (123,10,'2018-01-03 00:00:00',6,1),
2930 | (124,4,'2018-01-04 00:00:00',1,1),
2931 | (125,4,'2018-01-05 00:00:00',1,1),
2932 | (126,12,'2018-01-06 00:00:00',3,1),
2933 | (127,13,'2018-01-07 00:00:00',3,1),
2934 | (128,4,'2018-01-08 00:00:00',5,1),
2935 | (129,11,'2018-01-09 00:00:00',2,1),
2936 | (130,4,'2018-01-10 00:00:00',6,1),
2937 | (131,3,'2018-01-11 00:00:00',5,1),
2938 | (132,12,'2018-01-12 00:00:00',4,1),
2939 | (133,4,'2018-01-13 00:00:00',6,1),
2940 | (134,14,'2018-01-14 00:00:00',1,1),
2941 | (135,12,'2018-01-15 00:00:00',4,1),
2942 | (136,13,'2018-01-16 00:00:00',4,1),
2943 | (137,15,'2018-01-17 00:00:00',1,1),
2944 | (138,3,'2018-01-18 00:00:00',6,1),
2945 | (139,2,'2018-01-19 00:00:00',5,1),
2946 | (140,14,'2018-01-20 00:00:00',2,1),
2947 | (141,12,'2018-01-21 00:00:00',5,1),
2948 | (142,2,'2018-01-22 00:00:00',5,1),
2949 | (143,16,'2018-01-23 00:00:00',4,1),
2950 | (144,11,'2018-01-24 00:00:00',6,1),
2951 | (145,9,'2018-01-25 00:00:00',1,1),
2952 | (146,10,'2018-01-26 00:00:00',3,1),
2953 | (147,2,'2018-01-27 00:00:00',2,1),
2954 | (148,16,'2018-01-28 00:00:00',2,1),
2955 | (149,13,'2018-01-29 00:00:00',3,1),
2956 | (150,14,'2018-01-30 00:00:00',2,1),
2957 | (151,12,'2018-01-01 00:00:00',3,1),
2958 | (152,9,'2018-01-02 00:00:00',2,1),
2959 | (153,4,'2018-01-03 00:00:00',6,1),
2960 | (154,3,'2018-01-04 00:00:00',2,1),
2961 | (155,13,'2018-01-05 00:00:00',3,1),
2962 | (156,9,'2018-01-06 00:00:00',4,1),
2963 | (157,9,'2018-01-07 00:00:00',4,1),
2964 | (158,9,'2018-01-08 00:00:00',4,1),
2965 | (159,13,'2018-01-09 00:00:00',5,1),
2966 | (160,1,'2018-01-10 00:00:00',2,1),
2967 | (161,1,'2018-01-11 00:00:00',3,1),
2968 | (162,1,'2018-01-12 00:00:00',3,1),
2969 | (163,4,'2018-01-13 00:00:00',3,1),
2970 | (164,10,'2018-01-14 00:00:00',1,1),
2971 | (165,4,'2018-01-15 00:00:00',2,1),
2972 | (166,13,'2018-01-16 00:00:00',5,1),
2973 | (167,15,'2018-01-17 00:00:00',1,1),
2974 | (168,9,'2018-01-18 00:00:00',5,1),
2975 | (169,16,'2018-01-19 00:00:00',5,1),
2976 | (170,3,'2018-01-20 00:00:00',4,1),
2977 | (171,12,'2018-01-21 00:00:00',6,1),
2978 | (172,16,'2018-01-22 00:00:00',1,1),
2979 | (173,4,'2018-01-23 00:00:00',6,1),
2980 | (174,11,'2018-01-24 00:00:00',6,1),
2981 | (175,4,'2018-01-25 00:00:00',5,1),
2982 | (176,2,'2018-01-26 00:00:00',4,1),
2983 | (177,9,'2018-01-27 00:00:00',2,1),
2984 | (178,4,'2018-01-28 00:00:00',1,1),
2985 | (179,10,'2018-01-29 00:00:00',4,1),
2986 | (180,11,'2018-01-30 00:00:00',4,1),
2987 | (181,9,'2018-01-01 00:00:00',2,1),
2988 | (182,4,'2018-01-02 00:00:00',3,1),
2989 | (183,16,'2018-01-03 00:00:00',5,1),
2990 | (184,12,'2018-01-04 00:00:00',4,1),
2991 | (185,12,'2018-01-05 00:00:00',5,1),
2992 | (186,1,'2018-01-06 00:00:00',3,1),
2993 | (187,2,'2018-01-07 00:00:00',5,1),
2994 | (188,2,'2018-01-08 00:00:00',1,1),
2995 | (189,2,'2018-01-09 00:00:00',1,1),
2996 | (190,4,'2018-01-10 00:00:00',3,1),
2997 | (191,14,'2018-01-11 00:00:00',1,1),
2998 | (192,2,'2018-01-12 00:00:00',6,1),
2999 | (193,10,'2018-01-13 00:00:00',2,1),
3000 | (194,4,'2018-01-14 00:00:00',2,1),
3001 | (195,13,'2018-01-15 00:00:00',1,1),
3002 | (196,16,'2018-01-16 00:00:00',1,1),
3003 | (197,3,'2018-01-17 00:00:00',2,1),
3004 | (198,12,'2018-01-18 00:00:00',2,1),
3005 | (199,15,'2018-01-19 00:00:00',4,1),
3006 | (200,14,'2018-01-20 00:00:00',6,1),
3007 | (201,3,'2018-01-21 00:00:00',3,1),
3008 | (202,10,'2018-01-22 00:00:00',2,1),
3009 | (203,11,'2018-01-23 00:00:00',4,1),
3010 | (204,13,'2018-01-24 00:00:00',1,1),
3011 | (205,3,'2018-01-25 00:00:00',3,1),
3012 | (206,9,'2018-01-26 00:00:00',6,1),
3013 | (207,4,'2018-01-27 00:00:00',5,1),
3014 | (208,15,'2018-01-28 00:00:00',1,1),
3015 | (209,2,'2018-01-29 00:00:00',4,1),
3016 | (210,9,'2018-01-30 00:00:00',6,1),
3017 | (211,1,'2018-01-01 00:00:00',4,1),
3018 | (212,1,'2018-01-02 00:00:00',2,1),
3019 | (213,2,'2018-01-03 00:00:00',3,1),
3020 | (214,12,'2018-01-04 00:00:00',3,1),
3021 | (215,14,'2018-01-05 00:00:00',3,1),
3022 | (216,16,'2018-01-06 00:00:00',6,1),
3023 | (217,9,'2018-01-07 00:00:00',3,1),
3024 | (218,10,'2018-01-08 00:00:00',3,1),
3025 | (219,14,'2018-01-09 00:00:00',5,1),
3026 | (220,9,'2018-01-10 00:00:00',1,1),
3027 | (221,12,'2018-01-11 00:00:00',2,1),
3028 | (222,12,'2018-01-12 00:00:00',1,1),
3029 | (223,10,'2018-01-13 00:00:00',5,1),
3030 | (224,10,'2018-01-14 00:00:00',6,1),
3031 | (225,12,'2018-01-15 00:00:00',1,1),
3032 | (226,16,'2018-01-16 00:00:00',1,1),
3033 | (227,3,'2018-01-17 00:00:00',5,1),
3034 | (228,2,'2018-01-18 00:00:00',2,1),
3035 | (229,1,'2018-01-19 00:00:00',5,1),
3036 | (230,14,'2018-01-20 00:00:00',6,1),
3037 | (231,2,'2018-01-21 00:00:00',4,1),
3038 | (232,1,'2018-01-22 00:00:00',4,1),
3039 | (233,4,'2018-01-23 00:00:00',4,1),
3040 | (234,14,'2018-01-24 00:00:00',5,1),
3041 | (235,15,'2018-01-25 00:00:00',3,1),
3042 | (236,10,'2018-01-26 00:00:00',1,1),
3043 | (237,15,'2018-01-27 00:00:00',6,1),
3044 | (238,2,'2018-01-28 00:00:00',1,1),
3045 | (239,1,'2018-01-29 00:00:00',6,1),
3046 | (240,14,'2018-01-30 00:00:00',1,1),
3047 | (241,1,'2018-01-01 00:00:00',2,1),
3048 | (242,9,'2018-01-02 00:00:00',6,1),
3049 | (243,11,'2018-01-03 00:00:00',4,1),
3050 | (244,12,'2018-01-04 00:00:00',6,1),
3051 | (245,9,'2018-01-05 00:00:00',3,1),
3052 | (246,1,'2018-01-06 00:00:00',5,1),
3053 | (247,11,'2018-01-07 00:00:00',1,1),
3054 | (248,2,'2018-01-08 00:00:00',5,1),
3055 | (249,10,'2018-01-09 00:00:00',1,1),
3056 | (250,14,'2018-01-10 00:00:00',2,1),
3057 | (251,13,'2018-01-11 00:00:00',5,1),
3058 | (252,9,'2018-01-12 00:00:00',4,1),
3059 | (253,12,'2018-01-13 00:00:00',2,1),
3060 | (254,10,'2018-01-14 00:00:00',5,1),
3061 | (255,3,'2018-01-15 00:00:00',5,1),
3062 | (256,14,'2018-01-16 00:00:00',2,1),
3063 | (257,15,'2018-01-17 00:00:00',1,1),
3064 | (258,3,'2018-01-18 00:00:00',5,1),
3065 | (259,12,'2018-01-19 00:00:00',3,1),
3066 | (260,11,'2018-01-20 00:00:00',6,1),
3067 | (261,16,'2018-01-21 00:00:00',1,1),
3068 | (262,4,'2018-01-22 00:00:00',2,1),
3069 | (263,9,'2018-01-23 00:00:00',6,1),
3070 | (264,15,'2018-01-24 00:00:00',4,1),
3071 | (265,4,'2018-01-25 00:00:00',6,1),
3072 | (266,1,'2018-01-26 00:00:00',5,1),
3073 | (267,4,'2018-01-27 00:00:00',2,1),
3074 | (268,2,'2018-01-28 00:00:00',3,1),
3075 | (269,15,'2018-01-29 00:00:00',4,1),
3076 | (270,3,'2018-01-30 00:00:00',4,1),
3077 | (271,1,'2018-01-01 00:00:00',1,1),
3078 | (272,15,'2018-01-02 00:00:00',5,1),
3079 | (273,14,'2018-01-03 00:00:00',5,1),
3080 | (274,2,'2018-01-04 00:00:00',1,1),
3081 | (275,10,'2018-01-05 00:00:00',1,1),
3082 | (276,13,'2018-01-06 00:00:00',6,1),
3083 | (277,10,'2018-01-07 00:00:00',2,1),
3084 | (278,13,'2018-01-08 00:00:00',5,1),
3085 | (279,15,'2018-01-09 00:00:00',5,1),
3086 | (280,3,'2018-01-10 00:00:00',5,1),
3087 | (281,15,'2018-01-11 00:00:00',6,1),
3088 | (282,2,'2018-01-12 00:00:00',6,1),
3089 | (283,12,'2018-01-13 00:00:00',4,1),
3090 | (284,9,'2018-01-14 00:00:00',5,1),
3091 | (285,13,'2018-01-15 00:00:00',1,1),
3092 | (286,10,'2018-01-16 00:00:00',2,1),
3093 | (287,1,'2018-01-17 00:00:00',1,1),
3094 | (288,15,'2018-01-18 00:00:00',2,1),
3095 | (289,3,'2018-01-19 00:00:00',2,1),
3096 | (290,3,'2018-01-20 00:00:00',4,1),
3097 | (291,14,'2018-01-21 00:00:00',1,1),
3098 | (292,2,'2018-01-22 00:00:00',2,1),
3099 | (293,14,'2018-01-23 00:00:00',5,1),
3100 | (294,11,'2018-01-24 00:00:00',6,1),
3101 | (295,15,'2018-01-25 00:00:00',6,1),
3102 | (296,12,'2018-01-26 00:00:00',2,1),
3103 | (297,10,'2018-01-27 00:00:00',4,1),
3104 | (298,11,'2018-01-28 00:00:00',6,1),
3105 | (299,4,'2018-01-29 00:00:00',3,1),
3106 | (300,2,'2018-01-30 00:00:00',4,1),
3107 | (301,10,'2018-01-01 00:00:00',5,1),
3108 | (302,1,'2018-01-02 00:00:00',5,1),
3109 | (303,9,'2018-01-03 00:00:00',3,1),
3110 | (304,4,'2018-01-04 00:00:00',3,1),
3111 | (305,9,'2018-01-05 00:00:00',2,1),
3112 | (306,10,'2018-01-06 00:00:00',5,1),
3113 | (307,13,'2018-01-07 00:00:00',3,1),
3114 | (308,2,'2018-01-08 00:00:00',4,1),
3115 | (309,14,'2018-01-09 00:00:00',4,1),
3116 | (310,13,'2018-01-10 00:00:00',1,1),
3117 | (311,1,'2018-01-11 00:00:00',4,1),
3118 | (312,15,'2018-01-12 00:00:00',3,1),
3119 | (313,10,'2018-01-13 00:00:00',1,1),
3120 | (314,15,'2018-01-14 00:00:00',6,1),
3121 | (315,13,'2018-01-15 00:00:00',1,1),
3122 | (316,3,'2018-01-16 00:00:00',4,1),
3123 | (317,13,'2018-01-17 00:00:00',5,1),
3124 | (318,12,'2018-01-18 00:00:00',5,1),
3125 | (319,10,'2018-01-19 00:00:00',2,1),
3126 | (320,10,'2018-01-20 00:00:00',3,1),
3127 | (321,2,'2018-01-21 00:00:00',3,1),
3128 | (322,3,'2018-01-22 00:00:00',4,1),
3129 | (323,1,'2018-01-23 00:00:00',3,1),
3130 | (324,14,'2018-01-24 00:00:00',4,1),
3131 | (325,1,'2018-01-25 00:00:00',5,1),
3132 | (326,14,'2018-01-26 00:00:00',2,1),
3133 | (327,13,'2018-01-27 00:00:00',6,1),
3134 | (328,16,'2018-01-28 00:00:00',5,1),
3135 | (329,11,'2018-01-29 00:00:00',3,1),
3136 | (330,2,'2018-01-30 00:00:00',2,1),
3137 | (331,4,'2018-01-01 00:00:00',2,1),
3138 | (332,2,'2018-01-02 00:00:00',3,1),
3139 | (333,4,'2018-01-03 00:00:00',1,1),
3140 | (334,2,'2018-01-04 00:00:00',3,1),
3141 | (335,2,'2018-01-05 00:00:00',5,1),
3142 | (336,10,'2018-01-06 00:00:00',1,1),
3143 | (337,10,'2018-01-07 00:00:00',6,1),
3144 | (338,9,'2018-01-08 00:00:00',3,1),
3145 | (339,11,'2018-01-09 00:00:00',4,1),
3146 | (340,16,'2018-01-10 00:00:00',6,1),
3147 | (341,9,'2018-01-11 00:00:00',3,1),
3148 | (342,15,'2018-01-12 00:00:00',2,1),
3149 | (343,11,'2018-01-13 00:00:00',1,1),
3150 | (344,10,'2018-01-14 00:00:00',2,1),
3151 | (345,10,'2018-01-15 00:00:00',6,1),
3152 | (346,10,'2018-01-16 00:00:00',5,1),
3153 | (347,12,'2018-01-17 00:00:00',3,1),
3154 | (348,4,'2018-01-18 00:00:00',1,1),
3155 | (349,2,'2018-01-19 00:00:00',3,1),
3156 | (350,15,'2018-01-20 00:00:00',3,1),
3157 | (351,11,'2018-01-21 00:00:00',4,1),
3158 | (352,9,'2018-01-22 00:00:00',3,1),
3159 | (353,3,'2018-01-23 00:00:00',1,1),
3160 | (354,16,'2018-01-24 00:00:00',1,1),
3161 | (355,16,'2018-01-25 00:00:00',1,1),
3162 | (356,3,'2018-01-26 00:00:00',5,1),
3163 | (357,13,'2018-01-27 00:00:00',3,1),
3164 | (358,10,'2018-01-28 00:00:00',6,1),
3165 | (359,15,'2018-01-29 00:00:00',5,1),
3166 | (360,3,'2018-01-30 00:00:00',2,1),
3167 | (361,11,'2018-01-01 00:00:00',1,1),
3168 | (362,13,'2018-01-02 00:00:00',2,1),
3169 | (363,3,'2018-01-03 00:00:00',1,1),
3170 | (364,13,'2018-01-04 00:00:00',4,1),
3171 | (365,14,'2018-01-05 00:00:00',1,1),
3172 | (366,13,'2018-01-06 00:00:00',5,1),
3173 | (367,1,'2018-01-07 00:00:00',1,1),
3174 | (368,14,'2018-01-08 00:00:00',1,1),
3175 | (369,10,'2018-01-09 00:00:00',3,1),
3176 | (370,15,'2018-01-10 00:00:00',1,1),
3177 | (371,14,'2018-01-11 00:00:00',6,1),
3178 | (372,11,'2018-01-12 00:00:00',4,1),
3179 | (373,15,'2018-01-13 00:00:00',5,1),
3180 | (374,4,'2018-01-14 00:00:00',5,1),
3181 | (375,11,'2018-01-15 00:00:00',6,1),
3182 | (376,13,'2018-01-16 00:00:00',5,1),
3183 | (377,14,'2018-01-17 00:00:00',6,1),
3184 | (378,9,'2018-01-18 00:00:00',6,1),
3185 | (379,13,'2018-01-19 00:00:00',4,1),
3186 | (380,9,'2018-01-20 00:00:00',5,1),
3187 | (381,2,'2018-01-21 00:00:00',4,1),
3188 | (382,11,'2018-01-22 00:00:00',2,1),
3189 | (383,16,'2018-01-23 00:00:00',5,1),
3190 | (384,2,'2018-01-24 00:00:00',1,1),
3191 | (385,1,'2018-01-25 00:00:00',6,1),
3192 | (386,9,'2018-01-26 00:00:00',3,1),
3193 | (387,1,'2018-01-27 00:00:00',5,1),
3194 | (388,14,'2018-01-28 00:00:00',1,1),
3195 | (389,13,'2018-01-29 00:00:00',2,1),
3196 | (390,4,'2018-01-30 00:00:00',6,1),
3197 | (391,3,'2018-01-31 00:00:00',2,1),
3198 | (392,14,'2018-01-01 00:00:00',1,1),
3199 | (393,14,'2018-01-02 00:00:00',4,1),
3200 | (394,3,'2018-01-03 00:00:00',2,1),
3201 | (395,10,'2018-01-04 00:00:00',1,1),
3202 | (396,1,'2018-01-05 00:00:00',2,1),
3203 | (397,3,'2018-01-06 00:00:00',6,1),
3204 | (398,10,'2018-01-07 00:00:00',4,1),
3205 | (399,2,'2018-01-08 00:00:00',4,1),
3206 | (400,11,'2018-01-09 00:00:00',2,1),
3207 | (401,1,'2018-01-10 00:00:00',5,1),
3208 | (402,15,'2018-01-11 00:00:00',6,1),
3209 | (403,3,'2018-01-12 00:00:00',5,1),
3210 | (404,4,'2018-01-13 00:00:00',3,1),
3211 | (405,14,'2018-01-14 00:00:00',2,1),
3212 | (406,13,'2018-01-15 00:00:00',4,1),
3213 | (407,13,'2018-01-16 00:00:00',1,1),
3214 | (408,11,'2018-01-17 00:00:00',4,1),
3215 | (409,1,'2018-01-18 00:00:00',1,1),
3216 | (410,10,'2018-01-19 00:00:00',5,1),
3217 | (411,14,'2018-01-20 00:00:00',1,1),
3218 | (412,15,'2018-01-21 00:00:00',3,1),
3219 | (413,16,'2018-01-22 00:00:00',4,1),
3220 | (414,2,'2018-01-23 00:00:00',1,1),
3221 | (415,11,'2018-01-24 00:00:00',6,1),
3222 | (416,2,'2018-01-25 00:00:00',6,1),
3223 | (417,3,'2018-01-26 00:00:00',1,1),
3224 | (418,14,'2018-01-27 00:00:00',3,1),
3225 | (419,4,'2018-01-28 00:00:00',1,1),
3226 | (420,15,'2018-01-29 00:00:00',4,1),
3227 | (421,14,'2018-01-30 00:00:00',4,1),
3228 | (422,16,'2018-01-31 00:00:00',2,1),
3229 | (423,12,'2018-01-01 00:00:00',1,1),
3230 | (424,15,'2018-01-02 00:00:00',6,1),
3231 | (425,15,'2018-01-03 00:00:00',6,1),
3232 | (426,14,'2018-01-04 00:00:00',6,1),
3233 | (427,12,'2018-01-05 00:00:00',4,1),
3234 | (428,12,'2018-01-06 00:00:00',5,1),
3235 | (429,14,'2018-01-07 00:00:00',2,1),
3236 | (430,9,'2018-01-08 00:00:00',3,1),
3237 | (431,15,'2018-01-09 00:00:00',6,1),
3238 | (432,2,'2018-01-10 00:00:00',5,1),
3239 | (433,3,'2018-01-11 00:00:00',4,1),
3240 | (434,10,'2018-01-12 00:00:00',2,1),
3241 | (435,11,'2018-01-13 00:00:00',3,1),
3242 | (436,16,'2018-01-14 00:00:00',5,1),
3243 | (437,15,'2018-01-15 00:00:00',1,1),
3244 | (438,4,'2018-01-16 00:00:00',1,1),
3245 | (439,10,'2018-01-17 00:00:00',4,1),
3246 | (440,16,'2018-01-18 00:00:00',2,1),
3247 | (441,2,'2018-01-19 00:00:00',2,1),
3248 | (442,16,'2018-01-20 00:00:00',6,1),
3249 | (443,2,'2018-01-21 00:00:00',5,1),
3250 | (444,14,'2018-01-22 00:00:00',3,1),
3251 | (445,12,'2018-01-23 00:00:00',5,1),
3252 | (446,9,'2018-01-24 00:00:00',5,1),
3253 | (447,16,'2018-01-25 00:00:00',5,1),
3254 | (448,4,'2018-01-26 00:00:00',3,1),
3255 | (449,10,'2018-01-27 00:00:00',3,1),
3256 | (450,13,'2018-01-28 00:00:00',2,1),
3257 | (451,16,'2018-01-29 00:00:00',6,1),
3258 | (452,2,'2018-01-30 00:00:00',6,1),
3259 | (453,4,'2018-01-31 00:00:00',1,1),
3260 | (454,2,'2018-01-03 00:00:00',6,1),
3261 | (455,14,'2018-01-04 00:00:00',6,1),
3262 | (456,3,'2018-01-05 00:00:00',6,1),
3263 | (457,11,'2018-01-06 00:00:00',6,1),
3264 | (458,14,'2018-01-08 00:00:00',2,1),
3265 | (459,9,'2018-01-09 00:00:00',4,1),
3266 | (460,15,'2018-01-10 00:00:00',5,1),
3267 | (461,15,'2018-01-10 00:00:00',1,1),
3268 | (462,10,'2018-01-11 00:00:00',3,1),
3269 | (463,12,'2018-01-12 00:00:00',4,1),
3270 | (464,16,'2018-01-13 00:00:00',5,1),
3271 | (465,16,'2018-01-14 00:00:00',5,1),
3272 | (466,16,'2018-01-15 00:00:00',6,1),
3273 | (467,12,'2018-01-05 23:14:00',2,1),
3274 | (468,13,'2018-01-06 12:52:00',3,1),
3275 | (469,13,'2018-01-07 22:14:00',3,1),
3276 | (470,4,'2018-01-08 16:56:00',3,1),
3277 | (471,14,'2018-01-16 18:34:00',5,1),
3278 | (472,2,'2018-01-17 10:01:00',2,1),
3279 | (473,9,'2018-01-18 08:32:00',6,1),
3280 | (474,2,'2018-01-19 13:23:00',5,1),
3281 | (475,10,'2018-01-20 11:10:00',5,1),
3282 | (476,13,'2018-01-21 10:00:00',4,1);
3283 |
3284 | /*!40000 ALTER TABLE `orders` ENABLE KEYS */;
3285 | UNLOCK TABLES;
3286 |
3287 |
3288 |
3289 | /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
3290 | /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
3291 | /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
3292 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
3293 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
3294 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
3295 |
--------------------------------------------------------------------------------
/public/.htaccess:
--------------------------------------------------------------------------------
1 | # Remove the question mark from the request but maintain the query string
2 | RewriteEngine On
3 |
4 | # Uncomment the following line if your public folder isn't the web server's root
5 | # RewriteBase /
6 |
7 | RewriteCond %{REQUEST_FILENAME} !-f
8 | RewriteCond %{REQUEST_FILENAME} !-d
9 | RewriteCond %{REQUEST_FILENAME} !-l
10 | RewriteRule ^(.*)$ index.php?$1 [L,QSA]
11 |
--------------------------------------------------------------------------------
/public/css/cover.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Globals
3 | */
4 |
5 | /* Links */
6 | a,
7 | a:focus,
8 | a:hover {
9 | color: #fff;
10 | }
11 |
12 | /* Custom default button */
13 | .btn-secondary,
14 | .btn-secondary:hover,
15 | .btn-secondary:focus {
16 | color: #333;
17 | text-shadow: none; /* Prevent inheritance from `body` */
18 | background-color: #fff;
19 | border: .05rem solid #fff;
20 | }
21 |
22 |
23 | /*
24 | * Base structure
25 | */
26 |
27 | html,
28 | body {
29 | height: 100%;
30 | background-color: #333;
31 | }
32 | body {
33 | color: #fff;
34 | text-align: center;
35 | text-shadow: 0 .05rem .1rem rgba(0,0,0,.5);
36 | }
37 |
38 | /* Extra markup and styles for table-esque vertical and horizontal centering */
39 | .site-wrapper {
40 | display: table;
41 | width: 100%;
42 | height: 100%; /* For at least Firefox */
43 | min-height: 100%;
44 | -webkit-box-shadow: inset 0 0 5rem rgba(0,0,0,.5);
45 | box-shadow: inset 0 0 5rem rgba(0,0,0,.5);
46 | }
47 | .site-wrapper-inner {
48 | display: table-cell;
49 | vertical-align: top;
50 | }
51 | .cover-container {
52 | margin-right: auto;
53 | margin-left: auto;
54 | }
55 |
56 | /* Padding for spacing */
57 | .inner {
58 | padding: 2rem;
59 | }
60 |
61 |
62 | /*
63 | * Header
64 | */
65 |
66 | .masthead {
67 | margin-bottom: 2rem;
68 | }
69 |
70 | .masthead-brand {
71 | margin-bottom: 0;
72 | }
73 |
74 | .nav-masthead .nav-link {
75 | padding: .25rem 0;
76 | font-weight: bold;
77 | color: rgba(255,255,255,.5);
78 | background-color: transparent;
79 | border-bottom: .25rem solid transparent;
80 | }
81 |
82 | .nav-masthead .nav-link:hover,
83 | .nav-masthead .nav-link:focus {
84 | border-bottom-color: rgba(255,255,255,.25);
85 | }
86 |
87 | .nav-masthead .nav-link + .nav-link {
88 | margin-left: 1rem;
89 | }
90 |
91 | .nav-masthead .active {
92 | color: #fff;
93 | border-bottom-color: #fff;
94 | }
95 |
96 | @media (min-width: 48em) {
97 | .masthead-brand {
98 | float: left;
99 | }
100 | .nav-masthead {
101 | float: right;
102 | }
103 | }
104 |
105 |
106 | /*
107 | * Cover
108 | */
109 |
110 | .cover {
111 | padding: 0 1.5rem;
112 | }
113 | .cover .btn-lg {
114 | padding: .75rem 1.25rem;
115 | font-weight: bold;
116 | }
117 |
118 |
119 | /*
120 | * Footer
121 | */
122 |
123 | .mastfoot {
124 | color: rgba(255,255,255,.5);
125 | }
126 |
127 |
128 | /*
129 | * Affix and center
130 | */
131 |
132 | @media (min-width: 40em) {
133 | /* Pull out the header and footer */
134 | .masthead {
135 | position: fixed;
136 | top: 0;
137 | }
138 | .mastfoot {
139 | position: fixed;
140 | bottom: 0;
141 | }
142 | /* Start the vertical centering */
143 | .site-wrapper-inner {
144 | vertical-align: middle;
145 | }
146 | /* Handle the widths */
147 | .masthead,
148 | .mastfoot,
149 | .cover-container {
150 | width: 100%; /* Must be percentage or pixels for horizontal alignment */
151 | }
152 | }
153 |
154 | @media (min-width: 62em) {
155 | .masthead,
156 | .mastfoot,
157 | .cover-container {
158 | width: 42rem;
159 | }
160 | }
161 |
162 | pre {
163 | overflow: visible !important;
164 | }
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 | register();
14 |
15 | // Error and Exception handling.
16 | set_error_handler('Core\Error::errorHandler');
17 | set_exception_handler('Core\Error::exceptionHandler');
18 |
19 | // Route dispatch
20 | $router = new Core\Router();
21 | $router->dispatch();
22 |
23 |
24 |
--------------------------------------------------------------------------------
/public/js/dashboard.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 |
3 | "use strict";
4 |
5 | var onDateChange = function () {
6 | window.location = "/home/from/"
7 | + $("#filterFrom").val()
8 | + "/to/" + $("#filterTo").val()
9 | + "/month/" + $("#filterMonth").val();
10 | };
11 |
12 | $("#filterFrom, #filterTo, #filterMonth").change(onDateChange);
13 |
14 | $(".monthPicker").datepicker({
15 | format: "yyyy-mm",
16 | viewMode: "months",
17 | minViewMode: "months"
18 | });
19 |
20 |
21 | })(jQuery);
--------------------------------------------------------------------------------
/screenshots/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/screenshots/.DS_Store
--------------------------------------------------------------------------------
/screenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/screenshots/1.png
--------------------------------------------------------------------------------
/screenshots/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/screenshots/2.png
--------------------------------------------------------------------------------
/screenshots/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/screenshots/3.png
--------------------------------------------------------------------------------
/screenshots/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/screenshots/4.png
--------------------------------------------------------------------------------
/screenshots/db.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrejrs/php-mvc-example/268918f323b5f2cf0c0fabd01dc2a4cb5db5d3e5/screenshots/db.png
--------------------------------------------------------------------------------
/seeder:
--------------------------------------------------------------------------------
1 | register();
22 |
23 | // Run seeder
24 | $t = new $name();
25 | $t->run();
26 |
--------------------------------------------------------------------------------
/src/Controller.php:
--------------------------------------------------------------------------------
1 |
13 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
14 | * @version Release: @package_version@
15 | * @link http://pear.php.net/package/PackageName
16 | * @since Class available since Release 1.0.0
17 | */
18 | abstract class Controller {
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/Error.php:
--------------------------------------------------------------------------------
1 |
18 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
19 | * @version Release: @package_version@
20 | * @link http://pear.php.net/package/PackageName
21 | * @since Class available since Release 1.0.0
22 | */
23 | class Error {
24 |
25 | /**
26 | * The error handler method.
27 | *
28 | * The error handler will be called for every error regardless
29 | * to the setting of the error_reporting setting.
30 | *
31 | * @param int $level Error level
32 | * @param string $message Error message
33 | * @param string $file Filename the error was raised in
34 | * @param int $line Line number in the file
35 | *
36 | * @return void
37 | * @access public
38 | * @since Method available since Release 1.0.0
39 | */
40 | public static function errorHandler(int $level, string $message, string $file, int $line): void {
41 |
42 | if (error_reporting() !== 0) {
43 | throw new \ErrorException($message, 0, $level, $file, $line);
44 | }
45 | }
46 |
47 | /**
48 | * The exception handler method.
49 | *
50 | * The method will be called when an uncaught exception occurs.
51 | *
52 | * @param Exception $exception The exception
53 | *
54 | * @return void
55 | * @access public
56 | * @since Method available since Release 1.0.0
57 | */
58 | public static function exceptionHandler($exception): void {
59 |
60 | // Variables
61 | $errorinfo = "";
62 | $header = "404";
63 | $homepage = AppConfig::DEFAULT_ROUTE;
64 |
65 | // Error code
66 | $code = $exception->getCode();
67 | if ($code != 404) {
68 | $code = 500;
69 | }
70 |
71 | // Set the response code
72 | http_response_code($code);
73 |
74 | // Log type
75 | if (AppConfig::SHOW_ERRORS) {
76 | $errorinfo = Error::getErrorInfo($exception);
77 | } else {
78 | Error::logToFile($exception);
79 | }
80 |
81 | // Render error page
82 | View::renderError(compact(["errorinfo", "header", "homepage"]));
83 | }
84 |
85 | /**
86 | * The method that write error info to log file.
87 | *
88 | * @param Exception $exception The exception
89 | *
90 | * @return void
91 | * @access public
92 | * @since Method available since Release 1.0.0
93 | */
94 | public static function logToFile(Exception $exception): void {
95 |
96 | // Set log path
97 | ini_set('error_log', APPLICATION_PATH . '/logs/' . date('Y-m-d') . '.txt');
98 |
99 | // Set error info
100 | $message = "Uncaught exception: '" . get_class($exception) . "'";
101 | $message .= " with message '" . $exception->getMessage() . "'";
102 | $message .= "\nStack trace: " . $exception->getTraceAsString();
103 | $message .= "\nThrown in '" . $exception->getFile() . "' on line " . $exception->getLine();
104 |
105 | // Write log
106 | error_log($message);
107 | }
108 |
109 | /**
110 | * The method makes error info string.
111 | *
112 | * @param Exception $exception The exception
113 | *
114 | * @return string
115 | * @access public
116 | * @since Method available since Release 1.0.0
117 | */
118 | public static function getErrorInfo($exception): string {
119 |
120 | $errorinfo = "";
121 | $errorinfo .= "Fatal error
";
122 | $errorinfo .= "Uncaught exception: '" . get_class($exception) . "'
";
123 | $errorinfo .= "Message: '" . $exception->getMessage() . "'
";
124 | $errorinfo .= "Stack trace:
" . nl2br($exception->getTraceAsString()) . "
";
125 | $errorinfo .= "Thrown in '" . $exception->getFile() . "' on line " . $exception->getLine() . "
";
126 | return $errorinfo;
127 | }
128 |
129 | }
130 |
--------------------------------------------------------------------------------
/src/Model.php:
--------------------------------------------------------------------------------
1 |
16 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
17 | * @version Release: @package_version@
18 | * @link http://pear.php.net/package/PackageName
19 | * @since Class available since Release 1.0.0
20 | */
21 | abstract class Model {
22 |
23 | /**
24 | * It represents a PDO instance
25 | *
26 | * @var object
27 | */
28 | static $db = null;
29 |
30 | /**
31 | * The name of the table in the database that the model binds
32 | *
33 | * @var string
34 | */
35 | private $_table;
36 |
37 | /**
38 | * The model construct
39 | *
40 | */
41 | public function __construct($table_name) {
42 |
43 | if (static::$db === null) {
44 |
45 | $conn_string = 'mysql:host=' . Database::DB_HOST . ';dbname=' . Database::DB_NAME . ';charset=utf8';
46 | $db = new \PDO($conn_string, Database::DB_USER, Database::DB_PASSWORD);
47 |
48 | // Throw an Exception when an error occurs
49 | $db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
50 | static::$db = $db;
51 | }
52 |
53 | $this->_table = $table_name;
54 | }
55 |
56 | /**
57 | * Abstract method for getting all records from database.
58 | *
59 | *
60 | * @return array
61 | * @access public
62 | * @since Method available since Release 1.0.0
63 | */
64 | abstract function getAll(): iterable;
65 |
66 | /**
67 | * The insert method.
68 | *
69 | * This method makes it easy to insert data into the database
70 | * in a quick and easy way. The data set must be associative.
71 | * Index of array represents the field in the database.
72 | *
73 | * For example: [ "fist_name" => "John" ]
74 | *
75 | * @param array $data A set of data to be added to the database.
76 | *
77 | * @return integer The last insert ID
78 | * @access public
79 | * @since Method available since Release 1.0.0
80 | */
81 | public function insert(array $data): int {
82 |
83 | if($this->_table === ""){
84 | throw new Exception("Attribute _table is empty string!");
85 | }
86 |
87 | // Question marks
88 | $marks = array_fill(0, count($data), '?');
89 | // Fields to be added.
90 | $fields = array_keys($data);
91 | // Fields values
92 | $values = array_values($data);
93 |
94 | // Prepare statement
95 | $stmt = $this->DB()->prepare("
96 | INSERT INTO " . $this->_table . "(" . implode(",", $fields) . ")
97 | VALUES(" . implode(",", $marks) . ")
98 | ");
99 |
100 | // Execute statement with values
101 | $stmt->execute($values);
102 |
103 | // Return last inserted ID.
104 | return $this->DB()->lastInsertId();
105 | }
106 |
107 | /**
108 | * The method return a PDO database connection.
109 | *
110 | * @return object
111 | * @access public
112 | * @since Method available since Release 1.0.0
113 | */
114 | protected function DB(): PDO {
115 |
116 | return static::$db;
117 | }
118 |
119 | }
120 |
--------------------------------------------------------------------------------
/src/Psr4AutoloaderClass.php:
--------------------------------------------------------------------------------
1 | register();
32 | *
33 | * // register the base directories for the namespace prefix
34 | * $loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/src');
35 | * $loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/tests');
36 | *
37 | * The following line would cause the autoloader to attempt to load the
38 | * \Foo\Bar\Qux\Quux class from /path/to/packages/foo-bar/src/Qux/Quux.php:
39 | *
40 | * prefixes = include $in;
76 | }
77 |
78 | /**
79 | * Register loader with SPL autoloader stack.
80 | *
81 | * @return void
82 | */
83 | public function register() {
84 | spl_autoload_register(array($this, 'loadClass'));
85 | }
86 |
87 | /**
88 | * Adds a base directory for a namespace prefix.
89 | *
90 | * @param string $prefix The namespace prefix.
91 | * @param string $base_dir A base directory for class files in the
92 | * namespace.
93 | * @param bool $prepend If true, prepend the base directory to the stack
94 | * instead of appending it; this causes it to be searched first rather
95 | * than last.
96 | * @return void
97 | */
98 | public function addNamespace($prefix, $base_dir, $prepend = false) {
99 | // normalize namespace prefix
100 | $prefix = trim($prefix, '\\') . '\\';
101 |
102 | // normalize the base directory with a trailing separator
103 | $base_dir = rtrim($base_dir, DIRECTORY_SEPARATOR) . '/';
104 |
105 | // initialize the namespace prefix array
106 | if (isset($this->prefixes[$prefix]) === false) {
107 | $this->prefixes[$prefix] = array();
108 | }
109 | die(var_dump($prefix, $base_dir));
110 | // retain the base directory for the namespace prefix
111 | if ($prepend) {
112 | array_unshift($this->prefixes[$prefix], $base_dir);
113 | } else {
114 | array_push($this->prefixes[$prefix], $base_dir);
115 | }
116 | }
117 |
118 | /**
119 | * Loads the class file for a given class name.
120 | *
121 | * @param string $class The fully-qualified class name.
122 | * @return mixed The mapped file name on success, or boolean false on
123 | * failure.
124 | */
125 | public function loadClass($class) {
126 | // the current namespace prefix
127 | $prefix = $class;
128 |
129 | // work backwards through the namespace names of the fully-qualified
130 | // class name to find a mapped file name
131 | while (false !== $pos = strrpos($prefix, '\\')) {
132 |
133 | // retain the trailing namespace separator in the prefix
134 | $prefix = substr($class, 0, $pos + 1);
135 |
136 | // the rest is the relative class name
137 | $relative_class = substr($class, $pos + 1);
138 |
139 | // try to load a mapped file for the prefix and relative class
140 | $mapped_file = $this->loadMappedFile($prefix, $relative_class);
141 |
142 | if ($mapped_file) {
143 | return $mapped_file;
144 | }
145 |
146 | // remove the trailing namespace separator for the next iteration
147 | // of strrpos()
148 | $prefix = rtrim($prefix, '\\');
149 | }
150 |
151 | // never found a mapped file
152 | return false;
153 | }
154 |
155 | /**
156 | * Load the mapped file for a namespace prefix and relative class.
157 | *
158 | * @param string $prefix The namespace prefix.
159 | * @param string $relative_class The relative class name.
160 | * @return mixed Boolean false if no mapped file can be loaded, or the
161 | * name of the mapped file that was loaded.
162 | */
163 | protected function loadMappedFile($prefix, $relative_class) {
164 | // are there any base directories for this namespace prefix?
165 | if (isset($this->prefixes[$prefix]) === false) {
166 | return false;
167 | }
168 |
169 | // look through base directories for this namespace prefix
170 | foreach ($this->prefixes[$prefix] as $base_dir) {
171 |
172 | // replace the namespace prefix with the base directory,
173 | // replace namespace separators with directory separators
174 | // in the relative class name, append with .php
175 |
176 | $file = $base_dir
177 | . str_replace('\\', '/', $relative_class)
178 | . '.php';
179 |
180 | // if the mapped file exists, require it
181 | if ($this->requireFile(APPLICATION_PATH . $file)) {
182 | // yes, we're done
183 | return $file;
184 | }
185 | }
186 |
187 | // never found it
188 | return false;
189 | }
190 |
191 | /**
192 | * If a file exists, require it from the file system.
193 | *
194 | * @param string $file The file to require.
195 | * @return bool True if the file exists, false if not.
196 | */
197 | protected function requireFile($file) {
198 | if (file_exists($file)) {
199 | require $file;
200 | return true;
201 | }
202 | return false;
203 | }
204 |
205 | }
206 |
--------------------------------------------------------------------------------
/src/Request.php:
--------------------------------------------------------------------------------
1 |
13 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
14 | * @version Release: @package_version@
15 | * @link http://pear.php.net/package/PackageName
16 | * @since Class available since Release 1.0.0
17 | */
18 | class Request {
19 |
20 | /**
21 | * The array of request parameters.
22 | *
23 | * @var object
24 | */
25 | static $params = [];
26 |
27 | /**
28 | * The static method for getting certain parameter.
29 | *
30 | *
31 | * @return mixed It will return null if the parameter is not sent.
32 | * @access public
33 | * @since Method available since Release 1.0.0
34 | */
35 | public static function getParam(string $name, string $default = NULL): ?string {
36 | if (isset(Request::$params[$name])) {
37 | return Request::$params[$name];
38 | } else {
39 | return $default;
40 | }
41 | }
42 |
43 | /**
44 | * The method for setting request parameters
45 | *
46 | * @return void
47 | * @access public
48 | * @since Method available since Release 1.0.0
49 | */
50 | public static function setParams(array $params): void {
51 | Request::$params = $params;
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/src/Router.php:
--------------------------------------------------------------------------------
1 |
15 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
16 | * @version Release: @package_version@
17 | * @link http://pear.php.net/package/PackageName
18 | * @since Class available since Release 1.0.0
19 | */
20 | class Router {
21 |
22 | /**
23 | * The array of the routes.
24 | *
25 | * @var object
26 | */
27 | protected $routes = [];
28 |
29 | /**
30 | * The current route details
31 | *
32 | * @var object
33 | */
34 | private $route = null;
35 |
36 | /**
37 | * The current route path
38 | *
39 | * @var object
40 | */
41 | private $routePath = null;
42 |
43 | public function __construct() {
44 |
45 | $in = APPLICATION_PATH . "/App/Routes.php";
46 |
47 | if (!is_file($in)) {
48 | throw new Exception("There is no routes defined.");
49 | }
50 |
51 | $this->routes = include $in;
52 | }
53 |
54 | /**
55 | * The decode controller method.
56 | *
57 | * This method accepts a string and decodes it.
58 | *
59 | * For example: Home@index will be [ "controller" => "Home", "action" => "index" ]
60 | *
61 | * @param string $route A string representation of route.
62 | *
63 | * @return array The route details.
64 | * @access public
65 | * @since Method available since Release 1.0.0
66 | */
67 | private function decodeControler(string $route): iterable {
68 |
69 | $con = explode("@", $route);
70 |
71 | return [
72 | "controller" => $con[0],
73 | "action" => $con[1],
74 | ];
75 | }
76 |
77 | /**
78 | * The check route method.
79 | *
80 | * The method checks whether the current route is valid
81 | * and if it is returns its details.
82 | *
83 | * @param string $url The route URL
84 | * @param string $method The request method (GET, POST ...).
85 | *
86 | * @return mixed Route details or false if route is not found.
87 | * @access public
88 | * @since Method available since Release 1.0.0
89 | */
90 | private function checkRoute(string $url, string $method): ?iterable {
91 |
92 | foreach ($this->routes[$method] as $route_path => $route) {
93 |
94 | if (strpos($url, $route_path) === 0) {
95 |
96 | $route = $this->decodeControler($route);
97 | $namespace = 'App\Controllers\\';
98 | $route['controller'] = $namespace . $route['controller'];
99 | $this->routePath = $route_path;
100 | return $route;
101 | }
102 | }
103 | return NULL;
104 | }
105 |
106 | /**
107 | * Check if method is callable.
108 | *
109 | * @param object $controller_object The controller object
110 | *
111 | * @return void
112 | * @access public
113 | * @since Method available since Release 1.0.0
114 | */
115 | private function methodCallable(Controller $controller_object): void {
116 |
117 | if (is_callable(array($controller_object, $this->route['action']))) {
118 | $action = $this->route['action'];
119 | $controller_object->$action();
120 | } else {
121 | throw new \Exception("Method " . $this->route['action'] . " in controller " . $this->route['controller'] . " is not a callable.");
122 | }
123 | }
124 |
125 | /**
126 | * Check if method exists.
127 | *
128 | * @param object $controller_object The controller object
129 | *
130 | * @return void
131 | * @access public
132 | * @since Method available since Release 1.0.0
133 | */
134 | private function methodExists(Controller $controller_object): void {
135 |
136 | if (method_exists($controller_object, $this->route['action'])) {
137 | $this->methodCallable($controller_object);
138 | } else {
139 | throw new \Exception("Method " . $this->route['action'] . " in controller " . $this->route['controller'] . " is not defined.");
140 | }
141 | }
142 |
143 | /**
144 | * Run route
145 | *
146 | * @return void
147 | * @access public
148 | * @since Method available since Release 1.0.0
149 | */
150 | private function runRoute(): void {
151 |
152 | // Check if class exists
153 | if (class_exists($this->route['controller'])) {
154 |
155 | // Inst the class
156 | $controller_object = new $this->route['controller']();
157 |
158 | // Check for method
159 | $this->methodExists($controller_object);
160 | } else {
161 |
162 | throw new \Exception("Controller class " . $this->route['controller'] . " not found");
163 | }
164 | }
165 |
166 | /**
167 | * Dispatch the route
168 | *
169 | * @return void
170 | * @access public
171 | * @since Method available since Release 1.0.0
172 | */
173 | public function dispatch(): void {
174 |
175 | // Get the url.
176 | $url = $_SERVER['PHP_SELF'];
177 |
178 | // Get the method.
179 | $method = $_SERVER['REQUEST_METHOD'];
180 |
181 | // Get default url if there is no route.
182 | if ($url === "" || $url === "/") {
183 | $url = \Config\Application::DEFAULT_ROUTE;
184 | }
185 |
186 | // Validate route
187 | $this->route = $this->checkRoute($url, $method);
188 |
189 | if ($this->route === NULL) {
190 | throw new \Exception('No route matched.', 404);
191 | }
192 |
193 | // Get route parameters
194 | $this->extractUrlParams($url);
195 |
196 | // Run the route
197 | $this->runRoute();
198 | }
199 |
200 | /**
201 | * Routes
202 | *
203 | * @return array The array of the routes.
204 | * @access public
205 | * @since Method available since Release 1.0.0
206 | */
207 | public function getRoutes(): iterable {
208 | return $this->routes;
209 | }
210 |
211 | /**
212 | * The method for extracting parameters from request.
213 | *
214 | * @param $url $data A set of data to be added to the database.
215 | *
216 | * @return void
217 | * @access public
218 | * @since Method available since Release 1.0.0
219 | */
220 | public function extractUrlParams(string $url): void {
221 |
222 | // Route string
223 | $params_string = str_replace($this->routePath, "", $url);
224 |
225 | // Remove /
226 | if (substr($params_string, 0, 1) === "/") {
227 | $params_string = substr($params_string, 1);
228 | }
229 | $params = [];
230 | $arr = explode("/", $params_string);
231 |
232 | for ($index = 0; $index < count($arr); $index++) {
233 | if (isset($arr[$index + 1])) {
234 | $params[$arr[$index]] = $arr[$index + 1];
235 | } else {
236 | $params[$arr[$index]] = null;
237 | }
238 | $index++;
239 | }
240 |
241 | // Set parameters
242 | Request::setParams($params);
243 | }
244 |
245 | }
246 |
--------------------------------------------------------------------------------
/src/Seeder.php:
--------------------------------------------------------------------------------
1 |
13 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
14 | * @version Release: @package_version@
15 | * @link http://pear.php.net/package/PackageName
16 | * @since Class available since Release 1.0.0
17 | */
18 | interface Seeder {
19 |
20 | /**
21 | * The run method.
22 | *
23 | * In this method, there should be a procedure for creating data
24 | * and inserting them in the database.
25 | *
26 | * @return void
27 | * @access public
28 | * @since Method available since Release 1.0.0
29 | */
30 | public function run(): void;
31 | }
32 |
--------------------------------------------------------------------------------
/src/Validator.php:
--------------------------------------------------------------------------------
1 |
21 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
22 | * @version Release: @package_version@
23 | * @link http://pear.php.net/package/PackageName
24 | * @since Class available since Release 1.0.1
25 | */
26 | class Validator {
27 |
28 | /**
29 | * Dates validation.
30 | *
31 | * @param array $dates A array of string representation of dates.
32 | * @param string $format The format that the passed in string. The same letters as for the date() can be used.
33 | *
34 | * @return bool True if all dates are valid.
35 | * @access public
36 | * @since Method available since Release 1.0.0
37 | */
38 | public static function dates(array $dates, string $format = "Y-m-d"): bool {
39 |
40 | if (is_array($dates)) {
41 |
42 | foreach ($dates as $name => $date) {
43 |
44 | $d = DateTime::createFromFormat($format, $date);
45 |
46 | if ($d === false || $d->format($format) !== $date) {
47 |
48 | return false;
49 | }
50 | }
51 | return true;
52 | }
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/src/View.php:
--------------------------------------------------------------------------------
1 |
13 | * @license http://www.php.net/license/3_01.txt PHP License 3.01
14 | * @version Release: @package_version@
15 | * @link http://pear.php.net/package/PackageName
16 | * @since Class available since Release 1.0.0
17 | */
18 | class View {
19 |
20 | /**
21 | * The render method.
22 | *
23 | * TThis method displays the template and site's content.
24 | *
25 | * @param string $view A string representation of page template.
26 | * @param array $params A array of the controller variables.
27 | *
28 | * @return void
29 | * @access public
30 | * @since Method available since Release 1.0.0
31 | */
32 | static function render(string $view, array $params): void {
33 |
34 | // Extract controller variables
35 | extract($params, EXTR_SKIP);
36 |
37 | // Page template path.
38 | $content = APPLICATION_PATH . "/App/Views/Page/$view.php";
39 |
40 | if (is_readable($content)) {
41 |
42 | // Include global template
43 | require_once APPLICATION_PATH . "/App/Views/Template.php";
44 |
45 | } else {
46 |
47 | throw new \Exception("View $view not found");
48 | }
49 | }
50 |
51 | /**
52 | * The error render method.
53 | *
54 | * This method displays the errors.
55 | *
56 | * @param array $params A array of the controller variables.
57 | *
58 | * @return array The route details.
59 | * @access public
60 | * @since Method available since Release 1.0.0
61 | */
62 | static function renderError(array $params): void {
63 |
64 | // Extract controller variables
65 | extract($params, EXTR_SKIP);
66 |
67 | // Error template path
68 | $content = APPLICATION_PATH . "/App/Views/error.php";
69 |
70 | if (is_readable($content)) {
71 |
72 | require_once $content;
73 |
74 | } else {
75 |
76 | throw new \Exception("View ERROR not found");
77 | }
78 | }
79 |
80 | }
81 |
--------------------------------------------------------------------------------