71 | );
72 |
73 | // if (profile) {
74 | // return ();
80 | // } else {
81 | // return ;
82 | // }
83 | }
84 | }
85 |
86 | function select(state) {
87 | return {
88 | profile: state.auth.profile
89 | };
90 | }
91 |
92 | export default connect(select)(Profile);
93 |
--------------------------------------------------------------------------------
/src/css/index.css:
--------------------------------------------------------------------------------
1 | @import 'normalize.css';
2 |
3 | /******************************************************************
4 | RESETS & STUFF
5 | ******************************************************************/
6 |
7 | html {
8 | width: 100%;
9 | height: 100%;
10 | }
11 |
12 | body {
13 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
14 | letter-spacing: .02px;
15 | color: #4E4D4D;
16 | /*background-color: #fff;*/
17 | background-color: #ecf0f1;
18 | -webkit-font-smoothing: antialiased;
19 | text-rendering: optimizeLegibility;
20 | width: 100%;
21 | height: 100%;
22 | }
23 |
24 | * {
25 | box-sizing: border-box;
26 | }
27 |
28 | h1, h2, h3, h4, h5 {
29 | margin-top: 0;
30 | }
31 |
32 | :global(.active_item) {
33 | background-color: #EFEFEF;
34 | opacity: 1;
35 | }
36 |
37 | :global(button) {
38 | padding: 0;
39 | }
40 |
41 | :global(a) {
42 | text-decoration: none;
43 | color: inherit;
44 | }
45 |
46 | :global(a:visited) {
47 | color: inherit;
48 | }
49 |
50 | ::selection {
51 | background: rgb(199, 218, 255);
52 | }
53 |
54 | input[type=text],
55 | input[type=email],
56 | input[type=password],
57 | textarea {
58 | box-sizing : border-box;
59 | }
60 |
61 | /******************************************************************
62 | ACTUAL GLOBAL STYLES START HERE
63 | ******************************************************************/
64 |
65 |
66 | :global(.app_container) {
67 | width: 100%;
68 | height: 100%;
69 | }
70 |
71 | :global(.wrapper) {
72 | position: relative;
73 | }
74 |
75 | :global(.content) {
76 | width: 100%;
77 | height: 100%;
78 | position: relative;
79 | }
80 |
81 | :global(.dashboard-wrapper) {
82 | display: flex;
83 | position: relative;
84 | }
85 |
86 |
87 | /* TEXT INPUT */
88 |
89 | :global(.text_input) {
90 | display: block;
91 | width: 100%;
92 | margin-top: 20px;
93 | padding: 12px 14px;
94 | font-size: 15px;
95 | line-height: 15px;
96 | border: 1px solid #b2b7ba;
97 | border-radius: 2px;
98 | }
99 |
100 | :global(.text_input:focus) {
101 | outline-color: transparent;
102 | outline-style: none;
103 | border: 1px solid #34495e;
104 | }
105 |
106 | :global(.ReactModal__Content) {
107 | outline: none!important;
108 | }
109 |
110 |
111 | /*
112 | // nice gradient
113 | // linear-gradient(135deg, #ca2091 0, #a041fa 20%, #3f65fb 50%, #0fcbfa 80%, #0fe6fa 100%)
114 | */
115 |
116 | :global(.line) {
117 | stroke: #3f65fb;
118 | stroke-width: 3px;
119 | fill: none;
120 | }
121 |
122 | :global(.column) {
123 | fill: RGB(230, 237, 244);
124 | }
125 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "app/server-bundle",
3 | "license": "MIT",
4 | "author": {
5 | "name": "Oleg Akbarov",
6 | "email": "olegakbarov@gmail.com",
7 | "url": "https://twitter.com/olegakbarov"
8 | },
9 | "contributors": [
10 | {
11 | "name": "Sergey Slipchenko",
12 | "email": "faergeek@gmail.com",
13 | "url": "https://twitter.com/faergeek"
14 | }
15 | ],
16 | "repository": {
17 | "type": "git",
18 | "url": "git@github.com:olegakbarov/redux-blog-example.git"
19 | },
20 | "scripts": {
21 | "dev": "debug=* NODE_ENV=development node index.js"
22 | },
23 | "ava": {
24 | "files": [
25 | "test/**/*.spec.js"
26 | ],
27 | "source": [
28 | "src/**/*.{js,jsx}"
29 | ],
30 | "concurrency": 5,
31 | "require": [
32 | "babel-core/register",
33 | "babel-polyfill",
34 | "ignore-styles"
35 | ],
36 | "babel": {
37 | "babelrc": true,
38 | "presets": [
39 | "react",
40 | "es2017",
41 | "es2016",
42 | "es2015"
43 | ]
44 | }
45 | },
46 | "dependencies": {
47 | "axios": "^0.15.3",
48 | "babel-runtime": "^6.20.0",
49 | "body-parser": "^1.12.4",
50 | "bunyan": "^1.8.9",
51 | "bunyan-prettystream": "^0.1.3",
52 | "cookie-parser": "^1.4.3",
53 | "dotenv": "^4.0.0",
54 | "express": "^4.12.4",
55 | "extract-text-webpack-plugin": "^1.0.1",
56 | "key-mirror": "^1.0.0",
57 | "lodash": "^4.17.3",
58 | "normalize.css": "^5.0.0",
59 | "react": "^15.4.1",
60 | "react-dom": "^15.4.1",
61 | "react-hot-loader": "^1.3.1",
62 | "react-redux": "^5.0.1",
63 | "react-router": "^4.0.0",
64 | "react-router-dom": "^4.0.0",
65 | "redux": "^3.6.0",
66 | "redux-logger": "^2.7.4",
67 | "redux-thunk": "^2.1.0"
68 | },
69 | "devDependencies": {
70 | "babel-cli": "^6.18.0",
71 | "babel-core": "^6.21.0",
72 | "babel-eslint": "^7.1.1",
73 | "babel-loader": "^6.4.1",
74 | "babel-plugin-transform-class-properties": "^6.23.0",
75 | "babel-plugin-transform-object-rest-spread": "^6.23.0",
76 | "babel-polyfill": "^6.20.0",
77 | "babel-preset-es2015": "^6.24.0",
78 | "babel-preset-es2016": "^6.22.0",
79 | "babel-preset-es2017": "^6.22.0",
80 | "babel-preset-react": "^6.23.0",
81 | "css-loader": "^0.26.1",
82 | "extract-text-webpack-plugin": "^1.0.1",
83 | "ignore-loader": "^0.1.2",
84 | "normalize.css": "^5.0.0",
85 | "react-hot-loader": "^1.2.7",
86 | "style-loader": "^0.13.1",
87 | "webpack": "^2.3.3",
88 | "webpack-dev-middleware": "^1.10.1",
89 | "webpack-hot-middleware": "^2.18.0",
90 | "webpack-hot-server-middleware": "0.0.6",
91 | "webpack-node-externals": "^1.5.4"
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/api/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-env node */
2 | import express from 'express';
3 | import bodyParser from 'body-parser';
4 | import jwt from 'express-jwt';
5 | import jsonServer from 'json-server';
6 | import config from './config';
7 | import jwtToken from 'jsonwebtoken';
8 | import path from 'path';
9 | import fs from 'fs';
10 | import _ from 'lodash';
11 |
12 | const jsonPath = path.join(__dirname, 'data.json');
13 | const app = express();
14 |
15 | app.use(jsonServer.defaults());
16 | app.use(bodyParser.json());
17 | app.use(jwt({
18 | secret: config.token.secret
19 | }).unless(req => {
20 | const url = req.originalUrl;
21 | const postsRE = /^\/posts(\/.*)?$/;
22 |
23 | return (
24 | url === '/signup' ||
25 | url === '/login' ||
26 | (postsRE).test(url) && req.method === 'GET'
27 | );
28 | }));
29 |
30 | function generateToken(email, password) {
31 | const payload = { email, password };
32 | return jwtToken.sign(payload, config.token.secret, {
33 | expiresIn: config.token.expires
34 | });
35 | }
36 |
37 | function extractToken(header) {
38 | return header.split(' ')[1];
39 | }
40 |
41 | // here comes the real hardcode
42 | const HARDCODED_EMAIL = 'email@adress';
43 | const HARDCODED_PASSWORD = 'pass';
44 | const HARDCODED_USER = {
45 | id: 4,
46 | email: 'email@adress',
47 | password: 'pass'
48 | };
49 |
50 | app.post('/login', (req, res) => {
51 | const { email, password } = req.body;
52 | if (email === HARDCODED_EMAIL && password === HARDCODED_PASSWORD) {
53 | const token = generateToken(email, password);
54 | const user = HARDCODED_USER;
55 | res.send({ token, user });
56 | } else {
57 | res.sendStatus(401);
58 | }
59 | });
60 |
61 | app.get('/profile', (req, res) => {
62 | try {
63 | const token = extractToken(req.headers.authorization);
64 | const decode = jwtToken.decode(token);
65 | const { email } = decode;
66 | fs.readFile(jsonPath, {
67 | encoding: 'utf-8'
68 | }, (error, db) => {
69 | const users = (JSON.parse(db)).users;
70 | const user = _.find(users, (user) => user.email === email);
71 | res.send(user);
72 | });
73 | } catch (error) {
74 | res.sendStatus(401);
75 | }
76 | });
77 |
78 | app.put('/profile', (req, res) => {
79 | try {
80 | const token = extractToken(req.headers.authorization);
81 | const decode = jwtToken.decode(token);
82 | const { email } = decode;
83 |
84 | fs.readFile(jsonPath, {
85 | encoding: 'utf-8'
86 | }, (error, db) => {
87 | let editedUser;
88 |
89 | const json = JSON.parse(db);
90 |
91 | const users = json.users.map(user => {
92 | if (user.email === email) {
93 | return (editedUser = { ...user, ...req.body });
94 | }
95 |
96 | return user;
97 | });
98 |
99 | if (!editedUser) res.sendStatus(404);
100 |
101 | json.users = users;
102 |
103 | fs.writeFile(jsonPath, JSON.stringify(json, null, ' '), err => {
104 | if (err) return res.sendStatus(500);
105 |
106 | res.send(editedUser);
107 | });
108 | });
109 | } catch (error) {
110 | res.sendStatus(401);
111 | }
112 | });
113 |
114 | app.use(jsonServer.router(jsonPath));
115 |
116 | app.listen(1337);
117 |
--------------------------------------------------------------------------------
/src/utils/parseUrl.js:
--------------------------------------------------------------------------------
1 | import querystring from 'querystring';
2 |
3 | export function normalizeTokenKeys(params) {
4 | // normalize keys
5 | if (params.token) {
6 | params['access-token'] = params.token;
7 | delete params.token;
8 | }
9 | if (params.auth_token) {
10 | params['access-token'] = params.auth_token;
11 | delete params.auth_token;
12 | }
13 | if (params.client_id) {
14 | params.client = params.client_id;
15 | delete params.client_id;
16 | }
17 | if (params.config) {
18 | params.endpointKey = params.config;
19 | delete params.config;
20 | }
21 |
22 | return params;
23 | }
24 |
25 |
26 | const getAnchorSearch = function(location) {
27 | var rawAnchor = location.anchor || '',
28 | arr = rawAnchor.split('?');
29 | return (arr.length > 1) ? arr[1] : null;
30 | };
31 |
32 |
33 | const getSearchQs = function(location) {
34 | var rawQs = location.search || '',
35 | qs = rawQs.replace('?', ''),
36 | qsObj = (qs) ? querystring.parse(qs) : {};
37 |
38 | return qsObj;
39 | };
40 |
41 |
42 | const getAnchorQs = function(location) {
43 | var anchorQs = getAnchorSearch(location),
44 | anchorQsObj = (anchorQs) ? querystring.parse(anchorQs) : {};
45 |
46 | return anchorQsObj;
47 | };
48 |
49 | const stripKeys = function(obj, keys) {
50 | for (var q in keys) {
51 | delete obj[keys[q]];
52 | }
53 |
54 | return obj;
55 | };
56 |
57 | export function getAllParams(location) {
58 | return {
59 | ...getAnchorQs(location),
60 | ...getSearchQs(location)
61 | };
62 | }
63 |
64 |
65 | const buildCredentials = function(location, keys) {
66 | var params = getAllParams(location);
67 | var authHeaders = {};
68 |
69 | for (var key of keys) {
70 | authHeaders[key] = params[key];
71 | }
72 |
73 | return normalizeTokenKeys(authHeaders);
74 | };
75 |
76 |
77 | // this method is tricky. we want to reconstruct the current URL with the
78 | // following conditions:
79 | // 1. search contains none of the supplied keys
80 | // 2. anchor search (i.e. `#/?key=val`) contains none of the supplied keys
81 | // 3. all of the keys NOT supplied are presevered in their original form
82 | // 4. url protocol, host, and path are preserved
83 | const getLocationWithoutParams = function(currentLocation, keys) {
84 | // strip all values from both actual and anchor search params
85 | var newSearch = querystring.stringify(stripKeys(getSearchQs(currentLocation), keys)),
86 | newAnchorQs = querystring.stringify(stripKeys(getAnchorQs(currentLocation), keys)),
87 | newAnchor = (currentLocation.hash || '').split('?')[0];
88 |
89 | if (newSearch) {
90 | newSearch = '?' + newSearch;
91 | }
92 |
93 | if (newAnchorQs) {
94 | newAnchor += '?' + newAnchorQs;
95 | }
96 |
97 | if (newAnchor && !newAnchor.match(/^#/)) {
98 | newAnchor = '#/' + newAnchor;
99 | }
100 |
101 | // reconstruct location with stripped auth keys
102 | var newLocation = currentLocation.pathname + newSearch + newAnchor;
103 |
104 | return newLocation;
105 | };
106 |
107 |
108 | export default function getRedirectInfo(currentLocation) {
109 | if (!currentLocation) {
110 | return {};
111 | } else {
112 | let authKeys = [
113 | 'access_token',
114 | 'token',
115 | 'auth_token',
116 | 'config',
117 | 'client',
118 | 'client_id',
119 | 'expiry',
120 | 'uid',
121 | 'reset_password',
122 | 'account_confirmation_success'
123 | ];
124 |
125 | var authRedirectHeaders = buildCredentials(currentLocation, authKeys);
126 | var authRedirectPath = getLocationWithoutParams(currentLocation, authKeys);
127 |
128 | if (authRedirectPath !== currentLocation) {
129 | return { authRedirectHeaders, authRedirectPath };
130 | } else {
131 | return {};
132 | }
133 | }
134 | }
135 |
--------------------------------------------------------------------------------
/src/utils/prefetch.js:
--------------------------------------------------------------------------------
1 | // https://github.com/zeit/next.js/blob/master/lib/prefetch.js
2 |
3 | import React from 'react';
4 | import Link, { isLocal } from './link';
5 | import { parse as urlParse } from 'url';
6 |
7 | class Messenger {
8 | constructor() {
9 | this.id = 0;
10 | this.callacks = {};
11 | this.serviceWorkerReadyCallbacks = [];
12 | this.serviceWorkerState = null;
13 |
14 | navigator.serviceWorker.addEventListener('message', ({ data }) => {
15 | if (data.action !== 'REPLY') return;
16 | if (this.callacks[data.replyFor]) {
17 | this.callacks[data.replyFor](data);
18 | }
19 | });
20 |
21 | // Reset the cache always.
22 | // Sometimes, there's an already running service worker with cached requests.
23 | // If the app doesn't use any prefetch calls, `ensureInitialized` won't get
24 | // called and cleanup resources.
25 | // So, that's why we do this.
26 | this._resetCache();
27 | }
28 |
29 | send(payload, cb) {
30 | if (this.serviceWorkerState === 'REGISTERED') {
31 | this._send(payload, cb);
32 | } else {
33 | this.serviceWorkerReadyCallbacks.push(() => {
34 | this._send(payload, cb);
35 | });
36 | }
37 | }
38 |
39 | _send(payload, cb = () => {}) {
40 | const id = this.id ++;
41 | const newPayload = { ...payload, id };
42 |
43 | this.callacks[id] = (data) => {
44 | if (data.error) {
45 | cb(data.error);
46 | } else {
47 | cb(null, data.result);
48 | }
49 |
50 | delete this.callacks[id];
51 | };
52 |
53 | navigator.serviceWorker.controller.postMessage(newPayload);
54 | }
55 |
56 | _resetCache(cb) {
57 | const reset = () => {
58 | this._send({ action: 'RESET' }, cb);
59 | };
60 |
61 | if (navigator.serviceWorker.controller) {
62 | reset();
63 | } else {
64 | navigator.serviceWorker.oncontrollerchange = reset;
65 | }
66 | }
67 |
68 | ensureInitialized() {
69 | if (this.serviceWorkerState) {
70 | return;
71 | }
72 |
73 | this.serviceWorkerState = 'REGISTERING';
74 | navigator.serviceWorker.register('/_next-prefetcher.js');
75 |
76 | // Reset the cache after registered
77 | // We don't need to have any old caches since service workers lives beyond
78 | // life time of the webpage.
79 | // With this prefetching won't work 100% if multiple pages of the same app
80 | // loads in the same browser in same time.
81 | // Basically, cache will only have prefetched resourses for the last loaded
82 | // page of a given app.
83 | // We could mitigate this, when we add a hash to a every file we fetch.
84 | this._resetCache((err) => {
85 | if (err) throw err;
86 | this.serviceWorkerState = 'REGISTERED';
87 | this.serviceWorkerReadyCallbacks.forEach(cb => cb());
88 | this.serviceWorkerReadyCallbacks = [];
89 | });
90 | }
91 | }
92 |
93 | function hasServiceWorkerSupport() {
94 | return (typeof navigator !== 'undefined' && navigator.serviceWorker);
95 | }
96 |
97 | const PREFETCHED_URLS = {};
98 | let messenger;
99 |
100 | if (hasServiceWorkerSupport()) {
101 | messenger = new Messenger();
102 | }
103 |
104 | export function prefetch(href) {
105 | if (!hasServiceWorkerSupport()) return;
106 | if (!isLocal(href)) return;
107 |
108 | // Register the service worker if it's not.
109 | messenger.ensureInitialized();
110 |
111 | let { pathname } = urlParse(href);
112 | // Add support for the index page
113 |
114 | const url = `/_next/pages${pathname}`;
115 | if (PREFETCHED_URLS[url]) return;
116 |
117 | messenger.send({ action: 'ADD_URL', url: url });
118 | PREFETCHED_URLS[url] = true;
119 | }
120 |
121 | export default class LinkPrefetch extends React.Component {
122 | render() {
123 | const { href } = this.props;
124 | if (this.props.prefetch !== false) {
125 | prefetch(href);
126 | }
127 |
128 | return ();
129 | }
130 | }
131 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React Redux Starter Kit
2 |
3 | A universal React + Redux frontend starter kit following best practices: PWA‑optimized, server‑side rendering, offline‑first service workers, background prefetching, and more. ([github.com][1])
4 |
5 | ---
6 |
7 | ## 🚀 Features
8 |
9 | * **Universal rendering** (client + server)
10 | * **Progressive Web App (PWA)** • Offline-first with service workers
11 | * **Prefetching** background data loading
12 | * **Notification and Alerts** system built-in
13 | * **Service-worker caching** for offline resilience
14 | * **React 15 + Redux + redux-thunk** support
15 | * **React Router v4**, `axios` for API calls
16 | * **CSS Modules + normalize.css** for modular styling
17 | * **Babel + Webpack optimized**
18 | * **Docker support** via included `Dockerfile` ([github.com][1], [github.com][2], [github.com][3])
19 |
20 | ---
21 |
22 | ## 📦 Quick Start
23 |
24 | ```bash
25 | git clone https://github.com/olegakbarov/react-redux-starter-kit.git
26 | cd react-redux-starter-kit
27 | npm install
28 | ```
29 |
30 | In development:
31 |
32 | ```bash
33 | npm run dev
34 | ```
35 |
36 | This starts the server with hot reloading and universal rendering.
37 | For production:
38 |
39 | ```bash
40 | npm run build # (configurable via webpack)
41 | npm start # or run the built server bundle
42 | ```
43 |
44 | For Docker deployments:
45 |
46 | ```bash
47 | docker build -t my-app .
48 | docker run -p 3000:3000 my-app
49 | ```
50 |
51 | ---
52 |
53 | ## ⚙️ Project Structure
54 |
55 | ```
56 | .
57 | ├── src/
58 | │ ├── components/ # Presentational UI components
59 | │ ├── containers/ # Redux-connected containers
60 | │ ├── api/ # API utility (axios) & service workers
61 | │ └── index.js # Client/server bootstrap
62 | ├── server.js # Express server & SSR middleware
63 | ├── webpack/ # Webpack configs (dev & prod)
64 | ├── Dockerfile # Docker build config
65 | ├── package.json # Dependencies & npm scripts :contentReference[oaicite:16]{index=16}
66 | └── .babelrc/.eslintrc # Transpilation & linting settings
67 | ```
68 |
69 | ---
70 |
71 | ## 🔧 Configuration
72 |
73 | * **Service Worker**: Ensure the `sw.js` output is served.
74 | * **Environment Variables**: Use `.env` and `dotenv` for configs.
75 | * **Redux Thunk & Logger**: Manage async workflows and debug info.
76 | * **CSS Modules + normalize.css**: Scoped styles with a CSS reset.
77 |
78 | ---
79 |
80 | ## 🧩 Adding Features
81 |
82 | * Add reducers, actions, and containers in their respective directories.
83 | * Extend the `server.js` Express app to add REST endpoints.
84 | * Customize Webpack for advanced builds or new assets.
85 |
86 | ---
87 |
88 | ## ✅ Testing (Coming Soon)
89 |
90 | Test setup is included (e.g. `ava` config), but **test scripts** (e.g. `npm test`) still need to be implemented and integrated into CI workflows.
91 |
92 | ---
93 |
94 | ## 🌐 Docker
95 |
96 | The included `Dockerfile` shows an example of building a production image:
97 |
98 | ```Dockerfile
99 | FROM node:10
100 | WORKDIR /app
101 | COPY package.json yarn.lock ./
102 | RUN yarn install --production
103 | COPY . .
104 | RUN yarn build
105 | CMD ["node", "build/server-bundle.js"]
106 | ```
107 |
108 | You can customize this for multi-stage builds or add runtime dependencies. ([github.com][1], [github.com][2])
109 |
110 | ---
111 |
112 | ## 📋 Roadmap
113 |
114 | * Enable full **tree-shaking**
115 | * Update Babel presets/plugins
116 | * Further **PWA enhancements**
117 | * Integrate **modern React** features (hooks, Suspense, SSR patterns)
118 |
119 | ---
120 |
121 | ## 👥 Contributors
122 |
123 | * **Oleg Akbarov** – Author
124 | * **Sergey Slipchenko** – Contributor ([github.com][2], [github.com][1], [github.com][4])
125 |
126 | ---
127 |
128 | ## 📄 License
129 |
130 | Licensed under the **MIT** License.
131 |
132 | ---
133 |
134 | ## 🧠 Summary
135 |
136 | This kit is a solid foundation for building universal React + Redux applications with PWA capabilities. It handles server-side rendering, offline-first design, and background prefetching out of the box, and is meant for developers who want a best-practice baseline to build upon.
137 |
138 | ---
139 |
140 | Let me know if you'd like sections added for API architecture, examples of Redux workflows, or CI/CD!
141 |
142 | [1]: https://github.com/olegakbarov/react-redux-starter-kit?utm_source=chatgpt.com "olegakbarov/react-redux-starter-kit - GitHub"
143 | [2]: https://github.com/olegakbarov/react-redux-starter-kit/blob/master/package.json?utm_source=chatgpt.com "package.json - olegakbarov/react-redux-starter-kit - GitHub"
144 | [3]: https://github.com/cloudmu/react-redux-starter-kit?utm_source=chatgpt.com "cloudmu/react-redux-starter-kit - GitHub"
145 | [4]: https://github.com/dvdzkwsk/react-redux-starter-kit?utm_source=chatgpt.com "dvdzkwsk/react-redux-starter-kit - GitHub"
146 |
--------------------------------------------------------------------------------
/api/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "posts": [
3 | {
4 | "id": 1,
5 | "userId": 1,
6 | "title": "Culpa aute non",
7 | "content": "Aliquip nisi velit do ut esse excepteur eu laborum sit mollit qui mollit exercitation. Cillum officia sint consectetur voluptate et pariatur ipsum. Nisi ea quis minim officia ea ullamco nisi irure elit elit ut laboris esse culpa. Commodo cupidatat est elit eu amet dolore culpa consectetur esse. Culpa dolore Lorem qui nisi eu laborum aliquip veniam ad.\r\nNisi minim ad veniam excepteur esse aliqua nisi ipsum tempor et veniam excepteur. Ex voluptate dolore elit qui occaecat veniam in consectetur eiusmod irure. Pariatur laborum ex ad et. Ad pariatur voluptate aliqua culpa id aliqua culpa aliqua voluptate nulla deserunt. Voluptate aliqua esse elit veniam veniam laborum aliqua ullamco et minim fugiat excepteur cupidatat quis.\r\nEt ullamco ad sit reprehenderit laboris adipisicing nulla occaecat enim enim aliquip aute. Commodo mollit incididunt cillum reprehenderit proident. Sit elit culpa enim excepteur ea commodo.\r\n",
8 | "published": false,
9 | "date": "Mon Mar 16 2015 09:00:21 GMT+0300 (MSK)"
10 | },
11 | {
12 | "id": 2,
13 | "userId": 4,
14 | "title": "Cillum non duis",
15 | "content": "Est ipsum Lorem consequat mollit. Labore magna mollit irure cillum amet commodo Lorem sunt. Proident sit magna aute enim exercitation excepteur nostrud adipisicing proident cillum Lorem magna. Elit exercitation cillum culpa pariatur et magna laboris ad laboris sunt officia. Laboris proident minim esse duis anim.\r\nDo irure excepteur nostrud culpa amet officia tempor elit consectetur fugiat magna. Fugiat eiusmod irure sit elit consectetur. Minim elit esse magna duis fugiat magna velit exercitation ex ea ullamco pariatur. Sint laborum ea incididunt ad Lorem veniam dolore. Pariatur ad eiusmod quis consequat veniam nulla dolor elit ut consequat.\r\nEsse nisi deserunt voluptate ut Lorem. Ipsum ex irure deserunt velit ullamco. Veniam aliquip aliquip excepteur Lorem labore culpa cillum minim nisi nostrud aliquip consequat ullamco. Et dolore labore non dolor ut. Ex mollit sint sint velit cupidatat mollit non ad labore. Sunt ipsum ea nisi non enim enim excepteur ea ipsum fugiat veniam adipisicing culpa. Enim velit tempor sunt aliquip pariatur do id aute qui incididunt.\r\n",
16 | "published": false,
17 | "date": "Mon Mar 30 2015 04:42:24 GMT+0300 (MSK)"
18 | },
19 | {
20 | "id": 3,
21 | "userId": 5,
22 | "title": "Ex irure cupidatat",
23 | "content": "Aliqua officia excepteur fugiat excepteur eiusmod aliqua adipisicing deserunt Lorem. Proident deserunt adipisicing est qui dolor nostrud. Exercitation do cupidatat eiusmod magna consequat sint dolor. Mollit commodo Lorem eiusmod dolore occaecat mollit ad tempor adipisicing do elit mollit. Exercitation sint enim ipsum deserunt anim eiusmod aliqua occaecat in enim.\r\nAdipisicing et sint ullamco cupidatat fugiat voluptate nostrud et anim esse ut. Non officia esse labore labore tempor adipisicing dolor. Esse ea officia reprehenderit duis.\r\nEsse reprehenderit qui ea in est voluptate. Ut sint enim fugiat officia laboris reprehenderit occaecat occaecat non. Ex ea eiusmod ea qui fugiat duis consequat est culpa do. Qui dolor cillum nulla proident nostrud non ipsum duis. Dolor ut tempor tempor aliquip. Fugiat reprehenderit nisi incididunt consectetur aute tempor proident anim officia culpa et adipisicing amet esse. Qui in culpa elit aliqua ut anim.\r\n",
24 | "published": false,
25 | "date": "Wed Jun 10 2015 15:23:14 GMT+0300 (MSK)"
26 | },
27 | {
28 | "id": 4,
29 | "userId": 5,
30 | "title": "Excepteur minim non",
31 | "content": "Ex dolor proident officia reprehenderit duis aliquip proident. Enim amet cillum ex cupidatat do duis pariatur. Nisi mollit aliqua incididunt ut ut ut enim ea consectetur non et occaecat. Commodo consectetur consectetur sint eu sint reprehenderit eiusmod pariatur magna duis exercitation nostrud excepteur. Minim nisi non sit excepteur excepteur ullamco enim elit non duis esse proident do. Ex ad laboris incididunt voluptate irure magna est anim occaecat ad dolor dolore eu.\r\nCommodo est id pariatur amet pariatur cupidatat commodo nulla do quis amet mollit ipsum. Pariatur mollit culpa minim elit ipsum. Aute enim duis laborum sint irure ut aliqua exercitation eiusmod adipisicing aliquip adipisicing laboris. Fugiat labore ullamco exercitation ex proident Lorem sunt Lorem veniam. Quis laborum mollit laboris nostrud deserunt labore id eu in anim consequat consequat enim fugiat. Ipsum exercitation sunt consectetur mollit consequat ullamco deserunt nulla occaecat.\r\nEa sunt mollit ex cupidatat deserunt. Non ullamco anim commodo sunt laboris qui tempor nulla velit veniam deserunt dolore tempor. Elit irure laboris consectetur ex duis. Ut reprehenderit nulla sunt in duis cillum ullamco esse nisi ex minim. Voluptate Lorem anim esse est anim non fugiat anim sit amet irure deserunt.\r\n",
32 | "published": false,
33 | "date": "Fri Mar 06 2015 18:08:15 GMT+0300 (MSK)"
34 | },
35 | {
36 | "id": 5,
37 | "userId": 3,
38 | "title": "Cillum nostrud magna",
39 | "content": "Exercitation nisi laboris esse mollit. Veniam et amet consequat esse consectetur aute aliquip fugiat magna esse quis ut aute ad. Duis proident mollit elit duis Lorem occaecat quis. Magna quis aute tempor voluptate esse et ipsum veniam sunt commodo dolor laborum.\r\nVeniam duis consequat adipisicing incididunt labore qui pariatur laboris nulla. Aliqua incididunt proident in laborum pariatur irure id. Commodo ex sit proident id proident occaecat est culpa fugiat consectetur ea reprehenderit anim labore. Irure ad elit in mollit. Nisi adipisicing consequat aliqua sint aute veniam incididunt. Nostrud duis id qui irure culpa excepteur Lorem incididunt exercitation duis.\r\nAd incididunt nostrud Lorem officia velit dolore. Ullamco culpa velit proident aliquip pariatur commodo eiusmod sunt. Nulla consectetur incididunt ex eiusmod in aute amet eiusmod veniam ad aliqua do.\r\n",
40 | "published": false,
41 | "date": "Sat Apr 11 2015 01:38:23 GMT+0300 (MSK)"
42 | },
43 | {
44 | "id": 6,
45 | "userId": 3,
46 | "title": "Eiusmod veniam excepteur",
47 | "content": "__In commodo fugiat officia duis ex qui fugiat do aliquip in. Dolor occaecat et irure mollit exercitation exercitation veniam enim consectetur excepteur. Id culpa voluptate eu velit consectetur nulla non consequat officia excepteur eiusmod. Dolore occaecat consectetur esse dolor cupidatat consectetur esse id sunt.\nEa cillum est proident consequat. Consequat duis deserunt aute irure Lorem cillum id amet ea enim do qui irure. Culpa in do dolor ea non magna enim velit enim do voluptate qui laborum.\nVoluptate est occaecat labore pariatur aliqua nostrud qui ad sint ea esse amet id ullamco. Elit sit consectetur labore dolore esse culpa ut exercitation nostrud ipsum ea do incididunt tempor. Eiusmod mollit sit anim veniam in nisi commodo__\n",
48 | "published": true,
49 | "date": "Wed Jul 08 2015 21:58:59 GMT+0300 (MSK)"
50 | },
51 | {
52 | "id": 7,
53 | "userId": 2,
54 | "title": "Ex cillum eiusmod",
55 | "content": "Duis consectetur ad laborum ea reprehenderit veniam eu occaecat. Elit est quis consequat non eu excepteur veniam cupidatat. Quis commodo nostrud reprehenderit reprehenderit consequat occaecat excepteur exercitation laboris cillum dolore id quis. Anim culpa eu ipsum dolore exercitation. Et nisi pariatur dolor adipisicing nulla consequat Lorem. Magna ex quis sint commodo sint voluptate fugiat. Consequat sit ipsum voluptate commodo labore tempor id cillum magna veniam culpa tempor magna pariatur.\r\nAdipisicing excepteur sit labore aliquip et. Reprehenderit adipisicing consectetur fugiat proident aute anim consequat. Enim proident minim pariatur ex qui ipsum nulla excepteur exercitation amet culpa minim occaecat proident. Cupidatat eiusmod sunt amet id proident. Officia elit consequat laborum officia eiusmod sunt exercitation.\r\nAmet ipsum cillum ipsum adipisicing. Ipsum elit aute exercitation eiusmod mollit cupidatat elit. Occaecat aute irure exercitation cillum quis velit nisi veniam ipsum minim do mollit voluptate. Sint labore eu anim occaecat ex id duis Lorem sit est sunt.\r\n",
56 | "published": false,
57 | "date": "Thu Jan 22 2015 05:25:43 GMT+0300 (MSK)"
58 | },
59 | {
60 | "id": 8,
61 | "userId": 1,
62 | "title": "Tempor minim elit",
63 | "content": "Ut adipisicing irure consectetur do ullamco dolor quis tempor aute sunt. Duis minim nostrud elit labore sunt occaecat laborum ipsum minim sit elit consequat irure eu. Consectetur nostrud minim incididunt excepteur dolore adipisicing fugiat ad officia aliqua laboris consequat enim Lorem. Velit enim nulla do aute duis duis consequat do ea sunt cupidatat aliqua velit qui. Cillum ad occaecat exercitation do nostrud sint ullamco eu officia non cillum laborum cupidatat reprehenderit.\r\nVeniam do in exercitation pariatur consequat qui eiusmod cillum adipisicing. Elit id nulla dolor amet ipsum nisi eu ea commodo consectetur pariatur occaecat minim. Cillum est sunt ullamco irure elit esse laborum veniam ipsum proident Lorem eu. Exercitation minim sunt mollit duis culpa.\r\nFugiat tempor ea in nulla excepteur veniam culpa anim sit velit pariatur Lorem proident ex. Qui cillum do pariatur exercitation dolore esse duis deserunt exercitation. Minim nisi consectetur Lorem fugiat et deserunt exercitation fugiat labore. Deserunt do qui aliqua cupidatat enim. Commodo commodo ullamco amet amet dolore adipisicing minim sunt consequat aliquip ut sint.\r\n",
64 | "published": true,
65 | "date": "Mon Apr 06 2015 04:29:37 GMT+0300 (MSK)"
66 | },
67 | {
68 | "id": 9,
69 | "userId": 5,
70 | "title": "Consectetur non veniam",
71 | "content": "Minim do excepteur laboris et deserunt quis cillum. Irure amet aliqua sint ex anim cillum sit fugiat nulla labore dolor cupidatat amet. Aliquip mollit tempor laborum reprehenderit mollit pariatur nulla aute labore minim quis mollit. Irure officia est veniam adipisicing dolor ut nisi reprehenderit duis sunt officia.\r\nAute irure minim excepteur mollit anim cupidatat. Nulla ipsum deserunt ex id elit ad non esse. Commodo anim enim mollit aliqua eiusmod ad irure fugiat consequat velit qui. Officia quis sunt ut culpa aute nulla ipsum nostrud anim proident deserunt ullamco culpa. Magna proident excepteur veniam minim ea qui. Adipisicing incididunt id voluptate velit aute occaecat. Mollit laboris velit quis sit nisi tempor ex laborum laborum.\r\nIncididunt sint ipsum mollit in duis Lorem deserunt dolor do velit quis id deserunt fugiat. Non adipisicing est adipisicing reprehenderit adipisicing commodo cillum magna veniam do voluptate cillum anim non. Non labore ut exercitation amet eu tempor commodo aliqua sit veniam ex quis dolore exercitation. Magna ea reprehenderit ex sint esse. Adipisicing voluptate proident labore culpa incididunt eu. Aliqua sunt exercitation consequat consectetur reprehenderit in dolore in consequat mollit consectetur.\r\n",
72 | "published": true,
73 | "date": "Sat Jul 04 2015 18:16:52 GMT+0300 (MSK)"
74 | },
75 | {
76 | "id": 10,
77 | "userId": 1,
78 | "title": "Laborum pariatur eu",
79 | "content": "Aliqua eu id reprehenderit aliqua quis velit sit. Ipsum amet eu Lorem tempor ad sunt quis Lorem ut amet. Ad cupidatat aute sint non pariatur laboris aliqua. Duis exercitation ex commodo non cupidatat ad. Do proident sint cillum non deserunt sunt. Laborum ullamco duis veniam consequat velit excepteur nisi do non dolore.\r\nQuis ad aliqua eu nisi. Adipisicing est sunt veniam deserunt officia quis velit ad. Cupidatat est excepteur aliqua ea adipisicing commodo. Proident dolore nostrud excepteur pariatur nulla ea ut magna occaecat dolor deserunt ad. Culpa in sint deserunt excepteur magna qui pariatur amet et reprehenderit pariatur laborum irure. Nulla minim nulla quis dolore laboris occaecat quis. Et esse proident ex cupidatat.\r\nDo anim voluptate proident quis magna tempor nostrud commodo veniam id esse ullamco aliquip dolore. Adipisicing incididunt ex proident enim culpa veniam ea qui consectetur nisi adipisicing. Id pariatur ex culpa esse aliqua sunt aute. Commodo nulla adipisicing aliquip cillum dolore excepteur nisi anim cillum magna consectetur aliqua. Qui labore elit pariatur anim est magna adipisicing.\r\n",
80 | "published": false,
81 | "date": "Tue Apr 28 2015 11:10:34 GMT+0300 (MSK)"
82 | },
83 | {
84 | "id": 11,
85 | "userId": 4,
86 | "title": "Ut qui anim",
87 | "content": "Cupidatat non incididunt sunt est dolor eiusmod officia do. Reprehenderit enim eiusmod fugiat sunt ullamco in excepteur commodo commodo reprehenderit consequat nisi eu cupidatat. Qui cupidatat id officia dolor elit. Adipisicing tempor ex pariatur mollit et commodo mollit aute proident.\r\nVeniam anim qui sit esse consequat reprehenderit deserunt amet. Proident adipisicing ipsum eiusmod non culpa proident et pariatur adipisicing sunt. Pariatur amet ut irure amet aute sint sit. Velit voluptate et fugiat culpa dolore voluptate deserunt elit esse deserunt labore mollit culpa minim. Enim ut reprehenderit magna fugiat culpa labore eu enim magna officia mollit eu.\r\nEnim consequat occaecat officia occaecat veniam tempor velit nostrud officia officia eiusmod. Ullamco eu consequat proident quis fugiat qui aliqua voluptate eu excepteur esse labore. Commodo ad nulla consectetur quis occaecat ipsum ipsum minim irure minim incididunt. Laboris sint veniam non aliquip proident sunt nisi commodo sint mollit sint culpa excepteur irure. Dolore sint cillum reprehenderit ut ipsum fugiat cupidatat esse. Non qui nulla excepteur quis qui cillum tempor aliquip anim tempor ipsum.\r\n",
88 | "published": false,
89 | "date": "Mon Apr 06 2015 23:34:52 GMT+0300 (MSK)"
90 | },
91 | {
92 | "id": 12,
93 | "userId": 4,
94 | "title": "Culpa do minim",
95 | "content": "Ipsum enim incididunt eu veniam id cillum esse ea laboris non aute id. Sit incididunt pariatur amet incididunt officia qui velit nulla cillum exercitation. Dolor sint excepteur adipisicing non amet.\r\nConsequat Lorem aute ut proident ea exercitation fugiat irure. Laborum velit do proident excepteur consequat anim ullamco elit laborum cillum laborum in elit. Cupidatat esse elit amet ut nulla culpa aliqua sit id. Proident pariatur aliquip cupidatat in Lorem aute tempor.\r\nEx laboris aliquip ipsum mollit mollit enim id duis pariatur ipsum dolor sit. Labore Lorem elit laboris reprehenderit elit exercitation. Minim ex duis do exercitation nisi et ad exercitation.\r\n",
96 | "published": true,
97 | "date": "Fri Jul 17 2015 21:48:49 GMT+0300 (MSK)"
98 | },
99 | {
100 | "id": 13,
101 | "userId": 5,
102 | "title": "Cupidatat sint mollit",
103 | "content": "Aute minim dolore labore ea duis sint amet. Irure occaecat ut laboris mollit. Nostrud duis nulla veniam excepteur commodo in esse elit enim dolor do Lorem reprehenderit. Id aliquip tempor labore esse adipisicing tempor nisi. Non ullamco proident aliquip velit dolor. Velit adipisicing magna pariatur sint ad. Incididunt et minim ad excepteur proident fugiat pariatur nisi.\r\nMinim occaecat nulla ad est enim ea consectetur velit nostrud. Sit dolore qui laborum incididunt id tempor et nisi dolore id. Duis deserunt amet ad et qui in sit enim qui non ea laborum.\r\nOccaecat cillum voluptate esse non id enim. Aliqua pariatur consectetur eiusmod incididunt dolore aliqua esse do nisi est consequat. Sit officia tempor enim enim laboris consectetur et. Do ea incididunt enim dolor. Voluptate nulla quis non anim non commodo adipisicing reprehenderit excepteur cupidatat consequat dolore est eu.\r\n",
104 | "published": false,
105 | "date": "Tue Jan 06 2015 21:51:51 GMT+0300 (MSK)"
106 | },
107 | {
108 | "id": 14,
109 | "userId": 4,
110 | "title": "Consequat ipsum voluptate",
111 | "content": "Cillum occaecat consequat labore dolor incididunt amet amet mollit commodo qui. Occaecat tempor quis et magna irure aliquip laboris est ea incididunt nulla quis. Nostrud nulla minim duis voluptate Lorem commodo ut voluptate reprehenderit sunt aliqua. Nisi exercitation laborum eu pariatur occaecat dolore duis in enim eiusmod. Eu labore nisi veniam sit tempor. Nostrud dolore esse occaecat nulla et est laborum fugiat sint non laboris irure incididunt.\r\nDeserunt veniam mollit non anim ea duis qui dolor ut in deserunt. Aute elit laboris magna adipisicing culpa. Laboris duis sint enim minim proident nulla reprehenderit eiusmod officia consectetur ad cupidatat ipsum. Laboris excepteur esse deserunt ullamco sunt officia in. In aliquip et consectetur aliqua nostrud fugiat in do. Ipsum non labore in cillum Lorem magna exercitation pariatur officia. Pariatur velit consectetur mollit dolore mollit.\r\nDolore ea exercitation minim nulla proident est elit. Est laboris adipisicing sunt amet quis pariatur incididunt aute ad reprehenderit id eu et reprehenderit. Magna et aliquip tempor officia. Laboris nulla elit veniam qui occaecat. Aliqua nostrud duis in quis ipsum ad do sunt. Minim culpa aute in sit irure aliquip aliqua commodo.\r\n",
112 | "published": false,
113 | "date": "Thu Feb 05 2015 19:55:45 GMT+0300 (MSK)"
114 | },
115 | {
116 | "id": 15,
117 | "userId": 2,
118 | "title": "Cupidatat nulla incididunt",
119 | "content": "Culpa magna ea est incididunt mollit anim excepteur eu ex. Non fugiat consequat excepteur est mollit elit reprehenderit tempor eu. Irure mollit id labore pariatur laboris incididunt sunt excepteur elit. Pariatur sunt magna labore duis adipisicing labore.\r\nCommodo do cillum officia quis aute proident consequat ex nostrud voluptate deserunt. Fugiat minim occaecat ullamco aute nostrud reprehenderit. Anim id commodo ea non dolore. Magna enim anim nisi voluptate do. Magna duis sint ut ex eu ipsum aliquip culpa.\r\nNostrud minim ex est culpa Lorem mollit exercitation culpa ut esse laboris cupidatat. Anim anim magna irure exercitation aute do irure labore ex est. Pariatur exercitation incididunt consectetur irure sunt. Reprehenderit ea non excepteur duis et culpa labore dolor eiusmod excepteur. Magna qui reprehenderit dolore deserunt aute commodo quis aliqua aliquip id anim. Adipisicing qui incididunt sunt tempor ea.\r\n",
120 | "published": true,
121 | "date": "Thu Feb 05 2015 01:24:28 GMT+0300 (MSK)"
122 | },
123 | {
124 | "id": 16,
125 | "userId": 2,
126 | "title": "Eiusmod velit sunt",
127 | "content": "Laboris excepteur pariatur ut in laboris laborum. Sint sit sit ut nulla officia magna ad qui. Sit excepteur duis deserunt proident consequat sunt laborum laborum. Deserunt reprehenderit aute duis consequat. Enim voluptate consectetur voluptate laborum. Et dolore fugiat adipisicing occaecat minim.\r\nDuis ad dolor laboris cupidatat. Proident culpa mollit nostrud cupidatat irure laborum aute officia qui sunt culpa est ex officia. Laborum elit in aute fugiat.\r\nLaborum reprehenderit commodo excepteur pariatur laborum velit ut commodo id labore ea labore proident. Id id do occaecat quis. Eu nostrud magna ex pariatur id sunt. Eu ea aute nisi labore in qui pariatur sunt anim labore voluptate ad in. Officia reprehenderit occaecat officia nisi aliqua eu. Eu laboris tempor veniam ad ad culpa id aute laborum et mollit proident. Aute aliqua anim ad ipsum quis laboris.\r\n",
128 | "published": false,
129 | "date": "Sun Feb 15 2015 21:19:40 GMT+0300 (MSK)"
130 | },
131 | {
132 | "id": 17,
133 | "userId": 4,
134 | "title": "Sint ex sit",
135 | "content": "Id esse reprehenderit elit veniam aliquip proident laboris sit anim. Lorem pariatur culpa aliqua velit est anim ipsum amet in voluptate. Consequat deserunt aliquip elit mollit tempor elit cupidatat. Duis irure commodo aliqua est incididunt do nulla labore. Deserunt sunt commodo nostrud quis aliquip in dolor ad sunt in cupidatat. Cupidatat ea voluptate eu duis. Incididunt deserunt dolor ut duis commodo veniam nisi et id officia culpa consectetur proident.\r\nExercitation adipisicing sunt veniam id aliquip pariatur fugiat. Labore labore aute id aliquip elit Lorem anim qui occaecat do ut commodo. Excepteur duis eiusmod duis esse aute.\r\nVelit ea veniam consequat occaecat qui in fugiat id. Minim officia consectetur consectetur occaecat culpa id pariatur officia sint consectetur deserunt. Id esse consectetur veniam amet et qui aliqua enim commodo mollit quis.\r\n",
136 | "published": false,
137 | "date": "Sat Jan 24 2015 05:27:33 GMT+0300 (MSK)"
138 | },
139 | {
140 | "id": 18,
141 | "userId": 4,
142 | "title": "Enim nisi fugiat",
143 | "content": "Minim reprehenderit Lorem labore mollit pariatur dolore fugiat aliqua. Amet minim excepteur anim laborum velit. Ut dolor dolore laboris laborum irure minim amet adipisicing. Reprehenderit adipisicing elit id nisi ex. Laborum veniam anim sint anim pariatur aliqua pariatur nulla ut ipsum velit et labore dolore. Non mollit officia deserunt Lorem.\r\nExercitation magna deserunt irure magna minim et. Aute aliqua anim aliqua incididunt. Elit laborum ullamco eiusmod enim aute et nulla.\r\nProident cillum ex veniam nostrud amet fugiat adipisicing dolore eiusmod excepteur mollit. Minim fugiat laboris sint id veniam incididunt qui consequat reprehenderit anim aute magna commodo. Sit sunt ad excepteur do laborum commodo aliquip aute officia sint. Veniam ad ex ullamco magna minim ipsum culpa mollit. Laborum mollit anim adipisicing quis cupidatat occaecat nostrud laboris laboris aliqua. Anim tempor cillum nostrud consequat nisi velit aute cupidatat. Duis sunt fugiat officia cillum minim commodo.\r\n",
144 | "published": true,
145 | "date": "Fri May 22 2015 17:57:41 GMT+0300 (MSK)"
146 | },
147 | {
148 | "id": 19,
149 | "userId": 1,
150 | "title": "Adipisicing consequat cupidatat",
151 | "content": "Proident ad dolor aliquip labore sint eu nulla eu duis deserunt exercitation duis magna dolore. Laborum sit non labore in culpa quis eiusmod nostrud dolore fugiat labore. Tempor commodo ipsum officia culpa duis consequat proident nostrud et sunt deserunt officia deserunt. Amet mollit nisi tempor in cillum. Tempor consectetur labore elit eiusmod veniam laboris. Officia proident deserunt nostrud ipsum exercitation tempor magna aliquip elit quis.\r\nOccaecat ipsum non enim adipisicing. Voluptate laborum magna exercitation non quis excepteur id elit nulla cupidatat. Et exercitation eu aliqua nostrud et aliquip sint consectetur ut Lorem excepteur. Dolore non amet pariatur aute aliquip id sint nulla cupidatat eiusmod dolor minim ea officia. Adipisicing Lorem Lorem elit irure mollit anim id aliquip Lorem sint tempor commodo. Sunt ea fugiat eu reprehenderit.\r\nEx labore eiusmod elit id amet ut anim consequat consectetur. Non sit eiusmod veniam velit mollit. Magna consequat enim laborum fugiat mollit consequat dolor commodo in. In occaecat eu exercitation sunt laborum sint culpa. Dolor elit eiusmod ea anim sint non amet ut. Id sint proident irure quis veniam sint. Proident officia est aliquip cillum culpa dolor elit pariatur.\r\n",
152 | "published": true,
153 | "date": "Sun Jan 04 2015 03:34:18 GMT+0300 (MSK)"
154 | },
155 | {
156 | "id": 20,
157 | "userId": 1,
158 | "title": "Sunt cupidatat voluptate",
159 | "content": "Proident anim sit elit incididunt. Incididunt do irure nulla ex culpa aute fugiat culpa Lorem reprehenderit aliquip aliqua proident labore. Nulla velit excepteur ad aliquip ea sint. Magna proident cupidatat consectetur est eiusmod ex laborum magna nulla id cillum.\r\nUllamco pariatur elit est labore. Labore incididunt amet aliquip cillum anim do enim qui eu commodo anim. Amet ipsum nostrud mollit ex amet mollit. Exercitation voluptate laboris eiusmod duis nostrud sint do eu commodo culpa anim aliqua. Est minim pariatur officia sit non consectetur ut officia.\r\nMollit mollit sunt amet qui id nisi est ut proident esse labore ad aute. Anim eiusmod veniam magna id cillum amet adipisicing. Aliqua aliquip velit elit fugiat et commodo commodo sit sint eu aliquip. Labore aliquip sunt proident aute ea ea aliquip consectetur minim.\r\n",
160 | "published": false,
161 | "date": "Sun Jan 11 2015 22:04:07 GMT+0300 (MSK)"
162 | },
163 | {
164 | "id": 21,
165 | "userId": 2,
166 | "title": "Cillum sit velit",
167 | "content": "Consectetur do sint adipisicing in. Nisi esse minim voluptate reprehenderit nulla incididunt labore proident voluptate enim labore mollit laborum. Proident culpa proident occaecat consequat eiusmod ea fugiat duis qui. Labore nulla in cillum cupidatat officia proident.\r\nMagna ipsum voluptate voluptate excepteur sit amet minim. Mollit consectetur veniam velit cillum nulla minim esse officia. Qui cillum do quis adipisicing. Amet occaecat mollit qui dolor aute amet adipisicing labore enim do. Excepteur velit laboris magna qui ullamco cillum cillum dolor nulla.\r\nEst amet laborum est irure irure Lorem in et dolor et proident. Officia laborum occaecat deserunt consequat in aliquip deserunt culpa dolore aute. Incididunt quis commodo laboris tempor laborum velit esse id commodo excepteur laborum. Proident laborum adipisicing aliqua voluptate id do exercitation eiusmod duis. Tempor ad et culpa cillum sint deserunt excepteur occaecat voluptate culpa anim minim non officia.\r\n",
168 | "published": false,
169 | "date": "Sun Apr 12 2015 15:24:51 GMT+0300 (MSK)"
170 | },
171 | {
172 | "id": 22,
173 | "userId": 5,
174 | "title": "Ipsum amet culpa",
175 | "content": "Velit ea irure deserunt mollit magna anim. Exercitation eiusmod commodo excepteur eiusmod consectetur aliquip exercitation dolore magna. Pariatur deserunt labore eu non eiusmod et sunt. Commodo quis Lorem eiusmod ut. Do et Lorem incididunt laboris excepteur tempor sit ad. Voluptate ad dolore elit ullamco non nisi minim proident qui voluptate sit Lorem magna Lorem. Aliqua ut adipisicing nostrud minim tempor qui mollit fugiat anim do.\r\nUt reprehenderit aute sit laboris mollit mollit aliqua commodo. Laborum pariatur pariatur consequat adipisicing. Consectetur ut ex ex dolore est non enim sit anim. Duis tempor cupidatat consequat amet anim sint. Minim occaecat cillum tempor culpa duis esse pariatur voluptate culpa cupidatat consequat. Consectetur nisi tempor eu in. Nostrud do eiusmod est nostrud non culpa nostrud aliquip.\r\nEnim Lorem eu esse eiusmod ut culpa officia. Ut proident proident nulla cillum et id culpa eiusmod tempor ullamco dolor voluptate cillum. Reprehenderit do amet ex nisi labore Lorem aliquip. Lorem culpa fugiat quis dolor cupidatat do. Pariatur irure anim incididunt deserunt elit velit nisi exercitation anim id mollit sint id amet. Aute adipisicing officia veniam reprehenderit ad consequat exercitation fugiat amet dolor eu anim Lorem.\r\n",
176 | "published": false,
177 | "date": "Wed Jun 10 2015 02:44:42 GMT+0300 (MSK)"
178 | },
179 | {
180 | "id": 23,
181 | "userId": 4,
182 | "title": "Deserunt ea officia",
183 | "content": "Proident aliquip irure excepteur magna minim nostrud laboris sit id do. Nostrud consequat dolor veniam ea ex. Voluptate incididunt et nulla elit nulla ipsum sint consectetur. Ad do quis pariatur veniam qui commodo laboris.\r\nOccaecat in ipsum tempor fugiat ex elit aute laborum occaecat nulla culpa amet. Aliquip enim tempor nulla Lorem mollit nostrud labore. Deserunt ad nulla exercitation exercitation non nisi cillum pariatur.\r\nAdipisicing nostrud anim consequat cupidatat do eu sint minim. Officia commodo excepteur eiusmod id eu eiusmod ea ex elit ex non velit nostrud sint. Elit aute tempor excepteur culpa consequat ad sit labore veniam eiusmod aliqua consequat anim. Occaecat minim do ea cillum id tempor reprehenderit aliquip occaecat cupidatat ut nostrud cillum et. Nisi sint consequat quis pariatur ullamco occaecat consectetur.\r\n",
184 | "published": false,
185 | "date": "Thu Feb 19 2015 00:17:45 GMT+0300 (MSK)"
186 | },
187 | {
188 | "id": 24,
189 | "userId": 4,
190 | "title": "Elit ut adipisicing",
191 | "content": "Eiusmod ipsum sint nulla magna eiusmod do officia aute minim incididunt voluptate ea ad elit. Et elit anim mollit qui ad amet in consectetur magna. Dolor dolor ex in ea quis nostrud proident aute qui nulla velit ut. Dolore magna sunt consequat amet id esse laboris amet ea culpa. Aliqua laborum dolor irure exercitation do aute non eu nisi.\r\nAliqua ex consectetur ad incididunt reprehenderit minim. Commodo aliqua consequat anim ea non adipisicing Lorem. Sunt irure et sunt consectetur nisi ipsum. Sit cupidatat eu do non quis fugiat ex.\r\nProident elit fugiat culpa enim culpa labore quis nulla ad est. Tempor velit incididunt excepteur enim sunt sint officia reprehenderit cupidatat mollit excepteur culpa non enim. Do culpa enim non fugiat elit ullamco occaecat laboris. Elit magna proident aliqua pariatur nostrud commodo ipsum laboris. Incididunt deserunt ad veniam dolore laboris ex minim officia sit Lorem cillum. Lorem nisi ex veniam quis nostrud enim.\r\n",
192 | "published": true,
193 | "date": "Fri Feb 27 2015 12:10:08 GMT+0300 (MSK)"
194 | },
195 | {
196 | "id": 25,
197 | "userId": 3,
198 | "title": "Id tempor eiusmod",
199 | "content": "Esse consectetur ipsum exercitation sit voluptate in do cupidatat ex laboris sunt do consectetur voluptate. Amet excepteur laborum labore proident reprehenderit. Commodo anim aute magna dolore consectetur dolor quis. Enim fugiat adipisicing aliquip mollit exercitation nulla incididunt cupidatat.\r\nIn excepteur nostrud ea et in labore. Esse anim ea reprehenderit ea ad irure. Qui laboris sunt ut elit et consequat. Consequat labore minim do esse reprehenderit. Aliqua ut ad nostrud anim.\r\nNon dolor tempor sint reprehenderit consequat nisi officia aliqua adipisicing amet. Nisi velit fugiat velit excepteur sit anim sit ullamco velit aliqua non voluptate. Exercitation labore labore occaecat dolor nisi eiusmod laboris et. Reprehenderit mollit enim mollit elit proident minim Lorem sint nulla reprehenderit in do sunt. Ad aute ex nostrud elit ex. Sunt deserunt ex officia culpa velit cillum.\r\n",
200 | "published": false,
201 | "date": "Sun Jan 25 2015 22:01:50 GMT+0300 (MSK)"
202 | },
203 | {
204 | "id": 26,
205 | "userId": 2,
206 | "title": "Mollit sunt reprehenderit",
207 | "content": "Cillum dolore reprehenderit ullamco adipisicing laboris consequat aliquip sunt est proident minim elit do occaecat. Mollit exercitation aute et pariatur in. Voluptate consequat aute est cillum consequat elit nisi dolore deserunt. Irure occaecat aliquip eiusmod enim nostrud labore officia. Est culpa duis in tempor reprehenderit tempor. Sunt aliquip labore sunt aute veniam.\r\nConsectetur adipisicing culpa enim nulla quis commodo dolore occaecat veniam do. Id laborum eiusmod cupidatat est commodo pariatur velit aliqua sint ut consectetur enim. Ad ad ullamco proident sunt officia. Aliqua dolor tempor sit aute ut minim est ut nisi culpa non reprehenderit. Nulla elit tempor commodo esse magna incididunt nisi pariatur aute mollit ad sit.\r\nVeniam sunt mollit sint velit et pariatur ut proident deserunt. Sint laboris do eu eu quis incididunt duis est. Reprehenderit id in proident enim culpa excepteur enim qui aute amet eiusmod. Et reprehenderit duis pariatur duis consequat.\r\n",
208 | "published": false,
209 | "date": "Wed May 20 2015 10:33:39 GMT+0300 (MSK)"
210 | },
211 | {
212 | "id": 27,
213 | "userId": 2,
214 | "title": "Nulla voluptate in",
215 | "content": "Sit in est cillum Lorem commodo ex cupidatat consectetur nulla eu fugiat ad cupidatat reprehenderit. Officia proident eiusmod aute cupidatat cillum. Eiusmod officia incididunt aute esse exercitation enim adipisicing officia laborum nostrud non.\r\nNostrud eiusmod labore amet enim ex deserunt aliquip adipisicing consectetur. Pariatur consequat qui ad deserunt officia aliquip cupidatat reprehenderit sit enim est ex ullamco. Sint excepteur mollit nulla aliqua anim voluptate labore amet aliquip laboris cillum incididunt ut nisi. Proident excepteur voluptate aliquip eiusmod deserunt.\r\nNon amet eiusmod ex nisi aliquip. Cillum tempor est do nostrud eu duis cupidatat deserunt ipsum incididunt eu laborum. Anim mollit pariatur officia sit. Id incididunt occaecat eu duis eiusmod ex ut anim amet.\r\n",
216 | "published": true,
217 | "date": "Mon Apr 06 2015 02:12:40 GMT+0300 (MSK)"
218 | },
219 | {
220 | "id": 28,
221 | "userId": 3,
222 | "title": "Labore amet culpa",
223 | "content": "Fugiat officia excepteur dolore culpa laborum. Cupidatat in reprehenderit fugiat est. Lorem Lorem consequat dolor sunt pariatur aute aliqua anim et pariatur. Laborum cillum non ut dolor velit amet Lorem officia exercitation adipisicing eu. Officia enim reprehenderit ullamco dolore enim tempor sint adipisicing aliqua sit aliqua est laboris. Ut labore reprehenderit culpa minim aute sint aute officia esse do. Mollit consectetur incididunt pariatur duis irure proident anim enim.\r\nEt anim velit proident qui officia duis sint ut anim elit tempor ipsum dolore. Sunt ex non non mollit exercitation laboris. Tempor culpa voluptate id dolor magna Lorem nostrud officia amet eiusmod excepteur anim aliquip proident. Magna eiusmod reprehenderit pariatur consequat. Culpa ut do incididunt in nisi occaecat ex magna nulla laborum irure minim minim. In et velit exercitation ad tempor commodo.\r\nDolore esse pariatur excepteur excepteur ut laborum dolor amet id aliquip anim minim voluptate. Non irure aliquip proident nisi nostrud id voluptate anim reprehenderit incididunt labore et. Ex do dolor adipisicing laborum irure. Est adipisicing aliquip consectetur aute nostrud cillum. Et adipisicing aliqua adipisicing dolore excepteur deserunt exercitation enim.\r\n",
224 | "published": true,
225 | "date": "Fri Jul 03 2015 16:08:23 GMT+0300 (MSK)"
226 | },
227 | {
228 | "id": 29,
229 | "userId": 3,
230 | "title": "Quis velit nostrud",
231 | "content": "Lorem eiusmod consequat eu ut consequat Lorem qui ea consequat qui Lorem ipsum ex. Ex culpa sit irure nisi sint sit est fugiat laborum proident amet. Commodo mollit magna in nulla qui tempor duis minim ad laboris magna ullamco eu. Fugiat est culpa cillum veniam tempor exercitation nostrud ut nostrud ipsum dolor duis quis minim. Anim fugiat pariatur elit dolor enim pariatur.\r\nEnim Lorem sunt deserunt adipisicing. Minim occaecat elit excepteur cillum dolore. Deserunt aute aliqua aute non. Minim tempor ut exercitation mollit. Sint non laborum incididunt eiusmod fugiat fugiat aliqua ipsum labore. Laborum irure incididunt culpa laborum ullamco. Mollit voluptate proident adipisicing consequat labore proident ex consequat magna adipisicing minim velit.\r\nDolor officia id culpa cupidatat eiusmod laborum consequat sunt eiusmod ex aliqua reprehenderit eu. Adipisicing sunt exercitation consectetur commodo veniam officia exercitation ex. Occaecat officia occaecat reprehenderit amet velit nulla mollit ullamco ad sit consectetur duis magna. Sint adipisicing laborum laborum ipsum duis. Est cupidatat irure exercitation id dolor dolore et quis adipisicing occaecat voluptate ipsum aliqua non.\r\n",
232 | "published": false,
233 | "date": "Fri Jan 16 2015 22:14:57 GMT+0300 (MSK)"
234 | },
235 | {
236 | "id": 30,
237 | "userId": 5,
238 | "title": "Exercitation aliqua occaecat",
239 | "content": "Enim laboris fugiat est aute ut aute mollit irure in. In elit ut et minim veniam sint aliqua mollit duis in laborum dolore exercitation. Cillum consectetur cupidatat excepteur ullamco id enim quis consequat in. Nulla amet magna ad qui amet quis aliqua ut mollit velit sit ex sunt sunt. Magna dolore ea cupidatat Lorem anim non anim occaecat dolor voluptate duis. Minim dolor officia culpa ullamco amet nostrud duis mollit elit quis eu.\r\nAd tempor do est anim. Aliqua culpa id nulla proident do consequat esse exercitation laborum nisi ullamco Lorem dolor ad. Nulla amet proident aliquip quis voluptate eu sint proident reprehenderit cupidatat eiusmod consequat esse. Do sunt elit aliqua amet enim.\r\nDolore in consectetur aute officia. Ullamco veniam ipsum dolor do consequat irure nulla eu occaecat. Adipisicing magna in ut anim. Fugiat enim culpa velit proident elit. Qui sit nisi incididunt fugiat commodo eiusmod laboris officia culpa officia ex culpa nostrud. Sunt consequat tempor sit minim velit id exercitation incididunt fugiat excepteur nostrud irure. Duis in exercitation amet dolore occaecat est tempor in nisi enim.\r\n",
240 | "published": true,
241 | "date": "Sat Mar 07 2015 05:12:26 GMT+0300 (MSK)"
242 | },
243 | {
244 | "id": 31,
245 | "userId": 2,
246 | "title": "Nulla qui elit",
247 | "content": "Laboris eu amet anim incididunt sit magna ipsum. Deserunt sit mollit quis incididunt velit minim duis aliqua aliquip exercitation in nisi. Et ea deserunt cillum ut reprehenderit Lorem officia laboris. Sit dolor magna excepteur in esse incididunt. Irure esse eu sint eu esse ad qui.\r\nAnim ullamco duis eiusmod velit proident nulla excepteur exercitation nostrud elit ex enim Lorem nisi. Amet laborum pariatur culpa proident aliquip. Culpa id non aliquip consectetur cupidatat officia ut adipisicing elit enim. Officia amet reprehenderit irure nisi cupidatat duis excepteur officia non culpa sunt. Magna proident Lorem culpa amet commodo eu nisi pariatur deserunt anim ad proident eiusmod irure. Aute id qui amet reprehenderit duis consequat est occaecat. Enim adipisicing enim dolore culpa sint.\r\nQuis quis nisi ullamco voluptate tempor esse dolore veniam eiusmod. Qui tempor enim ad amet duis nostrud. Anim est fugiat commodo adipisicing magna reprehenderit mollit fugiat voluptate nulla. Nisi reprehenderit excepteur irure ad laborum. Nostrud ipsum dolor tempor nisi ad enim nostrud labore in sit nostrud cillum culpa do.\r\n",
248 | "published": true,
249 | "date": "Fri Apr 24 2015 15:00:54 GMT+0300 (MSK)"
250 | },
251 | {
252 | "id": 32,
253 | "userId": 3,
254 | "title": "In sunt irure",
255 | "content": "Proident dolor incididunt amet laborum. Deserunt ipsum sint incididunt aliqua qui. Cillum aliquip excepteur aliquip fugiat ea velit nisi tempor minim minim laborum pariatur consectetur. Sit sint quis veniam culpa mollit qui. Commodo deserunt aliqua Lorem ea fugiat anim sit sit. Est esse amet deserunt commodo elit labore fugiat officia labore elit fugiat commodo tempor sit. Cillum deserunt id cillum dolor.\r\nEa do esse aliquip ullamco consequat cillum tempor ipsum aliquip. Occaecat mollit proident occaecat nisi enim adipisicing. Nisi sint labore adipisicing mollit adipisicing qui elit pariatur. Ipsum cupidatat aliqua incididunt ipsum amet ipsum anim et excepteur pariatur. Cillum incididunt laboris pariatur mollit cillum excepteur laboris ad reprehenderit quis pariatur.\r\nOfficia laboris fugiat ut veniam ea nisi excepteur aute dolore deserunt mollit mollit tempor pariatur. Voluptate nostrud consequat qui laboris do dolore excepteur aliquip irure incididunt. Ipsum irure proident consectetur ipsum reprehenderit adipisicing laborum incididunt culpa. Eu in minim quis excepteur amet magna adipisicing laborum non fugiat aliqua sit eiusmod. Aliquip elit voluptate est nostrud nulla id Lorem ex ipsum Lorem veniam eiusmod et. Sint proident eu excepteur fugiat est officia Lorem consectetur. Aliqua minim fugiat non eiusmod id aliquip qui esse.\r\n",
256 | "published": false,
257 | "date": "Wed Jun 24 2015 10:19:18 GMT+0300 (MSK)"
258 | },
259 | {
260 | "id": 33,
261 | "userId": 2,
262 | "title": "Do mollit voluptate",
263 | "content": "Non ex minim nisi occaecat. Occaecat adipisicing in incididunt magna cillum est ea consectetur aute id esse mollit excepteur. Consequat adipisicing cupidatat eiusmod do minim fugiat commodo aliqua et eiusmod. Mollit cillum eiusmod magna eu aliqua quis sit. Incididunt qui nulla consequat incididunt nulla duis. Ut eu exercitation in exercitation duis deserunt eu. Ut cupidatat dolor Lorem sint qui officia.\r\nDolor excepteur excepteur irure irure voluptate mollit et ea. Ut esse nostrud dolore consectetur nostrud laboris mollit excepteur consectetur eiusmod cillum magna proident minim. Aute consectetur veniam aliqua quis occaecat enim exercitation enim cupidatat tempor consequat fugiat. Amet adipisicing est aute incididunt ullamco est incididunt ipsum. Sint ut deserunt culpa anim sit commodo exercitation cillum sit. Nulla laboris dolor ipsum cillum consequat.\r\nOfficia sit eiusmod est id commodo nisi. Exercitation tempor do magna cupidatat mollit. Nostrud magna commodo Lorem ea amet ipsum exercitation id sit irure aute tempor. Cupidatat exercitation mollit ut irure id adipisicing aliquip sunt consectetur eu.\r\n",
264 | "published": true,
265 | "date": "Mon Jan 05 2015 20:09:58 GMT+0300 (MSK)"
266 | },
267 | {
268 | "id": 34,
269 | "userId": 3,
270 | "title": "Aliqua duis enim",
271 | "content": "Aliquip velit laboris aliqua non veniam ad. Minim aute do reprehenderit irure nulla culpa amet cupidatat anim amet cupidatat. Sint excepteur reprehenderit irure in culpa sit anim ullamco culpa cillum minim. Lorem ea ex excepteur elit veniam ad ullamco deserunt sit esse adipisicing ex est. Lorem voluptate Lorem culpa commodo velit consectetur labore sunt aliqua pariatur adipisicing dolore dolor elit. Duis magna exercitation ipsum do.\r\nSunt ex esse eiusmod id laboris culpa tempor in. Veniam eiusmod minim ad consectetur et adipisicing id do ad ut mollit ad. Proident reprehenderit est est sit cupidatat laborum minim ex cillum consequat. Tempor esse proident dolore do laboris est consequat aliqua labore id sunt ea.\r\nSunt dolore commodo eiusmod cillum sint anim exercitation duis. Aute ad consequat amet commodo aute elit. Dolore nisi consequat eu irure exercitation. Excepteur veniam nulla nisi nisi qui reprehenderit dolore sit. Magna irure veniam minim aliquip consectetur pariatur ad aliqua sint eu sint.\r\n",
272 | "published": true,
273 | "date": "Mon Apr 13 2015 23:30:06 GMT+0300 (MSK)"
274 | },
275 | {
276 | "id": 35,
277 | "userId": 1,
278 | "title": "Enim dolore esse",
279 | "content": "Amet ex culpa cillum irure incididunt in amet ut. Enim labore voluptate deserunt veniam exercitation cillum est consectetur. Veniam eu id occaecat magna occaecat. Laboris in anim esse pariatur officia id qui eu est. Amet sunt exercitation veniam officia aliqua. Non deserunt ut Lorem do aute non exercitation.\r\nSint culpa irure mollit aliquip eu. Exercitation cupidatat laboris occaecat exercitation quis tempor eu ipsum qui consequat in sint excepteur ex. Dolore elit enim exercitation nulla laboris consequat culpa anim.\r\nCulpa fugiat eu nisi ex deserunt dolor sunt excepteur tempor nulla in esse. Tempor quis cupidatat cillum ad consectetur in non in veniam ullamco ipsum consectetur. Sit eu consequat deserunt aute laboris nostrud elit sint magna anim nulla. Ad quis laboris nostrud aliqua ipsum proident qui. Lorem mollit dolore sit proident officia est labore cupidatat qui amet cupidatat exercitation voluptate ad.\r\n",
280 | "published": true,
281 | "date": "Wed Feb 18 2015 09:36:39 GMT+0300 (MSK)"
282 | },
283 | {
284 | "id": 36,
285 | "userId": 1,
286 | "title": "Ea ea eu",
287 | "content": "Non et sunt ut id mollit culpa cupidatat ut mollit. Aliquip dolore velit veniam proident. Adipisicing occaecat est laborum elit sunt est incididunt enim fugiat. Anim id dolore aliquip ut excepteur deserunt magna ipsum non id ullamco enim enim. Exercitation eu laborum duis esse id. Deserunt incididunt in dolor laboris.\r\nMinim cillum do adipisicing fugiat aliqua occaecat. Ipsum eu mollit laborum deserunt occaecat aute ad sint esse. Veniam eiusmod laboris est proident amet magna consectetur qui labore ex est sunt excepteur occaecat. Deserunt qui commodo adipisicing et consequat deserunt adipisicing consectetur id ullamco aliquip excepteur. Adipisicing occaecat duis amet sit excepteur labore enim culpa pariatur. Sit et duis veniam consequat consequat esse fugiat duis dolore sit ipsum cillum.\r\nEx nisi ullamco in elit occaecat eiusmod pariatur exercitation. Eu excepteur pariatur velit dolor. Non adipisicing et tempor nulla enim irure cupidatat aliquip reprehenderit veniam fugiat commodo consectetur. Lorem consectetur ut adipisicing labore labore.\r\n",
288 | "published": false,
289 | "date": "Tue Jul 28 2015 00:52:20 GMT+0300 (MSK)"
290 | },
291 | {
292 | "id": 37,
293 | "userId": 3,
294 | "title": "Eiusmod in laborum",
295 | "content": "Aliquip pariatur et mollit reprehenderit ad Lorem mollit. Qui consectetur sint proident consectetur in occaecat velit est. Culpa excepteur incididunt cupidatat ad ut esse ad magna. Tempor eiusmod esse velit exercitation eiusmod aute magna fugiat labore dolor. Do anim est aute sit nostrud exercitation. Voluptate ad mollit nostrud laborum magna occaecat sit. Nostrud est amet eiusmod minim commodo.\r\nConsectetur cillum nostrud laboris id duis. Minim commodo aute nulla exercitation duis dolore laborum officia in commodo ex nulla elit. Dolor incididunt voluptate eu occaecat. Consectetur culpa voluptate sit enim veniam aliquip voluptate. Ea ut et deserunt minim consequat duis id esse laboris qui. Cillum esse commodo ea elit exercitation nisi cupidatat est culpa proident sit ad est. Commodo adipisicing mollit ipsum cillum consequat minim pariatur pariatur ullamco.\r\nDolor elit officia fugiat mollit ea. Id dolor ullamco mollit ipsum consequat nisi officia exercitation esse. Anim irure do duis proident fugiat aute pariatur mollit nostrud cillum aliqua.\r\n",
296 | "published": false,
297 | "date": "Sun Feb 08 2015 18:32:47 GMT+0300 (MSK)"
298 | },
299 | {
300 | "id": 38,
301 | "userId": 1,
302 | "title": "Deserunt velit ea",
303 | "content": "Aute fugiat reprehenderit labore fugiat in irure occaecat. Sint est ipsum adipisicing minim quis eiusmod aliquip quis consectetur dolore aliqua. Officia tempor sunt commodo nisi officia aute reprehenderit culpa Lorem exercitation occaecat occaecat sit proident. Do non officia dolor quis reprehenderit. Dolor est dolor quis ea cillum eiusmod esse aliqua aliqua culpa culpa. Aliquip id magna ullamco commodo ea ex consequat quis.\r\nDo laborum laborum id aliqua nulla aute Lorem laborum cupidatat. Ullamco eiusmod ad incididunt fugiat consequat sint nisi nostrud pariatur veniam qui irure nulla. Velit eiusmod pariatur commodo sit. Amet non consequat pariatur enim et.\r\nTempor sunt qui nostrud veniam veniam culpa in aliquip sunt quis voluptate Lorem qui. Reprehenderit aliquip incididunt officia ullamco est aute magna voluptate. Dolore magna cupidatat non proident nisi labore excepteur dolore laboris duis id nisi enim.\r\n",
304 | "published": false,
305 | "date": "Tue Apr 07 2015 07:01:58 GMT+0300 (MSK)"
306 | },
307 | {
308 | "id": 39,
309 | "userId": 5,
310 | "title": "Velit adipisicing amet",
311 | "content": "Minim minim anim nostrud cupidatat adipisicing nulla pariatur et. Voluptate aliquip mollit nulla aliqua dolor ut labore exercitation in. Excepteur nostrud reprehenderit aliqua ut ex. Minim tempor ut velit exercitation enim laborum incididunt. Fugiat deserunt do adipisicing nulla qui aliquip. Sit aute adipisicing dolor ea magna aliquip aute esse.\r\nElit enim aliqua consequat dolore fugiat sint minim laborum consectetur velit duis. Aliquip nisi dolore sint in quis. Dolore nostrud commodo sint aliqua Lorem velit magna reprehenderit commodo est est aliqua sint dolore. Aliquip sint sint ut eu dolor aute dolor. Qui laborum mollit ipsum deserunt voluptate ut duis ex dolor aliquip ex officia.\r\nExercitation culpa voluptate enim incididunt ipsum irure culpa non magna velit quis consectetur reprehenderit. Dolor dolore duis voluptate est reprehenderit consectetur officia anim nostrud. Elit excepteur labore ex ullamco non sunt non non culpa cupidatat sit et et non.\r\n",
312 | "published": true,
313 | "date": "Sun Feb 22 2015 04:21:19 GMT+0300 (MSK)"
314 | },
315 | {
316 | "id": 40,
317 | "userId": 2,
318 | "title": "Quis amet in",
319 | "content": "Est in ad et ex exercitation deserunt consequat in deserunt est occaecat ut sunt. Proident mollit ullamco commodo laboris minim officia veniam aliquip deserunt eu aliqua. Culpa voluptate minim sunt consectetur esse amet culpa veniam elit. Amet laboris eu sint adipisicing enim adipisicing id cillum do quis nostrud. Consectetur duis ut mollit excepteur elit consequat officia sit voluptate veniam nostrud exercitation sunt nisi. Deserunt culpa aliquip ex exercitation. Officia exercitation duis do commodo.\r\nNon est do adipisicing reprehenderit nisi nostrud mollit. Ut pariatur consectetur sint ex aute pariatur. Deserunt consequat ullamco officia deserunt ea veniam proident pariatur exercitation. Incididunt eu ipsum et Lorem qui nulla.\r\nMagna consequat proident tempor nostrud officia ex id adipisicing dolore. Aliquip ipsum dolore irure exercitation duis magna voluptate in fugiat officia. Ex veniam aute velit culpa sunt fugiat ullamco occaecat qui. Ipsum do ex velit Lorem dolor enim et mollit in amet id sit aliquip ullamco.\r\n",
320 | "published": true,
321 | "date": "Tue Jun 09 2015 18:22:04 GMT+0300 (MSK)"
322 | },
323 | {
324 | "id": 41,
325 | "userId": 3,
326 | "title": "Et aute non",
327 | "content": "Minim eu aliquip esse ex magna consequat nulla cillum non aliqua nostrud pariatur. Occaecat nisi laboris ea do excepteur veniam officia aliquip. Amet Lorem quis adipisicing Lorem Lorem non velit eiusmod. Aute laboris eiusmod aliqua consequat. Nisi culpa consectetur cillum excepteur nisi. Deserunt do duis nisi aliqua fugiat commodo cupidatat excepteur.\r\nAmet non sint nostrud proident esse sunt duis consectetur enim quis. Do proident voluptate ut veniam. Aute ex consectetur laboris voluptate laborum voluptate minim ut ipsum.\r\nIncididunt sint occaecat qui eiusmod mollit in consequat sit et ea pariatur. Aute consectetur laborum minim labore est minim incididunt voluptate. Dolor ea Lorem officia reprehenderit ea ad mollit magna ullamco non minim nulla excepteur.\r\n",
328 | "published": false,
329 | "date": "Sat Apr 11 2015 02:29:01 GMT+0300 (MSK)"
330 | },
331 | {
332 | "id": 42,
333 | "userId": 2,
334 | "title": "Reprehenderit fugiat proident",
335 | "content": "Deserunt culpa Lorem cupidatat ad. Labore ullamco velit ullamco reprehenderit pariatur pariatur quis. Ipsum amet commodo non ad sunt veniam est cupidatat aute enim.\r\nLaboris aliquip elit aliqua officia. Ut ullamco labore irure aute proident sunt. Non non occaecat et reprehenderit ipsum ad occaecat consequat ipsum sint laboris exercitation in. Duis fugiat mollit commodo cillum mollit veniam sunt. Deserunt voluptate eu aliqua quis. Dolore do ipsum sint laborum sunt cillum ea nostrud.\r\nIncididunt eiusmod consectetur mollit ullamco fugiat nostrud. Eiusmod eiusmod ullamco non excepteur ea laborum dolor irure cupidatat sit est ut fugiat. Lorem nisi labore ea minim labore et ut et quis elit dolor nulla commodo ut. Aliqua proident ipsum cillum laboris enim minim velit laboris occaecat consectetur adipisicing irure dolor qui. Pariatur qui qui esse exercitation.\r\n",
336 | "published": false,
337 | "date": "Mon Jul 20 2015 21:56:28 GMT+0300 (MSK)"
338 | },
339 | {
340 | "id": 43,
341 | "userId": 2,
342 | "title": "Sint dolore amet",
343 | "content": "Ad sit reprehenderit ullamco in sint laborum. Id quis dolor consectetur ut in consectetur irure aute ipsum est culpa qui. Sunt proident sit magna officia in voluptate ullamco excepteur ipsum culpa esse. Consectetur laboris Lorem consequat eu consequat do qui veniam laborum do Lorem. Nostrud qui Lorem anim aliqua minim excepteur do pariatur tempor est amet aliqua aliquip.\r\nConsectetur tempor ea in consequat eu adipisicing cillum eiusmod. Ea labore elit sit do consequat est et laboris exercitation. Elit anim id eiusmod adipisicing quis voluptate sunt Lorem cillum.\r\nCupidatat cillum cupidatat aute proident laborum sit. Sunt sunt laborum sunt veniam cupidatat amet ad quis adipisicing elit laboris. Adipisicing est quis occaecat do. Labore culpa sint ex laborum ea non in aliquip dolor id. Dolor reprehenderit amet do excepteur dolore velit qui et pariatur tempor nisi. Cupidatat et reprehenderit pariatur fugiat aliqua exercitation deserunt.\r\n",
344 | "published": false,
345 | "date": "Wed Apr 29 2015 13:21:45 GMT+0300 (MSK)"
346 | },
347 | {
348 | "id": 44,
349 | "userId": 4,
350 | "title": "Commodo id dolore",
351 | "content": "Quis id est veniam ad dolor id. Aute in dolor aliqua eiusmod magna eiusmod laboris. Exercitation ipsum enim nostrud reprehenderit dolore pariatur deserunt aute mollit irure qui ullamco magna magna.\r\nVoluptate ex elit nostrud ut ex elit eu eu ea dolor magna enim nisi. Dolore sit non occaecat amet. Et incididunt tempor est tempor.\r\nDuis occaecat in labore labore laborum amet et labore reprehenderit. Deserunt laborum duis nostrud labore consectetur consectetur ex minim sit nulla. Est commodo ea voluptate labore consectetur fugiat consectetur exercitation excepteur commodo cillum elit nostrud magna. Dolore officia commodo occaecat nostrud do id eiusmod anim sint. Eu cillum laboris velit labore ea consectetur. Labore adipisicing cupidatat sit dolore aliquip exercitation excepteur dolor anim. Labore do velit et Lorem sit sit.\r\n",
352 | "published": true,
353 | "date": "Mon May 11 2015 22:01:30 GMT+0300 (MSK)"
354 | },
355 | {
356 | "id": 45,
357 | "userId": 2,
358 | "title": "Adipisicing consequat ex",
359 | "content": "Esse ea nisi consequat veniam et eiusmod commodo eu eu aute. Officia ea commodo commodo consectetur veniam amet Lorem ullamco in proident nostrud dolor. In nulla ad nostrud non id ullamco Lorem est ad laboris irure sit voluptate ea.\r\nAd laboris esse enim occaecat mollit nulla mollit culpa incididunt ea duis velit. Reprehenderit amet esse est ex id cupidatat nisi sint in cillum. Consequat ut consequat aliqua magna nulla laborum laborum cillum excepteur consequat esse id reprehenderit ad. Eu laborum esse excepteur non culpa dolore ex consequat ea proident ut irure. Dolor aliqua cupidatat eiusmod exercitation laboris elit nostrud labore nulla eiusmod veniam tempor. Id est enim sit sit anim. Officia reprehenderit eu quis ut duis commodo.\r\nEiusmod tempor enim irure reprehenderit occaecat aliqua ut Lorem et incididunt eu sit cillum ut. Excepteur consequat laborum enim sunt cupidatat veniam dolore nostrud nulla veniam nisi incididunt sint ad. Consectetur in aliquip pariatur officia dolore est sit irure ut nisi dolore laborum sunt nostrud. Irure ad voluptate officia magna aliquip sunt do minim amet exercitation do aliqua occaecat. Labore exercitation veniam laborum nulla.\r\n",
360 | "published": false,
361 | "date": "Fri Jul 17 2015 17:59:08 GMT+0300 (MSK)"
362 | },
363 | {
364 | "id": 46,
365 | "userId": 3,
366 | "title": "Cupidatat quis velit",
367 | "content": "Lorem sunt fugiat quis deserunt adipisicing sint veniam irure fugiat. Nulla nisi fugiat eiusmod sit eiusmod voluptate voluptate tempor laboris aute anim voluptate elit. Minim proident in sint eu in fugiat fugiat reprehenderit sunt.\r\nEu laboris reprehenderit consectetur cillum. Tempor ipsum mollit mollit sit sit proident est exercitation Lorem amet sint. Quis elit magna voluptate irure reprehenderit veniam veniam tempor. Laboris aliquip minim aliquip eu reprehenderit irure nulla consectetur. Sit reprehenderit cupidatat cillum dolore in proident adipisicing elit minim.\r\nUt voluptate reprehenderit proident veniam id consectetur reprehenderit ipsum pariatur. Laborum enim sit quis deserunt consequat voluptate aute commodo. Minim elit reprehenderit voluptate adipisicing laboris adipisicing incididunt. Esse Lorem cillum irure aute aute nisi velit anim laboris dolor.\r\n",
368 | "published": true,
369 | "date": "Fri Feb 13 2015 19:44:10 GMT+0300 (MSK)"
370 | },
371 | {
372 | "id": 47,
373 | "userId": 1,
374 | "title": "Tempor ullamco labore",
375 | "content": "Adipisicing qui dolor labore est esse amet. Esse magna reprehenderit elit officia irure ut. Duis magna reprehenderit aute aliquip ad. Cupidatat duis labore amet amet minim mollit. Tempor fugiat incididunt laboris veniam excepteur mollit ipsum. Veniam dolore voluptate laboris ipsum excepteur elit aliquip deserunt ad et commodo. Labore ullamco consequat officia anim aute.\r\nOfficia non voluptate excepteur ut commodo eu id in do ut adipisicing proident culpa. Voluptate nisi eiusmod ad labore nostrud ea. Culpa esse elit fugiat quis ullamco. Nulla aliquip in incididunt et minim non veniam. Et labore do proident aute nostrud labore nisi.\r\nNulla dolore elit ipsum occaecat eiusmod anim aute. Ea ea ut amet aute eu deserunt nulla deserunt nostrud laboris Lorem irure qui. Et laboris velit veniam aliqua esse pariatur esse nostrud tempor dolor exercitation. Do labore excepteur fugiat fugiat nostrud nulla quis reprehenderit Lorem aute.\r\n",
376 | "published": false,
377 | "date": "Fri Jun 26 2015 17:51:28 GMT+0300 (MSK)"
378 | },
379 | {
380 | "id": 48,
381 | "userId": 2,
382 | "title": "Eiusmod et exercitation",
383 | "content": "Ad dolor laborum laboris deserunt id labore velit laborum sint. Ea mollit esse in reprehenderit qui cupidatat consectetur aliqua anim nisi proident qui. Ullamco quis proident Lorem nulla minim sint ea proident culpa ipsum.\r\nConsequat qui elit exercitation incididunt minim consectetur minim occaecat ut consequat consectetur id fugiat. Minim eu officia duis excepteur quis anim adipisicing nulla do incididunt irure. Consequat sit minim nulla Lorem pariatur ut qui ea.\r\nVelit adipisicing consectetur adipisicing esse dolor eu aute dolore enim commodo ea voluptate. Elit excepteur velit aliquip ad proident et sint enim pariatur exercitation id adipisicing. Ut deserunt qui qui occaecat anim sint dolore Lorem ullamco ullamco.\r\n",
384 | "published": true,
385 | "date": "Wed Jul 08 2015 10:16:12 GMT+0300 (MSK)"
386 | },
387 | {
388 | "id": 49,
389 | "userId": 3,
390 | "title": "Aute qui amet",
391 | "content": "Aute ad adipisicing laboris veniam labore. Sit irure veniam voluptate ullamco sit et exercitation. Velit cupidatat cillum proident est ut elit. Occaecat anim dolore veniam Lorem consectetur fugiat laboris ut deserunt veniam do cupidatat sunt minim. Adipisicing sit esse velit nostrud aliqua consequat elit cupidatat.\r\nUllamco ex aute aliqua laboris sit cupidatat non incididunt ad nisi ullamco laborum eiusmod. Excepteur do culpa voluptate est amet. Amet et veniam ut amet aute ut laborum Lorem qui ipsum non nostrud ullamco dolor. Elit aliquip proident in adipisicing adipisicing id. Aute sit commodo ut mollit exercitation deserunt sunt. Minim enim pariatur enim nisi proident nisi ex ad dolore.\r\nVeniam voluptate proident excepteur irure velit laboris et excepteur deserunt incididunt. Labore culpa laborum eiusmod aliqua cupidatat dolore. Laboris aliquip pariatur excepteur Lorem aute excepteur do. Lorem adipisicing ad enim occaecat eu aliqua. Consequat minim consequat voluptate enim dolore culpa tempor sint voluptate do laborum cillum.\r\n",
392 | "published": true,
393 | "date": "Wed Feb 25 2015 16:54:49 GMT+0300 (MSK)"
394 | },
395 | {
396 | "id": 50,
397 | "userId": 3,
398 | "title": "Exercitation officia non",
399 | "content": "Lorem deserunt ut in consequat. Fugiat ex veniam ipsum et magna qui qui. Nulla in aute non incididunt eu adipisicing ex dolor ex sunt exercitation sint aute. Aliqua fugiat quis id adipisicing aliquip ex anim tempor velit aute deserunt dolor.\r\nCupidatat officia sunt irure quis aliqua elit tempor quis consectetur. Deserunt ea officia in duis ea. Esse nisi elit pariatur labore eiusmod elit cillum mollit. Ex mollit aliquip mollit proident occaecat aute laborum aliqua consectetur.\r\nAliquip esse quis enim laborum aute consectetur eiusmod pariatur commodo dolore cillum ipsum ipsum. Irure culpa ut ad quis nisi id ad. Adipisicing irure consequat do irure anim eu sunt eiusmod irure culpa consectetur. Nulla est sint nisi labore voluptate. Enim sint laborum aute excepteur occaecat nulla deserunt anim anim anim esse deserunt est. Ex ad sint aliqua nisi consectetur fugiat laborum consequat consectetur sit.\r\n",
400 | "published": true,
401 | "date": "Mon May 25 2015 19:48:03 GMT+0300 (MSK)"
402 | }
403 | ],
404 | "users": [
405 | {
406 | "id": 1,
407 | "email": "bestwagner@nimon.com",
408 | "password": "fugiat",
409 | "firstname": "Helene",
410 | "lastname": "Sawyer"
411 | },
412 | {
413 | "id": 2,
414 | "email": "helenesawyer@nimon.com",
415 | "password": "cillum",
416 | "firstname": "Rogers",
417 | "lastname": "Ray"
418 | },
419 | {
420 | "id": 3,
421 | "email": "rogersray@nimon.com",
422 | "password": "amet",
423 | "firstname": "Shaffer",
424 | "lastname": "Nunez"
425 | },
426 | {
427 | "id": 4,
428 | "email": "email@adress",
429 | "password": "pass",
430 | "firstname": "Frank",
431 | "lastname": "Sinatr"
432 | },
433 | {
434 | "id": 5,
435 | "email": "dianemurphy@nimon.com",
436 | "password": "nulla",
437 | "firstname": "Mcpherson",
438 | "lastname": "Cervantes"
439 | }
440 | ]
441 | }
--------------------------------------------------------------------------------