Compare commits
No commits in common. "44394ae85d98452d033ead626b3872776d1bb4c3" and "945642c511cdd2117f5d21b6dbe7172a3278248c" have entirely different histories.
44394ae85d
...
945642c511
|
@ -12,8 +12,6 @@ Use [nvm](https://github.com/creationix/nvm) to install a recent version of Node
|
||||||
|
|
||||||
`npm start`
|
`npm start`
|
||||||
|
|
||||||
For optimal search engine performance, copy `traxxx.stop` to your PostgresQL text search directory, usually `/usr/share/postgresql/tsearch_data/ or `/usr/local/share/postgresql/tsearch_data/`.
|
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
Do not modify `config/default.js`, but instead create a copy at `config/local.js` containing the properties you wish to change.
|
Do not modify `config/default.js`, but instead create a copy at `config/local.js` containing the properties you wish to change.
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ body {
|
||||||
body {
|
body {
|
||||||
color: $text;
|
color: $text;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Verdana, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nolist {
|
.nolist {
|
||||||
|
|
|
@ -65,9 +65,6 @@ exports.up = knex => Promise.resolve()
|
||||||
table.integer('priority', 2)
|
table.integer('priority', 2)
|
||||||
.defaultTo(0);
|
.defaultTo(0);
|
||||||
|
|
||||||
table.boolean('secondary')
|
|
||||||
.defaultTo(false);
|
|
||||||
|
|
||||||
table.integer('group_id', 12)
|
table.integer('group_id', 12)
|
||||||
.references('id')
|
.references('id')
|
||||||
.inTable('tags_groups');
|
.inTable('tags_groups');
|
||||||
|
@ -479,7 +476,7 @@ exports.up = knex => Promise.resolve()
|
||||||
ALTER TABLE releases_search
|
ALTER TABLE releases_search
|
||||||
ADD COLUMN document tsvector;
|
ADD COLUMN document tsvector;
|
||||||
|
|
||||||
CREATE TEXT SEARCH DICTIONARY traxxx_dict (
|
CREATE TEXT SEARCH DICTIONARY traxxx (
|
||||||
TEMPLATE = pg_catalog.simple,
|
TEMPLATE = pg_catalog.simple,
|
||||||
stopwords = traxxx
|
stopwords = traxxx
|
||||||
);
|
);
|
||||||
|
@ -488,17 +485,11 @@ exports.up = knex => Promise.resolve()
|
||||||
COPY = english
|
COPY = english
|
||||||
);
|
);
|
||||||
|
|
||||||
ALTER TEXT SEARCH CONFIGURATION traxxx
|
|
||||||
ALTER MAPPING FOR word, numword, hword, numhword, hword_part, hword_numpart, asciiword, asciihword, hword_asciipart WITH traxxx_dict, simple_dict, english_stem;
|
|
||||||
|
|
||||||
CREATE UNIQUE INDEX releases_search_unique ON releases_search (release_id);
|
CREATE UNIQUE INDEX releases_search_unique ON releases_search (release_id);
|
||||||
CREATE INDEX releases_search_index ON releases_search USING GIN (document);
|
CREATE INDEX releases_search_index ON releases_search USING GIN (document);
|
||||||
|
|
||||||
CREATE FUNCTION search_releases(query text) RETURNS SETOF releases_search AS $$
|
COMMENT ON COLUMN actors.height IS E'@omit read,update,create,delete,all,many';
|
||||||
SELECT * FROM releases_search AS search
|
COMMENT ON COLUMN actors.weight IS E'@omit read,update,create,delete,all,many';
|
||||||
WHERE search.document @@ plainto_tsquery('traxxx', regexp_replace(query, '\\.|-', ' ', 'g'))
|
|
||||||
ORDER BY ts_rank(search.document, plainto_tsquery('traxxx', regexp_replace(query, '\\.|-', ' ', 'g'))) DESC;
|
|
||||||
$$ LANGUAGE SQL STABLE;
|
|
||||||
|
|
||||||
CREATE FUNCTION search_sites(search text) RETURNS SETOF sites AS $$
|
CREATE FUNCTION search_sites(search text) RETURNS SETOF sites AS $$
|
||||||
SELECT * FROM sites
|
SELECT * FROM sites
|
||||||
|
@ -508,8 +499,37 @@ exports.up = knex => Promise.resolve()
|
||||||
url ILIKE ('%' || search || '%')
|
url ILIKE ('%' || search || '%')
|
||||||
$$ LANGUAGE SQL STABLE;
|
$$ LANGUAGE SQL STABLE;
|
||||||
|
|
||||||
COMMENT ON COLUMN actors.height IS E'@omit read,update,create,delete,all,many';
|
CREATE FUNCTION search_releases(query text) RETURNS SETOF releases_search AS $$
|
||||||
COMMENT ON COLUMN actors.weight IS E'@omit read,update,create,delete,all,many';
|
SELECT * FROM releases_search AS search
|
||||||
|
WHERE search.document @@ plainto_tsquery('traxxx', replace(query, '.', ' '))
|
||||||
|
ORDER BY ts_rank(search.document, plainto_tsquery('traxxx', replace(query, '.', ' '))) DESC;
|
||||||
|
$$ LANGUAGE SQL STABLE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
CREATE VIEW releases_actors_sortable AS
|
||||||
|
SELECT releases_actors.*, actors.gender, actors.name, actors.birthdate FROM releases_actors
|
||||||
|
JOIN actors ON releases_actors.actor_id = actors.id;
|
||||||
|
|
||||||
|
CREATE VIEW releases_tags_sortable AS
|
||||||
|
SELECT releases_tags.*, tags.name, tags.priority FROM releases_tags
|
||||||
|
JOIN tags ON releases_tags.tag_id = tags.id;
|
||||||
|
|
||||||
|
CREATE VIEW actors_releases_sortable AS
|
||||||
|
SELECT releases_actors.*, releases.date FROM releases_actors
|
||||||
|
JOIN releases ON releases_actors.release_id = releases.id;
|
||||||
|
|
||||||
|
COMMENT ON VIEW releases_actors_sortable IS E'@foreignKey (release_id) references releases (id)\n@foreignKey (actor_id) references actors (id)';
|
||||||
|
COMMENT ON VIEW releases_tags_sortable IS E'@foreignKey (release_id) references releases (id)\n@foreignKey (tag_id) references tags (id)';
|
||||||
|
COMMENT ON VIEW actors_releases_sortable IS E'@foreignKey (release_id) references releases (id)\n@foreignKey (actor_id) references actors (id)';
|
||||||
|
|
||||||
|
/* allow conversion resolver to be added for height and weight */
|
||||||
|
CREATE FUNCTION releases_by_tag_slugs(slugs text[]) RETURNS setof releases AS $$
|
||||||
|
SELECT DISTINCT ON (releases.id) releases.* FROM releases
|
||||||
|
JOIN releases_tags ON (releases_tags.release_id = releases.id)
|
||||||
|
JOIN tags ON (releases_tags.tag_id = tags.id)
|
||||||
|
WHERE tags.slug = ANY($1);
|
||||||
|
$$ LANGUAGE sql STABLE;
|
||||||
|
*/
|
||||||
`));
|
`));
|
||||||
|
|
||||||
exports.down = knex => knex.raw(`
|
exports.down = knex => knex.raw(`
|
||||||
|
@ -548,5 +568,5 @@ exports.down = knex => knex.raw(`
|
||||||
DROP TABLE IF EXISTS networks CASCADE;
|
DROP TABLE IF EXISTS networks CASCADE;
|
||||||
|
|
||||||
DROP TEXT SEARCH CONFIGURATION IF EXISTS traxxx;
|
DROP TEXT SEARCH CONFIGURATION IF EXISTS traxxx;
|
||||||
DROP TEXT SEARCH DICTIONARY IF EXISTS traxxx_dict;
|
DROP TEXT SEARCH DICTIONARY IF EXISTS traxxx;
|
||||||
`);
|
`);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.102.9",
|
"version": "1.102.8",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.102.9",
|
"version": "1.102.8",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -345,8 +345,8 @@ const tags = [
|
||||||
slug: 'electric-shock',
|
slug: 'electric-shock',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'fake boobs',
|
name: 'enhanced boobs',
|
||||||
slug: 'fake-boobs',
|
slug: 'enhanced-boobs',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'facefucking',
|
name: 'facefucking',
|
||||||
|
@ -809,10 +809,6 @@ const tags = [
|
||||||
];
|
];
|
||||||
|
|
||||||
const aliases = [
|
const aliases = [
|
||||||
{
|
|
||||||
name: '2on1',
|
|
||||||
for: 'threesome',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: '2-on-1',
|
name: '2-on-1',
|
||||||
for: 'threesome',
|
for: 'threesome',
|
||||||
|
@ -856,7 +852,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'atm',
|
name: 'atm',
|
||||||
for: 'ass-to-mouth',
|
for: 'ass-to-mouth',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'bald pussy',
|
name: 'bald pussy',
|
||||||
|
@ -872,7 +867,7 @@ const aliases = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'mfm',
|
name: 'mfm',
|
||||||
for: 'mmf',
|
for: 'mfm',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'fmf',
|
name: 'fmf',
|
||||||
|
@ -964,11 +959,11 @@ const aliases = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'boob job',
|
name: 'boob job',
|
||||||
for: 'fake-boobs',
|
for: 'enhanced-boobs',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'boobjob',
|
name: 'boobjob',
|
||||||
for: 'fake-boobs',
|
for: 'enhanced-boobs',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'brown hair',
|
name: 'brown hair',
|
||||||
|
@ -981,7 +976,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'buttplug',
|
name: 'buttplug',
|
||||||
for: 'anal-toys',
|
for: 'anal-toys',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'butt plug',
|
name: 'butt plug',
|
||||||
|
@ -1016,7 +1010,7 @@ const aliases = [
|
||||||
for: 'anal-creampie',
|
for: 'anal-creampie',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'crop', // a type of whip, not [sic] short for corporal
|
name: 'crop', // a type of whip, not [sic short for corporal
|
||||||
for: 'corporal-punishment',
|
for: 'corporal-punishment',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1030,7 +1024,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'cum in mouth',
|
name: 'cum in mouth',
|
||||||
for: 'oral-creampie',
|
for: 'oral-creampie',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'cum on ass',
|
name: 'cum on ass',
|
||||||
|
@ -1059,7 +1052,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'deep throat',
|
name: 'deep throat',
|
||||||
for: 'deepthroat',
|
for: 'deepthroat',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'deepthroating',
|
name: 'deepthroating',
|
||||||
|
@ -1072,7 +1064,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'doggystyle',
|
name: 'doggystyle',
|
||||||
for: 'doggy-style',
|
for: 'doggy-style',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'doggy style - pov',
|
name: 'doggy style - pov',
|
||||||
|
@ -1105,12 +1096,10 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'dominatrix',
|
name: 'dominatrix',
|
||||||
for: 'femdom',
|
for: 'femdom',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'dp',
|
name: 'dp',
|
||||||
for: 'double-penetration',
|
for: 'double-penetration',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'first dp',
|
name: 'first dp',
|
||||||
|
@ -1127,7 +1116,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'dap',
|
name: 'dap',
|
||||||
for: 'double-anal',
|
for: 'double-anal',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'double anal (dap)',
|
name: 'double anal (dap)',
|
||||||
|
@ -1140,17 +1128,14 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'tap',
|
name: 'tap',
|
||||||
for: 'triple-anal',
|
for: 'triple-anal',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'dpp',
|
name: 'dpp',
|
||||||
for: 'double-vaginal',
|
for: 'double-vaginal',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'dvp',
|
name: 'dvp',
|
||||||
for: 'double-vaginal',
|
for: 'double-vaginal',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'double vaginal (dvp)',
|
name: 'double vaginal (dvp)',
|
||||||
|
@ -1178,11 +1163,11 @@ const aliases = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'enhanced',
|
name: 'enhanced',
|
||||||
for: 'fake-boobs',
|
for: 'enhanced-boobs',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'enhanced tits',
|
name: 'enhanced tits',
|
||||||
for: 'fake-boobs',
|
for: 'enhanced-boobs',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'facefuck',
|
name: 'facefuck',
|
||||||
|
@ -1213,14 +1198,12 @@ const aliases = [
|
||||||
for: 'facial',
|
for: 'facial',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'fake tits',
|
name: 'fake boobs',
|
||||||
for: 'fake-boobs',
|
for: 'enhanced-boobs',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'enhanced boobs',
|
name: 'fake tits',
|
||||||
for: 'fake-boobs',
|
for: 'enhanced-boobs',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'flogging',
|
name: 'flogging',
|
||||||
|
@ -1237,12 +1220,10 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'gape',
|
name: 'gape',
|
||||||
for: 'gaping',
|
for: 'gaping',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'gapes',
|
name: 'gapes',
|
||||||
for: 'gaping',
|
for: 'gaping',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'gapes (gaping asshole)',
|
name: 'gapes (gaping asshole)',
|
||||||
|
@ -1267,7 +1248,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'incest',
|
name: 'incest',
|
||||||
for: 'family',
|
for: 'family',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'incest fantasy',
|
name: 'incest fantasy',
|
||||||
|
@ -1348,12 +1328,10 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'rimming',
|
name: 'rimming',
|
||||||
for: 'ass-eating',
|
for: 'ass-eating',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'rimjob',
|
name: 'rimjob',
|
||||||
for: 'ass-eating',
|
for: 'ass-eating',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'role play',
|
name: 'role play',
|
||||||
|
@ -1414,7 +1392,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'spitroast',
|
name: 'spitroast',
|
||||||
for: 'mfm',
|
for: 'mfm',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'standing doggystyle',
|
name: 'standing doggystyle',
|
||||||
|
@ -1467,7 +1444,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'tittyfuck',
|
name: 'tittyfuck',
|
||||||
for: 'titty-fuck',
|
for: 'titty-fuck',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'tp',
|
name: 'tp',
|
||||||
|
@ -1480,7 +1456,6 @@ const aliases = [
|
||||||
{
|
{
|
||||||
name: 'transgender',
|
name: 'transgender',
|
||||||
for: 'transsexual',
|
for: 'transsexual',
|
||||||
secondary: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'trimmed pussy',
|
name: 'trimmed pussy',
|
||||||
|
@ -1540,7 +1515,6 @@ exports.seed = knex => Promise.resolve()
|
||||||
const tagAliases = aliases.map(alias => ({
|
const tagAliases = aliases.map(alias => ({
|
||||||
name: alias.name,
|
name: alias.name,
|
||||||
alias_for: tagsMap[alias.for],
|
alias_for: tagsMap[alias.for],
|
||||||
secondary: !!alias.secondary,
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return upsert('tags', tagAliases, 'name');
|
return upsert('tags', tagAliases, 'name');
|
||||||
|
|
|
@ -387,8 +387,7 @@ async function updateReleasesSearch(releaseIds) {
|
||||||
LPAD(CAST(EXTRACT(MONTH FROM releases.date) AS VARCHAR), 2, '0') || ' ' ||
|
LPAD(CAST(EXTRACT(MONTH FROM releases.date) AS VARCHAR), 2, '0') || ' ' ||
|
||||||
LPAD(CAST(EXTRACT(DAY FROM releases.date) AS VARCHAR), 2, '0') || ' ' ||
|
LPAD(CAST(EXTRACT(DAY FROM releases.date) AS VARCHAR), 2, '0') || ' ' ||
|
||||||
string_agg(coalesce(actors.name, ''), ' ') || ' ' ||
|
string_agg(coalesce(actors.name, ''), ' ') || ' ' ||
|
||||||
string_agg(coalesce(tags.name, ''), ' ') || ' ' ||
|
string_agg(coalesce(tags.name, ''), ' ')
|
||||||
string_agg(coalesce(tags_aliases.name, ''), ' ')
|
|
||||||
) as document
|
) as document
|
||||||
FROM releases
|
FROM releases
|
||||||
LEFT JOIN sites ON releases.site_id = sites.id
|
LEFT JOIN sites ON releases.site_id = sites.id
|
||||||
|
@ -397,7 +396,6 @@ async function updateReleasesSearch(releaseIds) {
|
||||||
LEFT JOIN releases_tags AS local_tags ON local_tags.release_id = releases.id
|
LEFT JOIN releases_tags AS local_tags ON local_tags.release_id = releases.id
|
||||||
LEFT JOIN actors ON local_actors.actor_id = actors.id
|
LEFT JOIN actors ON local_actors.actor_id = actors.id
|
||||||
LEFT JOIN tags ON local_tags.tag_id = tags.id
|
LEFT JOIN tags ON local_tags.tag_id = tags.id
|
||||||
LEFT JOIN tags as tags_aliases ON local_tags.tag_id = tags_aliases.alias_for
|
|
||||||
WHERE releases.id = ANY(?)
|
WHERE releases.id = ANY(?)
|
||||||
GROUP BY releases.id, sites.name, sites.slug, networks.name, networks.slug;
|
GROUP BY releases.id, sites.name, sites.slug, networks.name, networks.slug;
|
||||||
`, [releaseIds]);
|
`, [releaseIds]);
|
||||||
|
|
156
traxxx.stop
156
traxxx.stop
|
@ -1,156 +0,0 @@
|
||||||
i
|
|
||||||
me
|
|
||||||
my
|
|
||||||
myself
|
|
||||||
we
|
|
||||||
our
|
|
||||||
ours
|
|
||||||
ourselves
|
|
||||||
you
|
|
||||||
your
|
|
||||||
yours
|
|
||||||
yourself
|
|
||||||
yourselves
|
|
||||||
he
|
|
||||||
him
|
|
||||||
his
|
|
||||||
himself
|
|
||||||
she
|
|
||||||
her
|
|
||||||
hers
|
|
||||||
herself
|
|
||||||
it
|
|
||||||
its
|
|
||||||
itself
|
|
||||||
they
|
|
||||||
them
|
|
||||||
their
|
|
||||||
theirs
|
|
||||||
themselves
|
|
||||||
what
|
|
||||||
which
|
|
||||||
who
|
|
||||||
whom
|
|
||||||
this
|
|
||||||
that
|
|
||||||
these
|
|
||||||
those
|
|
||||||
am
|
|
||||||
is
|
|
||||||
are
|
|
||||||
was
|
|
||||||
were
|
|
||||||
be
|
|
||||||
been
|
|
||||||
being
|
|
||||||
have
|
|
||||||
has
|
|
||||||
had
|
|
||||||
having
|
|
||||||
do
|
|
||||||
does
|
|
||||||
did
|
|
||||||
doing
|
|
||||||
a
|
|
||||||
an
|
|
||||||
the
|
|
||||||
and
|
|
||||||
but
|
|
||||||
if
|
|
||||||
or
|
|
||||||
because
|
|
||||||
as
|
|
||||||
until
|
|
||||||
while
|
|
||||||
of
|
|
||||||
at
|
|
||||||
by
|
|
||||||
for
|
|
||||||
with
|
|
||||||
about
|
|
||||||
against
|
|
||||||
between
|
|
||||||
into
|
|
||||||
through
|
|
||||||
during
|
|
||||||
before
|
|
||||||
after
|
|
||||||
above
|
|
||||||
below
|
|
||||||
to
|
|
||||||
from
|
|
||||||
up
|
|
||||||
down
|
|
||||||
in
|
|
||||||
out
|
|
||||||
on
|
|
||||||
off
|
|
||||||
over
|
|
||||||
under
|
|
||||||
again
|
|
||||||
further
|
|
||||||
then
|
|
||||||
once
|
|
||||||
here
|
|
||||||
there
|
|
||||||
when
|
|
||||||
where
|
|
||||||
why
|
|
||||||
how
|
|
||||||
all
|
|
||||||
any
|
|
||||||
both
|
|
||||||
each
|
|
||||||
few
|
|
||||||
more
|
|
||||||
most
|
|
||||||
other
|
|
||||||
some
|
|
||||||
such
|
|
||||||
no
|
|
||||||
nor
|
|
||||||
not
|
|
||||||
only
|
|
||||||
own
|
|
||||||
same
|
|
||||||
so
|
|
||||||
than
|
|
||||||
too
|
|
||||||
very
|
|
||||||
s
|
|
||||||
t
|
|
||||||
can
|
|
||||||
will
|
|
||||||
just
|
|
||||||
don
|
|
||||||
should
|
|
||||||
now
|
|
||||||
1080p
|
|
||||||
2160p
|
|
||||||
240p
|
|
||||||
360p
|
|
||||||
480p
|
|
||||||
540p
|
|
||||||
720p
|
|
||||||
avi
|
|
||||||
gagvid
|
|
||||||
h264
|
|
||||||
hd
|
|
||||||
kleenex
|
|
||||||
ktr
|
|
||||||
mkv
|
|
||||||
mov
|
|
||||||
mp4
|
|
||||||
rartv
|
|
||||||
robots
|
|
||||||
scenes
|
|
||||||
sd
|
|
||||||
split
|
|
||||||
tbs
|
|
||||||
trashbin
|
|
||||||
web
|
|
||||||
webrip
|
|
||||||
wmv
|
|
||||||
x264
|
|
||||||
xlf
|
|
||||||
xxx
|
|
Loading…
Reference in New Issue