 local mhatnote require 'module hatnote' local mhatlist require 'module hatnote list' local marguments initialize lazily local mtabletools initialize lazily local libraryutil require 'libraryutil' local checktype libraryutilu82echecktype local pu800 produces standard other uses implementation function pu800u82eotheruses frame marguments require 'module arguments mtabletools require 'module tabletools local args mtabletoolsu82ecompresssparsearray margumentsu82egetargs frame local title mwu800u82etitleu82egetcurrenttitle .prefixedtext return pu800u82e_otheruses args title title endu800 implements "other xu800 " templates with othertext supplied atu800 invocation function pu800u82eotherx frame marguments require 'module arguments mtabletools require 'module tabletools local xu800 frameu82eargs 1u800 local args mtabletoolsu82ecompresssparsearray margumentsu82egetargs frame parentonly true local options title mwu800u82etitleu82egetcurrenttitle .prefixedtext othertext xu800 return pu800u82e_otheruses args options endu800 main generator function pu800u82e_otheruses args options type checks andu800 defaults checktype '_otheruses 1u800 args 'table' true args args oru800 checktype '_otheruses 2u800 options 'table' ifu800 notu800 optionsu82edefaultpage oru800 optionsu82etitle then error 'nou800 default title data provided inu800 "_otheruses" options table' 2u800 endu800 local emptyargs true foru800 ku800 vu800 inu800 pairs args dou800 ifu800 type ku800 'number' then emptyargs false break endu800 endu800 ifu800 emptyargs then args optionsu82edefaultpage oru800 mhatnoteu82edisambiguate optionsu82etitle optionsu82edisambiguator endu800 generate andu800 return hatnote local text mhatlistu82eforseetabletostring useu800 optionsu82eothertext andu800 "u8d8afu8db8cu8daafu8d8b1 " .. optionsu82eothertext oru800 nilu800 pages args return mhatnoteu82e_hatnote text endu800 return pu800 