This is a shoretend example code of a Rig Template used for the Short Film DUEL.

class DuelBiped(SuperTemplate):
     def __init__(self,*args,**kws):
          super(DuelBiped, self).__init__(*args,**kws)

          
     def createRigSystems(self):
          self.mRig = rigModulesBody.mainModule(self.rigName, ctrlSize=self.ctrlSizeDict['Global'], colorProfile=self.colorProfileDict['Global']).create()
          self.mRoot = rigModulesBody.rootModule(mParentSystem=self.mRig, name='Root', ctrlSize=self.ctrlSizeDict['Root'], offsets=2, colorProfile=self.colorProfileDict['Global']).create()
          self.mSpine = rigModulesBody.fkIkSpineModule(mParentSystem=self.mRoot, name='Spine', joints=['j_hips', 'j_shoulders'], ctrlSize=self.ctrlSizeDict['Spine'], colorProfile=self.colorProfileDict['Spine'], ctrlTypeDict=self.spineCtrlTypDict).create()
          self.mShoulderL = rigModulesDuel.duelShoulderModule(mParentSystem=self.mSpine, name='Shoulder', side='Left', node='j_collar_L', rotationOrder='yxz', ctrlSize=self.ctrlSizeDict['Shoulders'], ctrlOffset=[[0.0, 0.0 ,0.0],[90.0, 0.0 ,0.0]], colorProfile=self.colorProfileDict['Left']).create()
          self.mShoulderR = rigModulesDuel.duelShoulderModule(mParentSystem=self.mSpine, name='Shoulder', side='Right', node='j_collar_R', rotationOrder='yxz', ctrlSize=self.ctrlSizeDict['Shoulders'], ctrlOffset=[[0.0, 0.0 ,0.0],[-90.0, 180.0 ,0.0]], colorProfile=self.colorProfileDict['Right']).create()

          self.mNeck = rigModulesBody.fkModule(mParentSystem=self.mSpine, name='Neck', joints=['j_neck_1', 'j_neck_2'], ctrlSize=self.ctrlSizeDict['Neck'], mirrorAxis='translateX, translateY, translateZ', colorProfile=self.colorProfileDict['Centre'], ctrlType='CircleCurve', rotationOrder= 'zxy', ctrlOffset=[[0.0, 0.0, 0.0],[0.0, 0, 0.0]]).create()
          self.mEyes = rigModulesDuel.eyesModule(mParentSystem=self.mNeck, name='Eye', leftEyeJoint='j_eye_L', rightEyeJoint ='j_eye_R', brokenHierarchy=True, distance = 150, pupilScaleSetup=True, ctrlSize=self.ctrlSizeDict['Eyes'], colorProfile=self.colorProfileDict['Centre']).create()
          self.mArmL =  rigModulesBody.fkIkArmModule(mParentSystem=self.mShoulderL, name='Arm', side='Left', joints=['j_shoulder_L', 'j_ellbow_L', 'j_wrist_L'], poleVectorDistance=self.pvDistanceDict['arm'], auxCtrl=True, ctrlSize=self.ctrlSizeDict['Arm'], ctrlTypeDict=self.armLegCtrlTypDict, colorProfile=self.colorProfileDict['Left']).create()
          self.mArmR = rigModulesBody.fkIkArmModule(mParentSystem=self.mShoulderR, name='Arm', side='Right', joints=['j_shoulder_R', 'j_ellbow_R', 'j_wrist_R'], poleVectorDistance=self.pvDistanceDict['arm'], auxCtrl=True, ctrlSize=self.ctrlSizeDict['Arm'], ctrlTypeDict=self.armLegCtrlTypDict, colorProfile=self.colorProfileDict['Right']).create()
          self.mHandL =  rigModulesDuel.handModule(mParentSystem=self.mArmL, name='Hand', side='Left', node='j_palm_L', offsets=1, mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Hand'],colorProfile=self.colorProfileDict['Left'], ctrlType='HalfCircleCurve', ctrlOffset=[[0.0, 0.0, 0.0],[0.0, 90, 0.0]], rotationOrder= 'yzx').create()
          self.mFingerL_1 = rigModulesBody.fkModule(mParentSystem=self.mHandL, name='Finger_1', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_finger_1_1_L', 'j_finger_1_2_L', 'j_finger_1_3_L']).create()
          self.mFingerL_2 = rigModulesBody.fkModule(mParentSystem=self.mHandL, name='Finger_2', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_finger_2_1_L', 'j_finger_2_2_L', 'j_finger_2_3_L', 'j_finger_2_4_L']).create()
          self.mFingerL_3 = rigModulesBody.fkModule(mParentSystem=self.mHandL, name='Finger_3', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_finger_3_1_L', 'j_finger_3_2_L', 'j_finger_3_3_L', 'j_finger_3_4_L']).create()
          self.mFingerL_4 = rigModulesBody.fkModule(mParentSystem=self.mHandL, name='Finger_4', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_finger_4_1_L', 'j_finger_4_2_L', 'j_finger_4_3_L', 'j_finger_4_4_L']).create()
          self.mFingerL_5 = rigModulesBody.fkModule(mParentSystem=self.mHandL, name='Finger_5', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_finger_5_1_L', 'j_finger_5_2_L', 'j_finger_5_3_L', 'j_finger_5_4_L']).create()
          self.mHandR =  rigModulesDuel.handModule(mParentSystem=self.mArmR, name='Hand', side='Right', node='j_palm_R', offsets=1, mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Hand'], colorProfile=self.colorProfileDict['Right'], ctrlType='HalfCircleCurve', ctrlOffset=[[0.0, 0.0, 0.0],[0.0, -90.0, 0.0]], rotationOrder= 'yzx').create()
          self.mFingerR_1 = rigModulesBody.fkModule(mParentSystem=self.mHandR, name='Finger_1', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_finger_1_1_R', 'j_finger_1_2_R', 'j_finger_1_3_R']).create()
          self.mFingerR_2 = rigModulesBody.fkModule(mParentSystem=self.mHandR, name='Finger_2', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_finger_2_1_R', 'j_finger_2_2_R', 'j_finger_2_3_R', 'j_finger_2_4_R']).create()
          self.mFingerR_3 = rigModulesBody.fkModule(mParentSystem=self.mHandR, name='Finger_3', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_finger_3_1_R', 'j_finger_3_2_R', 'j_finger_3_3_R', 'j_finger_3_4_R']).create()
          self.mFingerR_4 = rigModulesBody.fkModule(mParentSystem=self.mHandR, name='Finger_4', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_finger_4_1_R', 'j_finger_4_2_R', 'j_finger_4_3_R', 'j_finger_4_4_R']).create()
          self.mFingerR_5 = rigModulesBody.fkModule(mParentSystem=self.mHandR, name='Finger_5', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Finger'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_finger_5_1_R', 'j_finger_5_2_R', 'j_finger_5_3_R', 'j_finger_5_4_R']).create()
          self.mLegL = rigModulesBody.fkIkFootModule(mParentSystem=self.mSpine, name='Leg', side='Left', joints=['j_hip_L', 'j_knee_L', 'j_ankle_L'], hipHelperJoint = 'j_hip_L_help',innerPvt='loc_pivots_1_L', centrePvt='loc_pivots_2_L', outerPvt='loc_pivots_3_L', poleVectorDistance=self.pvDistanceDict['leg'], auxCtrl=True, ctrlSize=self.ctrlSizeDict['Leg'], ctrlTypeDict=self.armLegCtrlTypDict, colorProfile=self.colorProfileDict['Left'], hook='Bottom').create()
          self.mLegR = rigModulesBody.fkIkFootModule(mParentSystem=self.mSpine, name='Leg', side='Right', joints=['j_hip_R', 'j_knee_R', 'j_ankle_R'], hipHelperJoint = 'j_hip_R_help', innerPvt='loc_pivots_1_R', centrePvt='loc_pivots_2_R', outerPvt='loc_pivots_3_R', poleVectorDistance=self.pvDistanceDict['leg'], auxCtrl=True, ctrlSize=self.ctrlSizeDict['Leg'], ctrlTypeDict=self.armLegCtrlTypDict, colorProfile=self.colorProfileDict['Right'], hook='Bottom').create()
          self.mFaceRig = rigModulesFace.mainFaceModule(mParentSystem=self.mRig, mParentSystemPhysical=self.mNeck, mainCtrl='ctrl_face', rootJoint='j_face_root', eyeLidCtrlDict={self.Lft : 'ctrl_eyelid_main_L', self.Rgt : 'ctrl_eyelid_main_R'}, squashCtrlDict={'upper' : 'ctrl_face_squash_upper', 'lower': 'ctrl_face_squash_lower'}, blendshapeDict=self.faceBlendshapeDict, squashTransDict=self.faceSquashTransDict, bendTransDict=self.faceBendTransDict, eyeSquashTransDict={'lft' : [mc.xform(self.mEyes.CTRL_add_L[0], ws=True, q=True, translation=True), mc.xform(self.mEyes.CTRL_add_L[0], ws=True, q=True, rotation=True), [22,22,22]], 'rgt':[mc.xform(self.mEyes.CTRL_add_R[0], ws=True, q=True, translation=True),mc.xform(self.mEyes.CTRL_add_R[0], ws=True, q=True, rotation=True), [22,22,22]]}, eyeSquashCVs=self._getEyeSquashCVs()).create()
          

     def createFaceRigSystems(self):
          self.mEyelidL = rigModulesDuel.eyelidModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Eyelid', side='Left', eye='j_eye_L', lidSurface='eyelid_constructor_L', eyeSlidingSurface='eye_slidingSurface_L', pinchSetup=True, ctrlSize=self.ctrlSizeDict['Eyelid'], colorProfile=self.colorProfileDict['Eyelid']).create()
          self.mEyelidR = rigModulesDuel.eyelidModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Eyelid', side='Right', eye='j_eye_R', lidSurface='eyelid_constructor_R', eyeSlidingSurface='eye_slidingSurface_R', pinchSetup=True, ctrlSize=self.ctrlSizeDict['Eyelid'], colorProfile=self.colorProfileDict['Eyelid']).create()
          self.mEyeBrowL = rigModulesFace.eyeBrowModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Eyebrow', side='Left', slidingSurface='eyebrow_slidingSurface_L', useRotation=True, ctrlSize=self.ctrlSizeDict['Eyebrow'], colorProfile=self.colorProfileDict['Eyebrow']).create()
          self.mEyeBrowR = rigModulesFace.eyeBrowModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Eyebrow', side='Right', slidingSurface='eyebrow_slidingSurface_R', useRotation=True, ctrlSize=self.ctrlSizeDict['Eyebrow'], colorProfile=self.colorProfileDict['Eyebrow']).create()
          self.mMouth = rigModulesFace.mouthModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Mouth', side='Centre', lipLowerSurface='lip_lower_constructor', lipUpperSurface='lip_upper_constructor', jawSlidingSurface='jaw_slidingSurface', lipSlidingSurface='lips_slidingSurface', supCtrlOffsets=True, ctrlSize=self.ctrlSizeDict['Lip'], colorProfile=self.colorProfileDict['Lip']).create()
          self.mCheekL = rigModulesFace.cheekModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Cheek', side='Left', slidingSurface='cheek_slidingSurface_L', ctrlSize=self.ctrlSizeDict['Lip'], colorProfile=self.colorProfileDict['Lip']).create()
          self.mCheekR = rigModulesFace.cheekModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Cheek', side='Right', slidingSurface='cheek_slidingSurface_R', ctrlSize=self.ctrlSizeDict['Lip'], colorProfile=self.colorProfileDict['Lip']).create()
          self.mNose = rigModulesFace.noseModule(mParentSystem=self.mFaceRig, mParentSystemPhysical=self.mNeck, name='Nose', side='Centre', noseJoints=['j_nose_1', 'j_nose_2', 'j_nose_3'], nostrilLR=['j_nostril_L', 'j_nostril_R'], ctrlSize=self.ctrlSizeDict['Lip'], colorProfile=self.colorProfileDict['Lip']).create()
          self.mTeeth = rigModulesFace.theethModule(mParentSystem=self.mMouth, mParentSystemPhysical=self.mNeck, name='Teeth', side='Centre', UpperTeethJoint='j_teeth_upper', LowerTeethJoint='j_teeth_lower', LowerTeethParent='fol_jaw', ctrlSize=self.ctrlSizeDict['Teeth'], ctrlType='HalfCircleCurve', colorProfile=self.colorProfileDict['Teeth'], ctrlOffset=[[0.0, 0.0, 0.0],[0.0, 0.0, 0.0]]).create()
          self.mTongue = rigModulesFace.toungeModule(mParentSystem=self.mMouth, mParentSystemPhysical=self.mNeck, name='Tongue', side='Centre', joints=['j_tongue_root', 'j_tongue_1', 'j_tongue_2', 'j_tongue_3', 'j_tongue_4'], tongueParent='fol_jaw', ctrlSize=self.ctrlSizeDict['Tongue'], colorProfile=self.colorProfileDict['Tongue'], ctrlType='CircleCurve', ctrlOffset=[[0.0, 0.0, 0.0],[0.0, 0.0, 90.0]]).create()
          self.mEarL = rigModulesFace.earModule(mParentSystem=self.mNeck, name='Ear', joint='j_ear_L', side='Left', ctrlSize=self.ctrlSizeDict['Ear'], mirrorAxis='translateX, translateY, translateZ', colorProfile=self.colorProfileDict['Left'], ctrlType='HalfCircleCurve', ctrlOffset=[[0.0, 1.0, 0.0],[90.0, 0.0, 90.0]]).create()
          self.mEarR = rigModulesFace.earModule(mParentSystem=self.mNeck, name='Ear', joint='j_ear_R', side='Right', ctrlSize=self.ctrlSizeDict['Ear'], mirrorAxis='translateX, translateY, translateZ', colorProfile=self.colorProfileDict['Right'], ctrlType='HalfCircleCurve', ctrlOffset=[[0.0, -1.0, 0.0],[90.0, 0.0, -90.0]]).create()




class BeastBoy(DuelBiped):
     def __init__(self,*args,**kws):
          super(BeastBoy, self).__init__(*args,**kws)
          
          self.rigName = 'BeastBoy'
          self.nameSpaceNS = 'BeastBoy_01'
          
     def createAdditionalRigSystems(self):
          self.mSleeveL =  rigModulesDuel.sleeveModule(mParentSystem=self.mHandL, name='Sleeve', side='Left', locators = ['loc_sleeve_1_L', 'loc_sleeve_2_L', 'loc_sleeve_3_L','loc_sleeve_4_L'], parentControl=self.mHandL.CTRL_Main[0], ctrlSize=self.ctrlSizeDict['Sleeve'], colorProfile=self.colorProfileDict['Left2'], ctrlOffset=[[- 1.0, 0.0, 0.0],[0.0, 0.0, 90.0]]).create()
          self.mSleeveR =  rigModulesDuel.sleeveModule(mParentSystem=self.mHandR, name='Sleeve', side='Right', locators = ['loc_sleeve_1_R', 'loc_sleeve_2_R', 'loc_sleeve_3_R','loc_sleeve_4_R'], parentControl=self.mHandR.CTRL_Main[0], ctrlSize=self.ctrlSizeDict['Sleeve'], colorProfile=self.colorProfileDict['Right2'], ctrlOffset=[[- 1.0, 0.0, 0.0],[0.0, 0.0, 90.0]]).create()
          
          self.mTail = rigModulesBody.fkIkSpline(mParentSystem=self.mSpine, name='Tail', side='Centre', fkJoints=['j_tail_%s' %(i+1) for i in range(14)], ikStartJoint='j_tail_1', ikEndJoint='j_tail_13', numberOfIkCtrls=5, ctrlSize=self.ctrlSizeDict['Tail'], colorProfile=self.colorProfileDict['Tail'], hook='Bottom').create()
          
          self.mToeL_1 = rigModulesDuel.toeModule(mParentSystem=self.mLegL, name='Toe_1', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_toe_1_1_L', 'j_toe_1_2_L']).create()
          self.mToeL_2 = rigModulesDuel.toeModule(mParentSystem=self.mLegL, name='Toe_2', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_toe_2_1_L', 'j_toe_2_2_L', 'j_toe_2_3_L']).create()
          self.mToeL_3 = rigModulesDuel.toeModule(mParentSystem=self.mLegL, name='Toe_3', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_toe_3_1_L', 'j_toe_3_2_L', 'j_toe_3_3_L']).create()
          self.mToeL_4 = rigModulesDuel.toeModule(mParentSystem=self.mLegL, name='Toe_4', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_toe_4_1_L', 'j_toe_4_2_L', 'j_toe_4_3_L']).create()
          self.mToeL_5 = rigModulesDuel.toeModule(mParentSystem=self.mLegL, name='Toe_5', side='Left', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_toe_5_1_L', 'j_toe_5_2_L', 'j_toe_5_3_L']).create()

          self.mToeR_1 = rigModulesDuel.toeModule(mParentSystem=self.mLegR, name='Toe_1', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_toe_1_1_R', 'j_toe_1_2_R']).create()
          self.mToeR_2 = rigModulesDuel.toeModule(mParentSystem=self.mLegR, name='Toe_2', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_toe_2_1_R', 'j_toe_2_2_R', 'j_toe_2_3_R']).create()
          self.mToeR_3 = rigModulesDuel.toeModule(mParentSystem=self.mLegR, name='Toe_3', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_toe_3_1_R', 'j_toe_3_2_R', 'j_toe_3_3_R']).create()
          self.mToeR_4 = rigModulesDuel.toeModule(mParentSystem=self.mLegR, name='Toe_4', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_toe_4_1_R', 'j_toe_4_2_R', 'j_toe_4_3_R']).create()
          self.mToeR_5 = rigModulesDuel.toeModule(mParentSystem=self.mLegR, name='Toe_5', side='Right', mirrorAxis='translateX, translateY, translateZ', ctrlSize=self.ctrlSizeDict['Toes'], ctrlType='circleCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_toe_5_1_R', 'j_toe_5_2_R', 'j_toe_5_3_R']).create()
          
          self.mShirt1 = rigModulesDuel.tShirtBottomModule(mParentSystem=self.mSpine, name='Shirt_1', side='Centre', ctrlType='CubeCurve', ctrlSize=self.ctrlSizeDict['Tshirt'], node='j_shirt_1', mirrorSlot=0, hook='Bottom').create()
          self.mShirt2 = rigModulesDuel.tShirtBottomModule(mParentSystem=self.mSpine, name='Shirt_2', side='Centre', ctrlType='CubeCurve', ctrlSize=self.ctrlSizeDict['Tshirt'], node='j_shirt_2', mirrorSlot=0, hook='Bottom').create()
          self.mShirt3 = rigModulesDuel.tShirtBottomModule(mParentSystem=self.mSpine, name='Shirt_3', side='Centre', ctrlType='CubeCurve', ctrlSize=self.ctrlSizeDict['Tshirt'], node='j_shirt_3', mirrorSlot=0, hook='Bottom').create()
          self.mShirt4 = rigModulesDuel.tShirtBottomModule(mParentSystem=self.mSpine, name='Shirt_4', side='Centre', ctrlType='CubeCurve', ctrlSize=self.ctrlSizeDict['Tshirt'], node='j_shirt_4', mirrorSlot=0, hook='Bottom').create()
          self.mShirt5 = rigModulesDuel.tShirtBottomModule(mParentSystem=self.mSpine, name='Shirt_5', side='Centre', ctrlType='CubeCurve', ctrlSize=self.ctrlSizeDict['Tshirt'], node='j_shirt_5', mirrorSlot=0, hook='Bottom').create()
          self.mShirt6 = rigModulesDuel.tShirtBottomModule(mParentSystem=self.mSpine, name='Shirt_6', side='Centre', ctrlType='CubeCurve', ctrlSize=self.ctrlSizeDict['Tshirt'], node='j_shirt_6', mirrorSlot=0, hook='Bottom').create()

          self.mMask = rigModulesDuel.maskModule(mParentSystem=self.mNeck, name='Mask', slidingSurface='mask_slidingSurface', side='Centre', ctrlType ='CubeCurve', ctrlSize=self.ctrlSizeDict['Mask']).create()
          self.mMask_1 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_1', side='Right', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_mask_bottom_1_%s' %(i+1) for i in range(4)]).create()
          self.mMask_2 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_2', side='Right', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_mask_bottom_2_%s' %(i+1) for i in range(4)]).create()
          self.mMask_3 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_1', side='Left', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_mask_bottom_3_%s' %(i+1) for i in range(4)]).create()
          self.mMask_4 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_2', side='Left', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_mask_bottom_4_%s' %(i+1) for i in range(4)]).create()
          
          self.mMask_5 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_3', side='Right', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_mask_bottom_7_%s' %(i+1) for i in range(5)]).create()
          self.mMask_6 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_4', side='Right', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Right'], joints=['j_mask_bottom_8_%s' %(i+1) for i in range(5)]).create()
          self.mMask_7 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_3', side='Left', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_mask_bottom_6_%s' %(i+1) for i in range(5)]).create()
          self.mMask_8 = rigModulesDuel.maskBottomModule(mParentSystem=self.mMask, mParentSystemPhysical=self.mSpine,  name='Mask_Bottom_4', side='Left', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Left'], joints=['j_mask_bottom_5_%s' %(i+1) for i in range(5)]).create()

          self.mMask_back_1 = rigModulesDuel.maskBackModule(mParentSystem=self.mMask,  name='Mask_Back_1', side='Centre', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Mask1'], joints=['j_mask_back_1_%s' %(i+1) for i in range(4)]).create()
          self.mMask_back_2 = rigModulesDuel.maskBackModule(mParentSystem=self.mMask,  name='Mask_Back_2', side='Centre', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Mask2'], joints=['j_mask_back_2_%s' %(i+1) for i in range(4)]).create()
          self.mMask_back_3 = rigModulesDuel.maskBackModule(mParentSystem=self.mMask,  name='Mask_Back_3', side='Centre', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Mask1'], joints=['j_mask_back_3_%s' %(i+1) for i in range(4)]).create()
          self.mMask_back_4 = rigModulesDuel.maskBackModule(mParentSystem=self.mMask,  name='Mask_Back_4', side='Centre', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Mask2'], joints=['j_mask_back_4_%s' %(i+1) for i in range(4)]).create()
          self.mMask_back_5 = rigModulesDuel.maskBackModule(mParentSystem=self.mMask,  name='Mask_Back_5', side='Centre', ctrlSize=self.ctrlSizeDict['Mask'], ctrlType='CubeCurve', colorProfile=self.colorProfileDict['Mask1'], joints=['j_mask_back_5_%s' %(i+1) for i in range(5)]).create()
               
          
          self.mHairFront1 =	rigModulesBody.fkModule(mParentSystem=self.mNeck, name='Hair_Front_1', side='Centre', ctrlSize=self.ctrlSizeDict['HairFront'], ctrlType='CircleCurve', colorProfile=self.colorProfileDict['Hair'], joints=['j_hair_1_%s' %(i+1) for i in range(5)], ctrlOffset=[[0.0, 0.0, 0.0],[90.0, 00.0, 0.0]]).create()
          self.mHairFront2 =	rigModulesBody.fkModule(mParentSystem=self.mNeck, name='Hair_Front_2', side='Centre', ctrlSize=self.ctrlSizeDict['HairFront'], ctrlType='CircleCurve', colorProfile=self.colorProfileDict['Hair'], joints=['j_hair_2_%s' %(i+1) for i in range(5)], ctrlOffset=[[0.0, 0.0, 0.0],[90.0, 00.0, 0.0]]).create()
          self.mHairFront3 =	rigModulesBody.fkModule(mParentSystem=self.mNeck, name='Hair_Front_3', side='Centre', ctrlSize=self.ctrlSizeDict['HairFront'], ctrlType='CircleCurve', colorProfile=self.colorProfileDict['Hair'], joints=['j_hair_3_%s' %(i+1) for i in range(5)], ctrlOffset=[[0.0, 0.0, 0.0],[90.0, 00.0, 0.0]]).create()
          self.mHairFront4 =	rigModulesBody.fkModule(mParentSystem=self.mNeck, name='Hair_Front_4', side='Centre', ctrlSize=self.ctrlSizeDict['HairFront'], ctrlType='CircleCurve', colorProfile=self.colorProfileDict['Hair'], joints=['j_hair_4_%s' %(i+1) for i in range(5)], ctrlOffset=[[0.0, 0.0, 0.0],[90.0, 00.0, 0.0]]).create()
          self.mHairFront5 =	rigModulesBody.fkModule(mParentSystem=self.mNeck, name='Hair_Front_5', side='Centre', ctrlSize=self.ctrlSizeDict['HairFront'], ctrlType='CircleCurve', colorProfile=self.colorProfileDict['Hair'], joints=['j_hair_5_%s' %(i+1) for i in range(5)], ctrlOffset=[[0.0, 0.0, 0.0],[90.0, 00.0, 0.0]]).create()