// This template started from version BS0284 (BS0284-corticospinal-v29.zip), then added new ion channels (calcium, kca, etc.)
// $Id: PTcell.hoc,v 1.5 2011/12/02 17:28:02 samn Exp $ 
// 2015-06-30: Added apical subsets:
//   Six new subsets of apical dendrites, to be used for distribution
//   of dendritic conductances, such as Ih/HCN.
//   apical_maintrunk, apical_oblique, apical_uppertrunk, apical_tuft, apical_beforebranchpoint, apical_afterbranchpoint

// load_file("morph.hoc")

/* *********************************************************** */

Vrest       = -90.220509483
v_init = -70.0432010302
celsius = 34.0 // same as experiment
tstop       = 3000
curr        = 0.300 // stimulus amplitude

// passive properties (optimization proxies)
cap         = 0.700445928608
rall        = 137.494564931
rm          = 38457.4393085
spinecapfactor = 1.48057846279

//Na, K reversal potentials calculated from BenS internal and external solutions via Nernst equation
p_ek          = -104
p_ena         = 42

// h-current 
h_erev      = -37.0 
h_gbar      = 6.6129403774e-05 //* 0.1 // mho/cm^2
h_gbar_tuft = 0.00565 // mho/cm^2 (based on Harnett 2015 J Neurosci)

// params for migliore h-current distribution
ghd = 6.0e-5  // similar to h_gbar used above = 6e-5
slope = 14*2.5
half = 265 // leads to max sigmoid value of ~0.006 from nexus (~297um) to tuft; similar to h_gbar_tuft

// d-current 
kdmc_gbar   =  0.00110907315064 //0.000916263431341 
kdmc_gbar_axonm = 20

// spiking currents
nax_gbar    =  0.0153130368342 // 0.0 S/cm2 (Hay11 = 20,000 pS/um2 = 20,000*1e-12*1e8 = 2 S/cm2)
nax_gbar_axonm = 5
nax_gbar_somam = 1
nax_gbar_dendm = 1
mnax = 0.0 // slope of linear decrease of nax in dends (with distance from soma)

kdr_gbar    = 0.0084715576279
kdr_gbar_axonm = 5
// A few kinetic params changed vis-a-vis kdr.mod defaults:
// These param values match the default values in kdr.mod (except where indicated).
kdr_vhalfn  = 13
kdr_a0n     = 0.0075 // def 0.02
kdr_nmax    = 20 // def 2

kap_gbar    = 0.0614003391814
kap_gbar_axonm = 5
// These param values match the default values in kap.mod (except where indicated).
kap_vhalfn  = 35 // def 11
kap_vhalfl  = -56
kap_nmin    = 0.4 // def 0.1
kap_lmin    = 5 // def 2
kap_tq      = -45 // def -40

// new ion channel parameters
cal_gcalbar = 5.73945708921e-06  
can_gcanbar = 4.74427101753e-06
//cat_gcatbar = 0.0 * 1e-5
calginc = 10
canginc = 100 
kBK_gpeak = 7.25128017201e-05 // original value of 268e-4 too high for this model
kBK_caVhminShift = 46.9679440782 // shift upwards to get lower effect on subthreshold
cadad_depth = 0.102468419281 // original 1; reduced for tighter coupling of ica and cai
cadad_taur = 16.0181691392 

/* *********************************************************** */

// 2010-11-01 Ben Suter
// BS0284 reconstructed in NL with soma as contours,
// then soma contours all selected at once and collectively
// "set as cell body". Saved as .asc file, loaded via Import3D,
// with errors about not connected root branches. I ignored
// these errors, exported to Cell Builder, then exported from
// Cell Builder to HOC. Soma is now a single section.
// All processes attach at soma(0.5).
// //////////////////////////////////////////////////////////////////////////////////////////
//
// //////////////////////////////////////////////////////////////////////////////////////////
// Copyright 2011, Benjamin Suter
// Used in model of corticospinal neuron BS0284 and published as:
//  "Intrinsic electrophysiology of mouse corticospinal neurons: a characteristic set of features embodied in a realistic computational model"
//  by Benjamin Suter, Michele Migliore, and Gordon Shepherd
//  Submitted September 2011
// //////////////////////////////////////////////////////////////////////////////////////////
useharnett = 0 // whether to use the harnett 15 HCN (h_harnett.mod, instead of h_bs.mod)
usekole = 0 // whether to use the kole 2006 HCN (ih_kole.mod, instead of h_bs.mod)
usemigliore = 0  // whether to use the migliore 2012 HCN (ih_migliore.mod, instead of h_bs.mod)

usecahotzone = 1 // whether to include ca 'hot zone' - if so, uses canginc,calginc to scale
// the apical dend cal,can conductances that are between nexus (~300 micron from soma)
// and before tuft (around 600 micron from soma)

begintemplate PTcell 
objref all, somatic, axonal, basal, apical, alldend, spiny, apical_maintrunk, apical_oblique, apical_uppertrunk, apical_tuft, apical_beforebranchpoint, apical_afterbranchpoint, perisom
objref stim, esyn, isyn,nil
public all,somatic,basal,apical,spiny,alldend
public apical_maintrunk, apical_oblique, apical_uppertrunk, apical_tuft, apical_beforebranchpoint, apical_afterbranchpoint, perisom
public lambda_f,geom_nseg,recalculate_x_dist, sethgbar, stim, nc, reconfig
external cap,rall,rm,spinecapfactor,Vrest,h_erev,h_gbar,h_gbar_tuft
external nax_gbar,nax_gbar_axonm,kdr_gbar,kdr_gbar_axonm, nax_gbar_somam, nax_gbar_dendm, mnax
external cal_gcalbar, can_gcanbar, kBK_gpeak, kBK_caVhminShift, cadad_depth, cadad_taur // cat_gcatbar
external kap_gbar,kap_gbar_axonm,p_ek,p_ena
external kdmc_gbar,kdmc_gbar_axonm, calginc, canginc, useharnett, usekole, usemigliore, usecahotzone
double h_lambda[1],nexusdist[1],h_gbar_tuftm[1]
public h_lambda,nexusdist,h_gbar_tuftm
external kdr_vhalfn, kdr_a0n, kdr_nmax
external kap_vhalfn, kap_vhalfl, kap_nmin, kap_lmin, kap_tq
external ghd, slope, half // migliore ih params

public mkstim,soma,axon
//stuff for having an interface like intf6 - not all values might actually be relevant and used for mc
public zloc, type, inhib, record, wrec, jttr, input, vinflg, invl0, jcn, dead, vbr, dbx, flag, out,xloc,col,gid,yloc,id
public wrc,recclr, id, recflag, initrec, fflag, fini, esyn, isyn
public getdvi
objref vidx,vdel,ign1,vwt2,vwt1,vdist
objref esyn,esynd[103],isyn,isynd[103] // leave old syns
objref asynl,nsynl,gsynl,g2synl // ampa,nmda,gabaa,gabab
public asynl,nsynl,gsynl,g2synl // ampa,nmda,gabaa,gabab
create soma, axon, dend[69], apic[103]
public soma,dend,apic,axon
access soma
distance()

proc getdvi(){
  $&1 = vidx
  $&2 = vdel
  $&3 = ign1
  $&4 = vwt1
  $&5 = vwt2
  $&6 = vdist
}

func yloc(){ return 1.0 } // empty funcs
func gid(){ return 1.0 }
func xloc(){ return 1.0 }
func col(){ return 1.0 }
func fini(){ return 1.0 }
func fflag(){ return 0.0 } //return 0 to record APs from soma
func initrec(){ return 1.0 }
func flag(){ return 1.0 }
func recflag(){ return 1.0 }
func wrc(){ return 1.0 }
func recclr(){ return 1.0 }
func clrvspks(){ return 1.0 }

