{"text_format":"1","workbook":"xlsx","n_sheets":11,"sheets":["ControlPanel","InData1","InData2","Report","Introduction","ReadMe","VMM_Macro","OutData","BugList","WrkInfo","WrkTmp"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":161,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"ControlPanel","index":0,"n_rows":51,"n_cols":15,"rows_kept":51,"cut":false,"hidden":false,"merged":[[10,0,11,0],[0,8,0,9],[5,11,5,13],[0,3,0,6],[0,0,1,0],[38,0,39,0],[5,3,5,6],[11,3,11,6],[35,0,36,0],[27,0,28,0],[31,0,32,0],[13,0,14,0],[17,0,18,0],[20,0,21,0],[23,0,24,0],[4,0,5,0],[7,0,8,0]]}
[null,null,null,"Status of Report Sheet",null,null,null,null,"Numbers"]
[null,null,null,"Status","Last Mixed","Sheet","Contents",null,"#Loci","# Profiles"]
[null,null,null,"Clear","2014-05-28T14:05:35.170","Report","Two-donor mixtures for all profile pairs",null,0,0]
[]
[]
[null,null,null,"Status of Data Sheets",null,null,null,null,null,null,null,"# Deleted Records",null,null,"#"]
[null,null,null,"Status","Last Modified","Sheet","Contents",null,"#Loci","# Profiles",null,"Incmpl","Dups","Reps","Renamed"]
[null,null,null,"Clear","2014-05-28T14:05:35.340","InData1","Comma-delimited single-donor STR-profiles",null,0,0]
[null,null,null,"Clear","2014-05-28T14:05:35.340","InData2","Comma-delimited single-donor STR-profiles",null,0,0]
[]
[]
[null,null,null,"Workbooks Accessed"]
[null,null,null,"Used","When Accessed","Workbook","Directory",null,"#Loci","# Profiles"]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
["ButtonSpaceHolder"]

{"sheet":"InData1","index":1,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"InData2","index":2,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"Report","index":3,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"Introduction","index":4,"n_rows":45,"n_cols":4,"rows_kept":45,"cut":false,"hidden":false,"merged":[[44,3,48,4],[7,3,7,4],[32,2,32,4],[16,2,16,4],[38,3,40,4],[15,2,15,4],[18,2,18,4],[17,2,17,4],[37,3,37,4],[0,0,35,0],[33,3,36,4],[20,3,21,3],[23,2,23,4],[25,3,27,3],[11,2,11,4],[13,2,13,4],[14,2,14,4],[0,2,0,4],[1,2,1,4],[2,2,2,4],[12,2,12,4],[10,2,10,4],[4,2,4,4],[6,3,6,4],[8,3,8,4]]}
["STR_VirtualMixtureMaker was developed by David Duewer, Analytical Chemical Division, NIST,\nwith advice and support from the Human Identity Project, Biochemical Science Division.",null,"Welcome to STR_VirtualMixtureMaker!"]
[]
[null,null,"STR_VirtualMixtureMaker creates and evaluates pair-wise mixture combinations of STR profiles."]
[]
[null,null,"Profiles stored in either the NIST standard and/or compact formats (see STR_ConvertFormats) can be used to create the profile list."]
[]
[null,null,"Outputs results include: ","a list of two-donor mixture profiles with the least number of alleles in common"]
[null,null,null,"a list of two-donor mixture profiles with the greatest number of alleles in common"]
[null,null,null,"a list of all two-donor mixture profiles"]
[]
[null,null,"Problems?"]
[null,null,"This is the first release: there will be problems!"]
[null,null,"Please repeat whatever caused the blowup a couple of times and note down all symptoms and error messages."]
[null,null,"Email the description to david.duewer@nist.gov"]
[]
[null,null,"Getting Started"]
[null,null," STR_VirtualMixturemaker is operated by \"pushing buttons.\"  All functions are available on the ControlPanel worksheet."]
[null,null,"The ReadMe worksheet documents the functions, abbreviations and file formats as well as giving a few usage tips."]
[null,null,"If you haven't used STR_VirtualMixtureMaker before, please…"]
[]
[]
[]
[]
[null,null,"…but the best way to learn the tool is to 1) use STR_ConvertFormats on some of your data and 2) start pushing buttons!"]
[]
[]
[]
[]
[]
[]
[]
[]
[null,null,"History"]
[null,null,"Sometime in 2004?","The original system was put together as a single-use tool for the NIST Interlaboratory Mixture Interpretation Study 2005 (MIX05).  It proved useful enough that we decided to generalize it a bit and a note that it was available on request was placed in STR_base.  Since the STR_MatchSamples and mixSTR systems, which sorta grew out of this original code, are better suited for comparing profiles, we rather forgot about this relatively simple system."]
[]
[]
[]
[]
[null,null,"2008-03-27","We were reminded of our promise to make the system available by Ann Marie Gross, BCA Forensic Science Laboratory, St. Paul, MN.  Started cobbling together a system from the original code and bits&pieces of other \"STR\" programs."]
[]
[]
[]
[null,null,"2008-04-14","Beta-test version complete (?)"]
[]
[null,null,"2010-11-05","Mike Coble enquired whether it would be possible to mix together three or more profiles.  After some thought, we decided that the easiest way to accomplish this was by using the output of a pair-mixing as an input file.  The \"RepAllPairs\" output can now be stored.  To avoid double-mixing a particular sample, the Sample names of such mixtures are stored as \"{Name1;Name2}\".  While I was at it, I added a \"Zoom\" button and cleaned the code a bit."]

{"sheet":"ReadMe","index":5,"n_rows":78,"n_cols":10,"rows_kept":78,"cut":false,"hidden":false,"merged":[[25,3,25,15],[21,3,21,15],[56,1,56,15],[2,3,2,15],[3,3,3,15],[6,3,6,15],[7,3,7,15],[5,3,5,15],[4,3,4,15],[15,3,15,15],[28,3,28,15],[26,3,26,15],[27,3,27,15],[10,3,10,15],[11,3,11,15],[16,3,16,15],[17,3,17,15],[12,3,12,15],[55,1,55,15],[65,3,65,15],[32,1,32,15],[33,1,33,15],[34,1,34,15],[35,1,35,15],[36,1,36,15],[47,1,47,13],[53,1,53,15],[49,1,49,15],[57,1,57,15],[52,1,52,15],[62,1,62,15],[61,1,61,15],[59,1,59,15],[58,1,58,15],[22,3,22,15],[23,3,23,15],[0,0,0,16],[50,1,50,15],[51,1,51,15],[37,3,37,15],[8,3,8,15],[9,3,9,15],[29,3,29,15],[30,3,30,15],[20,3,20,15],[13,3,13,15],[14,3,14,15],[18,3,18,15],[19,3,19,15],[24,3,24,15]]}
["  "]
[]
[null,"ControlPanel Commands",null,"ControlPanel Summary Information"]
[null,"All of the STR_VirtualMixtureMaker commands are accessed from the ControlPanel worksheet.",null,"There are three information \"blocks\" in the ControlPanel worksheet:"]
[null,null,null,"  Status of Report Sheets"]
[null,"There are currently twelve commands, each accessed from it's own Command Button:",null,"      Status: Either \"Clear\", \"Processing\", or \"Finished\".  You can only print \"Finished\" report sheets."]
[null,"  ReadMe: Brings you to this page",null,"      Last Mixed: The datetime of the last action affecting the report."]
[null,null,null,"      Sheet: The name of the report sheet."]
[null,"  Clear: Clears all status reports and working data.",null,"      Contents: A brief description of what the report will contain when it is \"Finished\"."]
[null,"  Add Data1: Adds the profiles on a specified sheet to worksheet Data1.",null,"      #Loci: The number of loci in the mixture profiles."]
[null,"  Add Data2: Adds the profiles on a specified sheet to worksheet Data2.",null,"      #Profiles: The number of mixture profiles in the report."]
[null,"  Check: Makes sure that all alleles on sheets Data1 and Data2 have been validly and completely specified."]
[null,null,null,"  Status of Data Sheets"]
[null,"  Mix1: Makes all the non-self binary mixtures of the profiles on sheet Data1.",null,"      Status: Either \"Clear\", \"Loaded\", \"Checking\", or \"Checked\".  You can only make mixtures after the data sheets have been \"Checked\"."]
[null,"  Mix2: Makes all the non-self binary mixtures of the profiles on sheet Data2.",null,"      Last Mixed: The datetime of the last action affecting the data."]
[null,"  Mix 1&2: Makes all the binary mixtures of the profiles on sheet Data1 with those on Data2.",null,"      Sheet: The name of the data sheet."]
[null,null,null,"      Contents: A brief description of what the sheet will contain after data have been \"Added\"."]
[null,"  Print Few: Facilitates printing the RepFewest report",null,"      #Loci: The number of loci in the data on this sheet."]
[null,"  Print Most: Facilitates printing the RepMost report",null,"      #Profiles: The number of profiles contained on this sheet."]
[null,"  Print Pairs: Facilitates printing the RepAllPairs report",null,"      #Dup: The number of \"Loaded\" profiles that were removed because they were exact duplicates of others on this sheet."]
[null,null,null,"      #Blk: The number of \"Loaded\" profiles that were removed because they contained one or more blank loci."]
[null,"  Exit: Gracefully exits the STR_VirtualMixtureMaker system.",null,"      #?: The number of deleted ambiguous allelic designations (?, 0, -, etc.) that were present in the data as it was originally \"Loaded\"."]
[]
[null,null,null,"  Source of the Single-Donor Profiles"]
[null,"Profile, Locus, and Allele Specification",null,"      Stored In: The name of the data sheet (Data1 or Data2) that these data were stored in."]
[null,"STR_VirtualMixtureMaker expects profiles to be specified completely.",null,"      Loeded: The datetime when the data were loaded."]
[null,"    Alleles can be specified as: (1) any numeric value or (2) X, Y, or O.  Any other designation will be ignored.",null,"      Sheet: The worksheet name of the data source."]
[null,"    Profiles with no specified alleles at one or more loci will be deleted; exact duplicate profiles will be combined.",null,"      Directyory: The directory of the data source."]
[null,"    Loci are defined (both which loci are Mixed and the locus name used) by the first data source \"Loaded\".",null,"      #Loci: The number of loci for specified in this data source."]
[null,"        All subsequent data sources MUST contain all of the loci initially specified; any additional loci will be ignored.",null,"      #Profiles: The number of profiles specified in this data source."]
[]
[]
[null,"About the Mixture Reports"]
[null,"Three \"Mixture Reports\" are generated by the Mix1, Mix2, or Mix 1&2 commands:"]
[null,"   RepFewest: Contains the mixture profile that contains the fewest number of distinguishable alleles for each input profile.  Since only one mixture of each symmetric pair (A with B and B with A) is retained, the number of final profiles may be less than the number of input profiles."]
[null,"   RepMost: Contains the mixture profile that contains the largest number of distinguishable alleles for each input profile.  Since only one mixture of each symmetric pair (A with B and B with A) is retained, the number of final profiles may be less than the number of input profiles."]
[null,"   RepAllPairs: Contains all the binary pair mixture profiles.  For Mix1 and Mix2, there should be N*(N-1)/2 profiles, where N is the total number of profiles.  For Mix 1&2, there should be N1*N2 profiles, where N1 is the number of profiles on Data1 and N2 the number on Data2."]
[]
[null,"All three reports contain the same information blocks:",null,"# Alleles / Locus"]
[null,"Profiles",null,"      Avg: The average number of alleles per locus over all loci."]
[null,"      #1: The  name of one of the two profiles \"Mixed\" together.",null,"      SD: The standard deviation of the number of loci/locus over all loci."]
[null,"      #2: The  name of the other one of the two profiles \"Mixed\" together.",null,"      #1 … #5: The number of loci in the mixture profile that contain exactly one ... Five alleles."]
[null,null,null,"      #6+: The number of loci in the mixture profile that contain at least six alleles."]
[null,"Alleles"]
[null,"      #Sep: The number of alleles specified in the two input profiles.",null,"# Loci"]
[null,"      #Mix: The number of distinguishable alleles in the mixture profile.",null,"      [Locus Name]: The mixture profile for this locus."]
[null,"      Ratio: The fraction of the input alleles that are distinguishable after mixing."]
[]
[]
[null,"About Adding Data"]
[null,"Only the loci in the first worksheet you load will be used to make mixture profiles; only the order matters, not whether it is done with Add Data1 or Add Data2.  You should therefore chose the first data source quite carefully."]
[null,"However, you can directly edit the resulting Data1 or Data2 worksheet.  If the first data source contains more loci than you want to have in the mixture profiles (e.g., Penta D and E), just delete the offending columns from the data worksheet."]
[null,"If the locus name isn't what you want (e.g., \"amelogenin\" rather than \"AMEL\"), just edit the fourth row of the data worksheet.  You can also re-order them by hand or with Excel's sort command… but remember to re-order all the data, too."]
[]
[]
[null,"About Checking and the Data Worksheets"]
[null,"When first \"Loaded\", the Data1 and Data2 worksheets reflect the data as it is specified in the source worksheets (with the exception that the initial worksheet dictates which loci will be used)."]
[null,"If you view these sheets after loading the data, the only information listed will be the name of the worksheet the data were loaded from (Sheet), the profile name (SampleCode), and the alleles for each of the loci (Loci) specified in first worksheet loaded."]
[null,"After Checking, the sheets will also contain the number of loci with specifying at least one allele (#Loc), the total number of alleles (#All), and the number of loci that contain zero (#0), one (#1), two (#2), or at least three (#3+) alleles "]
[null,"(The checking process removes all profiles with one or more \"blank\" loci, so by the time you can view the sheet the #0 column should always be 0.)"]
[]
[null,"Check also deletes profiles that have exactly the same alleles as another in the same data worksheet.  Exact duplicates (same name as well as same profile) are just removed. If the names differ, then a composite name is generated. "]
[null,"Profiles in the same data worksheet that have the same name but different alleles will be assigned a unique name."]
[]
[]
[null,"Recognized Source Data Formats",null,"Example Formats"]
[]
[null,"  NISTcompact: a 'wide'-style format, one row per sample but just one column per locus.",null,null,null,"Col A","Col B","Col C","…"]
[null,"    The header record is recognized by the presence of SampleCode in column A.",null,null,"Row n","SampleCode","D8S1179","D21S11"]
[null,"     Each non-empty header cell in the header row from column B on specifies a locus code.",null,null,"Row n+1","eeee","12,15","30,30"]
[null,"    The 'compact' style is recognized by the uniqueness of each locus code in the header row.",null,null,"Row n+2","ffff","10,14","31,32"]
[null,"    The alleles are specified in one comma-separated string.",null,null,"…"]
[]
[null,"  NISTstandard: a 'wide'-style format, one row per sample and one column for each allele of the locus.",null,null,null,"Col A","Col B","Col C","Col D","Col E"]
[null,"    The header record is recognized by the presence of SampleCode in column A.",null,null,"Row n","SampleCode","D8S1179","D8S1179","D21S11","D21S11"]
[null,"    The first occurrence of each locus code in the header row from column B on specifies a locus.",null,null,"Row n+1","eeee",12,15,30,30]
[null,"    The 'standard' style is recognized by the non-uniqueness of at least one locus code in the header row.",null,null,"Row n+2","ffff",10,14,31,32]
[null,"    The alleles are specified one-pre-column, starting with the first occurrence of the locus code and continuing to the left of the next unique code.",null,null,"…"]

{"sheet":"VMM_Macro","index":6,"n_rows":361,"n_cols":38,"rows_kept":361,"cut":false,"hidden":false,"merged":[]}
["AutoCall_Globals","Parameter","Value","AutoCall_GotoControl","AutoCall_GotoIntroduction","VMM_AddData","VMM_AddDriver","VMM_AddDriver1","VMM_AddDriver2","VMM_AddSheet","VMM_Cancel","VMM_CheckDataUser","VMM_ClearAll","VMM_CountData","VMM_GotoReadMeFancy","VMM_GotoReadMePlain","VMM_MakeMix1","VMM_MakeMix2","VMM_MakeMixtures","VMM_MakeMix12","VMM_MakeProfile","VMM_ReportClear","VMM_ReportFormat","VMM_ReportHeader","VMM_Store","VMM_Print","VMM_Zoom",null,"Utility(CleanUpNames)","Atmp1","Utility_ResetHeaders","Utility_AlignControls",null,null,"Utility_Colors",1,null,1]
["! In the normal course of events, this is ONLY run by the Auto_Open VBA Macro","R1C1 mode",true,"! Take user to the Control worksheet","! Take a new user to the Introduction worksheet","! Get the names and alleles for the samples from this worksheet","! Load Profiles","! Load Profiles onto Data1","! Load Profiles onto Data1","! Get the data from one worksheet","! Take care of User interruptions","! Check the structure and all of the profiles","! Clear everything","! Get current Counts","! Take user to the ReadMe worksheet, no nonsence","! Take user to the ReadMe worksheet, no nonsence","! Make the three reports for Data1","! Make the three reports for Data2","! Make the three reports for InData1 of InData2","! Make the three reports for Data1 x Data2","! Blend two specified profiles","! Clear the report sheets","! Clear everything","! Put in the headers","! Store the \"All Pairs\" mixtures","! Print active sheet","! Set the default zoom",null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&AC$1)","v":true},"Atmp2","! Reset Page Headers of visible files","! Make sure the buttons are in the right spot",null,null,"! List the colors",2,null,2]
["! If you diddle any of the constants, make sure you re-run it yourself before you evaluate the diddle","Calculation mode",-4105,{"$f":"ECHO(FALSE)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&E$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&F$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&G$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&H$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&I$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"FOR(\"Idat\",1,2,1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&M$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&N$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&O$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&P$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&Q$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&R$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&S$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&T$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&U$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&V$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&W$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&X$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&Y$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&Z$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&AA$1)","v":true},null,null,"Atmp3",{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\"  \"&AE$1)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\"  \"&AF$1)","v":true},null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\"  \"&AI$1)","v":true},3,null,3]
[{"$f":"SET.NAME(\"Asyst\",\"STR_VirtualMixtureMaker\")","v":true},"Start datetime","2014-05-28T11:23:32",null,{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(TRUE)","v":true},{"$f":"ACTIVATE(S0con)","v":true},{"$f":"  SET.NAME(\"Atmp1\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-Idat+1&Acol&4,FALSE)))","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},null,"! Get rid of all the transcients","AutoCall_Globals",{"$f":"ECHO(FALSE)","v":true},{"$f":"ECHO(FALSE)","v":true},null,null,null,4,null,4]
[{"$f":"SET.NAME(\"Avers\",\"27-May-14\")","v":true},null,"02:42:14",{"$f":"ACTIVATE(S0con)","v":true},null,null,null,null,null,null,null,{"$f":"  IF(Atmp1=\"Checked\",FORMULA(\"ForceCheck\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-Idat+1&Acol&4,FALSE)))","v":false},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"SET.NAME(\"Atmp1\",COUNTA(NAMES()))","v":true},"AutoCall_GotoControl",{"$f":"SET.NAME(\"Atmp\",\"A System for Mixing Pairs of STR Profiles\")","v":true},null,null,null,{"$f":"ACTIVATE(S0mac)","v":true},5,null,5]
[{"$f":"SET.NAME(\"Aprog\",Asyst&\" <Version: \"&Avers&\">\")","v":true},null,"Duewer, David L. Dr.",{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},"! Make sure Intro is in right format","! Loop over the samples","! Set up loci tracker","! Set sheet to Data1","! Set sheet to Data2","! Find the new  file",{"$f":"dld_setcolwidth(4,-1,TRUE)","v":false},{"$f":"NEXT()","v":true},"! Clear control panel","! Loop over both sheets","! Make sure Intro is in right format","! Make sure Intro is in right format","! Confirm that there is checked data","! Confirm that there is checked data","! Set up same-sheet analysis","! Set up same-sheet analysis","! Clear the temporary workspace","! Clear control panel","! Sort","! Update status","! Check if it is ready","! Check if it is ready",{"$f":"ACTIVATE(S0con)","v":true},null,{"$f":"FOR(\"Atmp2\",Atmp1,1,-1)","v":true},"AutoCall_GotoIntroduction",null,"! Make sure globals are defined",null,null,{"$f":"FORMULA.GOTO(\"R1C[1]\",TRUE)","v":true},6,null,6]
[{"$f":"MESSAGE(FALSE)","v":true},null,"1900-01-05",{"$f":"FORMULA.GOTO(Arow&BRow_clr&Acol&1,FALSE)","v":true},{"$f":"ACTIVATE(S0int)","v":true},{"$f":"SET.NAME(\"Asht\",MID(S1dat,FIND(\"]\",S1dat)+1,100))","v":true},{"$f":"ACTIVATE(S0win)","v":true},{"$f":"SET.NAME(\"S0dat\",S0da1)","v":true},{"$f":"SET.NAME(\"S0dat\",S0da2)","v":true},{"$f":"SET.NAME(\"Afile\",OPEN.DIALOG(,,\"Please select the desired file.\"))","v":true},{"$f":"FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},null,{"$f":"ACTIVATE(S0con)","v":true},{"$f":"FOR(\"Idat\",1,2,1)","v":true},{"$f":"ACTIVATE(S0int)","v":true},{"$f":"ACTIVATE(S0int)","v":true},{"$f":"SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat&Acol&4,FALSE)))","v":true},{"$f":"SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat+1&Acol&4,FALSE)))","v":true},{"$f":"SET.NAME(\"S0dat1\",S0dat)","v":true},{"$f":"SET.NAME(\"S0dat1\",S0da1)","v":true},{"$f":"ACTIVATE(S0win)","v":true},{"$f":"ACTIVATE(S0con)","v":true},{"$f":"ACTIVATE(S0rep)","v":true},{"$f":"SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0win&\"'!\"&Acol&11,FALSE)))","v":true},{"$f":"SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&4,FALSE)))","v":true},{"$f":"SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&3&Acol&4,FALSE)))","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"  SET.NAME(\"Atmp3\",INDEX(NAMES(),Atmp2))","v":true},"VMM_AddData","! Make sure globals are defined",{"$f":"RUN(AutoCall_Globals,FALSE)","v":{"$error":"#N/A"}},null,null,{"$f":"FOR(\"Itmp\",1,56,1)","v":true},7,null,7]
[{"$f":"ECHO(FALSE)","v":true},null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"SET.NAME(\"Nsam\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&2,FALSE))-1)","v":true},{"$f":"SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3&Asep&Acol&7,FALSE))","v":true},{"$f":"SET.NAME(\"Igoto\",BRow_ad1)","v":true},{"$f":"SET.NAME(\"Igoto\",BRow_ad2)","v":true},{"$f":"IF(ISERROR(Afile),SET.NAME(\"Afile\",FALSE))","v":false},null,null,{"$f":"dld_clearrange(Rowrep,4,Rowrep,5)","v":0},{"$f":"  SET.NAME(\"S0tmp\",EVALUATE(\"S0da\"&Idat))","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"IF(Atmp<>\"Checked\",RUN(VMM_CheckData,FALSE))","v":{"$error":"#N/A"}},{"$f":"IF(Atmp<>\"Checked\",RUN(VMM_CheckData,FALSE))","v":{"$error":"#N/A"}},{"$f":"SET.NAME(\"S0dat2\",S0dat)","v":true},{"$f":"SET.NAME(\"S0dat2\",S0da2)","v":true},{"$f":"dld_clearcols(21,-1)","v":0},{"$f":"dld_clearrange(Rrowrep,4,Rowrep,5)","v":{"$error":"#VALUE!"}},{"$f":"dld_selectrange(5,1,-1,-1)","v":0},{"$f":"FORMULA(\"Processing\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&4,FALSE))","v":true},{"$f":"IF(Atmp<>\"Finished\")","v":true},{"$f":"IF(Atmp<>\"Finished\")","v":true},{"$f":"FORMULA.GOTO(Arow&BRow_zom&Acol&1,FALSE)","v":true},null,{"$f":"  IF(ISERROR(MATCH(Atmp3,AD:AD,0)),DELETE.NAME(Atmp3))","v":true},"VMM_AddDriver",{"$f":"RUN(AutoCall_Globals,FALSE)","v":{"$error":"#N/A"}},null,null,null,{"$f":"  FORMULA(Itmp,INDIRECT(\"'\"&S0mac&\"'!R\"&Itmp&\"C[1]\",FALSE))","v":true},8,null,8]
[null,"Stop datetime","01:31:33",{"$f":"RETURN()","v":true},{"$f":"FORMULA.GOTO(Arow&27&Acol&4,FALSE)","v":true},{"$f":"SET.NAME(\"Nunk\",0)","v":true},{"$f":"CLEAR(3)","v":true},null,null,{"$f":"IF(Afile=FALSE)","v":true},{"$f":"ECHO(TRUE)","v":true},"VMM_CheckData",{"$f":"dld_clearrange(Rowrep,9,Rowrep,-1)","v":0},null,{"$f":"FORMULA.GOTO(Arow&27&Acol&4,FALSE)","v":true},{"$f":"FORMULA.GOTO(Arow&27&Acol&4,FALSE)","v":true},null,null,null,null,null,null,{"$f":"SORT(1,Arow&5&Acol&5,1,Arow&5&Acol&8,1,Arow&5&Acol&9,1,2)","v":true},{"$f":"FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&5,FALSE))","v":true},{"$f":"  SET.NAME(\"Atmp1\",MID(S0rep,FIND(\"]\",S0rep)+1,100))","v":true},{"$f":"  SET.NAME(\"Atmp1\",MID(S0rep,FIND(\"]\",S0rep)+1,100))","v":true},null,null,{"$f":"NEXT()","v":true},"VMM_AddDriver1",null,"! Clear the sheets",null,null,{"$f":"  SELECT(INDIRECT(\"'\"&S0mac&\"'!R\"&Itmp&\"C[2]\",FALSE))","v":true},9,null,9]
["! Make sheetnames","User","DLDuewer",null,null,{"$f":"ACTIVATE(S0dat)","v":true},{"$f":"FORMULA(\"Locus\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&1&Acol&3,FALSE))","v":true},"! Run the driver","! Run the driver",{"$f":"  SET.NAME(\"Npro\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&2,FALSE))-1)","v":true},{"$f":"ALERT(\"You have interrupted \"&Asyst&\".\"&Achr&\"The message line lists the system's current status.\"&Achr&Achr&\"Go do what you need to do and try again.\",2)","v":true},"! Check the structure and all of the profiles",{"$f":"dld_clearrange(RowDat,4,RowDat+3,5)","v":0},"! Count loci",null,null,"! Set parameters","! Set parameters","! Clear the report sheets","! Confirm that there is checked data",null,null,null,{"$f":"FORMULA(Nloc,INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&9,FALSE))","v":true},{"$f":"  ACTIVATE(S0con)","v":true},{"$f":"  ACTIVATE(S0con)","v":true},"! Get current Zoom",null,null,"VMM_AddDriver2","! Reset Readme",{"$f":"RUN(VMM_ClearAll,FALSE)","v":{"$error":"#N/A"}},null,null,{"$f":"  PATTERNS(1,1,Itmp,TRUE)","v":true},10,null,10]
[{"$f":"SET.NAME(\"Dir_0\",GET.DOCUMENT(2))","v":true},"Number invocations",12,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&E$1&\" > Finished.\")","v":true},{"$f":"FOR(\"Irow\",RowHed+1,RowLst,1)","v":true},{"$f":"FORMULA(\"#\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&1&Acol&4,FALSE))","v":true},{"$f":"RUN(VMM_AddDriver,FALSE)","v":{"$error":"#N/A"}},{"$f":"RUN(VMM_AddDriver,FALSE)","v":{"$error":"#N/A"}},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Browsing aborted by user.\")","v":true},{"$f":"HALT()","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\"  \"&L$9)","v":true},{"$f":"dld_clearrange(RowDat,9,RowDat+3,-1)","v":0},{"$f":"  SET.NAME(\"Itmp\",COUNTA(INDIRECT(\"'\"&S0tmp&\"'!\"&Arow&4,FALSE))-8)","v":true},"! Goto Readme","! Goto Readme",{"$f":"SET.NAME(\"S0dat\",S0da1)","v":true},{"$f":"SET.NAME(\"S0dat\",S0da2)","v":true},{"$f":"RUN(VMM_ReportClear,FALSE)","v":{"$error":"#N/A"}},{"$f":"SET.NAME(\"Atmp1\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat&Acol&4,FALSE)))","v":true},"! Strip sample names from 1st record","! Clear the report sheet","! Format",{"$f":"FORMULA(\"\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&10,FALSE))","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Error… The report sheet (\"&Atmp1&\") has not been finished.\")","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Error… The report sheet (\"&Atmp1&\") has not been finished.\")","v":true},{"$f":"SET.NAME(\"CurZoom\",DEREF(INDIRECT(\"'\"&S0mac&\"'!\"&Arow&13&Acol&3,FALSE)))","v":true},null,"! Restore Globals","VMM_AddSheet",{"$f":"ACTIVATE(S0rme)","v":true},null,null,null,{"$f":"  SET.NAME(\"Jtmp\",GET.CELL(63,INDIRECT(\"'\"&S0mac&\"'!R\"&Itmp&\"C[2]\",FALSE)))","v":true},11,null,11]
[{"$f":"SET.NAME(\"WrkBk_0\",GET.DOCUMENT(88))","v":true},null,null,null,{"$f":"RETURN()","v":true},{"$f":"  SET.NAME(\"Atmp2\",COUNTA(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow,FALSE)))","v":true},{"$f":"FORMULA(\"InCol\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&1&Acol&5,FALSE))","v":true},null,null,{"$f":"  ACTIVATE(S0con)","v":true},null,{"$f":"ECHO(FALSE)","v":true},{"$f":"dld_clearrange(RowFil,4,-1,-1)","v":0},{"$f":"  FORMULA(MAX(0,Itmp),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&9,FALSE))","v":true},{"$f":"ACTIVATE(S0rme)","v":true},{"$f":"ACTIVATE(S0rme)","v":true},{"$f":"SET.NAME(\"Igoto\",BRow_mx1)","v":true},{"$f":"SET.NAME(\"Igoto\",BRow_mx2)","v":true},{"$f":"RUN(VMM_CountData,FALSE)","v":{"$error":"#N/A"}},{"$f":"SET.NAME(\"Atmp2\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat+1&Acol&4,FALSE)))","v":true},{"$f":"SET.NAME(\"Asam\",DEREF(INDIRECT(\"'\"&S0dat1&\"'!\"&Arow&Irow&Acol&2,FALSE)))","v":true},{"$f":"ACTIVATE(S0rep)","v":true},{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"IF(ISERROR(1/CurZoom),SET.NAME(\"CurZoom\",0))","v":false},null,{"$f":"RUN(AutoCall_Globals,FALSE)","v":{"$error":"#N/A"}},"VMM_Cancel",{"$f":"PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\" &\"\"Arial,Regular\"\"&12<\"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",0.5,0.25,1.1,0.5,FALSE,FALSE,TRUE,FALSE,2,1,{1,1},\"Auto\",1,FALSE,,0.7,0.3,FALSE,FALSE)","v":true},"! Format the Introduction",null,null,{"$f":"  FORMULA(Jtmp,INDIRECT(\"'\"&S0mac&\"'!R\"&Itmp&\"C[3]\",FALSE))","v":true},12,null,12]
[{"$f":"SET.NAME(\"S0con\",\"[\"&WrkBk_0&\"]ControlPanel\")","v":true},"CurZoom",100,null,null,{"$f":"  IF(Atmp2>0.5)","v":true},{"$f":"FORMULA(\"OutCol\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&1&Acol&6,FALSE))","v":true},"! Update the data counts","! Update the data counts",{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,{"$f":"dld_clearcols(16,-1)","v":0},null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,null,{"$f":"IF(OR(Atmp1<>\"Checked\",Atmp2<>\"Checked\"),RUN(VMM_CheckData,FALSE))","v":false},{"$f":"SET.NAME(\"Itmp1\",0)","v":true},{"$f":"dld_clearcols(1,-1)","v":0},null,"! Select and clear sheet",{"$f":"  FORMULA.GOTO(Arow&BRow_clr&Acol&1,FALSE)","v":true},{"$f":"  FORMULA.GOTO(Arow&BRow_clr&Acol&1,FALSE)","v":true},{"$f":"IF(OR(CurZoom<30,CurZoom>200),SET.NAME(\"CurZoom\",75))","v":false},null,null,"VMM_CheckData",{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"ACTIVATE(S0int)","v":true},null,null,{"$f":"NEXT()","v":true},13,null,13]
[{"$f":"SET.NAME(\"S0da1\",\"[\"&WrkBk_0&\"]InData1\")","v":true},null,null,null,null,{"$f":"    SET.NAME(\"Nsam\",Nsam+1)","v":true},{"$f":"FORMULA(\"Status\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&1&Acol&7,FALSE))","v":true},{"$f":"FORMULA(\"Loaded\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat&Acol&4,FALSE))","v":true},{"$f":"FORMULA(\"Loaded\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat+1&Acol&4,FALSE))","v":true},{"$f":"  FORMULA.GOTO(Arow&IF(Npro<0.5,BRow_clr,Igoto)&Acol&1,FALSE)","v":true},null,"! Loop over both data sheets",{"$f":"SET.NAME(\"ALastMix\",\"Clear\")","v":true},"! Count profiles",{"$f":"ECHO(TRUE)","v":true},null,"! Make the mixtures","! Make the mixtures","! Check if all is good to go",null,{"$f":"SET.NAME(\"Atmp1\",SUBSTITUTE(SUBSTITUTE(Asam,\"{\",\"\"),\"}\",\"\")&\";\")","v":true},{"$f":"FORMULA(\"Clear\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&4,FALSE))","v":true},"! Report",{"$f":"ACTIVATE(S0rep)","v":true},{"$f":"  ECHO(TRUE)","v":true},{"$f":"  ECHO(TRUE)","v":true},null,null,"! Return here","VMM_CheckDataUser",null,{"$f":"SELECT(\"Button 1\")","v":true},null,null,{"$f":"SELECT(\"C[1]:C[3]\")","v":true},14,null,14]
[{"$f":"SET.NAME(\"S0da2\",\"[\"&WrkBk_0&\"]InData2\")","v":true},null,null,null,null,{"$f":"    IF(MOD(Nsam,2)=1,MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&F$1&\" > Processing \"&Irow-RowHed&\" / \"&RowLst-RowHed))","v":true},"! Store loci, if any are defined",{"$f":"FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat&Acol&5,FALSE))","v":true},{"$f":"FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat+1&Acol&5,FALSE))","v":true},{"$f":"  ALERT(\"No data file was specified.\"&Achr&Achr&\"Please do whatever you need to do and try again.\",2)","v":true},null,{"$f":"FOR(\"Idat\",1,2,1)","v":true},null,{"$f":"  SET.NAME(\"Itmp\",COUNTA(INDIRECT(\"'\"&S0tmp&\"'!\"&Acol&2,FALSE))-1)","v":true},{"$f":"ALERT(\"This worksheet is the 'Instruction Manual' for this system.\"&Achr&Achr&\"Click 'OK', survey the information, then go to the ControlPanel and get started.\"&Achr&\"When you encounter hassles, return here and read the relevant bits more thoroughly.\",2)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&P$1&\" > Finished.\")","v":true},{"$f":"SET.NAME(\"ALastMix\",\"Mix1\")","v":true},{"$f":"SET.NAME(\"ALastMix\",\"Mix2\")","v":true},{"$f":"SET.NAME(\"Npro\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&2,FALSE))-1)","v":true},"! Clear the report sheets",{"$f":"WHILE(NOT(ISERROR(FIND(\";\",Atmp1))))","v":true},{"$f":"FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&5,FALSE))","v":true},{"$f":"FORMULA(\"Finished\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&4,FALSE))","v":true},{"$f":"dld_clearcols(1,-1)","v":0},{"$f":"  ALERT(\"The report (\"&Atmp1&\") has not been generated.\"&Achr&Achr&\"Please define the data and the Mixture and try again.\",2)","v":true},{"$f":"  ALERT(\"The report (\"&Atmp1&\") has not been generated.\"&Achr&Achr&\"Please define the data and the Mixture and try again.\",2)","v":true},"! Ask for new zoom",null,{"$f":"ACTIVATE(S0mac)","v":true},"VMM_ClearAll","! Reset Introduction",{"$f":"FORMAT.SIZE(239,33)","v":true},null,null,{"$f":"COLUMN.WIDTH(5)","v":true},15,null,15]
[null,null,null,null,null,null,{"$f":"SET.NAME(\"Nsam1\",COUNTA(INDIRECT(\"'\"&S0da1&\"'!\"&Acol&1,FALSE))-1)","v":true},{"$f":"RUN(VMM_CountData,FALSE)","v":{"$error":"#N/A"}},{"$f":"RUN(VMM_CountData,FALSE)","v":{"$error":"#N/A"}},{"$f":"  HALT()","v":true},null,{"$f":"  SET.NAME(\"Nren\",0)","v":true},"! Clear Report",{"$f":"  FORMULA(MAX(0,Itmp),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&10,FALSE))","v":true},null,{"$f":"RETURN()","v":true},{"$f":"RUN(VMM_MakeMixtures,FALSE)","v":{"$error":"#N/A"}},{"$f":"RUN(VMM_MakeMixtures,FALSE)","v":{"$error":"#N/A"}},{"$f":"IF(Npro<1.5)","v":true},{"$f":"RUN(VMM_ReportClear,FALSE)","v":{"$error":"#N/A"}},{"$f":"  SET.NAME(\"Atmp2\",LEFT(Atmp1,FIND(\";\",Atmp1)-1))","v":true},{"$f":"FORMULA(0,INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&9,FALSE))","v":true},{"$f":"FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&5,FALSE))","v":true},{"$f":"dld_selectrange(1,1,-1,-1)","v":0},{"$f":"  HALT()","v":true},{"$f":"  HALT()","v":true},{"$f":"SET.NAME(\"Atmp1\",CurZoom)","v":true},null,{"$f":"FORMULA.GOTO(Arow&1&Acol,TRUE)","v":true},"VMM_CountData",{"$f":"ACTIVATE(S0int)","v":true},{"$f":"FORMAT.MOVE(1,1,Arow&26&Acol&4)","v":true},null,null,null,16,null,16]
[{"$f":"SET.NAME(\"S0int\",\"[\"&WrkBk_0&\"]Introduction\")","v":true},null,null,null,null,"! Name",{"$f":"SET.NAME(\"Nsam2\",COUNTA(INDIRECT(\"'\"&S0da2&\"'!\"&Acol&1,FALSE))-1)","v":true},null,null,{"$f":"END.IF()","v":false},null,{"$f":"  SET.NAME(\"Ndup\",0)","v":true},{"$f":"SET.NAME(\"Igoto\",BRow_clr)","v":true},{"$f":"NEXT()","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&O$1&\" > Finished.\")","v":true},null,null,null,{"$f":"  ACTIVATE(S0con)","v":true},{"$f":"RUN(VMM_CountData,FALSE)","v":{"$error":"#N/A"}},{"$f":"  SET.NAME(\"Atmp1\",MID(Atmp1,FIND(\";\",Atmp1)+1,100))","v":true},{"$f":"FORMULA(0,INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&10,FALSE))","v":true},{"$f":"SET.NAME(\"Ntmp\",COUNTA(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&ColLocRep&Asep&Arow&4&Acol&254,FALSE)))","v":true},{"$f":"FONT.PROPERTIES(\"Arial\",\"Regular\",10,,,,,,,1)","v":true},{"$f":"END.IF()","v":false},{"$f":"END.IF()","v":false},{"$f":"ZOOM(Atmp1)","v":true},null,null,"VMM_GotoReadMeFancy",{"$f":"FORMULA(\"Welcome to \"&Asyst&\"!\",INDIRECT(\"'\"&S0int&\"'!\"&Arow&1&Acol&3,FALSE))","v":true},{"$f":"SELECT(\"Button 2\")","v":true},null,null,{"$f":"HALT()","v":true},17,null,17]
[{"$f":"SET.NAME(\"S0mac\",\"[\"&WrkBk_0&\"]VMM_Macro\")","v":true},null,null,null,null,{"$f":"    FORMULA(S1dat,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4+Nsam&Acol&1,FALSE))","v":true},{"$f":"IF(Nsam1+Nsam2<0.5)","v":true},"! Give warning","! Give warning",null,null,{"$f":"  SET.NAME(\"Nrep\",0)","v":true},{"$f":"RUN(VMM_ReportClear,FALSE)","v":{"$error":"#N/A"}},null,{"$f":"RETURN()","v":true},null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&Q$1&\" > Finished!\")","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&R$1&\" > Finished!\")","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... there must be at least two profiles on datasheet (\"&S0dat&\").\")","v":true},null,{"$f":"  IF(ISERROR(MATCH(Atmp2,INDIRECT(\"'\"&S0win&\"'!\"&Acol&21,FALSE),0)))","v":true},null,{"$f":"FORMULA(Ntmp,INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&9,FALSE))","v":true},{"$f":"FORMAT.NUMBER(\"0\")","v":true},null,null,{"$f":"ECHO(TRUE)","v":true},null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&AC$37&\" > Finished.\")","v":true},"VMM_GotoReadMePlain",{"$f":"PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\" &\"\"Arial,Regular\"\"&12<\"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",0.5,0.25,1.3,0.5,FALSE,FALSE,TRUE,FALSE,2,1,{1,#N/A},\"Auto\",1,FALSE,,0.7,0.3,FALSE,FALSE)","v":true},{"$f":"FORMAT.SIZE(239,25)","v":true},null,null,null,18,null,18]
[{"$f":"SET.NAME(\"S0rme\",\"[\"&WrkBk_0&\"]ReadMe\")","v":true},null,null,null,null,{"$f":"    SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow&Acol&ColHed,FALSE)))","v":true},{"$f":"  RUN(VMM_ClearAll,FALSE)","v":{"$error":"#N/A"}},{"$f":"ACTIVATE(S0con)","v":true},{"$f":"ACTIVATE(S0con)","v":true},"! Open the file",null,{"$f":"  SET.NAME(\"Nmis\",0)","v":true},null,"! Format",null,null,{"$f":"RETURN()","v":true},{"$f":"RETURN()","v":true},{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},"! Check if all is good to go",{"$f":"    SET.NAME(\"Itmp1\",Itmp1+1)","v":true},"! Format",{"$f":"SET.NAME(\"Ntmp\",COUNTA(INDIRECT(\"'\"&S0rep&\"'!\"&Acol&2,FALSE))-1)","v":true},{"$f":"ALIGNMENT(2,FALSE,3,0)","v":true},"! Get the numbers","! Offer to print the specified sheet",{"$f":"  SET.NAME(\"CurZoom\",Atmp1)","v":true},null,{"$f":"RETURN()","v":true},"VMM_MakeMix1",{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"FORMAT.MOVE(1,1,Arow&21&Acol&4)","v":true},null,null,null,19,null,19]
[{"$f":"SET.NAME(\"S0rep\",\"[\"&WrkBk_0&\"]Report\")","v":true},null,null,null,null,{"$f":"    FORMULA(Atmp,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4+Nsam&Acol&2,FALSE))","v":true},{"$f":"ELSE()","v":true},{"$f":"ECHO(TRUE)","v":true},{"$f":"ECHO(TRUE)","v":true},{"$f":"ERROR(FALSE)","v":true},null,{"$f":"  SET.NAME(\"S0dat\",EVALUATE(\"S0da\"&Idat))","v":true},"! Clear the worksheet that holds the legal characters",{"$f":"ACTIVATE(S0con)","v":true},null,null,null,null,{"$f":"  FORMULA.GOTO(Arow&Igoto-10&Acol&1,FALSE)","v":true},{"$f":"SET.NAME(\"Atmp1\",MID(S0da1,FIND(\"]\",S0da1)+1,100))","v":true},{"$f":"    FORMULA(Atmp2,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp1&Acol&21,FALSE))","v":true},{"$f":"ACTIVATE(S0con)","v":true},{"$f":"FORMULA(Ntmp,INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&10,FALSE))","v":true},null,{"$f":"SET.NAME(\"Nloc\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&9,FALSE)))","v":true},{"$f":"ACTIVATE(S0rep)","v":true},{"$f":"  SET.NAME(\"Atmp1\",INPUT(\"Current 'ZOOM' is \"&CurZoom&\"%.\"&Achr&\"Valid ZOOMs are from 30 to 200%.\"&Achr&Achr&\"What ZOOM do you want?\",1,\"% ZOOM?\",CurZoom,5*72))","v":true},null,null,"VMM_MakeMix12",null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,null,20,null,20]
[{"$f":"SET.NAME(\"S0win\",\"[\"&WrkBk_0&\"]WrkInfo\")","v":true},null,null,null,null,null,{"$f":"  SET.NAME(\"S0tmp\",IF(Nsam1>0,S0da1,S0da2))","v":true},{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},{"$f":"  SET.NAME(\"Atmp1\",OPEN(Afile,0,FALSE,,,,,,,,1))","v":true},null,null,{"$f":"VMM_Clearall_1(S0win)","v":0},{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},null,null,null,null,{"$f":"  ECHO(TRUE)","v":true},{"$f":"SET.NAME(\"Atmp2\",MID(S0da2,FIND(\"]\",S0da2)+1,100))","v":true},{"$f":"  END.IF()","v":true},{"$f":"dld_setcolwidth(4,-1,TRUE)","v":0},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},"! Title",{"$f":"SET.NAME(\"Npro\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&Rowrep&Acol&10,FALSE)))","v":true},{"$f":"ECHO(TRUE)","v":true},{"$f":"  IF(ISERROR(1/Atmp1),SET.NAME(\"Atmp1\",CurZoom))","v":false},null,null,"VMM_MakeMix2","! Reset ControlPanel",{"$f":"FORMULA.GOTO(Arow&28&Acol&4,FALSE)","v":true},null,null,null,21,null,21]
[{"$f":"SET.NAME(\"S0wtm\",\"[\"&WrkBk_0&\"]WrkTmp\")","v":true},null,null,null,null,"! Alleles",{"$f":"  SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0tmp&\"'!\"&Arow&4,FALSE))-8)","v":true},{"$f":"FORMULA.GOTO(Arow&BRow_chk&Acol&1,FALSE)","v":true},{"$f":"FORMULA.GOTO(Arow&BRow_chk&Acol&1,FALSE)","v":true},{"$f":"ERROR(TRUE)","v":true},null,"! If it's not Clear, check it",null,null,null,null,null,null,{"$f":"  ALERT(\"There must be at least two sample profiles on Datasheet (\"&S0dat&\") to make same-file mixed profiles.\"&Achr&Achr&\"Please add more data and try again.\",2)","v":true},{"$f":"SET.NAME(\"Npro1\",COUNTA(INDIRECT(\"'\"&S0da1&\"'!\"&Acol&2,FALSE))-1)","v":true},{"$f":"NEXT()","v":true},{"$f":"ECHO(TRUE)","v":true},null,{"$f":"FORMULA(\"All Mixtures, Dataset: \"&Atit,INDIRECT(\"'\"&S0rep&\"'!\"&Arow&1&Acol&1,FALSE))","v":true},null,{"$f":"PRINT?(1,,,1,,,,,1,,,2)","v":false},{"$f":"  IF(OR(Atmp1<30,Atmp1>200),SET.NAME(\"Atmp1\",CurZoom))","v":false},null,null,"VMM_MakeMixtures",{"$f":"ACTIVATE(S0con)","v":true},null,null,null,null,22,null,22]
[{"$f":"SET.NAME(\"S0out\",\"[\"&WrkBk_0&\"]OutData\")","v":true},null,null,null,null,{"$f":"    FOR(\"Iloc\",1,Nloc,1)","v":true},{"$f":"  FOR(\"Iloc\",1,Nloc,1)","v":true},{"$f":"ALERT(\"Data from \"&S1dat&\" has been loaded.\"&Achr&\"This data has NOT been validated!\"&Achr&Achr&\"You should check the Types, sample labels, and all of the allele lists before proceeding.\",2)","v":true},{"$f":"ALERT(\"Data from \"&S1dat&\" has been loaded.\"&Achr&\"This data has NOT been validated!\"&Achr&Achr&\"You should check the Types, sample labels, and all of the allele lists before proceeding.\",2)","v":true},{"$f":"IF(Atmp1=FALSE)","v":true},null,{"$f":"  SET.NAME(\"Atmp1\",DEREF(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-Idat+1&Acol&4,FALSE)))","v":true},"! Clear and format the worksheet that holds the mixture profiles",{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&N$1&\" > Finished!\")","v":true},null,null,null,null,{"$f":"  HALT()","v":true},{"$f":"SET.NAME(\"Npro2\",COUNTA(INDIRECT(\"'\"&S0da2&\"'!\"&Acol&2,FALSE))-1)","v":true},null,{"$f":"FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},"! Format Conrol Panel",{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&1&Acol&1&Asep&Arow&1&Acol&ColLocRep-1+Nloc,FALSE))","v":true},"! Prepare the Output sheet",{"$f":"ECHO(FALSE)","v":true},{"$f":"IF(ABS(Atmp1-CurZoom)>0.5,GOTO(AA$17))","v":false},null,null,"VMM_MakeProfile",{"$f":"PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\" &\"\"Arial,Regular\"\"&12<\"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",0.5,0.25,1.3,0.5,FALSE,FALSE,FALSE,FALSE,2,1,{1,#N/A},\"Auto\",1,FALSE,,0.7,0.3,FALSE,FALSE)","v":true},"! Take care of the ReadMe",null,null,null,23,null,23]
[null,null,null,null,null,{"$f":"      SET.NAME(\"Jcol\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&6,FALSE)))","v":true},{"$f":"    SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0tmp&\"'!\"&Arow&4&Acol&10+Iloc,FALSE)))","v":true},null,null,{"$f":"  SET.NAME(\"Npro\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&2,FALSE))-1)","v":false},null,{"$f":"  SET.NAME(\"Atmp2\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&1,FALSE)))","v":true},{"$f":"VMM_Clearall_2(S0wtm,ColLocRep)","v":0},{"$f":"RETURN()","v":true},null,null,null,null,{"$f":"END.IF()","v":false},{"$f":"IF(OR(Npro1<0.5,Npro2<0.5))","v":true},"! Strip sample names from 1st record",{"$f":"ECHO(FALSE)","v":true},{"$f":"ACTIVATE(S0con)","v":true},{"$f":"ALIGNMENT(7,FALSE,3,0)","v":true},{"$f":"ACTIVATE(S0out)","v":true},null,{"$f":"ECHO(FALSE)","v":true},null,null,"VMM_Print",{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"ACTIVATE(S0rme)","v":true},null,null,null,24,null,24]
["! Set some useful globals",null,null,null,null,null,{"$f":"    FORMULA(Atmp,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&3,FALSE))","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&H$1&\" > Finished.\")","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&I$1&\" > Finished.\")","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Workbook (\"&Afile&\") could not be opened.\")","v":false},null,{"$f":"  IF(AND(Atmp1<>\"Checked\",Atmp2>0))","v":true},null,null,null,null,null,null,{"$f":"SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4,FALSE))-8)","v":true},{"$f":"  ACTIVATE(S0con)","v":true},{"$f":"SET.NAME(\"Bsam\",DEREF(INDIRECT(\"'\"&S0dat2&\"'!\"&Arow&Jrow&Acol&2,FALSE)))","v":true},null,{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},null,{"$f":"dld_clearcols(1,-1)","v":0},"! Go back to the control panel",null,null,null,"VMM_ReportClear",null,{"$f":"SELECT(\"Button 1\")","v":true},null,null,null,25,null,25]
[{"$f":"SET.NAME(\"Acol\",INDEX(GET.WORKSPACE(37),7))","v":true},null,null,null,null,"! Only transfer desired loci",{"$f":"    FORMULA(0,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&4,FALSE))","v":true},{"$f":"RETURN()","v":true},{"$f":"RETURN()","v":true},{"$f":"  ACTIVATE(S0con)","v":true},null,null,"! Clear the output worksheet",null,null,null,null,null,{"$f":"IF(Nloc<0.5)","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... there must be at least one profile on Datasheets (\"&Atmp1&\",\"&Atmp2&\").\")","v":true},{"$f":"SET.NAME(\"Itmp2\",0)","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&V$1&\" > Finished!\")","v":true},{"$f":"ECHO(TRUE)","v":true},"! Headers",{"$f":"dld_selectrange(1,1,-1,-1)","v":0},{"$f":"ACTIVATE(S0con)","v":true},"! Store as new default",null,null,"VMM_ReportFormat","! Reset Data worksheets",{"$f":"FORMAT.SIZE(300,36)","v":true},null,null,null,26,null,26]
[{"$f":"SET.NAME(\"Adcp\",INDEX(GET.WORKSPACE(37),3))","v":true},null,null,null,null,{"$f":"      IF(Jcol>0.5)","v":true},{"$f":"    FORMULA(10+Iloc,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&6,FALSE))","v":true},null,null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":false},null,"! Tell user",{"$f":"ACTIVATE(S0out)","v":true},null,null,null,null,null,{"$f":"  ACTIVATE(S0con)","v":false},{"$f":"  SET.NAME(\"Igoto\",IF(Npro1,BRow_ad1,BRow_ad2))","v":true},{"$f":"SET.NAME(\"Atmp1\",SUBSTITUTE(SUBSTITUTE(Bsam,\"{\",\"\"),\"}\",\"\")&\";\")","v":true},{"$f":"RETURN()","v":true},{"$f":"FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},{"$f":"FORMULA(\"Profiles\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&1,FALSE))","v":true},{"$f":"FONT.PROPERTIES(\"Arial\",\"Regular\",10,,,,,,,1)","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"FORMULA(CurZoom,INDIRECT(\"'\"&S0mac&\"'!\"&Arow&13&Acol&3,FALSE))","v":true},null,null,"VMM_ReportHeader",{"$f":"FOR(\"Idat\",1,2,1)","v":true},{"$f":"FREEZE.PANES(TRUE,0,1)","v":true},null,null,null,27,null,27]
[{"$f":"SET.NAME(\"Agnl\",INDEX(GET.WORKSPACE(37),26))","v":true},null,null,null,null,{"$f":"        SET.NAME(\"Nall\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&4,FALSE)))","v":true},{"$f":"    FORMULA(\"Initial\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&7,FALSE))","v":true},null,null,{"$f":"  FORMULA.GOTO(Arow&IF(Npro<0.5,BRow_clr,Igoto)&Acol&1,FALSE)","v":false},null,{"$f":"    ACTIVATE(S0con)","v":true},{"$f":"dld_clearcols(1,-1)","v":0},null,null,null,null,null,{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... there must be at least one locus specified on datasheet (\"&S0dat&\").\")","v":false},{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"WHILE(NOT(ISERROR(FIND(\";\",Atmp1))))","v":true},null,{"$f":"ECHO(FALSE)","v":true},{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&1&Asep&Arow&3&Acol&2,FALSE))","v":true},{"$f":"FORMAT.NUMBER(\"0\")","v":true},{"$f":"FORMULA.GOTO(Arow&BRow_pnt&Acol&1,FALSE)","v":true},null,null,null,"VMM_Store",{"$f":"  SET.NAME(\"S0tmp\",EVALUATE(\"S0da\"&Idat))","v":true},{"$f":"FORMAT.MOVE(-150,-2,Arow&1&Acol&3)","v":true},null,null,null,28,null,28]
[{"$f":"SET.NAME(\"Alsp\",INDEX(GET.WORKSPACE(37),5))","v":true},null,null,null,null,{"$f":"        SET.NAME(\"Icol\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&5,FALSE)))","v":true},{"$f":"  NEXT()","v":true},null,null,{"$f":"  ALERT(\"Unexpected error... Workbook (\"&Afile&\") could not be opened.\"&Achr&Achr&\"Please contact david.duewer@nist.gov about this hassle.\",2)","v":false},null,{"$f":"    FORMULA(\"Checking...\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&4,FALSE))","v":true},null,null,null,null,null,null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":false},{"$f":"  FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},{"$f":"  SET.NAME(\"Atmp2\",LEFT(Atmp1,FIND(\";\",Atmp1)-1))","v":true},null,null,{"$f":"ALIGNMENT(7,FALSE,3,0)","v":true},{"$f":"ALIGNMENT(4,FALSE,3,0)","v":true},{"$f":"ECHO(TRUE)","v":true},"! Set all the user-viewable sheets to the same zoom",null,null,"VMM_Zoom",{"$f":"  ACTIVATE(S0tmp)","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,null,29,null,29]
[{"$f":"SET.NAME(\"Arow\",INDEX(GET.WORKSPACE(37),6))","v":true},null,null,null,null,{"$f":"        SET.NAME(\"Jcol\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&6,FALSE)))","v":true},{"$f":"END.IF()","v":true},null,null,{"$f":"  HALT()","v":true},null,{"$f":"    FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&5,FALSE))","v":true},"! Clear the Data worksheets",null,null,null,null,null,{"$f":"  FORMULA.GOTO(Arow&Igoto-10&Acol&1,FALSE)","v":false},{"$f":"  ECHO(TRUE)","v":true},{"$f":"  SET.NAME(\"Atmp1\",MID(Atmp1,FIND(\";\",Atmp1)+1,100))","v":true},null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&W$1&\" > Finished!\")","v":true},{"$f":"FORMULA(\"#1\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&1,FALSE))","v":true},{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},null,{"$f":"ACTIVATE(S0da1)","v":true},null,null,null,{"$f":"  PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\" &\"\"Arial,Regular\"\"&12<\"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",0.5,0.25,1.2,0.5,FALSE,FALSE,TRUE,FALSE,2,1,{1,#N/A},\"Auto\",1,FALSE,,0.7,0.3,FALSE,FALSE)","v":true},null,null,null,null,30,null,30]
[{"$f":"SET.NAME(\"Achr\",CHAR(10))","v":true},null,null,null,null,null,null,null,null,{"$f":"END.IF()","v":false},null,{"$f":"    dld_setcolwidth(4,5,TRUE)","v":0},{"$f":"FOR(\"Idat\",1,2,1)","v":true},null,null,null,null,null,{"$f":"  ECHO(TRUE)","v":false},{"$f":"  ALERT(\"There must be at least one sample profile on both Datasheets (\"&Atmp1&\",\"&Atmp2&\") to make mixed profiles.\"&Achr&Achr&\"Please add more data and try again.\",2)","v":true},{"$f":"  IF(ISERROR(MATCH(Atmp2,INDIRECT(\"'\"&S0win&\"'!\"&Acol&21,FALSE),0)))","v":true},null,{"$f":"RETURN()","v":true},{"$f":"FORMULA(\"#2\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&2,FALSE))","v":true},{"$f":"FORMULA(Aprog&\" AllPairs Mixture Profiles created on: \"&TEXT(NOW(),AlngDatTim),INDIRECT(\"'\"&S0out&\"'!\"&Arow&1&Acol&1,FALSE))","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&Z$1&\" > Finished!\")","v":true},{"$f":"ZOOM(CurZoom)","v":true},null,null,null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},"! Format the ControlPanel",null,null,null,31,null,31]
[{"$f":"SET.NAME(\"Adsh\",\"-\")","v":true},null,null,null,null,"! Get the first specification","! Get sheet to add",null,null,null,null,{"$f":"    ECHO(TRUE)","v":true},{"$f":"  SET.NAME(\"S0tmp\",EVALUATE(\"S0da\"&Idat))","v":true},null,null,null,null,null,{"$f":"  ALERT(\"There must be at least one locus specified on Datasheet (\"&S0dat&\") to make mixed-sample profiles.\"&Achr&Achr&\"Please add more data and try again.\",2)","v":false},{"$f":"  HALT()","v":true},{"$f":"    SET.NAME(\"Itmp2\",Itmp2+1)","v":true},null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&1&Asep&Arow&4&Acol&2,FALSE))","v":true},{"$f":"SELECT(INDIRECT(\"'\"&S0out&\"'!\"&Arow&1&Acol&1&Asep&Arow&1&Acol&1+Nloc,FALSE))","v":true},{"$f":"RETURN()","v":true},{"$f":"dld_gotocell(\"A1\",\"A1\")","v":0},null,null,null,{"$f":"NEXT()","v":true},{"$f":"ACTIVATE(S0con)","v":true},null,null,null,32,null,32]
[{"$f":"SET.NAME(\"Asep\",\":\")","v":true},null,null,null,null,{"$f":"        SET.NAME(\"Atmp\",UPPER(CLEAN(TRIM(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE)))))","v":true},{"$f":"RUN(VMM_AddSheet,FALSE)","v":{"$error":"#N/A"}},null,null,"! Get file info",null,{"$f":"    FORMULA.GOTO(Arow&BRow_chk&Acol&1,FALSE)","v":true},{"$f":"  ACTIVATE(S0tmp)","v":true},null,null,null,null,null,{"$f":"  HALT()","v":false},{"$f":"END.IF()","v":false},{"$f":"    FORMULA(Atmp2,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp1+Itmp2&Acol&21,FALSE))","v":true},null,null,{"$f":"BORDER(1)","v":true},{"$f":"ALIGNMENT(7,FALSE,3,0)","v":true},null,null,null,null,null,{"$f":"ACTIVATE(S0out)","v":true},{"$f":"dld_selectrange(1,1,-1,-1)","v":false},null,null,null,33,null,33]
[{"$f":"SET.NAME(\"Lauto\",TRUE)","v":true},null,null,null,null,{"$f":"        IF(ISERROR(Atmp),SET.NAME(\"Atmp\",0))","v":false},null,null,null,{"$f":"ECHO(FALSE)","v":true},null,{"$f":"    ECHO(FALSE)","v":true},{"$f":"  SET.NAME(\"Atitle\",\"\")","v":true},null,null,null,null,null,{"$f":"END.IF()","v":false},null,{"$f":"  END.IF()","v":true},null,null,{"$f":"ALIGNMENT(3,FALSE,3,0)","v":true},{"$f":"FORMULA(\"SampleCode\",INDIRECT(\"'\"&S0out&\"'!\"&Arow&3&Acol&1,FALSE))","v":true},null,{"$f":"ACTIVATE(S0da2)","v":true},null,null,null,{"$f":"PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\" &\"\"Arial,Regular\"\"&12<\"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",0.5,0.25,1.2,0.5,FALSE,FALSE,TRUE,FALSE,2,1,{1,#N/A},\"Auto\",1,FALSE,,0.7,0.3,FALSE,FALSE)","v":true},{"$f":"ROW.HEIGHT(,,,3)","v":true},null,null,null,34,null,34]
[{"$f":"SET.NAME(\"Lecho\",FALSE)","v":true},null,null,null,null,{"$f":"        IF(NOT(ISERROR(Atmp+0)),SET.NAME(\"Atmp\",Atmp+0))","v":false},"! Fix up the defining loci list",null,null,{"$f":"SET.NAME(\"Dir_1\",GET.DOCUMENT(2))","v":true},null,null,{"$f":"   VMM_ClearAll_3(S0tmp)","v":0},null,null,null,null,null,null,{"$f":"SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0da1&\"'!\"&Arow&4,FALSE))-8)","v":true},{"$f":"NEXT()","v":true},null,null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0out&\"'!\"&Arow&3&Acol&1,FALSE))","v":true},null,{"$f":"ZOOM(CurZoom)","v":true},null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"dld_setcolwidth(1,2,TRUE)","v":false},null,null,null,35,null,35]
[{"$f":"SET.NAME(\"AlngDatTim\",\"dd-mmm-yy hh:mm:ss\")","v":true},null,null,null,null,{"$f":"        IF(Atmp=0,SET.NAME(\"Atmp\",\"?\"))","v":false},{"$f":"IF(Nsam1+Nsam2<0.5)","v":true},null,null,{"$f":"SET.NAME(\"WrkBk_1\",GET.DOCUMENT(88))","v":true},null,"! Initialize data display",null,null,null,null,null,null,"! Make the header",{"$f":"SET.NAME(\"Ntmp\",COUNTA(INDIRECT(\"'\"&S0da2&\"'!\"&Arow&4,FALSE))-8)","v":true},null,null,null,{"$f":"FORMULA(\"Alleles\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&4,FALSE))","v":true},{"$f":"BORDER(0,0,0,0,1)","v":true},null,{"$f":"dld_gotocell(\"A1\",\"A1\")","v":0},null,null,null,null,null,null,null,null,36,null,36]
[null,null,null,null,null,null,{"$f":"  SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3,FALSE))-1)","v":true},null,null,{"$f":"SET.NAME(\"Asht\",GET.WORKBOOK(38))","v":true},null,{"$f":"    ACTIVATE(S0dat)","v":true},{"$f":"  FORMULA(\"Clear\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&4,FALSE))","v":true},null,null,null,null,null,{"$f":"SET.NAME(\"Atit\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&1,FALSE)))","v":true},{"$f":"IF(OR(Nloc<0.5,Nloc<>Ntmp))","v":true},"! If anything new is being added, Initialize",null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&4&Asep&Arow&3&Acol&6,FALSE))","v":true},{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,null,null,null,"! Reset Report",null,null,null,null,37,null,37]
[{"$f":"SET.NAME(\"MaxBinRep\",7)","v":true},null,null,null,null,"! Loop over other alleles",{"$f":"  FOR(\"Iloc\",1,Nloc,1)","v":true},null,null,{"$f":"SET.NAME(\"S1dat\",\"[\"&WrkBk_1&\"]\"&Asht)","v":true},null,{"$f":"    dld_clearcols(ColWrk,ColWrk+1)","v":0},{"$f":"  FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&5,FALSE))","v":true},null,null,null,null,null,{"$f":"ACTIVATE(S0win)","v":true},{"$f":"  ACTIVATE(S0con)","v":true},{"$f":"IF(Itmp2>0)","v":true},null,null,{"$f":"ALIGNMENT(7,FALSE,3,0)","v":true},null,null,{"$f":"ACTIVATE(S0rep)","v":true},null,null,null,{"$f":"ACTIVATE(S0rep)","v":true},{"$f":"SELECT(\"Button 1\")","v":true},null,null,null,38,null,38]
[{"$f":"SET.NAME(\"ColLocRep\",11+MaxBinRep)","v":true},null,null,null,null,{"$f":"        FOR(\"Iall\",2,Nall,1)","v":true},{"$f":"    FORMULA(Iloc+10,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&6,FALSE))","v":true},null,null,{"$f":"ACTIVATE(S1dat)","v":true},null,{"$f":"    dld_clearcolpattern(1,-1)","v":0},null,null,null,null,null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&11&Asep&Acol&13,FALSE))","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... there must be at least one locus specified on both datasheets (\"&Atmp1&\",\"&Atmp2&\").\")","v":true},{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&U$1&\" > Pair (\"&Asam&\") Vs (\"&Bsam&\")\")","v":true},null,null,{"$f":"FORMULA(\"#Sep\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&4,FALSE))","v":true},"! Make the joint sample name",null,{"$f":"ZOOM(CurZoom)","v":true},null,null,null,{"$f":"PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\" &\"\"Arial,Regular\"\"&12<\"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",0.5,0.25,1.2,0.5,FALSE,FALSE,TRUE,FALSE,2,1,{1,#N/A},\"Auto\",1,FALSE,,0.7,0.3,FALSE,FALSE)","v":true},{"$f":"FORMAT.SIZE(95,24)","v":true},null,null,null,39,null,39]
[{"$f":"SET.NAME(\"MaxBinDat\",4)","v":true},null,null,null,null,{"$f":"          SET.NAME(\"Aloc\",UPPER(CLEAN(TRIM(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow&Acol&Icol+Iall-1,FALSE)))))","v":true},{"$f":"    FORMULA(\"Initial\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&7,FALSE))","v":true},null,null,{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},null,{"$f":"    dld_setcolwidth(1,-1,TRUE)","v":0},{"$f":"  SET.NAME(\"Atmp1\",MID(S0tmp,FIND(\"]\",S0tmp)+1,100))","v":true},null,null,null,null,null,{"$f":"CLEAR(3)","v":true},{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"  SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&21,FALSE))","v":true},null,null,{"$f":"FORMULA(\"#Mix\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&5,FALSE))","v":true},{"$f":"FOR(\"Ipro\",1,Npro,1)","v":true},null,{"$f":"dld_gotocell(\"A1\",\"A1\")","v":0},null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"FORMAT.MOVE(2,2,Arow&BRow_rme&Acol&1)","v":true},null,null,null,40,null,40]
[{"$f":"SET.NAME(\"ColLocDat\",7+MaxBinDat)","v":true},null,null,null,null,{"$f":"          IF(ISERROR(Aloc),SET.NAME(\"Aloc\",0))","v":false},{"$f":"  NEXT()","v":true},null,null,{"$f":"ZOOM(CurZoom)","v":true},null,{"$f":"    FREEZE.PANES(FALSE)","v":true},{"$f":"  FORMULA(Atmp1,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&6,FALSE))","v":true},null,null,null,null,null,{"$f":"FOR(\"Iloc\",1,Nloc,1)","v":true},{"$f":"  FORMULA.GOTO(Arow&BRow_clr&Acol&1,FALSE)","v":false},{"$f":"  CLEAR(3)","v":true},null,null,{"$f":"FORMULA(\"Ratio\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&6,FALSE))","v":true},{"$f":"  SET.NAME(\"Itmp1\",0)","v":true},null,null,null,null,null,null,{"$f":"SELECT(\"Button 2\")","v":true},null,null,null,41,null,41]
[null,null,null,null,null,{"$f":"          IF(NOT(ISERROR(Aloc+0)),SET.NAME(\"Aloc\",Aloc+0))","v":true},{"$f":"END.IF()","v":true},null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"    FREEZE.PANES(TRUE,3,4)","v":true},{"$f":"  FORMULA.ARRAY(0,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&9&Asep&Arow&RowDat-1+Idat&Acol&10,FALSE))","v":true},null,null,null,null,null,{"$f":"  SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&ColLocDat+Iloc-1,FALSE)))","v":true},{"$f":"  ECHO(TRUE)","v":true},{"$f":"  SET.NAME(\"NumAll\",0)","v":true},null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&4&Asep&Arow&4&Acol&6,FALSE))","v":true},null,null,{"$f":"ACTIVATE(S0int)","v":true},null,null,null,"! Reset Macro page as well",{"$f":"FORMAT.SIZE(95,24)","v":true},null,null,null,42,null,42]
[{"$f":"SET.NAME(\"ColWrk\",100)","v":true},null,null,null,null,{"$f":"          IF(Aloc<>0,SET.NAME(\"Atmp\",Atmp&Alsp&Aloc))","v":true},null,null,null,{"$f":"ECHO(TRUE)","v":true},null,null,{"$f":"NEXT()","v":true},null,null,null,null,null,{"$f":"  FORMULA(Atmp,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc&Acol&11,FALSE))","v":true},{"$f":"  ALERT(\"There must be at least one locus specified on both Datasheets (\"&Atmp1&\",\"&Atmp2&\") to make mixed-sample profiles.\"&Achr&Achr&\"Please add more data and try again.\",2)","v":true},{"$f":"  SET.NAME(\"NumUnq\",0)","v":true},null,null,{"$f":"BORDER(1)","v":true},"! Strip the first sample",null,{"$f":"ZOOM(CurZoom)","v":true},null,null,null,{"$f":"ACTIVATE(S0mac)","v":true},{"$f":"FORMAT.MOVE(2,2,Arow&BRow_clr&Acol&1)","v":true},null,null,null,43,null,43]
[{"$f":"SET.NAME(\"Rowrep\",3)","v":true},null,null,null,null,{"$f":"        NEXT()","v":true},"! Are any data on this sheet?",null,null,null,null,"! Get maxium rows&cols",null,null,null,null,null,null,{"$f":"NEXT()","v":true},{"$f":"  HALT()","v":true},{"$f":"  SET.NAME(\"Favg\",0)","v":true},null,null,{"$f":"ALIGNMENT(3,FALSE,3,0)","v":true},{"$f":"  SET.NAME(\"Atmp1\",DEREF(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4+Ipro&Acol&1,FALSE)))","v":true},null,{"$f":"dld_gotocell(\"A1\",\"D26\")","v":0},null,null,null,{"$f":"PAGE.SETUP(\"&L&\"\"Arial,Regular\"\"&8Built by: DL Duewer, NIST&C&\"\"Arial,Bold\"\"&16\"&Asyst&\"  &\"\"Arial,Regular\"\"&12<Version \"&Avers&\">\n\"&Atmp&\"&R&\"\"Arial,Regular\"\"&8Paid for, in part, by: NIJ\",\"&L&\"\"Arial,Regular\"\"&8&F!&A&C&\"\"Arial,Regular\"\"&8&D &T&R&\"\"Arial,Regular\"\"&8&P / &N\",1,0.5,1.3,0.8,FALSE,FALSE,TRUE,FALSE,2,TRUE,50,\"Auto\",1,FALSE,,0.75,0.5,FALSE,FALSE)","v":true},{"$f":"SELECT(\"Button 3\")","v":true},null,null,null,44,null,44]
[{"$f":"SET.NAME(\"RowDat\",8)","v":true},null,null,null,null,{"$f":"        FORMULA(Atmp,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4+Nsam&Acol&Jcol,FALSE))","v":true},{"$f":"SET.NAME(\"Npro\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&1,FALSE))-1)","v":true},null,null,"! Is this the right sheet?",null,{"$f":"    SET.NAME(\"RowLst\",dld_findrowlast())","v":true},"! Format the control panel",null,null,null,null,null,{"$f":"RUN(VMM_ReportHeader,FALSE)","v":{"$error":"#N/A"}},{"$f":"END.IF()","v":false},{"$f":"  SET.NAME(\"Fstd\",0)","v":true},null,null,null,{"$f":"  SET.NAME(\"Atmp1\",SUBSTITUTE(SUBSTITUTE(Atmp1,\"{\",\"\"),\"}\",\"\")&\";\")","v":true},null,null,null,null,null,{"$f":"SELECT(Arow&6&Acol&3&Asep&Arow&7&Acol&3)","v":true},{"$f":"FORMAT.SIZE(95,24)","v":true},null,null,null,45,null,45]
[{"$f":"SET.NAME(\"RowFil\",14)","v":true},null,null,null,null,{"$f":"      END.IF()","v":true},{"$f":"IF(Npro<0.5)","v":true},null,null,{"$f":"SET.NAME(\"Atmp1\",ALERT(\"Is this the right sheet?\"&S1dat&\".\"&Achr&Achr&\"Click 'OK' if 'Yes', 'Cancel' for 'No'.\",1))","v":true},null,{"$f":"    SET.NAME(\"ColLst\",dld_findcolumnlast())","v":true},{"$f":"ACTIVATE(S0con)","v":true},null,null,null,null,null,null,null,{"$f":"  SET.NAME(\"Ncnt\",0)","v":true},null,null,{"$f":"FORMULA(\"# Alleles / Locus\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&8,FALSE))","v":true},{"$f":"  WHILE(NOT(ISERROR(FIND(\";\",Atmp1))))","v":true},null,{"$f":"ACTIVATE(S0rme)","v":true},null,null,null,{"$f":"CLEAR(3)","v":true},{"$f":"FORMAT.MOVE(2,2,Arow&BRow_ad1&Acol&1)","v":true},null,null,null,46,null,46]
[{"$f":"SET.NAME(\"RowMax\",dld_getlastrow())","v":true},null,null,null,null,{"$f":"    NEXT()","v":true},null,null,null,{"$f":"IF(Atmp1=FALSE)","v":true},null,{"$f":"    IF(RowLst<4.5)","v":true},{"$f":"VMM_ClearAll_4(AlngDatTim)","v":0},null,null,null,null,null,"! Enable smooth cancel","! Check loci and make the header",{"$f":"  FOR(\"Itmp\",1,MaxBinRep,1)","v":true},null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&8&Asep&Arow&3&Acol&15,FALSE))","v":true},{"$f":"    SET.NAME(\"Atmp2\",LEFT(Atmp1,FIND(\";\",Atmp1)-1))","v":true},null,{"$f":"ZOOM(CurZoom)","v":true},null,null,null,null,{"$f":"SELECT(\"Button 4\")","v":true},null,null,null,47,null,47]
[{"$f":"SET.NAME(\"BRow_rme\",1)","v":true},null,null,null,null,{"$f":"  END.IF()","v":true},"! Format the Data worksheet",null,null,{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Activate the desired sheet, save the file, and try again!\")","v":true},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... must have at least one profile.\")","v":false},null,null,null,null,null,null,{"$f":"CANCEL.KEY(TRUE,VMM_Cancel)","v":true},{"$f":"ACTIVATE(S0win)","v":true},{"$f":"    SET.NAME(\"Num_\"&Itmp,0)","v":true},null,null,{"$f":"ALIGNMENT(7,FALSE,3,0)","v":true},{"$f":"    SET.NAME(\"Atmp1\",MID(Atmp1,FIND(\";\",Atmp1)+1,100))","v":true},null,{"$f":"dld_gotocell(\"A1\",\"A1\")","v":0},null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&AE$38&\" > Finished.\")","v":true},{"$f":"FORMAT.SIZE(95,24)","v":true},null,null,null,48,null,48]
[{"$f":"SET.NAME(\"BRow_clr\",BRow_rme+4)","v":true},null,null,null,null,{"$f":"NEXT()","v":true},{"$f":"  ACTIVATE(S0dat)","v":true},null,null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"      FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},"! Update the data counts",null,null,null,null,null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&11&Asep&Acol&13,FALSE))","v":true},{"$f":"  NEXT()","v":true},null,null,{"$f":"FORMULA(\"Avg\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&8,FALSE))","v":true},{"$f":"    IF(ISERROR(MATCH(Atmp2,INDIRECT(\"'\"&S0out&\"'!\"&Acol&ColWrk+1,FALSE),0)))","v":true},null,null,null,null,null,{"$f":"RETURN()","v":true},{"$f":"FORMAT.MOVE(2,2,Arow&BRow_ad2&Acol&1)","v":true},null,null,null,49,null,49]
[{"$f":"SET.NAME(\"BRow_ad1\",BRow_clr+3)","v":true},null,null,null,null,null,{"$f":"  FORMULA(\"Sheet\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&1,FALSE))","v":true},null,null,{"$f":"  ALERT(\"Please activate the desired worksheet, save the workbook and try again.\",2)","v":true},null,{"$f":"      ECHO(TRUE)","v":true},{"$f":"RUN(VMM_CountData,FALSE)","v":{"$error":"#N/A"}},null,null,null,null,null,"! Outer Loop over all sample pairs",{"$f":"CLEAR(3)","v":true},null,null,null,{"$f":"FORMULA(\"SD\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&9,FALSE))","v":true},{"$f":"      SET.NAME(\"Itmp1\",Itmp1+1)","v":true},null,null,null,null,null,null,{"$f":"SELECT(\"Button 5\")","v":true},null,null,null,50,null,50]
[{"$f":"SET.NAME(\"BRow_ad2\",BRow_ad1+3)","v":true},null,null,null,null,"! Format",{"$f":"  FORMULA(\"SampleCode\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&2,FALSE))","v":true},null,null,{"$f":"  HALT()","v":true},null,{"$f":"      ALERT(\"There must be at least four header rows and at least one profile row.\"&Achr&Achr&\"Please add more data and try again.\",2)","v":false},null,null,null,null,null,null,{"$f":"SET.NAME(\"Npair\",0)","v":true},{"$f":"FOR(\"Iloc\",1,Nloc,1)","v":true},"! Loop over all loci ",null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&8&Asep&Arow&4&Acol&9,FALSE))","v":true},{"$f":"      FORMULA(Atmp2,INDIRECT(\"'\"&S0out&\"'!\"&Arow&Itmp1&Acol&ColWrk+1,FALSE))","v":true},null,{"$f":"ACTIVATE(S0con)","v":true},null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true},null,null,null,51,null,51]
[{"$f":"SET.NAME(\"BRow_chk\",BRow_ad2+3)","v":true},null,null,null,null,{"$f":"dld_clearcols(1,-1,TRUE)","v":{"$error":"#VALUE!"}},{"$f":"  SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&1&Asep&Arow&4&Acol&2,FALSE))","v":true},null,null,{"$f":"END.IF()","v":false},null,{"$f":"      HALT()","v":true},{"$f":"ECHO(TRUE)","v":true},null,null,null,null,null,{"$f":"FOR(\"Irow\",5,3+Npro,1)","v":true},{"$f":"  SET.NAME(\"Aloc\",DEREF(INDIRECT(\"'\"&S0da1&\"'!\"&Arow&4&Acol&ColLocDat+Iloc-1,FALSE)))","v":true},{"$f":"  FOR(\"Iloc\",1,Nloc,1)","v":true},null,null,{"$f":"BORDER(1)","v":true},{"$f":"    END.IF()","v":true},null,{"$f":"ZOOM(CurZoom)","v":true},null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_chk&Acol&1)","v":true},null,null,null,52,null,52]
[{"$f":"SET.NAME(\"BRow_mx1\",BRow_chk+4)","v":true},null,null,null,null,null,{"$f":"  BORDER(1)","v":true},null,null,{"$f":"ECHO(FALSE)","v":true},null,{"$f":"    END.IF()","v":false},{"$f":"ACTIVATE(S0con)","v":true},null,null,null,null,null,{"$f":"  ACTIVATE(S0wtm)","v":true},{"$f":"  SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0da2&\"'!\"&Arow&4&Acol&ColLocDat+Iloc-1,FALSE)))","v":true},{"$f":"    SET.NAME(\"Icol\",20+Iloc)","v":true},null,null,{"$f":"FOR(\"Jtmp\",1,MaxBinRep-1,1)","v":true},{"$f":"  NEXT()","v":true},null,{"$f":"dld_gotocell(\"A1\",\"A\"&BRow_zom)","v":0},null,null,null,null,{"$f":"SELECT(\"Button 6\")","v":true},null,null,null,53,null,53]
[{"$f":"SET.NAME(\"BRow_mx2\",BRow_mx1+3)","v":true},null,null,null,null,"! Close the old file",{"$f":"  COLUMN.WIDTH(,,,3)","v":true},null,null,null,null,{"$f":"    FOR(\"Icol\",ColLocDat,ColLst,1)","v":true},{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},null,null,null,null,null,{"$f":"  dld_clearcols(1,-1)","v":0},{"$f":"  FORMULA(Aloc,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc&Acol&11,FALSE))","v":true},{"$f":"    SET.NAME(\"Namb\",0)","v":true},null,null,{"$f":"  FORMULA(\"#\"&Jtmp,INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&9+Jtmp,FALSE))","v":true},null,null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true},null,null,null,54,null,54]
[{"$f":"SET.NAME(\"BRow_mx12\",BRow_mx2+3)","v":true},null,null,null,null,{"$f":"ACTIVATE(S1dat)","v":true},{"$f":"  ALIGNMENT(7,FALSE,3,0)","v":true},null,null,"! Get the basic file parameters",null,{"$f":"       SET.NAME(\"Atmp\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&Icol&Asep&Acol&Icol,FALSE))-COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&Icol&Asep&Arow&3&Acol&Icol,FALSE)))","v":true},{"$f":"FORMULA.GOTO(Arow&BRow_ad1&Acol&1,FALSE)","v":true},null,null,null,null,null,null,{"$f":"  FORMULA(Atmp,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc&Acol&12,FALSE))","v":true},{"$f":"    SET.NAME(\"Ntot\",0)","v":true},null,null,{"$f":"NEXT()","v":true},"! Strip the second",null,null,null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_mx1&Acol&1)","v":true},null,null,null,55,null,55]
[{"$f":"SET.NAME(\"BRow_str\",BRow_mx12+4)","v":true},null,null,null,null,{"$f":"CLOSE(FALSE)","v":true},{"$f":"  FORMULA(\"#Loc\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&4,FALSE))","v":true},null,null,{"$f":"SET.NAME(\"ColHed\",-1)","v":true},null,{"$f":"        IF(Atmp<0.5,SET.NAME(\"ColLst\",Icol-1))","v":false},null,null,null,null,null,null,"! Inner loop over remaining pairs",{"$f":"  IF(Aloc<>Atmp)","v":true},{"$f":"    SET.NAME(\"Nunq\",0)","v":true},null,null,{"$f":"FORMULA(\"#\"&MaxBinRep&\"+\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&9+MaxBinRep,FALSE))","v":true},{"$f":"  SET.NAME(\"Atmp1\",DEREF(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4+Ipro&Acol&2,FALSE)))","v":true},null,null,null,null,null,null,{"$f":"SELECT(\"Button 7\")","v":true},null,null,null,56,null,56]
[{"$f":"SET.NAME(\"BRow_pnt\",BRow_str+4)","v":true},null,null,null,null,null,{"$f":"  FORMULA(\"#All\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&5,FALSE))","v":true},null,null,{"$f":"SET.NAME(\"RowHed\",-1)","v":true},null,{"$f":"    NEXT()","v":true},{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&M$1&\" > Finished!\")","v":true},null,null,null,null,null,{"$f":"  FOR(\"Jrow\",Irow+1,4+Npro,1)","v":true},{"$f":"    ACTIVATE(S0con)","v":true},{"$f":"    SET.NAME(\"Aloc\",DEREF(INDIRECT(\"'\"&S0dat1&\"'!\"&Arow&Irow&Acol&ColLocDat+Iloc-1,FALSE)))","v":true},null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&8&Asep&Arow&4&Acol&9+MaxBinRep,FALSE))","v":true},{"$f":"  SET.NAME(\"Atmp1\",SUBSTITUTE(SUBSTITUTE(Atmp1,\"{\",\"\"),\"}\",\"\")&\";\")","v":true},null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true}]
[{"$f":"SET.NAME(\"BRow_zom\",BRow_pnt+4)","v":true},null,null,null,null,"! Update the worksheet list",{"$f":"  FOR(\"Itmp\",1,MaxBinDat-1,1)","v":true},null,null,{"$f":"SET.NAME(\"ColFst\",dld_FINDCOLUMNFIRST())","v":true},null,{"$f":"    IF(ColLst<3.5)","v":true},{"$f":"RETURN()","v":true},null,null,null,null,null,{"$f":"    SET.NAME(\"Npair\",Npair+1)","v":true},{"$f":"    MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the datasheets must have the same loci in the same order:  (\"&Aloc&\") is not (\"&Atmp&\").\")","v":true},{"$f":"    SET.NAME(\"Bloc\",DEREF(INDIRECT(\"'\"&S0dat2&\"'!\"&Arow&Jrow&Acol&ColLocDat+Iloc-1,FALSE)))","v":true},null,null,{"$f":"BORDER(1)","v":true},{"$f":"  WHILE(NOT(ISERROR(FIND(\";\",Atmp1))))","v":true},null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&AA$1&\" > Finished!\")","v":true},null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_mx2&Acol&1)","v":true}]
[{"$f":"SET.NAME(\"BRow_ext\",BRow_zom+4)","v":true},null,null,null,null,{"$f":"ACTIVATE(S0con)","v":true},{"$f":"    FORMULA(\"#\"&Itmp,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&5+Itmp,FALSE))","v":true},null,null,{"$f":"SET.NAME(\"Collst\",dld_findcolumnlast())","v":true},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... must have alleles at at least one locus.\")","v":false},null,null,null,null,null,null,{"$f":"    SET.NAME(\"Nrow\",Jrow-4)","v":true},{"$f":"    FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,null,{"$f":"ALIGNMENT(3,FALSE,3,0)","v":true},{"$f":"    SET.NAME(\"Atmp2\",LEFT(Atmp1,FIND(\";\",Atmp1)-1))","v":true},null,{"$f":"HALT()","v":true},null,null,null,null,{"$f":"SELECT(\"Button 8\")","v":true}]
[{"$f":"SET.NAME(\"ALastMix\",\"Donno\")","v":true},null,null,null,null,{"$f":"SET.NAME(\"Nfile\",COUNTA(INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil&Acol&7&Asep&Arow&RowFil+100&Acol&7,FALSE)))","v":true},{"$f":"  NEXT()","v":true},null,null,{"$f":"SET.NAME(\"RowFst\",dld_FINDRowFIRST())","v":true},null,{"$f":"      FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":false},null,null,null,null,null,null,{"$f":"    RUN(VMM_MakeProfile,FALSE)","v":{"$error":"#N/A"}},{"$f":"    FORMULA.GOTO(Arow&BRow_clr&Acol&1,FALSE)","v":false},"! Extract all the alleles",null,null,null,{"$f":"    SET.NAME(\"Atmp1\",MID(Atmp1,FIND(\";\",Atmp1)+1,100))","v":true},null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true}]
[null,null,null,null,null,{"$f":"SET.NAME(\"Atmp\",MID(S0dat,FIND(\"]\",S0dat)+1,100))","v":true},{"$f":"  FORMULA(\"#\"&MaxBinDat&\"+\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&5+MaxBinDat,FALSE))","v":true},null,null,{"$f":"SET.NAME(\"Rowlst\",dld_findrowlast())","v":true},null,{"$f":"      ECHO(TRUE)","v":false},null,null,null,null,null,null,{"$f":"  NEXT()","v":true},{"$f":"    ECHO(TRUE)","v":true},{"$f":"    SET.NAME(\"Atmp\",Aloc&\",\"&Bloc&\",\")","v":true},null,null,{"$f":"FORMULA(\"Loci\",INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&ColLocRep,FALSE))","v":true},{"$f":"    IF(ISERROR(MATCH(Atmp2,INDIRECT(\"'\"&S0out&\"'!\"&Acol&ColWrk+1,FALSE),0)))","v":true},null,null,null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_mx12&Acol&1)","v":true}]
["! Set the default Zoom",null,null,null,null,{"$f":"FORMULA(Atmp,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&4,FALSE))","v":true},{"$f":"  SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&4&Asep&Arow&4&Acol&5+MaxBinDat,FALSE))","v":true},null,null,null,null,{"$f":"      ALERT(\"At least loci must be specified.\"&Achr&Achr&\"Please correct and try again.\",2)","v":false},null,null,null,null,null,null,null,{"$f":"    ALERT(\"Datasheets (\"&Atmp1&\",\"&Atmp2&\") must have the same loci in the same order: (\"&Aloc&\") does not match (\"&Atmp&\").\"&Achr&Achr&\"Please rectify and try again.\",2)","v":true},{"$f":"    WHILE(NOT(ISERROR(FIND(Alsp,Atmp,1))))","v":true},null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&3&Acol&ColLocRep&Asep&Arow&3&Acol&ColLocRep-1+Nloc,FALSE))","v":true},{"$f":"      SET.NAME(\"Itmp1\",Itmp1+1)","v":true},null,null,null,null,null,null,{"$f":"SELECT(\"Button 14\")","v":true}]
[{"$f":"SET.NAME(\"CurZoom\",DEREF(INDIRECT(\"'\"&S0mac&\"'!\"&Arow&13&Acol&3,FALSE)))","v":true},null,null,null,null,{"$f":"FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&5,FALSE))","v":true},{"$f":"  BORDER(1)","v":true},null,null,null,null,{"$f":"      HALT()","v":false},null,null,null,null,null,null,"! Store the unique pairs, if there's room",{"$f":"    HALT()","v":true},{"$f":"      SET.NAME(\"Ichr\",FIND(Alsp,Atmp,1))","v":true},null,null,{"$f":"ALIGNMENT(7,FALSE,3,0)","v":true},{"$f":"      FORMULA(Atmp2,INDIRECT(\"'\"&S0out&\"'!\"&Arow&Itmp1&Acol&ColWrk+1,FALSE))","v":true},null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true}]
[{"$f":"IF(ISERROR(1/CurZoom),SET.NAME(\"CurZoom\",0))","v":false},null,null,null,null,{"$f":"FORMULA(S1dat,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&6,FALSE))","v":true},{"$f":"  COLUMN.WIDTH(,,,3)","v":true},null,null,null,null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,{"$f":"  VMM_MakeMixtures_Store(S0rep,S0wtm)","v":0},{"$f":"  END.IF()","v":false},{"$f":"      SET.NAME(\"Aall\",LEFT(Atmp,Ichr-1))","v":true},null,null,{"$f":"FOR(\"Iloc\",1,Nloc,1)","v":true},{"$f":"    END.IF()","v":true},null,null,null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_str&Acol&1)","v":true}]
[{"$f":"IF(OR(CurZoom<30,CurZoom>200),SET.NAME(\"CurZoom\",75))","v":false},null,null,null,null,{"$f":"FORMULA(Dir_1,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&7,FALSE))","v":true},{"$f":"  ALIGNMENT(7,FALSE,3,0)","v":true},null,null,"! Check for (essentially) blank sheet",null,null,null,null,null,null,null,null,{"$f":"NEXT()","v":true},{"$f":"NEXT()","v":true},{"$f":"      SET.NAME(\"Atmp\",MID(Atmp,Ichr+1,256))","v":true},null,null,{"$f":"  SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc&Acol&11,FALSE)))","v":true},{"$f":"  NEXT()","v":true},null,null,null,null,null,null,{"$f":"SELECT(\"Button 11\")","v":true}]
[{"$f":"FORMULA(CurZoom,INDIRECT(\"'\"&S0mac&\"'!\"&Arow&13&Acol&3,FALSE))","v":true},null,null,null,null,{"$f":"SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3,FALSE))-1)","v":true},{"$f":"  FOR(\"Iloc\",1,Nloc,1)","v":true},null,null,{"$f":"IF(OR(ColLst-ColFst<0.5,RowLst-RowFst<0))","v":true},null,"! Sort profiles into standard order",null,null,null,null,null,null,null,null,{"$f":"      IF(Aall=  \"?\")","v":true},null,null,{"$f":"  FORMULA(Atmp,INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&ColLocRep-1+Iloc,FALSE))","v":true},null,null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true}]
[null,null,null,null,null,{"$f":"FORMULA(Nloc,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&9,FALSE))","v":true},{"$f":"    SET.NAME(\"Aloc\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&3,FALSE)))","v":true},null,null,{"$f":"  MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Worksheet (\"&S1dat&\") is effectively empty.\")","v":true},null,{"$f":"    dld_selectrange(5,1,RowLst,ColLst)","v":0},null,null,null,null,null,null,"! Format the reports","! Make the header",{"$f":"        SET.NAME(\"Namb\",Namb+1)","v":false},null,null,{"$f":"NEXT()","v":true},"! Sort into alphabetical order",null,null,null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_pnt&Acol&1)","v":true}]
[{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\"  \"&A$1&\" > Finished\")","v":true},null,null,null,null,{"$f":"FORMULA(RowLst-RowHed,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&10,FALSE))","v":true},{"$f":"    SET.NAME(\"Jcol\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&6,FALSE)))","v":true},null,null,{"$f":"  ACTIVATE(S1dat)","v":{"$error":"#VALUE!"}},null,{"$f":"    SORT(1,Arow&5&Acol&2,1,,,,,2)","v":true},null,null,null,null,null,null,{"$f":"RUN(VMM_ReportFormat,FALSE)","v":{"$error":"#N/A"}},{"$f":"SET.NAME(\"ALastMix\",\"Mix12\")","v":true},{"$f":"      ELSE()","v":true},null,null,{"$f":"SELECT(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&ColLocRep&Asep&Arow&4&Acol&ColLocRep-1+Nloc,FALSE))","v":true},{"$f":"  SELECT(INDIRECT(\"'\"&S0out&\"'!\"&Acol&ColWrk+1,FALSE))","v":true},null,null,null,null,null,null,{"$f":"SELECT(\"Button 13\")","v":true}]
[{"$f":"RETURN()","v":true},null,null,null,null,null,{"$f":"    FORMULA(Aloc,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&Jcol,FALSE))","v":true},null,null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"    SET.NAME(\"RowLst\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&2,FALSE))+3)","v":true},null,null,null,null,null,null,null,{"$f":"SET.NAME(\"Atit\",DEREF(INDIRECT(\"'\"&S0da1&\"'!\"&Arow&1&Acol&1,FALSE)))","v":true},{"$f":"        SET.NAME(\"Ntot\",Ntot+1)","v":true},null,null,{"$f":"BORDER(1)","v":true},{"$f":"  SORT(1,INDIRECT(\"'\"&S0out&\"'!\"&Arow&1&Acol&ColWrk+1,FALSE),1,,,,,2)","v":true},null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true}]
[null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&F$1&\" > Finished!\")","v":true},{"$f":"  NEXT()","v":true},null,null,{"$f":"  ECHO(TRUE)","v":true},null,null,null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0da2&\"'!\"&Arow&1&Acol&1,FALSE)))","v":true},{"$f":"        IF(NOT(ISERROR(Aall+0)),SET.NAME(\"Aall\",Aall+0))","v":true},null,null,{"$f":"ALIGNMENT(3,FALSE,3,0)","v":true},null,null,null,null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_zom&Acol&1)","v":true}]
[null,null,null,null,null,{"$f":"RETURN()","v":true},{"$f":"  SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&11&Asep&Arow&4&Acol&ColLocDat+Nloc,FALSE))","v":true},null,null,{"$f":"  ALERT(\"This worksheet contains at most \"&ColLst-ColFst+1&\" columns and \"&RowLst-RowFst+1&\" rows of information.\"&Achr&Achr&\"Specify a sheet that contains at least one profile and try again.\",2)","v":false},null,"! Check row/column recognition",null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},{"$f":"SET.NAME(\"Atit\",Atit&\"  X  \"&Atmp)","v":true},{"$f":"        IF(ISERROR(MATCH(Aall,INDIRECT(\"'\"&S0win&\"'!\"&Acol&Icol,FALSE),0)))","v":true},null,null,null,"! Combine",null,null,null,null,null,null,{"$f":"SELECT(\"Button 12\")","v":true}]
[null,null,null,null,null,null,{"$f":"  BORDER(1)","v":true},null,null,{"$f":"  ACTIVATE(S0con)","v":true},null,{"$f":"    SET.NAME(\"Atitle\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&1,FALSE)))","v":true},null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&S$1&\" > Finished!\")","v":true},{"$f":"RUN(VMM_ReportHeader,FALSE)","v":{"$error":"#N/A"}},{"$f":"          SET.NAME(\"Nunq\",Nunq+1)","v":true},null,null,"! Format for display",{"$f":"  SET.NAME(\"Atmp1\",\"{\")","v":true},null,null,null,null,null,null,{"$f":"FORMAT.SIZE(95,24)","v":true}]
[null,null,null,null,null,null,{"$f":"  COLUMN.WIDTH(,,,3)","v":true},null,null,{"$f":"  FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"    IF(LEN(Atitle)<4.5)","v":true},null,null,null,null,null,null,{"$f":"RETURN()","v":true},null,{"$f":"          FORMULA(Aall,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Nunq&Acol&Icol,FALSE))","v":true},null,null,{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},{"$f":"  FOR(\"Itmp\",1,Itmp1,1)","v":true},null,null,null,null,null,null,{"$f":"FORMAT.MOVE(2,2,Arow&BRow_ext&Acol&1)","v":true}]
[null,null,null,null,null,null,{"$f":"  ALIGNMENT(7,FALSE,3,0)","v":true},null,null,{"$f":"  FORMULA.GOTO(Arow&IF(Nloc<1.5,BRow_clr,Igoto)&Acol&1,FALSE)","v":false},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the title must have at least 5 characters.\")","v":true},null,null,null,null,null,null,null,"! Enable smooth cancel",{"$f":"        END.IF()","v":true},null,null,null,{"$f":"    SET.NAME(\"Atmp2\",DEREF(INDIRECT(\"'\"&S0out&\"'!\"&Arow&Itmp&Acol&ColWrk+1,FALSE)))","v":true},null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"  HALT()","v":true},null,{"$f":"      FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,null,null,null,null,null,{"$f":"CANCEL.KEY(TRUE,VMM_Cancel)","v":true},{"$f":"      END.IF()","v":true},null,null,"! Format Conrol Panel",{"$f":"    SET.NAME(\"Atmp1\",Atmp1&Atmp2&IF(Itmp=Itmp1,\"}\",\";\"))","v":true}]
[null,null,null,null,null,null,{"$f":"ELSE()","v":true},null,null,{"$f":"END.IF()","v":false},null,{"$f":"      ECHO(TRUE)","v":true},null,null,null,null,null,null,null,null,{"$f":"    NEXT()","v":true},null,null,{"$f":"ACTIVATE(S0con)","v":true},{"$f":"  NEXT()","v":true},null,null,null,null,null,null,"! Reset the User info"]
[null,null,null,null,null,null,"! Check if this data already loaded",null,null,null,null,{"$f":"      ALERT(\"The first column of the first row must hold a dataset Title of at least five characters.\"&Achr&Achr&\"Please correct and try again.\",2)","v":true},null,null,null,null,null,null,null,"! Outer Loop over all sample pairs",null,null,null,{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0},{"$f":"  FORMULA(Atmp1,INDIRECT(\"'\"&S0out&\"'!\"&Arow&3+Ipro&Acol&1,FALSE))","v":true},null,null,null,null,null,null,{"$f":"ACTIVATE(S0mac)","v":true}]
[null,null,null,null,null,null,{"$f":"  SET.NAME(\"Atitle\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&1,FALSE)))","v":true},null,null,"! Find the header row/col",null,{"$f":"      HALT()","v":true},null,null,null,null,null,null,null,{"$f":"SET.NAME(\"Npair\",0)","v":true},"! Sort",null,null,{"$f":"ECHO(TRUE)","v":true},null,null,null,null,null,null,null,{"$f":"ERROR(FALSE)","v":true}]
[null,null,null,null,null,null,{"$f":"  IF(NOT(ISERROR(FIND(S1dat,Atitle))))","v":true},null,null,{"$f":"FOR(\"Irow\",RowFst,RowLst,1)","v":true},null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,null,{"$f":"FOR(\"Irow\",5,4+Npro1,1)","v":true},{"$f":"    SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&Icol,FALSE))","v":true},null,null,{"$f":"FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},"! Leave everything clear",null,null,null,null,null,null,{"$f":"  WORKBOOK.UNHIDE(\"Macro\")","v":{"$error":"#VALUE!"}}]
[null,null,null,null,null,null,{"$f":"    ECHO(TRUE)","v":true},null,null,{"$f":"  SET.NAME(\"Atmp1\",COUNTA(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow,FALSE)))","v":true},null,{"$f":"    IF(COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&2,FALSE))>0)","v":true},null,null,null,null,null,null,null,{"$f":"  ACTIVATE(S0wtm)","v":true},{"$f":"    SORT(1,Arow&1&Acol&Icol,1,,,,,2)","v":true},null,null,{"$f":"ECHO(FALSE)","v":true},{"$f":"  SELECT(INDIRECT(\"'\"&S0out&\"'!\"&Acol&ColWrk+1,FALSE))","v":true},null,null,null,null,null,null,{"$f":"ERROR(TRUE)","v":true}]
[null,null,null,null,null,null,{"$f":"    MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" That worksheet (\"&S1dat&\") is already loaded.\")","v":true},null,null,{"$f":"  IF(Atmp1>1.5)","v":true},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the second row must be blank.\")","v":true},null,null,null,null,null,null,null,{"$f":"  dld_clearcols(1,-1)","v":0},null,null,null,null,{"$f":"  CLEAR(1)","v":true},null,null,null,null,null,null,{"$f":"FORMULA(\"NewUser\",INDIRECT(\"'\"&S0mac&\"'!\"&Arow&6&Acol&3,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"    ACTIVATE(S0con)","v":true},null,null,{"$f":"    FOR(\"Icol\",ColFst,ColLst,1)","v":true},null,{"$f":"      SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&2,FALSE))","v":false},null,null,null,null,null,null,null,{"$f":"  SET.NAME(\"Asam\",DEREF(INDIRECT(\"'\"&S0dat1&\"'!\"&Arow&Irow&Acol&2,FALSE)))","v":true},"! Take care of special cases",null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&X$1&\" > Finished!\")","v":true},{"$f":"NEXT()","v":true},null,null,null,null,null,null,{"$f":"FORMULA(0,INDIRECT(\"'\"&S0mac&\"'!\"&Arow&7&Acol&3,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"    FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,{"$f":"      SET.NAME(\"Atmp2\",COUNTA(INDIRECT(\"'\"&S1dat&\"'!\"&Acol&Icol,FALSE)))","v":true},null,{"$f":"      ECHO(TRUE)","v":true},null,null,null,null,null,null,null,null,{"$f":"    IF(Nunq<0.5)","v":true},null,null,{"$f":"RETURN()","v":true},null,null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true}]
[null,null,null,null,null,null,{"$f":"    FORMULA.GOTO(Arow&Igoto&Acol&1,FALSE)","v":true},null,null,{"$f":"      IF(Atmp2>1.5)","v":true},null,{"$f":"      ALERT(\"The second row is expected to be blank.\"&Achr&Achr&\"Please correct and try again.\",2)","v":true},null,null,null,null,null,null,null,"! Outer Loop over all sample pairs",{"$f":"      SET.NAME(\"Cloc\",\"?\")","v":true},null,null,null,"! Copy AllPairs & format shhet"]
[null,null,null,null,null,null,{"$f":"    ALERT(\"The worksheet (\"&S1dat&\") is already loaded.\"&Achr&\"The current dataset is: \"&Atitle&\".\"&Achr&Achr&\"Specify a different worksheet and try again.\",2)","v":true},null,null,{"$f":"        SET.NAME(\"Atmp3\",DEREF(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE)))","v":true},null,{"$f":"      HALT()","v":true},null,null,null,null,null,null,null,{"$f":"  FOR(\"Jrow\",5,4+Npro2,1)","v":true},{"$f":"    ELSE()","v":true},null,null,null,{"$f":"COPY(INDIRECT(\"'\"&S0rep&\"'!\"&Arow&4&Acol&ColLocRep&Asep&Arow&4+Npro&Acol&ColLocRep-1+Nloc,FALSE),INDIRECT(\"'\"&S0out&\"'!\"&Arow&3&Acol&2,FALSE))","v":true},null,null,null,null,null,null,"! Leave it on the Intro worksheet"]
[null,null,null,null,null,null,{"$f":"    HALT()","v":true},null,null,null,null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,null,{"$f":"    SET.NAME(\"Bsam\",DEREF(INDIRECT(\"'\"&S0dat2&\"'!\"&Arow&Jrow&Acol&2,FALSE)))","v":true},{"$f":"      SET.NAME(\"Cloc\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&1&Acol&Icol,FALSE)))","v":true},null,null,null,{"$f":"CANCEL.COPY(FALSE)","v":true},null,null,null,null,null,null,{"$f":"ACTIVATE(S0int)","v":true}]
[null,null,null,null,null,null,{"$f":"  END.IF()","v":false},null,null,"! First significant row/col begins \"SAMPLECODE\", found header",null,{"$f":"    IF(COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&3,FALSE))>0)","v":true},null,null,null,null,null,null,null,{"$f":"    IF(ISERROR(MATCH(Bsam&\"|\"&Asam,INDIRECT(\"'\"&S0win&\"'!\"&Acol&13,FALSE),0)))","v":true},{"$f":"      IF(Nunq>1.5)","v":true},null,null,null,{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0}]
[null,null,null,null,null,null,null,null,null,{"$f":"        IF(UPPER(LEFT(Atmp3,10))=\"SAMPLECODE\")","v":true},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the second row must be blank.\")","v":false},null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Npair\",Npair+1)","v":true},{"$f":"        FOR(\"Itmp\",2,Nunq,1)","v":true},null,null,null,null,null,null,null,null,null,null,{"$f":"HALT()","v":true}]
[null,null,null,null,null,null,"! Are all of the old loci in this sheet?",null,null,{"$f":"          SET.NAME(\"RowHed\",Irow)","v":true},null,{"$f":"      SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&3,FALSE))","v":false},null,null,null,null,null,null,null,{"$f":"      FORMULA(Asam&\"|\"&Bsam,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Npair&Acol&13,FALSE))","v":true},{"$f":"          SET.NAME(\"Cloc\",Cloc&\",\"&INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp&Acol&Icol,FALSE))","v":true},null,null,null,"! Copy to a new workbook"]
[null,null,null,null,null,null,{"$f":"  SET.NAME(\"Nloc\",COUNTA(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3,FALSE))-1)","v":false},null,null,{"$f":"          SET.NAME(\"ColHed\",Icol)","v":true},null,{"$f":"      ECHO(TRUE)","v":false},null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Nrow\",Jrow-4)","v":true},{"$f":"        NEXT()","v":true},null,null,null,{"$f":"SET.NAME(\"Atmp1\",NOW())","v":true}]
[null,null,null,null,null,null,{"$f":"  SET.NAME(\"Nned\",0)","v":true},null,null,{"$f":"          SET.NAME(\"Icol\",ColLst+1)","v":true},null,{"$f":"      ALERT(\"The third column is expected to be blank.\"&Achr&Achr&\"Please correct and try again.\",2)","v":false},null,null,null,null,null,null,null,{"$f":"      RUN(VMM_MakeProfile,FALSE)","v":{"$error":"#N/A"}},{"$f":"      END.IF()","v":true},null,null,null,{"$f":"SET.NAME(\"Atmp1\",TEXT(YEAR(Atmp1),\"0000\")&TEXT(MONTH(Atmp1),\"00\")&TEXT(DAY(Atmp1),\"00\")&\"-\"&TEXT(HOUR(Atmp1),\"00\")&TEXT(MINUTE(Atmp1),\"00\"))","v":true}]
[null,null,null,null,null,null,{"$f":"  SET.NAME(\"Nhve\",0)","v":true},null,null,{"$f":"          SET.NAME(\"Irow\",RowLst+1)","v":true},null,{"$f":"      HALT()","v":false},null,null,null,null,null,null,null,{"$f":"    END.IF()","v":true},null,null,null,null,{"$f":"SET.NAME(\"Atmp2\",\"VMM_DataStore_\"&Atmp1)","v":true}]
[null,null,null,null,null,null,{"$f":"  ACTIVATE(S0win)","v":false},null,null,{"$f":"        ELSE()","v":true},null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,null,{"$f":"  NEXT()","v":true},"! Check if there's any ambiguity",null,null,null,{"$f":"WORKBOOK.COPY(\"OutData\")","v":true}]
[null,null,null,null,null,null,{"$f":"  FOR(\"Iloc\",Nloc,1,-1)","v":true},null,null,null,null,{"$f":"    IF(DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&2,FALSE))<>\"SampleCode\")","v":true},null,null,null,null,null,null,null,null,{"$f":"      IF(Namb>0.5)","v":true},null,null,null,{"$f":"SET.NAME(\"Atmp1\",SAVE.AS?(Atmp2,1))","v":true}]
[null,null,null,null,null,null,{"$f":"    SET.NAME(\"Ntmp\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&4,FALSE)))","v":false},null,null,"! Whoops, format doesn't appear to be NIST format (standard or compact)",null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the second column of the fourth row must contain 'SampleCode'.\")","v":false},null,null,null,null,null,null,null,"! Store the unique pairs, if there's room","! Don't count this one"]
[null,null,null,null,null,null,{"$f":"    SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&7,FALSE)))","v":false},null,null,{"$f":"          MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Worksheet not in NIST format.\")","v":true},null,{"$f":"      FORMULA.GOTO(Arow&4&Acol&2,FALSE)","v":false},null,null,null,null,null,null,null,{"$f":"  VMM_MakeMixtures_Store(S0rep,S0wtm)","v":0},{"$f":"        SET.NAME(\"Cloc\",Cloc&\",?\")","v":false},null,null,null,"! Check if it was aborted"]
[null,null,null,null,null,null,{"$f":"    IF(Atmp=\"Initial\")","v":true},null,null,{"$f":"          ACTIVATE(S1dat)","v":true},null,{"$f":"      ECHO(TRUE)","v":false},null,null,null,null,null,null,null,{"$f":"NEXT()","v":true},{"$f":"      ELSE()","v":true},null,null,null,{"$f":"IF(Atmp1)","v":true}]
[null,null,null,null,null,null,{"$f":"      SET.NAME(\"Nned\",Nned+1)","v":true},null,null,{"$f":"          FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"      ALERT(\"The second column of the fourth row is expected to be 'SampleCode'.\"&Achr&Achr&\"Please correct and try again.\",2)","v":false},null,null,null,null,null,null,null,null,"! Make display counts for all but Amel",null,null,null,{"$f":"  SET.NAME(\"Dir_2\",GET.DOCUMENT(2))","v":true}]
[null,null,null,null,null,null,{"$f":"      IF(Ntmp<0.5)","v":true},null,null,{"$f":"          FORMULA.GOTO(Arow&MAX(1,RowHed)&Acol&MAX(1,ColHed),FALSE)","v":true},null,{"$f":"      HALT()","v":false},null,null,null,null,null,null,null,"! Format the reports",{"$f":"        SET.NAME(\"NumAll\",NumAll+Ntot)","v":true},null,null,null,{"$f":"  SET.NAME(\"WrkBk_2\",GET.DOCUMENT(88))","v":true}]
[null,null,null,null,null,null,{"$f":"        SET.NAME(\"Aloc\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&3,FALSE)))","v":false},null,null,{"$f":"          ECHO(TRUE)","v":true},null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,null,{"$f":"RUN(VMM_ReportFormat,FALSE)","v":{"$error":"#N/A"}},{"$f":"        SET.NAME(\"NumUnq\",NumUnq+Nunq)","v":true}]
[null,null,null,null,null,null,{"$f":"      ELSE()","v":true},null,null,{"$f":"          ALERT(\"The header row does not begin with the keyword 'SampleCode'.\"&Achr&\"This worksheet thus does not appear to be in either the NIST standard or compact format.\"&Achr&Achr&\"Please review the format specified in the 'ReadMe' worksheet, make all needed changes and try again.\",2)","v":true},null,{"$f":"    IF(DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&3&Acol&ColLocDat,FALSE))<>\"Loci\")","v":true},null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Ncnt\",Ncnt+1)","v":true},null,null,null,"! Copy the input files"]
[null,null,null,null,null,null,{"$f":"        SET.NAME(\"Nhve\",Nhve+1)","v":true},null,null,{"$f":"          ACTIVATE(S0con)","v":true},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the \"&ColLocDat&\"th column of the third row must contain 'Loci'.\")","v":false},null,null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},{"$f":"        SET.NAME(\"Favg\",Favg+Nunq)","v":true},null,null,null,{"$f":"  ACTIVATE(S0rep)","v":true}]
[null,null,null,null,null,null,{"$f":"      END.IF()","v":true},null,null,{"$f":"          FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,{"$f":"      FORMULA.GOTO(Arow&3&Acol&ColLocDat,FALSE)","v":false},null,null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&BRow_mx12&Acol&1,FALSE)","v":true},{"$f":"        SET.NAME(\"Fstd\",Fstd+Nunq^2)","v":true},null,null,null,{"$f":"  IF(OR(ALastMix=\"Mix2\",ALastMix=\"Mix12\"),VMM_Store_Addsheet(WrkBk_2,S0da2))","v":false}]
[null,null,null,null,null,null,{"$f":"    ELSE()","v":true},null,null,{"$f":"          FORMULA.GOTO(Arow&IF(Nloc<1.5,BRow_clr,Igoto)&Acol&1,FALSE)","v":true},null,{"$f":"      ECHO(TRUE)","v":false},null,null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&T$1&\" > Finished!\")","v":true},{"$f":"        SET.NAME(\"Num_\"&MIN(MaxBinRep,Nunq),EVALUATE(\"Num_\"&MIN(MaxBinRep,Nunq))+1)","v":true},null,null,null,{"$f":"  IF(OR(ALastMix=\"Mix1\",ALastMix=\"Mix12\"),VMM_Store_Addsheet(WrkBk_2,S0da1))","v":0}]
[null,null,null,null,null,null,{"$f":"      SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Iloc+1&Acol&3&Asep&Arow&Iloc+1&Acol&7,FALSE))","v":false},null,null,{"$f":"          HALT()","v":true},null,{"$f":"      ALERT(\"The \"&ColLocDat&\"th column of the third row is expected to be 'Loci'.\"&Achr&Achr&\"Please correct and try again.\",2)","v":false},null,null,null,null,null,null,null,{"$f":"RETURN()","v":true},{"$f":"      END.IF()","v":true}]
[null,null,null,null,null,null,{"$f":"      CLEAR(3)","v":true},null,null,{"$f":"        END.IF()","v":false},null,{"$f":"      HALT()","v":false},null,null,null,null,null,null,null,null,{"$f":"    END.IF()","v":true},null,null,null,"! Activate the main page"]
[null,null,null,null,null,null,{"$f":"    END.IF()","v":true},null,null,{"$f":"      END.IF()","v":true},null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"  WORKBOOK.ACTIVATE(WrkBk_2)","v":true}]
[null,null,null,null,null,null,{"$f":"  NEXT()","v":true},null,null,{"$f":"    NEXT()","v":true},null,{"$f":"    IF(DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&1,FALSE))<>\"Sheet\")","v":true},null,null,null,null,null,null,null,null,"! Record this locus",null,null,null,{"$f":"  SET.NAME(\"S2dat\",\"[\"&WrkBk_2&\"]\"&\"OutData\")","v":true}]
[null,null,null,null,null,null,{"$f":"  SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3&Asep&Acol&7,FALSE))","v":false},null,null,{"$f":"  END.IF()","v":true},null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... the first column of the fourth row must contain 'Sheet'.\")","v":false},null,null,null,null,null,null,null,null,{"$f":"    FORMULA(Cloc,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&ColLocRep+Iloc-1,FALSE))","v":true},null,null,null,{"$f":"  ACTIVATE(S2dat)","v":true}]
[null,null,null,null,null,null,{"$f":"  SORT(1,Arow&2&Acol&6,1,,,,,1)","v":true},null,null,{"$f":"NEXT()","v":true},null,{"$f":"      FORMULA.GOTO(Arow&4&Acol&1,FALSE)","v":false},null,null,null,null,null,null,null,null,{"$f":"  NEXT()","v":true},null,null,null,{"$f":"  dld_gotocell(\"A1\",\"A1\")","v":0}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      ECHO(TRUE)","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"  SAVE()","v":true}]
[null,null,null,null,null,null,"! No old loci specified",null,null,"! Find the last non-blank row",null,{"$f":"      ALERT(\"The first column of the fourth row is expected to be 'Sheet'.\"&Achr&Achr&\"Please correct and try again.\",2)","v":false},null,null,null,null,null,null,null,null,"! Record",null,null,null,{"$f":"  CLOSE(FALSE)","v":true}]
[null,null,null,null,null,null,{"$f":"  IF(Nhve<0.5)","v":true},null,null,{"$f":"FOR(\"Irow\",RowLst,RowHed+1,-1)","v":true},null,{"$f":"      HALT()","v":false},null,null,null,null,null,null,null,null,{"$f":"  FORMULA(Asam,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&1,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"      MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" The 'Added' do not share any loci with previously 'Add'ed datasets.\")","v":true},null,null,{"$f":"  SET.NAME(\"Ntmp\",COUNTA(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&Irow,FALSE)))","v":true},null,{"$f":"    END.IF()","v":false},null,null,null,null,null,null,null,null,{"$f":"  FORMULA(Bsam,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&2,FALSE))","v":true},null,null,null,"! Update the file list"]
[null,null,null,null,null,null,{"$f":"      ACTIVATE(S1dat)","v":true},null,null,{"$f":"  IF(Ntmp>0.5)","v":true},null,null,null,null,null,null,null,null,null,null,{"$f":"  FORMULA(NumAll,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&4,FALSE))","v":true},null,null,null,{"$f":"  SET.NAME(\"Nfile\",COUNTA(INDIRECT(\"'\"&S0con&\"'!\"&Acol&7&Asep&Acol&7,FALSE))-COUNTA(INDIRECT(\"'\"&S0con&\"'!\"&Arow&1&Acol&7&Asep&Arow&RowFil-1&Acol&7,FALSE)))","v":true}]
[null,null,null,null,null,null,{"$f":"      FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":false},null,null,{"$f":"    SET.NAME(\"RowLst\",Irow)","v":true},null,"! Check the locus names",null,null,null,null,null,null,null,null,{"$f":"  FORMULA(NumUnq,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&5,FALSE))","v":true},null,null,null,{"$f":"  SET.NAME(\"Atmp\",MID(S0out,FIND(\"]\",S0out)+1,100))","v":true}]
[null,null,null,null,null,null,{"$f":"      SELECT(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&RowHed&Acol&ColHed+1&Asep&Arow&RowHed&Acol&ColLst,FALSE))","v":true},null,null,{"$f":"    SET.NAME(\"Irow\",RowHed)","v":true},null,{"$f":"    FOR(\"Icol\",ColLocDat,ColLst,1)","v":true},null,null,null,null,null,null,null,null,{"$f":"  FORMULA(NumUnq/NumAll,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&6,FALSE))","v":true},null,null,null,{"$f":"  FORMULA(Atmp,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&4,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"      ECHO(TRUE)","v":true},null,null,{"$f":"  END.IF()","v":true},null,{"$f":"      SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&4&Acol&Icol,FALSE)))","v":true},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"  FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&5,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"      ALERT(\"The 'Add'ed data (\"&S1dat&\") does not share any loci with the prior datasets.\"&Achr&Achr&\"Correct loci designations then retry 'Add Data'.\",2)","v":true},null,null,{"$f":"NEXT()","v":true},null,{"$f":"      IF(LEN(Atmp)<2.5)","v":true},null,null,null,null,null,null,null,null,{"$f":"  FORMULA(Favg/Ncnt,INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&8,FALSE))","v":true},null,null,null,{"$f":"  FORMULA(S2dat,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&6,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"      HALT()","v":true},null,null,null,null,{"$f":"        MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... Locus names must have at least three characters.\")","v":true},null,null,null,null,null,null,null,null,{"$f":"  FORMULA(SQRT((Fstd-Favg*Favg/Ncnt)/(Ncnt-1)),INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&9,FALSE))","v":true},null,null,null,{"$f":"  FORMULA(Dir_2,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&7,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"  END.IF()","v":true},null,null,"! Find the first blank col",null,{"$f":"        FORMULA.GOTO(Arow&4&Acol&Icol,FALSE)","v":true},null,null,null,null,null,null,null,null,{"$f":"  FOR(\"Itmp\",1,MaxBinRep,1)","v":true},null,null,null,{"$f":"  FORMULA(Nloc,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&9,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"FOR(\"Icol\",ColHed+1,ColLst,1)","v":true},null,{"$f":"        ECHO(TRUE)","v":true},null,null,null,null,null,null,null,null,{"$f":"    FORMULA(EVALUATE(\"Num_\"&Itmp),INDIRECT(\"'\"&S0wtm&\"'!\"&Arow&Nrow&Acol&9+Itmp,FALSE))","v":true},null,null,null,{"$f":"  FORMULA(Npro,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowFil+Nfile&Acol&10,FALSE))","v":true}]
[null,null,null,null,null,null,"! Two or more of the old loci not specified",null,null,{"$f":"  SET.NAME(\"Ntmp\",COUNTA(INDIRECT(\"'\"&S1dat&\"'!\"&Acol&Icol,FALSE)))","v":true},null,{"$f":"        ALERT(\"Locus names (\"&Atmp&\") are expected to have at least 3 characters.\"&Achr&Achr&\"Please correct and try again.\",2)","v":true},null,null,null,null,null,null,null,null,{"$f":"  NEXT()","v":true}]
[null,null,null,null,null,null,{"$f":"  IF(Nhve<Nned-1.5)","v":true},null,null,{"$f":"  IF(Ntmp<0.5)","v":true},null,{"$f":"        HALT()","v":true},null,null,null,null,null,null,null,null,{"$f":"END.IF()","v":true},null,null,null,"! User abort"]
[null,null,null,null,null,null,{"$f":"    MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" The 'Added' data must have all of the loci specified in the initial file.  \"&Nhve-Nned&\" are missing - starting with: \"&Aloc)","v":true},null,null,{"$f":"    SET.NAME(\"ColLst\",Icol-1)","v":true},null,{"$f":"      END.IF()","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"ELSE()","v":true}]
[null,null,null,null,null,null,{"$f":"    ACTIVATE(S0win)","v":false},null,null,{"$f":"  END.IF()","v":true},null,{"$f":"    NEXT()","v":true},null,null,null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&U$1&\" > Finished!\")","v":true},null,null,null,{"$f":"  MESSAGE(TRUE,\"Request to export \"&Atmp4&\" Event sheet aborted by user.\")","v":false}]
[null,null,null,null,null,null,{"$f":"    SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3&Asep&Acol&7,FALSE))","v":false},null,null,{"$f":"NEXT()","v":true},null,null,null,null,null,null,null,null,null,null,{"$f":"RETURN()","v":true},null,null,null,{"$f":"END.IF()","v":true}]
[null,null,null,null,null,null,{"$f":"    SORT(1,Arow&2&Acol&5,1,Arow&2&Acol&6,1,,,1)","v":true},null,null,null,null,"! Check that there's actually some data at each locus"]
[null,null,null,null,null,null,{"$f":"    COLUMN.WIDTH(,,,3)","v":true},null,null,"! Find the loci",null,{"$f":"    FOR(\"Icol\",ColLocDat,ColLst,1)","v":true},null,null,null,null,null,null,null,null,null,null,null,null,"! Return to Control"]
[null,null,null,null,null,null,{"$f":"    FORMULA.GOTO(Arow&1&Acol&3,TRUE)","v":true},null,null,{"$f":"SET.NAME(\"nrow\",COUNTA(INDIRECT(\"'\"&S0win&\"'!\"&Acol&3,FALSE)))","v":true},null,{"$f":"      SET.NAME(\"Atmp\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&Icol,FALSE))-COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&Icol&Asep&Arow&4&Acol&Icol,FALSE)))","v":true},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"ACTIVATE(S0con)","v":true}]
[null,null,null,null,null,null,{"$f":"    SELECT(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Nhve+2&Acol&3&Asep&Arow&Nned+1&Acol&7,FALSE))","v":false},null,null,{"$f":"FOR(\"Icol\",ColHed+1,ColLst,1)","v":true},null,{"$f":"      IF(Atmp<0.5)","v":true},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"dld_setcolwidth(1,-1,TRUE)","v":0}]
[null,null,null,null,null,null,{"$f":"    ECHO(TRUE)","v":true},null,null,{"$f":"  SET.NAME(\"Aloc\",CLEAN(TRIM(INDIRECT(\"'\"&S1dat&\"'!\"&Arow&RowHed&Acol&Icol,FALSE))))","v":true},null,{"$f":"        MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Data error... At least one sample must have data at this locus.\")","v":false},{"$f":"      SET.NAME(\"Atmp\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&Icol,FALSE))-COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&Icol&Asep&Arow&4&Acol&Icol,FALSE)))","v":false},null,null,null,null,null,null,null,null,null,null,null,{"$f":"ECHO(TRUE)","v":true}]
[null,null,null,null,null,null,{"$f":"    ALERT(\"The Added data (\"&S1dat&\") does not specify \"&Nned-Nhve&\" required loci.\"&Achr&Achr&\"Either CLEAR and use this as the initial dataset or delete these loci from Data1 and Data2.\",2)","v":true},null,null,{"$f":"  SET.NAME(\"Itmp\",MATCH(Aloc,INDIRECT(\"'\"&S0win&\"'!\"&Acol&3,FALSE),0))","v":true},null,{"$f":"        dld_selectrange(4,ico,-1,Icol)","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&BRow_str&Acol&1,FALSE)","v":true}]
[null,null,null,null,null,null,{"$f":"    HALT()","v":true},null,null,{"$f":"  IF(ISERROR(Itmp))","v":true},null,{"$f":"        ECHO(TRUE)","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"ECHO(FALSE)","v":true}]
[null,null,null,null,null,null,{"$f":"  END.IF()","v":false},null,null,null,null,{"$f":"        ALERT(\"There are no alleles specified in any sample at this locus.\"&Achr&Achr&\"Please correct and try again.\",2)","v":false}]
[null,null,null,null,null,null,null,null,null,"! Found a new one",null,{"$f":"        HALT()","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&Y$1&\" > Finished!\")","v":true}]
[null,null,null,null,null,null,"! Only one of old loci not specified",null,null,{"$f":"    SET.NAME(\"nrow\",Nrow+1)","v":true},null,{"$f":"      END.IF()","v":false},null,null,null,null,null,null,null,null,null,null,null,null,{"$f":"RETURN()","v":true}]
[null,null,null,null,null,null,{"$f":"  IF(Nhve<Nned-0.5)","v":true},null,null,{"$f":"    FORMULA(Aloc,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Nrow&Acol&3,FALSE))","v":true},null,{"$f":"    NEXT()","v":true}]
[null,null,null,null,null,null,{"$f":"    MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" The 'Added' data must have all of the loci specified in the initial file.  (\"&Aloc&\") is missing.\")","v":true},null,null,{"$f":"    FORMULA(1,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Nrow&Acol&4,FALSE))","v":true}]
[null,null,null,null,null,null,{"$f":"    ACTIVATE(S1dat)","v":true},null,null,{"$f":"    FORMULA(Icol,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Nrow&Acol&5,FALSE))","v":true},null,"! Dump any crap"]
[null,null,null,null,null,null,{"$f":"    FORMULA.GOTO(Arow&1&Acol&1,TRUE)","v":true},null,null,{"$f":"    FORMULA(\"Subsequent\",INDIRECT(\"'\"&S0win&\"'!\"&Arow&Nrow&Acol&7,FALSE))","v":true},null,{"$f":"    dld_selectrange(1,ColLst+1,-1,-1)","v":0}]
[null,null,null,null,null,null,{"$f":"    SELECT(Arow&RowHed&Acol&ColHed+1&Asep&Arow&RowHed&Acol&ColLst)","v":true},null,null,null,null,{"$f":"    EDIT.DELETE(4)","v":true}]
[null,null,null,null,null,null,{"$f":"    ECHO(TRUE)","v":true},null,null,{"$f":"  ELSE()","v":true},null,{"$f":"    dld_selectrange(RowLst+1,1,-1,-1)","v":0}]
[null,null,null,null,null,null,{"$f":"    ALERT(\"The Added data (\"&S1dat&\") does not specify locus (\"&Aloc&\").\"&Achr&Achr&\"This may be a spelling or designation error… Correct and try again.\",2)","v":true},null,null,"! Old one",null,{"$f":"    EDIT.DELETE(4)","v":true}]
[null,null,null,null,null,null,{"$f":"    HALT()","v":true},null,null,{"$f":"    SET.NAME(\"Iall\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp&Acol&4,FALSE)))","v":true}]
[null,null,null,null,null,null,{"$f":"  END.IF()","v":false},null,null,{"$f":"    FORMULA(Iall+1,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp&Acol&4,FALSE))","v":true},null,"! Format"]
[null,null,null,null,null,null,{"$f":"END.IF()","v":true},null,null,null,null,{"$f":"    dld_setcolwidth(1,-1,TRUE)","v":0}]
[null,null,null,null,null,null,null,null,null,"! First instance?"]
[null,null,null,null,null,null,"! Get the data",null,null,{"$f":"    IF(Iall<0.5)","v":true},null,"! Validate alleles in all columns and rows"]
[null,null,null,null,null,null,{"$f":"RUN(VMM_AddData,FALSE)","v":{"$error":"#N/A"}},null,null,{"$f":"      FORMULA(Icol,INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp&Acol&5,FALSE))","v":true},null,{"$f":"    SET.NAME(\"Imsg\",0)","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"    ELSE()","v":true},null,{"$f":"    SET.NAME(\"Nmsg\",(RowLst-4)*(ColLst-10))","v":true}]
[null,null,null,null,null,null,"! Final Format",null,null,"! At least the second",null,{"$f":"    FOR(\"Irow\",5,RowLst,1)","v":true}]
[null,null,null,null,null,null,{"$f":"SET.NAME(\"Atitle\",IF(Npro<1.5,S1dat,Atitle&\", \"&S1dat))","v":true},null,null,{"$f":"      SET.NAME(\"Jtmp\",DEREF(INDIRECT(\"'\"&S0win&\"'!\"&Arow&Itmp&Acol&5,FALSE)))","v":false},null,{"$f":"      FOR(\"Icol\",ColLocDat,ColLst,1)","v":true}]
[null,null,null,null,null,null,{"$f":"VMM_AddDriver_Format(S0dat,Atitle,ColLocDat)","v":0},null,null,"! Is it contiguous",null,{"$f":"        SET.NAME(\"Imsg\",Imsg+1)","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"      IF(ABS(Jtmp+Iall-Icol)>0.5)","v":true},null,{"$f":"        MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Checking alleles… \"&Imsg&\" of \"&Nmsg)","v":true}]
[null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&G$1&\" > Finished!\")","v":true},null,null,{"$f":"        MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Alleles for each locus must be contiguous.\")","v":true},null,{"$f":"        ACTIVATE(S0dat)","v":true}]
[null,null,null,null,null,null,{"$f":"RETURN()","v":true},null,null,{"$f":"        ACTIVATE(S1dat)","v":true},null,{"$f":"        SET.NAME(\"Atmp\",CLEAN(TRIM(UPPER(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE)))))","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"        SELECT(\"(\"&Arow&RowHed&Acol&Icol&Alsp&Arow&RowHed&Acol&Jtmp&\")\")","v":true},null,{"$f":"        IF(ISNA(Atmp),SET.NAME(\"Atmp\",\"?\"))","v":false}]
[null,null,null,null,null,null,null,null,null,{"$f":"        ECHO(TRUE)","v":true},null,{"$f":"        IF(OR(Atmp=0,Atmp=\"\",Atmp=\"0\",Atmp=\"INC\",Atmp=\"NA\",Atmp=\"ND\",Atmp=\"NEG\",Atmp=\"-\",Atmp=\"\",Atmp=\"'\"),SET.NAME(\"Atmp\",\"?\"))","v":false}]
[null,null,null,null,null,null,null,null,null,{"$f":"        ALERT(\"Alleles for each locus must be contiguous.\"&Achr&Achr&\"Unless this is a test, this is unusual enough that you should suspect the integrity of these data.\",2)","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"        HALT()","v":true},null,"! Put it into standard form and check that it doesn't have strange characters in it"]
[null,null,null,null,null,null,null,null,null,{"$f":"      END.IF()","v":false},null,{"$f":"        SET.NAME(\"Atmp\",SUBSTITUTE(Atmp,\" \",\"\"))","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"    END.IF()","v":true},null,{"$f":"        SET.NAME(\"Atmp\",SUBSTITUTE(Atmp,\"'\",\"\"))","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"  END.IF()","v":true},null,{"$f":"        SET.NAME(\"Atmp\",SUBSTITUTE(Atmp,Alsp&Alsp,Alsp))","v":true}]
[null,null,null,null,null,null,null,null,null,{"$f":"NEXT()","v":true},null,{"$f":"         WHILE(NOT(ISERROR(FIND(Alsp&Alsp,Atmp))))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Atmp\",SUBSTITUTE(Atmp,Alsp&Alsp,Alsp))","v":false}]
[null,null,null,null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&J$1&\" > Finished!\")","v":true},null,{"$f":"        NEXT()","v":false}]
[null,null,null,null,null,null,null,null,null,{"$f":"RETURN()","v":true},null,{"$f":"        SET.NAME(\"Atmp\",SUBSTITUTE(Atmp,Alsp&\"0\",Alsp&\"?\"))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,"!=        IF(LEFT(Atmp,1)=\"0\",SET.NAME(\"Atmp\",\"?\"&MID(Atmp,2,100)))"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        IF(RIGHT(Atmp,1)=Alsp,SET.NAME(\"Atmp\",LEFT(Atmp,LEN(Atmp)-1)))","v":false}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Check each character"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Nchr\",LEN(Atmp))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        FOR(\"Ichr\",1,Nchr,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Atmp1\",MID(Atmp,Ichr,1))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Itmp\",MATCH(Atmp1,INDIRECT(\"'\"&S0win&\"'!\"&Acol&1,FALSE),0))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          IF(ISERROR(Itmp))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" Unexpected character in allele designation: \"&Atmp1&\".\")","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            FORMULA.GOTO(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE),TRUE)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            PATTERNS(1,6,0)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            ECHO(TRUE)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            ALERT(\"This profile contains the unexpected character: \"&Atmp1&\".\"&Achr&Achr&\"Please correct and 'Check' again.\",2)","v":false}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            HALT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          END.IF()","v":false}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Make sure alleles are unique and in sort order"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        dld_clearcols(ColWrk+1,ColWrk+1)","v":0}]
[]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Atmp\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE)&Alsp)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Nall\",0)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        WHILE(NOT(ISERROR(FIND(Alsp,Atmp,1))))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Ichr\",FIND(Alsp,Atmp,1))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Aall\",LEFT(Atmp,Ichr-1))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Atmp\",MID(Atmp,Ichr+1,ColWrk+1))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          IF(OR(Aall=\"\",Aall=\"?\",Aall=0,Aall=\"0\"),SET.NAME(\"Aall\",\"LOXY\"))","v":false}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          IF(NOT(ISERROR(Aall+0)),SET.NAME(\"Aall\",Aall+0))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          IF(ISERROR(MATCH(Aall,INDIRECT(\"'\"&S0dat&\"'!\"&Acol&ColWrk+1,FALSE),0)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Nall\",Nall+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            FORMULA(Aall,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Nall&Acol&ColWrk+1,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Put back together if at least two specified alleles"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        IF(Nall<0.5)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Atmp\",\"LOXY\")","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        ELSE.IF(Nall<1.5)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&ColWrk+1,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        ELSE()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&ColWrk+1,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SORT(1,Arow&1&Acol&ColWrk+1,1,,,,,2)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&1&Acol&ColWrk+1,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          FOR(\"Iall\",2,Nall,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Aloc\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Iall&Acol&ColWrk+1,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Atmp\",Atmp&Alsp&Aloc)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          NEXT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        FORMULA(Atmp,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Anything \"missing\"?"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Isok\",MATCH(\"*LOXY*\",INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow,FALSE),0))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      IF(NOT(ISERROR(Isok)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Nmis\",Nmis+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        CLEAR(3)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    NEXT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    dld_clearcols(ColWrk,ColWrk+1)","v":0}]
[]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Sort by name"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&5&Acol&1&Asep&Arow&RowLst&Acol&ColWrk,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SORT(1,Arow&5&Acol&2,1,,,,,2)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SET.NAME(\"RowLst\",RowLst-Nmis)","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Make the hash code for every non-blank sample"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FOR(\"Irow\",5,RowLst,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&ColLocDat,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FOR(\"Iloc\",12,ColLst,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Atmp\",Atmp&\";\"&INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Iloc,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      NEXT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FORMULA(Atmp,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&ColWrk,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Sort by hash and sample name"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&5&Acol&1&Asep&Arow&RowLst&Acol&ColWrk,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SORT(1,Arow&5&Acol&ColWrk,1,Arow&5&Acol&2,1,,,2)","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Combine matching samples"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FOR(\"Irow\",5,RowLst-1,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&ColWrk,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Itmp\",MATCH(Atmp,INDIRECT(\"'\"&S0dat&\"'!\"&Acol&ColWrk,FALSE),1))","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! If hash matches, eliminate things with same label"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      IF(Itmp>Irow)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Alab\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&2,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Alab1\",Alab)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        FOR(\"Jrow\",Irow+1,Itmp,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Alab2\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Jrow&Acol&2,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SELECT(Arow&Jrow&Acol&1&Asep&Arow&Jrow&Acol&ColLst)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          CLEAR(3)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          PATTERNS(0)","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! If the sample names differ, combine them"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          IF(Alab1=Alab2)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Ndup\",Ndup+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          ELSE()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Nrep\",Nrep+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Alab\",Alab&\";{\"&Alab2&\"}\")","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            SET.NAME(\"Alab1\",Alab2)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! If the sample name has changed, tell about it"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        IF(Alab<>Alab1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&2,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          FORMULA(Alab)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          PATTERNS(1,7)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Clear the workarea and resort"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    dld_clearcols(ColLst+1,-1)","v":0}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    dld_clearcolpattern(1,-1)","v":0}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&5&Acol&1&Asep&Arow&RowLst&Acol&ColLst,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SORT(1,Arow&5&Acol&2,1,Arow&5&Acol&1,1,,,2)","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Find non-match replicate long-names"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SET.NAME(\"RowLst\",COUNTA(INDIRECT(\"'\"&S0dat&\"'!\"&Acol&2,FALSE))+3)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FOR(\"Irow\",5,RowLst,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&2,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"Itmp\",MATCH(Atmp,INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow+1&Acol&2&Asep&Arow&RowMax&Acol&2,FALSE),1))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      IF(NOT(ISERROR(Itmp)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        FOR(\"Jrow\",Irow,Irow+Itmp,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Nren\",Nren+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Jrow&Acol&2,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          FORMULA(Atmp&\"|\"&Jrow-Irow+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          PATTERNS(1,8)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        NEXT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Irow\",Irow+Itmp)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Count the number of loci and alleles"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FOR(\"Irow\",5,RowLst,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"NumLoc\",0)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      SET.NAME(\"NumAll\",0)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FOR(\"Itmp\",1,MaxBinDat,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Num_\"&Itmp,0)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Loop over all loci"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FOR(\"Icol\",ColLocDat,ColLst,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Atmp\",DEREF(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&Irow&Acol&Icol,FALSE)))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        SET.NAME(\"Nchr\",LEN(Atmp))","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Count the alleles at this location by counting commas"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"NumLoc\",NumLoc+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Ntmp\",1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          FOR(\"Itmp\",1,Nchr,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"            IF(MID(Atmp,Itmp,1)=Alsp,SET.NAME(\"Ntmp\",Ntmp+1))","v":false}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          NEXT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"NumAll\",NumAll+Ntmp)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"          SET.NAME(\"Num_\"&MIN(MaxBinDat,Ntmp),EVALUATE(\"Num_\"&MIN(MaxBinDat,Ntmp))+1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Store the counts"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FORMULA(NumLoc,INDIRECT(\"'\"&S0dat&\"'!R\"&Irow&\"C4\",FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FORMULA(NumAll,INDIRECT(\"'\"&S0dat&\"'!R\"&Irow&\"C5\",FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      FOR(\"Itmp\",1,4,1)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"        FORMULA(EVALUATE(\"Num_\"&Itmp),INDIRECT(\"'\"&S0dat&\"'!R\"&Irow&\"C\"&5+Itmp,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"      NEXT()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Leave it sorted by number loci, alleles, name"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SELECT(INDIRECT(\"'\"&S0dat&\"'!\"&Arow&5&Acol&1&Asep&Arow&RowLst&Acol&ColLst,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    SORT(1,Arow&5&Acol&4,2,Arow&5&Acol&5,2,Arow&5&Acol&2,1,2)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    dld_setcolwidth(1,-1,TRUE)","v":0}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Update the data counts"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FORMULA(\"Checked\",INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&4,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FORMULA(NOW(),INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&5,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FORMULA(Nmis,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&12,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FORMULA(Ndup,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&13,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FORMULA(Nrep,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&14,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"    FORMULA(Nren,INDIRECT(\"'\"&S0con&\"'!\"&Arow&RowDat-1+Idat&Acol&15,FALSE))","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"  END.IF()","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"NEXT()","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Count things"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"RUN(VMM_CountData,FALSE)","v":{"$error":"#N/A"}}]
[]
[null,null,null,null,null,null,null,null,null,null,null,"! Position for alaysis"]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"ECHO(TRUE)","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"FORMULA.GOTO(Arow&BRow_mx1&Acol&1,FALSE)","v":true}]
[]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"MESSAGE(TRUE,TEXT(NOW(),AlngDatTim)&\" \"&L$9&\" > Finished!\")","v":true}]
[null,null,null,null,null,null,null,null,null,null,null,{"$f":"RETURN()","v":true}]

{"sheet":"OutData","index":7,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"BugList","index":8,"n_rows":1,"n_cols":1,"rows_kept":1,"cut":false,"hidden":false,"merged":[]}
["Check for duplicate sample name in In1 and In2"]

{"sheet":"WrkInfo","index":9,"n_rows":18,"n_cols":7,"rows_kept":18,"cut":false,"hidden":false,"merged":[]}
["2",null,"Locus","#","InCol","OutCol","Status"]
["3"]
["4"]
["0"]
["5"]
["6"]
["7"]
["8"]
["9"]
["O"]
["L"]
["X"]
["Y"]
["."]
[","]
[";"]
["?"]
["1"]

{"sheet":"WrkTmp","index":10,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}