===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
oca-core-11.0.20191007/odoo/models.py-4346-    # An instance represents an ordered collection of records in a given
oca-core-11.0.20191007/odoo/models.py:4347:    # execution environment. The instance object refers to the environment, and
oca-core-11.0.20191007/odoo/models.py-4348-    # the records themselves are represented by their cache dictionary. The 'id'
##############################################
oca-core-11.0.20191007/odoo/addons/mail/models/mail_template.py-328-    def render_template(self, template_txt, model, res_ids, post_process=False):
oca-core-11.0.20191007/odoo/addons/mail/models/mail_template.py:329:        """ Render the given template text, replace mako expressions ``${expr}``
oca-core-11.0.20191007/odoo/addons/mail/models/mail_template.py-330-        with the result of evaluating these expressions with an evaluation
##############################################
oca-core-11.0.20191007/odoo/addons/mail/models/mail_message.py-30-        if self.env.user.email:
oca-core-11.0.20191007/odoo/addons/mail/models/mail_message.py:31:            return formataddr((self.env.user.name, self.env.user.email))
oca-core-11.0.20191007/odoo/addons/mail/models/mail_message.py-32-        raise UserError(_("Unable to send email, please configure the sender's email address."))
##############################################
oca-core-11.0.20191007/odoo/addons/mail/models/mail_mail.py-188-        if partner:
oca-core-11.0.20191007/odoo/addons/mail/models/mail_mail.py:189:            email_to = [formataddr((partner.name or 'False', partner.email or 'False'))]
oca-core-11.0.20191007/odoo/addons/mail/models/mail_mail.py-190-        else:
##############################################
oca-core-11.0.20191007/odoo/addons/mail/models/mail_thread.py-790-                email_addr = aliases[res_id]
oca-core-11.0.20191007/odoo/addons/mail/models/mail_thread.py:791:                res[res_id] = formataddr((email_name, email_addr))
oca-core-11.0.20191007/odoo/addons/mail/models/mail_thread.py-792-        left_ids = set(res_ids).difference(set(aliases))
##############################################
oca-core-11.0.20191007/odoo/addons/mail/models/mail_channel.py-235-            return {
oca-core-11.0.20191007/odoo/addons/mail/models/mail_channel.py:236:                'email_to': ','.join(formataddr((partner.name, partner.email)) for partner in self.env['res.partner'].sudo().browse(recipient_ids)),
oca-core-11.0.20191007/odoo/addons/mail/models/mail_channel.py-237-                'recipient_ids': [],
##############################################
oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py-128-                set(email['email_to']),
oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py:129:                set([formataddr((self.user_employee.name, self.user_employee.email)), formataddr((self.user_portal.name, self.user_portal.email))]))
oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py-130-
##############################################
oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py-141-                email['email_to'][0],
oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py:142:                [formataddr((self.user_employee.name, self.user_employee.email)), formataddr((self.user_portal.name, self.user_portal.email))])
##############################################
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-63-Object:
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:64: - this.``$target``:
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-65-   block html inserted inside the page
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:66: - this.``$el``:
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-67-   html li list of this options
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:68: - this.``$overlay``:
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-69-   html editor overlay who content resize bar, customize menu...
##############################################
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-101-
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:102: - ``check_class(type, className, $li)``:
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-103-   li must have data-check_class="a_classname_for_test" to call this method. This method
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-104-   toggle the className on $target
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:105: - ``selectClass(type, className, $li)``:
oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-106-   This method remove all other selectClass value (for this option) and add this current ClassName
##############################################
oca-core-11.0.20191007/odoo/addons/website/static/src/js/content/snippets.animation.js-251-     * instance of this animation on page load for each DOM element which
oca-core-11.0.20191007/odoo/addons/website/static/src/js/content/snippets.animation.js:252:     * matches this selector. The `Animation.$target` element will then be that
oca-core-11.0.20191007/odoo/addons/website/static/src/js/content/snippets.animation.js-253-     * particular DOM element. This should be the main way of instantiating
##############################################
oca-core-11.0.20191007/odoo/addons/base/ir/ir_fields.py-101-        By default, tries to get a method on itself with a name matching the
oca-core-11.0.20191007/odoo/addons/base/ir/ir_fields.py:102:        pattern ``_$fromtype_to_$field.type`` and returns it.
oca-core-11.0.20191007/odoo/addons/base/ir/ir_fields.py-103-
##############################################
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-108-    """
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py:109:    def encode_addr(addr):
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-110-        name, email = addr
##############################################
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-125-        try:
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py:126:            return formataddr((name, email))
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-127-        except UnicodeEncodeError:
##############################################
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-132-    addresses = getaddresses([pycompat.to_native(ustr(header_text))])
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py:133:    return COMMASPACE.join(a for a in (encode_addr(addr) for addr in addresses) if a)
oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-134-
##############################################
oca-core-11.0.20191007/odoo/addons/base/res/res_partner.py-375-        for partner in self:
oca-core-11.0.20191007/odoo/addons/base/res/res_partner.py:376:            partner.email_formatted = formataddr((partner.name or u"False", partner.email or u"False"))
oca-core-11.0.20191007/odoo/addons/base/res/res_partner.py-377-
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-52-
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst:53:    ``.oe_list_field_$type``
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-54-
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst:55:        Additional class for the precise type of the cell, ``$type``
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-56-        is the field's @widget if there is one, otherwise it's the
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-334-will be forwarded to a method ``keyup_EVENTNAME``, where ``EVENTNAME``
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst:335:is the name of the key in ``$.ui.keyCode``.
oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-336-
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-64-takes over, the template is rendered, inserted in the client DOM,
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst:65:bound on the object's ``$el`` property and the object is started.
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-66-
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-85-    :js:func:`~openerp.web.Widget.start()` executes any asynchronous
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst:86:    code it should return a ``$.Deferred`` so callers know when it's
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-87-    ready for interaction.
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-100-The client action can then behave exactly as it wishes to within its
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst:101:root (``this.$el``). In this case, it performs further renderings once
oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-102-its widget's content is retrieved::
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-32-    return nothing by fetching ``null`` (which can easily be done by
oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst:33:    returning ``$.when(null)``, which simply wraps the ``null`` in a
oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-34-    Deferred).
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-490-  now standard widgets, with the "right" behaviors (they don't rebind
oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst:491:  their ``$element`` in ``start()``)
oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-492-
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-33-* Form *will* render buttons and a pager, offers options to locate
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst:34:  both outside of form itself (``$buttons`` and ``$pager``), providing
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst:35:  empty jquery objects (``$()``) seems to stop displaying both but not
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-36-  sure if there are deleterious side-effects.
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-39-
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst:40:  * Pass in ``$(document.createDocumentFragment)`` to ensure it's a
oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-41-    DOM-compatible tree completely outside of the actual DOM.
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/module.rst-58-automatically made available to web browser at the URL
oca-core-11.0.20191007/odoo/addons/web/doc/module.rst:59:``$module-name/static/$file-path``. This is sufficient to provide
oca-core-11.0.20191007/odoo/addons/web/doc/module.rst-60-pictures (of cats, usually) through your module. However there are
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-39-example in OpenERP is dashboards), queries should be restricted to a
oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst:40:given component's scope. Unfiltered selections such as ``$(selector)``
oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-41-or ``document.querySelectorAll(selector)`` will generally lead to
##############################################
oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-44-OpenERP Web's :js:class:`~openerp.web.Widget` has an attribute
oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst:45:providing its DOM root :js:attr:`Widget.$el <openerp.web.Widget.$el>`,
oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-46-and a shortcut to select nodes directly :js:attr:`Widget.$
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/es5-shim/es5-shim.min.js:1:(function(definition){if(typeof define=="function"){define(definition)}else if(typeof YUI=="function"){YUI.add("es5",definition)}else{definition()}})(function(){function Empty(){}if(!Function.prototype.bind){Function.prototype.bind=function bind(that){var target=this;if(typeof target!="function"){throw new TypeError("Function.prototype.bind called on incompatible "+target)}var args=_Array_slice_.call(arguments,1);var bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(_Array_slice_.call(arguments)));if(Object(result)===result){return result}return this}else{return target.apply(that,args.concat(_Array_slice_.call(arguments)))}};if(target.prototype){Empty.prototype=target.prototype;bound.prototype=new Empty;Empty.prototype=null}return bound}}var call=Function.prototype.call;var prototypeOfArray=Array.prototype;var prototypeOfObject=Object.prototype;var _Array_slice_=prototypeOfArray.slice;var _toString=call.bind(prototypeOfObject.toString);var owns=call.bind(prototypeOfObject.hasOwnProperty);var defineGetter;var defineSetter;var lookupGetter;var lookupSetter;var supportsAccessors;if(supportsAccessors=owns(prototypeOfObject,"__defineGetter__")){defineGetter=call.bind(prototypeOfObject.__defineGetter__);defineSetter=call.bind(prototypeOfObject.__defineSetter__);lookupGetter=call.bind(prototypeOfObject.__lookupGetter__);lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)}if([1,2].splice(0).length!=2){var array_splice=Array.prototype.splice;if(function(){function makeArray(l){var a=[];while(l--){a.unshift(l)}return a}var array=[],lengthBefore;array.splice.bind(array,0,0).apply(null,makeArray(20));array.splice.bind(array,0,0).apply(null,makeArray(26));lengthBefore=array.length;array.splice(5,0,"XXX");if(lengthBefore+1==array.length){return true}}()){Array.prototype.splice=function(start,deleteCount){if(!arguments.length){return[]}else{return array_splice.apply(this,[start===void 0?0:start,deleteCount===void 0?this.length-start:deleteCount].concat(_Array_slice_.call(arguments,2)))}}}else{Array.prototype.splice=function(start,deleteCount){var result,args=_Array_slice_.call(arguments,2),addElementsCount=args.length;if(!arguments.length){return[]}if(start===void 0){start=0}if(deleteCount===void 0){deleteCount=this.length-start}if(addElementsCount>0){if(deleteCount<=0){if(start==this.length){this.push.apply(this,args);return[]}if(start==0){this.unshift.apply(this,args);return[]}}result=_Array_slice_.call(this,start,start+deleteCount);args.push.apply(args,_Array_slice_.call(this,start+deleteCount,this.length));args.unshift.apply(args,_Array_slice_.call(this,0,start));args.unshift(0,this.length);array_splice.apply(this,args);return result}return array_splice.call(this,start,deleteCount)}}}if([].unshift(0)!=1){var array_unshift=Array.prototype.unshift;Array.prototype.unshift=function(){array_unshift.apply(this,arguments);return this.length}}if(!Array.isArray){Array.isArray=function isArray(obj){return _toString(obj)=="[object Array]"}}var boxedString=Object("a"),splitString=boxedString[0]!="a"||!(0 in boxedString);if(!Array.prototype.forEach){Array.prototype.forEach=function forEach(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError}while(++i<length){if(i in self){fun.call(thisp,self[i],i,object)}}}}if(!Array.prototype.map){Array.prototype.map=function map(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self)result[i]=fun.call(thisp,self[i],i,object)}return result}}if(!Array.prototype.filter){Array.prototype.filter=function filter(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,result=[],value,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self){value=self[i];if(fun.call(thisp,value,i,object)){result.push(value)}}}return result}}if(!Array.prototype.every){Array.prototype.every=function every(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self&&!fun.call(thisp,self[i],i,object)){return false}}return true}}if(!Array.prototype.some){Array.prototype.some=function some(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self&&fun.call(thisp,self[i],i,object)){return true}}return false}}if(!Array.prototype.reduce){Array.prototype.reduce=function reduce(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduce of empty array with no initial value")}var i=0;var result;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i++];break}if(++i>=length){throw new TypeError("reduce of empty array with no initial value")}}while(true)}for(;i<length;i++){if(i in self){result=fun.call(void 0,result,self[i],i,object)}}return result}}if(!Array.prototype.reduceRight){Array.prototype.reduceRight=function reduceRight(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduceRight of empty array with no initial value")}var result,i=length-1;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i--];break}if(--i<0){throw new TypeError("reduceRight of empty array with no initial value")}}while(true)}if(i<0){return result}do{if(i in this){result=fun.call(void 0,result,self[i],i,object)}}while(i--);return result}}if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1){Array.prototype.indexOf=function indexOf(sought){var self=splitString&&_toString(this)=="[object String]"?this.split(""):toObject(this),length=self.length>>>0;if(!length){return-1}var i=0;if(arguments.length>1){i=toInteger(arguments[1])}i=i>=0?i:Math.max(0,length+i);for(;i<length;i++){if(i in self&&self[i]===sought){return i}}return-1}}if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1){Array.prototype.lastIndexOf=function lastIndexOf(sought){var self=splitString&&_toString(this)=="[object String]"?this.split(""):toObject(this),length=self.length>>>0;if(!length){return-1}var i=length-1;if(arguments.length>1){i=Math.min(i,toInteger(arguments[1]))}i=i>=0?i:length-Math.abs(i);for(;i>=0;i--){if(i in self&&sought===self[i]){return i}}return-1}}if(!Object.keys){var hasDontEnumBug=true,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null}){hasDontEnumBug=false}Object.keys=function keys(object){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError("Object.keys called on a non-object")}var keys=[];for(var name in object){if(owns(object,name)){keys.push(name)}}if(hasDontEnumBug){for(var i=0,ii=dontEnumsLength;i<ii;i++){var dontEnum=dontEnums[i];if(owns(object,dontEnum)){keys.push(dontEnum)}}}return keys}}var negativeDate=-621987552e5,negativeYearString="-000001";if(!Date.prototype.toISOString||new Date(negativeDate).toISOString().indexOf(negativeYearString)===-1){Date.prototype.toISOString=function toISOString(){var result,length,value,year,month;if(!isFinite(this)){throw new RangeError("Date.prototype.toISOString called on non-finite value.")}year=this.getUTCFullYear();month=this.getUTCMonth();year+=Math.floor(month/12);month=(month%12+12)%12;result=[month+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()];year=(year<0?"-":year>9999?"+":"")+("00000"+Math.abs(year)).slice(0<=year&&year<=9999?-4:-6);length=result.length;while(length--){value=result[length];if(value<10){result[length]="0"+value}}return year+"-"+result.slice(0,2).join("-")+"T"+result.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"}}var dateToJSONIsSupported=false;try{dateToJSONIsSupported=Date.prototype.toJSON&&new Date(NaN).toJSON()===null&&new Date(negativeDate).toJSON().indexOf(negativeYearString)!==-1&&Date.prototype.toJSON.call({toISOString:function(){return true}})}catch(e){}if(!dateToJSONIsSupported){Date.prototype.toJSON=function toJSON(key){var o=Object(this),tv=toPrimitive(o),toISO;if(typeof tv==="number"&&!isFinite(tv)){return null}toISO=o.toISOString;if(typeof toISO!="function"){throw new TypeError("toISOString property is not callable")}return toISO.call(o)}}if(!Date.parse||"Date.parse is buggy"){Date=function(NativeDate){function Date(Y,M,D,h,m,s,ms){var length=arguments.length;if(this instanceof NativeDate){var date=length==1&&String(Y)===Y?new NativeDate(Date.parse(Y)):length>=7?new NativeDate(Y,M,D,h,m,s,ms):length>=6?new NativeDate(Y,M,D,h,m,s):length>=5?new NativeDate(Y,M,D,h,m):length>=4?new NativeDate(Y,M,D,h):length>=3?new NativeDate(Y,M,D):length>=2?new NativeDate(Y,M):length>=1?new NativeDate(Y):new NativeDate;date.constructor=Date;return date}return NativeDate.apply(this,arguments)}var isoDateExpression=new RegExp("^"+"(\\d{4}|[+-]\\d{6})"+"(?:-(\\d{2})"+"(?:-(\\d{2})"+"(?:"+"T(\\d{2})"+":(\\d{2})"+"(?:"+":(\\d{2})"+"(?:(\\.\\d{1,}))?"+")?"+"("+"Z|"+"(?:"+"([-+])"+"(\\d{2})"+":(\\d{2})"+")"+")?)?)?)?"+"$");var months=[0,31,59,90,120,151,181,212,243,273,304,334,365];function dayFromMonth(year,month){var t=month>1?1:0;return months[month]+Math.floor((year-1969+t)/4)-Math.floor((year-1901+t)/100)+Math.floor((year-1601+t)/400)+365*(year-1970)}for(var key in NativeDate){Date[key]=NativeDate[key]}Date.now=NativeDate.now;Date.UTC=NativeDate.UTC;Date.prototype=NativeDate.prototype;Date.prototype.constructor=Date;Date.parse=function parse(string){var match=isoDateExpression.exec(string);if(match){var year=Number(match[1]),month=Number(match[2]||1)-1,day=Number(match[3]||1)-1,hour=Number(match[4]||0),minute=Number(match[5]||0),second=Number(match[6]||0),millisecond=Math.floor(Number(match[7]||0)*1e3),offset=!match[4]||match[8]?0:Number(new NativeDate(1970,0)),signOffset=match[9]==="-"?1:-1,hourOffset=Number(match[10]||0),minuteOffset=Number(match[11]||0),result;if(hour<(minute>0||second>0||millisecond>0?24:25)&&minute<60&&second<60&&millisecond<1e3&&month>-1&&month<12&&hourOffset<24&&minuteOffset<60&&day>-1&&day<dayFromMonth(year,month+1)-dayFromMonth(year,month)){result=((dayFromMonth(year,month)+day)*24+hour+hourOffset*signOffset)*60;result=((result+minute+minuteOffset*signOffset)*60+second)*1e3+millisecond+offset;if(-864e13<=result&&result<=864e13){return result}}return NaN}return NativeDate.parse.apply(this,arguments)};return Date}(Date)}if(!Date.now){Date.now=function now(){return(new Date).getTime()}}if(!Number.prototype.toFixed||8e-5.toFixed(3)!=="0.000"||.9.toFixed(0)==="0"||1.255.toFixed(2)!=="1.25"||0xde0b6b3a7640080.toFixed(0)!=="1000000000000000128"){(function(){var base,size,data,i;base=1e7;size=6;data=[0,0,0,0,0,0];function multiply(n,c){var i=-1;while(++i<size){c+=n*data[i];data[i]=c%base;c=Math.floor(c/base)}}function divide(n){var i=size,c=0;while(--i>=0){c+=data[i];data[i]=Math.floor(c/n);c=c%n*base}}function toString(){var i=size;var s="";while(--i>=0){if(s!==""||i===0||data[i]!==0){var t=String(data[i]);if(s===""){s=t}else{s+="0000000".slice(0,7-t.length)+t}}}return s}function pow(x,n,acc){return n===0?acc:n%2===1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)}function log(x){var n=0;while(x>=4096){n+=12;x/=4096}while(x>=2){n+=1;x/=2}return n}Number.prototype.toFixed=function(fractionDigits){var f,x,s,m,e,z,j,k;f=Number(fractionDigits);f=f!==f?0:Math.floor(f);if(f<0||f>20){throw new RangeError("Number.toFixed called with invalid number of decimals")}x=Number(this);if(x!==x){return"NaN"}if(x<=-1e21||x>=1e21){return String(x)}s="";if(x<0){s="-";x=-x}m="0";if(x>1e-21){e=log(x*pow(2,69,1))-69;z=e<0?x*pow(2,-e,1):x/pow(2,e,1);z*=4503599627370496;e=52-e;if(e>0){multiply(0,z);j=f;while(j>=7){multiply(1e7,0);j-=7}multiply(pow(10,j,1),0);j=e-1;while(j>=23){divide(1<<23);j-=23}divide(1<<j);multiply(1,1);divide(2);m=toString()}else{multiply(0,z);multiply(1<<-e,0);m=toString()+"0.00000000000000000000".slice(2,2+f)}}if(f>0){k=m.length;if(k<=f){m=s+"0.0000000000000000000".slice(0,f-k+2)+m}else{m=s+m.slice(0,k-f)+"."+m.slice(k-f)}}else{m=s+m}return m}})()}var string_split=String.prototype.split;if("ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||"tesst".split(/(s)*/)[1]==="t"||"".split(/.?/).length===0||".".split(/()()/).length>1){(function(){var compliantExecNpcg=/()??/.exec("")[1]===void 0;String.prototype.split=function(separator,limit){var string=this;if(separator===void 0&&limit===0)return[];if(Object.prototype.toString.call(separator)!=="[object RegExp]"){return string_split.apply(this,arguments)}var output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.extended?"x":"")+(separator.sticky?"y":""),lastLastIndex=0,separator=new RegExp(separator.source,flags+"g"),separator2,match,lastIndex,lastLength;string+="";if(!compliantExecNpcg){separator2=new RegExp("^"+separator.source+"$(?!\\s)",flags)}limit=limit===void 0?-1>>>0:limit>>>0;while(match=separator.exec(string)){lastIndex=match.index+match[0].length;if(lastIndex>lastLastIndex){output.push(string.slice(lastLastIndex,match.index));if(!compliantExecNpcg&&match.length>1){match[0].replace(separator2,function(){for(var i=1;i<arguments.length-2;i++){if(arguments[i]===void 0){match[i]=void 0}}})}if(match.length>1&&match.index<string.length){Array.prototype.push.apply(output,match.slice(1))}lastLength=match[0].length;lastLastIndex=lastIndex;if(output.length>=limit){break}}if(separator.lastIndex===match.index){separator.lastIndex++}}if(lastLastIndex===string.length){if(lastLength||!separator.test("")){output.push("")}}else{output.push(string.slice(lastLastIndex))}return output.length>limit?output.slice(0,limit):output}})()}else if("0".split(void 0,0).length){String.prototype.split=function(separator,limit){if(separator===void 0&&limit===0)return[];return string_split.apply(this,arguments)}}if("".substr&&"0b".substr(-1)!=="b"){var string_substr=String.prototype.substr;String.prototype.substr=function(start,length){return string_substr.call(this,start<0?(start=this.length+start)<0?0:start:start,length)}}var ws="	\n\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003"+"\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028"+"\u2029\ufeff";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=new RegExp("^"+ws+ws+"*"),trimEndRegexp=new RegExp(ws+ws+"*$");String.prototype.trim=function trim(){if(this===void 0||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}function toInteger(n){n=+n;if(n!==n){n=0}else if(n!==0&&n!==1/0&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}return n}function isPrimitive(input){var type=typeof input;return input===null||type==="undefined"||type==="boolean"||type==="number"||type==="string"}function toPrimitive(input){var val,valueOf,toString;if(isPrimitive(input)){return input}valueOf=input.valueOf;if(typeof valueOf==="function"){val=valueOf.call(input);if(isPrimitive(val)){return val}}toString=input.toString;if(typeof toString==="function"){val=toString.call(input);if(isPrimitive(val)){return val}}throw new TypeError}var toObject=function(o){if(o==null){throw new TypeError("can't convert "+o+" to object")}return Object(o)}});
oca-core-11.0.20191007/odoo/addons/web/static/lib/es5-shim/es5-shim.min.js-2-/*
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-105-                $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js:106:                // If `clearPlaceholder` was called from `$.valHooks.input.set`
oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-107-                if (event === true) {
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-147-                $input = $input.removeAttr('id').hide().prev().attr('id', id).show();
oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js:148:                // Note: `$input[0] != input` now!
oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-149-            }
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/moment/locale/cv.js-36-        future : function (output) {
oca-core-11.0.20191007/odoo/addons/web/static/lib/moment/locale/cv.js:37:            var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
oca-core-11.0.20191007/odoo/addons/web/static/lib/moment/locale/cv.js-38-            return output + affix;
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/backbone/backbone.js-1086-    // Ensure that the View has a DOM element to render into.
oca-core-11.0.20191007/odoo/addons/web/static/lib/backbone/backbone.js:1087:    // If `this.el` is a string, pass it through `$()`, take the first
oca-core-11.0.20191007/odoo/addons/web/static/lib/backbone/backbone.js-1088-    // matching element, and re-assign it to `el`. Otherwise, create
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2116-                if (!s || !s.command) continue;
oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js:2117:                s.command == "null" ? o = !0 : o = u.exec(s.command, this.$editor, s.args, r), o && r && e != -1 && s.passEvent != 1 && s.command.passEvent != 1 && i.stopEvent(r);
oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2118-                if (o) break
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2125-            var t = this.$callKeyboardHandlers(-1, e);
oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js:2126:            t || this.$editor.commands.exec("insertstring", this.$editor, e)
oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2127-        }
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/dialog.js-14- *
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/dialog.js:15: * ``$footer``
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/dialog.js-16- *   A jQuery element targeting a dom part where buttons can be added. It
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-32- *         start: function() {
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js:33: *             // stuff you want to make after the rendering, `this.$el` holds a correct value
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-34- *             this.$(".my_button").click(/* an example of event binding * /);
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-337-    /**
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js:338:     * Shortcut for ``this.$el.find(selector)``
oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-339-     *
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/src/js/libs/jquery.js-99-    /**
oca-core-11.0.20191007/odoo/addons/web/static/src/js/libs/jquery.js:100:     * Allows to bind events to a handler just as the standard `$.on` function
oca-core-11.0.20191007/odoo/addons/web/static/src/js/libs/jquery.js-101-     * but binds the handler so that it is executed before any already-attached
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2766-
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:2767:        var dollarValues = list.$('td').filter(function () {return _.str.include($(this).text(), '$');});
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2768-        assert.strictEqual(dollarValues.length, 1,
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2770-
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:2771:        var euroValues = list.$('td').filter(function () {return _.str.include($(this).text(), '€');});
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2772-        assert.strictEqual(euroValues.length, 1,
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4304-            '10%', "should have 10% as pie value since int_field=10");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4305:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4306-            'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4307:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4308-            'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees");
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4315-            '10%', "should have 10% as pie value since int_field=10");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4316:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4317-            'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4318:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4319-            'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees");
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4326-            '10%', "should have 10% as pie value since int_field=10");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4327:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4328-            'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4329:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4330-            'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees");
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4355-            '80%', "should have 80% as pie value since int_field=80");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4356:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4357-            'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees");
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4366-            '80%', "should have 80% as pie value since int_field=80");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4367:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4368-            'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees");
##############################################
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4377-            '80%', "should have 80% as pie value since int_field=80");
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4378:        assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'),
oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4379-            'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees");
##############################################
oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-43-        if self.version == 1:
oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py:44:            return self._db.record_by_addr(ip) or {}
oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-45-        elif self.version == 2:
##############################################
oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-62-    # compat
oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py:63:    def record_by_addr(self, addr):
oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-64-        return self.resolve(addr)
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-9-
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:10: * `$.nearest({x, y}, selector)` - find `$(selector)` closest to x/y point on screen
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:11: * `$(elem).nearest(selector)` - find `$(selector)` closest to elem
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:12: * `$(elemSet).nearest({x, y})` - filter `$(elemSet)` and return closest to x/y point on screen
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-13-
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-15-
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:16: * `$.furthest()`
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:17: * `$(elem).furthest()`
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-18-
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-20-
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:21: * `$.touching()`
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:22: * `$(elem).touching()`
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/jquery.nearest.min.js-10- */
oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/jquery.nearest.min.js:11:;(function(e,t){function r(t,r,i){t||(t="div");var s=e(r.container),o=s.offset()||{left:0,top:0},u=[o.left+s.width(),o.top+s.height()],a={x:0,y:1,w:0,h:1},f,l;for(f in a)a.hasOwnProperty(f)&&(l=n.exec(r[f]),l&&(r[f]=u[a[f]]*l[1]/100));var c=e(t),h=[],p=!!r.furthest,d=!!r.checkHoriz,v=!!r.checkVert,m=p?0:Infinity,g=parseFloat(r.x)||0,y=parseFloat(r.y)||0,b=parseFloat(g+r.w)||g,w=parseFloat(y+r.h)||y,E=r.tolerance||0,S=!!e.fn.each2,x=Math.min,T=Math.max;!r.includeSelf&&i&&(c=c.not(i)),E<0&&(E=0),c[S?"each2":"each"](function(t,n){var r=S?n:e(this),i=r.offset(),s=i.left,o=i.top,u=r.outerWidth(),a=r.outerHeight(),f=s+u,l=o+a,c=T(s,g),N=x(f,b),C=T(o,y),k=x(l,w),L=N>=c,A=k>=C,O,M,_,D;if(d&&v||!d&&!v&&L&&A||d&&A||v&&L)O=L?0:c-N,M=A?0:C-k,_=L||A?T(O,M):Math.sqrt(O*O+M*M),D=p?_>=m-E:_<=m+E,D&&(m=p?T(m,_):x(m,_),h.push({node:this,dist:_}))});var N=h.length,C=[],k,L,A,O;if(N){p?(k=m-E,L=m):(k=m,L=m+E);for(A=0;A<N;A++)O=h[A],O.dist>=k&&O.dist<=L&&C.push(O.node)}return C}var n=/^([\d.]+)%$/;e.each(["nearest","furthest","touching"],function(n,i){var s={x:0,y:0,w:0,h:0,tolerance:1,container:document,furthest:i=="furthest",includeSelf:!1,checkHoriz:i!="touching",checkVert:i!="touching"};e[i]=function(n,i,o){if(!n||n.x===t||n.y===t)return e([]);var u=e.extend({},s,n,o||{});return e(r(i,u))},e.fn[i]=function(t,n){var i;if(t&&e.isPlainObject(t))return i=e.extend({},s,t,n||{}),this.pushStack(r(this,i));var o=this.offset(),u={x:o.left,y:o.top,w:this.outerWidth(),h:this.outerHeight()};return i=e.extend({},s,u,n||{}),this.pushStack(r(t,i,this))}})})(jQuery);
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-32-    /**
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:33:     * The option `$el` is supposed to be the associated <li/> element in the
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-34-     * options dropdown. The option controls another DOM element: the snippet it
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:35:     * customizes, which can be found at `$target`. Access to the whole edition
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:36:     * overlay is possible with `$overlay` (this is not recommended though).
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-37-     *
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-80-     * Called when the associated snippet is the result of the cloning of
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:81:     * another snippet (so `this.$target` is a cloned element).
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-82-     *
##############################################
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-1068-
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:1069:            var img_url = /\(['"]?([^'"]+)['"]?\)/g.exec(self.$target.css('background-image'));
oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-1070-            img_url = (img_url && img_url[1]) || '';
##############################################
oca-core-11.0.20191007/odoo/addons/website_links/static/lib/zeroclipboard/ZeroClipboard.js-39-  /**
oca-core-11.0.20191007/odoo/addons/website_links/static/lib/zeroclipboard/ZeroClipboard.js:40: * Shallow-copy the owned, enumerable properties of one object over to another, similar to jQuery's `$.extend`.
oca-core-11.0.20191007/odoo/addons/website_links/static/lib/zeroclipboard/ZeroClipboard.js-41- *
##############################################
oca-core-11.0.20191007/odoo/tools/mail.py-500-        return []
oca-core-11.0.20191007/odoo/tools/mail.py:501:    return [formataddr((addr[0], addr[1])) for addr in getaddresses([text])
oca-core-11.0.20191007/odoo/tools/mail.py-502-                # getaddresses() returns '' when email parsing fails, and
##############################################
oca-core-11.0.20191007/odoo/tools/misc.py-512-
oca-core-11.0.20191007/odoo/tools/misc.py:513:def detect_ip_addr():
oca-core-11.0.20191007/odoo/tools/misc.py-514-    """Try a very crude method to figure out a valid external
##############################################
oca-core-11.0.20191007/odoo/tools/misc.py-518-    """
oca-core-11.0.20191007/odoo/tools/misc.py:519:    def _detect_ip_addr():
oca-core-11.0.20191007/odoo/tools/misc.py-520-        from array import array
##############################################
oca-core-11.0.20191007/odoo/tools/misc.py-559-    try:
oca-core-11.0.20191007/odoo/tools/misc.py:560:        ip_addr = _detect_ip_addr()
oca-core-11.0.20191007/odoo/tools/misc.py-561-    except Exception:
##############################################
oca-core-11.0.20191007/debian/missing-sources/clipboard.js-107-function getAttributeValue(suffix, element) {
oca-core-11.0.20191007/debian/missing-sources/clipboard.js:108:    const attribute = `data-clipboard-${suffix}`;
oca-core-11.0.20191007/debian/missing-sources/clipboard.js-109-