Built motion from commit da24aabd.|2.6.20
[motion2.git] / server / api / faxApplication / faxApplication.controller.js
index 823a51b..a7addb0 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xaf86=['params','find','catch','create','body','destroy','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../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','undefined','limit','count','apply','reject','save','update','then','error','stack','name','send','index','map','FaxApplication','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','show'];(function(_0x5c72ee,_0x5a8bf8){var _0x231876=function(_0x955276){while(--_0x955276){_0x5c72ee['push'](_0x5c72ee['shift']());}};_0x231876(++_0x5a8bf8);}(_0xaf86,0xa0));var _0x6af8=function(_0x246115,_0x398123){_0x246115=_0x246115-0x0;var _0x385878=_0xaf86[_0x246115];return _0x385878;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6af8('0x0'));var jsonpatch=require(_0x6af8('0x1'));var rp=require(_0x6af8('0x2'));var moment=require(_0x6af8('0x3'));var BPromise=require(_0x6af8('0x4'));var Mustache=require(_0x6af8('0x5'));var util=require('util');var path=require(_0x6af8('0x6'));var sox=require('sox');var csv=require(_0x6af8('0x7'));var ejs=require(_0x6af8('0x8'));var fs=require('fs');var fs_extra=require(_0x6af8('0x9'));var _=require(_0x6af8('0xa'));var squel=require(_0x6af8('0xb'));var crypto=require(_0x6af8('0xc'));var jsforce=require(_0x6af8('0xd'));var deskjs=require(_0x6af8('0xe'));var toCsv=require('to-csv');var querystring=require(_0x6af8('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x6af8('0x10'));var as=require(_0x6af8('0x11'));var hardwareService=require(_0x6af8('0x12'));var logger=require(_0x6af8('0x13'))(_0x6af8('0x14'));var utils=require(_0x6af8('0x15'));var config=require(_0x6af8('0x16'));var licenseUtil=require(_0x6af8('0x17'));var db=require(_0x6af8('0x18'))['db'];function respondWithStatusCode(_0x1ad2ed,_0x5dc90c){_0x5dc90c=_0x5dc90c||0xcc;return function(_0x442d23){if(_0x442d23){return _0x1ad2ed[_0x6af8('0x19')](_0x5dc90c);}return _0x1ad2ed[_0x6af8('0x1a')](_0x5dc90c)[_0x6af8('0x1b')]();};}function respondWithResult(_0x5249d3,_0x54abc6){_0x54abc6=_0x54abc6||0xc8;return function(_0x3f12e4){if(_0x3f12e4){return _0x5249d3[_0x6af8('0x1a')](_0x54abc6)[_0x6af8('0x1c')](_0x3f12e4);}};}function respondWithFilteredResult(_0x4764f2,_0x1b1753){return function(_0x3a95be){if(_0x3a95be){var _0x5c21d5=typeof _0x1b1753[_0x6af8('0x1d')]===_0x6af8('0x1e')&&typeof _0x1b1753[_0x6af8('0x1f')]===_0x6af8('0x1e');var _0xcb7442=_0x3a95be[_0x6af8('0x20')];var _0x4152da=_0x5c21d5?0x0:_0x1b1753['offset'];var _0x15527f=_0x5c21d5?_0x3a95be[_0x6af8('0x20')]:_0x1b1753['offset']+_0x1b1753[_0x6af8('0x1f')];var _0x20fd48;if(_0x15527f>=_0xcb7442){_0x15527f=_0xcb7442;_0x20fd48=0xc8;}else{_0x20fd48=0xce;}_0x4764f2[_0x6af8('0x1a')](_0x20fd48);return _0x4764f2['set']('Content-Range',_0x4152da+'-'+_0x15527f+'/'+_0xcb7442)['json'](_0x3a95be);}return null;};}function patchUpdates(_0x1c183a){return function(_0x158888){try{jsonpatch[_0x6af8('0x21')](_0x158888,_0x1c183a,!![]);}catch(_0x45041b){return BPromise[_0x6af8('0x22')](_0x45041b);}return _0x158888[_0x6af8('0x23')]();};}function saveUpdates(_0x4cd0d6,_0x17f86f){return function(_0x2559e1){if(_0x2559e1){return _0x2559e1[_0x6af8('0x24')](_0x4cd0d6)[_0x6af8('0x25')](function(_0x42b2df){return _0x42b2df;});}return null;};}function removeEntity(_0x3b633e,_0x28fc04){return function(_0x13cd2f){if(_0x13cd2f){return _0x13cd2f['destroy']()[_0x6af8('0x25')](function(){_0x3b633e[_0x6af8('0x1a')](0xcc)[_0x6af8('0x1b')]();});}};}function handleEntityNotFound(_0x32b82d,_0x4fef17){return function(_0x3c8d8f){if(!_0x3c8d8f){_0x32b82d[_0x6af8('0x19')](0x194);}return _0x3c8d8f;};}function handleError(_0x15259f,_0x5546d5){_0x5546d5=_0x5546d5||0x1f4;return function(_0x2157fe){logger[_0x6af8('0x26')](_0x2157fe[_0x6af8('0x27')]);if(_0x2157fe[_0x6af8('0x28')]){delete _0x2157fe[_0x6af8('0x28')];}_0x15259f['status'](_0x5546d5)[_0x6af8('0x29')](_0x2157fe);};}exports[_0x6af8('0x2a')]=function(_0x2dfc0c,_0x1f56b5){var _0x1245fd={},_0x2cdae9={},_0x2c798a={'count':0x0,'rows':[]};var _0x358ed2=_[_0x6af8('0x2b')](db[_0x6af8('0x2c')][_0x6af8('0x2d')],function(_0x501d22){return{'name':_0x501d22[_0x6af8('0x2e')],'type':_0x501d22[_0x6af8('0x2f')][_0x6af8('0x30')]};});_0x2cdae9['model']=_['map'](_0x358ed2,_0x6af8('0x28'));_0x2cdae9[_0x6af8('0x31')]=_[_0x6af8('0x32')](_0x2dfc0c[_0x6af8('0x31')]);_0x2cdae9[_0x6af8('0x33')]=_['intersection'](_0x2cdae9[_0x6af8('0x34')],_0x2cdae9[_0x6af8('0x31')]);_0x1245fd[_0x6af8('0x35')]=_[_0x6af8('0x36')](_0x2cdae9[_0x6af8('0x34')],qs[_0x6af8('0x37')](_0x2dfc0c[_0x6af8('0x31')][_0x6af8('0x37')]));_0x1245fd['attributes']=_0x1245fd[_0x6af8('0x35')][_0x6af8('0x38')]?_0x1245fd[_0x6af8('0x35')]:_0x2cdae9[_0x6af8('0x34')];if(!_0x2dfc0c[_0x6af8('0x31')][_0x6af8('0x39')](_0x6af8('0x3a'))){_0x1245fd[_0x6af8('0x1f')]=qs[_0x6af8('0x1f')](_0x2dfc0c[_0x6af8('0x31')][_0x6af8('0x1f')]);_0x1245fd['offset']=qs['offset'](_0x2dfc0c[_0x6af8('0x31')]['offset']);}_0x1245fd[_0x6af8('0x3b')]=qs[_0x6af8('0x3c')](_0x2dfc0c['query'][_0x6af8('0x3c')]);_0x1245fd[_0x6af8('0x3d')]=qs[_0x6af8('0x33')](_[_0x6af8('0x3e')](_0x2dfc0c['query'],_0x2cdae9[_0x6af8('0x33')]),_0x358ed2);if(_0x2dfc0c[_0x6af8('0x31')][_0x6af8('0x3f')]){_0x1245fd[_0x6af8('0x3d')]=_[_0x6af8('0x40')](_0x1245fd[_0x6af8('0x3d')],{'$or':_[_0x6af8('0x2b')](_0x358ed2,function(_0x36412f){if(_0x36412f['type']!==_0x6af8('0x41')){var _0x196533={};_0x196533[_0x36412f[_0x6af8('0x28')]]={'$like':'%'+_0x2dfc0c[_0x6af8('0x31')][_0x6af8('0x3f')]+'%'};return _0x196533;}})});}_0x1245fd=_[_0x6af8('0x40')]({},_0x1245fd,_0x2dfc0c[_0x6af8('0x42')]);var _0x322a57={'where':_0x1245fd['where']};return db['FaxApplication'][_0x6af8('0x20')](_0x322a57)[_0x6af8('0x25')](function(_0xa7be73){_0x2c798a[_0x6af8('0x20')]=_0xa7be73;if(_0x2dfc0c[_0x6af8('0x31')][_0x6af8('0x43')]){_0x1245fd[_0x6af8('0x44')]=[{'all':!![]}];}return db[_0x6af8('0x2c')]['findAll'](_0x1245fd);})[_0x6af8('0x25')](function(_0x557f1f){_0x2c798a[_0x6af8('0x45')]=_0x557f1f;return _0x2c798a;})[_0x6af8('0x25')](respondWithFilteredResult(_0x1f56b5,_0x1245fd))['catch'](handleError(_0x1f56b5,null));};exports[_0x6af8('0x46')]=function(_0xd6245f,_0x1af73f){var _0x3f1a4a={'raw':!![],'where':{'id':_0xd6245f[_0x6af8('0x47')]['id']}},_0x99838={};_0x99838[_0x6af8('0x34')]=_[_0x6af8('0x32')](db[_0x6af8('0x2c')]['rawAttributes']);_0x99838[_0x6af8('0x31')]=_[_0x6af8('0x32')](_0xd6245f[_0x6af8('0x31')]);_0x99838[_0x6af8('0x33')]=_[_0x6af8('0x36')](_0x99838[_0x6af8('0x34')],_0x99838[_0x6af8('0x31')]);_0x3f1a4a['attributes']=_[_0x6af8('0x36')](_0x99838[_0x6af8('0x34')],qs[_0x6af8('0x37')](_0xd6245f[_0x6af8('0x31')][_0x6af8('0x37')]));_0x3f1a4a['attributes']=_0x3f1a4a[_0x6af8('0x35')]['length']?_0x3f1a4a[_0x6af8('0x35')]:_0x99838[_0x6af8('0x34')];if(_0xd6245f[_0x6af8('0x31')][_0x6af8('0x43')]){_0x3f1a4a['include']=[{'all':!![]}];}_0x3f1a4a=_[_0x6af8('0x40')]({},_0x3f1a4a,_0xd6245f[_0x6af8('0x42')]);return db[_0x6af8('0x2c')][_0x6af8('0x48')](_0x3f1a4a)[_0x6af8('0x25')](handleEntityNotFound(_0x1af73f,null))[_0x6af8('0x25')](respondWithResult(_0x1af73f,null))[_0x6af8('0x49')](handleError(_0x1af73f,null));};exports[_0x6af8('0x4a')]=function(_0x51dbc1,_0x402750){return db[_0x6af8('0x2c')][_0x6af8('0x4a')](_0x51dbc1[_0x6af8('0x4b')],{})[_0x6af8('0x25')](respondWithResult(_0x402750,0xc9))[_0x6af8('0x49')](handleError(_0x402750,null));};exports['update']=function(_0x498e52,_0x317b29){if(_0x498e52[_0x6af8('0x4b')]['id']){delete _0x498e52[_0x6af8('0x4b')]['id'];}return db['FaxApplication'][_0x6af8('0x48')]({'where':{'id':_0x498e52[_0x6af8('0x47')]['id']}})['then'](handleEntityNotFound(_0x317b29,null))[_0x6af8('0x25')](saveUpdates(_0x498e52[_0x6af8('0x4b')],null))[_0x6af8('0x25')](respondWithResult(_0x317b29,null))[_0x6af8('0x49')](handleError(_0x317b29,null));};exports[_0x6af8('0x4c')]=function(_0x10a8ec,_0x438d7){return db[_0x6af8('0x2c')][_0x6af8('0x48')]({'where':{'id':_0x10a8ec[_0x6af8('0x47')]['id']}})[_0x6af8('0x25')](handleEntityNotFound(_0x438d7,null))[_0x6af8('0x25')](removeEntity(_0x438d7,null))[_0x6af8('0x49')](handleError(_0x438d7,null));};
\ No newline at end of file
+var _0x26e1=['FaxApplication','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','body','params','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','apply','reject','save','update','then','destroy','error','name','send','map'];(function(_0x51a85c,_0x2660a3){var _0x55001f=function(_0x39ec46){while(--_0x39ec46){_0x51a85c['push'](_0x51a85c['shift']());}};_0x55001f(++_0x2660a3);}(_0x26e1,0x6c));var _0x126e=function(_0x248f0f,_0x4e066b){_0x248f0f=_0x248f0f-0x0;var _0x2a233c=_0x26e1[_0x248f0f];return _0x2a233c;};'use strict';var emlformat=require(_0x126e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x126e('0x1'));var jsonpatch=require(_0x126e('0x2'));var rp=require(_0x126e('0x3'));var moment=require(_0x126e('0x4'));var BPromise=require(_0x126e('0x5'));var Mustache=require(_0x126e('0x6'));var util=require(_0x126e('0x7'));var path=require(_0x126e('0x8'));var sox=require('sox');var csv=require(_0x126e('0x9'));var ejs=require(_0x126e('0xa'));var fs=require('fs');var fs_extra=require(_0x126e('0xb'));var _=require(_0x126e('0xc'));var squel=require('squel');var crypto=require(_0x126e('0xd'));var jsforce=require(_0x126e('0xe'));var deskjs=require(_0x126e('0xf'));var toCsv=require('to-csv');var querystring=require(_0x126e('0x10'));var Papa=require(_0x126e('0x11'));var Redis=require(_0x126e('0x12'));var authService=require(_0x126e('0x13'));var qs=require(_0x126e('0x14'));var as=require(_0x126e('0x15'));var hardwareService=require(_0x126e('0x16'));var logger=require('../../config/logger')(_0x126e('0x17'));var utils=require(_0x126e('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x126e('0x19'));var db=require(_0x126e('0x1a'))['db'];function respondWithStatusCode(_0xc5923f,_0x4852fa){_0x4852fa=_0x4852fa||0xcc;return function(_0x1d4f01){if(_0x1d4f01){return _0xc5923f[_0x126e('0x1b')](_0x4852fa);}return _0xc5923f[_0x126e('0x1c')](_0x4852fa)[_0x126e('0x1d')]();};}function respondWithResult(_0x2a237d,_0x2a795d){_0x2a795d=_0x2a795d||0xc8;return function(_0x8522b4){if(_0x8522b4){return _0x2a237d[_0x126e('0x1c')](_0x2a795d)[_0x126e('0x1e')](_0x8522b4);}};}function respondWithFilteredResult(_0x5bbf9b,_0x35ff62){return function(_0x1da8a7){if(_0x1da8a7){var _0x2115fe=typeof _0x35ff62['offset']===_0x126e('0x1f')&&typeof _0x35ff62['limit']===_0x126e('0x1f');var _0x1f9424=_0x1da8a7[_0x126e('0x20')];var _0x17c9b3=_0x2115fe?0x0:_0x35ff62[_0x126e('0x21')];var _0x2b72f9=_0x2115fe?_0x1da8a7[_0x126e('0x20')]:_0x35ff62[_0x126e('0x21')]+_0x35ff62[_0x126e('0x22')];var _0x44a3fa;if(_0x2b72f9>=_0x1f9424){_0x2b72f9=_0x1f9424;_0x44a3fa=0xc8;}else{_0x44a3fa=0xce;}_0x5bbf9b['status'](_0x44a3fa);return _0x5bbf9b[_0x126e('0x23')]('Content-Range',_0x17c9b3+'-'+_0x2b72f9+'/'+_0x1f9424)[_0x126e('0x1e')](_0x1da8a7);}return null;};}function patchUpdates(_0x536c63){return function(_0x410b18){try{jsonpatch[_0x126e('0x24')](_0x410b18,_0x536c63,!![]);}catch(_0x594587){return BPromise[_0x126e('0x25')](_0x594587);}return _0x410b18[_0x126e('0x26')]();};}function saveUpdates(_0x1e99ee,_0x247656){return function(_0x5ba4c1){if(_0x5ba4c1){return _0x5ba4c1[_0x126e('0x27')](_0x1e99ee)[_0x126e('0x28')](function(_0x15e946){return _0x15e946;});}return null;};}function removeEntity(_0x51c87b,_0x1519c8){return function(_0x706391){if(_0x706391){return _0x706391[_0x126e('0x29')]()[_0x126e('0x28')](function(){_0x51c87b[_0x126e('0x1c')](0xcc)[_0x126e('0x1d')]();});}};}function handleEntityNotFound(_0x3bb524,_0x497309){return function(_0x1afb1a){if(!_0x1afb1a){_0x3bb524[_0x126e('0x1b')](0x194);}return _0x1afb1a;};}function handleError(_0x4c0457,_0x458a7c){_0x458a7c=_0x458a7c||0x1f4;return function(_0x555969){logger[_0x126e('0x2a')](_0x555969['stack']);if(_0x555969[_0x126e('0x2b')]){delete _0x555969[_0x126e('0x2b')];}_0x4c0457[_0x126e('0x1c')](_0x458a7c)[_0x126e('0x2c')](_0x555969);};}exports['index']=function(_0x2e2429,_0x15175e){var _0x185e93={},_0x298506={},_0x4bb790={'count':0x0,'rows':[]};var _0x293188=_[_0x126e('0x2d')](db[_0x126e('0x2e')]['rawAttributes'],function(_0x3667e1){return{'name':_0x3667e1[_0x126e('0x2f')],'type':_0x3667e1[_0x126e('0x30')][_0x126e('0x31')]};});_0x298506[_0x126e('0x32')]=_[_0x126e('0x2d')](_0x293188,_0x126e('0x2b'));_0x298506[_0x126e('0x33')]=_[_0x126e('0x34')](_0x2e2429['query']);_0x298506[_0x126e('0x35')]=_[_0x126e('0x36')](_0x298506[_0x126e('0x32')],_0x298506[_0x126e('0x33')]);_0x185e93[_0x126e('0x37')]=_[_0x126e('0x36')](_0x298506['model'],qs[_0x126e('0x38')](_0x2e2429['query'][_0x126e('0x38')]));_0x185e93[_0x126e('0x37')]=_0x185e93[_0x126e('0x37')][_0x126e('0x39')]?_0x185e93[_0x126e('0x37')]:_0x298506[_0x126e('0x32')];if(!_0x2e2429['query'][_0x126e('0x3a')](_0x126e('0x3b'))){_0x185e93['limit']=qs[_0x126e('0x22')](_0x2e2429[_0x126e('0x33')][_0x126e('0x22')]);_0x185e93[_0x126e('0x21')]=qs['offset'](_0x2e2429[_0x126e('0x33')][_0x126e('0x21')]);}_0x185e93[_0x126e('0x3c')]=qs[_0x126e('0x3d')](_0x2e2429['query'][_0x126e('0x3d')]);_0x185e93['where']=qs[_0x126e('0x35')](_[_0x126e('0x3e')](_0x2e2429['query'],_0x298506[_0x126e('0x35')]),_0x293188);if(_0x2e2429[_0x126e('0x33')][_0x126e('0x3f')]){_0x185e93[_0x126e('0x40')]=_[_0x126e('0x41')](_0x185e93['where'],{'$or':_['map'](_0x293188,function(_0x119aa0){if(_0x119aa0[_0x126e('0x30')]!==_0x126e('0x42')){var _0x4f26ac={};_0x4f26ac[_0x119aa0[_0x126e('0x2b')]]={'$like':'%'+_0x2e2429[_0x126e('0x33')][_0x126e('0x3f')]+'%'};return _0x4f26ac;}})});}_0x185e93=_[_0x126e('0x41')]({},_0x185e93,_0x2e2429[_0x126e('0x43')]);var _0x26846f={'where':_0x185e93[_0x126e('0x40')]};return db[_0x126e('0x2e')][_0x126e('0x20')](_0x26846f)[_0x126e('0x28')](function(_0x59e652){_0x4bb790[_0x126e('0x20')]=_0x59e652;if(_0x2e2429[_0x126e('0x33')][_0x126e('0x44')]){_0x185e93[_0x126e('0x45')]=[{'all':!![]}];}return db[_0x126e('0x2e')][_0x126e('0x46')](_0x185e93);})['then'](function(_0x1eb677){_0x4bb790[_0x126e('0x47')]=_0x1eb677;return _0x4bb790;})[_0x126e('0x28')](respondWithFilteredResult(_0x15175e,_0x185e93))[_0x126e('0x48')](handleError(_0x15175e,null));};exports[_0x126e('0x49')]=function(_0x411024,_0x412adf){var _0x235e63={'raw':!![],'where':{'id':_0x411024['params']['id']}},_0x4bdd59={};_0x4bdd59['model']=_['keys'](db[_0x126e('0x2e')]['rawAttributes']);_0x4bdd59['query']=_[_0x126e('0x34')](_0x411024['query']);_0x4bdd59['filters']=_[_0x126e('0x36')](_0x4bdd59[_0x126e('0x32')],_0x4bdd59[_0x126e('0x33')]);_0x235e63['attributes']=_['intersection'](_0x4bdd59[_0x126e('0x32')],qs[_0x126e('0x38')](_0x411024['query'][_0x126e('0x38')]));_0x235e63['attributes']=_0x235e63['attributes'][_0x126e('0x39')]?_0x235e63['attributes']:_0x4bdd59[_0x126e('0x32')];if(_0x411024[_0x126e('0x33')]['includeAll']){_0x235e63['include']=[{'all':!![]}];}_0x235e63=_['merge']({},_0x235e63,_0x411024[_0x126e('0x43')]);return db[_0x126e('0x2e')][_0x126e('0x4a')](_0x235e63)[_0x126e('0x28')](handleEntityNotFound(_0x412adf,null))[_0x126e('0x28')](respondWithResult(_0x412adf,null))[_0x126e('0x48')](handleError(_0x412adf,null));};exports['create']=function(_0x416ac7,_0x4871e6){return db[_0x126e('0x2e')]['create'](_0x416ac7[_0x126e('0x4b')],{})[_0x126e('0x28')](respondWithResult(_0x4871e6,0xc9))[_0x126e('0x48')](handleError(_0x4871e6,null));};exports[_0x126e('0x27')]=function(_0x530bca,_0x5be207){if(_0x530bca[_0x126e('0x4b')]['id']){delete _0x530bca[_0x126e('0x4b')]['id'];}return db[_0x126e('0x2e')][_0x126e('0x4a')]({'where':{'id':_0x530bca['params']['id']}})['then'](handleEntityNotFound(_0x5be207,null))[_0x126e('0x28')](saveUpdates(_0x530bca[_0x126e('0x4b')],null))['then'](respondWithResult(_0x5be207,null))['catch'](handleError(_0x5be207,null));};exports[_0x126e('0x29')]=function(_0x5a10b5,_0x427283){return db[_0x126e('0x2e')][_0x126e('0x4a')]({'where':{'id':_0x5a10b5[_0x126e('0x4c')]['id']}})['then'](handleEntityNotFound(_0x427283,null))[_0x126e('0x28')](removeEntity(_0x427283,null))['catch'](handleError(_0x427283,null));};
\ No newline at end of file