From 4ab2405016feb04a0ab4725ca2d923a642caccda Mon Sep 17 00:00:00 2001 From: zhizhongpu <84325421+zhizhongpu@users.noreply.github.com> Date: Sat, 28 Feb 2026 09:48:07 -0500 Subject: [PATCH 01/63] #139 bd issue demo --- SConstruct | 10 ++-- output/derived/wb_clean/sconscript.log | 64 +++++++++++++++++++++- sconstruct.log | 3 +- source/derived/wb_clean/build.py | 2 + source/derived/wb_clean/takelogs.do | 2 + source/lib/JMSLab/builders/executables.yml | 2 +- 6 files changed, 73 insertions(+), 10 deletions(-) diff --git a/SConstruct b/SConstruct index 3e378583..37405c68 100644 --- a/SConstruct +++ b/SConstruct @@ -24,8 +24,8 @@ Export('env') jms.start_log('develop', '') SConscript('source/derived/SConscript') -SConscript('source/analysis/SConscript') -SConscript('source/tables/SConscript') -SConscript('source/figures/SConscript') -SConscript('source/paper/SConscript') -SConscript('source/talk/SConscript') +# SConscript('source/analysis/SConscript') +# SConscript('source/tables/SConscript') +# SConscript('source/figures/SConscript') +# SConscript('source/paper/SConscript') +# SConscript('source/talk/SConscript') diff --git a/output/derived/wb_clean/sconscript.log b/output/derived/wb_clean/sconscript.log index fe000c2f..758e6339 100644 --- a/output/derived/wb_clean/sconscript.log +++ b/output/derived/wb_clean/sconscript.log @@ -1,3 +1,61 @@ -*** Builder log created: {2025-08-15 10:50:03} -*** Builder log completed: {2025-08-15 10:50:03} -File 'output/derived/wb_clean/gdp_education.csv' saved successfully. +*** Builder log created: {2026-02-28 09:43:45} +*** Builder log completed: {2026-02-28 09:43:47} + + ___ ____ ____ ____ ____ ® + /__ / ____/ / ____/ StataNow 19.5 +___/ / /___/ / /___/ MP—Parallel Edition + + Statistics and Data Science Copyright 1985-2025 StataCorp LLC + StataCorp + 4905 Lakeway Drive + College Station, Texas 77845 USA + 800-782-8272 https://www.stata.com + 979-696-4600 service@stata.com + +Stata license: Unlimited-user 4-core network, expiring 17 Nov 2026 +Serial number: 501909320365 + Licensed to: HBS User + Harvard Business School + +Notes: + 1. Stata is running in batch mode. + 2. Unicode is supported; see help unicode_advice. + 3. More than 2 billion observations are allowed; see help obs_advice. + 4. Maximum number of variables is set to 5,000 but can be increased; see help + set_maxvar. + + +Running /Users/zpu/bin/profile.do ... + +. do "source/derived/wb_clean/takelogs.do" + +. version 14 + +. set more off + +. preliminaries + +. +. program main + 1. +. display "Hello, world!" + 2. +. import delimited "output/derived/wb_clean/gdp_education.csv", clear + 3. +. gen log_gdp_2010 = log(gdp_2010) + 4. gen log_education_exp_2010 = log(education_exp_2010) + 5. +. export delimited "output/derived/wb_clean/gdp_education_logs.csv" + 6. +. end + +. +. main +Hello, world! +(3 vars, 264 obs) +(12 missing values generated) +(100 missing values generated) +file output/derived/wb_clean/gdp_education_logs.csv saved + +. +end of do-file diff --git a/sconstruct.log b/sconstruct.log index 3e9afe69..adf9c374 100644 --- a/sconstruct.log +++ b/sconstruct.log @@ -1,5 +1,6 @@ -*** New build: {2025-08-15 10:50:03} *** +*** New build: {2026-02-28 09:43:27} *** scons: done reading SConscript files. scons: Building targets ... build_python(["output/derived/wb_clean/gdp_education.csv"], ["source/derived/wb_clean/build.py", "source/lib/SaveData.py", "datastore/raw/world_bank/orig/API_NY.GDP.PCAP.CD_DS2_en_csv_v2_1740213.csv", "datastore/raw/world_bank/orig/API_SE.XPD.TOTL.GD.ZS_DS2_en_csv_v2_1740282.csv"]) +build_stata(["output/derived/wb_clean/gdp_education_logs.csv"], ["source/derived/wb_clean/takelogs.do", "output/derived/wb_clean/gdp_education.csv"]) scons: done building targets. diff --git a/source/derived/wb_clean/build.py b/source/derived/wb_clean/build.py index b0aecfd4..c8500c08 100644 --- a/source/derived/wb_clean/build.py +++ b/source/derived/wb_clean/build.py @@ -1,6 +1,7 @@ import pandas as pd from source.lib.SaveData import SaveData from pathlib import Path +import time def Main(): @@ -39,4 +40,5 @@ def PrepareData(infolder): if __name__ == "__main__": + time.sleep(17) Main() diff --git a/source/derived/wb_clean/takelogs.do b/source/derived/wb_clean/takelogs.do index 43199ac0..5c37b630 100644 --- a/source/derived/wb_clean/takelogs.do +++ b/source/derived/wb_clean/takelogs.do @@ -4,6 +4,8 @@ preliminaries program main + display "Hello, world!" + import delimited "output/derived/wb_clean/gdp_education.csv", clear gen log_gdp_2010 = log(gdp_2010) diff --git a/source/lib/JMSLab/builders/executables.yml b/source/lib/JMSLab/builders/executables.yml index 044fa1bd..a7382e51 100644 --- a/source/lib/JMSLab/builders/executables.yml +++ b/source/lib/JMSLab/builders/executables.yml @@ -4,6 +4,6 @@ lyx: lyx python: python r: Rscript matlab: matlab -stata: StataMP-64 +stata: Statamp sas: sas_en tablefill: '' From 61c6ad405b19eab4066da53aafa0f2d31492fc88 Mon Sep 17 00:00:00 2001 From: zhizhongpu <84325421+zhizhongpu@users.noreply.github.com> Date: Wed, 1 Apr 2026 22:22:55 -0600 Subject: [PATCH 02/63] v2.do bug --- sconstruct.log | 6 +- source/derived/SConscript | 2 +- .../wb_clean/{takelogs.do => takelogs.v2.do} | 0 takelogs.log | 56 +++++++++++++++++++ 4 files changed, 61 insertions(+), 3 deletions(-) rename source/derived/wb_clean/{takelogs.do => takelogs.v2.do} (100%) create mode 100644 takelogs.log diff --git a/sconstruct.log b/sconstruct.log index 3e9afe69..a71f1436 100644 --- a/sconstruct.log +++ b/sconstruct.log @@ -1,5 +1,7 @@ -*** New build: {2025-08-15 10:50:03} *** +*** New build: {2026-04-01 22:21:20} *** scons: done reading SConscript files. scons: Building targets ... build_python(["output/derived/wb_clean/gdp_education.csv"], ["source/derived/wb_clean/build.py", "source/lib/SaveData.py", "datastore/raw/world_bank/orig/API_NY.GDP.PCAP.CD_DS2_en_csv_v2_1740213.csv", "datastore/raw/world_bank/orig/API_SE.XPD.TOTL.GD.ZS_DS2_en_csv_v2_1740282.csv"]) -scons: done building targets. +build_stata(["output/derived/wb_clean/gdp_education_logs.csv"], ["source/derived/wb_clean/takelogs.v2.do", "output/derived/wb_clean/gdp_education.csv"]) +scons: *** [output/derived/wb_clean/gdp_education_logs.csv] takelogs.v2.log: No such file or directory +scons: building terminated because of errors. diff --git a/source/derived/SConscript b/source/derived/SConscript index 965b8556..64d63c7e 100644 --- a/source/derived/SConscript +++ b/source/derived/SConscript @@ -9,6 +9,6 @@ source = ['#source/derived/wb_clean/build.py', env.Python(target, source) target = ['#output/derived/wb_clean/gdp_education_logs.csv'] -source = ['#source/derived/wb_clean/takelogs.do', +source = ['#source/derived/wb_clean/takelogs.v2.do', '#output/derived/wb_clean/gdp_education.csv'] env.Stata(target, source) diff --git a/source/derived/wb_clean/takelogs.do b/source/derived/wb_clean/takelogs.v2.do similarity index 100% rename from source/derived/wb_clean/takelogs.do rename to source/derived/wb_clean/takelogs.v2.do diff --git a/takelogs.log b/takelogs.log new file mode 100644 index 00000000..9b017a0e --- /dev/null +++ b/takelogs.log @@ -0,0 +1,56 @@ + + ___ ____ ____ ____ ____ ® + /__ / ____/ / ____/ StataNow 19.5 +___/ / /___/ / /___/ MP—Parallel Edition + + Statistics and Data Science Copyright 1985-2025 StataCorp LLC + StataCorp + 4905 Lakeway Drive + College Station, Texas 77845 USA + 800-782-8272 https://www.stata.com + 979-696-4600 service@stata.com + +Stata license: Unlimited-user 4-core network, expiring 17 Nov 2026 +Serial number: 501909320365 + Licensed to: HBS User + Harvard Business School + +Notes: + 1. Stata is running in batch mode. + 2. Unicode is supported; see help unicode_advice. + 3. More than 2 billion observations are allowed; see help obs_advice. + 4. Maximum number of variables is set to 5,000 but can be increased; + see help set_maxvar. + + +Running /Users/zpu/bin/profile.do ... + +. do "source/derived/wb_clean/takelogs.v2.do" + +. version 14 + +. set more off + +. preliminaries + +. +. program main + 1. +. import delimited "output/derived/wb_clean/gdp_education.csv", clear + 2. +. gen log_gdp_2010 = log(gdp_2010) + 3. gen log_education_exp_2010 = log(education_exp_2010) + 4. +. export delimited "output/derived/wb_clean/gdp_education_logs.csv" + 5. +. end + +. +. main +(3 vars, 264 obs) +(12 missing values generated) +(100 missing values generated) +file output/derived/wb_clean/gdp_education_logs.csv saved + +. +end of do-file From e586b83dc98a065d027772f815d4fb54733cc0d2 Mon Sep 17 00:00:00 2001 From: zhizhongpu <84325421+zhizhongpu@users.noreply.github.com> Date: Wed, 1 Apr 2026 22:23:27 -0600 Subject: [PATCH 03/63] revert v2 bug source --- source/derived/SConscript | 2 +- source/derived/wb_clean/{takelogs.v2.do => takelogs.do} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename source/derived/wb_clean/{takelogs.v2.do => takelogs.do} (100%) diff --git a/source/derived/SConscript b/source/derived/SConscript index 64d63c7e..965b8556 100644 --- a/source/derived/SConscript +++ b/source/derived/SConscript @@ -9,6 +9,6 @@ source = ['#source/derived/wb_clean/build.py', env.Python(target, source) target = ['#output/derived/wb_clean/gdp_education_logs.csv'] -source = ['#source/derived/wb_clean/takelogs.v2.do', +source = ['#source/derived/wb_clean/takelogs.do', '#output/derived/wb_clean/gdp_education.csv'] env.Stata(target, source) diff --git a/source/derived/wb_clean/takelogs.v2.do b/source/derived/wb_clean/takelogs.do similarity index 100% rename from source/derived/wb_clean/takelogs.v2.do rename to source/derived/wb_clean/takelogs.do From 6ce5c6441652afb67173eac0f6b75c84e94f9ed6 Mon Sep 17 00:00:00 2001 From: zhizhongpu <84325421+zhizhongpu@users.noreply.github.com> Date: Wed, 1 Apr 2026 22:28:21 -0600 Subject: [PATCH 04/63] scons don't break bug upon stata error --- .sconsign.dblite | Bin 29177 -> 29316 bytes output/analysis/plots/gdp_educ.eps | 4 +- output/analysis/plots/sconscript.log | 9 +++- output/derived/wb_clean/sconscript.log | 66 +++++++++++++++++++++++-- output/paper/sconscript.log | 6 +-- output/talk/TemplateSlidesLatex.log | 6 +-- output/talk/sconscript.log | 6 +-- sconstruct.log | 17 +++++-- source/derived/wb_clean/takelogs.do | 3 ++ takelogs.log | 56 --------------------- 10 files changed, 96 insertions(+), 77 deletions(-) delete mode 100644 takelogs.log diff --git a/.sconsign.dblite b/.sconsign.dblite index 63381820ea151693d2847e533b1f39e4dfcec6fb..931adf81e225c4cb6cb5b650280f2047ac2a579a 100644 GIT binary patch delta 1455 zcmbVMU27dh81A0ziAhXqlA3dlX<|Orv^hE1+46H$CxIX zR8goX2K;CQ$sAEZXm9!hbg30YFe>)OV$oiRtsrVIEG1Ty`UR~syNTdc#l6^F=AGwx zpXZ%--ao!K7S0>#XU*51di?G5X2X21FDgaQ*kzh@&(Hhi;q*f4vCFcd5>)+`TDMN^ zyBLjBHW~v2GZ6p*T!&Z~I+pDs8#Bm(g97R>US6!8FHQS%^X~L)dF1R*r%H?FTbLB(jo^V4*R5YgguJ*EdQEiLP)zuhDu`aA1tJX^j zd8QzjyRe+U;fG$wM$981uvuU+4*<-mk07K-cvO{+YN=Oa)Tr#ZFDGlq^YUcrZmwu_Ds#M#VgOO#6BkgIg8)K+piKh`fp6KA`Wme_D`O{T<@nBQ^jBu@ zs_BPwuT;GHUdec~3?Py2y9Y)o=s_tQCbf0|kfxG0_8(%i{f(%=HjgqHZ z&aCa|l1CoQMjyA18x`ZHCuFwGi@(pby;!ANQ8j`kk4#L;srGIih?d$97#dNotV zkjCVmm@GPb+t!L$Nk{KsLgDrfBtJ)cZ;z4RsE9^Jt@)ghXP)o`_XNWf1%ZXJMF{~e zhJbQP0!vpjbxBucQ)z#(%eAUt4z0qt!= lqVTI|X=`(#c+E-muR*D2)>=QGXbhX<=@Y-_3gv@^zX2qN08jt` delta 1394 zcmbVMU1%Id9PeH>H5X|u+|o$f)$m;m--rf6~u>7geYl+g0Vhm&=++-QpG35hh3Q6|L^NR zGyl`KwBOdW`UU;XA7A>kewU^{jQgenqCKtaE6=BWI8%Q*b>}#=ZZ#T?rnYPe>)fEc zwM~Omx;J|^ePX&Q=T5lQ*;;v>-c)Dxx#`zrtx|%;drs<$2QK^2)$kS!rGHNrBaQt< z$*CtjMX557=PFL6%Q&&Psj?{`+N1Q!|~O{MR9EMDCjfF~SWJ zBUTG5N}8V;PtALN%fPAH$y&eP?%N?gLO^xf2F$cK!`kDm@Qd3F7n@d_qD*&9cBi0a zyaz5d7s9d@_&!^LKbmhA4O2J-d(!kA!!(sAgrN}f6gQaRc$7!}_P+w5zwsAg;ovCj zZmSL=L=-U*M+hsAg%BHA*fwm+IinoW2z2LoV-#vYgs2QGKUIv7{kCunhPf#OA&6sY zyTVk2Gt)AJjf}V*crxt=%WXfWqOG{z@ueP7!MV=Q22Dl`#gWNu?1oAd8_c7~wXvxf zmNM3T{h3(zhnZj|^RlK#`vkYU&eeq>f>*b1+x+rIc0!NZ7Tm}_qUo2St;=!NOv1G3In5KXJ{`wT0@8g>#;~&HN;S99q*OEWK<|qDEUd>u?s<4qxtW=J)ZF<=b zpWOdM94DxIU`DG8Ibr_6GwDs$P7OZV@oe&6^^exYKCeAAyh&U+0v8(F;ohD?Llh;< zn1_Q??Xb6)kD2`9aDx4y*rg2;V!4)7oCt&zro_ZZB1tGSJxLI?qWwJ|)08JR;5#)6 zs1(PAL#2cV7E2>Z?^jCS6m7w|q$Vbwuo$C^gy+oR%yuabPXc2R-(td-3BKLEC+>1k zFvc|9YU!Q|W--#P!*pOcMND}!QjgLlUAG|$$ERks%St@#zcnUMav^iGT5SB}9)=Z2J?3H-g;0Y^n0EBkLc7FdANWXUvs0KO4`d_&ryu H&6oZJf3w@_ diff --git a/output/analysis/plots/gdp_educ.eps b/output/analysis/plots/gdp_educ.eps index 28ccec66..fedce8d9 100644 --- a/output/analysis/plots/gdp_educ.eps +++ b/output/analysis/plots/gdp_educ.eps @@ -1,7 +1,7 @@ %!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (MATLAB, The Mathworks, Inc. Version 24.1.0.2628055 \(R2024a\) Update 4. Operating System: Mac OS X) +%%Creator: (MATLAB, The Mathworks, Inc. Version 24.2.0.3157250 \(R2024b\) Update 8. Operating System: Mac OS X) %%Title: output/analysis/plots/gdp_educ.eps -%%CreationDate: 2025-04-23T17:27:14 +%%CreationDate: 2026-04-01T22:26:38 %%Pages: (atend) %%BoundingBox: 45 18 510 393 %%LanguageLevel: 3 diff --git a/output/analysis/plots/sconscript.log b/output/analysis/plots/sconscript.log index 76afbc38..d41aa660 100644 --- a/output/analysis/plots/sconscript.log +++ b/output/analysis/plots/sconscript.log @@ -1,2 +1,7 @@ -*** Builder log created: {2025-06-20 15:11:46} -*** Builder log completed: {2025-06-20 15:11:47} +*** Builder log created: {2026-04-01 22:26:22} +*** Builder log completed: {2026-04-01 22:26:39} + +rc = + + 0 + diff --git a/output/derived/wb_clean/sconscript.log b/output/derived/wb_clean/sconscript.log index fe000c2f..dafc4826 100644 --- a/output/derived/wb_clean/sconscript.log +++ b/output/derived/wb_clean/sconscript.log @@ -1,3 +1,63 @@ -*** Builder log created: {2025-08-15 10:50:03} -*** Builder log completed: {2025-08-15 10:50:03} -File 'output/derived/wb_clean/gdp_education.csv' saved successfully. +*** Builder log created: {2026-04-01 22:26:19} +*** Builder log completed: {2026-04-01 22:26:20} + + ___ ____ ____ ____ ____ ® + /__ / ____/ / ____/ StataNow 19.5 +___/ / /___/ / /___/ MP—Parallel Edition + + Statistics and Data Science Copyright 1985-2025 StataCorp LLC + StataCorp + 4905 Lakeway Drive + College Station, Texas 77845 USA + 800-782-8272 https://www.stata.com + 979-696-4600 service@stata.com + +Stata license: Unlimited-user 4-core network, expiring 17 Nov 2026 +Serial number: 501909320365 + Licensed to: HBS User + Harvard Business School + +Notes: + 1. Stata is running in batch mode. + 2. Unicode is supported; see help unicode_advice. + 3. More than 2 billion observations are allowed; see help obs_advice. + 4. Maximum number of variables is set to 5,000 but can be increased; + see help set_maxvar. + + +Running /Users/zpu/bin/profile.do ... + +. do "source/derived/wb_clean/takelogs.do" + +. version 14 + +. set more off + +. preliminaries + +. +. program main + 1. +. import delimited "output/derived/wb_clean/gdp_education.csv", clear + 2. +. gen log_gdp_2010 = log(gdp_2010) + 3. gen log_education_exp_2010 = log(education_exp_2010) + 4. +. export delimited "output/derived/wb_clean/gdp_education_logs.csv" + 5. +. gl x 100 + 6. assert $x < 0 + 7. +. end + +. +. main +(3 vars, 264 obs) +(12 missing values generated) +(100 missing values generated) +file output/derived/wb_clean/gdp_education_logs.csv saved +assertion is false +r(9); + +end of do-file +r(9); diff --git a/output/paper/sconscript.log b/output/paper/sconscript.log index ad9fcbcf..9fcea44f 100644 --- a/output/paper/sconscript.log +++ b/output/paper/sconscript.log @@ -1,5 +1,5 @@ -*** Builder log created: {2025-08-15 00:41:51} -*** Builder log completed: {2025-08-15 00:41:59} +*** Builder log created: {2026-04-01 22:26:43} +*** Builder log completed: {2026-04-01 22:26:50} This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode @@ -139,5 +139,5 @@ st/fonts/type1/public/amsfonts/cm/cmr17.pfb> -Output written on output/paper/TemplateTex.pdf (3 pages, 177431 bytes). +Output written on output/paper/TemplateTex.pdf (3 pages, 177432 bytes). Transcript written on output/paper/TemplateTex.log. diff --git a/output/talk/TemplateSlidesLatex.log b/output/talk/TemplateSlidesLatex.log index d1baf7fa..55b0eafa 100644 --- a/output/talk/TemplateSlidesLatex.log +++ b/output/talk/TemplateSlidesLatex.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=pdflatex 2024.7.3) 23 APR 2025 17:27 +This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=pdflatex 2024.4.16) 1 APR 2026 22:27 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -945,7 +945,7 @@ Package rerunfilecheck Info: File `output/talk/TemplateSlidesLatex.out' has not ) Here is how much of TeX's memory you used: 21645 strings out of 474116 - 418250 string characters out of 5743683 + 418250 string characters out of 5743682 1933187 words of memory out of 5000000 43541 multiletter control sequences out of 15000+600000 568613 words of font info for 74 fonts, out of 8000000 for 9000 @@ -956,7 +956,7 @@ Here is how much of TeX's memory you used: -Output written on output/talk/TemplateSlidesLatex.pdf (4 pages, 134896 bytes). +Output written on output/talk/TemplateSlidesLatex.pdf (4 pages, 134866 bytes). PDF statistics: 148 PDF objects out of 1000 (max. 8388607) 125 compressed objects within 2 object streams diff --git a/output/talk/sconscript.log b/output/talk/sconscript.log index e032578a..01e175d1 100644 --- a/output/talk/sconscript.log +++ b/output/talk/sconscript.log @@ -1,5 +1,5 @@ -*** Builder log created: {2025-04-23 17:27:31} -*** Builder log completed: {2025-04-23 17:27:36} +*** Builder log created: {2026-04-01 22:26:57} +*** Builder log completed: {2026-04-01 22:27:02} This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode @@ -228,5 +228,5 @@ nts/type1/public/amsfonts/cm/cmss10.pfb> -Output written on output/talk/TemplateSlidesLatex.pdf (4 pages, 134896 bytes). +Output written on output/talk/TemplateSlidesLatex.pdf (4 pages, 134866 bytes). Transcript written on output/talk/TemplateSlidesLatex.log. diff --git a/sconstruct.log b/sconstruct.log index a71f1436..03c93742 100644 --- a/sconstruct.log +++ b/sconstruct.log @@ -1,7 +1,14 @@ -*** New build: {2026-04-01 22:21:20} *** +*** New build: {2026-04-01 22:26:19} *** scons: done reading SConscript files. scons: Building targets ... -build_python(["output/derived/wb_clean/gdp_education.csv"], ["source/derived/wb_clean/build.py", "source/lib/SaveData.py", "datastore/raw/world_bank/orig/API_NY.GDP.PCAP.CD_DS2_en_csv_v2_1740213.csv", "datastore/raw/world_bank/orig/API_SE.XPD.TOTL.GD.ZS_DS2_en_csv_v2_1740282.csv"]) -build_stata(["output/derived/wb_clean/gdp_education_logs.csv"], ["source/derived/wb_clean/takelogs.v2.do", "output/derived/wb_clean/gdp_education.csv"]) -scons: *** [output/derived/wb_clean/gdp_education_logs.csv] takelogs.v2.log: No such file or directory -scons: building terminated because of errors. +build_stata(["output/derived/wb_clean/gdp_education_logs.csv"], ["source/derived/wb_clean/takelogs.do", "output/derived/wb_clean/gdp_education.csv"]) +build_python(["output/analysis/plots/educ_gdp.eps", "output/analysis/plots/educ_gdp.png"], ["source/analysis/plots/makeplot.py", "output/derived/wb_clean/gdp_education_logs.csv"]) +build_matlab(["output/analysis/plots/sconscript.log", "output/analysis/plots/gdp_educ.eps", "output/analysis/plots/gdp_educ.png"], ["source/analysis/plots/makeplot.m", "output/derived/wb_clean/gdp_education_logs.csv"]) +build_lyx(["output/paper/TemplateLyx.pdf"], ["source/paper/Template.lyx", "output/tables/top_gdp.lyx", "output/analysis/top_gdp/top_gdp.tex", "source/figures/gdp_educ.lyx", "source/paper/References.bib"]) +build_latex(["output/paper/TemplateTex.pdf"], ["source/paper/Template.tex", "output/tables/top_gdp.tex", "output/analysis/top_gdp/top_gdp.tex", "source/figures/gdp_educ.tex", "source/paper/References.bib"]) +Detected 2 bibliographies in source/paper/Template.tex. +Run BibTeX foroutput/paper/TemplateTex.1.aux +Run BibTeX foroutput/paper/TemplateTex.2.aux +build_lyx(["output/talk/TemplateSlides.pdf", "temp/Template.handout.pdf"], ["source/talk/TemplateSlides.lyx", "output/analysis/plots/gdp_educ.eps"]) +build_latex(["output/talk/TemplateSlidesLatex.pdf", "temp/TemplateLatex.handout.pdf"], ["source/talk/TemplateSlides.tex", "output/analysis/plots/gdp_educ.eps"]) +scons: done building targets. diff --git a/source/derived/wb_clean/takelogs.do b/source/derived/wb_clean/takelogs.do index 43199ac0..43d6ec16 100644 --- a/source/derived/wb_clean/takelogs.do +++ b/source/derived/wb_clean/takelogs.do @@ -11,6 +11,9 @@ program main export delimited "output/derived/wb_clean/gdp_education_logs.csv" + gl x 100 + assert $x < 0 + end main diff --git a/takelogs.log b/takelogs.log deleted file mode 100644 index 9b017a0e..00000000 --- a/takelogs.log +++ /dev/null @@ -1,56 +0,0 @@ - - ___ ____ ____ ____ ____ ® - /__ / ____/ / ____/ StataNow 19.5 -___/ / /___/ / /___/ MP—Parallel Edition - - Statistics and Data Science Copyright 1985-2025 StataCorp LLC - StataCorp - 4905 Lakeway Drive - College Station, Texas 77845 USA - 800-782-8272 https://www.stata.com - 979-696-4600 service@stata.com - -Stata license: Unlimited-user 4-core network, expiring 17 Nov 2026 -Serial number: 501909320365 - Licensed to: HBS User - Harvard Business School - -Notes: - 1. Stata is running in batch mode. - 2. Unicode is supported; see help unicode_advice. - 3. More than 2 billion observations are allowed; see help obs_advice. - 4. Maximum number of variables is set to 5,000 but can be increased; - see help set_maxvar. - - -Running /Users/zpu/bin/profile.do ... - -. do "source/derived/wb_clean/takelogs.v2.do" - -. version 14 - -. set more off - -. preliminaries - -. -. program main - 1. -. import delimited "output/derived/wb_clean/gdp_education.csv", clear - 2. -. gen log_gdp_2010 = log(gdp_2010) - 3. gen log_education_exp_2010 = log(education_exp_2010) - 4. -. export delimited "output/derived/wb_clean/gdp_education_logs.csv" - 5. -. end - -. -. main -(3 vars, 264 obs) -(12 missing values generated) -(100 missing values generated) -file output/derived/wb_clean/gdp_education_logs.csv saved - -. -end of do-file From e4f39ae269c1aa38ff07feeb0a990255ce691514 Mon Sep 17 00:00:00 2001 From: Chris Liao <33707455+liaochris@users.noreply.github.com> Date: Mon, 6 Apr 2026 18:35:42 -0400 Subject: [PATCH 05/63] proposed fix --- source/lib/JMSLab/builders/build_stata.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/lib/JMSLab/builders/build_stata.py b/source/lib/JMSLab/builders/build_stata.py index 6602791e..52d81818 100644 --- a/source/lib/JMSLab/builders/build_stata.py +++ b/source/lib/JMSLab/builders/build_stata.py @@ -2,10 +2,10 @@ import shutil import sys import os +import re from .jmslab_builder import JMSLabBuilder from .._exception_classes import PrerequisiteError -from .. import misc def build_stata(target, source, env): @@ -73,9 +73,11 @@ def add_call_args(self): self.call_args = args return None - def execute_system_call(self): - ''' - ''' - super(StataBuilder, self).execute_system_call() + def do_call(self): + super(StataBuilder, self).do_call() shutil.move(self.log_file, self.final_sconscript_log) - return None + self.log_file = self.final_sconscript_log + with open(self.log_file) as f: + log = f.read() + if re.search(r'\br\([1-9]\d*\);', log): + self.raise_system_call_exception() From 1952c113bba27b8452b3a853b3cd4e758d51ad62 Mon Sep 17 00:00:00 2001 From: zhizhongpu <84325421+zhizhongpu@users.noreply.github.com> Date: Mon, 6 Apr 2026 18:58:58 -0400 Subject: [PATCH 06/63] #149 bd test raising stata error --- .sconsign.dblite | Bin 29316 -> 29349 bytes output/analysis/plots/educ_gdp.eps | 2099 -------------------- output/analysis/plots/gdp_educ.eps | 1919 ------------------ output/analysis/plots/sconscript.log | 7 - output/analysis/top_gdp/sconscript.log | 2 - output/analysis/top_gdp/top_gdp.tex | 1 - output/analysis/top_gdp/top_gdp.txt | 6 - output/derived/wb_clean/sconscript.log | 7 +- output/tables/top_gdp.lyx | 271 --- sconstruct.log | 29 +- source/lib/JMSLab/builders/executables.yml | 2 +- 11 files changed, 24 insertions(+), 4319 deletions(-) delete mode 100644 output/analysis/plots/educ_gdp.eps delete mode 100644 output/analysis/plots/gdp_educ.eps delete mode 100644 output/analysis/plots/sconscript.log delete mode 100644 output/analysis/top_gdp/sconscript.log delete mode 100644 output/analysis/top_gdp/top_gdp.tex delete mode 100644 output/analysis/top_gdp/top_gdp.txt delete mode 100644 output/tables/top_gdp.lyx diff --git a/.sconsign.dblite b/.sconsign.dblite index 931adf81e225c4cb6cb5b650280f2047ac2a579a..9a183d4feb669a8e768365d0b8bd259159941c2b 100644 GIT binary patch delta 90 zcmZp9%DD6?BTECz)L9!@v>BN-1+Q#2VvJy8F0{NdxtG12S#0CE&EgzRj2w2X3=BYJ s#*-5{Z-7N@xMneNZm_(PnIY!;RC98Gug7F{UfanVq|7!~@^YsF091G$7ytkO delta 83 zcmZ4bl(FS0BTECz)XI%4+KkLQbT@A{VvJy8zWx5}inb71! h&KqD+8?ISQle>8NCzty=O;+c%Wy&zy+|DbP3INTe8{Pl_ diff --git a/output/analysis/plots/educ_gdp.eps b/output/analysis/plots/educ_gdp.eps deleted file mode 100644 index 78527383..00000000 --- a/output/analysis/plots/educ_gdp.eps +++ /dev/null @@ -1,2099 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%LanguageLevel: 3 -%%Title: educ_gdp.eps -%%Creator: Matplotlib, https://matplotlib.org/ -%%Orientation: portrait -%%BoundingBox: 0 0 461 346 -%%HiResBoundingBox: 0.000000 0.000000 460.800000 345.600000 -%%EndComments -%%BeginProlog -/mpldict 9 dict def -mpldict begin -/_d { bind def } bind def -/m { moveto } _d -/l { lineto } _d -/r { rlineto } _d -/c { curveto } _d -/cl { closepath } _d -/ce { closepath eofill } _d -/sc { setcachedevice } _d -%!PS-Adobe-3.0 Resource-Font -%%Creator: Converted from TrueType to Type 3 by Matplotlib. -10 dict begin -/FontName /TimesNewRomanPSMT def -/PaintType 0 def -/FontMatrix [0.00048828125 0 0 0.00048828125 0 0] def -/FontBBox [-1164 -628 4096 2062] def -/FontType 3 def -/Encoding [/space /dollar /percent /parenleft /parenright /period /zero /one /two /five /six /seven /eight /nine /D /E /G /L /P /S /T /U /a /c /d /e /f /g /i /l /m /n /o /p /r /t /u /v /x] def -/CharStrings 40 dict dup begin -/.notdef 0 def -/space{512 0 0 0 0 0 sc -ce} _d -/dollar{1024 0 108 -156 921 1470 sc -108 334 m -152 334 l -159 243 188 173 238 124 c -288 75 363 46 462 37 c -462 621 l -312 714 212 796 162 867 c -127 918 109 979 109 1052 c -109 1134 139 1206 200 1267 c -261 1328 349 1365 462 1378 c -462 1470 l -526 1470 l -526 1378 l -581 1375 627 1368 664 1359 c -683 1354 747 1331 856 1290 c -856 991 l -817 991 l -808 1097 781 1174 734 1223 c -688 1272 619 1302 526 1311 c -526 803 l -694 686 802 599 849 543 c -897 488 921 419 921 336 c -921 244 886 163 816 93 c -747 23 650 -17 526 -28 c -526 -156 l -462 -156 l -462 -28 l -399 -25 341 -18 287 -6 c -233 5 173 24 108 51 c -108 334 l - -462 845 m -462 1310 l -395 1302 346 1281 313 1246 c -281 1212 265 1169 265 1117 c -265 1068 280 1023 309 980 c -338 938 389 893 462 845 c - -526 37 m -576 46 614 58 641 74 c -678 97 708 128 729 165 c -751 203 762 243 762 286 c -762 330 749 372 722 411 c -696 450 631 506 526 578 c -526 37 l - -ce} _d -/percent{1706 0 72 -56 1635 1387 sc -1392 1387 m -404 -56 l -315 -56 l -1303 1387 l -1392 1387 l - -364 1387 m -454 1387 524 1350 573 1275 c -623 1200 648 1115 648 1018 c -648 902 620 812 564 749 c -508 686 441 654 362 654 c -309 654 261 668 217 697 c -173 726 138 770 111 827 c -85 884 72 948 72 1018 c -72 1088 85 1152 112 1211 c -139 1270 175 1314 221 1343 c -268 1372 315 1387 364 1387 c - -361 1331 m -327 1331 297 1311 270 1271 c -244 1231 231 1147 231 1019 c -231 926 238 856 253 807 c -264 770 282 742 306 722 c -320 710 337 704 358 704 c -390 704 417 721 440 756 c -473 807 490 893 490 1013 c -490 1140 474 1229 441 1280 c -420 1314 393 1331 361 1331 c - -1346 673 m -1393 673 1440 658 1487 628 c -1534 598 1571 554 1596 497 c -1622 440 1635 377 1635 308 c -1635 190 1607 100 1550 37 c -1493 -25 1426 -56 1349 -56 c -1300 -56 1253 -41 1207 -11 c -1162 19 1126 62 1099 117 c -1073 173 1060 237 1060 308 c -1060 378 1073 442 1099 500 c -1126 558 1162 601 1207 630 c -1253 659 1299 673 1346 673 c - -1347 620 m -1315 620 1287 602 1264 566 c -1234 519 1219 431 1219 301 c -1219 182 1234 98 1265 51 c -1288 17 1315 0 1347 0 c -1378 0 1405 18 1429 55 c -1461 104 1477 187 1477 306 c -1477 431 1461 519 1429 569 c -1407 603 1380 620 1347 620 c - -ce} _d -/parenleft{682 0 84 -438 636 1422 sc -636 -401 m -636 -438 l -535 -387 451 -328 384 -260 c -288 -163 214 -49 162 82 c -110 213 84 350 84 491 c -84 698 135 886 237 1056 c -339 1227 472 1349 636 1422 c -636 1380 l -554 1335 487 1273 434 1194 c -381 1115 342 1016 316 895 c -290 774 277 648 277 517 c -277 374 288 245 310 128 c -327 36 348 -38 373 -93 c -398 -149 431 -203 472 -254 c -514 -305 569 -354 636 -401 c - -ce} _d -/parenright{682 0 46 -438 598 1422 sc -46 1380 m -46 1422 l -147 1372 232 1313 299 1245 c -394 1148 468 1033 520 902 c -572 771 598 635 598 493 c -598 286 547 98 445 -72 c -344 -243 211 -365 46 -438 c -46 -401 l -128 -355 195 -293 248 -214 c -301 -136 341 -37 366 84 c -392 205 405 332 405 463 c -405 605 394 735 372 852 c -355 944 334 1018 309 1073 c -284 1128 251 1182 210 1233 c -169 1284 114 1333 46 1380 c - -ce} _d -/period{512 0 145 -28 367 194 sc -256 194 m -287 194 314 183 335 161 c -356 140 367 114 367 83 c -367 52 356 26 334 4 c -313 -17 287 -28 256 -28 c -225 -28 199 -17 177 4 c -156 26 145 52 145 83 c -145 114 156 141 177 162 c -199 183 225 194 256 194 c - -ce} _d -/zero{1024 0 74 -24 951 1384 sc -74 670 m -74 825 97 958 144 1069 c -191 1181 253 1264 330 1319 c -390 1362 452 1384 516 1384 c -620 1384 713 1331 796 1225 c -899 1094 951 916 951 691 c -951 534 928 400 883 290 c -838 180 780 100 709 50 c -639 1 571 -24 506 -24 c -377 -24 269 52 183 205 c -110 334 74 489 74 670 c - -270 645 m -270 458 293 306 339 188 c -377 89 434 39 509 39 c -545 39 582 55 621 87 c -660 120 689 174 709 250 c -740 365 755 526 755 735 c -755 890 739 1019 707 1122 c -683 1199 652 1253 614 1285 c -587 1307 554 1318 515 1318 c -470 1318 429 1298 394 1257 c -346 1202 313 1115 296 996 c -279 877 270 760 270 645 c - -ce} _d -/one{1024 0 240 0 774 1384 sc -240 1223 m -570 1384 l -603 1384 l -603 239 l -603 163 606 116 612 97 c -619 78 632 64 652 54 c -672 44 713 38 774 37 c -774 0 l -264 0 l -264 37 l -328 38 369 44 388 53 c -407 63 420 76 427 92 c -434 109 438 158 438 239 c -438 971 l -438 1070 435 1133 428 1161 c -423 1182 415 1198 402 1208 c -390 1218 375 1223 358 1223 c -333 1223 299 1213 255 1192 c -240 1223 l - -ce} _d -/two{1024 0 44 0 939 1384 sc -939 261 m -844 0 l -44 0 l -44 37 l -279 252 445 427 541 563 c -637 699 685 823 685 936 c -685 1022 659 1093 606 1148 c -553 1203 490 1231 417 1231 c -350 1231 290 1211 237 1172 c -184 1133 145 1076 120 1001 c -83 1001 l -100 1124 142 1219 211 1285 c -280 1351 367 1384 470 1384 c -580 1384 672 1349 745 1278 c -819 1207 856 1124 856 1028 c -856 959 840 891 808 822 c -759 714 679 600 568 479 c -402 298 298 188 257 151 c -611 151 l -683 151 733 154 762 159 c -791 164 818 175 841 191 c -864 208 885 231 902 261 c -939 261 l - -ce} _d -/five{1024 0 98 -24 889 1356 sc -889 1356 m -811 1186 l -403 1186 l -314 1004 l -491 978 631 912 734 807 c -823 716 867 610 867 487 c -867 416 852 350 823 289 c -794 228 758 177 714 134 c -670 91 621 57 567 31 c -490 -6 412 -24 331 -24 c -250 -24 190 -10 153 17 c -116 45 98 76 98 109 c -98 128 106 144 121 158 c -136 173 156 180 179 180 c -196 180 211 177 224 172 c -237 167 260 153 291 131 c -341 96 392 79 443 79 c -521 79 589 108 648 167 c -707 226 737 298 737 383 c -737 465 711 541 658 612 c -605 683 533 738 440 777 c -367 807 268 824 143 829 c -403 1356 l -889 1356 l - -ce} _d -/six{1024 0 88 -24 945 1384 sc -918 1384 m -918 1347 l -830 1338 758 1321 702 1294 c -647 1268 592 1228 537 1174 c -483 1120 438 1060 402 993 c -367 927 337 848 313 757 c -409 823 505 856 602 856 c -695 856 775 819 843 744 c -911 669 945 573 945 456 c -945 343 911 239 842 146 c -759 33 650 -24 514 -24 c -421 -24 343 7 278 68 c -151 187 88 342 88 532 c -88 653 112 769 161 878 c -210 987 279 1084 369 1169 c -460 1254 546 1311 629 1340 c -712 1369 789 1384 860 1384 c -918 1384 l - -296 684 m -284 594 278 521 278 466 c -278 402 290 332 313 257 c -337 182 372 123 419 79 c -453 48 494 32 543 32 c -601 32 653 59 698 114 c -744 169 767 247 767 348 c -767 462 744 561 699 644 c -654 727 589 769 506 769 c -481 769 453 764 424 753 c -395 742 353 719 296 684 c - -ce} _d -/seven{1024 0 76 -28 933 1356 sc -206 1356 m -933 1356 l -933 1318 l -481 -28 l -369 -28 l -774 1193 l -401 1193 l -326 1193 272 1184 240 1166 c -184 1135 139 1088 105 1024 c -76 1035 l -206 1356 l - -ce} _d -/eight{1024 0 124 -24 906 1384 sc -393 683 m -286 771 216 842 185 895 c -154 948 139 1004 139 1061 c -139 1149 173 1225 241 1288 c -309 1352 399 1384 512 1384 c -621 1384 709 1354 776 1295 c -843 1236 876 1168 876 1092 c -876 1041 858 990 822 937 c -786 884 711 822 597 751 c -714 660 792 589 830 537 c -881 469 906 397 906 322 c -906 227 870 145 797 77 c -724 10 629 -24 511 -24 c -382 -24 282 16 210 97 c -153 162 124 232 124 309 c -124 369 144 428 184 487 c -225 546 294 612 393 683 c - -550 790 m -630 862 681 919 702 960 c -723 1002 734 1049 734 1102 c -734 1172 714 1227 675 1266 c -636 1306 582 1326 514 1326 c -446 1326 391 1306 348 1267 c -305 1228 284 1182 284 1129 c -284 1094 293 1060 310 1025 c -328 990 353 957 386 926 c -550 790 l - -440 645 m -385 598 344 547 317 492 c -290 437 277 378 277 314 c -277 228 300 159 347 107 c -394 56 454 30 527 30 c -599 30 657 50 700 91 c -743 132 765 181 765 239 c -765 287 752 330 727 368 c -680 439 584 531 440 645 c - -ce} _d -/nine{1024 0 81 -28 936 1384 sc -108 -28 m -108 9 l -195 10 275 30 350 69 c -425 108 497 177 566 274 c -636 371 685 478 712 595 c -607 528 513 494 428 494 c -333 494 251 531 183 604 c -115 678 81 776 81 898 c -81 1017 115 1122 183 1215 c -265 1328 372 1384 504 1384 c -615 1384 711 1338 790 1246 c -887 1132 936 991 936 824 c -936 673 899 533 825 402 c -751 272 648 164 516 78 c -409 7 292 -28 165 -28 c -108 -28 l - -728 669 m -740 756 746 825 746 877 c -746 942 735 1011 713 1086 c -691 1161 660 1219 619 1259 c -579 1299 533 1319 482 1319 c -423 1319 371 1292 326 1239 c -281 1186 259 1106 259 1001 c -259 860 289 750 348 671 c -391 614 445 585 508 585 c -539 585 575 592 617 607 c -659 622 696 642 728 669 c - -ce} _d -/D{1479 0 35 0 1401 1356 sc -35 0 m -35 37 l -86 37 l -143 37 184 55 208 92 c -223 114 230 163 230 240 c -230 1116 l -230 1201 221 1254 202 1275 c -176 1304 137 1319 86 1319 c -35 1319 l -35 1356 l -587 1356 l -790 1356 944 1333 1049 1287 c -1155 1241 1240 1164 1304 1057 c -1369 950 1401 826 1401 685 c -1401 496 1344 339 1229 212 c -1100 71 904 0 641 0 c -35 0 l - -422 98 m -507 79 578 70 635 70 c -790 70 918 124 1020 233 c -1122 342 1173 489 1173 675 c -1173 862 1122 1010 1020 1118 c -918 1226 787 1280 627 1280 c -567 1280 499 1270 422 1251 c -422 98 l - -ce} _d -/E{1251 0 42 0 1204 1356 sc -428 1282 m -428 746 l -726 746 l -803 746 855 758 881 781 c -916 812 935 866 939 943 c -976 943 l -976 471 l -939 471 l -930 537 920 579 911 598 c -899 621 879 640 852 653 c -825 666 783 673 726 673 c -428 673 l -428 226 l -428 166 431 129 436 116 c -441 103 451 93 464 85 c -477 78 503 74 540 74 c -770 74 l -847 74 902 79 937 90 c -972 101 1005 122 1037 153 c -1078 194 1121 257 1164 340 c -1204 340 l -1087 0 l -42 0 l -42 37 l -90 37 l -122 37 152 45 181 60 c -202 71 217 87 224 108 c -232 129 236 173 236 239 c -236 1120 l -236 1206 227 1259 210 1279 c -186 1306 146 1319 90 1319 c -42 1319 l -42 1356 l -1087 1356 l -1102 1059 l -1063 1059 l -1049 1130 1033 1179 1016 1206 c -999 1233 974 1253 941 1267 c -914 1277 867 1282 800 1282 c -428 1282 l - -ce} _d -/G{1479 0 72 -31 1450 1387 sc -1257 1387 m -1292 959 l -1257 959 l -1222 1066 1176 1146 1120 1200 c -1039 1278 936 1317 809 1317 c -636 1317 505 1249 415 1112 c -340 997 302 859 302 700 c -302 571 327 453 377 346 c -427 239 492 161 573 111 c -654 62 738 37 823 37 c -873 37 921 43 968 56 c -1015 69 1060 87 1103 112 c -1103 504 l -1103 572 1098 616 1087 637 c -1077 658 1061 674 1039 685 c -1018 696 980 702 925 702 c -925 740 l -1450 740 l -1450 702 l -1425 702 l -1373 702 1337 685 1318 650 c -1305 625 1298 577 1298 504 c -1298 89 l -1221 48 1146 17 1071 -2 c -996 -21 913 -31 822 -31 c -560 -31 361 53 225 221 c -123 347 72 492 72 657 c -72 776 101 891 158 1000 c -226 1130 319 1230 438 1300 c -537 1358 655 1387 790 1387 c -839 1387 884 1383 924 1375 c -965 1367 1022 1349 1096 1322 c -1133 1308 1158 1301 1171 1301 c -1184 1301 1194 1307 1203 1318 c -1212 1330 1218 1353 1220 1387 c -1257 1387 l - -ce} _d -/L{1251 0 41 0 1207 1356 sc -1174 375 m -1207 368 l -1091 0 l -41 0 l -41 37 l -92 37 l -149 37 190 56 215 93 c -229 114 236 164 236 241 c -236 1116 l -236 1201 227 1254 208 1275 c -182 1304 143 1319 92 1319 c -41 1319 l -41 1356 l -655 1356 l -655 1319 l -583 1320 532 1313 503 1299 c -474 1285 455 1267 444 1246 c -433 1225 428 1174 428 1093 c -428 241 l -428 186 433 148 444 127 c -452 113 464 103 481 96 c -498 89 550 86 637 86 c -736 86 l -840 86 913 94 955 109 c -997 124 1035 151 1070 190 c -1105 229 1139 291 1174 375 c - -ce} _d -/P{1139 0 34 0 1067 1356 sc -420 635 m -420 240 l -420 155 429 102 448 81 c -473 52 512 37 563 37 c -615 37 l -615 0 l -34 0 l -34 37 l -85 37 l -142 37 183 56 208 93 c -221 114 228 163 228 240 c -228 1116 l -228 1201 219 1254 201 1275 c -175 1304 136 1319 85 1319 c -34 1319 l -34 1356 l -531 1356 l -652 1356 748 1343 818 1318 c -888 1293 947 1251 995 1192 c -1043 1133 1067 1062 1067 981 c -1067 870 1030 780 957 711 c -884 642 781 607 648 607 c -615 607 580 609 542 614 c -504 619 463 626 420 635 c - -420 692 m -455 685 487 680 514 677 c -541 674 565 672 584 672 c -653 672 713 699 763 752 c -814 806 839 876 839 961 c -839 1020 827 1074 803 1124 c -779 1175 745 1212 701 1237 c -657 1262 607 1275 551 1275 c -517 1275 473 1269 420 1256 c -420 692 l - -ce} _d -/S{1139 0 128 -31 1029 1387 sc -939 1387 m -939 918 l -902 918 l -890 1008 868 1080 837 1133 c -806 1186 762 1229 705 1260 c -648 1291 588 1307 527 1307 c -458 1307 400 1286 355 1243 c -310 1201 287 1153 287 1099 c -287 1058 301 1020 330 986 c -371 936 470 869 625 786 c -752 718 838 666 884 629 c -931 593 966 550 991 501 c -1016 452 1029 400 1029 346 c -1029 243 989 155 909 80 c -830 6 727 -31 602 -31 c -563 -31 526 -28 491 -22 c -470 -19 427 -7 362 14 c -297 35 256 46 239 46 c -222 46 209 41 199 31 c -190 21 183 0 178 -31 c -141 -31 l -141 434 l -178 434 l -195 337 219 264 248 215 c -277 167 322 127 382 95 c -443 63 509 47 581 47 c -664 47 730 69 778 113 c -827 157 851 209 851 269 c -851 302 842 336 823 370 c -805 404 777 436 738 465 c -712 485 641 527 525 592 c -409 657 326 709 277 748 c -228 787 191 829 166 876 c -141 923 128 974 128 1030 c -128 1127 165 1211 240 1281 c -315 1352 410 1387 525 1387 c -597 1387 673 1369 754 1334 c -791 1317 818 1309 833 1309 c -850 1309 864 1314 875 1324 c -886 1335 895 1356 902 1387 c -939 1387 l - -ce} _d -/T{1251 0 62 0 1200 1356 sc -1185 1356 m -1200 1038 l -1162 1038 l -1155 1094 1145 1134 1132 1158 c -1111 1197 1084 1225 1049 1243 c -1015 1262 970 1271 914 1271 c -723 1271 l -723 235 l -723 152 732 100 750 79 c -775 51 814 37 867 37 c -914 37 l -914 0 l -339 0 l -339 37 l -387 37 l -444 37 485 54 509 89 c -524 110 531 159 531 235 c -531 1271 l -368 1271 l -305 1271 260 1266 233 1257 c -198 1244 169 1220 144 1184 c -119 1148 105 1099 100 1038 c -62 1038 l -78 1356 l -1185 1356 l - -ce} _d -/U{1479 0 11 -32 1457 1356 sc -977 1319 m -977 1356 l -1457 1356 l -1457 1319 l -1406 1319 l -1353 1319 1312 1297 1283 1252 c -1269 1231 1262 1183 1262 1108 c -1262 558 l -1262 422 1248 316 1221 241 c -1194 166 1141 102 1062 48 c -983 -5 876 -32 740 -32 c -592 -32 480 -6 403 45 c -326 96 272 165 240 252 c -219 311 208 423 208 586 c -208 1116 l -208 1199 196 1254 173 1280 c -150 1306 113 1319 62 1319 c -11 1319 l -11 1356 l -597 1356 l -597 1319 l -545 1319 l -489 1319 449 1301 425 1266 c -408 1242 400 1192 400 1116 c -400 525 l -400 472 405 412 414 344 c -424 276 442 223 467 185 c -492 147 529 116 576 91 c -624 66 683 54 752 54 c -841 54 920 73 990 112 c -1060 151 1108 200 1133 260 c -1159 321 1172 423 1172 567 c -1172 1116 l -1172 1201 1163 1254 1144 1275 c -1118 1304 1079 1319 1028 1319 c -977 1319 l - -ce} _d -/a{909 0 73 -19 905 943 sc -583 132 m -489 59 430 17 406 6 c -370 -11 332 -19 291 -19 c -228 -19 175 3 134 46 c -93 89 73 146 73 217 c -73 262 83 300 103 333 c -130 378 178 421 245 461 c -313 501 426 550 583 607 c -583 643 l -583 734 568 797 539 831 c -510 865 468 882 413 882 c -371 882 338 871 313 848 c -288 825 275 799 275 770 c -277 712 l -277 681 269 658 253 641 c -238 624 217 616 192 616 c -167 616 147 625 131 642 c -116 659 108 683 108 713 c -108 770 137 823 196 871 c -255 919 337 943 443 943 c -524 943 591 929 643 902 c -682 881 711 849 730 805 c -742 776 748 718 748 629 c -748 318 l -748 231 750 177 753 157 c -756 138 762 125 769 118 c -777 111 786 108 796 108 c -807 108 816 110 824 115 c -838 124 865 148 905 188 c -905 132 l -830 32 759 -18 691 -18 c -658 -18 632 -7 613 16 c -594 39 584 77 583 132 c - -583 197 m -583 546 l -482 506 417 478 388 461 c -335 432 298 401 275 369 c -252 337 241 302 241 264 c -241 216 255 176 284 144 c -313 113 346 97 383 97 c -434 97 500 130 583 197 c - -ce} _d -/c{909 0 70 -28 842 943 sc -842 348 m -817 227 769 134 697 69 c -625 4 545 -28 458 -28 c -354 -28 263 16 186 103 c -109 190 70 308 70 457 c -70 601 113 718 198 808 c -284 898 387 943 507 943 c -597 943 671 919 729 871 c -787 824 816 774 816 723 c -816 698 808 677 791 661 c -775 646 752 638 723 638 c -684 638 654 651 634 676 c -623 690 615 717 611 756 c -608 795 594 825 571 846 c -548 866 515 876 474 876 c -407 876 354 851 313 802 c -259 737 232 650 232 543 c -232 434 259 337 312 253 c -366 170 439 128 530 128 c -595 128 654 150 706 195 c -743 226 778 281 813 362 c -842 348 l - -ce} _d -/d{1024 0 68 -28 1029 1422 sc -711 103 m -666 56 623 23 580 2 c -537 -18 491 -28 442 -28 c -342 -28 255 14 180 97 c -105 181 68 289 68 420 c -68 551 109 671 192 780 c -275 889 381 944 511 944 c -592 944 658 918 711 867 c -711 1036 l -711 1141 708 1205 703 1229 c -698 1253 691 1269 680 1278 c -669 1287 656 1291 640 1291 c -623 1291 600 1286 571 1275 c -558 1310 l -831 1422 l -876 1422 l -876 363 l -876 256 878 190 883 166 c -888 143 896 126 907 117 c -918 108 931 103 946 103 c -964 103 988 109 1018 120 c -1029 85 l -757 -28 l -711 -28 l -711 103 l - -711 173 m -711 645 l -707 690 695 732 675 769 c -655 806 628 834 595 853 c -562 872 530 882 499 882 c -440 882 388 856 342 803 c -281 734 251 632 251 499 c -251 364 280 261 339 189 c -398 118 463 82 535 82 c -596 82 654 112 711 173 c - -ce} _d -/e{909 0 76 -28 851 944 sc -218 571 m -217 435 250 328 317 251 c -384 174 462 135 552 135 c -612 135 664 151 708 184 c -753 217 790 274 820 354 c -851 334 l -837 243 796 159 729 84 c -662 9 577 -28 476 -28 c -366 -28 272 15 193 100 c -115 186 76 301 76 446 c -76 603 116 725 196 812 c -277 900 378 944 499 944 c -602 944 686 910 752 842 c -818 775 851 684 851 571 c -218 571 l - -218 629 m -642 629 l -639 688 632 729 621 753 c -604 790 579 820 546 841 c -513 862 479 873 443 873 c -388 873 338 851 294 808 c -251 765 225 706 218 629 c - -ce} _d -/f{682 0 79 0 890 1420 sc -422 844 m -422 242 l -422 157 431 103 450 80 c -475 51 508 36 549 36 c -632 36 l -632 0 l -85 0 l -85 36 l -126 36 l -153 36 177 43 199 56 c -221 69 236 87 244 110 c -253 133 257 177 257 242 c -257 844 l -79 844 l -79 916 l -257 916 l -257 976 l -257 1067 272 1145 301 1208 c -330 1271 375 1322 435 1361 c -496 1400 564 1420 639 1420 c -709 1420 773 1397 832 1352 c -871 1322 890 1288 890 1251 c -890 1231 881 1212 864 1194 c -847 1177 828 1168 808 1168 c -793 1168 776 1173 759 1184 c -742 1195 722 1219 697 1255 c -672 1292 650 1316 629 1329 c -608 1342 585 1348 560 1348 c -529 1348 503 1340 482 1323 c -461 1307 445 1282 436 1247 c -427 1213 422 1125 422 982 c -422 916 l -658 916 l -658 844 l -422 844 l - -ce} _d -/g{1024 0 61 -442 987 943 sc -309 334 m -253 361 210 399 180 448 c -150 497 135 552 135 611 c -135 702 169 780 237 845 c -306 910 393 943 500 943 c -587 943 663 922 727 879 c -921 879 l -950 879 966 878 971 876 c -976 875 979 872 981 868 c -985 862 987 851 987 836 c -987 819 985 807 982 800 c -980 797 976 794 971 792 c -966 790 950 789 921 789 c -802 789 l -839 741 858 680 858 605 c -858 520 825 447 760 386 c -695 325 607 295 497 295 c -452 295 405 302 358 315 c -329 290 309 267 298 248 c -288 229 283 213 283 200 c -283 189 288 178 299 167 c -310 156 332 149 364 144 c -383 141 429 139 504 137 c -641 134 730 129 771 123 c -833 114 882 91 919 54 c -956 17 975 -29 975 -84 c -975 -159 940 -230 869 -296 c -765 -393 629 -442 462 -442 c -333 -442 225 -413 136 -355 c -86 -322 61 -287 61 -251 c -61 -235 65 -219 72 -203 c -83 -178 107 -144 142 -100 c -147 -94 181 -58 244 8 c -209 29 185 47 170 63 c -156 80 149 98 149 119 c -149 142 158 170 177 201 c -196 232 240 277 309 334 c - -483 895 m -434 895 392 875 359 836 c -326 797 309 736 309 655 c -309 550 332 468 377 410 c -412 366 456 344 509 344 c -560 344 601 363 634 401 c -667 439 683 499 683 580 c -683 686 660 769 614 829 c -580 873 536 895 483 895 c - -299 0 m -268 -34 244 -66 228 -95 c -212 -124 204 -151 204 -176 c -204 -208 223 -236 262 -260 c -329 -301 425 -322 551 -322 c -671 -322 759 -301 816 -258 c -873 -216 902 -171 902 -123 c -902 -88 885 -64 851 -49 c -816 -34 748 -26 645 -23 c -495 -19 380 -11 299 0 c - -ce} _d -/i{569 0 60 0 519 1422 sc -297 1422 m -325 1422 349 1412 368 1392 c -388 1373 398 1349 398 1321 c -398 1293 388 1269 368 1249 c -349 1229 325 1219 297 1219 c -269 1219 245 1229 225 1249 c -205 1269 195 1293 195 1321 c -195 1349 205 1373 224 1392 c -244 1412 268 1422 297 1422 c - -380 943 m -380 207 l -380 150 384 111 392 92 c -401 73 413 59 429 50 c -446 41 476 36 519 36 c -519 0 l -74 0 l -74 36 l -119 36 149 40 164 49 c -179 58 191 72 200 92 c -209 112 214 150 214 207 c -214 560 l -214 659 211 724 205 753 c -200 774 193 789 183 797 c -173 806 159 810 142 810 c -123 810 101 805 74 795 c -60 831 l -336 943 l -380 943 l - -ce} _d -/l{569 0 61 0 527 1422 sc -379 1422 m -379 207 l -379 150 383 112 391 93 c -400 74 413 60 430 50 c -447 41 480 36 527 36 c -527 0 l -78 0 l -78 36 l -120 36 149 40 164 49 c -179 58 191 72 200 92 c -209 112 213 150 213 207 c -213 1039 l -213 1142 211 1206 206 1229 c -201 1253 194 1269 183 1278 c -173 1287 160 1291 144 1291 c -127 1291 105 1286 78 1275 c -61 1310 l -334 1422 l -379 1422 l - -ce} _d -/m{1593 0 17 0 1584 943 sc -336 748 m -403 815 442 853 454 863 c -484 888 516 908 551 922 c -586 936 620 943 654 943 c -711 943 761 926 802 893 c -843 860 871 811 885 748 c -954 828 1012 880 1059 905 c -1106 930 1155 943 1205 943 c -1254 943 1297 930 1334 905 c -1372 880 1402 840 1424 783 c -1439 744 1446 684 1446 601 c -1446 207 l -1446 150 1450 110 1459 89 c -1466 74 1478 62 1496 51 c -1514 41 1543 36 1584 36 c -1584 0 l -1132 0 l -1132 36 l -1151 36 l -1190 36 1221 44 1243 59 c -1258 70 1269 87 1276 110 c -1279 121 1280 154 1280 207 c -1280 601 l -1280 676 1271 728 1253 759 c -1227 802 1185 823 1128 823 c -1093 823 1057 814 1021 796 c -986 779 943 746 892 698 c -890 687 l -892 644 l -892 207 l -892 144 895 105 902 90 c -909 75 923 62 942 51 c -961 41 994 36 1041 36 c -1041 0 l -578 0 l -578 36 l -629 36 663 42 682 54 c -701 66 715 84 722 108 c -725 119 727 152 727 207 c -727 601 l -727 676 716 729 694 762 c -665 805 624 826 571 826 c -535 826 499 816 464 797 c -409 768 366 735 336 698 c -336 207 l -336 147 340 108 348 90 c -357 72 369 58 385 49 c -402 40 435 36 485 36 c -485 0 l -32 0 l -32 36 l -74 36 103 40 120 49 c -137 58 149 73 158 92 c -167 112 171 150 171 207 c -171 557 l -171 658 168 723 162 752 c -157 774 150 789 140 797 c -130 806 116 810 99 810 c -80 810 58 805 32 795 c -17 831 l -293 943 l -336 943 l -336 748 l - -ce} _d -/n{1024 0 12 0 1015 943 sc -331 749 m -438 878 541 943 638 943 c -688 943 731 930 767 905 c -803 880 832 839 853 782 c -868 742 875 681 875 598 c -875 207 l -875 149 880 110 889 89 c -896 72 908 59 924 50 c -941 41 971 36 1015 36 c -1015 0 l -562 0 l -562 36 l -581 36 l -624 36 653 42 670 55 c -687 68 699 88 706 113 c -709 123 710 154 710 207 c -710 582 l -710 665 699 726 677 763 c -656 801 619 820 568 820 c -489 820 410 777 331 690 c -331 207 l -331 145 335 107 342 92 c -351 73 364 58 380 49 c -397 40 430 36 480 36 c -480 0 l -27 0 l -27 36 l -47 36 l -94 36 125 48 141 71 c -158 95 166 140 166 207 c -166 547 l -166 657 163 724 158 748 c -153 772 146 788 135 797 c -125 806 111 810 94 810 c -75 810 53 805 27 795 c -12 831 l -288 943 l -331 943 l -331 749 l - -ce} _d -/o{1024 0 69 -28 953 943 sc -512 943 m -651 943 762 890 846 785 c -917 695 953 592 953 475 c -953 393 933 310 894 226 c -855 142 800 79 731 36 c -662 -7 586 -28 501 -28 c -363 -28 253 27 172 137 c -103 230 69 334 69 449 c -69 533 90 616 131 699 c -173 782 228 844 296 883 c -364 923 436 943 512 943 c - -481 878 m -446 878 410 867 374 846 c -339 825 310 789 288 736 c -266 683 255 616 255 533 c -255 400 281 285 334 188 c -387 91 457 43 544 43 c -609 43 662 70 704 123 c -746 176 767 268 767 398 c -767 561 732 689 662 782 c -615 846 554 878 481 878 c - -ce} _d -/p{1024 0 -7 -438 954 943 sc --2 825 m -280 939 l -318 939 l -318 725 l -365 806 413 862 460 894 c -508 927 558 943 611 943 c -703 943 780 907 841 835 c -916 747 954 632 954 491 c -954 333 909 202 818 99 c -743 14 649 -28 536 -28 c -487 -28 444 -21 408 -7 c -381 3 351 23 318 53 c -318 -226 l -318 -289 322 -328 329 -345 c -337 -362 350 -376 369 -386 c -388 -396 423 -401 473 -401 c -473 -438 l --7 -438 l --7 -401 l -18 -401 l -55 -402 86 -395 112 -380 c -125 -373 134 -361 141 -344 c -148 -328 152 -287 152 -220 c -152 646 l -152 705 149 743 144 759 c -139 775 130 787 118 795 c -107 803 91 807 71 807 c -55 807 35 802 10 793 c --2 825 l - -318 666 m -318 324 l -318 250 321 201 327 178 c -336 139 359 105 395 76 c -432 47 478 32 533 32 c -600 32 654 58 695 110 c -749 178 776 274 776 397 c -776 537 745 645 684 720 c -641 772 591 798 532 798 c -500 798 468 790 437 774 c -413 762 373 726 318 666 c - -ce} _d -/r{682 0 13 0 695 943 sc -332 943 m -332 737 l -409 874 487 943 568 943 c -605 943 635 932 659 909 c -683 887 695 861 695 832 c -695 806 686 784 669 766 c -652 748 631 739 607 739 c -584 739 557 750 528 773 c -499 796 478 808 464 808 c -452 808 439 801 425 788 c -395 761 364 716 332 653 c -332 214 l -332 163 338 125 351 99 c -360 81 375 66 397 54 c -419 42 451 36 492 36 c -492 0 l -23 0 l -23 36 l -70 36 104 43 127 58 c -144 69 155 86 162 109 c -165 120 167 153 167 206 c -167 561 l -167 668 165 731 160 751 c -156 772 148 787 136 796 c -125 805 110 810 93 810 c -72 810 49 805 23 795 c -13 831 l -290 943 l -332 943 l - -ce} _d -/t{569 0 20 -15 572 1217 sc -330 1217 m -330 916 l -544 916 l -544 846 l -330 846 l -330 252 l -330 193 338 153 355 132 c -372 111 394 101 421 101 c -443 101 464 108 485 121 c -506 135 522 155 533 182 c -572 182 l -549 117 516 67 473 34 c -430 1 386 -15 341 -15 c -310 -15 280 -7 251 10 c -222 27 200 52 186 83 c -172 115 165 164 165 230 c -165 846 l -20 846 l -20 879 l -57 894 94 918 132 953 c -171 988 205 1030 235 1078 c -250 1103 272 1150 299 1217 c -330 1217 l - -ce} _d -/u{1024 0 2 -28 1021 916 sc -867 916 m -867 361 l -867 255 869 190 874 166 c -879 143 887 126 898 117 c -909 108 922 103 937 103 c -958 103 981 109 1007 120 c -1021 85 l -747 -28 l -702 -28 l -702 166 l -623 81 563 27 522 5 c -481 -17 437 -28 391 -28 c -340 -28 295 -13 257 16 c -220 46 194 84 179 131 c -164 178 157 244 157 329 c -157 738 l -157 781 152 811 143 828 c -134 845 120 857 101 866 c -83 875 50 880 2 879 c -2 916 l -323 916 l -323 303 l -323 218 338 162 367 135 c -397 108 433 95 475 95 c -504 95 536 104 572 122 c -609 140 652 174 702 225 c -702 744 l -702 796 692 831 673 849 c -654 868 615 878 555 879 c -555 916 l -867 916 l - -ce} _d -/v{1024 0 17 -28 1005 916 sc -17 916 m -448 916 l -448 879 l -420 879 l -394 879 374 873 360 860 c -347 847 340 830 340 809 c -340 786 347 758 361 726 c -574 220 l -788 745 l -803 782 811 811 811 830 c -811 839 808 847 803 853 c -796 863 786 870 775 873 c -764 877 741 879 706 879 c -706 916 l -1005 916 l -1005 879 l -970 876 946 869 933 858 c -910 838 889 805 870 758 c -545 -28 l -504 -28 l -177 745 l -162 781 148 807 135 822 c -122 838 105 851 84 862 c -73 868 50 874 17 879 c -17 916 l - -ce} _d -/x{1024 0 27 0 999 916 sc -27 916 m -458 916 l -458 879 l -431 879 411 874 400 865 c -389 856 384 843 384 828 c -384 812 396 787 419 754 c -426 743 437 727 452 704 c -517 600 l -592 704 l -640 770 664 812 664 829 c -664 843 658 855 647 864 c -636 874 617 879 592 879 c -592 916 l -902 916 l -902 879 l -869 877 841 868 817 852 c -784 829 740 780 683 704 c -558 537 l -786 209 l -842 128 882 80 906 63 c -930 47 961 38 999 36 c -999 0 l -567 0 l -567 36 l -597 36 620 43 637 56 c -650 65 656 78 656 93 c -656 108 635 147 592 209 c -458 405 l -311 209 l -266 148 243 112 243 101 c -243 85 250 70 265 57 c -280 44 303 37 333 36 c -333 0 l -34 0 l -34 36 l -58 39 79 48 97 61 c -122 80 165 130 225 209 c -417 464 l -243 716 l -194 788 155 833 128 851 c -101 870 68 879 27 879 c -27 916 l - -ce} _d -end readonly def - -/BuildGlyph { - exch begin - CharStrings exch - 2 copy known not {pop /.notdef} if - true 3 1 roll get exec - end -} _d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -} _d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin -0 0 translate -0 0 460.8 345.6 rectclip -gsave -0 0 m -460.8 0 l -460.8 345.6 l -0 345.6 l -cl -1 setgray -fill -grestore -gsave -57.6 38.016 m -414.72 38.016 l -414.72 304.128 l -57.6 304.128 l -cl -1 setgray -fill -grestore -1 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -57.6 38.016 357.12 266.112 rectclip -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin - -0 setlinecap - -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -116.07 162.658 o -332.948 147.191 o -210.835 160.989 o -264.195 198.978 o -205.379 155.867 o -305.215 230.927 o -345.082 208.932 o -339.834 211.582 o -235.316 140.44 o -286.066 217.551 o -236.895 202.857 o -336.836 223.71 o -219.583 227.885 o -148.5 168.211 o -371.59 135.455 o -187.591 179.518 o -268.368 210.679 o -325.571 110.067 o -243.006 173.517 o -124.904 163.305 o -73.8327 228.699 o -207.813 209.239 o -134.578 81.4821 o -159.346 147.756 o -340.462 205.662 o -257.487 222.596 o -110.724 50.112 o -273.801 193.739 o -140.993 106.885 o -274.718 180.412 o -239.39 195.239 o -91.6485 80.9113 o -198.61 220.238 o -251.974 226.618 o -156.397 189.318 o -278.911 182.297 o -234.341 292.032 o -319.132 225.239 o -296.608 178.059 o -350.579 251.866 o -161.513 187.932 o -200.921 177.152 o -249.16 167.115 o -216.897 178.359 o -216.363 178.359 o -223.675 188.311 o -201.57 177.659 o -281.944 207.553 o -218.365 218.593 o -92.7681 188.072 o -328.739 207.553 o -305.411 202.857 o -252.798 182.297 o -322.128 204.601 o -339.405 224.657 o -186.397 139.152 o -256.157 150.512 o -139.164 132.372 o -333.776 197.466 o -159.844 208.763 o -200.131 141.237 o -126.774 131.906 o -117.377 100.636 o -202.405 167.089 o -134.17 163.305 o -330.166 204.601 o -321.543 163.526 o -275.902 193.739 o -222.436 182.297 o -212.482 173.517 o -168.267 182.505 o -137.746 163.835 o -150.298 163.835 o -335.549 231.628 o -162.045 159.717 o -203.858 141.562 o -241.431 168.995 o -341.785 217.283 o -318.595 208.669 o -326.601 184.425 o -224.433 222.596 o -337.25 167.115 o -144.212 208.182 o -140.283 213.618 o -153.303 92.2473 o -238.234 196.589 o -257.37 191.835 o -255.688 195.239 o -256.897 188.311 o -268.644 200.019 o -136.322 160.989 o -249.573 86.4913 o -271.267 204.601 o -210.669 175.092 o -131.187 149.418 o -168.461 189.19 o -345.305 134.902 o -109.712 164.363 o -257.23 197.921 o -244.935 179.343 o -129.524 158.72 o -299.797 223.899 o -251.094 164.689 o -258.496 201.695 o -214.586 188.687 o -191.428 239.982 o -398.487 66.407 o -195.496 191.292 o -230.592 249.405 o -120.414 166.903 o -344.037 207.837 o -323.286 231.951 o -167.183 187.799 o -109.145 139.152 o -341.432 205.662 o -371.297 228.275 o -325.162 206.054 o -272.957 198.718 o -146.062 121.067 o -220.573 140.166 o -228.316 143.482 o -273.894 199.936 o -303.002 206.444 o -331.333 205.662 o -163.478 161.827 o -358.086 189.017 o -252.392 163.111 o -122.076 190.654 o -352.445 134.877 o -151.241 263.764 o -159.1 202.142 o -234.385 184.281 o -100.928 133.35 o -340.238 150.588 o -288.121 178.552 o -305.208 208.85 o -267.636 207.553 o -159.497 265.889 o -246.691 211.951 o -158.201 159.717 o -158.201 159.717 o -318.281 195.694 o -198.381 92.707 o -254.373 162.757 o -239.041 200.264 o -169.942 164.363 o -169.942 164.363 o -169.618 163.835 o -345.893 224.934 o -363.183 197.112 o -132.226 176.642 o -131.812 189.061 o -228.257 163.481 o -135.896 277.69 o -115.207 178.834 o -218.045 220.778 o -136.482 94.0689 o -331.176 211.63 o -237.392 186.316 o -160.556 201.272 o -189.68 227.968 o -259.989 189.017 o -144.035 82.1435 o -grestore -0.8 setlinewidth -0 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -101.127 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -98.6265 24.0785 translate -0 rotate -0 0 m /six glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -151.329 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -148.829 24.0785 translate -0 rotate -0 0 m /seven glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -201.532 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -199.032 24.0785 translate -0 rotate -0 0 m /eight glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -251.734 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -249.234 24.0785 translate -0 rotate -0 0 m /nine glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -301.937 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -296.937 24.0785 translate -0 rotate -0 0 m /one glyphshow -5 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -352.14 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -347.327 24.0785 translate -0 rotate -0 0 m /one glyphshow -4.625 0 m /one glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - -0 0 m -0 -3.5 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -402.342 38.016 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -397.342 24.0785 translate -0 rotate -0 0 m /one glyphshow -5 0 m /two glyphshow -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -145.543 10.766 translate -0 rotate -0 0 m /L glyphshow -6.1084 0 m /o glyphshow -11.1084 0 m /g glyphshow -16.1084 0 m /space glyphshow -18.6084 0 m /o glyphshow -23.6084 0 m /f glyphshow -26.9385 0 m /space glyphshow -29.4385 0 m /G glyphshow -36.6602 0 m /D glyphshow -43.8818 0 m /P glyphshow -49.0684 0 m /space glyphshow -51.5684 0 m /p glyphshow -56.5684 0 m /e glyphshow -61.0068 0 m /r glyphshow -64.3369 0 m /space glyphshow -66.8369 0 m /c glyphshow -71.2754 0 m /a glyphshow -75.7139 0 m /p glyphshow -80.7139 0 m /i glyphshow -83.4922 0 m /t glyphshow -86.2705 0 m /a glyphshow -90.709 0 m /space glyphshow -93.209 0 m /i glyphshow -95.9873 0 m /n glyphshow -100.987 0 m /space glyphshow -103.487 0 m /two glyphshow -108.487 0 m /zero glyphshow -113.487 0 m /one glyphshow -118.487 0 m /zero glyphshow -123.487 0 m /space glyphshow -125.987 0 m /parenleft glyphshow -129.317 0 m /c glyphshow -133.756 0 m /u glyphshow -138.756 0 m /r glyphshow -142.086 0 m /r glyphshow -145.416 0 m /e glyphshow -149.854 0 m /n glyphshow -154.854 0 m /t glyphshow -157.633 0 m /space glyphshow -160.133 0 m /U glyphshow -167.354 0 m /S glyphshow -172.916 0 m /dollar glyphshow -177.916 0 m /parenright glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -57.6 39.0928 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -38.1 35.624 translate -0 rotate -0 0 m /zero glyphshow -5 0 m /period glyphshow -7.5 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -57.6 88.6429 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -38.1 85.1742 translate -0 rotate -0 0 m /zero glyphshow -5 0 m /period glyphshow -7.5 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -57.6 138.193 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -38.1 134.724 translate -0 rotate -0 0 m /one glyphshow -5 0 m /period glyphshow -7.5 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -57.6 187.743 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -38.1 184.274 translate -0 rotate -0 0 m /one glyphshow -5 0 m /period glyphshow -7.5 0 m /five glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -57.6 237.293 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -38.1 233.825 translate -0 rotate -0 0 m /two glyphshow -5 0 m /period glyphshow -7.5 0 m /zero glyphshow -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin - -0 setlinecap - --0 0 m --3.5 0 l - -gsave -0 setgray -fill -grestore -stroke -grestore -} bind def -57.6 286.844 o -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -38.1 283.375 translate -0 rotate -0 0 m /two glyphshow -5 0 m /period glyphshow -7.5 0 m /five glyphshow -grestore -/TimesNewRomanPSMT 10.000 selectfont -gsave - -31.9437 24.7361 translate -90 rotate -0 0 m /L glyphshow -6.1084 0 m /o glyphshow -11.1084 0 m /g glyphshow -16.1084 0 m /space glyphshow -18.6084 0 m /o glyphshow -23.6084 0 m /f glyphshow -26.9385 0 m /space glyphshow -29.3135 0 m /T glyphshow -34.6719 0 m /o glyphshow -39.6719 0 m /t glyphshow -42.4502 0 m /a glyphshow -46.8887 0 m /l glyphshow -49.667 0 m /space glyphshow -52.167 0 m /G glyphshow -59.3887 0 m /o glyphshow -64.3887 0 m /v glyphshow -69.3887 0 m /e glyphshow -73.8271 0 m /r glyphshow -77.1572 0 m /n glyphshow -82.1572 0 m /m glyphshow -89.9355 0 m /e glyphshow -94.374 0 m /n glyphshow -99.374 0 m /t glyphshow -102.152 0 m /space glyphshow -104.652 0 m /E glyphshow -110.761 0 m /x glyphshow -115.761 0 m /p glyphshow -120.761 0 m /e glyphshow -125.199 0 m /n glyphshow -130.199 0 m /d glyphshow -135.199 0 m /i glyphshow -137.978 0 m /t glyphshow -140.756 0 m /u glyphshow -145.756 0 m /r glyphshow -149.086 0 m /e glyphshow -153.524 0 m /space glyphshow -156.024 0 m /o glyphshow -161.024 0 m /n glyphshow -166.024 0 m /space glyphshow -168.524 0 m /E glyphshow -174.633 0 m /d glyphshow -179.633 0 m /u glyphshow -184.633 0 m /c glyphshow -189.071 0 m /a glyphshow -193.51 0 m /t glyphshow -196.288 0 m /i glyphshow -199.066 0 m /o glyphshow -204.066 0 m /n glyphshow -209.066 0 m /space glyphshow -211.566 0 m /i glyphshow -214.345 0 m /n glyphshow -219.345 0 m /space glyphshow -221.845 0 m /two glyphshow -226.845 0 m /zero glyphshow -231.845 0 m /one glyphshow -236.845 0 m /zero glyphshow -241.845 0 m /space glyphshow -244.345 0 m /parenleft glyphshow -247.675 0 m /percent glyphshow -256.005 0 m /space glyphshow -258.505 0 m /o glyphshow -263.505 0 m /f glyphshow -266.835 0 m /space glyphshow -269.335 0 m /G glyphshow -276.557 0 m /D glyphshow -283.778 0 m /P glyphshow -289.34 0 m /parenright glyphshow -grestore -0 setlinejoin -2 setlinecap -gsave -57.6 38.016 m -57.6 304.128 l -stroke -grestore -gsave -414.72 38.016 m -414.72 304.128 l -stroke -grestore -gsave -57.6 38.016 m -414.72 38.016 l -stroke -grestore -gsave -57.6 304.128 m -414.72 304.128 l -stroke -grestore - -end -showpage diff --git a/output/analysis/plots/gdp_educ.eps b/output/analysis/plots/gdp_educ.eps deleted file mode 100644 index fedce8d9..00000000 --- a/output/analysis/plots/gdp_educ.eps +++ /dev/null @@ -1,1919 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (MATLAB, The Mathworks, Inc. Version 24.2.0.3157250 \(R2024b\) Update 8. Operating System: Mac OS X) -%%Title: output/analysis/plots/gdp_educ.eps -%%CreationDate: 2026-04-01T22:26:38 -%%Pages: (atend) -%%BoundingBox: 45 18 510 393 -%%LanguageLevel: 3 -%%EndComments -%%BeginProlog -%%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.2 0 -%%Version: 1.2 0 -%%Copyright: (Copyright 2001-2003,2010 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) -/bd{bind def}bind def -/ld{load def}bd -/GR/grestore ld -/GS/gsave ld -/RM/rmoveto ld -/C/curveto ld -/t/show ld -/L/lineto ld -/ML/setmiterlimit ld -/CT/concat ld -/f/fill ld -/N/newpath ld -/S/stroke ld -/CC/setcmykcolor ld -/A/ashow ld -/cp/closepath ld -/RC/setrgbcolor ld -/LJ/setlinejoin ld -/GC/setgray ld -/LW/setlinewidth ld -/M/moveto ld -/re {4 2 roll M -1 index 0 rlineto -0 exch rlineto -neg 0 rlineto -cp } bd -/_ctm matrix def -/_tm matrix def -/BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd -/ET { _ctm setmatrix } bd -/iTm { _ctm setmatrix _tm concat } bd -/Tm { _tm astore pop iTm 0 0 moveto } bd -/ux 0.0 def -/uy 0.0 def -/F { - /Tp exch def - /Tf exch def - Tf findfont Tp scalefont setfont - /cf Tf def /cs Tp def -} bd -/ULS {currentpoint /uy exch def /ux exch def} bd -/ULE { - /Tcx currentpoint pop def - gsave - newpath - cf findfont cs scalefont dup - /FontMatrix get 0 get /Ts exch def /FontInfo get dup - /UnderlinePosition get Ts mul /To exch def - /UnderlineThickness get Ts mul /Tt exch def - ux uy To add moveto Tcx uy To add lineto - Tt setlinewidth stroke - grestore -} bd -/OLE { - /Tcx currentpoint pop def - gsave - newpath - cf findfont cs scalefont dup - /FontMatrix get 0 get /Ts exch def /FontInfo get dup - /UnderlinePosition get Ts mul /To exch def - /UnderlineThickness get Ts mul /Tt exch def - ux uy To add cs add moveto Tcx uy To add cs add lineto - Tt setlinewidth stroke - grestore -} bd -/SOE { - /Tcx currentpoint pop def - gsave - newpath - cf findfont cs scalefont dup - /FontMatrix get 0 get /Ts exch def /FontInfo get dup - /UnderlinePosition get Ts mul /To exch def - /UnderlineThickness get Ts mul /Tt exch def - ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto - Tt setlinewidth stroke - grestore -} bd -/QT { -/Y22 exch store -/X22 exch store -/Y21 exch store -/X21 exch store -currentpoint -/Y21 load 2 mul add 3 div exch -/X21 load 2 mul add 3 div exch -/X21 load 2 mul /X22 load add 3 div -/Y21 load 2 mul /Y22 load add 3 div -/X22 load /Y22 load curveto -} bd -/SSPD { -dup length /d exch dict def -{ -/v exch def -/k exch def -currentpagedevice k known { -/cpdv currentpagedevice k get def -v cpdv ne { -/upd false def -/nullv v type /nulltype eq def -/nullcpdv cpdv type /nulltype eq def -nullv nullcpdv or -{ -/upd true def -} { -/sametype v type cpdv type eq def -sametype { -v type /arraytype eq { -/vlen v length def -/cpdvlen cpdv length def -vlen cpdvlen eq { -0 1 vlen 1 sub { -/i exch def -/obj v i get def -/cpdobj cpdv i get def -obj cpdobj ne { -/upd true def -exit -} if -} for -} { -/upd true def -} ifelse -} { -v type /dicttype eq { -v { -/dv exch def -/dk exch def -/cpddv cpdv dk get def -dv cpddv ne { -/upd true def -exit -} if -} forall -} { -/upd true def -} ifelse -} ifelse -} if -} ifelse -upd true eq { -d k v put -} if -} if -} if -} forall -d length 0 gt { -d setpagedevice -} if -} bd -/RE { % /NewFontName [NewEncodingArray] /FontName RE - - findfont dup length dict begin - { - 1 index /FID ne - {def} {pop pop} ifelse - } forall - /Encoding exch def - /FontName 1 index def - currentdict definefont pop - end -} bind def -%%EndResource -%%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0 -%%Version: 1.0 0 -%%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) -/BeginEPSF { %def -/b4_Inc_state save def % Save state for cleanup -/dict_count countdictstack def % Count objects on dict stack -/op_count count 1 sub def % Count objects on operand stack -userdict begin % Push userdict on dict stack -/showpage { } def % Redefine showpage, { } = null proc -0 setgray 0 setlinecap % Prepare graphics state -1 setlinewidth 0 setlinejoin -10 setmiterlimit [ ] 0 setdash newpath -/languagelevel where % If level not equal to 1 then -{pop languagelevel % set strokeadjust and -1 ne % overprint to their defaults. -{false setstrokeadjust false setoverprint -} if -} if -} bd -/EndEPSF { %def -count op_count sub {pop} repeat % Clean up stacks -countdictstack dict_count sub {end} repeat -b4_Inc_state restore -} bd -%%EndResource -%FOPBeginFontDict -%%IncludeResource: font Courier-Oblique -%%IncludeResource: font Courier-BoldOblique -%%IncludeResource: font Courier-Bold -%%IncludeResource: font ZapfDingbats -%%IncludeResource: font Symbol -%%IncludeResource: font Helvetica -%%IncludeResource: font Helvetica-Oblique -%%IncludeResource: font Helvetica-Bold -%%IncludeResource: font Helvetica-BoldOblique -%%IncludeResource: font Times-Roman -%%IncludeResource: font Times-Italic -%%IncludeResource: font Times-Bold -%%IncludeResource: font Times-BoldItalic -%%IncludeResource: font Courier -%FOPEndFontDict -%%BeginResource: encoding WinAnsiEncoding -/WinAnsiEncoding [ -/.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /space /exclam /quotedbl -/numbersign /dollar /percent /ampersand /quotesingle -/parenleft /parenright /asterisk /plus /comma -/hyphen /period /slash /zero /one -/two /three /four /five /six -/seven /eight /nine /colon /semicolon -/less /equal /greater /question /at -/A /B /C /D /E -/F /G /H /I /J -/K /L /M /N /O -/P /Q /R /S /T -/U /V /W /X /Y -/Z /bracketleft /backslash /bracketright /asciicircum -/underscore /quoteleft /a /b /c -/d /e /f /g /h -/i /j /k /l /m -/n /o /p /q /r -/s /t /u /v /w -/x /y /z /braceleft /bar -/braceright /asciitilde /bullet /Euro /bullet -/quotesinglbase /florin /quotedblbase /ellipsis /dagger -/daggerdbl /circumflex /perthousand /Scaron /guilsinglleft -/OE /bullet /Zcaron /bullet /bullet -/quoteleft /quoteright /quotedblleft /quotedblright /bullet -/endash /emdash /asciitilde /trademark /scaron -/guilsinglright /oe /bullet /zcaron /Ydieresis -/space /exclamdown /cent /sterling /currency -/yen /brokenbar /section /dieresis /copyright -/ordfeminine /guillemotleft /logicalnot /sfthyphen /registered -/macron /degree /plusminus /twosuperior /threesuperior -/acute /mu /paragraph /middot /cedilla -/onesuperior /ordmasculine /guillemotright /onequarter /onehalf -/threequarters /questiondown /Agrave /Aacute /Acircumflex -/Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave -/Iacute /Icircumflex /Idieresis /Eth /Ntilde -/Ograve /Oacute /Ocircumflex /Otilde /Odieresis -/multiply /Oslash /Ugrave /Uacute /Ucircumflex -/Udieresis /Yacute /Thorn /germandbls /agrave -/aacute /acircumflex /atilde /adieresis /aring -/ae /ccedilla /egrave /eacute /ecircumflex -/edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex -/otilde /odieresis /divide /oslash /ugrave -/uacute /ucircumflex /udieresis /yacute /thorn -/ydieresis -] def -%%EndResource -%FOPBeginFontReencode -/Courier-Oblique findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Courier-Oblique exch definefont pop -/Courier-BoldOblique findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Courier-BoldOblique exch definefont pop -/Courier-Bold findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Courier-Bold exch definefont pop -/Helvetica findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Helvetica exch definefont pop -/Helvetica-Oblique findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Helvetica-Oblique exch definefont pop -/Helvetica-Bold findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Helvetica-Bold exch definefont pop -/Helvetica-BoldOblique findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Helvetica-BoldOblique exch definefont pop -/Times-Roman findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Times-Roman exch definefont pop -/Times-Italic findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Times-Italic exch definefont pop -/Times-Bold findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Times-Bold exch definefont pop -/Times-BoldItalic findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Times-BoldItalic exch definefont pop -/Courier findfont -dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - /Encoding WinAnsiEncoding def - currentdict -end -/Courier exch definefont pop -%FOPEndFontReencode -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 560 420 -%%BeginPageSetup -N - 45 18 M - 555 18 L - 555 411 L - 45 411 L -cp -clip -[1 0 0 -1 0 420] CT -%%EndPageSetup -GS -1 GC -N -0 0 560 420 re -f -GR -GS -1 GC -N -0 0 560 420 re -f -GR -GS -1 GC -N -73 374 M -507 374 L -507 31.5 L -73 31.5 L -cp -f -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 374 M -507 374 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 374 M -73 369.66 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -145.333 374 M -145.333 369.66 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -217.667 374 M -217.667 369.66 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -290 374 M -290 369.66 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -362.333 374 M -362.333 369.66 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -434.667 374 M -434.667 369.66 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -507 374 M -507 369.66 L -S -GR -GS -[1 0 0 1 73 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --2.5 9 moveto -1 -1 scale -(0) t -GR -GR -GS -[1 0 0 1 145.33333 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --6.5 9 moveto -1 -1 scale -(0.5) t -GR -GR -GS -[1 0 0 1 217.66667 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --2.5 9 moveto -1 -1 scale -(1) t -GR -GR -GS -[1 0 0 1 290 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --6.5 9 moveto -1 -1 scale -(1.5) t -GR -GR -GS -[1 0 0 1 362.33334 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --2.5 9 moveto -1 -1 scale -(2) t -GR -GR -GS -[1 0 0 1 434.66666 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --6.5 9 moveto -1 -1 scale -(2.5) t -GR -GR -GS -[1 0 0 1 507 378] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --2.5 9 moveto -1 -1 scale -(3) t -GR -GR -GS -[1 0 0 1 290.00021 390.5] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --147 9 moveto -1 -1 scale -(Log of Total Government Expenditure on Education in 2010 \(% of GDP\)) t -GR -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 374 M -73 31.5 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 374 M -77.34 374 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 325.071 M -77.34 325.071 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 276.143 M -77.34 276.143 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 227.214 M -77.34 227.214 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 178.286 M -77.34 178.286 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 129.357 M -77.34 129.357 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 80.429 M -77.34 80.429 L -S -GR -GS -0.149 GC -2 setlinecap -1 LJ -0.5 LW -N -73 31.5 M -77.34 31.5 L -S -GR -GS -[1 0 0 1 69 374] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --5 3 moveto -1 -1 scale -(5) t -GR -GR -GS -[1 0 0 1 69 325.07144] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --5 3 moveto -1 -1 scale -(6) t -GR -GR -GS -[1 0 0 1 69 276.14285] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --5 3 moveto -1 -1 scale -(7) t -GR -GR -GS -[1 0 0 1 69 227.21428] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --5 3 moveto -1 -1 scale -(8) t -GR -GR -GS -[1 0 0 1 69 178.28572] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --5 3 moveto -1 -1 scale -(9) t -GR -GR -GS -[1 0 0 1 69 129.35715] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --10 3 moveto -1 -1 scale -(10) t -GR -GR -GS -[1 0 0 1 69 80.42857] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --10 3 moveto -1 -1 scale -(11) t -GR -GR -GS -[1 0 0 1 69 31.5] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --10 3 moveto -1 -1 scale -(12) t -GR -GR -GS -[0 -1 1 0 56 202.74982] CT -0.149 GC -/Times-Roman 10 F -GS -[1 0 0 1 0 0] CT --91 -3 moveto -1 -1 scale -(Log of GDP per capita in 2010 \(current US$\)) t -GR -GR -GS -[1 0 0 1 253.38113 310.50702] CT -0 0.447 0.741 RC -N -0 -2.75 M -1.519 -2.75 2.75 -1.519 2.75 0 C -2.75 0 L -2.75 1.519 1.519 2.75 0 2.75 C --1.519 2.75 -2.75 1.519 -2.75 0 C --2.75 -1.519 -1.519 -2.75 0 -2.75 C -cp -0 -3.25 M --1.795 -3.25 -3.25 -1.795 -3.25 0 C --3.25 1.795 -1.795 3.25 0 3.25 C -1.795 3.25 3.25 1.795 3.25 0 C -3.25 0 L -3.25 -1.795 1.795 -3.25 0 -3.25 C -cp -f -GR -GS -[1 0 0 1 230.80122 99.13263] CT -0 0.447 0.741 RC -N -/f-1077290934{0 -2.75 M -1.519 -2.75 2.75 -1.519 2.75 0 C -2.75 0 L -2.75 1.519 1.519 2.75 0 2.75 C --1.519 2.75 -2.75 1.519 -2.75 0 C --2.75 -1.519 -1.519 -2.75 0 -2.75 C -cp -0 -3.25 M --1.795 -3.25 -3.25 -1.795 -3.25 0 C --3.25 1.795 -1.795 3.25 0 3.25 C -1.795 3.25 3.25 1.795 3.25 0 C -3.25 0 L -3.25 -1.795 1.795 -3.25 0 -3.25 C -cp}def -f-1077290934 -f -GR -GS -[1 0 0 1 250.94383 218.14694] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 306.40118 166.14111] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 243.46756 223.46481] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 353.03915 126.16253] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 320.931 87.30672] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 324.79962 92.42204] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 220.94684 194.28702] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 333.51361 144.82538] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 312.06241 192.7489] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 342.50397 95.34373] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 348.59866 209.62097] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 261.48688 278.90057] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 213.66986 61.47142] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 277.99274 240.80098] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 323.48212 162.07373] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 176.60806 106.32276] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 269.23325 186.79279] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 254.32518 301.897] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 349.78729 351.67255] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 321.37939 221.09262] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 134.87997 292.46918] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 231.62653 268.32932] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 316.1579 91.80984] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 340.87836 172.67905] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 89.08585 315.71735] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 298.75259 156.77924] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 171.96303 286.21707] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 279.29718 155.88487] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 300.94247 190.31651] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 134.04663 334.30887] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 337.43576 230.06161] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 346.74924 178.0518] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 292.29837 271.20377] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 282.04974 151.79858] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 442.24081 195.23785] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 344.73682 112.59884] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 275.86328 134.55118] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 383.60623 81.94965] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 290.27512 266.21713] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 274.53854 227.80933] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 259.88708 180.79501] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 276.30078 212.23917] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 276.30078 212.75978] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 290.82852 205.63249] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 275.27875 227.17682] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 318.91833 148.84236] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 335.03412 210.80791] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 290.48019 333.21774] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 318.91833 103.23491] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 312.06241 125.97121] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 282.04974 177.24879] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 314.60892 109.6786] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 343.88638 92.83948] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 219.06638 241.96492] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 235.65009 173.97513] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 209.16957 287.99954] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 304.19324 98.32575] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 320.6842 267.84381] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 222.10962 228.57933] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 208.489 300.07434] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 162.8405 309.23328] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 259.84933 226.36345] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 254.32518 292.86679] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 314.60892 101.84434] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 254.64703 110.24899] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 298.75259 154.73152] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 282.04974 206.84058] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 269.23325 216.54219] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 282.35294 259.63507] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 255.09906 289.38165] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 255.09906 277.14777] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 354.0629 96.59777] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 249.08711 265.69919] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 222.58469 224.94666] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 262.63062 188.32713] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 333.12216 90.52029] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 320.54706 113.1222] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 285.15634 105.31911] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 340.87836 204.89403] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 259.88708 94.93996] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 319.83627 283.0791] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 327.77234 286.90884] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 150.59494 274.21951] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 302.91348 191.44377] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 295.97388 172.79272] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 300.94247 174.43228] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 290.82852 173.25412] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 307.92059 161.80496] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 250.94383 290.76959] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 142.19232 180.39212] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 314.60892 159.24863] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 271.53186 218.30853] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 234.05319 295.77368] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 292.11145 259.44556] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 212.86281 87.08994] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 255.86882 316.70422] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 304.85803 172.92915] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 277.73788 184.91273] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 247.63217 297.39493] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 342.77991 131.44261] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 256.34497 178.90987] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 310.36697 171.69556] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 291.37741 214.49159] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 366.25882 237.06163] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 112.87334 35.25703] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 295.18094 233.09644] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 380.01373 198.8918] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 259.57751 306.27386] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 319.33298 88.32559] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 354.535 108.54994] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 290.08167 260.69135] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 219.06638 317.2561] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 316.1579 90.86409] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 349.1687 61.75713] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 316.73004 106.72126] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 306.02054 157.60197] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 192.66597 281.27621] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 220.54671 208.65596] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 225.38765 201.10942] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 307.79849 156.68791] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 317.29993 128.31924] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 316.1579 100.70724] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 252.16762 264.30206] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 291.85925 74.63312] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 254.04195 177.64481] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 294.24954 304.65384] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 212.82651 80.13106] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 400.97531 276.22873] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 311.01883 268.56912] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 284.94556 195.1946] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 210.59718 325.26514] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 235.76048 92.02798] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 276.58228 142.82242] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 320.81107 126.16888] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 318.91833 162.78748] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 404.07693 268.18185] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 325.33817 183.20099] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 249.08711 269.4455] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 249.08711 269.4455] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 301.60684 113.42741] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 151.26604 230.28459] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 253.52451 175.71381] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 308.27722 190.65681] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 255.86882 258.00281] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 255.86882 258.00281] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 255.09906 258.31763] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 344.2915 86.5166] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 303.67642 69.66563] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 273.79449 294.76132] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 291.92426 295.16437] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 254.58148 201.16737] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 421.30426 291.18399] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 276.99396 311.34799] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 338.22473 211.12032] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 153.25421 290.61304] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 324.86963 100.85968] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 287.91696 192.26418] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 309.74875 267.15039] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 348.72046 238.76512] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 291.85925 170.24008] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -GS -[1 0 0 1 135.84541 283.25195] CT -0 0.447 0.741 RC -N -f-1077290934 -f -GR -%%Trailer -%%Pages: 1 -%%EOF diff --git a/output/analysis/plots/sconscript.log b/output/analysis/plots/sconscript.log deleted file mode 100644 index d41aa660..00000000 --- a/output/analysis/plots/sconscript.log +++ /dev/null @@ -1,7 +0,0 @@ -*** Builder log created: {2026-04-01 22:26:22} -*** Builder log completed: {2026-04-01 22:26:39} - -rc = - - 0 - diff --git a/output/analysis/top_gdp/sconscript.log b/output/analysis/top_gdp/sconscript.log deleted file mode 100644 index cc860ce9..00000000 --- a/output/analysis/top_gdp/sconscript.log +++ /dev/null @@ -1,2 +0,0 @@ -*** Builder log created: {2025-08-15 00:41:36} -*** Builder log completed: {2025-08-15 00:41:36} diff --git a/output/analysis/top_gdp/top_gdp.tex b/output/analysis/top_gdp/top_gdp.tex deleted file mode 100644 index 4d86ac23..00000000 --- a/output/analysis/top_gdp/top_gdp.tex +++ /dev/null @@ -1 +0,0 @@ -\newcommand{\TopGDPValue}{150,725} diff --git a/output/analysis/top_gdp/top_gdp.txt b/output/analysis/top_gdp/top_gdp.txt deleted file mode 100644 index 5e958ae7..00000000 --- a/output/analysis/top_gdp/top_gdp.txt +++ /dev/null @@ -1,6 +0,0 @@ - -Monaco 150725.194124207 -Liechtenstein 141200.380010278 -Luxembourg 104965.306078267 -Bermuda 88207.3275597322 -Norway 87693.7900658099 diff --git a/output/derived/wb_clean/sconscript.log b/output/derived/wb_clean/sconscript.log index dafc4826..e1aedd93 100644 --- a/output/derived/wb_clean/sconscript.log +++ b/output/derived/wb_clean/sconscript.log @@ -1,5 +1,8 @@ -*** Builder log created: {2026-04-01 22:26:19} -*** Builder log completed: {2026-04-01 22:26:20} +*** Builder log created: {2026-04-06 18:56:33} +*** Builder log completed: {2026-04-06 18:56:34} +Stata did not run successfully. Please check that the executable, source, and target files are correctly specified. Check output/derived/wb_clean/sconscript.log and sconstruct.log for errors. +Command tried: "stata-mp" -e source/derived/wb_clean/takelogs.do + ___ ____ ____ ____ ____ ® /__ / ____/ / ____/ StataNow 19.5 diff --git a/output/tables/top_gdp.lyx b/output/tables/top_gdp.lyx deleted file mode 100644 index cd54519d..00000000 --- a/output/tables/top_gdp.lyx +++ /dev/null @@ -1,271 +0,0 @@ -#LyX 2.4 created this file. For more info see https://www.lyx.org/ -\lyxformat 620 -\begin_document -\begin_header -\save_transient_properties true -\origin unavailable -\textclass article -\use_default_options true -\maintain_unincluded_children no -\language english -\language_package default -\inputencoding utf8 -\fontencoding auto -\font_roman "default" "default" -\font_sans "default" "default" -\font_typewriter "default" "default" -\font_math "auto" "auto" -\font_default_family default -\use_non_tex_fonts false -\font_sc false -\font_roman_osf false -\font_sans_osf false -\font_typewriter_osf false -\font_sf_scale 100 100 -\font_tt_scale 100 100 -\use_microtype false -\use_dash_ligatures true -\graphics default -\default_output_format default -\output_sync 0 -\bibtex_command default -\index_command default -\paperfontsize default -\use_hyperref false -\papersize default -\use_geometry false -\use_package amsmath 1 -\use_package amssymb 1 -\use_package cancel 1 -\use_package esint 1 -\use_package mathdots 1 -\use_package mathtools 1 -\use_package mhchem 1 -\use_package stackrel 1 -\use_package stmaryrd 1 -\use_package undertilde 1 -\cite_engine basic -\cite_engine_type default -\use_bibtopic false -\use_indices false -\paperorientation portrait -\suppress_date false -\justification true -\use_refstyle 1 -\use_formatted_ref 0 -\use_minted 0 -\use_lineno 0 -\index Index -\shortcut idx -\color #008000 -\end_index -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\paragraph_indentation default -\is_math_indent 0 -\math_numbering_side default -\quotes_style english -\dynamic_quotes 0 -\papercolumns 1 -\papersides 1 -\paperpagestyle default -\tablestyle default -\tracking_changes false -\output_changes false -\change_bars false -\postpone_fragile_content false -\html_math_output 0 -\html_css_as_file 0 -\html_be_strict false -\docbook_table_output 0 -\docbook_mathml_prefix 1 -\end_header - -\begin_body - -\begin_layout Standard -\begin_inset Float table -placement document -alignment document -wide false -sideways false -status open - -\begin_layout Plain Layout -\begin_inset Caption Standard - -\begin_layout Plain Layout -Countries with the highest GDP per capita in 2010 (current US$) -\begin_inset CommandInset label -LatexCommand label -name "tab:top_gdp" - -\end_inset - - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Plain Layout -\align center -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Plain Layout -\align center - -\size tiny -\begin_inset Tabular - - - - - - -\begin_inset Text - -\begin_layout Plain Layout -Country -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -2010 GDP per capita -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Monaco -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -150725.1941 -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Liechtenstein -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -141200.3800 -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Luxembourg -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -104965.3061 -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Bermuda -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -88207.3276 -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Norway -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -87693.7901 -\end_layout - -\end_inset - - - - -\end_inset - - -\end_layout - -\begin_layout Plain Layout - -\size footnotesize -Source: - World Bank. -\end_layout - -\end_inset - - -\end_layout - -\end_body -\end_document diff --git a/sconstruct.log b/sconstruct.log index 03c93742..3a32f852 100644 --- a/sconstruct.log +++ b/sconstruct.log @@ -1,14 +1,21 @@ -*** New build: {2026-04-01 22:26:19} *** +*** New build: {2026-04-06 18:56:33} *** scons: done reading SConscript files. scons: Building targets ... build_stata(["output/derived/wb_clean/gdp_education_logs.csv"], ["source/derived/wb_clean/takelogs.do", "output/derived/wb_clean/gdp_education.csv"]) -build_python(["output/analysis/plots/educ_gdp.eps", "output/analysis/plots/educ_gdp.png"], ["source/analysis/plots/makeplot.py", "output/derived/wb_clean/gdp_education_logs.csv"]) -build_matlab(["output/analysis/plots/sconscript.log", "output/analysis/plots/gdp_educ.eps", "output/analysis/plots/gdp_educ.png"], ["source/analysis/plots/makeplot.m", "output/derived/wb_clean/gdp_education_logs.csv"]) -build_lyx(["output/paper/TemplateLyx.pdf"], ["source/paper/Template.lyx", "output/tables/top_gdp.lyx", "output/analysis/top_gdp/top_gdp.tex", "source/figures/gdp_educ.lyx", "source/paper/References.bib"]) -build_latex(["output/paper/TemplateTex.pdf"], ["source/paper/Template.tex", "output/tables/top_gdp.tex", "output/analysis/top_gdp/top_gdp.tex", "source/figures/gdp_educ.tex", "source/paper/References.bib"]) -Detected 2 bibliographies in source/paper/Template.tex. -Run BibTeX foroutput/paper/TemplateTex.1.aux -Run BibTeX foroutput/paper/TemplateTex.2.aux -build_lyx(["output/talk/TemplateSlides.pdf", "temp/Template.handout.pdf"], ["source/talk/TemplateSlides.lyx", "output/analysis/plots/gdp_educ.eps"]) -build_latex(["output/talk/TemplateSlidesLatex.pdf", "temp/TemplateLatex.handout.pdf"], ["source/talk/TemplateSlides.tex", "output/analysis/plots/gdp_educ.eps"]) -scons: done building targets. +scons: *** [output/derived/wb_clean/gdp_education_logs.csv] ExecCallError : Stata did not run successfully. Please check that the executable, source, and target files are correctly specified. Check output/derived/wb_clean/sconscript.log and sconstruct.log for errors. +Command tried: "stata-mp" -e source/derived/wb_clean/takelogs.do +Traceback (most recent call last): + File "/Users/zpu/miniforge3/lib/python3.12/site-packages/SCons/Action.py", line 1434, in execute + result = self.execfunction(target=target, source=rsources, env=env) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/zpu/Documents/gh/Template/source/lib/JMSLab/builders/build_stata.py", line 32, in build_stata + builder.execute_system_call() + File "/Users/zpu/Documents/gh/Template/source/lib/JMSLab/builders/jmslab_builder.py", line 120, in execute_system_call + self.do_call() + File "/Users/zpu/Documents/gh/Template/source/lib/JMSLab/builders/build_stata.py", line 83, in do_call + self.raise_system_call_exception() + File "/Users/zpu/Documents/gh/Template/source/lib/JMSLab/builders/jmslab_builder.py", line 186, in raise_system_call_exception + raise ExecCallError(message) +source.lib.JMSLab._exception_classes.ExecCallError: Stata did not run successfully. Please check that the executable, source, and target files are correctly specified. Check output/derived/wb_clean/sconscript.log and sconstruct.log for errors. +Command tried: "stata-mp" -e source/derived/wb_clean/takelogs.do +scons: building terminated because of errors. diff --git a/source/lib/JMSLab/builders/executables.yml b/source/lib/JMSLab/builders/executables.yml index 044fa1bd..2dfb4f0c 100644 --- a/source/lib/JMSLab/builders/executables.yml +++ b/source/lib/JMSLab/builders/executables.yml @@ -4,6 +4,6 @@ lyx: lyx python: python r: Rscript matlab: matlab -stata: StataMP-64 +stata: stata-mp sas: sas_en tablefill: '' From 8bb2eda49aeb06d2007297b7296a7fd8ba78944c Mon Sep 17 00:00:00 2001 From: liaochris Date: Wed, 20 May 2026 17:34:36 -0400 Subject: [PATCH 07/63] first implementation pass #139 --- .gitignore | 2 + .sconsign.dblite | Bin 29177 -> 29768 bytes README.md | 4 + SConstruct | 10 +- output/analysis/plots/educ_gdp.eps | 2312 +++++++---------- output/analysis/plots/gdp_educ.eps | 426 +-- output/analysis/plots/sconscript.log | 2 - output/analysis/top_gdp/sconscript.log | 2 - output/derived/wb_clean/sconscript.log | 61 - output/paper/sconscript.log | 143 - output/tables/sconscript.log | 4 - output/talk/sconscript.log | 232 -- sconstruct.log | 23 +- source/analysis/SConscript | 7 +- source/lib/JMSLab/builders/build_stata.py | 25 +- source/lib/JMSLab/builders/executables.yml | 2 +- source/lib/JMSLab/builders/jmslab_builder.py | 50 +- source/lib/JMSLab/log.py | 12 +- source/lib/JMSLab/tests/_test_helpers.py | 33 +- .../tests/log/bad_dir/latex_test_file.log | 19 + .../tests/log/bad_dir/lyx_test_file.log | 8 + .../tests/log/input/nonexistent_file.log | 8 + .../tests/log/input/tablefill_template.log | 5 + .../log/input/tablefill_template_breaks.log | 18 + source/lib/JMSLab/tests/log/test.log | 8 + source/lib/JMSLab/tests/test_build_stata.py | 23 +- source/lib/JMSLab/tests/test_log.py | 39 + 27 files changed, 1406 insertions(+), 2072 deletions(-) delete mode 100644 output/analysis/plots/sconscript.log delete mode 100644 output/analysis/top_gdp/sconscript.log delete mode 100644 output/derived/wb_clean/sconscript.log delete mode 100644 output/paper/sconscript.log delete mode 100644 output/tables/sconscript.log delete mode 100644 output/talk/sconscript.log create mode 100644 source/lib/JMSLab/tests/log/bad_dir/latex_test_file.log create mode 100644 source/lib/JMSLab/tests/log/bad_dir/lyx_test_file.log create mode 100644 source/lib/JMSLab/tests/log/input/nonexistent_file.log create mode 100644 source/lib/JMSLab/tests/log/input/tablefill_template.log create mode 100644 source/lib/JMSLab/tests/log/input/tablefill_template_breaks.log create mode 100644 source/lib/JMSLab/tests/log/test.log diff --git a/.gitignore b/.gitignore index ddd0f2d3..5ef31f27 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /drive /datastore /temp +/log *.pyc *.lyx~ *.lyx# @@ -34,3 +35,4 @@ output/talk/TemplateSlides.pdf output/talk/TemplateSlidesLatex.pdf *ipynb_checkpoints* +cluster_compute.sh diff --git a/.sconsign.dblite b/.sconsign.dblite index 63381820ea151693d2847e533b1f39e4dfcec6fb..4cd5289146257767c092260bad4c1a75b387ccbd 100644 GIT binary patch delta 1272 zcmah}O>7fK6lUx-u|qJ4OPr+GN{F2%#6R8tnI)Knra!73w@_M?Ah~6Bb~l?;7Dx`4 zN>xFH3vyeL=ZZ^Js7iY*pgkb9Di>4II>yC{=${2`*JpFP&Z6QaRXcFoJEpDb7)w-7qjuzrqEb<&u&#KaG_@@Ph=`Owrw!g zFdQuEqHb%F%qWv}gGt0{x#Q(i>G-OfsTy7?YN44;E1qKXYrBjFd>0$dQ%NR@W@@&h zi5fK(hN;4Ahe#4pHB)CTcd&eU_TGw{tX_w$y;!&(E4px?x71$rRrYx|dOt$K=wy5q zUhjMDrOh1Rcz)j;uY%m6O6a8N_U}2}dcQU0KI7{AG(h^L?{8tZ4|#ukA$BFUWea!z zattO%zJ@zO(fc)i7s0`O+ki#Jw+)v0HMkrw6@qUP`VPO2@9q`b@bGQF0y_`B1wX&> zLP1qbN5M=piAWT~He^#(F&3#zO%+?R>9>2jU4N4S9Zq03#51;S+WPm>z zU-Lq^V*=qRi)fCYznC{Tfgw}JQK&{SA%n9bgZSYCICOZ(`#1Rx3QvD_3u?n3hq$=E zhNYMl35;Kgc#|VvgaX6wjOfBkashE2>Ei7qmQBiX{IW|#iKQN zcPz`}-ubcPXuI!a_gPP`*N%G2;~^yYQK)AY0#@()%=4(t|0sK=4VA1Of#b)9z1GCx zPWGSAor`r?k_b?334WTKilw4~4FgdxI+YCjYQ}P0GrB{VByWG^-^`yX@2T&;Lml}w(AM^*28Dlv$b2gv=!SWrDgxTnKv_UMqH2-1ln%pP?EM9;mypOzDg=; zOEd&j62*iRNc@)2cxWXA@nB5IG@4-I#ft|$^kR&O7ZEj4DqgB`P~S}3L{7a-X1;mf z@89>nFMmOQ-$6BRs#lg@zE#tQ)IECFL`cwxs(kxg3NF;Vt^EESi>eaJxkY!&otX2)!Ed{FA?n*XnPx|P|4LcrUjC$7@vnssa*O})Yb-5c* z8fe&Mfk!!WJYssL%Y9Cmq-+_uaY#~TD%W6h9aYaPesK);)s+*=i!fH%6MkNI5kbqg z1{mMce_$j35-f5p!HP(<4kk{yqOtc}^=x&gXcm_IyY29TfFHK3z{kxE@be>Gsk_Nd zn`HFgCE<^@58!LH82(hhgy65SMtCvZqjZZLppkw!R3`B1NcsP@g5}$qqkD$$6M{XR zTFf^B;yH$?`4-kCA#K1?>>LCR4v3d@fg$}w>qSf(FD%jG6H+{pcqvL<+| zJVD@ob1osd<)H$zbQ~}<2s~TI#CBY28`zX{B!(@^P88u9h;;>)GDJBmA`nA)YYoA0 zh!%L*a4em94yC##L9oO%0!QbZMhNFeV;R4lg!hlOf;HY0e$zUP6d5PB&CXpY^0gms zm-O)PV+=*uA8o%MQ!PAxUVer>T_=(H+0A4aeJCVc6Xdr%Ohd?eSK@;M~p&F-v{#J1MU=b~0KU&i7`NNW&-j z@~Zeh^Sj~uQWk~^xmX0u6n4Wn?trff{}u=_naKl>_!tK|C5DbU=7c(i%L%4tl;!2y z^U>6YR-lsK3XP?Cv=@FYJ%tXyBtDT4!|+To3)^2%6XHl{X%7;r+1Nf28pd^$II{?E n9K5A2%Pj~mSySc8h70u221cv2p47Fp$i^!WKc|b;Q^o%Pa`k)H diff --git a/README.md b/README.md index c5697179..24ae34bd 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,8 @@ In addition, each project may use other specialized tools. For the working examp - `temp/` is not under version control; create the folder after cloning the repository. `temp/` may used by scripts to store temporary or intermediate files (though some projects may not need it). +- `log/` is not under version control; SCons builders write full per-script build logs there, mirroring `source/`. The root `sconstruct.log` remains the top-level build log. + - _Issue folders_: When working on issue branches, you may create an issue folder at the top of the directory under version control (e.g. `./issue1_short_task_name`). - Code and (small) deliverables related to the issue are organized inside the issue folder. See [this example](https://github.com/JMSLab/Template/blob/05337cfa4a50ecfeda56afbdd295378d8e071a39/issue10_readme). @@ -85,6 +87,8 @@ env.Stata(target, source) - `target` is a list with all of the files produced by the script. + - Build logs are not listed as SCons targets. Builder output is written automatically to `log/.../