proc topol() { local i
  connect axon(0), soma(0) // 2011-12-08 axon starts at base now, was: connect axon(0), soma(0.5)
  connect dend(0), soma(0.5)
  for i = 1, 2 connect dend[i](0), dend[i-1](1)
  connect dend[3](0), dend[1](1)
  connect dend[4](0), dend(1)
  for i = 5, 6 connect dend[i](0), soma(0.5)
  for i = 7, 9 connect dend[i](0), dend[i-1](1)
  connect dend[10](0), dend[8](1)
  for i = 11, 12 connect dend[i](0), dend[10](1)
  connect dend[13](0), dend[7](1)
  for i = 14, 15 connect dend[i](0), dend[i-1](1)
  connect dend[16](0), dend[14](1)
  connect dend[17](0), dend[13](1)
  connect dend[18](0), dend[6](1)
  for i = 19, 20 connect dend[i](0), dend[18](1)
  connect dend[21](0), soma(0.5)
  for i = 22, 23 connect dend[i](0), dend[21](1)
  connect dend[24](0), soma(0.5)
  connect dend[25](0), dend[24](1)
  for i = 26, 27 connect dend[i](0), soma(0.5)
  for i = 28, 29 connect dend[i](0), dend[i-1](1)
  connect dend[30](0), dend[28](1)
  for i = 31, 32 connect dend[i](0), dend[30](1)
  connect dend[33](0), dend[27](1)
  for i = 34, 35 connect dend[i](0), dend[i-1](1)
  connect dend[36](0), dend[34](1)
  connect dend[37](0), dend[33](1)
  connect dend[38](0), soma(0.5)
  for i = 39, 40 connect dend[i](0), dend[38](1)
  for i = 41, 42 connect dend[i](0), dend[40](1)
  for i = 43, 44 connect dend[i](0), dend[42](1)
  for i = 45, 46 connect dend[i](0), dend[44](1)
  connect dend[47](0), soma(0.5)
  for i = 48, 49 connect dend[i](0), dend[i-1](1)
  connect dend[50](0), dend[48](1)
  connect dend[51](0), dend[47](1)
  for i = 52, 53 connect dend[i](0), dend[51](1)
  for i = 54, 55 connect dend[i](0), dend[53](1)
  for i = 56, 57 connect dend[i](0), soma(0.5)
  for i = 58, 59 connect dend[i](0), dend[57](1)
  connect dend[60](0), soma(0.5)
  for i = 61, 62 connect dend[i](0), dend[60](1)
  connect dend[63](0), soma(0.5)
  for i = 64, 65 connect dend[i](0), dend[63](1)
  connect dend[66](0), soma(0.5)
  for i = 67, 68 connect dend[i](0), dend[66](1)
  connect apic(0), soma(1)  // 2011-12-08 apical starts at apex now, was: connect apic(0), soma(0.5)
  for i = 1, 26 connect apic[i](0), apic[i-1](1)
  connect apic[27](0), apic[25](1)
  for i = 28, 29 connect apic[i](0), apic[27](1)
  for i = 30, 31 connect apic[i](0), apic[29](1)
  connect apic[32](0), apic[24](1)
  for i = 33, 35 connect apic[i](0), apic[i-1](1)
  connect apic[36](0), apic[34](1)
  connect apic[37](0), apic[33](1)
  for i = 38, 39 connect apic[i](0), apic[i-1](1)
  connect apic[40](0), apic[38](1)
  connect apic[41](0), apic[37](1)
  for i = 42, 43 connect apic[i](0), apic[41](1)
  for i = 44, 45 connect apic[i](0), apic[43](1)
  connect apic[46](0), apic[32](1)
  for i = 47, 48 connect apic[i](0), apic[i-1](1)
  connect apic[49](0), apic[47](1)
  connect apic[50](0), apic[46](1)
  connect apic[51](0), apic[23](1)
  connect apic[52](0), apic[22](1)
  for i = 53, 56 connect apic[i](0), apic[i-1](1)
  connect apic[57](0), apic[55](1)
  connect apic[58](0), apic[54](1)
  for i = 59, 60 connect apic[i](0), apic[58](1)
  connect apic[61](0), apic[53](1)
  for i = 62, 64 connect apic[i](0), apic[i-1](1)
  connect apic[65](0), apic[63](1)
  for i = 66, 67 connect apic[i](0), apic[65](1)
  connect apic[68](0), apic[62](1)
  connect apic[69](0), apic[61](1)
  for i = 70, 71 connect apic[i](0), apic[i-1](1)
  connect apic[72](0), apic[70](1)
  connect apic[73](0), apic[69](1)
  for i = 74, 75 connect apic[i](0), apic[73](1)
  for i = 76, 77 connect apic[i](0), apic[75](1)
  connect apic[78](0), apic[52](1)
  connect apic[79](0), apic[21](1)
  connect apic[80](0), apic[20](1)
  connect apic[81](0), apic[19](1)
  connect apic[82](0), apic[18](1)
  connect apic[83](0), apic[17](1)
  connect apic[84](0), apic[16](1)
  connect apic[85](0), apic[15](1)
  connect apic[86](0), apic[14](1)
  connect apic[87](0), apic[13](1)
  connect apic[88](0), apic[12](1)
  connect apic[89](0), apic[11](1)
  connect apic[90](0), apic[10](1)
  connect apic[91](0), apic[9](1)
  connect apic[92](0), apic[8](1)
  connect apic[93](0), apic[7](1)
  connect apic[94](0), apic[6](1)
  connect apic[95](0), apic[5](1)
  connect apic[96](0), apic[4](1)
  connect apic[97](0), apic[3](1)
  connect apic[98](0), apic[2](1)
  connect apic[99](0), apic[1](1)
  for i = 100, 101 connect apic[i](0), apic[99](1)
  connect apic[102](0), apic(1)
  basic_shape()
}
proc shape3d_1() {
  soma {pt3dclear()
    pt3dadd(216.294, -825.836, -85, 2.32638)
    pt3dadd(216.184, -823.347, -87.87, 7.87308)
    pt3dadd(216.283, -822.396, -90.73, 10.2763)
    pt3dadd(216.548, -821.017, -93.6, 11.7817)
    pt3dadd(216.515, -820.721, -96.46, 12.6242)
    pt3dadd(216.666, -820.381, -98.37, 14.5434)
    pt3dadd(216.289, -819.116, -100.28, 14.5887)
    pt3dadd(215.755, -818.224, -102.19, 15.8271)
    pt3dadd(215.842, -818.891, -104.1, 16.0252)
    pt3dadd(215.749, -818.464, -106.01, 16.5298)
    pt3dadd(215.948, -818.57, -107.92, 16.8686)
    pt3dadd(216.176, -819.031, -109.83, 16.6783)
    pt3dadd(215.845, -818.445, -111.74, 15.2715)
    pt3dadd(215.632, -818.261, -113.65, 14.1144)
    pt3dadd(215.517, -817.616, -115.56, 12.1377)
    pt3dadd(215.212, -817.257, -116.52, 10.8328)
    pt3dadd(214.885, -817.082, -117.47, 9.11556)
    pt3dadd(214.366, -816.426, -118.43, 7.47523)
    pt3dadd(214.402, -816.386, -119.38, 6.15201)
  }
  axon {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(215.53, -827.75, -89.78, 1.86)
    pt3dadd(215.37, -829.59, -89.78, 1.76)
    pt3dadd(215.29, -832.57, -89.78, 1.76)
    pt3dadd(214.68, -834.73, -88.82, 1.54)
    pt3dadd(213.48, -836.17, -88.82, 1.44)
    pt3dadd(213.02, -837.74, -88.82, 1.33)
    pt3dadd(213.08, -839.33, -88.82, 1.25)
    pt3dadd(213.24, -841.07, -90.73, 1.17)
    pt3dadd(213.32, -844.07, -90.73, 1.17)
    pt3dadd(213.32, -845.99, -90.73, 1.14)
    pt3dadd(213.45, -847.54, -90.73, 1.09)
    pt3dadd(213.64, -849.43, -90.73, 1.09)
    pt3dadd(213.64, -851.21, -90.73, 1.09)
    pt3dadd(213.5, -853.82, -91.69, 1.04)
    pt3dadd(213.13, -856.99, -91.69, 1.07)
    pt3dadd(212.94, -858.66, -91.69, 1.04)
    pt3dadd(212.57, -861.35, -91.69, 0.93)
    pt3dadd(212.49, -864.71, -92.64, 0.93)
    pt3dadd(212.09, -873.33, -93.6, 0.96)
    pt3dadd(211.61, -876.64, -93.6, 0.96)
    pt3dadd(211.53, -877.81, -96.46, 1.25)
    pt3dadd(211.11, -878.98, -96.46, 1.04)
    pt3dadd(210.68, -880.76, -96.46, 1.04)
    pt3dadd(210.44, -882.31, -96.46, 0.91)
    pt3dadd(210.42, -883.45, -96.46, 0.75)
    pt3dadd(209.59, -885.96, -97.42, 0.8)
    pt3dadd(208.68, -889.31, -97.42, 0.8)
    pt3dadd(207.73, -891.71, -96.46, 0.85)
    pt3dadd(207.3, -892.88, -96.46, 0.91)
    pt3dadd(206.87, -894.87, -97.42, 0.88)
    pt3dadd(206.47, -897.19, -97.42, 0.93)
    pt3dadd(206.18, -898.34, -97.42, 1.04)
    pt3dadd(205.73, -899.83, -97.42, 0.99)
    pt3dadd(204.74, -901.5, -98.37, 0.88)
    pt3dadd(203.92, -903.9, -100.28, 0.88)
    pt3dadd(203.79, -905.13, -99.33, 1.07)
    pt3dadd(203.55, -906.54, -99.33, 0.91)
    pt3dadd(202.83, -909.44, -99.33, 0.85)
    pt3dadd(202.69, -912.29, -99.33, 0.85)
    pt3dadd(202.56, -915.14, -99.33, 0.85)
    pt3dadd(202.56, -916.92, -101.24, 0.85)
    pt3dadd(202.48, -918.92, -101.24, 0.85)
    pt3dadd(202.69, -920.38, -101.24, 0.93)
    pt3dadd(202.24, -922.01, -102.19, 1.04)
    pt3dadd(202.06, -923.55, -103.15, 0.8)
    pt3dadd(201.9, -926.56, -103.15, 1.12)
    pt3dadd(200.86, -928.4, -104.1, 1.22)
    pt3dadd(200.67, -929.78, -104.1, 1.12)
    pt3dadd(200.03, -932.31, -104.1, 0.91)
    pt3dadd(198.59, -936.12, -105.06, 0.85)
    pt3dadd(197.16, -939.6, -106.01, 0.85)
    pt3dadd(196.57, -942.64, -105.06, 0.85)
    pt3dadd(196.46, -944.64, -106.01, 0.83)
    pt3dadd(197.05, -946.53, -105.06, 0.83)
    pt3dadd(196.73, -949, -105.06, 0.83)
    pt3dadd(196.94, -952.28, -106.01, 0.83)
    pt3dadd(196.12, -954.49, -106.01, 0.83)
    pt3dadd(195.69, -956.78, -106.01, 0.83)
    pt3dadd(195.21, -959.28, -106.01, 0.83)
    pt3dadd(194.33, -961.22, -106.01, 0.83)
    pt3dadd(193.64, -964.87, -105.06, 0.83)
    pt3dadd(193.32, -966.47, -105.06, 1.25)
    pt3dadd(193.19, -968.01, -104.1, 1.17)
    pt3dadd(193.14, -969.96, -105.06, 0.75)
    pt3dadd(193.43, -971.47, -105.06, 0.75)
    pt3dadd(193.24, -973.95, -103.15, 0.75)
    pt3dadd(192.95, -975.28, -103.15, 0.85)
    pt3dadd(193.16, -976.85, -103.15, 0.93)
    pt3dadd(193.46, -979.83, -103.15, 0.88)
    pt3dadd(193.38, -981.91, -101.24, 0.88)
    pt3dadd(193.46, -984.81, -101.24, 0.88)
    pt3dadd(193.32, -987.21, -101.24, 0.88)
    pt3dadd(193.16, -989.77, -103.15, 0.88)
    pt3dadd(193.06, -990.88, -103.15, 1.01)
    pt3dadd(192.87, -992.19, -103.15, 1.01)
    pt3dadd(192.6, -993.41, -102.19, 0.88)
    pt3dadd(192.36, -994.8, -102.19, 0.88)
    pt3dadd(191.56, -996.66, -103.15, 0.96)
    pt3dadd(191.43, -997.65, -103.15, 1.12)
    pt3dadd(190.9, -998.5, -103.15, 0.99)
    pt3dadd(190.5, -999.56, -105.06, 0.83)
    pt3dadd(189.83, -1000.84, -104.1, 0.83)
    pt3dadd(189.12, -1002.71, -105.06, 0.83)
    pt3dadd(188.96, -1004.52, -105.06, 0.83)
    pt3dadd(189.28, -1005.87, -105.06, 1.07)
    pt3dadd(189.43, -1007.68, -105.06, 1.07)
    pt3dadd(189.73, -1010.08, -105.06, 0.96)
    pt3dadd(189.94, -1013.54, -105.06, 0.96)
    pt3dadd(189.97, -1015.41, -105.06, 0.85)
    pt3dadd(189.78, -1017.8, -105.06, 0.85)
    pt3dadd(189.73, -1020.3, -105.06, 0.85)
    pt3dadd(189.46, -1024.67, -105.06, 0.85)
    pt3dadd(189.67, -1029.28, -104.1, 0.85)
    pt3dadd(189.65, -1032.37, -102.19, 0.96)
    pt3dadd(189.54, -1035.61, -102.19, 1.01)
    pt3dadd(189.7, -1036.97, -102.19, 1.22)
    pt3dadd(189.73, -1038.25, -101.24, 1.17)
    pt3dadd(189.91, -1039.05, -101.24, 0.93)
    pt3dadd(189.94, -1041.15, -101.24, 0.93)
    pt3dadd(190.82, -1043.5, -101.24, 0.93)
    pt3dadd(191.56, -1049.38, -101.24, 0.93)
    pt3dadd(191.22, -1052.71, -101.24, 0.93)
    pt3dadd(191.09, -1055.32, -101.24, 0.93)
    pt3dadd(190.5, -1060, -102.19, 0.93)
    pt3dadd(189.91, -1061.84, -103.15, 1.17)
    pt3dadd(189.67, -1063.2, -103.15, 1.09)
    pt3dadd(189.65, -1065.22, -103.15, 0.93)
    pt3dadd(189.94, -1067.83, -105.06, 0.93)
    pt3dadd(191.22, -1072.68, -106.97, 0.93)
    pt3dadd(191.3, -1075.55, -106.97, 0.93)
    pt3dadd(191.51, -1077.74, -108.88, 1.49)
    pt3dadd(191.56, -1078.83, -108.88, 1.38)
    pt3dadd(191.43, -1080, -108.88, 1.01)
    pt3dadd(190.98, -1084.6, -108.88, 0.99)
    pt3dadd(190.93, -1086.95, -108.88, 0.83)
    pt3dadd(190.63, -1088.73, -108.88, 1.09)
    pt3dadd(190.39, -1090.73, -110.79, 0.96)
    pt3dadd(190.26, -1093.07, -110.79, 0.96)
    pt3dadd(190.31, -1094.64, -109.83, 0.88)
    pt3dadd(190.74, -1095.97, -109.83, 0.96)
    pt3dadd(190.79, -1098.05, -109.83, 1.09)
    pt3dadd(191.11, -1099.51, -108.88, 1.01)
    pt3dadd(191.56, -1100.71, -108.88, 0.91)
    pt3dadd(191.35, -1103.06, -108.88, 0.91)
    pt3dadd(192.18, -1106.12, -108.88, 0.91)
    pt3dadd(192.18, -1109.39, -107.92, 0.99)
    pt3dadd(192.44, -1111.1, -107.92, 0.83)
    pt3dadd(192.44, -1113.84, -107.92, 0.91)
    pt3dadd(191.86, -1116.79, -107.92, 0.91)
    pt3dadd(191.56, -1119, -107.92, 0.91)
    pt3dadd(191.41, -1121, -107.92, 0.91)
    pt3dadd(190.63, -1122.78, -107.92, 0.91)
    pt3dadd(189.65, -1126.25, -107.92, 0.91)
    pt3dadd(189.09, -1128.03, -107.92, 0.91)
    pt3dadd(188.58, -1130.64, -107.92, 0.91)
    pt3dadd(188.24, -1132.42, -107.92, 0.91)
    pt3dadd(188.24, -1134.42, -107.92, 0.91)
    pt3dadd(187.76, -1136.44, -106.01, 0.99)
    pt3dadd(186.99, -1137.8, -104.1, 0.99)
    pt3dadd(186.61, -1139.69, -104.1, 0.99)
    pt3dadd(186.24, -1140.89, -104.1, 0.99)
    pt3dadd(185.57, -1141.9, -104.1, 0.99)
    pt3dadd(185.49, -1143.5, -104.1, 0.99)
    pt3dadd(182.14, -1149.01, -103.15, 0.99)
    pt3dadd(181.39, -1150.18, -103.15, 0.99)
    pt3dadd(180.44, -1151.81, -103.15, 0.93)
    pt3dadd(179.1, -1153.4, -103.15, 0.88)
    pt3dadd(178.47, -1154.92, -103.15, 0.88)
    pt3dadd(177.72, -1156.65, -103.15, 0.88)
    pt3dadd(177.75, -1158.94, -103.15, 0.88)
    pt3dadd(178.2, -1160.65, -103.15, 0.88)
    pt3dadd(178.63, -1161.76, -103.15, 0.88)
    pt3dadd(178.52, -1162.93, -103.15, 1.12)
    pt3dadd(178.44, -1163.92, -103.15, 0.91)
    pt3dadd(178.44, -1166.66, -101.24, 0.83)
    pt3dadd(178.41, -1169.56, -101.24, 0.83)
    pt3dadd(178.28, -1172.55, -101.24, 0.83)
    pt3dadd(177.56, -1173.85, -101.24, 0.83)
    pt3dadd(177.27, -1174.86, -101.24, 0.83)
    pt3dadd(177.08, -1177.77, -101.24, 0.83)
    pt3dadd(176.55, -1179.63, -101.24, 0.83)
    pt3dadd(174.21, -1184.82, -102.19, 0.83)
    pt3dadd(173.67, -1187.62, -102.19, 0.83)
    pt3dadd(172.79, -1190.6, -99.33, 0.83)
    pt3dadd(172.21, -1192.46, -99.33, 0.83)
    pt3dadd(171.44, -1195.6, -99.33, 0.83)
    pt3dadd(171.09, -1198.88, -99.33, 0.83)
    pt3dadd(169.15, -1209.93, -100.28, 0.83)
    pt3dadd(167.87, -1213.42, -100.28, 0.83)
    pt3dadd(166.43, -1219.59, -103.15, 0.83)
    pt3dadd(165.87, -1223.24, -104.1, 0.83)
    pt3dadd(165.15, -1226.14, -104.1, 0.83)
    pt3dadd(164.41, -1228.83, -104.1, 0.83)
    pt3dadd(163.66, -1231.52, -104.1, 0.83)
    pt3dadd(163.85, -1233.44, -104.1, 0.83)
    pt3dadd(165.07, -1235.04, -104.1, 0.83)
    pt3dadd(166.94, -1238.84, -100.28, 0.83)
    pt3dadd(168.21, -1240.15, -100.28, 0.83)
    pt3dadd(168.75, -1243.69, -94.55, 0.83)
    pt3dadd(170.56, -1248.75, -95.51, 0.83)
  }
}
proc shape3d_2() {
  axon {    pt3dadd(170.11, -1252.98, -88.82, 0.83)
    pt3dadd(171.14, -1256.36, -80.23, 0.83)
    pt3dadd(171.54, -1258.04, -76.41, 1.89)
    pt3dadd(172.24, -1259.9, -72.59, 1.14)
    pt3dadd(173.43, -1260.99, -67.81, 1.14)
    pt3dadd(174.71, -1261.95, -66.86, 1.28)
    pt3dadd(175.91, -1261.95, -63.99, 1.14)
    pt3dadd(177.03, -1263.1, -63.04, 1.09)
    pt3dadd(179.4, -1263.66, -59.21, 0.91)
    pt3dadd(180.86, -1263.79, -59.21, 0.91)
    pt3dadd(184.32, -1264.7, -55.39, 0.91)
    pt3dadd(188, -1265.49, -51.57, 0.91)
    pt3dadd(189.28, -1266.56, -51.57, 0.88)
    pt3dadd(192.55, -1266.85, -44.89, 0.88)
    pt3dadd(192.92, -1267.68, -42.02, 1.44)
    pt3dadd(193.16, -1269.81, -41.07, 2.61)
    pt3dadd(193.08, -1270.69, -36.29, 5.54)
    pt3dadd(193.03, -1270.74, -24.83, 4.1)
    pt3dadd(192.98, -1270.71, -20.06, 2.29)
  }
  dend {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(217.6, -818.68, -88.82, 0.91)
    pt3dadd(219.15, -817.46, -88.82, 0.91)
    pt3dadd(221.38, -817.14, -85, 0.91)
    pt3dadd(222.85, -816.77, -84.05, 0.85)
    pt3dadd(223.94, -816.02, -83.09, 0.85)
    pt3dadd(224.66, -815.83, -81.18, 1.04)
    pt3dadd(226.2, -815.11, -77.36, 0.91)
    pt3dadd(229.98, -813.89, -75.45, 0.85)
    pt3dadd(231.07, -813.2, -72.59, 0.93)
  }
  dend[1] {pt3dclear()
    pt3dadd(231.07, -813.2, -72.59, 0.83)
    pt3dadd(231.21, -812.13, -69.72, 0.83)
    pt3dadd(231.34, -810.8, -64.95, 0.83)
    pt3dadd(231.9, -809.63, -62.08, 0.83)
    pt3dadd(232.72, -808.64, -59.21, 0.75)
    pt3dadd(233.42, -807.77, -58.26, 0.75)
    pt3dadd(234.06, -806.54, -56.35, 0.75)
  }
  dend[2] {pt3dclear()
    pt3dadd(234.06, -806.54, -56.35, 0.75)
    pt3dadd(234.24, -805.1, -57.3, 0.75)
    pt3dadd(234.45, -803.05, -57.3, 0.75)
    pt3dadd(235.28, -801.4, -54.44, 0.69)
    pt3dadd(235.55, -798.87, -54.44, 0.64)
    pt3dadd(235.95, -795.47, -53.48, 0.64)
    pt3dadd(238.08, -791.5, -52.53, 0.64)
    pt3dadd(240.98, -788.89, -51.57, 0.64)
    pt3dadd(242.97, -788.2, -50.62, 0.64)
    pt3dadd(245.66, -785.69, -51.57, 0.69)
    pt3dadd(250.4, -779.78, -50.62, 0.69)
    pt3dadd(252.24, -777.73, -50.62, 0.69)
    pt3dadd(254.56, -776.43, -47.75, 0.69)
    pt3dadd(258.1, -775.34, -46.8, 0.64)
    pt3dadd(260.04, -775.02, -44.89, 0.64)
    pt3dadd(263.66, -773.47, -43.93, 0.64)
    pt3dadd(267.23, -770.73, -40.11, 0.59)
    pt3dadd(269.81, -769.72, -41.07, 0.59)
    pt3dadd(269.57, -769.08, -37.25, 0.59)
  }
  dend[3] {pt3dclear()
    pt3dadd(234.06, -806.54, -56.35, 0.64)
    pt3dadd(236.35, -806.2, -55.39, 0.64)
    pt3dadd(238.05, -806.43, -52.53, 0.64)
    pt3dadd(239.41, -806.12, -51.57, 0.64)
    pt3dadd(241.11, -806.28, -50.62, 0.64)
    pt3dadd(243.24, -806.49, -47.75, 0.64)
    pt3dadd(244.28, -806.17, -44.89, 0.64)
    pt3dadd(245.34, -806.12, -42.02, 0.64)
    pt3dadd(245.96, -806.51, -42.02, 0.64)
    pt3dadd(246.6, -806.67, -40.11, 0.64)
    pt3dadd(246.97, -806.99, -37.25, 0.64)
    pt3dadd(247.08, -806.94, -34.38, 0.64)
  }
  dend[4] {pt3dclear()
    pt3dadd(231.07, -813.2, -72.59, 0.69)
    pt3dadd(232.35, -812.96, -72.59, 0.69)
    pt3dadd(234.08, -812.72, -72.59, 0.69)
    pt3dadd(235.17, -812.96, -70.68, 0.69)
    pt3dadd(236.8, -813.17, -68.77, 0.69)
    pt3dadd(239.22, -813.44, -67.81, 0.64)
    pt3dadd(242.71, -813.57, -66.86, 0.64)
    pt3dadd(244.31, -813.65, -64.95, 0.64)
    pt3dadd(247.79, -813.84, -65.9, 0.64)
    pt3dadd(249.63, -814.08, -63.04, 0.64)
    pt3dadd(251.95, -814.56, -63.04, 0.59)
    pt3dadd(254.96, -816.93, -61.12, 0.56)
    pt3dadd(257.96, -820.23, -60.17, 0.56)
    pt3dadd(259.14, -821.27, -60.17, 0.56)
    pt3dadd(261.29, -821.69, -60.17, 0.56)
    pt3dadd(262.46, -822.94, -58.26, 0.56)
    pt3dadd(264.22, -823.79, -56.35, 0.56)
    pt3dadd(266.14, -825.58, -54.44, 0.56)
    pt3dadd(268.85, -828.08, -52.53, 0.56)
    pt3dadd(271.09, -829.6, -48.71, 0.56)
    pt3dadd(273.33, -830.58, -45.84, 0.56)
    pt3dadd(274.02, -831.89, -45.84, 0.56)
    pt3dadd(276.23, -833.7, -44.89, 0.56)
    pt3dadd(279.03, -834.95, -43.93, 0.56)
    pt3dadd(284.38, -835.99, -43.93, 0.56)
    pt3dadd(287.73, -837.32, -43.93, 0.56)
    pt3dadd(292.28, -839.74, -42.98, 0.56)
    pt3dadd(295.19, -841.37, -42.98, 0.56)
    pt3dadd(298.99, -843.76, -41.07, 0.56)
    pt3dadd(301.92, -844.72, -39.16, 0.56)
    pt3dadd(304.32, -845.71, -39.16, 0.56)
  }
  dend[5] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(212.97, -822.28, -82.14, 1.09)
    pt3dadd(213.37, -824.3, -82.14, 0.99)
    pt3dadd(212.38, -825.66, -79.27, 1.07)
    pt3dadd(211.88, -825.92, -74.5, 1.07)
    pt3dadd(211.74, -826.51, -71.63, 1.07)
    pt3dadd(213.5, -827.76, -66.86, 1.01)
    pt3dadd(214.27, -829.6, -63.04, 1.01)
    pt3dadd(214.46, -831.94, -54.44, 1.01)
    pt3dadd(215.76, -833.33, -48.71, 1.01)
    pt3dadd(215.98, -835.51, -42.98, 1.01)
    pt3dadd(215.87, -835.83, -39.16, 0.96)
  }
  dend[6] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(212.22, -821.64, -85.96, 1.3)
    pt3dadd(211.13, -820.01, -85.96, 1.3)
    pt3dadd(209.96, -819.29, -85.96, 1.3)
    pt3dadd(208.89, -819.45, -85.96, 1.3)
    pt3dadd(208.1, -819.93, -84.05, 1.38)
    pt3dadd(207.48, -820.65, -81.18, 1.46)
  }
  dend[7] {pt3dclear()
    pt3dadd(207.48, -820.65, -81.18, 1.46)
    pt3dadd(206.86, -821.44, -81.18, 1.46)
  }
  dend[8] {pt3dclear()
    pt3dadd(206.86, -821.44, -81.18, 1.2)
    pt3dadd(206.7, -819.76, -72.59, 1.2)
    pt3dadd(207.82, -818.72, -68.77, 1.07)
  }
  dend[9] {pt3dclear()
    pt3dadd(207.82, -818.72, -68.77, 0.83)
    pt3dadd(208.91, -817.9, -66.86, 0.83)
    pt3dadd(210.06, -817.45, -64.95, 0.83)
    pt3dadd(211.07, -817.31, -63.04, 0.72)
    pt3dadd(213.6, -816.12, -62.08, 0.69)
    pt3dadd(216.29, -815.08, -59.21, 0.64)
    pt3dadd(218.02, -814.68, -58.26, 0.72)
    pt3dadd(219.56, -814.76, -55.39, 0.72)
    pt3dadd(221.85, -815.69, -53.48, 0.69)
    pt3dadd(223.93, -816.86, -51.57, 0.67)
    pt3dadd(226.27, -817.58, -47.75, 0.61)
    pt3dadd(228.64, -818.8, -43.93, 0.56)
    pt3dadd(230.35, -820.99, -42.02, 0.56)
    pt3dadd(230.29, -821.41, -35.34, 0.56)
  }
  dend[10] {pt3dclear()
    pt3dadd(207.82, -818.72, -68.77, 0.8)
    pt3dadd(207.64, -817.26, -67.81, 0.8)
    pt3dadd(206.68, -815.85, -66.86, 0.8)
    pt3dadd(204.76, -813.75, -63.04, 0.75)
    pt3dadd(202.95, -811.75, -63.04, 0.69)
    pt3dadd(200.39, -809.83, -59.21, 0.64)
    pt3dadd(198.16, -808.63, -57.3, 0.77)
  }
  dend[11] {pt3dclear()
    pt3dadd(198.16, -808.63, -57.3, 0.69)
    pt3dadd(197.44, -807.3, -56.35, 0.69)
    pt3dadd(196.88, -804.19, -54.44, 0.69)
    pt3dadd(196.85, -801.74, -53.48, 0.61)
    pt3dadd(196.51, -799.69, -50.62, 0.61)
    pt3dadd(197.17, -797.45, -49.66, 0.61)
    pt3dadd(197.17, -795.21, -47.75, 0.61)
    pt3dadd(199.06, -793.54, -45.84, 0.61)
    pt3dadd(199.01, -792.92, -42.98, 0.61)
    pt3dadd(199.17, -792.58, -38.2, 0.61)
  }
  dend[12] {pt3dclear()
    pt3dadd(198.16, -808.63, -57.3, 0.67)
    pt3dadd(197.15, -808.69, -53.48, 0.67)
    pt3dadd(195.39, -809.22, -52.53, 0.67)
    pt3dadd(193.87, -809.27, -52.53, 0.67)
    pt3dadd(193.07, -809.27, -49.66, 0.67)
    pt3dadd(192.03, -810.15, -49.66, 0.67)
    pt3dadd(191.05, -811.72, -48.71, 0.67)
    pt3dadd(187.11, -813.45, -47.75, 0.67)
    pt3dadd(185.06, -814.06, -45.84, 0.67)
    pt3dadd(182.66, -815.16, -42.98, 0.67)
    pt3dadd(181.41, -815.24, -43.93, 0.61)
    pt3dadd(180.56, -815.29, -43.93, 0.61)
    pt3dadd(180.59, -815.24, -39.16, 0.61)
  }
  dend[13] {pt3dclear()
    pt3dadd(206.86, -821.44, -81.18, 1.2)
    pt3dadd(206.42, -822.62, -77.36, 1.2)
    pt3dadd(206.31, -824.25, -76.41, 1.12)
    pt3dadd(205.83, -826.67, -75.45, 1.12)
    pt3dadd(205.49, -829.01, -74.5, 1.01)
    pt3dadd(204.74, -830.8, -72.59, 0.96)
    pt3dadd(204.37, -832.21, -70.68, 0.88)
  }
  dend[14] {pt3dclear()
    pt3dadd(204.37, -832.21, -70.68, 0.77)
    pt3dadd(204.16, -835.08, -69.72, 0.77)
    pt3dadd(203.36, -839.29, -68.77, 0.77)
    pt3dadd(202.32, -843.76, -66.86, 0.77)
    pt3dadd(202.03, -846.88, -66.86, 0.8)
    pt3dadd(201.2, -849.27, -66.86, 0.77)
    pt3dadd(200.4, -852.07, -66.86, 0.77)
    pt3dadd(200.35, -854.97, -66.86, 0.77)
    pt3dadd(200.11, -859.39, -66.86, 0.77)
    pt3dadd(199.95, -863.71, -68.77, 0.77)
    pt3dadd(200.48, -867.25, -66.86, 0.77)
    pt3dadd(200.53, -870.26, -63.99, 0.85)
  }
  dend[15] {pt3dclear()
    pt3dadd(200.53, -870.26, -63.99, 0.77)
    pt3dadd(202.32, -872.86, -61.12, 0.77)
    pt3dadd(203.81, -875.53, -58.26, 0.69)
    pt3dadd(203.94, -877.28, -58.26, 0.69)
    pt3dadd(204.95, -878.78, -54.44, 0.69)
    pt3dadd(205.19, -880.35, -51.57, 0.69)
    pt3dadd(206.31, -883.43, -45.84, 0.69)
    pt3dadd(207.32, -886.58, -42.02, 0.69)
    pt3dadd(207.99, -887.93, -41.07, 0.69)
    pt3dadd(209.83, -888.68, -41.07, 0.69)
  }
  dend[16] {pt3dclear()
    pt3dadd(200.53, -870.26, -63.99, 0.69)
    pt3dadd(198.62, -873.18, -63.04, 0.69)
    pt3dadd(197.23, -874.97, -61.12, 0.69)
    pt3dadd(196.35, -875.9, -59.21, 0.69)
    pt3dadd(196.04, -877.87, -58.26, 0.69)
  }
}
proc shape3d_3() {
  dend[16] {    pt3dadd(195.58, -880.16, -58.26, 0.69)
    pt3dadd(195.21, -883.59, -58.26, 0.69)
    pt3dadd(194.17, -886.58, -58.26, 0.69)
    pt3dadd(192.6, -889.32, -55.39, 0.69)
    pt3dadd(190.76, -892.83, -54.44, 0.69)
    pt3dadd(188.71, -895.15, -53.48, 0.69)
    pt3dadd(186.69, -897.04, -53.48, 0.72)
    pt3dadd(185.23, -898.48, -52.53, 0.72)
    pt3dadd(184.61, -903.03, -50.62, 0.72)
    pt3dadd(184.35, -905.24, -50.62, 0.77)
    pt3dadd(183.28, -907.56, -50.62, 0.77)
    pt3dadd(181.44, -910.41, -50.62, 0.77)
    pt3dadd(180.46, -913.31, -50.62, 0.77)
    pt3dadd(180.06, -915.07, -50.62, 0.75)
    pt3dadd(179.85, -917.14, -49.66, 0.75)
    pt3dadd(178.06, -919.64, -48.71, 0.75)
    pt3dadd(174.68, -922.57, -48.71, 0.75)
    pt3dadd(172.61, -923.27, -46.8, 0.75)
    pt3dadd(170, -924.04, -45.84, 0.75)
    pt3dadd(166.03, -923.88, -45.84, 0.75)
    pt3dadd(161.98, -925.13, -42.98, 0.75)
    pt3dadd(160.46, -927.02, -42.98, 0.75)
    pt3dadd(157.35, -927.66, -42.98, 0.75)
    pt3dadd(154.74, -930.08, -42.98, 0.75)
    pt3dadd(154.02, -930.96, -43.93, 0.75)
  }
  dend[17] {pt3dclear()
    pt3dadd(204.37, -832.21, -70.68, 0.75)
    pt3dadd(201.47, -835.06, -72.59, 0.75)
    pt3dadd(197.63, -837.83, -72.59, 0.75)
    pt3dadd(193.08, -840.38, -71.63, 0.75)
    pt3dadd(190.58, -841.77, -73.54, 0.67)
    pt3dadd(181.66, -845.92, -74.5, 0.67)
    pt3dadd(175.69, -847.3, -73.54, 0.67)
    pt3dadd(170.21, -850.85, -71.63, 0.67)
    pt3dadd(165.23, -852.9, -68.77, 0.67)
    pt3dadd(162.06, -853.8, -64.95, 0.67)
    pt3dadd(159.11, -855, -63.04, 0.67)
    pt3dadd(156.15, -857.1, -62.08, 0.67)
    pt3dadd(153.59, -857.58, -60.17, 0.67)
    pt3dadd(149.31, -859.95, -58.26, 0.67)
    pt3dadd(143.98, -863.57, -58.26, 0.67)
    pt3dadd(141.96, -866.23, -60.17, 0.67)
    pt3dadd(139.16, -867.7, -60.17, 0.67)
    pt3dadd(136.71, -868.1, -62.08, 0.64)
    pt3dadd(134.5, -868.07, -63.04, 0.59)
  }
  dend[18] {pt3dclear()
    pt3dadd(207.48, -820.65, -81.18, 0.72)
    pt3dadd(206.26, -820.47, -81.18, 0.72)
    pt3dadd(204.4, -819.53, -81.18, 0.72)
    pt3dadd(202.56, -819.32, -80.23, 0.72)
    pt3dadd(200.32, -818.15, -80.23, 0.72)
    pt3dadd(198.3, -817.64, -80.23, 0.72)
    pt3dadd(196.19, -815.94, -79.27, 0.64)
  }
  dend[19] {pt3dclear()
    pt3dadd(196.19, -815.94, -79.27, 0.61)
    pt3dadd(193.4, -814.72, -80.23, 0.61)
    pt3dadd(191.24, -812.96, -81.18, 0.61)
    pt3dadd(187.99, -812.83, -81.18, 0.61)
    pt3dadd(184.05, -812.03, -81.18, 0.59)
    pt3dadd(180.33, -811.31, -81.18, 0.59)
    pt3dadd(178.17, -811.49, -81.18, 0.59)
    pt3dadd(173.88, -810.75, -83.09, 0.64)
    pt3dadd(169.73, -810.35, -85, 0.64)
    pt3dadd(166.77, -809.34, -85.96, 0.64)
    pt3dadd(164.8, -809.74, -85, 0.61)
    pt3dadd(162.51, -810.38, -85.96, 0.61)
    pt3dadd(160.12, -810.62, -85.96, 0.61)
    pt3dadd(157.3, -811.71, -85.96, 0.61)
    pt3dadd(154.02, -813.04, -85.96, 0.61)
    pt3dadd(151.52, -814.45, -85.96, 0.61)
    pt3dadd(148.86, -815.41, -85.96, 0.61)
    pt3dadd(144.94, -815.91, -88.82, 0.61)
    pt3dadd(141.91, -816.21, -88.82, 0.61)
    pt3dadd(139.72, -817.99, -90.73, 0.61)
    pt3dadd(136.85, -820.01, -90.73, 0.61)
    pt3dadd(134.27, -820.81, -91.69, 0.61)
    pt3dadd(131.36, -822.06, -92.64, 0.61)
    pt3dadd(128.41, -822.94, -92.64, 0.61)
    pt3dadd(125.16, -824.73, -92.64, 0.61)
    pt3dadd(123.06, -824.89, -93.6, 0.61)
    pt3dadd(120.34, -825.69, -94.55, 0.61)
    pt3dadd(117.84, -826.64, -95.51, 0.56)
    pt3dadd(115.79, -826.88, -95.51, 0.56)
    pt3dadd(114.06, -826.83, -95.51, 0.56)
    pt3dadd(113.98, -826.83, -99.33, 0.56)
  }
  dend[20] {pt3dclear()
    pt3dadd(196.19, -815.94, -79.27, 0.64)
    pt3dadd(194.38, -813.54, -79.27, 0.64)
    pt3dadd(190.5, -810.32, -80.23, 0.64)
    pt3dadd(186.85, -808.38, -80.23, 0.61)
    pt3dadd(182.43, -804.65, -78.32, 0.61)
    pt3dadd(178.68, -801.54, -74.5, 0.61)
    pt3dadd(173.51, -796.82, -73.54, 0.61)
    pt3dadd(169.68, -793.04, -72.59, 0.59)
    pt3dadd(166.4, -789.08, -70.68, 0.59)
    pt3dadd(163.42, -786.23, -68.77, 0.59)
    pt3dadd(160.06, -784.84, -67.81, 0.59)
    pt3dadd(155.83, -783.7, -66.86, 0.59)
    pt3dadd(152.18, -779.22, -63.99, 0.59)
    pt3dadd(146.03, -775.23, -63.04, 0.59)
    pt3dadd(144.14, -773.95, -62.08, 0.59)
    pt3dadd(136.53, -770.68, -61.12, 0.59)
    pt3dadd(130.54, -765.33, -61.12, 0.56)
    pt3dadd(128.22, -763.33, -61.12, 0.56)
    pt3dadd(125.11, -761.92, -63.04, 0.56)
    pt3dadd(120.82, -760.05, -63.99, 0.56)
    pt3dadd(118.45, -759.04, -65.9, 0.56)
  }
  dend[21] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(216.82, -827.62, -85.96, 1.09)
    pt3dadd(217.54, -829.37, -85.96, 1.09)
    pt3dadd(218.74, -830.25, -83.09, 0.99)
    pt3dadd(219.75, -830.97, -80.23, 0.88)
    pt3dadd(221.99, -832.6, -74.5, 1.07)
  }
  dend[22] {pt3dclear()
    pt3dadd(221.99, -832.6, -74.5, 0.72)
    pt3dadd(223.93, -832.41, -74.5, 0.72)
    pt3dadd(225.58, -832.78, -73.54, 0.83)
    pt3dadd(228.43, -833.42, -70.68, 0.77)
    pt3dadd(231.36, -834.62, -68.77, 0.77)
    pt3dadd(234.63, -837.44, -65.9, 0.77)
    pt3dadd(236.84, -838.4, -63.99, 0.77)
    pt3dadd(239.16, -840.37, -63.99, 0.77)
    pt3dadd(244.49, -844.1, -64.95, 0.77)
    pt3dadd(250.24, -846.36, -64.95, 0.77)
    pt3dadd(255.67, -849.66, -64.95, 0.77)
    pt3dadd(260.99, -851.23, -64.95, 0.77)
    pt3dadd(266.61, -853.2, -66.86, 0.77)
    pt3dadd(272.87, -853.02, -67.81, 0.77)
    pt3dadd(279.58, -854.56, -65.9, 0.77)
    pt3dadd(285.2, -855.84, -65.9, 0.72)
    pt3dadd(289.96, -857.49, -64.95, 0.69)
    pt3dadd(293.4, -858.24, -63.99, 0.67)
    pt3dadd(294.49, -858.58, -63.04, 0.67)
    pt3dadd(297.07, -858.02, -61.12, 0.67)
    pt3dadd(298.91, -857.65, -57.3, 0.67)
    pt3dadd(301.22, -855.36, -54.44, 0.67)
    pt3dadd(303.11, -853.6, -53.48, 0.67)
    pt3dadd(304.5, -852.7, -54.44, 0.67)
  }
  dend[23] {pt3dclear()
    pt3dadd(221.99, -832.6, -74.5, 0.83)
    pt3dadd(222.6, -833.85, -74.5, 0.83)
    pt3dadd(222.97, -835.39, -72.59, 0.83)
    pt3dadd(223.32, -837.42, -69.72, 0.83)
    pt3dadd(222.97, -839.28, -64.95, 0.83)
    pt3dadd(223.16, -841.89, -63.99, 0.83)
    pt3dadd(222.33, -843.78, -58.26, 0.72)
    pt3dadd(223.19, -846.36, -58.26, 0.72)
    pt3dadd(224.06, -847.67, -56.35, 0.72)
    pt3dadd(224.06, -851.21, -60.17, 0.72)
    pt3dadd(223.96, -853.63, -62.08, 0.72)
    pt3dadd(224.6, -855.97, -62.08, 0.72)
    pt3dadd(229.04, -860.34, -59.21, 0.72)
    pt3dadd(231.23, -863.35, -56.35, 0.72)
    pt3dadd(233.25, -865.72, -54.44, 0.72)
    pt3dadd(236.74, -868.86, -52.53, 0.72)
    pt3dadd(239.4, -873.07, -51.57, 0.72)
    pt3dadd(240.31, -876.58, -48.71, 0.72)
    pt3dadd(241.56, -878.79, -46.8, 0.72)
    pt3dadd(242.62, -883.74, -46.8, 0.72)
    pt3dadd(243.82, -885.55, -42.98, 0.72)
    pt3dadd(244.22, -887.58, -43.93, 0.72)
    pt3dadd(247.33, -891.92, -41.07, 0.72)
    pt3dadd(249.38, -894.29, -37.25, 0.72)
    pt3dadd(249.25, -896.31, -33.43, 0.72)
  }
  dend[24] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(219.7, -826.42, -96.46, 0.91)
    pt3dadd(221.22, -827.3, -96.46, 0.91)
    pt3dadd(223.03, -828.68, -96.46, 0.91)
    pt3dadd(224.14, -829.61, -96.46, 0.83)
    pt3dadd(225.48, -830.44, -93.6, 0.83)
    pt3dadd(227.02, -831.16, -91.69, 0.77)
    pt3dadd(228.86, -832.41, -90.73, 0.77)
    pt3dadd(232.72, -832.81, -87.87, 0.77)
    pt3dadd(235.35, -832.81, -85, 0.64)
    pt3dadd(237.46, -833.47, -84.05, 0.64)
    pt3dadd(240.76, -834.35, -83.09, 0.64)
    pt3dadd(244.35, -834.27, -82.14, 0.64)
    pt3dadd(248.69, -835.31, -80.23, 0.64)
    pt3dadd(251.97, -835.92, -81.18, 0.64)
    pt3dadd(254.66, -836.7, -81.18, 0.64)
    pt3dadd(257.19, -836.54, -82.14, 0.64)
    pt3dadd(259.21, -836.35, -82.14, 0.64)
    pt3dadd(260.43, -836.43, -82.14, 0.64)
  }
  dend[25] {pt3dclear()
    pt3dadd(260.43, -836.43, -82.14, 0.64)
    pt3dadd(262.19, -836.16, -81.18, 0.64)
    pt3dadd(263.71, -836.24, -81.18, 0.64)
    pt3dadd(264.99, -836.3, -79.27, 0.64)
    pt3dadd(268.45, -837.28, -78.32, 0.64)
    pt3dadd(275.13, -838.67, -76.41, 0.64)
    pt3dadd(279.68, -840.53, -74.5, 0.64)
    pt3dadd(282.45, -841.09, -72.59, 0.64)
    pt3dadd(289.4, -843.78, -69.72, 0.64)
    pt3dadd(292.81, -845.06, -67.81, 0.64)
    pt3dadd(295.5, -846.41, -65.9, 0.56)
    pt3dadd(299.84, -847.88, -63.99, 0.56)
    pt3dadd(303.43, -848.36, -61.12, 0.56)
    pt3dadd(307.05, -849.64, -59.21, 0.56)
    pt3dadd(312.35, -850.54, -58.26, 0.56)
    pt3dadd(316, -851.63, -57.3, 0.56)
    pt3dadd(324.84, -853.95, -57.3, 0.56)
    pt3dadd(328.27, -856.77, -56.35, 0.56)
    pt3dadd(333.47, -857.54, -53.48, 0.56)
    pt3dadd(339.24, -858.48, -53.48, 0.56)
    pt3dadd(341.51, -859.57, -54.44, 0.56)
  }
  dend[26] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(211.82, -823.36, -96.46, 0.64)
  }
}
proc shape3d_4() {
  dend[26] {    pt3dadd(209.85, -823.3, -96.46, 0.64)
    pt3dadd(208.91, -823.44, -96.46, 0.64)
    pt3dadd(207.37, -824.21, -94.55, 0.64)
    pt3dadd(205.16, -824.85, -92.64, 0.64)
    pt3dadd(202.82, -825.81, -92.64, 0.67)
    pt3dadd(200.95, -826.84, -92.64, 0.67)
    pt3dadd(196.05, -826.77, -92.64, 0.67)
    pt3dadd(187.24, -825.03, -94.55, 0.67)
    pt3dadd(181.84, -824.61, -96.46, 0.67)
    pt3dadd(177.34, -823.57, -98.37, 0.67)
    pt3dadd(168.74, -822.64, -101.24, 0.67)
    pt3dadd(161.52, -822.05, -103.15, 0.67)
    pt3dadd(158.7, -821.84, -106.01, 0.67)
    pt3dadd(155.98, -822, -108.88, 0.67)
    pt3dadd(151.14, -823.01, -114.61, 0.67)
    pt3dadd(149.01, -823.14, -116.52, 0.67)
    pt3dadd(146.77, -824.66, -118.43, 0.67)
    pt3dadd(142.17, -825.75, -121.29, 0.67)
    pt3dadd(138.57, -827.8, -124.16, 0.67)
    pt3dadd(132.61, -829.32, -127.03, 0.67)
    pt3dadd(124.06, -831.56, -130.85, 0.67)
    pt3dadd(119.61, -833.45, -132.76, 0.67)
    pt3dadd(112.77, -837.92, -131.8, 0.67)
    pt3dadd(109.79, -838.64, -130.85, 0.64)
    pt3dadd(105.42, -841.7, -127.98, 0.64)
  }
  dend[27] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(221.64, -821.73, -103.15, 1.01)
    pt3dadd(223.24, -820.88, -103.15, 1.01)
    pt3dadd(224.62, -820.45, -103.15, 1.01)
    pt3dadd(226.25, -820.38, -103.15, 1.04)
    pt3dadd(227.98, -820.85, -103.15, 1.04)
    pt3dadd(231.36, -821.09, -105.06, 1.04)
    pt3dadd(233.62, -821.25, -106.97, 1.07)
    pt3dadd(235.01, -821.41, -108.88, 1.25)
  }
  dend[28] {pt3dclear()
    pt3dadd(235.01, -821.41, -108.88, 0.9)
    pt3dadd(235.97, -820.67, -108.88, 0.9)
  }
  dend[29] {pt3dclear()
    pt3dadd(235.97, -820.67, -108.88, 0.64)
    pt3dadd(236.98, -821.44, -110.79, 0.64)
    pt3dadd(237.7, -822.27, -112.7, 0.72)
    pt3dadd(238.87, -822.56, -114.61, 0.8)
    pt3dadd(240.15, -821.6, -116.52, 0.8)
    pt3dadd(241.45, -820.88, -118.43, 0.8)
    pt3dadd(242.65, -821.41, -120.34, 0.8)
    pt3dadd(244.62, -821.04, -123.21, 0.8)
    pt3dadd(246.99, -821.44, -130.85, 0.75)
    pt3dadd(248.8, -819.76, -134.67, 0.75)
    pt3dadd(250.05, -818.01, -136.58, 0.75)
    pt3dadd(251.33, -816.67, -138.49, 0.75)
    pt3dadd(254.76, -815.98, -141.35, 0.75)
    pt3dadd(257.98, -816.09, -144.22, 0.75)
    pt3dadd(260.99, -815.96, -148.04, 0.75)
    pt3dadd(263.15, -816.67, -148.04, 0.75)
    pt3dadd(265.87, -818.38, -149.95, 0.75)
    pt3dadd(267.84, -819.92, -153.77, 0.67)
    pt3dadd(269.86, -820.85, -155.68, 0.64)
    pt3dadd(272.74, -821.87, -158.54, 0.64)
    pt3dadd(278.06, -821.57, -161.41, 0.64)
    pt3dadd(282.69, -822.8, -163.32, 0.64)
    pt3dadd(284.88, -823.86, -168.09, 0.64)
    pt3dadd(289.7, -823.84, -168.09, 0.64)
    pt3dadd(294.57, -824.58, -170.96, 0.64)
    pt3dadd(297.84, -827.14, -173.82, 0.64)
    pt3dadd(299.49, -827.94, -178.6, 0.64)
    pt3dadd(301.52, -829.99, -181.46, 0.64)
    pt3dadd(303.57, -830.97, -183.37, 0.64)
  }
  dend[30] {pt3dclear()
    pt3dadd(235.97, -820.67, -108.88, 0.75)
    pt3dadd(236.74, -819.52, -109.83, 0.75)
    pt3dadd(238.34, -816.83, -109.83, 0.75)
    pt3dadd(238.89, -815.56, -109.83, 0.75)
  }
  dend[31] {pt3dclear()
    pt3dadd(238.89, -815.56, -109.83, 0.69)
    pt3dadd(239.4, -814.14, -111.74, 0.69)
    pt3dadd(243.05, -812.68, -113.65, 0.69)
    pt3dadd(244.86, -809.86, -114.61, 0.64)
    pt3dadd(252.5, -804.91, -115.56, 0.64)
    pt3dadd(255.88, -800.89, -117.47, 0.64)
    pt3dadd(258.22, -800.33, -120.34, 0.64)
    pt3dadd(260.41, -800.91, -123.21, 0.64)
    pt3dadd(263.84, -798.89, -127.03, 0.64)
    pt3dadd(267.65, -798.81, -127.98, 0.64)
    pt3dadd(269.51, -797.32, -129.89, 0.64)
    pt3dadd(273.13, -796.89, -132.76, 0.64)
    pt3dadd(276.3, -795.03, -138.49, 0.64)
    pt3dadd(278.65, -794.42, -142.31, 0.64)
    pt3dadd(280.4, -794.34, -145.17, 0.64)
    pt3dadd(282.4, -794.44, -148.04, 0.64)
    pt3dadd(284.26, -794.76, -150.9, 0.64)
    pt3dadd(285.75, -793.32, -154.72, 0.64)
    pt3dadd(286.9, -793.08, -160.45, 0.64)
    pt3dadd(287.46, -793.4, -161.41, 0.64)
  }
  dend[32] {pt3dclear()
    pt3dadd(238.89, -815.56, -109.83, 0.69)
    pt3dadd(241.24, -814.68, -106.01, 0.69)
    pt3dadd(246.16, -811.91, -106.01, 0.64)
    pt3dadd(250.5, -808.71, -103.15, 0.64)
    pt3dadd(254.07, -806.72, -102.19, 0.64)
    pt3dadd(258.52, -803.52, -98.37, 0.64)
    pt3dadd(261.85, -800.33, -96.46, 0.61)
    pt3dadd(264.59, -798.09, -98.37, 0.61)
    pt3dadd(270.05, -798.06, -98.37, 0.61)
    pt3dadd(274.49, -797.5, -94.55, 0.61)
    pt3dadd(282.29, -796.47, -90.73, 0.61)
    pt3dadd(287.03, -793.88, -87.87, 0.61)
    pt3dadd(294.06, -791.17, -85, 0.61)
    pt3dadd(298.16, -788.43, -79.27, 0.61)
    pt3dadd(300.74, -784.56, -75.45, 0.61)
    pt3dadd(305.88, -778.36, -71.63, 0.61)
    pt3dadd(311.08, -773.09, -68.77, 0.61)
  }
  dend[33] {pt3dclear()
    pt3dadd(235.01, -821.41, -108.88, 0.96)
    pt3dadd(236.92, -822.72, -106.97, 0.96)
    pt3dadd(239.88, -823.14, -106.97, 0.91)
  }
  dend[34] {pt3dclear()
    pt3dadd(239.88, -823.14, -106.97, 0.85)
    pt3dadd(241.37, -822.66, -106.97, 0.85)
    pt3dadd(244.81, -823.41, -109.83, 0.85)
    pt3dadd(248.83, -825.97, -112.7, 0.8)
    pt3dadd(252.34, -828.74, -114.61, 0.8)
    pt3dadd(253.54, -829.77, -117.47, 0.8)
  }
  dend[35] {pt3dclear()
    pt3dadd(253.54, -829.77, -117.47, 0.69)
    pt3dadd(253.64, -831.4, -118.43, 0.69)
    pt3dadd(254.66, -833.82, -118.43, 0.69)
    pt3dadd(257.77, -837.6, -120.34, 0.69)
    pt3dadd(259.74, -840.13, -123.21, 0.69)
    pt3dadd(261.63, -843.59, -125.12, 0.69)
    pt3dadd(264.67, -846.12, -126.07, 0.69)
    pt3dadd(267.68, -849.05, -128.94, 0.72)
    pt3dadd(270.29, -851.77, -130.85, 0.72)
    pt3dadd(275.26, -855.92, -134.67, 0.8)
    pt3dadd(277.71, -859.06, -138.49, 0.8)
    pt3dadd(277.95, -860.87, -141.35, 0.8)
    pt3dadd(277.31, -862.36, -142.31, 0.8)
    pt3dadd(277.45, -865.34, -143.26, 0.8)
    pt3dadd(275.58, -868.65, -144.22, 0.8)
    pt3dadd(275.64, -872.21, -146.13, 0.8)
    pt3dadd(274.97, -874.13, -146.13, 0.8)
    pt3dadd(276.76, -880.23, -145.17, 0.8)
    pt3dadd(278.22, -883.34, -145.17, 0.8)
    pt3dadd(284.05, -891.17, -147.08, 0.8)
    pt3dadd(287.09, -896.02, -148.04, 0.8)
    pt3dadd(287.14, -899.11, -152.81, 0.8)
    pt3dadd(287.86, -904.24, -152.81, 0.8)
    pt3dadd(292.04, -908.72, -156.63, 0.8)
    pt3dadd(293.53, -909.89, -158.54, 0.8)
  }
  dend[36] {pt3dclear()
    pt3dadd(253.54, -829.77, -117.47, 0.75)
    pt3dadd(255.8, -830.28, -116.52, 0.75)
    pt3dadd(257.96, -830.49, -116.52, 0.72)
    pt3dadd(260.33, -831.1, -114.61, 0.67)
    pt3dadd(262.99, -829.45, -113.65, 0.64)
    pt3dadd(266.93, -827.19, -110.79, 0.64)
    pt3dadd(270.45, -824.1, -107.92, 0.64)
    pt3dadd(271.59, -820.24, -106.01, 0.59)
    pt3dadd(272.81, -817.77, -104.1, 0.59)
    pt3dadd(274.25, -816.65, -106.01, 0.59)
    pt3dadd(276.01, -816.09, -106.01, 0.59)
  }
  dend[37] {pt3dclear()
    pt3dadd(239.88, -823.14, -106.97, 0.83)
    pt3dadd(242.2, -825.27, -104.1, 0.83)
    pt3dadd(244.09, -827.27, -102.19, 0.77)
    pt3dadd(250.26, -831.66, -98.37, 0.77)
    pt3dadd(253.19, -833.42, -95.51, 0.77)
    pt3dadd(255.88, -834.73, -90.73, 0.77)
    pt3dadd(258.49, -835.39, -87.87, 0.77)
    pt3dadd(262.83, -837.87, -87.87, 0.69)
    pt3dadd(265.12, -839.23, -86.91, 0.69)
    pt3dadd(267.78, -841.22, -82.14, 0.69)
    pt3dadd(272.04, -842.21, -78.32, 0.69)
    pt3dadd(274.49, -844.04, -73.54, 0.69)
    pt3dadd(277.77, -844.74, -70.68, 0.69)
    pt3dadd(282.93, -847.83, -63.99, 0.69)
    pt3dadd(285.14, -849.32, -60.17, 0.69)
    pt3dadd(287.03, -850.94, -57.3, 0.61)
    pt3dadd(289.99, -853.28, -53.48, 0.61)
    pt3dadd(292.86, -855.95, -50.62, 0.61)
    pt3dadd(292.52, -858.98, -45.84, 0.61)
    pt3dadd(292.46, -860.42, -43.93, 0.61)
    pt3dadd(293.18, -864.09, -41.07, 0.61)
    pt3dadd(294.49, -867.63, -37.25, 0.61)
    pt3dadd(296.14, -869.18, -35.34, 0.61)
  }
  dend[38] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(219.38, -827.7, -105.06, 1.25)
    pt3dadd(221.06, -829.4, -105.06, 1.25)
    pt3dadd(223.43, -831.1, -106.01, 1.76)
    pt3dadd(224.54, -831.96, -106.97, 1.52)
  }
  dend[39] {pt3dclear()
    pt3dadd(224.54, -831.96, -106.97, 0.56)
    pt3dadd(226.14, -831.66, -106.97, 0.56)
    pt3dadd(229.55, -831.77, -106.97, 0.56)
    pt3dadd(232.37, -831.5, -106.97, 0.56)
    pt3dadd(237.03, -833.08, -107.92, 0.56)
    pt3dadd(240.81, -833.47, -107.92, 0.56)
    pt3dadd(247.1, -835.98, -108.88, 0.56)
    pt3dadd(253.3, -837.6, -108.88, 0.56)
    pt3dadd(256.52, -837.63, -106.01, 0.56)
    pt3dadd(263.9, -840.82, -106.01, 0.56)
    pt3dadd(268.37, -841.7, -106.97, 0.56)
    pt3dadd(274.71, -842.42, -106.97, 0.56)
    pt3dadd(277.69, -841.04, -107.92, 0.56)
    pt3dadd(282.61, -841.65, -108.88, 0.56)
    pt3dadd(289.19, -844.23, -112.7, 0.56)
    pt3dadd(292.38, -843.62, -113.65, 0.53)
    pt3dadd(299.01, -844.44, -113.65, 0.53)
    pt3dadd(307.67, -844.52, -112.7, 0.53)
  }
  dend[40] {pt3dclear()
    pt3dadd(224.54, -831.96, -106.97, 1.25)
    pt3dadd(226.46, -834.03, -106.97, 1.25)
    pt3dadd(228.35, -835.95, -106.97, 1.25)
  }
}
proc shape3d_5() {
  dend[40] {    pt3dadd(229.58, -837.57, -107.92, 1.25)
  }
  dend[41] {pt3dclear()
    pt3dadd(229.58, -837.57, -107.92, 0.75)
    pt3dadd(234.02, -838.88, -106.01, 0.75)
    pt3dadd(236.42, -839.25, -105.06, 0.64)
    pt3dadd(242.01, -839.7, -104.1, 0.64)
    pt3dadd(246.35, -839.76, -102.19, 0.64)
    pt3dadd(257.37, -841.46, -101.24, 0.61)
    pt3dadd(263.28, -841.65, -99.33, 0.56)
    pt3dadd(268.53, -842.26, -96.46, 0.64)
    pt3dadd(271.27, -842.85, -92.64, 0.64)
    pt3dadd(274.31, -844.36, -89.78, 0.64)
    pt3dadd(277.95, -844.1, -85, 0.64)
  }
  dend[42] {pt3dclear()
    pt3dadd(229.58, -837.57, -107.92, 1.17)
    pt3dadd(230.35, -840.98, -108.88, 1.17)
    pt3dadd(230.4, -843.25, -108.88, 1.17)
  }
  dend[43] {pt3dclear()
    pt3dadd(230.4, -843.25, -108.88, 0.75)
    pt3dadd(229.26, -844.58, -111.74, 0.75)
    pt3dadd(227.21, -846.84, -111.74, 0.75)
    pt3dadd(225.98, -848.2, -112.7, 0.75)
    pt3dadd(225.4, -850.57, -113.65, 0.75)
    pt3dadd(221.64, -852.64, -115.56, 0.75)
    pt3dadd(217.36, -855.31, -117.47, 0.75)
    pt3dadd(214.21, -858.98, -119.38, 0.75)
    pt3dadd(208.73, -866.78, -121.29, 0.75)
    pt3dadd(206.2, -867.69, -122.25, 0.75)
    pt3dadd(200.5, -880.63, -122.25, 0.75)
    pt3dadd(197.95, -882.12, -120.34, 0.67)
    pt3dadd(196.11, -885.53, -122.25, 0.67)
    pt3dadd(195.79, -887.58, -121.29, 0.67)
    pt3dadd(192.41, -891.44, -118.43, 0.72)
    pt3dadd(190.14, -892.9, -118.43, 0.72)
    pt3dadd(190.41, -898.04, -116.52, 0.72)
    pt3dadd(186.02, -902.99, -118.43, 0.64)
    pt3dadd(181.7, -907.25, -118.43, 0.64)
    pt3dadd(174.94, -911.86, -119.38, 0.64)
    pt3dadd(172.2, -917.88, -120.34, 0.59)
    pt3dadd(168.02, -924.85, -121.29, 0.56)
    pt3dadd(165.46, -926.64, -122.25, 0.56)
  }
  dend[44] {pt3dclear()
    pt3dadd(230.4, -843.25, -108.88, 1.01)
    pt3dadd(230.56, -845.06, -110.79, 1.01)
    pt3dadd(229.76, -849.18, -111.74, 1.01)
    pt3dadd(229.58, -852.46, -113.65, 0.91)
    pt3dadd(229.58, -855.23, -116.52, 0.91)
    pt3dadd(229.26, -857.86, -117.47, 0.91)
  }
  dend[45] {pt3dclear()
    pt3dadd(229.26, -857.86, -117.47, 0.77)
    pt3dadd(231.87, -858.77, -119.38, 0.77)
    pt3dadd(233.46, -859.75, -120.34, 0.69)
    pt3dadd(236.5, -862.6, -121.29, 0.67)
    pt3dadd(241.18, -864.97, -121.29, 0.67)
    pt3dadd(246.94, -867.85, -123.21, 0.72)
    pt3dadd(251.86, -871.57, -126.07, 0.69)
    pt3dadd(259.88, -876.39, -127.98, 0.69)
    pt3dadd(260.46, -877.88, -132.76, 0.69)
    pt3dadd(263.26, -877.35, -135.62, 0.69)
    pt3dadd(264.08, -878.47, -147.08, 0.69)
  }
  dend[46] {pt3dclear()
    pt3dadd(229.26, -857.86, -117.47, 0.8)
    pt3dadd(227.05, -859.86, -118.43, 0.8)
    pt3dadd(225.37, -862.2, -119.38, 0.8)
    pt3dadd(225.18, -864.49, -122.25, 0.8)
    pt3dadd(226.65, -866.86, -123.21, 0.8)
    pt3dadd(227.34, -869.52, -125.12, 0.8)
    pt3dadd(228.86, -874.08, -125.12, 0.88)
    pt3dadd(230.06, -880.55, -127.98, 0.83)
    pt3dadd(230.14, -883.72, -127.98, 0.83)
    pt3dadd(229.15, -886.27, -129.89, 0.83)
    pt3dadd(230.51, -892.13, -128.94, 0.83)
    pt3dadd(233.44, -901.16, -129.89, 0.77)
    pt3dadd(237.99, -908.66, -129.89, 0.72)
    pt3dadd(242.62, -913.78, -127.98, 0.72)
    pt3dadd(246.08, -916.33, -127.03, 0.72)
    pt3dadd(251.46, -922.72, -127.03, 0.72)
    pt3dadd(252.69, -926.5, -127.03, 0.72)
    pt3dadd(254.31, -934.01, -127.98, 0.72)
    pt3dadd(257.53, -938.91, -127.98, 0.72)
    pt3dadd(259, -939.95, -128.94, 0.72)
    pt3dadd(258.44, -943.01, -130.85, 0.72)
    pt3dadd(259.21, -950.41, -129.89, 0.72)
    pt3dadd(261.1, -957.79, -127.98, 0.72)
    pt3dadd(260.99, -963.14, -126.07, 0.72)
    pt3dadd(266.42, -972.88, -124.16, 0.72)
    pt3dadd(271.51, -976.13, -122.25, 0.61)
    pt3dadd(273.53, -978.5, -122.25, 0.61)
    pt3dadd(275.77, -981.38, -121.29, 0.61)
    pt3dadd(279.98, -984.54, -121.29, 0.61)
  }
  dend[47] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(217.22, -827.88, -105.06, 1.2)
    pt3dadd(215.89, -829.67, -105.06, 1.2)
    pt3dadd(214.51, -832.7, -109.83, 1.2)
    pt3dadd(212.67, -836.96, -111.74, 0.99)
  }
  dend[48] {pt3dclear()
    pt3dadd(212.67, -836.96, -111.74, 0.83)
    pt3dadd(212.88, -841.94, -112.7, 0.83)
    pt3dadd(214.93, -847.27, -114.61, 0.83)
    pt3dadd(217.41, -851.74, -114.61, 0.83)
    pt3dadd(220.71, -855.23, -117.47, 0.83)
    pt3dadd(220.92, -858.08, -118.43, 0.83)
    pt3dadd(221.69, -859.35, -118.43, 0.83)
  }
  dend[49] {pt3dclear()
    pt3dadd(221.69, -859.35, -118.43, 0.91)
    pt3dadd(224.57, -863.32, -127.03, 0.91)
    pt3dadd(226.94, -866.01, -131.8, 0.91)
    pt3dadd(229.52, -870.91, -135.62, 0.91)
    pt3dadd(230.77, -872.83, -138.49, 0.91)
    pt3dadd(230.99, -874.82, -140.4, 0.91)
    pt3dadd(233.06, -876.42, -144.22, 0.91)
    pt3dadd(234.02, -881.53, -146.13, 0.99)
    pt3dadd(236.23, -886.27, -149.95, 0.83)
    pt3dadd(239.69, -890.43, -150.9, 0.88)
    pt3dadd(242.41, -894.71, -152.81, 0.88)
    pt3dadd(246.62, -901.26, -157.59, 0.91)
    pt3dadd(249.62, -904.94, -161.41, 0.91)
    pt3dadd(254.66, -908.64, -163.32, 0.91)
    pt3dadd(257, -908.82, -171.91, 0.91)
    pt3dadd(257.51, -910.66, -174.78, 0.91)
    pt3dadd(258.25, -910.87, -179.55, 0.91)
  }
  dend[50] {pt3dclear()
    pt3dadd(221.69, -859.35, -118.43, 0.83)
    pt3dadd(223.35, -861.88, -118.43, 0.83)
    pt3dadd(226.22, -867.66, -117.47, 0.83)
    pt3dadd(230.93, -872.29, -117.47, 0.75)
    pt3dadd(238.39, -878.9, -117.47, 0.75)
    pt3dadd(245.98, -884.51, -117.47, 0.75)
    pt3dadd(250, -888.3, -118.43, 0.75)
    pt3dadd(255.3, -900.76, -115.56, 0.75)
    pt3dadd(260.78, -912.92, -114.61, 0.75)
    pt3dadd(263.07, -917.96, -117.47, 0.69)
    pt3dadd(264.53, -919.55, -117.47, 0.69)
    pt3dadd(264.99, -925.09, -116.52, 0.69)
    pt3dadd(264, -928.63, -112.7, 0.61)
    pt3dadd(264.14, -935.1, -113.65, 0.61)
  }
  dend[51] {pt3dclear()
    pt3dadd(212.67, -836.96, -111.74, 0.99)
    pt3dadd(210.78, -838.69, -113.65, 0.99)
    pt3dadd(208.06, -841.49, -113.65, 0.96)
    pt3dadd(206.86, -843.86, -113.65, 0.93)
    pt3dadd(203.03, -850.12, -114.61, 0.93)
    pt3dadd(201.7, -851.77, -115.56, 0.93)
  }
  dend[52] {pt3dclear()
    pt3dadd(201.7, -851.77, -115.56, 0.83)
    pt3dadd(200.39, -851.98, -117.47, 0.83)
    pt3dadd(199.22, -853.6, -117.47, 0.83)
    pt3dadd(197.73, -855.65, -122.25, 0.83)
    pt3dadd(195.42, -855.76, -126.07, 0.83)
    pt3dadd(193.63, -856.48, -128.94, 0.83)
    pt3dadd(191.29, -858.74, -134.67, 0.96)
    pt3dadd(188.17, -861.27, -140.4, 0.96)
    pt3dadd(188.09, -865.13, -143.26, 0.96)
    pt3dadd(186.84, -868.11, -147.08, 0.96)
    pt3dadd(186.76, -871.42, -150.9, 0.83)
    pt3dadd(186.68, -875.36, -153.77, 0.83)
    pt3dadd(186.5, -877.35, -156.63, 0.83)
    pt3dadd(186.02, -880.63, -160.45, 0.83)
    pt3dadd(186.2, -886.7, -165.23, 0.83)
    pt3dadd(182.82, -890.77, -170, 0.83)
    pt3dadd(178.11, -896.07, -171.91, 0.83)
    pt3dadd(173.26, -900.81, -171.91, 0.75)
    pt3dadd(170.95, -903.98, -172.87, 0.75)
    pt3dadd(169.54, -908.77, -172.87, 0.75)
    pt3dadd(171.45, -909.92, -170.96, 0.61)
  }
  dend[53] {pt3dclear()
    pt3dadd(201.7, -851.77, -115.56, 0.88)
    pt3dadd(199.14, -856.48, -115.56, 0.88)
    pt3dadd(193.71, -859.86, -113.65, 0.8)
  }
  dend[54] {pt3dclear()
    pt3dadd(193.71, -859.86, -113.65, 0.72)
    pt3dadd(184.74, -860.77, -114.61, 0.72)
    pt3dadd(176.83, -861.7, -114.61, 0.72)
    pt3dadd(162.64, -864.76, -118.43, 0.72)
    pt3dadd(157.02, -866.01, -117.47, 0.72)
    pt3dadd(141.23, -872.32, -115.56, 0.72)
    pt3dadd(135.59, -874.13, -111.74, 0.72)
    pt3dadd(126.08, -876.93, -111.74, 0.72)
    pt3dadd(117.7, -877.65, -111.74, 0.67)
    pt3dadd(104.54, -878.63, -109.83, 0.77)
    pt3dadd(99.43, -878.79, -110.79, 0.72)
    pt3dadd(91.58, -879.08, -110.79, 0.59)
    pt3dadd(84.18, -880.41, -111.74, 0.59)
    pt3dadd(80.26, -881.19, -116.52, 0.59)
    pt3dadd(73.71, -878.2, -117.47, 0.59)
  }
  dend[55] {pt3dclear()
    pt3dadd(193.71, -859.86, -113.65, 0.8)
    pt3dadd(188.89, -863.72, -112.7, 0.8)
    pt3dadd(185.25, -867.37, -110.79, 0.75)
    pt3dadd(184.23, -870.06, -110.79, 0.8)
    pt3dadd(184.37, -876.29, -106.97, 0.8)
    pt3dadd(183.57, -882.2, -104.1, 0.72)
    pt3dadd(181.01, -891.2, -102.19, 0.72)
    pt3dadd(182.02, -894.53, -102.19, 0.8)
    pt3dadd(183.59, -902.81, -100.28, 0.8)
    pt3dadd(183.17, -906.45, -100.28, 0.8)
    pt3dadd(180.21, -909.17, -98.37, 0.75)
    pt3dadd(179.07, -911.43, -97.42, 0.75)
    pt3dadd(174.94, -918.25, -99.33, 0.75)
    pt3dadd(170.57, -923.23, -101.24, 0.85)
    pt3dadd(166.08, -927.62, -101.24, 0.85)
    pt3dadd(165.57, -931.24, -101.24, 0.85)
    pt3dadd(169.72, -936.14, -100.28, 0.72)
    pt3dadd(172.65, -939.02, -96.46, 0.72)
    pt3dadd(175.9, -944.71, -94.55, 0.72)
    pt3dadd(178.8, -950.28, -94.55, 0.69)
    pt3dadd(184.85, -957.09, -95.51, 0.61)
  }
  dend[56] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(209.02, -817.21, -108.88, 0.64)
    pt3dadd(204.34, -817.69, -108.88, 0.67)
    pt3dadd(200.42, -818.22, -108.88, 0.67)
    pt3dadd(195.15, -819.82, -108.88, 0.67)
    pt3dadd(187.61, -821.89, -108.88, 0.69)
    pt3dadd(187.61, -821.89, -108.88, 0.69)
  }
}
proc shape3d_6() {
  dend[56] {    pt3dadd(169.56, -833.79, -106.97, 0.69)
    pt3dadd(164.72, -836.35, -103.15, 0.8)
    pt3dadd(159.74, -838.4, -101.24, 0.69)
    pt3dadd(147.3, -843.99, -99.33, 0.69)
    pt3dadd(142.73, -847.11, -96.46, 0.69)
    pt3dadd(135.83, -849.56, -94.55, 0.69)
    pt3dadd(132.29, -852.27, -95.51, 0.69)
    pt3dadd(121.03, -855.92, -93.6, 0.69)
    pt3dadd(116.93, -854.93, -96.46, 0.69)
    pt3dadd(108.75, -854.77, -98.37, 0.69)
    pt3dadd(103.27, -852.94, -100.28, 0.69)
    pt3dadd(90.33, -853.15, -102.19, 0.69)
    pt3dadd(85.77, -853.23, -104.1, 0.69)
    pt3dadd(80.34, -852.33, -106.97, 0.69)
    pt3dadd(75.2, -855.2, -110.79, 0.69)
  }
  dend[57] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(209.29, -816.19, -111.74, 0.8)
    pt3dadd(206.76, -816.94, -110.79, 0.8)
    pt3dadd(200.34, -816.01, -118.43, 0.8)
    pt3dadd(198.05, -815.77, -123.21, 0.85)
  }
  dend[58] {pt3dclear()
    pt3dadd(198.05, -815.77, -123.21, 0.67)
    pt3dadd(195.6, -815.26, -127.98, 0.67)
    pt3dadd(190.65, -813.91, -130.85, 0.77)
    pt3dadd(184.58, -811.46, -132.76, 0.72)
    pt3dadd(170.36, -806.85, -133.71, 0.72)
    pt3dadd(159.58, -804.45, -136.58, 0.72)
    pt3dadd(142.57, -797.1, -138.49, 0.72)
    pt3dadd(119.64, -790.34, -133.71, 0.72)
    pt3dadd(112.16, -790.9, -130.85, 0.72)
    pt3dadd(107.71, -792.71, -133.71, 0.72)
    pt3dadd(102.71, -797.64, -142.31, 0.72)
    pt3dadd(99.83, -798.28, -148.04, 0.72)
    pt3dadd(93.87, -802.72, -152.81, 0.72)
    pt3dadd(91.68, -805.92, -153.77, 0.72)
    pt3dadd(84.92, -807.99, -153.77, 0.72)
  }
  dend[59] {pt3dclear()
    pt3dadd(198.05, -815.77, -123.21, 0.88)
    pt3dadd(197.57, -817.39, -136.58, 0.88)
    pt3dadd(198.32, -818.48, -140.4, 0.88)
    pt3dadd(198.8, -820.06, -143.26, 0.88)
    pt3dadd(200.18, -819.76, -145.17, 0.88)
    pt3dadd(200.55, -819.39, -148.99, 0.88)
    pt3dadd(200.18, -820.77, -152.81, 0.88)
    pt3dadd(199.76, -821.76, -155.68, 0.88)
    pt3dadd(200.34, -822.37, -160.45, 0.88)
    pt3dadd(201.14, -825.46, -166.18, 0.88)
    pt3dadd(202.37, -826.79, -171.91, 0.8)
    pt3dadd(201.06, -827.94, -176.69, 0.8)
    pt3dadd(199.76, -829, -182.42, 0.8)
    pt3dadd(199.6, -830.41, -183.37, 0.8)
    pt3dadd(197.73, -832.44, -186.24, 0.8)
    pt3dadd(196.48, -833.23, -190.06, 0.8)
    pt3dadd(194.94, -836.35, -194.84, 0.8)
    pt3dadd(193.29, -837.81, -196.75, 0.8)
    pt3dadd(190.28, -838.72, -200.57, 0.8)
    pt3dadd(186.34, -841.28, -205.34, 0.8)
    pt3dadd(180.16, -842.15, -211.07, 0.8)
    pt3dadd(177.12, -844.04, -213.94, 0.8)
    pt3dadd(172.78, -846.57, -218.71, 0.8)
    pt3dadd(170.81, -849.13, -222.53, 0.8)
    pt3dadd(169.48, -851.18, -228.26, 0.8)
    pt3dadd(169.11, -854, -235.9, 0.8)
    pt3dadd(169.38, -855.95, -239.72, 0.75)
    pt3dadd(170.31, -857.84, -240.68, 0.75)
  }
  dend[60] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(217.2, -812.36, -113.65, 0.96)
    pt3dadd(220.31, -809.51, -114.61, 0.96)
    pt3dadd(223.29, -806.69, -117.47, 0.96)
    pt3dadd(224.3, -806.16, -120.34, 0.83)
  }
  dend[61] {pt3dclear()
    pt3dadd(224.3, -806.16, -120.34, 0.88)
    pt3dadd(226.94, -806.1, -127.03, 0.88)
    pt3dadd(229.66, -805.97, -131.8, 0.85)
    pt3dadd(231.71, -805.15, -131.8, 0.85)
    pt3dadd(235.81, -806.02, -136.58, 0.77)
    pt3dadd(240.63, -804.51, -142.31, 0.77)
    pt3dadd(243.82, -804.13, -146.13, 0.77)
    pt3dadd(250.93, -798.97, -153.77, 0.77)
    pt3dadd(256.68, -799.05, -159.5, 0.77)
    pt3dadd(263.95, -801.02, -164.27, 0.8)
    pt3dadd(274.84, -801.58, -168.09, 0.75)
    pt3dadd(279.63, -800.46, -168.09, 0.75)
    pt3dadd(294.86, -802.03, -170.96, 0.75)
    pt3dadd(304.5, -800.35, -171.91, 0.75)
    pt3dadd(311.34, -801.71, -172.87, 0.75)
    pt3dadd(313.98, -804.61, -175.73, 0.75)
  }
  dend[62] {pt3dclear()
    pt3dadd(224.3, -806.16, -120.34, 0.77)
    pt3dadd(225.93, -803.55, -120.34, 0.77)
    pt3dadd(228.24, -801.55, -120.34, 0.77)
    pt3dadd(235.17, -795.8, -118.43, 0.77)
    pt3dadd(248.4, -786.75, -115.56, 0.77)
    pt3dadd(261.31, -775.62, -114.61, 0.77)
    pt3dadd(263.79, -772.45, -116.52, 0.77)
    pt3dadd(267.92, -770.16, -118.43, 0.77)
    pt3dadd(273.37, -762.89, -120.34, 0.77)
    pt3dadd(278.86, -758.37, -125.12, 0.77)
    pt3dadd(289.35, -753.71, -130.85, 0.77)
    pt3dadd(294.09, -748.75, -130.85, 0.77)
  }
  dend[63] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(212.51, -811.85, -115.56, 0.88)
    pt3dadd(210.17, -811.06, -118.43, 0.88)
    pt3dadd(209.13, -810.1, -123.21, 0.88)
  }
  dend[64] {pt3dclear()
    pt3dadd(209.13, -810.1, -123.21, 0.67)
    pt3dadd(206.41, -809.86, -124.16, 0.67)
    pt3dadd(204.15, -810.07, -127.03, 0.67)
    pt3dadd(200.85, -812.63, -129.89, 0.72)
    pt3dadd(198.8, -813.61, -133.71, 0.69)
    pt3dadd(197.44, -815.1, -137.53, 0.69)
    pt3dadd(195.15, -816.35, -140.4, 0.69)
    pt3dadd(190.76, -819.12, -143.26, 0.69)
    pt3dadd(190.33, -819.02, -148.99, 0.69)
    pt3dadd(191.87, -818.06, -151.86, 0.69)
    pt3dadd(191.5, -817.53, -154.72, 0.69)
    pt3dadd(189.43, -818.24, -157.59, 0.69)
    pt3dadd(186.6, -818.43, -159.5, 0.69)
    pt3dadd(181.68, -819.87, -165.23, 0.69)
    pt3dadd(174.76, -822.43, -170, 0.69)
    pt3dadd(168.1, -825.25, -179.55, 0.69)
    pt3dadd(157.82, -828.15, -187.2, 0.69)
    pt3dadd(141.5, -828.6, -194.84, 0.69)
    pt3dadd(126, -834.38, -195.79, 0.64)
  }
  dend[65] {pt3dclear()
    pt3dadd(209.13, -810.1, -123.21, 0.8)
    pt3dadd(207.93, -807.73, -123.21, 0.8)
    pt3dadd(205.16, -804.08, -127.98, 0.8)
    pt3dadd(202.76, -799.47, -131.8, 0.75)
    pt3dadd(197.63, -792.18, -136.58, 0.75)
    pt3dadd(199.04, -781.1, -144.22, 0.75)
    pt3dadd(199.28, -773.54, -151.86, 0.75)
    pt3dadd(197.28, -765.1, -159.5, 0.75)
    pt3dadd(199.81, -754.85, -168.09, 0.75)
    pt3dadd(201.03, -743.38, -177.64, 0.75)
    pt3dadd(201.75, -739.67, -180.51, 0.75)
    pt3dadd(202.84, -737.15, -182.42, 0.75)
  }
  dend[66] {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(211.71, -816.35, -121.29, 0.93)
    pt3dadd(211.02, -818.27, -123.21, 0.93)
    pt3dadd(211.5, -819.07, -127.98, 0.93)
  }
  dend[67] {pt3dclear()
    pt3dadd(211.5, -819.07, -127.98, 0.91)
    pt3dadd(210.67, -819.28, -131.8, 0.91)
    pt3dadd(210.49, -820.06, -135.62, 0.83)
    pt3dadd(209.47, -818.96, -144.22, 0.88)
    pt3dadd(208.2, -819.18, -148.04, 0.83)
    pt3dadd(206.25, -820.03, -152.81, 0.83)
    pt3dadd(204.23, -819.34, -156.63, 0.83)
    pt3dadd(202.15, -818.27, -157.59, 0.83)
    pt3dadd(200.21, -818.56, -162.36, 0.83)
    pt3dadd(198.98, -817.71, -166.18, 0.83)
    pt3dadd(199.17, -816.22, -172.87, 0.83)
    pt3dadd(196.69, -814.94, -173.82, 0.83)
    pt3dadd(194.72, -814.38, -176.69, 0.83)
    pt3dadd(193.02, -812.89, -182.42, 0.83)
    pt3dadd(191.72, -811.11, -185.29, 0.83)
    pt3dadd(189.32, -810.58, -190.06, 0.83)
    pt3dadd(187, -809.91, -193.88, 0.83)
    pt3dadd(184.58, -808.58, -197.7, 0.83)
    pt3dadd(180.91, -809.06, -204.39, 0.83)
    pt3dadd(179.02, -809.03, -210.12, 0.83)
    pt3dadd(176.59, -808.61, -212.98, 0.83)
    pt3dadd(174.86, -809.96, -219.67, 0.83)
    pt3dadd(176.27, -812.41, -225.4, 0.75)
  }
  dend[68] {pt3dclear()
    pt3dadd(211.5, -819.07, -127.98, 0.85)
    pt3dadd(213.52, -819.79, -131.8, 0.85)
    pt3dadd(216.56, -820.32, -134.67, 0.85)
    pt3dadd(218.53, -820.48, -137.53, 0.85)
    pt3dadd(219.96, -818.75, -141.35, 0.85)
    pt3dadd(222.71, -818.43, -144.22, 0.85)
    pt3dadd(225.16, -819.15, -147.08, 0.77)
    pt3dadd(229.31, -820.53, -150.9, 0.67)
    pt3dadd(231.41, -820.72, -155.68, 0.72)
    pt3dadd(232.61, -820.8, -159.5, 0.75)
    pt3dadd(233.28, -821.31, -162.36, 0.75)
    pt3dadd(234.13, -822.03, -167.14, 0.93)
    pt3dadd(235.09, -822.66, -171.91, 0.93)
    pt3dadd(236.47, -822.4, -175.73, 0.85)
    pt3dadd(237.91, -821.63, -176.69, 0.8)
    pt3dadd(238.76, -822.21, -178.6, 0.8)
    pt3dadd(239.85, -821.44, -182.42, 0.8)
    pt3dadd(240.89, -821.6, -186.24, 0.8)
    pt3dadd(243.31, -822, -189.11, 0.8)
    pt3dadd(247.39, -822.05, -193.88, 0.77)
    pt3dadd(252.29, -823.54, -198.66, 0.77)
    pt3dadd(256.87, -826.9, -209.16, 0.77)
    pt3dadd(262.94, -827.62, -219.67, 0.77)
    pt3dadd(264.77, -828.02, -222.53, 0.83)
    pt3dadd(266.61, -830.65, -230.17, 0.83)
    pt3dadd(269.22, -832.36, -238.77, 0.83)
    pt3dadd(272.07, -833.82, -246.41, 0.77)
  }
  apic {pt3dclear()
    pt3dstyle(1, 215.897, -818.461, -101.683)
    pt3dadd(214.2, -809.94, -105.06, 5.75)
    pt3dadd(211.61, -805.95, -105.06, 3.57)
    pt3dadd(209.91, -802.62, -105.06, 2.37)
    pt3dadd(208.92, -798.52, -105.06, 2.29)
    pt3dadd(208.29, -795.59, -102.19, 2.4)
  }
  apic[1] {pt3dclear()
    pt3dadd(208.29, -795.59, -102.19, 2.26)
    pt3dadd(207.43, -787.63, -99.33, 2.26)
    pt3dadd(206.19, -781.43, -99.33, 2.26)
  }
  apic[2] {pt3dclear()
    pt3dadd(206.19, -781.43, -99.33, 2.02)
    pt3dadd(205.92, -779.19, -100.28, 2.02)
    pt3dadd(205.62, -777.27, -99.33, 2.02)
  }
  apic[3] {pt3dclear()
    pt3dadd(205.62, -777.27, -99.33, 2.02)
    pt3dadd(204.69, -768.17, -97.42, 2.02)
    pt3dadd(203.39, -762.28, -95.51, 2.02)
  }
}
proc shape3d_7() {
  apic[3] {  }
  apic[4] {pt3dclear()
    pt3dadd(203.39, -762.28, -95.51, 2.02)
    pt3dadd(203.44, -761.14, -94.55, 2.02)
  }
  apic[5] {pt3dclear()
    pt3dadd(203.44, -761.14, -94.55, 1.7)
    pt3dadd(202.8, -756.34, -95.51, 1.7)
    pt3dadd(202.8, -755.65, -93.6, 1.65)
  }
  apic[6] {pt3dclear()
    pt3dadd(202.8, -755.65, -93.6, 1.65)
    pt3dadd(203.41, -747.53, -96.46, 1.65)
    pt3dadd(204.13, -743.38, -100.28, 2.05)
  }
  apic[7] {pt3dclear()
    pt3dadd(204.13, -743.38, -100.28, 2)
    pt3dadd(204.03, -741.22, -101.24, 2)
  }
  apic[8] {pt3dclear()
    pt3dadd(204.03, -741.22, -101.24, 2)
    pt3dadd(203.77, -738.14, -101.24, 2)
  }
  apic[9] {pt3dclear()
    pt3dadd(203.77, -738.14, -101.24, 1.7)
    pt3dadd(203.15, -730.76, -102.19, 1.7)
    pt3dadd(202.8, -725.59, -104.1, 1.7)
  }
  apic[10] {pt3dclear()
    pt3dadd(202.8, -725.59, -104.1, 1.7)
    pt3dadd(200.99, -721.76, -101.24, 1.7)
  }
  apic[11] {pt3dclear()
    pt3dadd(200.99, -721.76, -101.24, 1.38)
    pt3dadd(200.03, -715.34, -105.06, 1.38)
  }
  apic[12] {pt3dclear()
    pt3dadd(200.03, -715.34, -105.06, 1.54)
    pt3dadd(199.37, -713.43, -103.15, 1.54)
  }
  apic[13] {pt3dclear()
    pt3dadd(199.37, -713.43, -103.15, 1.52)
    pt3dadd(198.75, -711.27, -102.19, 1.52)
    pt3dadd(197.98, -708.05, -102.19, 1.38)
    pt3dadd(197.72, -705.3, -102.19, 1.38)
    pt3dadd(197.16, -703.12, -102.19, 1.38)
    pt3dadd(196.92, -699.87, -103.15, 1.38)
    pt3dadd(196.54, -696.01, -102.19, 1.76)
  }
  apic[14] {pt3dclear()
    pt3dadd(196.54, -696.01, -102.19, 1.76)
    pt3dadd(196.65, -692.63, -102.19, 1.76)
    pt3dadd(197.05, -688.98, -103.15, 1.84)
  }
  apic[15] {pt3dclear()
    pt3dadd(197.05, -688.98, -103.15, 1.78)
    pt3dadd(196.38, -684.03, -103.15, 1.78)
    pt3dadd(195.9, -678.79, -105.06, 1.86)
  }
  apic[16] {pt3dclear()
    pt3dadd(195.9, -678.79, -105.06, 1.81)
    pt3dadd(195.51, -672.98, -103.15, 1.81)
  }
  apic[17] {pt3dclear()
    pt3dadd(195.51, -672.98, -103.15, 1.84)
    pt3dadd(195.21, -664.86, -102.19, 1.84)
    pt3dadd(194.84, -660.81, -100.28, 1.81)
    pt3dadd(194.39, -657.51, -101.24, 1.46)
  }
  apic[18] {pt3dclear()
    pt3dadd(194.39, -657.51, -101.24, 1.46)
    pt3dadd(194.28, -649.26, -100.28, 1.46)
    pt3dadd(193.4, -640.31, -98.37, 1.52)
    pt3dadd(192.34, -632.01, -98.37, 1.52)
    pt3dadd(192.28, -627.61, -100.28, 1.52)
    pt3dadd(192.31, -621.28, -98.37, 1.52)
  }
  apic[19] {pt3dclear()
    pt3dadd(192.31, -621.28, -98.37, 1.6)
    pt3dadd(192.82, -617.07, -100.28, 1.6)
    pt3dadd(192.2, -613.21, -99.33, 1.73)
  }
  apic[20] {pt3dclear()
    pt3dadd(192.2, -613.21, -99.33, 1.73)
    pt3dadd(192.19, -611.91, -99.33, 1.73)
  }
  apic[21] {pt3dclear()
    pt3dadd(192.19, -611.91, -99.33, 1.57)
    pt3dadd(191.8, -606.5, -97.42, 1.57)
    pt3dadd(191.86, -602.05, -97.42, 1.54)
    pt3dadd(191.3, -599.74, -97.42, 1.41)
    pt3dadd(191.17, -598.09, -96.46, 1.78)
  }
  apic[22] {pt3dclear()
    pt3dadd(191.17, -598.09, -96.46, 1.54)
    pt3dadd(190.98, -587.83, -95.51, 1.54)
    pt3dadd(191.03, -582.08, -93.6, 1.44)
    pt3dadd(190.63, -578.7, -93.6, 1.44)
    pt3dadd(190.87, -576.04, -93.6, 1.44)
    pt3dadd(190.71, -570.24, -93.6, 1.44)
    pt3dadd(190.55, -567.09, -93.6, 1.44)
    pt3dadd(190.79, -563.1, -93.6, 1.44)
    pt3dadd(190.95, -556.76, -92.64, 1.54)
    pt3dadd(191.25, -548.7, -92.64, 1.54)
  }
  apic[23] {pt3dclear()
    pt3dadd(191.25, -548.7, -92.64, 1.54)
    pt3dadd(190.85, -547.18, -91.69, 1.54)
    pt3dadd(189.49, -537.7, -87.87, 1.22)
    pt3dadd(188.21, -529.98, -85.96, 1.22)
    pt3dadd(187.62, -522.55, -84.05, 1.22)
    pt3dadd(186.43, -516.53, -82.14, 1.22)
    pt3dadd(185.48, -514.39, -82.14, 1.22)
  }
  apic[24] {pt3dclear()
    pt3dadd(185.48, -514.39, -82.14, 1.22)
    pt3dadd(184.94, -510.81, -80.23, 1.22)
    pt3dadd(183.12, -504.42, -80.23, 1.22)
    pt3dadd(182.33, -497.55, -76.41, 1.14)
    pt3dadd(182.46, -488.31, -75.45, 1.14)
    pt3dadd(182.75, -480.03, -73.54, 1.14)
    pt3dadd(182.88, -478.75, -69.72, 1.14)
    pt3dadd(182.78, -476.65, -75.45, 1.07)
  }
  apic[25] {pt3dclear()
    pt3dadd(182.78, -476.65, -75.45, 1.07)
    pt3dadd(184.03, -472.65, -67.81, 1.07)
    pt3dadd(184.8, -468.85, -64.95, 0.99)
    pt3dadd(185.89, -464.27, -63.04, 0.99)
    pt3dadd(187.73, -458.84, -59.21, 0.99)
    pt3dadd(188.85, -454.52, -56.35, 0.93)
    pt3dadd(190.9, -448.32, -56.35, 0.88)
    pt3dadd(191.86, -444.99, -53.48, 0.88)
    pt3dadd(193.24, -438.57, -53.48, 0.88)
    pt3dadd(194.52, -433.89, -52.53, 0.88)
    pt3dadd(194.95, -427.05, -54.44, 0.88)
    pt3dadd(195.88, -424.28, -54.44, 0.88)
    pt3dadd(197.1, -416.26, -54.44, 0.8)
    pt3dadd(198.7, -408.06, -54.44, 0.85)
    pt3dadd(199.71, -403.32, -54.44, 0.83)
    pt3dadd(199.71, -403.32, -55.39, 0.83)
    pt3dadd(200.78, -396.67, -53.48, 0.85)
    pt3dadd(201.28, -391.48, -50.62, 0.77)
    pt3dadd(202.85, -384.26, -50.62, 0.77)
    pt3dadd(203.73, -371.03, -46.8, 0.77)
    pt3dadd(205.76, -364.61, -46.8, 0.77)
    pt3dadd(206.37, -360.59, -43.93, 0.77)
    pt3dadd(205.44, -357.77, -44.89, 0.77)
    pt3dadd(205.36, -355.19, -44.89, 0.77)
    pt3dadd(205.65, -352.23, -44.89, 0.77)
    pt3dadd(205.17, -347.89, -44.89, 0.77)
    pt3dadd(205.46, -342.99, -42.98, 0.77)
    pt3dadd(205.97, -337.48, -40.11, 0.77)
    pt3dadd(206.71, -333.33, -40.11, 0.77)
    pt3dadd(207.59, -330.8, -40.11, 0.77)
    pt3dadd(207.54, -327.02, -40.11, 0.77)
    pt3dadd(209.86, -319.59, -36.29, 0.77)
    pt3dadd(210.76, -313.06, -36.29, 0.77)
    pt3dadd(210.44, -310.35, -36.29, 0.77)
    pt3dadd(212.28, -302.89, -34.38, 0.77)
    pt3dadd(211.99, -297.33, -34.38, 0.77)
    pt3dadd(212.86, -294.51, -36.29, 0.77)
    pt3dadd(212.09, -292.16, -34.38, 0.77)
    pt3dadd(213.74, -289.05, -34.38, 0.77)
    pt3dadd(214.38, -284.68, -32.47, 0.77)
    pt3dadd(214.78, -276.77, -31.52, 0.77)
    pt3dadd(214.89, -268.31, -28.65, 0.77)
    pt3dadd(215.42, -259.92, -24.83, 0.77)
    pt3dadd(218.22, -253.45, -21.01, 0.77)
    pt3dadd(219.52, -251.4, -19.1, 0.77)
  }
  apic[26] {pt3dclear()
    pt3dadd(219.52, -251.4, -19.1, 0.77)
    pt3dadd(218.51, -250.07, -17.19, 0.77)
    pt3dadd(218.27, -247.51, -15.28, 0.77)
    pt3dadd(218, -244.82, -11.46, 0.77)
    pt3dadd(218.03, -243.28, -9.55, 0.64)
    pt3dadd(217.82, -242.16, -7.64, 0.64)
    pt3dadd(217.9, -241.12, -5.73, 0.64)
    pt3dadd(219.31, -241.04, -6.69, 0.53)
  }
  apic[27] {pt3dclear()
    pt3dadd(219.52, -251.4, -19.1, 0.64)
    pt3dadd(222.42, -245.12, -21.97, 0.64)
    pt3dadd(224.66, -241.5, -23.88, 0.56)
    pt3dadd(226.9, -238.49, -23.88, 0.56)
    pt3dadd(228.68, -236.12, -23.88, 0.56)
    pt3dadd(233.02, -226.85, -24.83, 0.61)
    pt3dadd(234.06, -224.08, -26.74, 0.61)
    pt3dadd(234.4, -222.49, -27.7, 0.64)
    pt3dadd(236.64, -219.1, -28.65, 0.61)
    pt3dadd(237.89, -217.91, -29.61, 0.61)
  }
  apic[28] {pt3dclear()
    pt3dadd(237.89, -217.91, -29.61, 0.61)
    pt3dadd(237.84, -216.12, -28.65, 0.61)
    pt3dadd(239.44, -212.82, -29.61, 0.61)
    pt3dadd(242.92, -206.32, -29.61, 0.61)
    pt3dadd(242.9, -202.94, -31.52, 0.61)
    pt3dadd(244.02, -198.63, -34.38, 0.61)
    pt3dadd(243.75, -193.01, -35.34, 0.61)
    pt3dadd(243.72, -186.25, -38.2, 0.61)
    pt3dadd(242.76, -179.73, -39.16, 0.61)
    pt3dadd(241.46, -173.1, -40.11, 0.59)
    pt3dadd(240.47, -170.46, -43.93, 0.59)
    pt3dadd(240.45, -167.37, -45.84, 0.59)
    pt3dadd(239.3, -163.03, -48.71, 0.59)
    pt3dadd(235.95, -160.1, -50.62, 0.56)
    pt3dadd(234.62, -155.07, -53.48, 0.56)
    pt3dadd(233.69, -151.72, -54.44, 0.61)
    pt3dadd(233.39, -145.78, -57.3, 0.61)
    pt3dadd(234.11, -141.33, -56.35, 0.61)
    pt3dadd(233.18, -136.94, -57.3, 0.61)
    pt3dadd(232.38, -133.83, -59.21, 0.61)
    pt3dadd(232.94, -131.91, -59.21, 0.61)
    pt3dadd(236.43, -124.67, -63.04, 0.61)
    pt3dadd(236.51, -121.2, -64.95, 0.61)
    pt3dadd(239.3, -116.04, -69.72, 0.61)
    pt3dadd(240.32, -114.12, -73.54, 0.61)
    pt3dadd(240.39, -110.66, -77.36, 0.61)
    pt3dadd(240.82, -107.25, -77.36, 0.61)
    pt3dadd(240.69, -106.4, -81.18, 0.8)
    pt3dadd(241.11, -106.43, -83.09, 0.93)
    pt3dadd(240.05, -106.35, -90.73, 0.88)
    pt3dadd(241.67, -107.81, -92.64, 0.75)
    pt3dadd(243.51, -109.33, -94.55, 0.75)
    pt3dadd(243.48, -110.4, -96.46, 0.75)
    pt3dadd(242.31, -112.18, -97.42, 0.69)
    pt3dadd(241.67, -114.39, -101.24, 0.69)
    pt3dadd(242.37, -117.08, -105.06, 0.69)
    pt3dadd(242.82, -118.25, -105.06, 0.69)
  }
  apic[29] {pt3dclear()
    pt3dadd(237.89, -217.91, -29.61, 0.69)
    pt3dadd(241.78, -216.2, -29.61, 0.69)
    pt3dadd(247.1, -212.45, -34.38, 0.67)
    pt3dadd(248.7, -211.28, -39.16, 0.67)
  }
  apic[30] {pt3dclear()
    pt3dadd(248.7, -211.28, -39.16, 0.59)
    pt3dadd(248.78, -209.97, -40.11, 0.59)
    pt3dadd(249.93, -208.14, -40.11, 0.59)
    pt3dadd(253.39, -205.5, -43.93, 0.59)
    pt3dadd(255.44, -203.53, -43.93, 0.59)
    pt3dadd(256.4, -201.08, -43.93, 0.59)
    pt3dadd(258.18, -197.94, -45.84, 0.59)
    pt3dadd(261.16, -195.25, -44.89, 0.59)
    pt3dadd(265.13, -190.91, -48.71, 0.59)
    pt3dadd(267.98, -186.97, -50.62, 0.59)
    pt3dadd(272.16, -182.15, -53.48, 0.59)
    pt3dadd(272.8, -179.67, -53.48, 0.59)
    pt3dadd(276.29, -175.23, -56.35, 0.59)
    pt3dadd(278.81, -171.23, -58.26, 0.59)
    pt3dadd(280.33, -168.09, -61.13, 0.59)
  }
}
proc shape3d_8() {
  apic[30] {    pt3dadd(280.25, -166.68, -62.08, 0.61)
    pt3dadd(280.15, -166.01, -64.95, 0.61)
    pt3dadd(281.05, -165.22, -68.77, 0.61)
    pt3dadd(283, -164.07, -68.77, 0.61)
    pt3dadd(284.01, -161.44, -64.95, 0.61)
    pt3dadd(285.82, -158, -64.95, 0.59)
    pt3dadd(286.16, -155.76, -67.81, 0.59)
    pt3dadd(287.12, -153.77, -67.81, 0.59)
    pt3dadd(289.2, -150.09, -73.54, 0.59)
    pt3dadd(290.05, -145.91, -75.45, 0.59)
    pt3dadd(291.17, -142.53, -76.41, 0.59)
    pt3dadd(291.83, -138.88, -79.27, 0.56)
    pt3dadd(292.53, -135.61, -81.18, 0.56)
    pt3dadd(291.59, -132.84, -84.05, 0.56)
    pt3dadd(291.28, -130.1, -86.91, 0.56)
    pt3dadd(292.98, -127.65, -86.91, 0.56)
    pt3dadd(295.27, -126.85, -86.91, 0.51)
  }
  apic[31] {pt3dclear()
    pt3dadd(248.7, -211.28, -39.16, 0.56)
    pt3dadd(251.9, -210.48, -41.07, 0.56)
    pt3dadd(254.35, -207.5, -42.98, 0.53)
    pt3dadd(256.66, -205.07, -46.8, 0.61)
    pt3dadd(259.46, -201.72, -49.66, 0.61)
    pt3dadd(263.75, -196.5, -51.57, 0.61)
    pt3dadd(265.93, -192.75, -56.35, 0.61)
    pt3dadd(269.71, -189.21, -59.21, 0.61)
    pt3dadd(273.14, -186.68, -63.04, 0.61)
    pt3dadd(276.34, -184.6, -63.99, 0.61)
    pt3dadd(277.86, -184.33, -65.9, 0.61)
    pt3dadd(279.8, -181.35, -66.86, 0.61)
    pt3dadd(283.26, -174.16, -73.54, 0.61)
    pt3dadd(288.8, -167.21, -76.41, 0.61)
    pt3dadd(293.14, -164.28, -79.27, 0.61)
    pt3dadd(295.4, -160.34, -80.23, 0.61)
    pt3dadd(295.91, -156.96, -81.18, 0.61)
    pt3dadd(298.12, -154.03, -85, 0.61)
    pt3dadd(301.69, -150.6, -86.91, 0.61)
    pt3dadd(305.41, -149.13, -88.82, 0.61)
    pt3dadd(308.34, -146.66, -90.73, 0.59)
    pt3dadd(316.86, -144.71, -90.73, 0.59)
    pt3dadd(322.35, -140.88, -92.64, 0.59)
    pt3dadd(328.47, -137.9, -97.42, 0.56)
    pt3dadd(332.28, -135.45, -101.24, 0.56)
    pt3dadd(332.78, -135.42, -101.24, 0.53)
  }
  apic[32] {pt3dclear()
    pt3dadd(182.78, -476.65, -75.45, 0.93)
    pt3dadd(183.84, -469.33, -75.45, 0.93)
    pt3dadd(187.12, -461.15, -80.23, 0.93)
    pt3dadd(187.3, -458.57, -80.23, 0.99)
    pt3dadd(189.41, -454.87, -80.23, 0.93)
    pt3dadd(189.99, -452.47, -82.14, 0.93)
    pt3dadd(188.85, -449.81, -84.05, 0.99)
    pt3dadd(189.33, -446.46, -85.96, 1.04)
    pt3dadd(190.07, -442.75, -85.96, 0.99)
    pt3dadd(190.02, -439.48, -85.96, 0.99)
    pt3dadd(188.98, -435.67, -85.96, 0.99)
    pt3dadd(187.68, -430.4, -84.05, 0.99)
    pt3dadd(187.12, -425.82, -83.09, 0.99)
    pt3dadd(185.84, -417.25, -80.23, 0.99)
    pt3dadd(185.15, -410.96, -76.41, 0.99)
    pt3dadd(183.68, -406.41, -75.45, 1.01)
    pt3dadd(183.76, -392.09, -75.45, 1.01)
    pt3dadd(183.92, -385.27, -75.45, 1.01)
    pt3dadd(184.75, -376.11, -73.54, 1.04)
    pt3dadd(185.17, -368.87, -73.54, 1.01)
    pt3dadd(185.63, -362.83, -70.68, 0.99)
    pt3dadd(186.13, -356.46, -70.68, 0.99)
    pt3dadd(188.1, -349.33, -68.77, 0.93)
    pt3dadd(188.08, -345.36, -66.86, 0.93)
    pt3dadd(188.16, -340.49, -64.95, 0.93)
    pt3dadd(188.88, -336.1, -65.9, 0.93)
    pt3dadd(188.1, -331.99, -65.9, 0.93)
    pt3dadd(188.56, -329.17, -65.9, 0.93)
    pt3dadd(189.81, -325.05, -64.95, 0.93)
    pt3dadd(191.33, -322.01, -64.95, 0.96)
    pt3dadd(191.78, -319.11, -64.95, 0.96)
    pt3dadd(192.36, -317.43, -64.95, 0.88)
  }
  apic[33] {pt3dclear()
    pt3dadd(192.36, -317.43, -64.95, 0.88)
    pt3dadd(192.2, -315.89, -63.99, 0.88)
    pt3dadd(192.68, -311.33, -63.99, 0.88)
    pt3dadd(192.87, -306.49, -63.99, 0.85)
    pt3dadd(193.48, -301.83, -63.99, 0.85)
    pt3dadd(194.15, -298.63, -63.99, 0.85)
    pt3dadd(194.31, -294.16, -65.9, 0.85)
    pt3dadd(194.63, -290.27, -67.81, 0.85)
    pt3dadd(194.09, -286.41, -67.81, 0.85)
    pt3dadd(194.33, -281.51, -66.86, 0.88)
    pt3dadd(195.13, -276.22, -66.86, 0.85)
    pt3dadd(194.15, -273.37, -69.72, 0.8)
    pt3dadd(193.77, -270.68, -71.63, 0.8)
    pt3dadd(193.83, -269.56, -71.63, 0.83)
    pt3dadd(193.27, -267.64, -71.63, 0.83)
    pt3dadd(189.65, -262.66, -76.41, 0.8)
    pt3dadd(187.94, -257.66, -79.27, 0.8)
    pt3dadd(187.89, -255.21, -81.18, 0.8)
    pt3dadd(188.53, -252.44, -83.09, 0.8)
    pt3dadd(187.81, -250.52, -84.05, 0.8)
    pt3dadd(188.53, -247.27, -85, 0.8)
    pt3dadd(187.78, -243.15, -85, 0.8)
    pt3dadd(185.55, -234.36, -87.87, 0.83)
    pt3dadd(181.63, -228.69, -92.64, 0.83)
  }
  apic[34] {pt3dclear()
    pt3dadd(181.63, -228.69, -92.64, 0.8)
    pt3dadd(181.69, -225.31, -92.64, 0.8)
    pt3dadd(182.38, -220.09, -92.64, 0.77)
    pt3dadd(184.14, -216.42, -92.64, 0.77)
    pt3dadd(184.35, -212.74, -92.64, 0.77)
    pt3dadd(185.39, -209.95, -90.73, 0.72)
    pt3dadd(186.11, -205.53, -88.82, 0.72)
    pt3dadd(187.57, -199.32, -85.96, 0.72)
    pt3dadd(187.7, -195.36, -84.05, 0.72)
    pt3dadd(188.61, -191.18, -82.14, 0.69)
    pt3dadd(188.29, -189.1, -83.09, 0.69)
    pt3dadd(190.74, -181.54, -81.18, 0.69)
    pt3dadd(193.22, -174.77, -80.23, 0.69)
    pt3dadd(192.74, -170.83, -80.23, 0.69)
    pt3dadd(194.01, -166.47, -79.27, 0.69)
    pt3dadd(194.01, -160.48, -77.36, 0.69)
    pt3dadd(192.71, -156.78, -76.41, 0.67)
    pt3dadd(194.25, -150.33, -76.41, 0.67)
    pt3dadd(194.44, -142.98, -76.41, 0.64)
    pt3dadd(194.68, -133.48, -80.23, 0.64)
    pt3dadd(195.05, -129.46, -83.09, 0.64)
  }
  apic[35] {pt3dclear()
    pt3dadd(195.05, -129.46, -83.09, 0.64)
    pt3dadd(193.64, -127.17, -82.14, 0.64)
    pt3dadd(192.47, -124.61, -82.14, 0.61)
    pt3dadd(191.38, -120.94, -82.14, 0.67)
    pt3dadd(188.53, -117.21, -83.09, 0.67)
    pt3dadd(184.32, -114.6, -79.27, 0.64)
    pt3dadd(182.01, -114.36, -79.27, 0.64)
    pt3dadd(178.25, -112.02, -77.36, 0.64)
    pt3dadd(174.37, -110.74, -74.5, 0.64)
    pt3dadd(171.78, -108.53, -70.68, 0.64)
    pt3dadd(169.07, -106.19, -67.81, 0.61)
    pt3dadd(167.58, -104.35, -66.86, 0.61)
    pt3dadd(164.78, -102.91, -66.86, 0.61)
    pt3dadd(163.05, -100.84, -66.86, 0.61)
    pt3dadd(161.64, -97.43, -64.95, 0.61)
    pt3dadd(157.91, -96.68, -64.95, 0.61)
    pt3dadd(152.88, -90.91, -64.95, 0.61)
    pt3dadd(150.99, -87.36, -64.95, 0.59)
  }
  apic[36] {pt3dclear()
    pt3dadd(195.05, -129.46, -83.09, 0.59)
    pt3dadd(198.03, -128.13, -83.09, 0.59)
    pt3dadd(199.79, -125.7, -85, 0.59)
    pt3dadd(201.02, -121.05, -87.87, 0.59)
    pt3dadd(201.79, -119.23, -88.82, 0.56)
    pt3dadd(201.68, -117.61, -90.73, 0.56)
    pt3dadd(201.79, -117.26, -87.87, 0.56)
  }
  apic[37] {pt3dclear()
    pt3dadd(181.63, -228.69, -92.64, 0.77)
    pt3dadd(179.85, -226.91, -95.51, 0.77)
    pt3dadd(178.23, -223.63, -98.37, 0.83)
    pt3dadd(177.11, -218.52, -100.28, 0.77)
    pt3dadd(176.64, -214.56, -100.28, 0.77)
  }
  apic[38] {pt3dclear()
    pt3dadd(176.64, -214.56, -100.28, 0.77)
    pt3dadd(175.59, -203.77, -101.24, 0.77)
    pt3dadd(175, -198.79, -99.33, 0.77)
    pt3dadd(173.25, -189.98, -97.42, 0.77)
    pt3dadd(174.39, -185.66, -97.42, 0.77)
    pt3dadd(172.05, -179.14, -94.55, 0.77)
    pt3dadd(171.28, -173.15, -93.6, 0.77)
    pt3dadd(171.84, -167.48, -92.64, 0.77)
    pt3dadd(169.39, -158.83, -90.73, 0.77)
    pt3dadd(167.63, -154.54, -90.73, 0.72)
    pt3dadd(168.11, -141.84, -90.73, 0.72)
    pt3dadd(167.71, -136.3, -90.73, 0.72)
    pt3dadd(168.37, -128.69, -88.82, 0.72)
    pt3dadd(167.47, -124.13, -88.82, 0.75)
    pt3dadd(165.23, -120.73, -88.82, 0.75)
    pt3dadd(164.82, -119.4, -88.82, 0.75)
  }
  apic[39] {pt3dclear()
    pt3dadd(164.82, -119.4, -88.82, 0.72)
    pt3dadd(163.66, -115.77, -88.82, 0.72)
    pt3dadd(161.45, -107.55, -88.82, 0.72)
    pt3dadd(161.51, -101.77, -90.73, 0.69)
    pt3dadd(161.43, -100.06, -88.82, 0.69)
    pt3dadd(159.48, -97.48, -85.96, 0.72)
    pt3dadd(156.42, -94.34, -80.23, 0.69)
    pt3dadd(153.49, -92.66, -77.36, 0.67)
    pt3dadd(151.12, -90.99, -73.54, 0.67)
    pt3dadd(150.14, -90.29, -71.63, 0.61)
  }
  apic[40] {pt3dclear()
    pt3dadd(164.82, -119.4, -88.82, 0.72)
    pt3dadd(165.24, -117.83, -95.51, 0.72)
    pt3dadd(164.39, -115.06, -96.46, 0.72)
    pt3dadd(164.31, -113.22, -98.37, 0.72)
    pt3dadd(163.06, -112.43, -100.28, 0.72)
    pt3dadd(159.01, -111.31, -106.01, 0.72)
    pt3dadd(156.14, -110.19, -111.74, 0.69)
    pt3dadd(150.47, -108.06, -116.52, 0.64)
    pt3dadd(147.96, -106.04, -119.38, 0.64)
    pt3dadd(144.18, -104.68, -122.25, 0.64)
    pt3dadd(141.33, -103.45, -125.12, 0.67)
    pt3dadd(139.31, -103.51, -127.03, 0.64)
    pt3dadd(135.71, -103.13, -128.94, 0.64)
    pt3dadd(131.61, -101.7, -131.8, 0.64)
    pt3dadd(127.54, -100.1, -131.8, 0.64)
  }
  apic[41] {pt3dclear()
    pt3dadd(176.64, -214.56, -100.28, 0.69)
    pt3dadd(175.87, -214.22, -104.1, 0.69)
    pt3dadd(175.36, -213.36, -106.01, 0.69)
    pt3dadd(176.29, -211.45, -107.92, 0.72)
    pt3dadd(176.11, -209.9, -108.88, 0.72)
    pt3dadd(175.57, -207.67, -108.88, 0.72)
    pt3dadd(174.56, -205.75, -108.88, 0.72)
    pt3dadd(173.95, -204.36, -111.74, 0.75)
    pt3dadd(174.06, -202.69, -113.65, 0.75)
  }
}
proc shape3d_9() {
  apic[41] {    pt3dadd(173.47, -201.14, -115.56, 0.75)
    pt3dadd(173.9, -199.65, -115.56, 0.72)
    pt3dadd(174.54, -198.51, -117.47, 0.72)
    pt3dadd(173.84, -196.94, -119.38, 0.72)
    pt3dadd(173.52, -195.47, -121.29, 0.75)
    pt3dadd(172.43, -194.33, -123.21, 0.77)
    pt3dadd(170.44, -192.7, -128.94, 0.77)
    pt3dadd(166.79, -191.21, -130.85, 0.77)
    pt3dadd(164.5, -189.59, -131.8, 0.75)
    pt3dadd(161.99, -188.07, -134.67, 0.75)
    pt3dadd(159.65, -187.03, -138.49, 0.75)
    pt3dadd(157.6, -185.43, -138.49, 0.72)
    pt3dadd(156.22, -183.14, -140.4, 0.72)
    pt3dadd(155.68, -180.16, -140.4, 0.72)
    pt3dadd(154.97, -176.7, -140.4, 0.69)
    pt3dadd(154.3, -174.06, -140.4, 0.69)
  }
  apic[42] {pt3dclear()
    pt3dadd(154.3, -174.06, -140.4, 0.69)
    pt3dadd(151.42, -171.06, -141.35, 0.69)
    pt3dadd(150.23, -168.45, -141.35, 0.67)
    pt3dadd(148.34, -166.32, -141.35, 0.64)
    pt3dadd(145.91, -166.13, -144.22, 0.64)
    pt3dadd(144.32, -164.27, -147.08, 0.64)
    pt3dadd(140, -162.14, -150.9, 0.64)
    pt3dadd(136.78, -158.78, -153.77, 0.64)
    pt3dadd(134.25, -156.6, -156.63, 0.61)
    pt3dadd(131.19, -155.24, -159.5, 0.59)
    pt3dadd(126.58, -152.87, -163.32, 0.59)
    pt3dadd(122.64, -147.97, -164.27, 0.59)
    pt3dadd(120.75, -145.44, -166.18, 0.59)
    pt3dadd(116.17, -142.91, -168.09, 0.59)
    pt3dadd(109.92, -137.64, -168.09, 0.59)
    pt3dadd(105.12, -133.7, -166.18, 0.59)
    pt3dadd(101.88, -130.51, -161.41, 0.59)
    pt3dadd(100.17, -125.79, -159.5, 0.59)
    pt3dadd(99.8, -122.73, -156.63, 0.59)
    pt3dadd(99.56, -120.31, -154.72, 0.59)
    pt3dadd(98.12, -116.26, -152.81, 0.59)
    pt3dadd(97.38, -113.39, -149.95, 0.59)
    pt3dadd(96.18, -109.63, -147.08, 0.56)
    pt3dadd(93.01, -102.87, -146.13, 0.56)
    pt3dadd(89.23, -95.84, -146.13, 0.56)
    pt3dadd(87.39, -91.85, -145.17, 0.56)
    pt3dadd(86.22, -90.04, -145.17, 0.56)
    pt3dadd(81.27, -87.75, -145.17, 0.56)
    pt3dadd(76.93, -84.63, -144.22, 0.53)
    pt3dadd(73.25, -82.93, -144.22, 0.53)
    pt3dadd(71.42, -81.62, -145.17, 0.53)
  }
  apic[43] {pt3dclear()
    pt3dadd(154.3, -174.06, -140.4, 0.67)
    pt3dadd(154.03, -172.17, -145.17, 0.67)
    pt3dadd(156.48, -170.82, -154.72, 0.67)
    pt3dadd(157.97, -169.03, -159.5, 0.67)
    pt3dadd(158.29, -167.17, -163.32, 0.67)
    pt3dadd(158.75, -165.76, -166.18, 0.67)
    pt3dadd(158.4, -164.19, -169.05, 0.67)
    pt3dadd(160.34, -161.34, -171.91, 0.67)
    pt3dadd(161.09, -159.5, -176.69, 0.67)
    pt3dadd(160.08, -155.75, -180.51, 0.67)
    pt3dadd(159.65, -153.14, -187.2, 0.67)
    pt3dadd(160.58, -150.34, -191.02, 0.67)
    pt3dadd(159.68, -148.48, -193.88, 0.67)
    pt3dadd(161.49, -146.45, -194.84, 0.67)
    pt3dadd(161.01, -144.62, -199.61, 0.67)
    pt3dadd(158.75, -141.61, -202.48, 0.67)
    pt3dadd(158.45, -139.37, -205.34, 0.67)
    pt3dadd(158.11, -135.57, -207.25, 0.67)
  }
  apic[44] {pt3dclear()
    pt3dadd(158.11, -135.57, -207.25, 0.56)
    pt3dadd(161.22, -133.17, -208.21, 0.56)
    pt3dadd(164.15, -130.91, -209.16, 0.56)
    pt3dadd(166.33, -128.72, -209.16, 0.53)
    pt3dadd(167.45, -127.42, -208.21, 0.53)
    pt3dadd(168.84, -124.76, -208.21, 0.53)
    pt3dadd(171.18, -122.41, -207.25, 0.51)
    pt3dadd(174.48, -120.31, -207.25, 0.51)
    pt3dadd(178.29, -119.51, -207.25, 0.51)
    pt3dadd(181.56, -115.54, -211.07, 0.51)
    pt3dadd(183.43, -113.44, -211.07, 0.51)
    pt3dadd(186.89, -111.1, -214.89, 0.51)
    pt3dadd(188.89, -110.35, -214.89, 0.51)
  }
  apic[45] {pt3dclear()
    pt3dadd(158.11, -135.57, -207.25, 0.53)
    pt3dadd(157.26, -134.77, -209.16, 0.53)
    pt3dadd(156.06, -132.45, -213.94, 0.53)
    pt3dadd(155.9, -129.79, -214.89, 0.53)
    pt3dadd(154.27, -128.56, -217.76, 0.53)
    pt3dadd(151.19, -127.05, -220.62, 0.53)
    pt3dadd(151.08, -123.9, -223.49, 0.53)
    pt3dadd(150.63, -122.04, -229.22, 0.51)
    pt3dadd(151.34, -121.85, -233.04, 0.51)
    pt3dadd(149.56, -120.28, -236.86, 0.51)
    pt3dadd(147.4, -119.03, -240.68, 0.51)
    pt3dadd(146.85, -118.58, -243.54, 0.51)
  }
  apic[46] {pt3dclear()
    pt3dadd(192.36, -317.43, -64.95, 0.69)
    pt3dadd(195.32, -315.14, -64.95, 0.69)
    pt3dadd(198.01, -311.89, -65.9, 0.67)
    pt3dadd(199.85, -308.33, -65.9, 0.67)
    pt3dadd(201.26, -300.1, -66.86, 0.67)
    pt3dadd(200.75, -291.74, -68.77, 0.67)
    pt3dadd(200.64, -287.74, -69.72, 0.67)
    pt3dadd(203.47, -280.64, -69.72, 0.64)
    pt3dadd(205.06, -273.29, -69.72, 0.64)
    pt3dadd(206, -267.22, -70.68, 0.61)
    pt3dadd(207.3, -259.28, -72.59, 0.61)
    pt3dadd(206.02, -253.85, -72.59, 0.61)
    pt3dadd(205.62, -251.05, -70.68, 0.59)
    pt3dadd(205.68, -247.06, -70.68, 0.59)
    pt3dadd(206.16, -242.56, -70.68, 0.59)
    pt3dadd(206.77, -234.97, -73.54, 0.59)
    pt3dadd(207.3, -229.57, -74.5, 0.61)
    pt3dadd(208.1, -224.78, -79.27, 0.64)
    pt3dadd(210.18, -221.02, -80.23, 0.67)
    pt3dadd(212.25, -217.88, -84.05, 0.67)
    pt3dadd(214.76, -214.98, -83.09, 0.67)
    pt3dadd(215.1, -211.52, -85, 0.67)
    pt3dadd(214.01, -209.84, -88.82, 0.67)
    pt3dadd(214.38, -207.31, -86.91, 0.64)
    pt3dadd(215.34, -205.45, -88.82, 0.61)
    pt3dadd(216.86, -204.11, -88.82, 0.61)
    pt3dadd(217.18, -200.65, -92.64, 0.64)
    pt3dadd(217.07, -198.82, -95.51, 0.64)
    pt3dadd(218.46, -197.41, -95.51, 0.64)
    pt3dadd(219.52, -194.58, -98.37, 0.61)
    pt3dadd(220.13, -193.01, -102.19, 0.61)
    pt3dadd(220.77, -192.13, -105.06, 0.61)
    pt3dadd(220.67, -191.18, -104.1, 0.61)
    pt3dadd(221.09, -190.56, -107.92, 0.61)
    pt3dadd(222.02, -189.9, -111.74, 0.61)
    pt3dadd(223.41, -187.23, -114.61, 0.61)
    pt3dadd(225.41, -185.13, -117.47, 0.61)
    pt3dadd(225.59, -181.48, -117.47, 0.61)
    pt3dadd(227.27, -177.22, -117.47, 0.61)
    pt3dadd(228.36, -174.56, -123.21, 0.61)
  }
  apic[47] {pt3dclear()
    pt3dadd(228.36, -174.56, -123.21, 0.61)
    pt3dadd(227.64, -170.97, -122.25, 0.61)
    pt3dadd(228.41, -166.28, -122.25, 0.61)
    pt3dadd(229.16, -162.9, -120.34, 0.61)
    pt3dadd(229.03, -158.56, -119.38, 0.61)
    pt3dadd(231, -154.43, -119.38, 0.61)
    pt3dadd(232.57, -148.81, -119.38, 0.61)
    pt3dadd(232.67, -145.65, -117.47, 0.61)
    pt3dadd(234.38, -139.76, -118.43, 0.61)
    pt3dadd(235.28, -137.63, -119.38, 0.61)
    pt3dadd(236.16, -133.83, -118.43, 0.61)
    pt3dadd(238.12, -131.46, -118.43, 0.61)
  }
  apic[48] {pt3dclear()
    pt3dadd(238.12, -131.46, -118.43, 0.59)
    pt3dadd(241.03, -130.9, -117.47, 0.59)
    pt3dadd(243.88, -129.8, -115.56, 0.59)
    pt3dadd(246.49, -129.78, -115.56, 0.59)
    pt3dadd(248.97, -129.67, -111.74, 0.59)
    pt3dadd(251.12, -128.85, -111.74, 0.59)
    pt3dadd(254.35, -128.74, -108.88, 0.59)
    pt3dadd(257.41, -127.83, -106.01, 0.59)
    pt3dadd(258.58, -126.21, -103.15, 0.59)
    pt3dadd(259.19, -122.59, -102.19, 0.64)
    pt3dadd(260.98, -119.87, -101.24, 0.61)
    pt3dadd(263.8, -117.58, -97.42, 0.61)
    pt3dadd(265.37, -116.17, -95.51, 0.61)
    pt3dadd(266.43, -115.69, -94.55, 0.61)
  }
  apic[49] {pt3dclear()
    pt3dadd(238.12, -131.46, -118.43, 0.61)
    pt3dadd(238.12, -130.24, -118.43, 0.61)
    pt3dadd(238.97, -127.05, -120.34, 0.56)
    pt3dadd(239.61, -124.3, -120.34, 0.59)
    pt3dadd(240.83, -123.08, -120.34, 0.56)
    pt3dadd(239.82, -121.21, -122.25, 0.56)
    pt3dadd(238.89, -120.55, -125.12, 0.61)
    pt3dadd(236.01, -118.61, -126.07, 0.61)
    pt3dadd(233.86, -117.54, -127.03, 0.61)
    pt3dadd(233.35, -118.21, -128.94, 0.56)
  }
  apic[50] {pt3dclear()
    pt3dadd(228.36, -174.56, -123.21, 0.61)
    pt3dadd(231.53, -171.79, -125.12, 0.61)
    pt3dadd(234.78, -170.78, -126.07, 0.61)
    pt3dadd(237.31, -166.87, -127.98, 0.64)
    pt3dadd(240.1, -163.03, -129.89, 0.64)
    pt3dadd(242.31, -159.6, -130.85, 0.64)
    pt3dadd(244.63, -152.68, -131.8, 0.69)
    pt3dadd(247, -148.44, -135.62, 0.69)
    pt3dadd(250.38, -145.59, -137.53, 0.69)
    pt3dadd(250.54, -143.73, -139.44, 0.69)
    pt3dadd(253.1, -143.76, -140.4, 0.69)
    pt3dadd(255.41, -142.45, -143.26, 0.69)
    pt3dadd(257.91, -137.95, -145.17, 0.69)
    pt3dadd(258.34, -136.17, -148.04, 0.69)
    pt3dadd(255.92, -132.97, -149.95, 0.69)
    pt3dadd(254.51, -130.74, -149.95, 0.69)
    pt3dadd(254.05, -129.33, -148.04, 0.69)
  }
  apic[51] {pt3dclear()
    pt3dadd(185.48, -514.39, -82.14, 0.96)
    pt3dadd(184.52, -514.44, -75.45, 0.96)
    pt3dadd(183.43, -512.95, -73.54, 0.96)
    pt3dadd(183.14, -511.56, -71.63, 0.91)
    pt3dadd(181.54, -509.83, -69.72, 0.85)
    pt3dadd(179.7, -508.26, -66.86, 0.8)
    pt3dadd(178.13, -505.31, -64.95, 0.8)
    pt3dadd(177.2, -502.62, -63.04, 0.8)
    pt3dadd(176.98, -500.19, -59.21, 0.77)
    pt3dadd(176.72, -497.85, -54.44, 0.77)
    pt3dadd(178.21, -496.09, -51.57, 0.77)
    pt3dadd(179.43, -494.74, -49.66, 0.77)
  }
  apic[52] {pt3dclear()
    pt3dadd(191.25, -548.7, -92.64, 1.12)
    pt3dadd(191.36, -546.23, -97.42, 1.12)
    pt3dadd(191.68, -543.19, -101.24, 1.01)
    pt3dadd(191.63, -540.66, -104.1, 1.01)
    pt3dadd(192, -539.17, -104.1, 1.01)
  }
}
proc shape3d_10() {
  apic[52] {  }
  apic[53] {pt3dclear()
    pt3dadd(192, -539.17, -104.1, 1.01)
    pt3dadd(192.72, -537.44, -106.01, 1.01)
    pt3dadd(193.54, -533.61, -106.01, 0.99)
    pt3dadd(193.17, -529.77, -107.92, 0.99)
    pt3dadd(194.18, -526.18, -107.92, 1.04)
    pt3dadd(194.21, -522.26, -107.92, 1.04)
    pt3dadd(196.69, -515.18, -106.97, 1.04)
    pt3dadd(197.46, -510.42, -106.97, 1.01)
    pt3dadd(196.98, -506.53, -110.79, 1.01)
    pt3dadd(197.75, -502, -110.79, 1.01)
    pt3dadd(199.24, -499.58, -110.79, 1.07)
    pt3dadd(199.99, -494.97, -112.7, 1.07)
    pt3dadd(200.36, -491.38, -112.7, 1.04)
    pt3dadd(200.47, -487.92, -112.7, 1.04)
    pt3dadd(200.87, -478.09, -113.65, 1.04)
    pt3dadd(202.09, -471.09, -111.74, 1.04)
    pt3dadd(202.2, -466.11, -109.83, 1.04)
    pt3dadd(204.59, -457.49, -106.97, 1.04)
    pt3dadd(204.89, -452.8, -105.06, 1.04)
    pt3dadd(206.35, -449.76, -105.06, 1.04)
    pt3dadd(207.36, -444.44, -105.06, 1.04)
    pt3dadd(209.97, -437.17, -105.06, 1.04)
    pt3dadd(211.89, -432.01, -105.06, 1.04)
    pt3dadd(213.17, -426.89, -105.06, 0.99)
    pt3dadd(214.21, -418.99, -105.06, 0.96)
    pt3dadd(214.21, -414.54, -105.06, 0.96)
    pt3dadd(214.52, -409.56, -103.15, 0.96)
    pt3dadd(214.31, -404.4, -102.19, 0.96)
    pt3dadd(214.39, -396.59, -102.19, 0.96)
    pt3dadd(215.32, -394.3, -102.19, 0.99)
    pt3dadd(216.5, -385.04, -101.24, 0.96)
    pt3dadd(217.43, -376.44, -100.28, 0.96)
    pt3dadd(218.09, -372.13, -99.33, 0.96)
    pt3dadd(217.37, -368.48, -99.33, 0.96)
    pt3dadd(218.01, -360.73, -98.37, 0.91)
    pt3dadd(218.47, -353.38, -98.37, 0.91)
    pt3dadd(218.39, -348.38, -97.42, 0.91)
    pt3dadd(219.26, -342.28, -97.42, 0.91)
    pt3dadd(220.14, -336.08, -97.42, 0.99)
    pt3dadd(219.66, -329.85, -97.42, 0.91)
    pt3dadd(218.78, -326.2, -97.42, 0.91)
    pt3dadd(219.74, -318.21, -97.42, 0.99)
    pt3dadd(220.54, -313.31, -97.42, 0.99)
    pt3dadd(220.68, -309.16, -97.42, 0.96)
    pt3dadd(219.77, -304.82, -100.28, 0.96)
    pt3dadd(221.37, -300.43, -100.28, 0.96)
    pt3dadd(222.11, -294.43, -99.33, 0.96)
    pt3dadd(223.6, -280.48, -100.28, 1.01)
    pt3dadd(225.39, -275.48, -100.28, 1.01)
    pt3dadd(225.95, -269.57, -102.19, 0.99)
    pt3dadd(224.91, -267.62, -103.15, 0.99)
    pt3dadd(225.36, -264.48, -104.1, 0.99)
  }
  apic[54] {pt3dclear()
    pt3dadd(225.36, -264.48, -104.1, 0.83)
    pt3dadd(224.22, -262.59, -101.24, 0.83)
    pt3dadd(222.67, -258.2, -102.19, 0.8)
    pt3dadd(221.95, -255.35, -100.28, 0.8)
    pt3dadd(222.09, -248.67, -101.24, 0.8)
    pt3dadd(221.15, -241.45, -101.24, 0.83)
    pt3dadd(221.34, -236.82, -103.15, 0.83)
    pt3dadd(218.89, -233.22, -105.06, 0.8)
    pt3dadd(217.99, -228.32, -105.06, 0.8)
    pt3dadd(215.06, -223.13, -109.83, 0.8)
    pt3dadd(212.45, -220.52, -112.7, 0.77)
    pt3dadd(211.62, -215.89, -113.65, 0.77)
    pt3dadd(212.29, -214.19, -114.61, 0.77)
    pt3dadd(211.2, -210.65, -115.56, 0.77)
    pt3dadd(204.7, -204.39, -121.29, 0.75)
    pt3dadd(199.85, -201.54, -126.07, 0.83)
    pt3dadd(197.03, -192.75, -129.89, 0.93)
    pt3dadd(193.33, -185.06, -129.89, 0.85)
    pt3dadd(188.65, -174.38, -127.98, 0.85)
    pt3dadd(188.01, -166.93, -127.03, 0.85)
    pt3dadd(187.47, -161.74, -126.07, 0.85)
    pt3dadd(186.17, -159.47, -127.03, 0.85)
  }
  apic[55] {pt3dclear()
    pt3dadd(186.17, -159.47, -127.03, 0.91)
    pt3dadd(186.7, -158.3, -127.98, 0.91)
    pt3dadd(186.6, -155.4, -126.07, 0.83)
    pt3dadd(185.82, -151.4, -127.03, 0.72)
    pt3dadd(186.36, -148.56, -128.94, 0.72)
    pt3dadd(188.33, -146.27, -128.94, 0.72)
    pt3dadd(187.69, -135.46, -130.85, 0.69)
    pt3dadd(188.73, -129.92, -132.76, 0.69)
    pt3dadd(191.23, -126.16, -134.67, 0.75)
    pt3dadd(191.25, -119.51, -134.67, 0.72)
    pt3dadd(191.28, -117.91, -133.71, 0.72)
  }
  apic[56] {pt3dclear()
    pt3dadd(191.28, -117.91, -133.71, 0.72)
    pt3dadd(190.35, -116.85, -131.8, 0.72)
    pt3dadd(189.52, -116.07, -131.8, 0.72)
    pt3dadd(189.18, -114.26, -124.16, 0.72)
    pt3dadd(187.47, -113.04, -119.38, 0.72)
    pt3dadd(185.5, -111.65, -115.56, 0.67)
    pt3dadd(181.78, -110.46, -114.61, 0.67)
    pt3dadd(174.45, -108.88, -111.74, 0.64)
    pt3dadd(166.65, -107.31, -108.88, 0.61)
    pt3dadd(164.76, -107.31, -108.88, 0.61)
    pt3dadd(163.25, -108.62, -107.92, 0.61)
    pt3dadd(163.72, -109.52, -106.01, 0.59)
  }
  apic[57] {pt3dclear()
    pt3dadd(191.28, -117.91, -133.71, 0.72)
    pt3dadd(193.22, -116.31, -135.62, 0.72)
    pt3dadd(195.01, -114.61, -134.67, 0.72)
    pt3dadd(198.31, -111.71, -135.62, 0.72)
    pt3dadd(204.06, -109.47, -138.49, 0.64)
    pt3dadd(207.66, -107.95, -140.4, 0.64)
    pt3dadd(212.18, -111.04, -141.35, 0.64)
    pt3dadd(216.2, -111.81, -141.35, 0.64)
    pt3dadd(218.68, -110.59, -142.31, 0.64)
  }
  apic[58] {pt3dclear()
    pt3dadd(186.17, -159.47, -127.03, 0.75)
    pt3dadd(185.16, -159.31, -126.07, 0.75)
    pt3dadd(183.53, -158.35, -127.03, 0.69)
    pt3dadd(181.96, -155.74, -128.94, 0.69)
    pt3dadd(179.27, -152.58, -130.85, 0.69)
    pt3dadd(174.88, -148.88, -132.76, 0.69)
    pt3dadd(170.94, -144.24, -133.71, 0.75)
    pt3dadd(169.71, -141.31, -134.67, 0.75)
  }
  apic[59] {pt3dclear()
    pt3dadd(169.71, -141.31, -134.67, 0.72)
    pt3dadd(166.28, -137.4, -134.67, 0.72)
    pt3dadd(160.77, -131.68, -132.76, 0.67)
    pt3dadd(156.96, -127.39, -132.76, 0.64)
    pt3dadd(151.42, -124.49, -129.89, 0.64)
    pt3dadd(146.9, -119.83, -123.21, 0.64)
    pt3dadd(143.68, -118.18, -114.61, 0.64)
    pt3dadd(143.25, -117.17, -112.7, 0.64)
    pt3dadd(144.5, -115.43, -110.79, 0.59)
  }
  apic[60] {pt3dclear()
    pt3dadd(169.71, -141.31, -134.67, 0.59)
    pt3dadd(170.97, -140.06, -134.67, 0.59)
    pt3dadd(172.8, -133.67, -133.71, 0.61)
    pt3dadd(174.24, -126.78, -135.62, 0.59)
    pt3dadd(175.33, -121.19, -136.58, 0.59)
    pt3dadd(176.18, -115.81, -137.53, 0.59)
    pt3dadd(176.53, -114.74, -137.53, 0.59)
  }
  apic[61] {pt3dclear()
    pt3dadd(225.36, -264.48, -104.1, 0.72)
    pt3dadd(226.05, -263.39, -103.15, 0.72)
    pt3dadd(227.3, -260.25, -103.15, 0.72)
    pt3dadd(228.13, -254.98, -103.15, 0.69)
    pt3dadd(228.02, -244.86, -101.24, 0.69)
    pt3dadd(230.69, -240.68, -99.33, 0.69)
    pt3dadd(231.43, -235.89, -99.33, 0.69)
    pt3dadd(233.22, -230.03, -101.24, 0.72)
    pt3dadd(233.08, -228.38, -96.46, 0.72)
  }
  apic[62] {pt3dclear()
    pt3dadd(233.08, -228.38, -96.46, 0.72)
    pt3dadd(233.16, -223.64, -93.6, 0.72)
    pt3dadd(233.93, -216.96, -91.69, 0.72)
    pt3dadd(234.76, -212.46, -92.64, 0.72)
    pt3dadd(235.27, -209.42, -91.69, 0.72)
  }
  apic[63] {pt3dclear()
    pt3dadd(235.27, -209.42, -91.69, 0.67)
    pt3dadd(234.33, -204.63, -89.78, 0.67)
    pt3dadd(234.52, -200.58, -87.87, 0.67)
    pt3dadd(234.81, -195.28, -87.87, 0.67)
    pt3dadd(233.69, -193.1, -87.87, 0.67)
    pt3dadd(234.79, -190.6, -86.91, 0.67)
    pt3dadd(233.67, -187.64, -85.96, 0.67)
    pt3dadd(231.51, -175.45, -85.96, 0.67)
    pt3dadd(229.3, -169.03, -85.96, 0.67)
    pt3dadd(229.3, -164.61, -85.96, 0.67)
    pt3dadd(225.79, -158.01, -87.87, 0.67)
    pt3dadd(224.67, -152.76, -87.87, 0.67)
    pt3dadd(224.51, -150.37, -86.91, 0.67)
    pt3dadd(223.02, -147.76, -85, 0.67)
  }
  apic[64] {pt3dclear()
    pt3dadd(223.02, -147.76, -85, 0.67)
    pt3dadd(220.49, -147.54, -83.09, 0.67)
    pt3dadd(218.68, -145.28, -81.18, 0.67)
    pt3dadd(212.53, -141.98, -80.23, 0.64)
    pt3dadd(210.64, -140.41, -76.41, 0.64)
    pt3dadd(206.62, -139.9, -70.68, 0.64)
    pt3dadd(203.05, -137.03, -68.77, 0.61)
    pt3dadd(200.25, -135.7, -65.9, 0.61)
    pt3dadd(198.47, -135.62, -67.81, 0.61)
    pt3dadd(195.22, -133.86, -64.95, 0.61)
    pt3dadd(193.46, -132.61, -63.99, 0.61)
    pt3dadd(191.15, -133.33, -63.04, 0.61)
    pt3dadd(185.85, -130.48, -61.13, 0.61)
    pt3dadd(184.23, -122.73, -63.04, 0.61)
    pt3dadd(180.74, -117.11, -65.9, 0.56)
    pt3dadd(177.44, -113.06, -66.86, 0.56)
    pt3dadd(173.76, -106.38, -63.99, 0.56)
    pt3dadd(174.32, -102.6, -63.04, 0.53)
    pt3dadd(172.64, -96.48, -61.13, 0.53)
    pt3dadd(171.66, -91.87, -56.35, 0.53)
    pt3dadd(171.23, -91.42, -56.35, 0.53)
  }
  apic[65] {pt3dclear()
    pt3dadd(223.02, -147.76, -85, 0.61)
    pt3dadd(225.09, -144.56, -83.09, 0.61)
    pt3dadd(226.85, -141.02, -81.18, 0.59)
    pt3dadd(227.07, -137.05, -81.18, 0.59)
    pt3dadd(229.41, -131.3, -80.23, 0.56)
    pt3dadd(230.42, -124.94, -80.23, 0.56)
    pt3dadd(234.63, -119.24, -80.23, 0.56)
    pt3dadd(236.04, -116.07, -81.18, 0.56)
    pt3dadd(237.8, -113.46, -79.27, 0.56)
  }
  apic[66] {pt3dclear()
    pt3dadd(237.8, -113.46, -79.27, 0.56)
    pt3dadd(239.05, -114.13, -76.41, 0.56)
    pt3dadd(241.15, -113.09, -75.45, 0.56)
    pt3dadd(241.39, -112.75, -72.59, 0.56)
  }
  apic[67] {pt3dclear()
    pt3dadd(237.8, -113.46, -79.27, 0.53)
    pt3dadd(237, -110.54, -78.32, 0.53)
    pt3dadd(236.22, -106.28, -76.41, 0.53)
    pt3dadd(236.62, -104.57, -74.5, 0.53)
    pt3dadd(237.08, -103.43, -68.77, 0.53)
    pt3dadd(238.89, -102.31, -64.95, 0.53)
    pt3dadd(239.77, -100.44, -61.13, 0.53)
    pt3dadd(239.66, -98.31, -59.21, 0.53)
  }
}
proc shape3d_11() {
  apic[67] {    pt3dadd(240.54, -96.96, -59.21, 0.51)
    pt3dadd(240.62, -95.84, -55.39, 0.51)
    pt3dadd(240.43, -94.75, -52.53, 0.51)
    pt3dadd(242.16, -94.69, -51.57, 0.51)
    pt3dadd(243.01, -94.03, -51.57, 0.51)
    pt3dadd(243.84, -92.86, -49.66, 0.51)
    pt3dadd(244.8, -92.43, -45.84, 0.51)
    pt3dadd(245.89, -92.51, -43.93, 0.51)
    pt3dadd(245.65, -92.22, -40.11, 0.51)
  }
  apic[68] {pt3dclear()
    pt3dadd(235.27, -209.42, -91.69, 0.59)
    pt3dadd(237.29, -207, -93.6, 0.59)
    pt3dadd(239.05, -204.87, -92.64, 0.59)
    pt3dadd(240.75, -200.77, -94.55, 0.56)
    pt3dadd(242.64, -196.93, -94.55, 0.56)
    pt3dadd(244.85, -191.66, -95.51, 0.56)
    pt3dadd(245.41, -185.99, -93.6, 0.56)
    pt3dadd(249.19, -181.46, -90.73, 0.53)
    pt3dadd(251.08, -176.59, -89.78, 0.53)
    pt3dadd(253.45, -169.94, -90.73, 0.53)
    pt3dadd(256.27, -163.36, -92.64, 0.53)
    pt3dadd(257.26, -159.66, -93.6, 0.53)
    pt3dadd(258.75, -158.19, -96.46, 0.53)
    pt3dadd(258.88, -156.41, -97.42, 0.53)
    pt3dadd(260.24, -153.48, -100.28, 0.59)
    pt3dadd(259.63, -150.69, -102.19, 0.59)
    pt3dadd(260.29, -148.72, -104.1, 0.56)
    pt3dadd(259.47, -146.93, -103.15, 0.56)
    pt3dadd(260.43, -144.93, -106.97, 0.56)
    pt3dadd(260.88, -144.43, -105.06, 0.53)
  }
  apic[69] {pt3dclear()
    pt3dadd(233.08, -228.38, -96.46, 0.67)
    pt3dadd(234.28, -225.37, -102.19, 0.67)
    pt3dadd(234.71, -224.86, -101.24, 0.67)
  }
  apic[70] {pt3dclear()
    pt3dadd(234.71, -224.86, -101.24, 0.61)
    pt3dadd(236.01, -223.85, -100.28, 0.61)
    pt3dadd(236.6, -222.87, -104.1, 0.64)
    pt3dadd(237.21, -222.36, -107.92, 0.64)
    pt3dadd(238.03, -221.91, -113.65, 0.64)
    pt3dadd(238.09, -220.9, -115.56, 0.64)
    pt3dadd(238.94, -218.34, -115.56, 0.64)
    pt3dadd(240.96, -216.72, -120.34, 0.64)
    pt3dadd(241.58, -212.96, -122.25, 0.64)
    pt3dadd(242.13, -210.78, -124.16, 0.64)
    pt3dadd(243.95, -208.22, -127.98, 0.64)
    pt3dadd(245.14, -205.83, -130.85, 0.64)
    pt3dadd(248.13, -201.3, -141.35, 0.64)
    pt3dadd(249.72, -197.81, -144.22, 0.64)
    pt3dadd(250.47, -194.7, -151.86, 0.64)
    pt3dadd(250.97, -192.01, -155.68, 0.64)
    pt3dadd(252.89, -189.88, -159.5, 0.64)
    pt3dadd(253.08, -186.5, -165.23, 0.64)
    pt3dadd(253.96, -184.9, -169.05, 0.64)
    pt3dadd(253.88, -182.85, -173.82, 0.64)
    pt3dadd(259.17, -178.67, -177.64, 0.64)
    pt3dadd(261.7, -175.37, -179.55, 0.59)
  }
  apic[71] {pt3dclear()
    pt3dadd(261.7, -175.37, -179.55, 0.59)
    pt3dadd(262.5, -173.61, -175.73, 0.59)
    pt3dadd(261.92, -172.07, -175.73, 0.59)
    pt3dadd(262.4, -163.04, -174.78, 0.59)
    pt3dadd(265.72, -156.25, -176.69, 0.59)
    pt3dadd(270.33, -150.69, -179.55, 0.59)
    pt3dadd(272.86, -147.17, -182.42, 0.59)
    pt3dadd(273.79, -143.26, -182.42, 0.59)
    pt3dadd(272.22, -134.47, -180.51, 0.59)
    pt3dadd(273.18, -129.57, -178.6, 0.59)
  }
  apic[72] {pt3dclear()
    pt3dadd(261.7, -175.37, -179.55, 0.59)
    pt3dadd(263.54, -174.36, -184.33, 0.59)
    pt3dadd(265.56, -173.66, -186.24, 0.56)
    pt3dadd(266.66, -174.62, -189.11, 0.59)
    pt3dadd(266.68, -173.16, -193.88, 0.59)
    pt3dadd(268.71, -173.18, -196.75, 0.59)
    pt3dadd(269.24, -173.29, -197.7, 0.59)
  }
  apic[73] {pt3dclear()
    pt3dadd(234.71, -224.86, -101.24, 0.69)
    pt3dadd(234.63, -223.61, -100.28, 0.69)
    pt3dadd(235.16, -220.18, -101.24, 0.77)
    pt3dadd(236.6, -218.34, -101.24, 0.77)
    pt3dadd(239.58, -214.67, -102.19, 0.75)
    pt3dadd(242.56, -211.95, -102.19, 0.75)
  }
  apic[74] {pt3dclear()
    pt3dadd(242.56, -211.95, -102.19, 0.75)
    pt3dadd(243.65, -210.89, -103.15, 0.75)
    pt3dadd(248.34, -206.73, -101.24, 0.75)
    pt3dadd(250.92, -204.52, -101.24, 0.67)
    pt3dadd(256.11, -199.01, -100.28, 0.67)
    pt3dadd(260.43, -195.31, -101.24, 0.64)
    pt3dadd(272.43, -185.35, -103.15, 0.64)
    pt3dadd(276.83, -179.89, -103.15, 0.64)
    pt3dadd(280.24, -175.66, -104.1, 0.64)
    pt3dadd(285.13, -169.19, -103.15, 0.64)
    pt3dadd(287.8, -164.1, -103.15, 0.64)
    pt3dadd(289.95, -160.56, -104.1, 0.61)
    pt3dadd(296.34, -154.01, -103.15, 0.61)
    pt3dadd(298.93, -151.62, -102.19, 0.61)
    pt3dadd(306.17, -149.27, -102.19, 0.61)
    pt3dadd(312.8, -149.57, -103.15, 0.59)
    pt3dadd(319.77, -150.29, -103.15, 0.59)
    pt3dadd(327.31, -149.35, -102.19, 0.59)
    pt3dadd(331.01, -147.86, -103.15, 0.59)
    pt3dadd(334.02, -145.25, -105.06, 0.59)
    pt3dadd(334.76, -143.87, -105.06, 0.59)
    pt3dadd(334.07, -143.31, -107.92, 0.59)
    pt3dadd(333.3, -142.41, -111.74, 0.59)
    pt3dadd(332.53, -142.33, -112.7, 0.59)
  }
  apic[75] {pt3dclear()
    pt3dadd(242.56, -211.95, -102.19, 0.72)
    pt3dadd(244.24, -211.47, -106.01, 0.72)
    pt3dadd(246.26, -209.45, -106.97, 0.67)
    pt3dadd(247.91, -206.47, -108.88, 0.67)
    pt3dadd(250.84, -204.31, -109.83, 0.75)
  }
  apic[76] {pt3dclear()
    pt3dadd(250.84, -204.31, -109.83, 0.69)
    pt3dadd(250.55, -203.06, -110.79, 0.69)
    pt3dadd(249.88, -200.05, -112.7, 0.69)
    pt3dadd(249.43, -197.57, -115.56, 0.75)
    pt3dadd(249.8, -194.49, -118.43, 0.75)
    pt3dadd(249.3, -189.64, -118.43, 0.72)
    pt3dadd(248.39, -184.32, -120.34, 0.69)
    pt3dadd(248.63, -180.75, -121.29, 0.64)
    pt3dadd(248.37, -175.88, -124.16, 0.64)
    pt3dadd(248.77, -168.74, -126.07, 0.64)
    pt3dadd(249.19, -164.05, -124.16, 0.64)
    pt3dadd(250.2, -159.85, -127.03, 0.64)
    pt3dadd(250.74, -154.89, -127.03, 0.59)
    pt3dadd(250.02, -149.01, -127.98, 0.59)
    pt3dadd(250.31, -145.76, -127.98, 0.59)
    pt3dadd(247.94, -139.03, -127.98, 0.59)
    pt3dadd(245.28, -135.67, -127.03, 0.59)
    pt3dadd(241.52, -131.6, -127.03, 0.59)
    pt3dadd(240.46, -127.87, -128.94, 0.59)
    pt3dadd(240.57, -124.89, -129.89, 0.59)
  }
  apic[77] {pt3dclear()
    pt3dadd(250.84, -204.31, -109.83, 0.61)
    pt3dadd(252.71, -204.31, -109.83, 0.61)
    pt3dadd(256.89, -202.71, -112.7, 0.61)
    pt3dadd(261.33, -200.21, -115.56, 0.61)
    pt3dadd(264, -199.09, -118.43, 0.61)
    pt3dadd(268.79, -195.76, -123.21, 0.61)
    pt3dadd(271.34, -193.66, -126.07, 0.61)
    pt3dadd(273.47, -192.06, -128.94, 0.61)
    pt3dadd(277.39, -190.41, -131.8, 0.61)
    pt3dadd(281.59, -185.91, -134.67, 0.61)
    pt3dadd(285.14, -184.53, -138.49, 0.61)
    pt3dadd(287.56, -184.71, -140.4, 0.61)
    pt3dadd(292.32, -181.12, -144.22, 0.64)
    pt3dadd(296.4, -178.88, -148.04, 0.61)
    pt3dadd(298.9, -176.27, -150.9, 0.61)
    pt3dadd(300.26, -174.76, -153.77, 0.61)
    pt3dadd(304.36, -172.44, -153.77, 0.61)
    pt3dadd(306.57, -168.47, -152.81, 0.61)
    pt3dadd(308.57, -164.56, -153.77, 0.61)
    pt3dadd(310.35, -159.93, -156.63, 0.59)
    pt3dadd(310.96, -157.08, -158.54, 0.59)
    pt3dadd(313.12, -154.26, -157.59, 0.59)
  }
  apic[78] {pt3dclear()
    pt3dadd(192, -539.17, -104.1, 0.91)
    pt3dadd(191.15, -538.91, -106.97, 0.91)
    pt3dadd(188.62, -537.39, -108.88, 0.91)
    pt3dadd(187.24, -535.66, -114.61, 0.91)
    pt3dadd(187.4, -534.65, -117.47, 0.91)
    pt3dadd(187.4, -533.58, -125.12, 0.91)
    pt3dadd(186.46, -532.17, -129.89, 0.91)
    pt3dadd(186.17, -530.28, -131.8, 0.91)
    pt3dadd(184.87, -527.99, -135.62, 0.83)
    pt3dadd(183.19, -525.36, -137.53, 0.83)
    pt3dadd(180.9, -522.24, -141.35, 0.83)
    pt3dadd(177.01, -517.55, -148.99, 0.83)
    pt3dadd(176.98, -515.66, -155.68, 0.83)
    pt3dadd(174.77, -513.27, -158.54, 0.83)
    pt3dadd(173.31, -510.21, -162.36, 0.77)
    pt3dadd(171.66, -507.01, -165.23, 0.77)
    pt3dadd(171.21, -503.28, -168.09, 0.77)
    pt3dadd(170.51, -502.27, -169.05, 0.69)
  }
  apic[79] {pt3dclear()
    pt3dadd(191.17, -598.09, -96.46, 0.91)
    pt3dadd(189.65, -598.19, -94.55, 0.91)
    pt3dadd(187.3, -598.46, -95.51, 0.88)
    pt3dadd(185.17, -598.83, -93.6, 0.8)
    pt3dadd(182.81, -599.47, -93.6, 0.8)
    pt3dadd(179.4, -599.52, -93.6, 0.8)
    pt3dadd(168, -599.66, -92.64, 0.77)
    pt3dadd(165.61, -598.62, -92.64, 0.77)
    pt3dadd(159.8, -598.7, -92.64, 0.75)
    pt3dadd(154.16, -598.96, -92.64, 0.72)
    pt3dadd(149.6, -598.91, -93.6, 0.72)
    pt3dadd(143.43, -599.87, -93.6, 0.72)
    pt3dadd(139.14, -601.63, -93.6, 0.72)
    pt3dadd(128.7, -601.07, -95.51, 0.69)
    pt3dadd(123.35, -601.49, -95.51, 0.69)
    pt3dadd(117.52, -601.25, -94.55, 0.67)
    pt3dadd(109.21, -601.71, -94.55, 0.67)
    pt3dadd(103.38, -602.05, -92.64, 0.67)
    pt3dadd(94.97, -602.53, -91.69, 0.67)
    pt3dadd(91.56, -604.82, -88.82, 0.67)
    pt3dadd(91.06, -606.47, -86.91, 0.64)
    pt3dadd(91.11, -608.92, -85, 0.64)
    pt3dadd(90.26, -610.01, -84.05, 0.61)
    pt3dadd(89.67, -609.69, -79.27, 0.61)
    pt3dadd(88.82, -610.07, -73.54, 0.61)
    pt3dadd(87.35, -610.28, -71.63, 0.56)
  }
  apic[80] {pt3dclear()
    pt3dadd(192.19, -611.91, -99.33, 0.96)
    pt3dadd(193.71, -612.15, -94.55, 0.96)
    pt3dadd(195.17, -612.47, -88.82, 0.85)
    pt3dadd(199.46, -613.46, -83.09, 0.85)
    pt3dadd(205.74, -616.28, -76.41, 0.83)
    pt3dadd(210.24, -619.34, -73.54, 0.8)
    pt3dadd(217.48, -622.72, -64.95, 0.8)
    pt3dadd(221.74, -623.31, -58.26, 0.8)
  }
}
proc shape3d_12() {
  apic[80] {    pt3dadd(223.34, -624.88, -56.35, 0.8)
    pt3dadd(227.2, -624.51, -48.71, 0.69)
    pt3dadd(231.59, -623.68, -48.71, 0.64)
    pt3dadd(235.45, -622.86, -45.84, 0.61)
    pt3dadd(240.09, -623.73, -43.93, 0.61)
    pt3dadd(243.36, -626.74, -41.07, 0.59)
    pt3dadd(244.61, -627.57, -41.07, 0.59)
  }
  apic[81] {pt3dclear()
    pt3dadd(192.2, -613.21, -99.33, 0.61)
    pt3dadd(190.37, -613.05, -99.33, 0.61)
    pt3dadd(181.87, -612.49, -98.37, 0.61)
    pt3dadd(176.15, -612.01, -96.46, 0.61)
    pt3dadd(166.86, -608.71, -98.37, 0.61)
    pt3dadd(161.35, -607.48, -100.28, 0.61)
    pt3dadd(150.35, -605.78, -102.19, 0.61)
    pt3dadd(145.82, -604.61, -102.19, 0.61)
    pt3dadd(133.15, -606.31, -105.06, 0.61)
    pt3dadd(118, -607.72, -106.97, 0.61)
    pt3dadd(107.22, -607.24, -107.92, 0.61)
    pt3dadd(105.46, -608.02, -109.83, 0.61)
    pt3dadd(97.26, -607.08, -110.79, 0.61)
    pt3dadd(86.9, -606.98, -113.65, 0.61)
    pt3dadd(84.16, -604.05, -113.65, 0.61)
    pt3dadd(80.8, -601.81, -112.7, 0.61)
    pt3dadd(76.6, -600.08, -111.74, 0.61)
    pt3dadd(73.46, -598.86, -108.88, 0.56)
    pt3dadd(70, -598.17, -106.97, 0.56)
  }
  apic[82] {pt3dclear()
    pt3dadd(192.31, -621.28, -98.37, 0.61)
    pt3dadd(190.69, -621.2, -97.42, 0.61)
    pt3dadd(186.11, -620.8, -94.55, 0.61)
    pt3dadd(182.3, -620.45, -92.64, 0.61)
    pt3dadd(176.34, -617.34, -87.87, 0.59)
    pt3dadd(171.01, -613.87, -84.05, 0.61)
    pt3dadd(166.48, -612.7, -80.23, 0.61)
    pt3dadd(162.28, -614.46, -76.41, 0.61)
    pt3dadd(160.73, -614.03, -75.45, 0.61)
    pt3dadd(158.39, -613.55, -70.68, 0.61)
    pt3dadd(157.09, -610.71, -63.99, 0.61)
    pt3dadd(156.42, -608.84, -55.39, 0.61)
    pt3dadd(154, -609.43, -50.62, 0.56)
    pt3dadd(152.19, -608.55, -52.53, 0.51)
    pt3dadd(147.29, -604.58, -51.57, 0.48)
  }
  apic[83] {pt3dclear()
    pt3dadd(194.39, -657.51, -101.24, 0.88)
    pt3dadd(196.12, -657.43, -97.42, 0.88)
    pt3dadd(197.26, -657.41, -94.55, 0.8)
    pt3dadd(199.95, -658.66, -85.96, 0.8)
    pt3dadd(200.72, -659.67, -71.63, 0.83)
    pt3dadd(201.98, -661.67, -65.9, 0.83)
    pt3dadd(203.55, -665.5, -61.13, 0.83)
    pt3dadd(207.62, -668.8, -55.39, 0.69)
    pt3dadd(210.92, -672.96, -47.75, 0.69)
  }
  apic[84] {pt3dclear()
    pt3dadd(195.51, -672.98, -103.15, 0.77)
    pt3dadd(193.67, -673.57, -107.92, 0.77)
    pt3dadd(192.82, -672.37, -113.65, 0.77)
    pt3dadd(192.52, -670.83, -120.34, 0.77)
    pt3dadd(190.45, -668.38, -125.12, 0.77)
    pt3dadd(187.25, -665.5, -134.67, 0.77)
    pt3dadd(182.81, -664.09, -144.22, 0.77)
    pt3dadd(178.39, -661.08, -148.04, 0.77)
    pt3dadd(176.31, -658.95, -148.99, 0.77)
    pt3dadd(173.3, -656.74, -161.41, 0.77)
    pt3dadd(170.32, -654.58, -166.18, 0.77)
    pt3dadd(167.58, -656.1, -176.69, 0.8)
    pt3dadd(165.95, -659.3, -186.24, 0.8)
    pt3dadd(165.53, -661.43, -189.11, 0.75)
    pt3dadd(162.6, -661.24, -192.93, 0.75)
    pt3dadd(160.65, -662.17, -194.84, 0.75)
    pt3dadd(157.01, -662.46, -197.7, 0.72)
    pt3dadd(154.05, -663.42, -201.52, 0.72)
    pt3dadd(150.64, -663.05, -204.39, 0.67)
    pt3dadd(150.06, -662.76, -205.34, 0.64)
  }
  apic[85] {pt3dclear()
    pt3dadd(195.9, -678.79, -105.06, 0.69)
    pt3dadd(194.36, -678.89, -105.06, 0.69)
    pt3dadd(192.84, -678.2, -106.97, 0.69)
    pt3dadd(190.18, -677.08, -109.83, 0.75)
    pt3dadd(185.87, -677.08, -114.61, 0.75)
    pt3dadd(183.82, -676.87, -115.56, 0.69)
    pt3dadd(180.83, -677.72, -118.43, 0.69)
    pt3dadd(175.99, -677.8, -124.16, 0.69)
    pt3dadd(172.82, -678.73, -127.98, 0.75)
    pt3dadd(165.71, -678.84, -137.53, 0.75)
    pt3dadd(158.23, -679.16, -144.22, 0.75)
    pt3dadd(154.34, -679.08, -148.04, 0.75)
    pt3dadd(150.16, -678.79, -150.9, 0.75)
    pt3dadd(144.15, -677.69, -153.77, 0.75)
    pt3dadd(137.17, -676.76, -157.59, 0.75)
    pt3dadd(134, -676.04, -159.5, 0.75)
    pt3dadd(122.53, -675.43, -163.32, 0.75)
    pt3dadd(118.11, -676.18, -168.09, 0.75)
    pt3dadd(108.52, -676.52, -173.82, 0.75)
    pt3dadd(101.01, -677.99, -177.64, 0.75)
    pt3dadd(96.22, -680.17, -180.51, 0.75)
    pt3dadd(93.29, -680.44, -183.38, 0.75)
    pt3dadd(89.8, -684.19, -183.38, 0.67)
    pt3dadd(89.32, -684.14, -186.24, 0.67)
  }
  apic[86] {pt3dclear()
    pt3dadd(197.05, -688.98, -103.15, 0.77)
    pt3dadd(198.65, -688.24, -100.28, 0.77)
    pt3dadd(200.19, -685.58, -100.28, 0.69)
    pt3dadd(200.8, -683.26, -97.42, 0.67)
    pt3dadd(204.9, -677.77, -95.51, 0.67)
    pt3dadd(207.94, -671.57, -90.73, 0.67)
    pt3dadd(209.32, -668.91, -87.87, 0.67)
    pt3dadd(215.63, -666.46, -89.78, 0.67)
    pt3dadd(223.65, -660.84, -89.78, 0.67)
    pt3dadd(226.5, -654.32, -85.96, 0.67)
    pt3dadd(229, -647.1, -86.91, 0.67)
    pt3dadd(228.76, -641.88, -88.82, 0.67)
    pt3dadd(229.29, -635.68, -88.82, 0.61)
    pt3dadd(229.51, -629.32, -92.64, 0.59)
    pt3dadd(230.6, -621.62, -91.69, 0.59)
    pt3dadd(231.77, -619.28, -90.73, 0.53)
  }
  apic[87] {pt3dclear()
    pt3dadd(196.54, -696.01, -102.19, 0.88)
    pt3dadd(195.27, -696.7, -115.56, 0.88)
    pt3dadd(192.18, -694.73, -123.21, 0.88)
    pt3dadd(189.7, -693.94, -127.98, 0.88)
    pt3dadd(184.83, -694.68, -131.8, 0.88)
    pt3dadd(180.17, -694.79, -135.62, 0.85)
    pt3dadd(176.04, -694.39, -138.49, 0.83)
    pt3dadd(174.63, -695.16, -138.49, 0.85)
    pt3dadd(171.73, -697.37, -148.04, 0.85)
    pt3dadd(167.98, -699.74, -154.72, 0.85)
    pt3dadd(167.39, -700.57, -158.54, 0.85)
    pt3dadd(165.92, -700.41, -163.32, 0.85)
    pt3dadd(162.73, -697.53, -168.09, 0.83)
    pt3dadd(159.72, -694.28, -168.09, 0.77)
    pt3dadd(158.92, -691.51, -170.96, 0.77)
    pt3dadd(159.75, -687.63, -174.78, 0.75)
    pt3dadd(160.49, -683.13, -180.51, 0.75)
    pt3dadd(162.17, -678.81, -182.42, 0.67)
  }
  apic[88] {pt3dclear()
    pt3dadd(199.37, -713.43, -103.15, 0.67)
    pt3dadd(200.78, -713.27, -106.01, 0.67)
    pt3dadd(202.4, -712.76, -108.88, 0.69)
    pt3dadd(204.34, -711, -108.88, 0.69)
    pt3dadd(205.28, -709.59, -112.7, 0.69)
    pt3dadd(207.49, -708.95, -114.61, 0.69)
    pt3dadd(209.4, -708.66, -120.34, 0.69)
    pt3dadd(212.28, -708.53, -125.12, 0.69)
    pt3dadd(214.12, -709.51, -130.85, 0.69)
    pt3dadd(215.42, -709.19, -136.58, 0.69)
    pt3dadd(216.94, -709.56, -141.35, 0.69)
    pt3dadd(218.27, -708.74, -143.26, 0.69)
    pt3dadd(221.6, -708.18, -148.04, 0.69)
    pt3dadd(225.17, -708.13, -152.81, 0.69)
    pt3dadd(227.8, -706.42, -158.54, 0.69)
    pt3dadd(230.46, -704.21, -171.91, 0.64)
    pt3dadd(232.75, -704.24, -176.69, 0.64)
    pt3dadd(234.96, -702.3, -181.46, 0.64)
    pt3dadd(236.45, -699.45, -186.24, 0.61)
    pt3dadd(238.13, -696.86, -188.15, 0.61)
    pt3dadd(239.52, -694.6, -197.7, 0.61)
    pt3dadd(241.49, -692.95, -203.43, 0.61)
    pt3dadd(244.2, -690.5, -205.34, 0.61)
    pt3dadd(246.23, -688.61, -209.16, 0.61)
    pt3dadd(246.63, -686.61, -208.21, 0.61)
  }
  apic[89] {pt3dclear()
    pt3dadd(200.03, -715.34, -105.06, 0.69)
    pt3dadd(198.94, -715.21, -108.88, 0.69)
    pt3dadd(197.21, -715.08, -108.88, 0.69)
    pt3dadd(194.81, -713.61, -110.79, 0.64)
    pt3dadd(193.51, -713.27, -110.79, 0.64)
    pt3dadd(191.14, -711.59, -112.7, 0.64)
    pt3dadd(188.85, -711.27, -117.47, 0.64)
    pt3dadd(186.03, -708.95, -128.94, 0.64)
    pt3dadd(185.04, -707.04, -133.71, 0.64)
    pt3dadd(184.46, -705.73, -136.58, 0.64)
    pt3dadd(185.09, -702.93, -138.49, 0.64)
    pt3dadd(184.88, -700.17, -141.35, 0.64)
    pt3dadd(184.24, -698.25, -142.31, 0.64)
    pt3dadd(183.79, -693.8, -145.17, 0.64)
    pt3dadd(182.7, -692.13, -149.95, 0.69)
    pt3dadd(181.18, -689.7, -154.72, 0.69)
    pt3dadd(178.36, -685.63, -161.41, 0.72)
    pt3dadd(176.44, -682.81, -165.23, 0.72)
    pt3dadd(174.74, -681.71, -169.05, 0.72)
    pt3dadd(174.82, -680.33, -170.96, 0.72)
    pt3dadd(174.71, -677.88, -173.82, 0.72)
    pt3dadd(173.46, -675.38, -175.73, 0.72)
    pt3dadd(172.77, -672.58, -177.64, 0.72)
    pt3dadd(171.7, -669.71, -180.51, 0.75)
    pt3dadd(171.97, -667.07, -183.38, 0.75)
    pt3dadd(170.58, -662.01, -184.33, 0.75)
    pt3dadd(169.92, -659.38, -188.15, 0.75)
    pt3dadd(169.28, -657.65, -188.15, 0.69)
    pt3dadd(167.55, -656.21, -191.97, 0.69)
    pt3dadd(167.36, -654.32, -194.84, 0.69)
    pt3dadd(165.58, -652.56, -196.75, 0.69)
    pt3dadd(165.77, -648.89, -197.7, 0.69)
    pt3dadd(168.03, -646.04, -197.7, 0.69)
  }
  apic[90] {pt3dclear()
    pt3dadd(200.99, -721.76, -101.24, 0.77)
    pt3dadd(199.58, -721.71, -101.24, 0.77)
    pt3dadd(197.16, -721.36, -101.24, 0.72)
    pt3dadd(195.08, -720.67, -98.37, 0.69)
    pt3dadd(192.36, -719.1, -98.37, 0.67)
    pt3dadd(187.92, -717.39, -97.42, 0.64)
    pt3dadd(184.11, -714.76, -98.37, 0.64)
    pt3dadd(176.1, -710.04, -99.33, 0.64)
    pt3dadd(175.67, -708.98, -99.33, 0.64)
    pt3dadd(168.43, -703.52, -102.19, 0.64)
    pt3dadd(154.42, -695.19, -98.37, 0.64)
    pt3dadd(148.57, -693, -96.46, 0.64)
    pt3dadd(135.87, -696.41, -93.6, 0.64)
    pt3dadd(131.23, -700.51, -91.69, 0.64)
  }
}
proc shape3d_13() {
  apic[90] {    pt3dadd(127.53, -703.6, -89.78, 0.64)
  }
  apic[91] {pt3dclear()
    pt3dadd(202.8, -725.59, -104.1, 0.75)
    pt3dadd(204.66, -724.5, -106.01, 0.75)
    pt3dadd(209.08, -721.97, -108.88, 0.69)
    pt3dadd(213.48, -719.84, -112.7, 0.69)
    pt3dadd(218.51, -718.88, -113.65, 0.69)
    pt3dadd(221.86, -718.08, -113.65, 0.69)
    pt3dadd(227.4, -715.18, -114.61, 0.69)
    pt3dadd(231.87, -714.62, -114.61, 0.69)
    pt3dadd(239.12, -709.99, -113.65, 0.69)
    pt3dadd(242.39, -706.4, -113.65, 0.69)
    pt3dadd(244.63, -702.3, -110.79, 0.69)
    pt3dadd(247.02, -700.19, -107.92, 0.69)
    pt3dadd(249.61, -698.52, -106.01, 0.64)
    pt3dadd(251.95, -697.61, -106.97, 0.64)
    pt3dadd(253.57, -696.25, -107.92, 0.67)
    pt3dadd(256.24, -693.24, -109.83, 0.67)
    pt3dadd(261.56, -690.23, -113.65, 0.67)
    pt3dadd(269.15, -684.91, -115.56, 0.64)
    pt3dadd(274.74, -680.89, -117.47, 0.64)
    pt3dadd(284.01, -676.92, -119.38, 0.64)
    pt3dadd(287.47, -675.4, -120.34, 0.61)
    pt3dadd(290.61, -674.07, -120.34, 0.61)
    pt3dadd(295.46, -674.85, -120.34, 0.59)
  }
  apic[92] {pt3dclear()
    pt3dadd(203.77, -738.14, -101.24, 0.8)
    pt3dadd(203.29, -738.28, -109.83, 0.8)
    pt3dadd(204.73, -737.69, -113.65, 0.85)
    pt3dadd(206.3, -736.92, -115.56, 0.85)
    pt3dadd(208.62, -736.3, -124.16, 0.85)
    pt3dadd(209.63, -734.41, -129.89, 0.85)
    pt3dadd(210.88, -733.43, -134.67, 0.85)
    pt3dadd(212.9, -732.52, -138.49, 0.85)
    pt3dadd(215.19, -731.75, -142.31, 0.85)
    pt3dadd(217.27, -729.81, -146.13, 0.8)
    pt3dadd(219.11, -728.69, -148.99, 0.8)
    pt3dadd(221.95, -726.96, -149.95, 0.8)
    pt3dadd(223.9, -726.21, -153.77, 0.75)
    pt3dadd(226.4, -725.07, -154.72, 0.75)
    pt3dadd(229.92, -724.03, -161.41, 0.75)
    pt3dadd(232.76, -722.17, -170, 0.75)
    pt3dadd(234.1, -719.8, -171.91, 0.67)
    pt3dadd(234.36, -717.32, -173.82, 0.67)
    pt3dadd(235.59, -715.19, -177.64, 0.67)
    pt3dadd(236.57, -712.85, -181.46, 0.67)
    pt3dadd(237.4, -709.17, -186.24, 0.67)
    pt3dadd(241.79, -708.61, -193.88, 0.67)
    pt3dadd(244.96, -707.55, -194.84, 0.61)
  }
  apic[93] {pt3dclear()
    pt3dadd(204.03, -741.22, -101.24, 0.61)
    pt3dadd(205.68, -739.92, -98.37, 0.61)
    pt3dadd(207.22, -737.01, -98.37, 0.61)
    pt3dadd(211.16, -729.72, -95.51, 0.61)
    pt3dadd(212.17, -726.18, -91.69, 0.61)
    pt3dadd(213.85, -723.46, -91.69, 0.61)
    pt3dadd(214.99, -720.37, -89.78, 0.59)
    pt3dadd(216.51, -717.79, -89.78, 0.59)
    pt3dadd(220.08, -713.69, -86.91, 0.59)
    pt3dadd(223.14, -711, -84.05, 0.59)
    pt3dadd(226.82, -706.37, -79.27, 0.59)
    pt3dadd(227.8, -703.76, -78.32, 0.59)
    pt3dadd(230.76, -699.85, -75.45, 0.59)
    pt3dadd(233.29, -695.8, -71.63, 0.59)
    pt3dadd(236.4, -690.77, -67.81, 0.59)
    pt3dadd(240.24, -688.05, -67.81, 0.59)
    pt3dadd(243.03, -684.19, -64.95, 0.56)
    pt3dadd(250.59, -680.46, -62.08, 0.56)
    pt3dadd(254.61, -677.88, -58.26, 0.56)
    pt3dadd(259.64, -674.61, -53.48, 0.53)
  }
  apic[94] {pt3dclear()
    pt3dadd(204.13, -743.38, -100.28, 0.61)
    pt3dadd(205.81, -742.82, -99.33, 0.61)
    pt3dadd(207.99, -741.89, -98.37, 0.61)
    pt3dadd(210.28, -741.67, -96.46, 0.64)
    pt3dadd(212.52, -741.62, -92.64, 0.64)
    pt3dadd(215.66, -741.7, -88.82, 0.64)
    pt3dadd(218.11, -741.7, -85.96, 0.61)
    pt3dadd(219.65, -740.96, -84.05, 0.61)
    pt3dadd(221.73, -741.91, -82.14, 0.59)
    pt3dadd(225.86, -742.18, -78.32, 0.59)
    pt3dadd(228.52, -741.06, -72.59, 0.59)
    pt3dadd(229.93, -739.7, -68.77, 0.59)
    pt3dadd(236.69, -737.95, -63.04, 0.59)
    pt3dadd(247.26, -734.33, -58.26, 0.59)
    pt3dadd(250.25, -731.02, -57.3, 0.56)
    pt3dadd(254.64, -728.89, -54.44, 0.56)
    pt3dadd(257.41, -725.17, -50.62, 0.53)
    pt3dadd(261.62, -721.68, -49.66, 0.53)
    pt3dadd(267.79, -719.63, -45.84, 0.53)
    pt3dadd(271.41, -718.7, -43.93, 0.53)
    pt3dadd(278.36, -715.08, -42.02, 0.51)
    pt3dadd(282.36, -712.97, -40.11, 0.51)
    pt3dadd(285.79, -711.91, -40.11, 0.51)
  }
  apic[95] {pt3dclear()
    pt3dadd(202.8, -755.65, -93.6, 0.67)
    pt3dadd(201.84, -753.02, -85, 0.67)
    pt3dadd(200.35, -750.38, -83.09, 0.64)
    pt3dadd(198.01, -747.8, -79.27, 0.59)
    pt3dadd(194.76, -744.2, -74.5, 0.59)
    pt3dadd(193.46, -740.48, -69.72, 0.59)
    pt3dadd(191.22, -735.95, -66.86, 0.56)
    pt3dadd(189.54, -730.23, -63.04, 0.56)
    pt3dadd(184.54, -725.86, -60.17, 0.53)
    pt3dadd(180.22, -722.32, -53.48, 0.53)
    pt3dadd(178.07, -718.64, -49.66, 0.51)
    pt3dadd(176.02, -718.43, -47.75, 0.51)
  }
  apic[96] {pt3dclear()
    pt3dadd(203.44, -761.14, -94.55, 0.59)
    pt3dadd(204.8, -760.95, -92.64, 0.59)
    pt3dadd(205.36, -759.86, -89.78, 0.59)
    pt3dadd(205.6, -757.57, -84.05, 0.59)
    pt3dadd(205.14, -756.1, -78.32, 0.59)
    pt3dadd(204.26, -754.99, -73.54, 0.59)
    pt3dadd(202.48, -754.27, -69.72, 0.59)
    pt3dadd(200.99, -753.95, -65.9, 0.59)
    pt3dadd(199.23, -753.5, -63.04, 0.59)
    pt3dadd(197.66, -751.53, -61.12, 0.59)
    pt3dadd(196.6, -750.97, -60.17, 0.59)
    pt3dadd(195.56, -750.67, -56.35, 0.59)
    pt3dadd(195.27, -749.24, -52.53, 0.59)
    pt3dadd(194.52, -747.35, -47.75, 0.59)
    pt3dadd(193.69, -745.77, -47.75, 0.53)
  }
  apic[97] {pt3dclear()
    pt3dadd(203.39, -762.28, -95.51, 0.61)
    pt3dadd(202.19, -762.2, -94.55, 0.61)
    pt3dadd(200.11, -762.15, -95.51, 0.64)
    pt3dadd(197.45, -762.65, -94.55, 0.64)
    pt3dadd(195.11, -764.84, -94.55, 0.64)
    pt3dadd(193.3, -768.03, -92.64, 0.61)
    pt3dadd(190.23, -771.17, -90.73, 0.61)
    pt3dadd(182.33, -778.39, -87.87, 0.61)
    pt3dadd(176.52, -782.6, -87.87, 0.61)
    pt3dadd(171.94, -785.05, -85, 0.61)
    pt3dadd(164.89, -785.5, -85, 0.59)
    pt3dadd(158.23, -785.69, -85.96, 0.56)
    pt3dadd(150.38, -785.69, -84.05, 0.56)
    pt3dadd(144.28, -787.98, -81.18, 0.56)
    pt3dadd(138.66, -788.24, -79.27, 0.53)
    pt3dadd(132.59, -791.65, -79.27, 0.53)
    pt3dadd(128.17, -795.46, -80.23, 0.53)
    pt3dadd(123.22, -799.58, -83.09, 0.53)
    pt3dadd(120.88, -803.07, -87.87, 0.53)
    pt3dadd(117.6, -807.73, -90.73, 0.53)
    pt3dadd(113.21, -810.42, -89.78, 0.51)
    pt3dadd(112.54, -810.69, -87.87, 0.51)
  }
  apic[98] {pt3dclear()
    pt3dadd(205.62, -777.27, -99.33, 0.61)
    pt3dadd(203.97, -776.77, -102.19, 0.61)
    pt3dadd(201.44, -773.62, -103.15, 0.61)
    pt3dadd(198.41, -771.01, -104.1, 0.61)
    pt3dadd(195.16, -768.46, -106.01, 0.61)
    pt3dadd(190.93, -764.36, -109.83, 0.64)
    pt3dadd(189.2, -760.71, -112.7, 0.61)
    pt3dadd(186.77, -757.7, -116.52, 0.61)
    pt3dadd(185.01, -754, -120.34, 0.61)
    pt3dadd(183.71, -751.55, -123.21, 0.61)
    pt3dadd(180.68, -748.12, -127.03, 0.61)
    pt3dadd(178.36, -745.69, -128.94, 0.64)
    pt3dadd(175.19, -743.75, -128.94, 0.64)
    pt3dadd(173.91, -741.01, -129.89, 0.64)
    pt3dadd(169.12, -736.7, -131.8, 0.64)
    pt3dadd(164.97, -733.61, -131.8, 0.64)
    pt3dadd(162.76, -730.09, -131.8, 0.64)
    pt3dadd(161.69, -727.38, -132.76, 0.64)
    pt3dadd(162.09, -722.85, -133.71, 0.64)
    pt3dadd(162.46, -717.76, -130.85, 0.64)
    pt3dadd(162.2, -714.41, -130.85, 0.64)
    pt3dadd(156.55, -706.08, -130.85, 0.64)
    pt3dadd(154.77, -703.33, -132.76, 0.61)
  }
  apic[99] {pt3dclear()
    pt3dadd(206.19, -781.43, -99.33, 0.83)
    pt3dadd(204.97, -780.72, -95.51, 0.83)
    pt3dadd(203.72, -779.62, -95.51, 0.83)
    pt3dadd(202.33, -778.64, -93.6, 0.77)
    pt3dadd(200.02, -777.01, -90.73, 0.77)
    pt3dadd(198.21, -775.26, -85.96, 0.75)
    pt3dadd(195.46, -774.19, -81.18, 0.75)
    pt3dadd(191.42, -775.55, -80.23, 0.75)
    pt3dadd(188.11, -775.39, -77.36, 0.75)
    pt3dadd(186.18, -774.77, -77.36, 0.75)
  }
  apic[100] {pt3dclear()
    pt3dadd(186.18, -774.77, -77.36, 0.64)
    pt3dadd(183.97, -773.83, -69.72, 0.64)
    pt3dadd(182.64, -773.46, -66.86, 0.64)
    pt3dadd(181.54, -772.93, -63.99, 0.64)
    pt3dadd(180.43, -772.93, -61.12, 0.64)
    pt3dadd(180.16, -773.3, -57.3, 0.64)
    pt3dadd(179.41, -774.07, -55.39, 0.64)
    pt3dadd(179.44, -775.33, -52.53, 0.64)
    pt3dadd(178.8, -776.36, -49.66, 0.64)
    pt3dadd(177.6, -776.04, -46.8, 0.72)
    pt3dadd(177.15, -775.62, -44.89, 0.67)
    pt3dadd(176.01, -775.25, -43.93, 0.67)
  }
  apic[101] {pt3dclear()
    pt3dadd(186.18, -774.77, -77.36, 0.75)
    pt3dadd(182.44, -773.74, -73.54, 0.75)
    pt3dadd(177.06, -771.29, -74.5, 0.69)
    pt3dadd(173.5, -769.64, -73.54, 0.61)
    pt3dadd(170.12, -769.35, -74.5, 0.61)
    pt3dadd(169.16, -768.97, -74.5, 0.56)
    pt3dadd(165.38, -768.63, -73.54, 0.56)
    pt3dadd(162.45, -767.16, -73.54, 0.56)
    pt3dadd(156.14, -765.97, -72.59, 0.53)
    pt3dadd(153.63, -765.09, -70.68, 0.56)
    pt3dadd(150.52, -764.55, -65.9, 0.56)
    pt3dadd(149.67, -763.38, -62.08, 0.56)
    pt3dadd(148.74, -762.77, -57.3, 0.56)
    pt3dadd(147.62, -763.12, -56.35, 0.56)
    pt3dadd(145.81, -762.34, -52.53, 0.56)
    pt3dadd(142.53, -762.53, -50.62, 0.56)
  }
}
proc shape3d_14() {
  apic[101] {   pt3dadd(140.91, -763.36, -46.8, 0.56)
    pt3dadd(140.48, -763.89, -47.75, 0.53)
  }
  apic[102] {pt3dclear()
    pt3dadd(208.29, -795.59, -102.19, 0.61)
    pt3dadd(206.82, -795.46, -103.15, 0.61)
    pt3dadd(204.32, -794.23, -102.19, 0.59)
    pt3dadd(201.71, -793.43, -102.19, 0.56)
    pt3dadd(198.43, -791.04, -102.19, 0.56)
    pt3dadd(194.81, -789.57, -100.28, 0.56)
    pt3dadd(193.27, -789.04, -98.37, 0.59)
    pt3dadd(190.66, -788, -97.42, 0.59)
    pt3dadd(187.7, -786.99, -94.55, 0.59)
    pt3dadd(185.04, -786.91, -92.64, 0.59)
    pt3dadd(183.07, -787.76, -90.73, 0.59)
    pt3dadd(178.41, -790.34, -88.82, 0.59)
    pt3dadd(172.37, -790.05, -85, 0.59)
    pt3dadd(167.36, -792.95, -83.09, 0.59)
    pt3dadd(162.81, -795, -84.05, 0.59)
    pt3dadd(156.13, -799.64, -82.14, 0.59)
    pt3dadd(150.86, -804.75, -83.09, 0.59)
    pt3dadd(147.87, -807.68, -82.14, 0.59)
    pt3dadd(144.09, -812.58, -83.09, 0.59)
    pt3dadd(139.81, -814.15, -83.09, 0.59)
    pt3dadd(137.94, -819.53, -83.09, 0.59)
    pt3dadd(137.78, -820.8, -82.14, 0.59)
    pt3dadd(132.62, -824.93, -80.23, 0.59)
    pt3dadd(128.57, -829.48, -78.32, 0.59)
    pt3dadd(126.76, -831.67, -78.32, 0.59)
    pt3dadd(126.55, -834.17, -78.32, 0.59)
    pt3dadd(121.78, -838.38, -76.41, 0.59)
    pt3dadd(118.48, -841.62, -74.5, 0.56)
    pt3dadd(115.23, -845.75, -68.77, 0.56)
    pt3dadd(110.89, -848.52, -66.86, 0.56)
    pt3dadd(102.13, -854.06, -64.95, 0.56)
    pt3dadd(99.79, -855.63, -63.99, 0.53)
    pt3dadd(97.26, -863.19, -64.95, 0.53)
    pt3dadd(95.85, -865.51, -69.72, 0.53)
  }
}
proc basic_shape() {
  shape3d_1()
  shape3d_2()
  shape3d_3()
  shape3d_4()
  shape3d_5()
  shape3d_6()
  shape3d_7()
  shape3d_8()
  shape3d_9()
  shape3d_10()
  shape3d_11()
  shape3d_12()
  shape3d_13()
  shape3d_14()
}

