tpmkms_4wp 9.3.0-beta.5 → 9.3.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/animals.instance.json +0 -65
- package/common/asking.js +16 -2
- package/common/colors.instance.json +28 -70
- package/common/comparable.instance.json +0 -15
- package/common/concept.test.json +279 -193
- package/common/crew.instance.json +0 -166
- package/common/dateTimeSelectors.instance.json +151 -0
- package/common/dateTimeSelectors.js +171 -0
- package/common/dateTimeSelectors.test.json +85622 -0
- package/common/dates.instance.json +285 -479
- package/common/dates.js +111 -10
- package/common/dates.test.json +11021 -514
- package/common/dialogues.js +8 -46
- package/common/dimension.instance.json +0 -5
- package/common/edible.instance.json +56 -160
- package/common/emotions.instance.json +0 -5
- package/common/evaluate.js +1 -1
- package/common/events.js +1 -1
- package/common/fastfood.instance.json +149 -880
- package/common/fastfood.test.json +16291 -6597
- package/common/formulas.instance.json +0 -5
- package/common/helpers/dateTimeSelectors.js +198 -0
- package/common/helpers/dialogues.js +11 -8
- package/common/helpers/properties.js +2 -2
- package/common/helpers.js +57 -32
- package/common/hierarchy.js +9 -9
- package/common/kirk.instance.json +0 -5
- package/common/length.instance.json +0 -75
- package/common/math.instance.json +0 -5
- package/common/menus.instance.json +0 -35
- package/common/meta.js +2 -2
- package/common/numbers.js +1 -1
- package/common/numbers.test.json +89 -23
- package/common/ordering.instance.json +0 -10
- package/common/people.instance.json +36 -40
- package/common/percentages.js +1 -1
- package/common/pipboy.instance.json +56 -85
- package/common/pipboy.test.json +4377 -3386
- package/common/pokemon.instance.json +0 -65
- package/common/pressure.instance.json +0 -20
- package/common/properties.instance.json +0 -5
- package/common/properties.js +4 -4
- package/common/reminders.instance.json +196 -10
- package/common/reminders.js +273 -79
- package/common/reminders.test.json +71435 -23
- package/common/reports.instance.json +2 -12
- package/common/scorekeeper.test.json +3565 -7550
- package/common/spock.instance.json +0 -5
- package/common/temperature.instance.json +112 -20
- package/common/time.js +63 -30
- package/common/time.test.json +4124 -124
- package/common/ui.instance.json +0 -5
- package/common/ui.js +3 -1
- package/common/weight.instance.json +0 -60
- package/common/wp.instance.json +56 -70
- package/common/wp.test.json +8057 -3867
- package/main.js +2 -0
- package/package.json +8 -4
@@ -0,0 +1,198 @@
|
|
1
|
+
const pluralize = require('pluralize')
|
2
|
+
const deepEqual = require('deep-equal')
|
3
|
+
const { chooseNumber, zip } = require('../helpers.js')
|
4
|
+
const { compose, translationMapping, translationMappingToInstantiatorMappings } = require('./meta.js')
|
5
|
+
|
6
|
+
const dayMap = {
|
7
|
+
'sunday_dates': 0,
|
8
|
+
'monday_dates': 1,
|
9
|
+
'tuesday_dates': 2,
|
10
|
+
'wednesday_dates': 3,
|
11
|
+
'thursday_dates': 4,
|
12
|
+
'friday_dates': 5,
|
13
|
+
'saturday_dates': 6
|
14
|
+
};
|
15
|
+
|
16
|
+
function getNextDayOfWeek(date, targetDay) {
|
17
|
+
|
18
|
+
const targetDayNum = dayMap[targetDay.toLowerCase()]
|
19
|
+
if (!targetDayNum) {
|
20
|
+
return
|
21
|
+
}
|
22
|
+
const currentDay = date.getDay();
|
23
|
+
|
24
|
+
let daysUntilNext = targetDayNum - currentDay;
|
25
|
+
if (daysUntilNext <= 0) {
|
26
|
+
daysUntilNext += 7; // If target day is today or past, get next week's occurrence
|
27
|
+
}
|
28
|
+
|
29
|
+
const nextDate = new Date(date);
|
30
|
+
nextDate.setDate(date.getDate() + daysUntilNext);
|
31
|
+
return nextDate;
|
32
|
+
}
|
33
|
+
|
34
|
+
function toMonthNumber(value) {
|
35
|
+
const map = {
|
36
|
+
"jan_dates": 1,
|
37
|
+
"feb_dates": 2,
|
38
|
+
"mar_dates": 3,
|
39
|
+
"apr_dates": 4,
|
40
|
+
"may_dates": 5,
|
41
|
+
"jun_dates": 6,
|
42
|
+
"jul_dates": 7,
|
43
|
+
"aug_dates": 8,
|
44
|
+
"sept_dates": 9,
|
45
|
+
"oct_dates": 10,
|
46
|
+
"nov_dates": 11,
|
47
|
+
"dec_dates": 12,
|
48
|
+
"january_dates": 1,
|
49
|
+
"february_dates": 2,
|
50
|
+
"march_dates": 3,
|
51
|
+
"april_dates": 4,
|
52
|
+
"june_dates": 6,
|
53
|
+
"july_dates": 7,
|
54
|
+
"august_dates": 8,
|
55
|
+
"september_dates": 9,
|
56
|
+
"october_dates": 10,
|
57
|
+
"november_dates": 11,
|
58
|
+
"december_dates": 12,
|
59
|
+
}
|
60
|
+
return map[value]
|
61
|
+
}
|
62
|
+
|
63
|
+
function getTime(time) {
|
64
|
+
let hour = 0
|
65
|
+
const minute = 0
|
66
|
+
const second = 0
|
67
|
+
let hour_offset = 0
|
68
|
+
if (time.time?.ampm?.ampm == 'pm') {
|
69
|
+
hour_offset = 12
|
70
|
+
}
|
71
|
+
if (time.marker == 'integer') {
|
72
|
+
hour = time.value
|
73
|
+
} else if (time.marker == 'atTime') {
|
74
|
+
hour = time.time.value
|
75
|
+
}
|
76
|
+
hour += hour_offset
|
77
|
+
if (time.hour) {
|
78
|
+
hour = time.hour
|
79
|
+
}
|
80
|
+
if (time.second) {
|
81
|
+
second = time.second
|
82
|
+
}
|
83
|
+
if (time.minute) {
|
84
|
+
minute = time.minute
|
85
|
+
}
|
86
|
+
return { hour, minute, second }
|
87
|
+
}
|
88
|
+
|
89
|
+
instantiate = (isA, now, context) => {
|
90
|
+
const getType = (context, type) => {
|
91
|
+
if (context.marker == 'onDate_dates' && context.date?.marker == type) {
|
92
|
+
return context.date
|
93
|
+
} if (context.marker == type) {
|
94
|
+
return context
|
95
|
+
}
|
96
|
+
}
|
97
|
+
let value
|
98
|
+
if (value = getType(context, 'monthDay_dates')) {
|
99
|
+
const day = value.day.value;
|
100
|
+
// const month = toMonthNumber(value.month.value);
|
101
|
+
const month = value.month.month_ordinal
|
102
|
+
const currentMonth = now.getMonth() + 1; // 1-based (January = 1)
|
103
|
+
const currentYear = now.getFullYear();
|
104
|
+
const year = currentMonth >= month ? currentYear + 1 : currentYear;
|
105
|
+
const date = new Date(year, month-1, day)
|
106
|
+
return date.toISOString()
|
107
|
+
} else if (value = getType(context, 'monthDayYear_dates')) {
|
108
|
+
const day = value.day.value;
|
109
|
+
// const month = toMonthNumber(value.month.value);
|
110
|
+
const month = value.month.month_ordinal
|
111
|
+
const year = value.year.value;
|
112
|
+
const date = new Date(year, month-1, day)
|
113
|
+
return date.toISOString()
|
114
|
+
} else if (isA(context?.marker, 'dateTimeSelector')) {
|
115
|
+
// (on date) OR (date)
|
116
|
+
const date = context.date?.date || context.date
|
117
|
+
const dateTimeSelector = getNextDayOfWeek(now, date.value)
|
118
|
+
const time = context.time || context.defaultTime
|
119
|
+
if (time) {
|
120
|
+
const hms = getTime(time)
|
121
|
+
dateTimeSelector.setHours(hms.hour)
|
122
|
+
dateTimeSelector.setMinutes(hms.minute)
|
123
|
+
dateTimeSelector.setSeconds(hms.second)
|
124
|
+
dateTimeSelector.setMilliseconds(0)
|
125
|
+
}
|
126
|
+
return dateTimeSelector.toISOString()
|
127
|
+
} else if (context.dateTimeSelector) {
|
128
|
+
const dateTimeSelector = getNextDayOfWeek(now, context.dateTimeSelector?.value)
|
129
|
+
if (dateTimeSelector) {
|
130
|
+
return dateTimeSelector.toISOString()
|
131
|
+
}
|
132
|
+
} else if (context.value) {
|
133
|
+
const dateTimeSelector = getNextDayOfWeek(now, context.value)
|
134
|
+
if (dateTimeSelector) {
|
135
|
+
return dateTimeSelector.toISOString()
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
// function getNthDayOfMonth(dayName, ordinal, monthName, year = new Date().getFullYear()) {
|
141
|
+
function getNthDayOfMonth(dayName, ordinal, monthName, now) {
|
142
|
+
// Validate inputs
|
143
|
+
const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
|
144
|
+
const months = [ 'january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december' ];
|
145
|
+
|
146
|
+
let year = now.getFullYear()
|
147
|
+
|
148
|
+
dayName = dayName.toLowerCase();
|
149
|
+
monthName = monthName.toLowerCase();
|
150
|
+
|
151
|
+
if (!days.includes(dayName)) throw new Error('Invalid day name');
|
152
|
+
if (!months.includes(monthName)) throw new Error('Invalid month name');
|
153
|
+
if (!Number.isInteger(ordinal) || ordinal < 1 || ordinal > 5) throw new Error('Ordinal must be an integer between 1 and 5');
|
154
|
+
|
155
|
+
const monthIndex = months.indexOf(monthName);
|
156
|
+
if (monthIndex <= now.getMonth()) {
|
157
|
+
year += 1
|
158
|
+
}
|
159
|
+
const targetDayIndex = days.indexOf(dayName);
|
160
|
+
|
161
|
+
const date = new Date(year, monthIndex, 1);
|
162
|
+
|
163
|
+
while (date.getDay() !== targetDayIndex) {
|
164
|
+
date.setDate(date.getDate() + 1);
|
165
|
+
}
|
166
|
+
|
167
|
+
date.setDate(date.getDate() + (ordinal - 1) * 7);
|
168
|
+
|
169
|
+
if (date.getMonth() !== monthIndex) {
|
170
|
+
throw new Error(`The ${ordinal}th ${dayName} does not exist in ${monthName} ${year}`);
|
171
|
+
}
|
172
|
+
|
173
|
+
return date.toISOString();
|
174
|
+
}
|
175
|
+
|
176
|
+
function getNthWeekdayAfterDate(startDate, weekday_ordinal, n) {
|
177
|
+
// Ensure startDate is a Date object
|
178
|
+
const date = new Date(startDate);
|
179
|
+
let weekday_index = weekday_ordinal - 1
|
180
|
+
// Normalize weekday_index (0 = Sunday, 1 = Monday, ..., 6 = Saturday)
|
181
|
+
weekday_index = (weekday_index % 7 + 7) % 7;
|
182
|
+
// Get current day of the week
|
183
|
+
const currentDay = date.getDay();
|
184
|
+
// Calculate days until the next desired weekday_index
|
185
|
+
let daysUntilNext = (weekday_index - currentDay + 7) % 7;
|
186
|
+
if (daysUntilNext === 0) daysUntilNext = 7; // Move to next occurrence if already on the desired weekday_index
|
187
|
+
// Calculate total days to add: days until next weekday_index + 7 days for each additional occurrence
|
188
|
+
const daysToAdd = daysUntilNext + (n - 1) * 7;
|
189
|
+
// Add days to the start date
|
190
|
+
date.setDate(date.getDate() + daysToAdd);
|
191
|
+
return date.toISOString();
|
192
|
+
}
|
193
|
+
|
194
|
+
module.exports = {
|
195
|
+
instantiate,
|
196
|
+
getNthDayOfMonth,
|
197
|
+
getNthWeekdayAfterDate,
|
198
|
+
}
|
@@ -77,12 +77,7 @@ class API {
|
|
77
77
|
}
|
78
78
|
|
79
79
|
// word is for one or many
|
80
|
-
makeObject({config, context, types=[], source_value=undefined, doPluralize=true} = {}) {
|
81
|
-
/*
|
82
|
-
if (!context.unknown) {
|
83
|
-
return context.value
|
84
|
-
}
|
85
|
-
*/
|
80
|
+
async makeObject({config, context, types=[], source_value=undefined, doPluralize=true, initial={}} = {}) {
|
86
81
|
if (typeof context == 'string') {
|
87
82
|
context = { word: context, value: context }
|
88
83
|
}
|
@@ -103,11 +98,18 @@ class API {
|
|
103
98
|
}
|
104
99
|
return concept
|
105
100
|
}
|
101
|
+
|
102
|
+
initial.value = source_value || concept
|
103
|
+
await this.args.s({ value, makeObject: true, initial })
|
106
104
|
// config.addOperator({ pattern: `(["${fixUps(concept)}"])`, allowDups: true })
|
107
|
-
config.addOperator({ pattern: `(["${concept}"])`, allowDups: true })
|
105
|
+
config.addOperator({ pattern: `(["${concept}"|])`, allowDups: true })
|
108
106
|
config.addBridge({ id: concept, level: 0, bridge: `{ ...next(operator), value: or(operator.value, '${source_value || concept}') }` , allowDups: true })
|
107
|
+
|
109
108
|
const addConcept = (word, number) => {
|
110
|
-
|
109
|
+
if (number) {
|
110
|
+
initial.number = number
|
111
|
+
}
|
112
|
+
config.addWord(word, { id: concept, initial: JSON.stringify(initial) } )
|
111
113
|
const baseTypes = [
|
112
114
|
'theAble',
|
113
115
|
'queryable',
|
@@ -119,6 +121,7 @@ class API {
|
|
119
121
|
this.setupObjectHierarchy(config, concept, {types: allTypes});
|
120
122
|
}
|
121
123
|
|
124
|
+
pluralize.isSingular(word)
|
122
125
|
if (pluralize.isSingular(word)) {
|
123
126
|
addConcept(word, 'one')
|
124
127
|
doPluralize && addConcept(pluralize.plural(word), 'many')
|
@@ -546,9 +546,9 @@ class API {
|
|
546
546
|
}
|
547
547
|
}
|
548
548
|
|
549
|
-
makeObject(args) {
|
549
|
+
async makeObject(args) {
|
550
550
|
const types = [ 'hierarchyAble', 'object', 'property' ];
|
551
|
-
return args.km("dialogues").api.makeObject({ ...args, types: (args.types || []).concat(types) });
|
551
|
+
return await args.km("dialogues").api.makeObject({ ...args, types: (args.types || []).concat(types) });
|
552
552
|
}
|
553
553
|
|
554
554
|
relation_add (relations) {
|
package/common/helpers.js
CHANGED
@@ -152,6 +152,7 @@ const toEValue = (context) => {
|
|
152
152
|
}
|
153
153
|
|
154
154
|
const defaultContextCheckValidify = (properties) => {
|
155
|
+
return // new way
|
155
156
|
for (const value of properties) {
|
156
157
|
if (typeof value == 'string') {
|
157
158
|
continue
|
@@ -163,46 +164,70 @@ const defaultContextCheckValidify = (properties) => {
|
|
163
164
|
}
|
164
165
|
}
|
165
166
|
|
166
|
-
const defaultContextCheckProperties = ['marker', 'text', 'verbatim', 'isResponse', { property: 'response', filter: ['marker', 'text', 'verbatim'] }]
|
167
|
+
const defaultContextCheckProperties = ['marker', 'text', 'verbatim', 'isResponse', 'types', { property: 'response', filter: ['marker', 'text', 'verbatim'] }]
|
167
168
|
|
168
|
-
const expand_checks = (properties) => {
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
169
|
+
const expand_checks = (properties, variables = {}) => {
|
170
|
+
let expanded = []
|
171
|
+
if (properties == 'defaults') {
|
172
|
+
return defaultContextCheckProperties
|
173
|
+
}
|
174
|
+
if (properties.variable) {
|
175
|
+
return variables[properties.variable]
|
176
|
+
}
|
177
|
+
if (Array.isArray(properties)) {
|
178
|
+
for (const property of properties) {
|
179
|
+
defaultContextCheckValidify(properties)
|
180
|
+
if (typeof property == 'string') {
|
181
|
+
expanded.push({ property, filter: defaultContextCheckProperties })
|
182
|
+
} else if (property.property && property.filter) {
|
183
|
+
expanded.push({ property: property.property, filter: [defaultContextCheckProperties, ...expand_checks(property.filter, variables)] })
|
184
|
+
} else {
|
185
|
+
expanded = [...expanded, ...expand_checks(property, variables)]
|
186
|
+
}
|
187
|
+
}
|
188
|
+
return expanded
|
189
|
+
}
|
190
|
+
for (const key of Object.keys(properties)) {
|
191
|
+
if (key === '_') {
|
192
|
+
expanded = [...expanded, ...defaultContextCheckProperties]
|
174
193
|
} else {
|
175
|
-
expanded.push({ property:
|
194
|
+
expanded.push({ property: key, filter: [...expand_checks(properties[key], variables)] })
|
176
195
|
}
|
177
196
|
}
|
178
197
|
return expanded
|
198
|
+
|
179
199
|
}
|
180
200
|
|
181
|
-
const defaultContextCheck = (properties = []) => {
|
201
|
+
const defaultContextCheck = (properties = [], variables={}, minimal=false) => {
|
182
202
|
defaultContextCheckValidify(properties)
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
}
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
203
|
+
variables.defaults = defaultContextCheckProperties
|
204
|
+
if (minimal) {
|
205
|
+
return expand_checks(properties, variables)
|
206
|
+
} else {
|
207
|
+
return [
|
208
|
+
...defaultContextCheckProperties,
|
209
|
+
// ...properties.map((property) => { return { property, filter: defaultContextCheckProperties } }),
|
210
|
+
...expand_checks(properties, variables),
|
211
|
+
(object) => {
|
212
|
+
if (typeof object.value == 'object') {
|
213
|
+
return { property: 'value', filter: defaultContextCheckProperties }
|
214
|
+
} else {
|
215
|
+
return 'value'
|
216
|
+
}
|
217
|
+
},
|
218
|
+
(object) => {
|
219
|
+
if (!Array.isArray(object.modifiers)) {
|
220
|
+
return
|
221
|
+
}
|
222
|
+
if (typeof object.modifiers[0] == 'object') {
|
223
|
+
return { property: 'modifiers', filter: defaultContextCheckProperties }
|
224
|
+
} else {
|
225
|
+
return 'modifiers'
|
226
|
+
}
|
227
|
+
},
|
228
|
+
{ property: 'modifiers', isPropertyList: true, filter: defaultContextCheckProperties }
|
229
|
+
]
|
230
|
+
}
|
206
231
|
}
|
207
232
|
|
208
233
|
const isA = (hierarchy) => (child, parent, { strict=false } = {}) => {
|
package/common/hierarchy.js
CHANGED
@@ -164,15 +164,15 @@ const config = {
|
|
164
164
|
notes: 'c is a y',
|
165
165
|
where: where(),
|
166
166
|
match: ({context, listable}) => listable(context.marker, 'hierarchyAble') && !context.pullFromContext && !context.wantsValue && context.same && !context.same.pullFromContext && context.same.wantsValue,
|
167
|
-
apply: ({context, km, objects, asList, baseConfig : config}) => {
|
167
|
+
apply: async ({context, km, objects, asList, baseConfig : config}) => {
|
168
168
|
const api = km('properties').api
|
169
169
|
// mark c as an instance?
|
170
170
|
const oneConcepts = asList(context);
|
171
171
|
const twoConcepts = asList(context.same);
|
172
172
|
for (let oneConcept of oneConcepts.value) {
|
173
173
|
for (let twoConcept of twoConcepts.value) {
|
174
|
-
oneConcept = api.makeObject({config, context})
|
175
|
-
twoConcept = api.makeObject({config, context: context.same})
|
174
|
+
oneConcept = await api.makeObject({config, context})
|
175
|
+
twoConcept = await api.makeObject({config, context: context.same})
|
176
176
|
api.rememberIsA(oneConcept, twoConcept)
|
177
177
|
}
|
178
178
|
}
|
@@ -183,14 +183,14 @@ const config = {
|
|
183
183
|
notes: 'an x is a y',
|
184
184
|
where: where(),
|
185
185
|
match: ({context, listable}) => listable(context.marker, 'hierarchyAble') && !context.pullFromContext && context.wantsValue && context.same,
|
186
|
-
apply: ({context, km, objects, baseConfig : config, asList}) => {
|
186
|
+
apply: async ({context, km, objects, baseConfig : config, asList}) => {
|
187
187
|
const api = km('properties').api
|
188
188
|
const oneConcepts = asList(context);
|
189
189
|
const twoConcepts = asList(context.same);
|
190
190
|
for (let oneConcept of oneConcepts.value) {
|
191
191
|
for (let twoConcept of twoConcepts.value) {
|
192
|
-
oneConcept = api.makeObject({config, context})
|
193
|
-
twoConcept = api.makeObject({config, context: context.same})
|
192
|
+
oneConcept = await api.makeObject({config, context})
|
193
|
+
twoConcept = await api.makeObject({config, context: context.same})
|
194
194
|
api.rememberIsA(oneConcept, twoConcept)
|
195
195
|
context.sameWasProcessed = true
|
196
196
|
}
|
@@ -246,15 +246,15 @@ const config = {
|
|
246
246
|
|
247
247
|
return listable(context, 'hierarchyAble') && context.same && context.same.concept && !context.query
|
248
248
|
},
|
249
|
-
apply: (args) => {
|
249
|
+
apply: async (args) => {
|
250
250
|
const {callId, config, objects, km, context, asList, listable} = args
|
251
251
|
const api = km('properties').api
|
252
252
|
const oneConcepts = asList(context);
|
253
253
|
const twoConcepts = asList(context.same);
|
254
254
|
for (const oneConcept of oneConcepts.value) {
|
255
255
|
for (const twoConcept of twoConcepts.value) {
|
256
|
-
oneConceptId = api.makeObject({...args, context: oneConcept})
|
257
|
-
twoConceptId = api.makeObject({...args, context: twoConcept})
|
256
|
+
oneConceptId = await api.makeObject({...args, context: oneConcept})
|
257
|
+
twoConceptId = await api.makeObject({...args, context: twoConcept})
|
258
258
|
api.rememberIsA(oneConceptId, twoConceptId)
|
259
259
|
context.sameWasProcessed = true
|
260
260
|
}
|
@@ -254,11 +254,6 @@
|
|
254
254
|
"article",
|
255
255
|
false
|
256
256
|
],
|
257
|
-
[
|
258
|
-
"evaluate",
|
259
|
-
"verb",
|
260
|
-
false
|
261
|
-
],
|
262
257
|
[
|
263
258
|
"every",
|
264
259
|
"article",
|
@@ -1686,11 +1681,6 @@
|
|
1686
1681
|
"article",
|
1687
1682
|
false
|
1688
1683
|
],
|
1689
|
-
[
|
1690
|
-
"evaluate",
|
1691
|
-
"verb",
|
1692
|
-
false
|
1693
|
-
],
|
1694
1684
|
[
|
1695
1685
|
"every",
|
1696
1686
|
"article",
|
@@ -4182,11 +4172,6 @@
|
|
4182
4172
|
"article",
|
4183
4173
|
false
|
4184
4174
|
],
|
4185
|
-
[
|
4186
|
-
"evaluate",
|
4187
|
-
"verb",
|
4188
|
-
false
|
4189
|
-
],
|
4190
4175
|
[
|
4191
4176
|
"every",
|
4192
4177
|
"article",
|
@@ -5898,11 +5883,6 @@
|
|
5898
5883
|
"article",
|
5899
5884
|
false
|
5900
5885
|
],
|
5901
|
-
[
|
5902
|
-
"evaluate",
|
5903
|
-
"verb",
|
5904
|
-
false
|
5905
|
-
],
|
5906
5886
|
[
|
5907
5887
|
"every",
|
5908
5888
|
"article",
|
@@ -7614,11 +7594,6 @@
|
|
7614
7594
|
"article",
|
7615
7595
|
false
|
7616
7596
|
],
|
7617
|
-
[
|
7618
|
-
"evaluate",
|
7619
|
-
"verb",
|
7620
|
-
false
|
7621
|
-
],
|
7622
7597
|
[
|
7623
7598
|
"every",
|
7624
7599
|
"article",
|
@@ -9321,11 +9296,6 @@
|
|
9321
9296
|
"article",
|
9322
9297
|
false
|
9323
9298
|
],
|
9324
|
-
[
|
9325
|
-
"evaluate",
|
9326
|
-
"verb",
|
9327
|
-
false
|
9328
|
-
],
|
9329
9299
|
[
|
9330
9300
|
"every",
|
9331
9301
|
"article",
|
@@ -11038,11 +11008,6 @@
|
|
11038
11008
|
"article",
|
11039
11009
|
false
|
11040
11010
|
],
|
11041
|
-
[
|
11042
|
-
"evaluate",
|
11043
|
-
"verb",
|
11044
|
-
false
|
11045
|
-
],
|
11046
11011
|
[
|
11047
11012
|
"every",
|
11048
11013
|
"article",
|
@@ -12755,11 +12720,6 @@
|
|
12755
12720
|
"article",
|
12756
12721
|
false
|
12757
12722
|
],
|
12758
|
-
[
|
12759
|
-
"evaluate",
|
12760
|
-
"verb",
|
12761
|
-
false
|
12762
|
-
],
|
12763
12723
|
[
|
12764
12724
|
"every",
|
12765
12725
|
"article",
|
@@ -14462,11 +14422,6 @@
|
|
14462
14422
|
"article",
|
14463
14423
|
false
|
14464
14424
|
],
|
14465
|
-
[
|
14466
|
-
"evaluate",
|
14467
|
-
"verb",
|
14468
|
-
false
|
14469
|
-
],
|
14470
14425
|
[
|
14471
14426
|
"every",
|
14472
14427
|
"article",
|
@@ -16178,11 +16133,6 @@
|
|
16178
16133
|
"article",
|
16179
16134
|
false
|
16180
16135
|
],
|
16181
|
-
[
|
16182
|
-
"evaluate",
|
16183
|
-
"verb",
|
16184
|
-
false
|
16185
|
-
],
|
16186
16136
|
[
|
16187
16137
|
"every",
|
16188
16138
|
"article",
|
@@ -17894,11 +17844,6 @@
|
|
17894
17844
|
"article",
|
17895
17845
|
false
|
17896
17846
|
],
|
17897
|
-
[
|
17898
|
-
"evaluate",
|
17899
|
-
"verb",
|
17900
|
-
false
|
17901
|
-
],
|
17902
17847
|
[
|
17903
17848
|
"every",
|
17904
17849
|
"article",
|
@@ -19610,11 +19555,6 @@
|
|
19610
19555
|
"article",
|
19611
19556
|
false
|
19612
19557
|
],
|
19613
|
-
[
|
19614
|
-
"evaluate",
|
19615
|
-
"verb",
|
19616
|
-
false
|
19617
|
-
],
|
19618
19558
|
[
|
19619
19559
|
"every",
|
19620
19560
|
"article",
|
@@ -21240,11 +21180,6 @@
|
|
21240
21180
|
"article",
|
21241
21181
|
false
|
21242
21182
|
],
|
21243
|
-
[
|
21244
|
-
"evaluate",
|
21245
|
-
"verb",
|
21246
|
-
false
|
21247
|
-
],
|
21248
21183
|
[
|
21249
21184
|
"every",
|
21250
21185
|
"article",
|
@@ -22947,11 +22882,6 @@
|
|
22947
22882
|
"article",
|
22948
22883
|
false
|
22949
22884
|
],
|
22950
|
-
[
|
22951
|
-
"evaluate",
|
22952
|
-
"verb",
|
22953
|
-
false
|
22954
|
-
],
|
22955
22885
|
[
|
22956
22886
|
"every",
|
22957
22887
|
"article",
|
@@ -24664,11 +24594,6 @@
|
|
24664
24594
|
"article",
|
24665
24595
|
false
|
24666
24596
|
],
|
24667
|
-
[
|
24668
|
-
"evaluate",
|
24669
|
-
"verb",
|
24670
|
-
false
|
24671
|
-
],
|
24672
24597
|
[
|
24673
24598
|
"every",
|
24674
24599
|
"article",
|