/*jshint node: true */varinserted,Module=require('module'),fs=require('fs'),existingExtFn=Module._extensions['.js'],amdefineRegExp=/amdefine\.js/;inserted="if (typeof define !== 'function') {var define = require('amdefine')(module)}";//From the node/lib/module.js source:functionstripBOM(content){// Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)// because the buffer-to-string conversion in `fs.readFileSync()`// translates it to FEFF, the UTF-16 BOM.if(content.charCodeAt(0)===0xFEFF){content=content.slice(1);}returncontent;}//Also adapted from the node/lib/module.js source:functionintercept(module,filename){varcontent=stripBOM(fs.readFileSync(filename,'utf8'));if(!amdefineRegExp.test(module.id)){content=inserted+content;}module._compile(content,filename);}intercept._id='amdefine/intercept';if(!existingExtFn._id||existingExtFn._id!==intercept._id){Module._extensions['.js']=intercept;}