proc subsets () { local i 
  all = new SectionList()
    soma all.append()
    axon all.append()
    for i=0, 68 dend[i] all.append()
    for i=0, 102 apic[i] all.append()

  somatic = new SectionList()
    soma somatic.append()

  axonal = new SectionList()
    axon axonal.append()

  basal = new SectionList()
    for i=0, 68 dend[i] basal.append()

  apical = new SectionList()
    for i=0, 102 apic[i] apical.append()

  alldend = new SectionList()
    for i=0, 68 dend[i] alldend.append()
    for i=0, 102 apic[i] alldend.append()

  // spiny sections include all basal dendrites
  // and all but the proximal trunk of the apical dendrites
  // 2010-11-03 Ben Suter
  spiny = new SectionList()
    for i=2, 102 apic[i] spiny.append()
    for i=0, 68 dend[i] spiny.append()

  apical_maintrunk = new SectionList()
    for i=0, 22 apic[i] apical_maintrunk.append()

  apical_oblique = new SectionList()
    for i=79, 102 apic[i] apical_oblique.append()

  // Definition of "upper trunk" and "tuft" are subjective, and
  // are more or less clear depending on the specific neuron.
  // If we decide to treat these two subgroups differentially,
  // we'll need to revisit the choice I've made below.
  apical_uppertrunk = new SectionList()
    apic[23] apical_uppertrunk.append()
    apic[24] apical_uppertrunk.append()
    apic[25] apical_uppertrunk.append()
    apic[32] apical_uppertrunk.append()
    apic[33] apical_uppertrunk.append()
    apic[46] apical_uppertrunk.append()
    apic[51] apical_uppertrunk.append()
    apic[52] apical_uppertrunk.append()
    apic[53] apical_uppertrunk.append()
    apic[78] apical_uppertrunk.append()

  apical_tuft = new SectionList()
    for i=26, 31 apic[i] apical_tuft.append()
    for i=34, 45 apic[i] apical_tuft.append()
    for i=47, 50 apic[i] apical_tuft.append()
    for i=54, 77 apic[i] apical_tuft.append()

  // In this neuron, all the obliques occur below the main branch point,
  // but this is not necessarily the case in general.
  apical_beforebranchpoint = new SectionList()
    forsec apical_maintrunk apical_beforebranchpoint.append()
    forsec apical_oblique apical_beforebranchpoint.append()

  apical_afterbranchpoint = new SectionList()
    forsec apical_uppertrunk apical_afterbranchpoint.append()
    forsec apical_tuft apical_afterbranchpoint.append()

  // within ~100 um of soma -- based on "Perisomatic inhibition" - TF Freund 2007
  perisom = new SectionList()
    soma perisom.append()
    for i = 0,8 apic[i] perisom.append()
    apic[96] perisom.append()
    apic[99] perisom.append()
    for i = 0,15 dend[i] perisom.append()
    for i = 17,45 dend[i] perisom.append()
    for i = 47,53 dend[i] perisom.append()
    for i = 56,68 dend[i] perisom.append()    
}

