package Ġme . m aya . re vol t . util Ċ Ċ import Ġkotlin . reflect . K Property Ċ Ċ open Ġclass ĠBit Flags ( var Ġvalue : ĠInt ) Ġ{ ĊĠĠĠ Ġclass ĠDelegate ( flag : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġflag Ġ= Ġ 1 Ġshl Ġflag ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun ĠgetValue ( this Ref : ĠBit Flags , Ġproperty : ĠK Property < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis Ref . value Ġand Ġflag Ġ!= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun ĠsetValue ( this Ref : ĠBit Flags , Ġproperty : ĠK Property <* >, Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ref . value Ġ= Ġthis Ref . value Ġor Ġflag ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ref . value Ġ= Ġthis Ref . value Ġand Ġflag . inv () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }