'use strict';vartoIndexedObject=require('../internals/to-indexed-object');vartoInteger=require('../internals/to-integer');vartoLength=require('../internals/to-length');vararrayMethodIsStrict=require('../internals/array-method-is-strict');vararrayMethodUsesToLength=require('../internals/array-method-uses-to-length');varmin=Math.min;varnativeLastIndexOf=[].lastIndexOf;varNEGATIVE_ZERO=!!nativeLastIndexOf&&1/[1].lastIndexOf(1,-0)<0;varSTRICT_METHOD=arrayMethodIsStrict('lastIndexOf');// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the methodvarUSES_TO_LENGTH=arrayMethodUsesToLength('indexOf',{ACCESSORS:true,1:0});varFORCED=NEGATIVE_ZERO||!STRICT_METHOD||!USES_TO_LENGTH;// `Array.prototype.lastIndexOf` method implementation// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexofmodule.exports=FORCED?functionlastIndexOf(searchElement/* , fromIndex = @[*-1] */){// convert -0 to +0if(NEGATIVE_ZERO)returnnativeLastIndexOf.apply(this,arguments)||0;varO=toIndexedObject(this);varlength=toLength(O.length);varindex=length-1;if(arguments.length>1)index=min(index,toInteger(arguments[1]));if(index<0)index=length+index;for(;index>=0;index--)if(indexinO&&O[index]===searchElement)returnindex||0;return-1;}:nativeLastIndexOf;