func lambda_f () { local i, x1, x2, d1, d2, lam, freq, d_lambda
  // these are reasonable values for most models
  freq = 100      // Hz, frequency at which AC length constant will be computed
  d_lambda = 0.1

  if (n3d() < 2) { return 1e5*sqrt(diam/(4*PI*$1*Ra*cm)) }
  // above was too inaccurate with large variation in 3d diameter
  // so now we use all 3-d points to get a better approximate lambda
  x1 = arc3d(0)
  d1 = diam3d(0)
  lam = 0
  for i=1, n3d()-1 {
    x2 = arc3d(i)
    d2 = diam3d(i)
    lam += (x2 - x1)/sqrt(d1 + d2)
    x1 = x2   d1 = d2
  }
  //  length of the section in units of lambda
  lam *= sqrt(2) * 1e-5*sqrt(4*PI*$1*Ra*cm) 
  return L/lam
}

proc geom_nseg() { local freq, d_lambda, before, after, tmp
  // these are reasonable values for most models
  freq = 100      // Hz, frequency at which AC length constant will be computed
  d_lambda = 0.1
  before = 0
  forall { before = before + nseg }
  soma area(0.5) // make sure diam reflects 3d points
  forall { nseg = int((L/(d_lambda*lambda_f(freq))+0.9)/2)*2 + 1  }
  after = 0
  forall { after = after + nseg }
  // print "geom_nseg: changed from ", before, " to ", after, " total segments"
}

