Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / openchannelTransferReport / openchannelTransferReport.controller.js
index 812dd39..671fb60 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x8488=['lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','save','update','then','error','name','send','index','map','rawAttributes','type','query','filters','intersection','model','fields','attributes','length','order','where','pick','filter','merge','VIRTUAL','options','OpenchannelTransferReport','count','includeAll','include','findAll','rows','show','keys','find','catch','create','body','params','destroy','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','to-csv'];(function(_0x491a7f,_0x28bb80){var _0x3d8f44=function(_0xdaa716){while(--_0xdaa716){_0x491a7f['push'](_0x491a7f['shift']());}};_0x3d8f44(++_0x28bb80);}(_0x8488,0x160));var _0x8848=function(_0xc4a6fe,_0x1f050a){_0xc4a6fe=_0xc4a6fe-0x0;var _0x7cab52=_0x8488[_0xc4a6fe];return _0x7cab52;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x8848('0x0'));var zipdir=require(_0x8848('0x1'));var jsonpatch=require(_0x8848('0x2'));var rp=require(_0x8848('0x3'));var moment=require(_0x8848('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8848('0x5'));var path=require('path');var sox=require(_0x8848('0x6'));var csv=require(_0x8848('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x8848('0x8'));var squel=require(_0x8848('0x9'));var crypto=require(_0x8848('0xa'));var jsforce=require(_0x8848('0xb'));var deskjs=require(_0x8848('0xc'));var toCsv=require(_0x8848('0x7'));var querystring=require('querystring');var Papa=require(_0x8848('0xd'));var Redis=require(_0x8848('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x8848('0xf'));var as=require(_0x8848('0x10'));var hardwareService=require(_0x8848('0x11'));var logger=require(_0x8848('0x12'))(_0x8848('0x13'));var utils=require(_0x8848('0x14'));var config=require(_0x8848('0x15'));var licenseUtil=require(_0x8848('0x16'));var db=require(_0x8848('0x17'))['db'];function respondWithStatusCode(_0x298108,_0x4ba6a5){_0x4ba6a5=_0x4ba6a5||0xcc;return function(_0x54c719){if(_0x54c719){return _0x298108[_0x8848('0x18')](_0x4ba6a5);}return _0x298108[_0x8848('0x19')](_0x4ba6a5)[_0x8848('0x1a')]();};}function respondWithResult(_0x1cf50e,_0x361c9b){_0x361c9b=_0x361c9b||0xc8;return function(_0x16634c){if(_0x16634c){return _0x1cf50e[_0x8848('0x19')](_0x361c9b)[_0x8848('0x1b')](_0x16634c);}};}function respondWithFilteredResult(_0x409ad5,_0x42413d){return function(_0x4265c5){if(_0x4265c5){var _0x3b30b0=_0x4265c5['count'],_0x22011f=_0x42413d[_0x8848('0x1c')],_0x320449=_0x42413d[_0x8848('0x1c')]+_0x42413d[_0x8848('0x1d')],_0x134bd3;if(_0x320449>=_0x3b30b0){_0x320449=_0x3b30b0;_0x134bd3=0xc8;}else{_0x134bd3=0xce;}_0x409ad5[_0x8848('0x19')](_0x134bd3);return _0x409ad5[_0x8848('0x1e')](_0x8848('0x1f'),_0x22011f+'-'+_0x320449+'/'+_0x3b30b0)[_0x8848('0x1b')](_0x4265c5);}return null;};}function patchUpdates(_0x3aa318){return function(_0x12433f){try{jsonpatch[_0x8848('0x20')](_0x12433f,_0x3aa318,!![]);}catch(_0x578c81){return BPromise['reject'](_0x578c81);}return _0x12433f[_0x8848('0x21')]();};}function saveUpdates(_0x425ac6,_0x362951){return function(_0x57a877){if(_0x57a877){return _0x57a877[_0x8848('0x22')](_0x425ac6)[_0x8848('0x23')](function(_0x97be0f){return _0x97be0f;});}return null;};}function removeEntity(_0x5a4886,_0x37d429){return function(_0x53ae55){if(_0x53ae55){return _0x53ae55['destroy']()[_0x8848('0x23')](function(){_0x5a4886['status'](0xcc)[_0x8848('0x1a')]();});}};}function handleEntityNotFound(_0x288fab,_0x3c5298){return function(_0x5ae862){if(!_0x5ae862){_0x288fab[_0x8848('0x18')](0x194);}return _0x5ae862;};}function handleError(_0x5e1464,_0xfb6e16){_0xfb6e16=_0xfb6e16||0x1f4;return function(_0x3171fd){logger[_0x8848('0x24')](_0x3171fd['stack']);if(_0x3171fd['name']){delete _0x3171fd[_0x8848('0x25')];}_0x5e1464['status'](_0xfb6e16)[_0x8848('0x26')](_0x3171fd);};}exports[_0x8848('0x27')]=function(_0x18e13c,_0x3fc86d){var _0x51026d={},_0x61dfb6={},_0x5612b2={'count':0x0,'rows':[]};var _0x467873=_[_0x8848('0x28')](db['OpenchannelTransferReport'][_0x8848('0x29')],function(_0x4a111d){return{'name':_0x4a111d['fieldName'],'type':_0x4a111d[_0x8848('0x2a')]['key']};});_0x61dfb6['model']=_[_0x8848('0x28')](_0x467873,_0x8848('0x25'));_0x61dfb6[_0x8848('0x2b')]=_['keys'](_0x18e13c[_0x8848('0x2b')]);_0x61dfb6[_0x8848('0x2c')]=_[_0x8848('0x2d')](_0x61dfb6[_0x8848('0x2e')],_0x61dfb6['query']);_0x51026d['attributes']=_['intersection'](_0x61dfb6[_0x8848('0x2e')],qs[_0x8848('0x2f')](_0x18e13c[_0x8848('0x2b')]['fields']));_0x51026d[_0x8848('0x30')]=_0x51026d[_0x8848('0x30')][_0x8848('0x31')]?_0x51026d[_0x8848('0x30')]:_0x61dfb6[_0x8848('0x2e')];if(!_0x18e13c['query']['hasOwnProperty']('nolimit')){_0x51026d['limit']=qs[_0x8848('0x1d')](_0x18e13c[_0x8848('0x2b')][_0x8848('0x1d')]);_0x51026d[_0x8848('0x1c')]=qs[_0x8848('0x1c')](_0x18e13c['query'][_0x8848('0x1c')]);}_0x51026d[_0x8848('0x32')]=qs['sort'](_0x18e13c[_0x8848('0x2b')]['sort']);_0x51026d[_0x8848('0x33')]=qs['filters'](_[_0x8848('0x34')](_0x18e13c[_0x8848('0x2b')],_0x61dfb6[_0x8848('0x2c')]),_0x467873);if(_0x18e13c[_0x8848('0x2b')][_0x8848('0x35')]){_0x51026d[_0x8848('0x33')]=_[_0x8848('0x36')](_0x51026d['where'],{'$or':_['map'](_0x467873,function(_0x5138fc){if(_0x5138fc[_0x8848('0x2a')]!==_0x8848('0x37')){var _0x26b03d={};_0x26b03d[_0x5138fc[_0x8848('0x25')]]={'$like':'%'+_0x18e13c[_0x8848('0x2b')][_0x8848('0x35')]+'%'};return _0x26b03d;}})});}_0x51026d=_[_0x8848('0x36')]({},_0x51026d,_0x18e13c[_0x8848('0x38')]);var _0x1b5726={'where':_0x51026d[_0x8848('0x33')]};return db[_0x8848('0x39')][_0x8848('0x3a')](_0x1b5726)[_0x8848('0x23')](function(_0x30f2b0){_0x5612b2['count']=_0x30f2b0;if(_0x18e13c['query'][_0x8848('0x3b')]){_0x51026d[_0x8848('0x3c')]=[{'all':!![]}];}return db['OpenchannelTransferReport'][_0x8848('0x3d')](_0x51026d);})[_0x8848('0x23')](function(_0x19d52d){_0x5612b2[_0x8848('0x3e')]=_0x19d52d;return _0x5612b2;})[_0x8848('0x23')](respondWithFilteredResult(_0x3fc86d,_0x51026d))['catch'](handleError(_0x3fc86d,null));};exports[_0x8848('0x3f')]=function(_0x20fed2,_0x5e0c96){var _0x57085b={'raw':!![],'where':{'id':_0x20fed2['params']['id']}},_0x1bc174={};_0x1bc174['model']=_[_0x8848('0x40')](db[_0x8848('0x39')]['rawAttributes']);_0x1bc174[_0x8848('0x2b')]=_[_0x8848('0x40')](_0x20fed2['query']);_0x1bc174[_0x8848('0x2c')]=_[_0x8848('0x2d')](_0x1bc174[_0x8848('0x2e')],_0x1bc174[_0x8848('0x2b')]);_0x57085b[_0x8848('0x30')]=_[_0x8848('0x2d')](_0x1bc174[_0x8848('0x2e')],qs[_0x8848('0x2f')](_0x20fed2['query']['fields']));_0x57085b['attributes']=_0x57085b['attributes'][_0x8848('0x31')]?_0x57085b[_0x8848('0x30')]:_0x1bc174[_0x8848('0x2e')];if(_0x20fed2[_0x8848('0x2b')][_0x8848('0x3b')]){_0x57085b[_0x8848('0x3c')]=[{'all':!![]}];}_0x57085b=_[_0x8848('0x36')]({},_0x57085b,_0x20fed2[_0x8848('0x38')]);return db['OpenchannelTransferReport'][_0x8848('0x41')](_0x57085b)['then'](handleEntityNotFound(_0x5e0c96,null))[_0x8848('0x23')](respondWithResult(_0x5e0c96,null))[_0x8848('0x42')](handleError(_0x5e0c96,null));};exports[_0x8848('0x43')]=function(_0x140027,_0x11f477){return db[_0x8848('0x39')][_0x8848('0x43')](_0x140027[_0x8848('0x44')],{})[_0x8848('0x23')](respondWithResult(_0x11f477,0xc9))['catch'](handleError(_0x11f477,null));};exports['update']=function(_0x1463d4,_0x32dc20){if(_0x1463d4[_0x8848('0x44')]['id']){delete _0x1463d4[_0x8848('0x44')]['id'];}return db[_0x8848('0x39')]['find']({'where':{'id':_0x1463d4[_0x8848('0x45')]['id']}})[_0x8848('0x23')](handleEntityNotFound(_0x32dc20,null))[_0x8848('0x23')](saveUpdates(_0x1463d4[_0x8848('0x44')],null))[_0x8848('0x23')](respondWithResult(_0x32dc20,null))[_0x8848('0x42')](handleError(_0x32dc20,null));};exports[_0x8848('0x46')]=function(_0x254099,_0x9883b9){return db[_0x8848('0x39')]['find']({'where':{'id':_0x254099[_0x8848('0x45')]['id']}})[_0x8848('0x23')](handleEntityNotFound(_0x9883b9,null))[_0x8848('0x23')](removeEntity(_0x9883b9,null))[_0x8848('0x42')](handleError(_0x9883b9,null));};exports[_0x8848('0x47')]=function(_0x127e62,_0x231687){return db['OpenchannelTransferReport'][_0x8848('0x47')]()[_0x8848('0x23')](respondWithResult(_0x231687,null))[_0x8848('0x42')](handleError(_0x231687,null));};
\ No newline at end of file
+var _0xc210=['keys','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','show','params','length','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','set','apply','reject','update','destroy','then','end','sendStatus','error','stack','name','send','index','map','OpenchannelTransferReport','rawAttributes','fieldName','type','key','model','query'];(function(_0x1f75f6,_0x3654e1){var _0x5c06c1=function(_0x21b3ba){while(--_0x21b3ba){_0x1f75f6['push'](_0x1f75f6['shift']());}};_0x5c06c1(++_0x3654e1);}(_0xc210,0xfe));var _0x0c21=function(_0x582e57,_0x85fded){_0x582e57=_0x582e57-0x0;var _0xfef0e6=_0xc210[_0x582e57];return _0xfef0e6;};'use strict';var emlformat=require(_0x0c21('0x0'));var rimraf=require(_0x0c21('0x1'));var zipdir=require(_0x0c21('0x2'));var jsonpatch=require(_0x0c21('0x3'));var rp=require(_0x0c21('0x4'));var moment=require(_0x0c21('0x5'));var BPromise=require(_0x0c21('0x6'));var Mustache=require(_0x0c21('0x7'));var util=require(_0x0c21('0x8'));var path=require(_0x0c21('0x9'));var sox=require(_0x0c21('0xa'));var csv=require(_0x0c21('0xb'));var ejs=require(_0x0c21('0xc'));var fs=require('fs');var fs_extra=require(_0x0c21('0xd'));var _=require('lodash');var squel=require(_0x0c21('0xe'));var crypto=require(_0x0c21('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x0c21('0x10'));var toCsv=require(_0x0c21('0xb'));var querystring=require(_0x0c21('0x11'));var Papa=require(_0x0c21('0x12'));var Redis=require('ioredis');var authService=require(_0x0c21('0x13'));var qs=require(_0x0c21('0x14'));var as=require(_0x0c21('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0c21('0x16'))(_0x0c21('0x17'));var utils=require('../../config/utils');var config=require(_0x0c21('0x18'));var licenseUtil=require(_0x0c21('0x19'));var db=require(_0x0c21('0x1a'))['db'];function respondWithStatusCode(_0x408498,_0x1d6ee6){_0x1d6ee6=_0x1d6ee6||0xcc;return function(_0x34ba6e){if(_0x34ba6e){return _0x408498['sendStatus'](_0x1d6ee6);}return _0x408498[_0x0c21('0x1b')](_0x1d6ee6)['end']();};}function respondWithResult(_0x84eb2e,_0x6b4688){_0x6b4688=_0x6b4688||0xc8;return function(_0x4b6efe){if(_0x4b6efe){return _0x84eb2e[_0x0c21('0x1b')](_0x6b4688)[_0x0c21('0x1c')](_0x4b6efe);}};}function respondWithFilteredResult(_0x3ac4be,_0x7633da){return function(_0x518ca3){if(_0x518ca3){var _0x2d13f2=typeof _0x7633da[_0x0c21('0x1d')]===_0x0c21('0x1e')&&typeof _0x7633da[_0x0c21('0x1f')]==='undefined';var _0x596008=_0x518ca3[_0x0c21('0x20')];var _0x17d950=_0x2d13f2?0x0:_0x7633da['offset'];var _0x9130f7=_0x2d13f2?_0x518ca3['count']:_0x7633da['offset']+_0x7633da['limit'];var _0x2593b9;if(_0x9130f7>=_0x596008){_0x9130f7=_0x596008;_0x2593b9=0xc8;}else{_0x2593b9=0xce;}_0x3ac4be['status'](_0x2593b9);return _0x3ac4be[_0x0c21('0x21')]('Content-Range',_0x17d950+'-'+_0x9130f7+'/'+_0x596008)[_0x0c21('0x1c')](_0x518ca3);}return null;};}function patchUpdates(_0x426278){return function(_0x40d29a){try{jsonpatch[_0x0c21('0x22')](_0x40d29a,_0x426278,!![]);}catch(_0x215c55){return BPromise[_0x0c21('0x23')](_0x215c55);}return _0x40d29a['save']();};}function saveUpdates(_0x19d2f5,_0x51a381){return function(_0x441296){if(_0x441296){return _0x441296[_0x0c21('0x24')](_0x19d2f5)['then'](function(_0x544b82){return _0x544b82;});}return null;};}function removeEntity(_0x557e44,_0x586a10){return function(_0x3ac4db){if(_0x3ac4db){return _0x3ac4db[_0x0c21('0x25')]()[_0x0c21('0x26')](function(){_0x557e44[_0x0c21('0x1b')](0xcc)[_0x0c21('0x27')]();});}};}function handleEntityNotFound(_0x35d5e7,_0x1b95aa){return function(_0x96404){if(!_0x96404){_0x35d5e7[_0x0c21('0x28')](0x194);}return _0x96404;};}function handleError(_0x1c0f1e,_0x582745){_0x582745=_0x582745||0x1f4;return function(_0x2a6d29){logger[_0x0c21('0x29')](_0x2a6d29[_0x0c21('0x2a')]);if(_0x2a6d29['name']){delete _0x2a6d29[_0x0c21('0x2b')];}_0x1c0f1e['status'](_0x582745)[_0x0c21('0x2c')](_0x2a6d29);};}exports[_0x0c21('0x2d')]=function(_0x5a9f05,_0x90b22d){var _0x23edca={},_0x430612={},_0x2a1eaa={'count':0x0,'rows':[]};var _0x4d2fa7=_[_0x0c21('0x2e')](db[_0x0c21('0x2f')][_0x0c21('0x30')],function(_0x2fa625){return{'name':_0x2fa625[_0x0c21('0x31')],'type':_0x2fa625[_0x0c21('0x32')][_0x0c21('0x33')]};});_0x430612[_0x0c21('0x34')]=_[_0x0c21('0x2e')](_0x4d2fa7,_0x0c21('0x2b'));_0x430612[_0x0c21('0x35')]=_[_0x0c21('0x36')](_0x5a9f05[_0x0c21('0x35')]);_0x430612['filters']=_[_0x0c21('0x37')](_0x430612[_0x0c21('0x34')],_0x430612[_0x0c21('0x35')]);_0x23edca[_0x0c21('0x38')]=_['intersection'](_0x430612[_0x0c21('0x34')],qs[_0x0c21('0x39')](_0x5a9f05[_0x0c21('0x35')]['fields']));_0x23edca['attributes']=_0x23edca[_0x0c21('0x38')]['length']?_0x23edca[_0x0c21('0x38')]:_0x430612[_0x0c21('0x34')];if(!_0x5a9f05[_0x0c21('0x35')][_0x0c21('0x3a')](_0x0c21('0x3b'))){_0x23edca['limit']=qs[_0x0c21('0x1f')](_0x5a9f05[_0x0c21('0x35')][_0x0c21('0x1f')]);_0x23edca['offset']=qs['offset'](_0x5a9f05['query']['offset']);}_0x23edca['order']=qs[_0x0c21('0x3c')](_0x5a9f05[_0x0c21('0x35')][_0x0c21('0x3c')]);_0x23edca[_0x0c21('0x3d')]=qs[_0x0c21('0x3e')](_[_0x0c21('0x3f')](_0x5a9f05[_0x0c21('0x35')],_0x430612[_0x0c21('0x3e')]),_0x4d2fa7);if(_0x5a9f05['query'][_0x0c21('0x40')]){_0x23edca[_0x0c21('0x3d')]=_['merge'](_0x23edca['where'],{'$or':_[_0x0c21('0x2e')](_0x4d2fa7,function(_0x2ee356){if(_0x2ee356[_0x0c21('0x32')]!==_0x0c21('0x41')){var _0x40fcf3={};_0x40fcf3[_0x2ee356[_0x0c21('0x2b')]]={'$like':'%'+_0x5a9f05[_0x0c21('0x35')]['filter']+'%'};return _0x40fcf3;}})});}_0x23edca=_[_0x0c21('0x42')]({},_0x23edca,_0x5a9f05[_0x0c21('0x43')]);var _0x2aa170={'where':_0x23edca[_0x0c21('0x3d')]};return db['OpenchannelTransferReport'][_0x0c21('0x20')](_0x2aa170)[_0x0c21('0x26')](function(_0xaa0885){_0x2a1eaa['count']=_0xaa0885;if(_0x5a9f05[_0x0c21('0x35')][_0x0c21('0x44')]){_0x23edca[_0x0c21('0x45')]=[{'all':!![]}];}return db['OpenchannelTransferReport']['findAll'](_0x23edca);})[_0x0c21('0x26')](function(_0x55a1ef){_0x2a1eaa['rows']=_0x55a1ef;return _0x2a1eaa;})[_0x0c21('0x26')](respondWithFilteredResult(_0x90b22d,_0x23edca))['catch'](handleError(_0x90b22d,null));};exports[_0x0c21('0x46')]=function(_0x2a699a,_0x3843e4){var _0x1a7c02={'raw':!![],'where':{'id':_0x2a699a[_0x0c21('0x47')]['id']}},_0x49a844={};_0x49a844[_0x0c21('0x34')]=_[_0x0c21('0x36')](db['OpenchannelTransferReport'][_0x0c21('0x30')]);_0x49a844['query']=_[_0x0c21('0x36')](_0x2a699a[_0x0c21('0x35')]);_0x49a844[_0x0c21('0x3e')]=_['intersection'](_0x49a844[_0x0c21('0x34')],_0x49a844['query']);_0x1a7c02[_0x0c21('0x38')]=_[_0x0c21('0x37')](_0x49a844['model'],qs[_0x0c21('0x39')](_0x2a699a[_0x0c21('0x35')][_0x0c21('0x39')]));_0x1a7c02['attributes']=_0x1a7c02[_0x0c21('0x38')][_0x0c21('0x48')]?_0x1a7c02[_0x0c21('0x38')]:_0x49a844['model'];if(_0x2a699a[_0x0c21('0x35')]['includeAll']){_0x1a7c02[_0x0c21('0x45')]=[{'all':!![]}];}_0x1a7c02=_['merge']({},_0x1a7c02,_0x2a699a['options']);return db['OpenchannelTransferReport'][_0x0c21('0x49')](_0x1a7c02)['then'](handleEntityNotFound(_0x3843e4,null))[_0x0c21('0x26')](respondWithResult(_0x3843e4,null))[_0x0c21('0x4a')](handleError(_0x3843e4,null));};exports[_0x0c21('0x4b')]=function(_0x58cec2,_0x1f855a){return db['OpenchannelTransferReport'][_0x0c21('0x4b')](_0x58cec2[_0x0c21('0x4c')],{})[_0x0c21('0x26')](respondWithResult(_0x1f855a,0xc9))['catch'](handleError(_0x1f855a,null));};exports['update']=function(_0x2e2a0c,_0x36df7a){if(_0x2e2a0c[_0x0c21('0x4c')]['id']){delete _0x2e2a0c['body']['id'];}return db[_0x0c21('0x2f')][_0x0c21('0x49')]({'where':{'id':_0x2e2a0c[_0x0c21('0x47')]['id']}})[_0x0c21('0x26')](handleEntityNotFound(_0x36df7a,null))[_0x0c21('0x26')](saveUpdates(_0x2e2a0c[_0x0c21('0x4c')],null))[_0x0c21('0x26')](respondWithResult(_0x36df7a,null))[_0x0c21('0x4a')](handleError(_0x36df7a,null));};exports[_0x0c21('0x25')]=function(_0x2799e4,_0x32c1fc){return db[_0x0c21('0x2f')][_0x0c21('0x49')]({'where':{'id':_0x2799e4[_0x0c21('0x47')]['id']}})['then'](handleEntityNotFound(_0x32c1fc,null))[_0x0c21('0x26')](removeEntity(_0x32c1fc,null))[_0x0c21('0x4a')](handleError(_0x32c1fc,null));};exports['describe']=function(_0x58b1d6,_0x20d3cb){return db[_0x0c21('0x2f')]['describe']()['then'](respondWithResult(_0x20d3cb,null))[_0x0c21('0x4a')](handleError(_0x20d3cb,null));};
\ No newline at end of file