package Ġme . me li jn . me lij nb ot . commands . administration Ċ Ċ import Ġme . me li jn . me lij nb ot . internals . command . Abstract Command Ċ import Ġme . me li jn . me lij nb ot . internals . command . Command Category Ċ import Ġme . me li jn . me lij nb ot . internals . command . IC ommand Context Ċ import Ġme . me li jn . me lij nb ot . internals . command . PLACE HOLDER _ PREFIX Ċ import Ġme . me li jn . me lij nb ot . internals . embed . Embed der Ċ import Ġme . me li jn . me lij nb ot . internals . translation . PLACE HOLDER _ CHANNEL Ċ import Ġme . me li jn . me lij nb ot . internals . utils .* Ċ import Ġme . me li jn . me lij nb ot . internals . utils . message . send Embed Rsp Ċ import Ġme . me li jn . me lij nb ot . internals . utils . message . send Rsp Ċ import Ġme . me li jn . me lij nb ot . internals . utils . message . send Syntax Ċ import Ġnet . dv 8 tion . j da . api . Permission Ċ import Ġnet . dv 8 tion . j da . api . entities . Guild Channel Ċ import Ġnet . dv 8 tion . j da . api . entities . Text Channel Ċ import Ġnet . dv 8 tion . j da . api . entities . Voice Channel Ċ import Ġnet . dv 8 tion . j da . api . events . message . guild . Guild Message Received Event Ċ Ċ class ĠLock Command Ġ: ĠAbstract Command (" command . lock ") Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 2 4 1 ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" lock " ĊĠĠĠĠĠĠĠ Ġaliases Ġ= ĠarrayOf (" lock Channel ") ĊĠĠĠĠĠĠĠ Ġdiscord Permissions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( text Den y List Ġ+ Ġvoice Den y List ). to Typed Array () Ġ// Ġneed Ġthe Ġserver Ġpermission Ġin Ġorder Ġto Ġcreate Ġoverrides Ġfor Ġit ĊĠĠĠĠĠĠĠ Ġcool down Ġ= Ġ 1 0 _ 0 0 0 ĊĠĠĠĠĠĠĠ Ġcommand Category Ġ= ĠCommand Category . ADMIN ISTR ATION ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Den y List Ġ= Ġmutable ListOf ( Permission . MESSAGE _ WRITE , ĠPermission . MESSAGE _ ADD _ RE ACTION ) ĊĠĠĠĠĠĠĠ Ġval Ġvoice Den y List Ġ= Ġmutable ListOf ( Permission . VOICE _ CONNECT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( context : ĠICommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context . args . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Syntax ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġvoice Ġ= Ġmutable ListOf < Voice Channel >() ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġmutable ListOf < Text Channel >() ĊĠĠĠĠĠĠĠ Ġval Ġunknown Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġfor Ġ(( index , Ġarg ) Ġin Ġcontext . args . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Channel Ġ= ĠgetText Channel By Args N ( context , Ġindex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( text Channel Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . add IfNot Present ( text Channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvoice Channel Ġ= Ġget Voice Channel By Args N ( context , Ġindex ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( voice Channel Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoice . add IfNot Present ( voice Channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arg Ġ== Ġ" all ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . addAll IfNot Present ( context . guild . text Channels ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoice . addAll IfNot Present ( context . guild . voice Channels ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( arg Ġ== Ġ" all - text ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . addAll IfNot Present ( context . guild . text Channels ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( arg Ġ== Ġ" all - voice ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoice . addAll IfNot Present ( context . guild . voice Channels ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġunknown . add IfNot Present ( arg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( text . size Ġ== Ġ 0 Ġ&& Ġvoice . size Ġ== Ġ 1 Ġ&& Ġunknown . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlock Channel ( context , Ġvoice . first ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( text . size Ġ== Ġ 1 Ġ&& Ġvoice . size Ġ== Ġ 0 Ġ&& Ġunknown . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlock Channel ( context , Ġtext . first ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( text . size Ġ== Ġ 0 Ġ&& Ġvoice . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġcontext . get Translation ("$ root . not found ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Safe Variable (" arg ", Ġunknown . join ToString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġmsg ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġcontext . get Translation ("$ root . question many ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" text ", Ġtext . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" voice ", Ġvoice . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Safe Variable (" unknown ", Ġunknown . join ToString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġmsg ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . container . event Wait er . waitFor ( Guild Message Received Event :: class . java , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . author . id Long Ġ== Ġcontext . author Id Ġ&& Ġit . channel . id Long Ġ== Ġcontext . channelId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . message . content Raw Ġ== Ġ" yes ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlock Many ( context , Ġvoice Ġ+ Ġtext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrsp Ġ= Ġcontext . get Translation ("$ root . many question . den ied ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġrsp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrsp Ġ= Ġcontext . get Translation ("$ root . many question . expired ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġrsp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 2 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġlock Many ( context : ĠICommand Context , Ġlist : ĠList < Guild Channel >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( channel Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( not En ough Permissions And Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchannel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPermission . MANAGE _ CHANNEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPermission . MANAGE _ RO LES ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġalready Locked Ġ= Ġmutable ListOf < Guild Channel >() ĊĠĠĠĠĠĠĠ Ġval Ġlocked Ġ= Ġmutable ListOf < Guild Channel >() ĊĠĠĠĠĠĠĠ Ġvar Ġtext Overrides Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġtext Perm Changes Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġvoice Overrides Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġvoice Perm Changes Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( channel Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġunlock Status Ġ= Ġinternal Lock ( context , Ġchannel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( unlock Status . third ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . SUCCESS , ĠUn lock Command . Lock Status . NO _ OVERRIDE Ġ-> Ġlocked . add ( channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . AL READY _ LOCK ED Ġ-> Ġalready Locked . add ( channel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . NOT _ LOCK ED Ġ-> Ġthrow ĠIllegalStateException (" not Ġlocked Ġin Ġlock command ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( channel Ġis ĠText Channel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Overrides Ġ+= Ġunlock Status . first ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Perm Changes Ġ+= Ġunlock Status . second ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoice Overrides Ġ+= Ġunlock Status . first ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvoice Perm Changes Ġ+= Ġunlock Status . second ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġcontext . get Translation ("$ root . locked many ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" already Locked ", Ġalready Locked . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" locked ", Ġlocked . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" text ", Ġlocked . filter Is Instance < Text Channel >(). size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" text Overrides ", Ġtext Overrides ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" text Perm Changes ", Ġtext Perm Changes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" voice ", Ġlocked . filter Is Instance < Voice Channel >(). size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" voice Overrides ", Ġvoice Overrides ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" voice Perm Changes ", Ġvoice Perm Changes ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġe b Ġ= ĠEmbed der ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDescription ( msg ) ĊĠĠĠĠĠĠĠ Ġsend Embed Rsp ( context , Ġe b . build ()) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġlock Channel ( context : ĠICommand Context , Ġchannel : ĠGuild Channel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( not En ough Permissions And Message ( context , Ġchannel , ĠPermission . MANAGE _ CHANNEL , ĠPermission . MANAGE _ RO LES )) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġinternal Lock ( context , Ġchannel ) ĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġwhen Ġ( status . third ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . SUCCESS , ĠUn lock Command . Lock Status . NO _ OVERRIDE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get Translation ("$ root . locked ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable ( PLACE HOLDER _ CHANNEL , Ġchannel . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" overrides ", Ġstatus . first ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable (" perm Changes ", Ġstatus . second ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . AL READY _ LOCK ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get Translation ("$ root . already locked ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Variable ( PLACE HOLDER _ CHANNEL , Ġchannel . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Safe Variable ( PLACE HOLDER _ PREFIX , Ġcontext . used Prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . NOT _ LOCK ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" not Ġlocked Ġin Ġlock command ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġmsg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ-> Ġoverride Count , Ġpermissions Sw itched , Ġstatus ĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġinternal Lock ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠICommand Context , ĊĠĠĠĠĠĠĠ Ġchannel : ĠGuild Channel ĊĠĠĠ Ġ): ĠTrip le < Int , ĠInt , ĠUn lock Command . Lock Status > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdeny List Ġ= Ġwhen Ġ( channel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠText Channel Ġ-> Ġtext Den y List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠVoice Channel Ġ-> Ġvoice Den y List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" unknown Ġchannel type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpub Role Ġ= Ġcontext . guild . public Role ĊĠĠĠĠĠĠĠ Ġval Ġoverride Map Ġ= Ġmutable Map Of < Long , ĠPair < Long , ĠLong >>() ĊĠĠĠĠĠĠĠ Ġoverride Map . put All ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . role Permission Overrides . filter NotNull (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Long Ġto ĠPair ( it . allowed Raw , Ġit . den ied Raw ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. toMap () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! override Map . containsKey ( pub Role . id Long )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Map [ pub Role . id Long ] Ġ= Ġ 0 L Ġto Ġ 0 L ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġval Ġdiscord Channel Overrides Wrapper Ġ= Ġcontext . dao Manager . discord Channel Overrides Wrapper ĊĠĠĠĠĠĠĠ Ġif Ġ( discord Channel Overrides Wrapper . getAll ( context . guild Id , Ġchannel . id Long ). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTrip le ( 0 , Ġ 0 , ĠUn lock Command . Lock Status . AL READY _ LOCK ED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdiscord Channel Overrides Wrapper . bulk Put ( context . guild Id , Ġchannel . id Long , Ġoverride Map ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġoverride Counter Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġperms Changed Counter Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ(( id , Ġflags ) Ġin Ġoverride Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrole Ġ= Ġcontext . guild . get Role ById ( id ) Ġ?: Ġcontinue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġchannel . upsert Permission Override ( role ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġperms Changed Here Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( perm Ġin Ġdeny List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( flags . second Ġand Ġperm . raw Value ) Ġ== Ġ 0 L Ġ-> Ġ{ Ġ// Ġif Ġthe Ġpermission Ġto Ġdeny Ġis Ġnot Ġyet Ġdenied ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . deny ( perm ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperms Changed Here ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġperms Changed Counter Ġ+= Ġperms Changed Here ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( perms Changed Here Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Counter ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . reason ("( lock ) Ġ" Ġ+ Ġcontext . author . as Tag ). queue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġif Ġ( override Counter Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . SUCCESS ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Command . Lock Status . NO _ OVERRIDE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠTrip le ( override Counter , Ġperms Changed Counter , Ġstatus ) ĊĠĠĠ Ġ} Ċ }