proc optimize_nseg () { // Ra, cm, spinecapfactor
    // use worst case Ra, cm values
    forall {
        Ra = $1
        cm = $2
    }
    forsec spiny {
        cm = $3 * cm  // spinecapfactor * cm
        g_pas = $3 / rm // spinecapfactor * (1.0/rm)
    }
    // optimize # of segments per section (do this afer setting Ra, cm)
    geom_nseg()
    // need to reassign distances after changing nseg
    recalculate_x_dist()
}

// Note: It is important to call this function BEFORE multisplit,
// which means making sure to load any parallel GUI .ses
// only AFTER this function has been called.
proc recalculate_x_dist () { local nd
    soma distance(0, 0.5) // set the center of the soma as origin
    forall {
        for (s) x_savedist(s) = distance(s)
    }
    nexusdist = 1e9 // calculate distance to tuft here 
    forsec apical_uppertrunk { // apical_tuft 
      for (s) {
        nd = distance(s)
        if(nd < nexusdist) nexusdist = nd        
      }
    }
}

proc addapicchan () {
  forsec apical {
    insert ca_ion
    insert cadad // cadad.mod
    insert cal // cal_mig.mod
    insert can // can_mig.mod
    // insert cat // cat_mig.mod
    insert kBK // kBK.mod
  }
}

