Anand Doshi | d57e793 | 2015-02-24 12:24:53 +0530 | [diff] [blame] | 1 | from __future__ import unicode_literals |
Anand Doshi | f5794f1 | 2014-03-03 15:05:28 +0530 | [diff] [blame] | 2 | from frappe import _ |
| 3 | |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 4 | def get_data(): |
| 5 | return [ |
| 6 | { |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 7 | "label": _("Employee and Attendance"), |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 8 | "items": [ |
| 9 | { |
| 10 | "type": "doctype", |
| 11 | "name": "Employee", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 12 | }, |
| 13 | { |
| 14 | "type": "doctype", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 15 | "name": "Employee Attendance Tool", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 16 | "hide_count": True |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 17 | }, |
| 18 | { |
| 19 | "type": "doctype", |
| 20 | "name": "Attendance", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 21 | }, |
| 22 | { |
| 23 | "type": "doctype", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 24 | "name": "Attendance Request", |
| 25 | }, |
| 26 | { |
| 27 | "type": "doctype", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 28 | "name": "Upload Attendance", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 29 | "hide_count": True |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 30 | } |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 31 | ] |
| 32 | }, |
| 33 | { |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 34 | "label": _("Leaves and Holiday"), |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 35 | "items": [ |
| 36 | { |
| 37 | "type": "doctype", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 38 | "name": "Leave Period", |
| 39 | }, |
| 40 | { |
| 41 | "type": "doctype", |
| 42 | "name": "Leave Policy", |
| 43 | }, |
| 44 | { |
| 45 | "type": "doctype", |
Nabin Hait | fcdca7f | 2018-04-14 12:54:51 +0530 | [diff] [blame] | 46 | "name": "Leave Application", |
| 47 | }, |
| 48 | { |
| 49 | "type": "doctype", |
| 50 | "name": "Leave Allocation", |
| 51 | }, |
| 52 | { |
| 53 | "type": "doctype", |
| 54 | "name": "Compensatory Leave Request", |
| 55 | }, |
| 56 | { |
| 57 | "type": "doctype", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 58 | "name": "Leave Encashment", |
| 59 | }, |
| 60 | { |
| 61 | "type": "doctype", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 62 | "name":"Leave Type", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 63 | }, |
| 64 | { |
| 65 | "type": "doctype", |
| 66 | "name": "Holiday List", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 67 | }, |
| 68 | { |
| 69 | "type": "doctype", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 70 | "name": "Leave Block List", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 71 | }, |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 72 | ] |
| 73 | }, |
| 74 | { |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 75 | "label": _("Payroll"), |
| 76 | "items": [ |
| 77 | { |
| 78 | "type": "doctype", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 79 | "name": "Salary Structure Assignment", |
| 80 | }, |
| 81 | { |
| 82 | "type": "doctype", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 83 | "name": "Salary Slip", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 84 | }, |
| 85 | { |
| 86 | "type": "doctype", |
Nabin Hait | 5518448 | 2018-04-14 17:04:56 +0530 | [diff] [blame] | 87 | "name": "Payroll Entry" |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 88 | }, |
| 89 | { |
| 90 | "type": "doctype", |
| 91 | "name": "Employee Benefit Application", |
| 92 | }, |
| 93 | { |
| 94 | "type": "doctype", |
Nabin Hait | 5518448 | 2018-04-14 17:04:56 +0530 | [diff] [blame] | 95 | "name": "Employee Benefit Claim", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 96 | }, |
| 97 | { |
| 98 | "type": "doctype", |
| 99 | "name": "Employee Tax Exemption Declaration", |
Nabin Hait | 5518448 | 2018-04-14 17:04:56 +0530 | [diff] [blame] | 100 | }, |
| 101 | { |
| 102 | "type": "doctype", |
| 103 | "name": "Employee Tax Exemption Proof Submission", |
| 104 | }, |
| 105 | { |
| 106 | "type": "doctype", |
| 107 | "name": "Employee Incentive", |
| 108 | }, |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 109 | ] |
| 110 | }, |
| 111 | { |
| 112 | "label": _("Payroll Setup"), |
| 113 | "items": [ |
| 114 | { |
| 115 | "type": "doctype", |
| 116 | "name": "Payroll Period", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 117 | }, |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 118 | { |
| 119 | "type": "doctype", |
Kanchan Chauhan | d963b76 | 2016-07-02 12:23:59 +0530 | [diff] [blame] | 120 | "name": "Salary Component", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 121 | }, |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 122 | { |
| 123 | "type": "doctype", |
Jamsheer | 08b60a1 | 2018-05-10 13:16:24 +0530 | [diff] [blame] | 124 | "name": "Additional Salary Component", |
| 125 | }, |
| 126 | { |
| 127 | "type": "doctype", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 128 | "name": "Salary Structure", |
| 129 | }, |
| 130 | { |
| 131 | "type": "doctype", |
| 132 | "name": "Employee Tax Exemption Category", |
| 133 | }, |
Ranjith | 85d2d57 | 2018-05-10 15:04:32 +0530 | [diff] [blame] | 134 | { |
| 135 | "type": "doctype", |
| 136 | "name": "Employee Tax Exemption Sub Category" |
| 137 | } |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 138 | ] |
| 139 | }, |
| 140 | { |
Nabin Hait | fcdca7f | 2018-04-14 12:54:51 +0530 | [diff] [blame] | 141 | "label": _("Expense Claim"), |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 142 | "items": [ |
| 143 | { |
| 144 | "type": "doctype", |
Nabin Hait | d0249b0 | 2017-12-14 13:25:57 +0530 | [diff] [blame] | 145 | "name": "Employee Advance", |
Nabin Hait | d0249b0 | 2017-12-14 13:25:57 +0530 | [diff] [blame] | 146 | }, |
| 147 | { |
| 148 | "type": "doctype", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 149 | "name": "Expense Claim", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 150 | }, |
| 151 | { |
| 152 | "type": "doctype", |
| 153 | "name": "Expense Claim Type", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 154 | }, |
| 155 | ] |
| 156 | }, |
| 157 | { |
| 158 | "label": _("Appraisals"), |
| 159 | "items": [ |
| 160 | { |
| 161 | "type": "doctype", |
| 162 | "name": "Appraisal", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 163 | }, |
| 164 | { |
| 165 | "type": "doctype", |
| 166 | "name": "Appraisal Template", |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 167 | }, |
Rushabh Mehta | 7ec4b71 | 2017-01-31 11:42:44 +0530 | [diff] [blame] | 168 | { |
| 169 | "type": "page", |
| 170 | "name": "team-updates", |
| 171 | "label": _("Team Updates") |
| 172 | }, |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 173 | ] |
| 174 | }, |
Kanchan Chauhan | 639eebd | 2017-02-28 18:01:07 +0530 | [diff] [blame] | 175 | { |
Shreya Shah | 4dc453d | 2018-04-24 12:19:36 +0530 | [diff] [blame] | 176 | "label": _("Loan Management"), |
Kanchan Chauhan | 639eebd | 2017-02-28 18:01:07 +0530 | [diff] [blame] | 177 | "icon": "icon-list", |
| 178 | "items": [ |
| 179 | { |
| 180 | "type": "doctype", |
| 181 | "name": "Loan Type", |
Kanchan Chauhan | 639eebd | 2017-02-28 18:01:07 +0530 | [diff] [blame] | 182 | }, |
| 183 | { |
| 184 | "type": "doctype", |
Shreya Shah | 4dc453d | 2018-04-24 12:19:36 +0530 | [diff] [blame] | 185 | "name": "Loan Application", |
Kanchan Chauhan | 639eebd | 2017-02-28 18:01:07 +0530 | [diff] [blame] | 186 | }, |
| 187 | { |
| 188 | "type": "doctype", |
Shreya Shah | 4dc453d | 2018-04-24 12:19:36 +0530 | [diff] [blame] | 189 | "name": "Loan" |
Kanchan Chauhan | 639eebd | 2017-02-28 18:01:07 +0530 | [diff] [blame] | 190 | }, |
| 191 | ] |
| 192 | }, |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 193 | { |
Nabin Hait | fcdca7f | 2018-04-14 12:54:51 +0530 | [diff] [blame] | 194 | "label": _("Employee Lifecycle"), |
| 195 | "items": [ |
| 196 | { |
| 197 | "type": "doctype", |
| 198 | "name": "Employee Transfer", |
| 199 | }, |
| 200 | { |
| 201 | "type": "doctype", |
| 202 | "name": "Employee Promotion", |
Nabin Hait | fcdca7f | 2018-04-14 12:54:51 +0530 | [diff] [blame] | 203 | } |
| 204 | ] |
| 205 | }, |
| 206 | { |
| 207 | "label": _("Recruitment"), |
| 208 | "items": [ |
| 209 | { |
| 210 | "type": "doctype", |
| 211 | "name": "Job Applicant", |
| 212 | }, |
| 213 | { |
| 214 | "type": "doctype", |
| 215 | "name": "Job Opening", |
| 216 | }, |
| 217 | { |
| 218 | "type": "doctype", |
| 219 | "name": "Job Offer", |
| 220 | }, |
| 221 | ] |
| 222 | }, |
| 223 | { |
Nabin Hait | e9ad03e | 2018-04-14 12:54:51 +0530 | [diff] [blame] | 224 | "label": _("Employee Lifecycle"), |
| 225 | "items": [ |
| 226 | { |
| 227 | "type": "doctype", |
| 228 | "name": "Employee Transfer", |
| 229 | }, |
| 230 | { |
| 231 | "type": "doctype", |
| 232 | "name": "Employee Promotion", |
| 233 | }, |
| 234 | { |
| 235 | "type": "doctype", |
| 236 | "name": "Employee Lifecycle Activity", |
| 237 | }, |
| 238 | { |
| 239 | "type": "doctype", |
| 240 | "name": "Employee Lifecycle Activity Type", |
| 241 | }, |
| 242 | { |
| 243 | "type": "doctype", |
| 244 | "name": "Employee Lifecycle Process Template", |
| 245 | }, |
| 246 | { |
| 247 | "type": "doctype", |
| 248 | "name": "Employee Lifecycle Process", |
| 249 | } |
| 250 | ] |
| 251 | }, |
| 252 | { |
| 253 | "label": _("Recruitment"), |
| 254 | "items": [ |
| 255 | { |
| 256 | "type": "doctype", |
| 257 | "name": "Job Applicant", |
| 258 | }, |
| 259 | { |
| 260 | "type": "doctype", |
| 261 | "name": "Job Opening", |
| 262 | }, |
| 263 | { |
| 264 | "type": "doctype", |
| 265 | "name": "Job Offer", |
| 266 | }, |
| 267 | ] |
| 268 | }, |
| 269 | { |
Neil Trini Lasrado | 984ee37 | 2016-08-08 16:33:51 +0530 | [diff] [blame] | 270 | "label": _("Training"), |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 271 | "items": [ |
Neil Trini Lasrado | 984ee37 | 2016-08-08 16:33:51 +0530 | [diff] [blame] | 272 | { |
| 273 | "type": "doctype", |
Doridel Cahanap | 5a4d5bf | 2017-10-20 14:01:15 +0800 | [diff] [blame] | 274 | "name": "Training Program" |
| 275 | }, |
| 276 | { |
| 277 | "type": "doctype", |
Neil Trini Lasrado | 984ee37 | 2016-08-08 16:33:51 +0530 | [diff] [blame] | 278 | "name": "Training Event" |
| 279 | }, |
| 280 | { |
| 281 | "type": "doctype", |
| 282 | "name": "Training Result" |
| 283 | }, |
| 284 | { |
| 285 | "type": "doctype", |
| 286 | "name": "Training Feedback" |
| 287 | }, |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 288 | ] |
| 289 | }, |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 290 | { |
| 291 | "label": _("Shift Management"), |
| 292 | "items": [ |
| 293 | { |
| 294 | "type": "doctype", |
| 295 | "name": "Shift Type", |
| 296 | }, |
| 297 | { |
| 298 | "type": "doctype", |
| 299 | "name": "Shift Request", |
| 300 | }, |
| 301 | { |
| 302 | "type": "doctype", |
| 303 | "name": "Shift Assignment", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 304 | } |
| 305 | ] |
| 306 | }, |
Kanchan Chauhan | f80c2b9 | 2017-01-09 11:34:58 +0530 | [diff] [blame] | 307 | { |
| 308 | "label": _("Fleet Management"), |
| 309 | "items": [ |
| 310 | { |
| 311 | "type": "doctype", |
| 312 | "name": "Vehicle" |
| 313 | }, |
| 314 | { |
| 315 | "type": "doctype", |
| 316 | "name": "Vehicle Log" |
| 317 | }, |
| 318 | ] |
| 319 | }, |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 320 | { |
| 321 | "label": _("Setup"), |
Rushabh Mehta | 2167ff5 | 2016-12-07 11:08:48 +0530 | [diff] [blame] | 322 | "icon": "fa fa-cog", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 323 | "items": [ |
| 324 | { |
| 325 | "type": "doctype", |
| 326 | "name": "HR Settings", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 327 | }, |
| 328 | { |
| 329 | "type": "doctype", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 330 | "name": "Employment Type", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 331 | }, |
| 332 | { |
| 333 | "type": "doctype", |
| 334 | "name": "Branch", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 335 | }, |
| 336 | { |
| 337 | "type": "doctype", |
| 338 | "name": "Department", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 339 | }, |
| 340 | { |
| 341 | "type": "doctype", |
| 342 | "name": "Designation", |
Nabin Hait | fcdca7f | 2018-04-14 12:54:51 +0530 | [diff] [blame] | 343 | }, |
| 344 | { |
| 345 | "type": "doctype", |
| 346 | "name": "Employee Grade", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 347 | }, |
Rushabh Mehta | 557e7f7 | 2016-11-21 12:10:20 +0530 | [diff] [blame] | 348 | { |
| 349 | "type": "doctype", |
Doridel Cahanap | c893268 | 2018-03-20 08:07:02 +0100 | [diff] [blame] | 350 | "name": "Daily Work Summary Settings" |
| 351 | }, |
| 352 | { |
| 353 | "type": "doctype", |
Nabin Hait | f914bd3 | 2018-04-14 12:38:55 +0530 | [diff] [blame] | 354 | "name": "Employee Health Insurance" |
| 355 | }, |
| 356 | { |
| 357 | "type": "doctype", |
| 358 | "name": "Staffing Plan", |
Suraj Shetty | d3069fe | 2018-02-21 15:15:43 +0530 | [diff] [blame] | 359 | } |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 360 | ] |
| 361 | }, |
| 362 | { |
Rushabh Mehta | d1e1c52 | 2016-03-08 18:06:21 +0530 | [diff] [blame] | 363 | "label": _("Reports"), |
Rushabh Mehta | 2167ff5 | 2016-12-07 11:08:48 +0530 | [diff] [blame] | 364 | "icon": "fa fa-list", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 365 | "items": [ |
| 366 | { |
| 367 | "type": "report", |
| 368 | "is_query_report": True, |
| 369 | "name": "Employee Leave Balance", |
| 370 | "doctype": "Leave Application" |
| 371 | }, |
| 372 | { |
| 373 | "type": "report", |
| 374 | "is_query_report": True, |
| 375 | "name": "Employee Birthday", |
| 376 | "doctype": "Employee" |
| 377 | }, |
| 378 | { |
| 379 | "type": "report", |
Valmik Jangla | 1890c79 | 2016-01-27 12:11:47 +0530 | [diff] [blame] | 380 | "is_query_report": True, |
Kanchan Chauhan | 7ff0c4e | 2016-07-14 12:12:26 +0530 | [diff] [blame] | 381 | "name": "Employees working on a holiday", |
Valmik Jangla | 1890c79 | 2016-01-27 12:11:47 +0530 | [diff] [blame] | 382 | "doctype": "Employee" |
| 383 | }, |
| 384 | { |
| 385 | "type": "report", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 386 | "name": "Employee Information", |
| 387 | "doctype": "Employee" |
| 388 | }, |
| 389 | { |
| 390 | "type": "report", |
| 391 | "is_query_report": True, |
Kanchan Chauhan | 2f3ae91 | 2017-01-11 19:43:16 +0530 | [diff] [blame] | 392 | "name": "Salary Register", |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 393 | "doctype": "Salary Slip" |
| 394 | }, |
| 395 | { |
| 396 | "type": "report", |
| 397 | "is_query_report": True, |
| 398 | "name": "Monthly Attendance Sheet", |
| 399 | "doctype": "Attendance" |
| 400 | }, |
Kanchan Chauhan | f80c2b9 | 2017-01-09 11:34:58 +0530 | [diff] [blame] | 401 | { |
| 402 | "type": "report", |
| 403 | "is_query_report": True, |
| 404 | "name": "Vehicle Expenses", |
| 405 | "doctype": "Vehicle" |
| 406 | }, |
Valmik Jangla | 1890c79 | 2016-01-27 12:11:47 +0530 | [diff] [blame] | 407 | |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 408 | ] |
| 409 | }, |
Sambhaji Kolate | fd53991 | 2015-10-27 17:01:27 +0530 | [diff] [blame] | 410 | { |
| 411 | "label": _("Help"), |
Rushabh Mehta | 2167ff5 | 2016-12-07 11:08:48 +0530 | [diff] [blame] | 412 | "icon": "fa fa-facetime-video", |
Sambhaji Kolate | fd53991 | 2015-10-27 17:01:27 +0530 | [diff] [blame] | 413 | "items": [ |
| 414 | { |
| 415 | "type": "help", |
| 416 | "label": _("Setting up Employees"), |
| 417 | "youtube_id": "USfIUdZlUhw" |
| 418 | }, |
| 419 | { |
| 420 | "type": "help", |
| 421 | "label": _("Leave Management"), |
| 422 | "youtube_id": "fc0p_AXebc8" |
| 423 | }, |
| 424 | { |
| 425 | "type": "help", |
| 426 | "label": _("Expense Claims"), |
| 427 | "youtube_id": "5SZHJF--ZFY" |
Shreya Shah | 278af1b | 2018-02-16 12:58:04 +0530 | [diff] [blame] | 428 | } |
Sambhaji Kolate | fd53991 | 2015-10-27 17:01:27 +0530 | [diff] [blame] | 429 | ] |
| 430 | } |
Anand Doshi | 08ef467 | 2014-05-08 11:43:18 +0530 | [diff] [blame] | 431 | ] |