proc apicchanprop () {
  setgcalbarcald()
  setgcanbarcand()
  // gcatbar_cat = cat_gcatbar
  forsec apical {
    gpeak_kBK = kBK_gpeak
    caVhmin_kBK = -46.08 + kBK_caVhminShift
    depth_cadad = cadad_depth
    taur_cadad = cadad_taur
  }
}

proc addbasalchan () {
  forsec basal {
    insert ca_ion
    insert cadad
    insert cal
    //insert cat
    insert can
    insert kBK
  }
}

proc basalchanprop () {
  forsec basal {
    gcalbar_cal = cal_gcalbar
    gcanbar_can = can_gcanbar
    // gcatbar_cat = cat_gcatbar
    gpeak_kBK = kBK_gpeak
    caVhmin_kBK = -46.08 + kBK_caVhminShift
    depth_cadad = cadad_depth
    taur_cadad = cadad_taur
  }
}

proc init_once() {  
  forall { // forall within an object just accesses the sections belonging to the object
    insert pas        // passive
    insert savedist        // mechanism to keep track of distance from soma even after multisplit
    if (useharnett) {
      insert h15        // h-current in h_harnett.mod
    } else if (usekole) { 
      insert ih // h-current in Ih_kole.mod
    } else if (usemigliore) { 
      insert hd // h-current in Ih_migliore.mod
      ehd_hd=-30 // params taken from Migliore 2012 modeldb (fig-5a.hoc)
      elk_hd=-65.61
      clk_hd=0.7
    } else {
      insert h           // h-current in h_bs.mod
    }
    insert nax       // Na current
    insert kdr        // K delayed rectifier current
    insert kap        // K-A current
    insert k_ion
    insert na_ion   
  }
  setallprop()
  addapicchan()
  addbasalchan()
  forsec spiny {
    cm = spinecapfactor * cm
    // Adjust g_pas to compensate, to keep same time constant
    // This is new as of 2011-02-14, because last week Michele Migliore said that
    // the idea of a spine factor is to "add more membrane".
    // I'm not sure about this, though, I thought I saw models that just
    // increase the capacitance.
    g_pas = spinecapfactor / rm
  }
  optimize_nseg(rall, cap, spinecapfactor)
  apicchanprop()
  basalchanprop()
  setgbarnaxd() // nax in apic,basal dends
  setgbarkapd() // kap in apic,basal dends
  setgbarkdrd() // kdr in apic,basal dends
  sethgbar() // distributes HCN conductance
  soma { // K-D current in soma and axon only
    insert kdmc
    insert ca_ion
    insert cadad
    insert cal
    // insert cat
    insert can
    insert kBK
  }
  setsomag() 
  forsec "axon" {     // axon has I_KD, and more I_Na, I_KA, I_KDR, and no I_h
    // K-D current in soma and axon only
    insert kdmc
  }
  setaxong() // set conductance values for axon
}

proc reconfig () {
  setallprop() // set initial properties, including g_pas,e_pas,cm,Ra,etc.
  optimize_nseg(rall, cap, spinecapfactor) // set nseg based on passive properties
  apicchanprop() //  initial apic dend properties
  basalchanprop() // initial basal dend properties
  setgbarnaxd() // nax in apic,basal dends
  setgbarkapd() // kap in apic,basal dends
  setgbarkdrd() // kdr in apic,basal dends
  sethgbar() // h in all locations
  setsomag() // soma-specific conductance values
  setaxong() // axon-specific conductance values
}

proc setallprop () {
  forall {
    // passive
    g_pas       = 1/rm
    Ra          = rall
    cm          = cap
    e_pas       = Vrest
    // h-current
    if (useharnett) {
      erev_h15 = h_erev
    } else if(usekole) {
      erev_ih      = h_erev
    } else if(usemigliore) {
      erev_hd      = h_erev
    } else {
      erev_h      = h_erev
    }
    // Na current
    gbar_nax    = nax_gbar

    // K delayed rectifier current
    gbar_kdr    = kdr_gbar
    vhalfn_kdr  = kdr_vhalfn
    a0n_kdr     = kdr_a0n
    nmax_kdr    = kdr_nmax

    // K-A current
    gbar_kap    = kap_gbar
    vhalfn_kap  = kap_vhalfn
    vhalfl_kap  = kap_vhalfl
    nmin_kap    = kap_nmin
    lmin_kap    = kap_lmin
    tq_kap      = kap_tq

    // reversal potentials
    ena         = p_ena
    ek          = p_ek
  }
}

proc setsomag () {
  soma {
    gbar_kdmc = kdmc_gbar
    gcalbar_cal = cal_gcalbar
    gcanbar_can = can_gcanbar
    // gcatbar_cat = cat_gcatbar
    gpeak_kBK = kBK_gpeak
    caVhmin_kBK = -46.08 + kBK_caVhminShift
    depth_cadad = cadad_depth
    taur_cadad = cadad_taur
    gbar_nax = nax_gbar * nax_gbar_somam
  }
}

proc setaxong () {     // axon has I_KD, and more I_Na, I_KA, I_KDR, and no I_h
  forsec "axon" {
    // axon has no Ih
    if (useharnett) {
      gbar_h15   = 0
    } else if(usekole) {
      gbar_ih = 0
    } else if(usemigliore) {
      gbar_hd = 0
    } else {
      gbar_h      = 0
    }
    // increase the I_Na, I_Ka, I_KD and I_KDR
    gbar_nax    = nax_gbar_axonm * nax_gbar
    gbar_kap    = kap_gbar_axonm * kap_gbar
    gbar_kdmc   = kdmc_gbar_axonm * kdmc_gbar
    gbar_kdr    = kdr_gbar_axonm * kdr_gbar
  }
}

proc setgbarnaxd () { local gnaxlin
  if (mnax != 0) {
    forsec alldend {
      for(x,0) {
        gnaxlin = nax_gbar*nax_gbar_dendm - mnax*x_savedist(x)
        if (gnaxlin < 0) {
          gnaxlin = 0
          print "setting gnaxlin to 0 at distance of ", x_savedist(x)
        }
        gbar_nax = gnaxlin
      }
    }
  } else {
    forsec alldend {
      gbar_nax = nax_gbar * nax_gbar_dendm
    }
  }
}

proc setgbarkapd () {
  forsec alldend {
    gbar_kap = kap_gbar
  }
}

proc setgbarkdrd () {
  forsec alldend {
    gbar_kdr = kdr_gbar
  }
}

proc setgcalbarcald () { 
  if (usecahotzone) {
    forsec apical {
      for(x,0) {
        if (x_savedist(x) >= nexusdist+10 && x_savedist(x) <= 610) {
          gcalbar_cal(x) = cal_gcalbar * calginc
        } else {
          gcalbar_cal(x) = cal_gcalbar
        }
      }
    }
  } else {
    forsec apical {
      gcalbar_cal = cal_gcalbar
    }
  }
}

proc setgcanbarcand () { 
  if (usecahotzone) {
    forsec apical {
      for(x,0) {
        if (x_savedist(x) >= nexusdist+10 && x_savedist(x) <= 610) {
          gcanbar_can(x) = can_gcanbar * canginc
        } else {
          gcanbar_can(x) = can_gcanbar
        }
      }
    }
  } else {
    forsec apical {
      gcanbar_can = can_gcanbar
    }
  }
}

// proc setgcatbarcatd () {
// forsec apical {
//   for(x,0) {
//     if (x_dist(x) > 750) {
//       gcatbar_cat(x) = cat_gcatbar * calginc
//     } else {
//       gcatbar_cat(x) = cat_gcatbar
//     }
//   }
// }
// }

// h-current distribution
proc sethgbar () { local xd
  h_gbar_tuftm = h_gbar_tuft / h_gbar
  h_lambda = nexusdist / log(h_gbar_tuftm)
  // Harnnet h-current
  if (useharnett) {
    soma gbar_h15 = h_gbar
    forsec basal gbar_h15 = h_gbar
    forsec apical_oblique gbar_h15 = h_gbar
    forsec apical_maintrunk { // locations where increases exp
      for(x,0) {
        xd = x_savedist(x)
        if(xd <= nexusdist) {
          gbar_h15(x) = h_gbar*exp(x_savedist(x)/h_lambda)
        } else { // this else should not happen...
          print xd , " > " , nexusdist
          gbar_h15(x) = h_gbar_tuft // but if main trunk extends slightly beyond branchpoint, should be OK...
        }
        if ( gbar_h15(x) < 0 ) { gbar_h(x) = 0 } // conductance must not be negative
      }
    }
    forsec apical_uppertrunk gbar_h15 = h_gbar * h_gbar_tuftm // uniform here but larger 
    forsec apical_tuft gbar_h15 = h_gbar * h_gbar_tuftm // uniform here but larger 
  // Kole h-current
  } else if(usekole) {
    soma gbar_ih = h_gbar
    forsec basal gbar_ih = h_gbar
    forsec apical_oblique gbar_ih = h_gbar
    forsec apical_maintrunk { // locations where increases exp
      for(x,0) {
        xd = x_savedist(x)
        if(xd <= nexusdist) {
          gbar_ih(x) = h_gbar*exp(x_savedist(x)/h_lambda)
        } else { // this else should not happen...
          print xd , " > " , nexusdist
          gbar_ih(x) = h_gbar_tuft // but if main trunk extends slightly beyond branchpoint, should be OK...
        }
        if ( gbar_ih(x) < 0 ) { gbar_ih(x) = 0 } // conductance must not be negative
      }
    }
    forsec apical_uppertrunk gbar_ih = h_gbar * h_gbar_tuftm // uniform here but larger 
    forsec apical_tuft gbar_ih = h_gbar * h_gbar_tuftm // uniform here but larger 

  // Migliore h-current
  } else if(usemigliore) {
    // // MIGLIORE DISTRIBUTION
    soma gbar_hd=ghd*(1+100/(1+exp(half/slope)))
    soma vhalfl_hd = -82 // from Migliore 2012, fig-5a.hoc
    distance()
    forsec basal {
      vhalfl_hd = -82  // from Migliore 2012, fig-5a.hoc
      for (x,0) { // from Migliore 2012, fig-5a.hoc
        xdist = distance(x)
        gbar_hd=ghd*(1+100/(1+exp(half/slope)))
        if (xdist > 100){
          vhalfl_hd=-90
        } else {
          vhalfl_hd=-82
        }
      }

    }
    // from Migliore 2012, fig-5a.hoc
    forsec apical {
      for (x,0) { 
        xdist = distance(x)
        gbar_hd(x) = ghd*(1+100/(1+exp((half-xdist)/slope)))
        if (xdist > 100){
          vhalfl_hd=-90
        } else {
          vhalfl_hd=-82
        }
      }
    }

    // BEN/SAM DISTRIBUTION
    // soma gbar_hd = h_gbar
    // forsec basal gbar_hd = h_gbar
    // forsec apical_oblique gbar_hd = h_gbar
    // forsec apical_maintrunk { // locations where increases exp
    //   for(x,0) {
    //     xd = x_savedist(x)
    //     if(xd <= nexusdist) {
    //       gbar_hd(x) = h_gbar*exp(x_savedist(x)/h_lambda)
    //     } else { // this else should not happen...
    //       print xd , " > " , nexusdist
    //       gbar_hd(x) = h_gbar_tuft // but if main trunk extends slightly beyond branchpoint, should be OK...
    //     }
    //     if ( gbar_hd(x) < 0 ) { gbar_hd(x) = 0 } // conductance must not be negative
    //   }
    // }
    // forsec apical_uppertrunk gbar_hd = h_gbar * h_gbar_tuftm // uniform here but larger 
    // forsec apical_tuft gbar_hd = h_gbar * h_gbar_tuftm // uniform here but larger 

  // BS h-current
  } else {  
    soma gbar_h = h_gbar
    forsec basal gbar_h = h_gbar
    forsec apical_oblique gbar_h = h_gbar
    forsec apical_maintrunk { // locations where increases exp
      for(x,0) {
        xd = x_savedist(x)
        if(xd <= nexusdist) {
          gbar_h(x) = h_gbar*exp(x_savedist(x)/h_lambda)
        } else { // this else should not happen...
          print xd , " > " , nexusdist
          gbar_h(x) = h_gbar_tuft // but if main trunk extends slightly beyond branchpoint, should be OK...
        }
        if ( gbar_h(x) < 0 ) { gbar_h(x) = 0 } // conductance must not be negative
      }
    }
    forsec apical_uppertrunk gbar_h = h_gbar * h_gbar_tuftm // uniform here but larger 
    forsec apical_tuft gbar_h = h_gbar * h_gbar_tuftm // uniform here but larger 
  }

}

proc init_extra() {
    // hook for on-the-fly changes
    // override this function def at command-line as needed
    // e.g. if you wish to tune/optimize, call init_once() here
}

proc mkstim () {
  soma {
//    stim = new IClamp(0.5)
    // stim.amp    = curr
    // stim.dur    = 1000
    // stim.del    = 1500 // with 1 sec fake padding at start for Ih equilibration
  }
}

proc celldef () {
  topol()
  subsets()
  // geom_nseg()
}

proc setsyns () { localobj syn
  asynl=new List() nsynl=new List() gsynl=new List() g2synl=new List()
  if (0) {
    soma esyn = new Exp2Syn(0.5)
    soma isyn = new Exp2Syn(0.5)
    {esyn.e=0 esyn.tau1=0.05 esyn.tau2=5.3}
    {isyn.e=-80 isyn.tau1=0.07 isyn.tau2=9.1}
    for i = 0,102 {
      apic[i] esynd[i] = new Exp2Syn(0.5)
      apic[i] isynd[i] = new Exp2Syn(0.5)
      {esynd[i].e=0 esynd[i].tau1=0.05 esynd[i].tau2=5.3}
      {isynd[i].e=-80 isynd[i].tau1=0.07 isynd[i].tau2=9.1}
    }
  }
}

proc init () {local b,i,ihMod
  // zloc = $1
  // type = $2
  // id = $3
  ihMod = $1
  slope = $2
  if (ihMod == 1) {useharnett=1 // whether to use the harnett 15 HCN (h_harnett.mod, instead of h_bs.mod)
  } else if (ihMod == 2) {usekole=1  // whether to use the kole 2006 HCN (ih_kole.mod, instead of h_bs.mod)
  } else if (ihMod == 3) {usemigliore=1} // whether to use the migliore 2012 HCN (ih_migliore.mod, instead of h_bs.mod)
  access soma
  celldef()
  access soma
  distance()
  init_once()
  setsyns()
}

endtemplate PTcell