From 89a3f5ef74a82ccbd024b3dae81ea22e348c1d41 Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Wed, 9 Nov 2016 15:55:03 +0100 Subject: [PATCH 01/10] Adding link to related project --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4260c13..29062d2 100644 --- a/README.md +++ b/README.md @@ -97,9 +97,7 @@ longer user percentage values, I need real, absolute, pixel values. -## Sibling projects - -Here are two others projects I did while working on CSS Flags. +## Related projects ### img2css @@ -118,6 +116,13 @@ I choose not to use it in this project. Commandline tool to get an approximation in hexadecimal of a Pantone color value. Really useful as Vexilla Mundi gives color values in Pantone. + +### Vexillum + +[https://github.com/talgautb/vexillum](https://github.com/talgautb/vexillum) + +Someone else had the same idea. + ## Tips and tricks Here is an incomplete list of the tricks I had to use: From 073de447bf80259f356d1517ca44d40ff41150ea Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Fri, 11 Nov 2016 12:48:02 +0100 Subject: [PATCH 02/10] fix(aus): Fixing star positionning of Australian flag --- app/styles/_flags/aus.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/_flags/aus.scss b/app/styles/_flags/aus.scss index 6822de7..e3f67a7 100644 --- a/app/styles/_flags/aus.scss +++ b/app/styles/_flags/aus.scss @@ -70,7 +70,7 @@ line-height: $star-commonwealth-small-size; // Offset from 0,0 - $offset-left: -$star-commonwealth-big-size / 2 - $star-commonwealth-small-size / 2; + $offset-left: -$star-commonwealth-big-size - $star-commonwealth-small-size / 2; $offset-top: -$star-commonwealth-big-size / 2 - $star-commonwealth-small-size / 2; $text-shadow-left1: $star-commonwealth-small-left1 + $offset-left; $text-shadow-top1: $star-commonwealth-small-top1 + $offset-top; From 3f54ccef577fe80f55ac684059d92698513d3571 Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Fri, 11 Nov 2016 17:29:21 +0100 Subject: [PATCH 03/10] feat(nepal): Adding flag shape --- app/assets/index.html | 3100 +++++++++++++++---------------- app/styles/_flags/npl.scss | 99 +- app/styles/_helpers/helper.scss | 1 + src/symbols/Flag_of_Nepal.svg | 9 + 4 files changed, 1658 insertions(+), 1551 deletions(-) create mode 100644 src/symbols/Flag_of_Nepal.svg diff --git a/app/assets/index.html b/app/assets/index.html index a70f76a..b4c32b2 100644 --- a/app/assets/index.html +++ b/app/assets/index.html @@ -40,1557 +40,1557 @@

CS
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/app/styles/_flags/npl.scss b/app/styles/_flags/npl.scss index fb2be0c..daffa6e 100644 --- a/app/styles/_flags/npl.scss +++ b/app/styles/_flags/npl.scss @@ -2,4 +2,101 @@ // http://www.crwflags.com/fotw/flags/np.html @mixin flag-npl() { @include ratio(2 / 3); -}; \ No newline at end of file + $unit: $h800; + $red: #c8102e; + $blue: #0c2340; + $white: #FFFFFF; + + background: $blue; + + // We'll name points from A to E, starting on the top and rotating clockwise + $DE: 600 * $unit; + $CD: 600 * $unit; + $AE: 800 * $unit; + $A-x: 0; + $A-y: 0; + $D-x: $DE; + $D-y: $AE; + $E-x: 0; + $E-y: $AE; + + // To get the two missing points, we'll need to calculate the width of the + // inner triangle formed by (DC), (AE) and the perpendicular of (AE) coming + // through B. + // Let's consider K the intersection of (DC) with (AE) + $EK: 600 * $unit; + $AK: 200 * $unit; + $DK: hypotenuse($EK, $DE); + $CK: $DK - $CD; + + // Let's consider J the intersection of (CB) with (AE) + $alpha-DKE: asin($DE / $DK); + $alpha-CKJ: $alpha-DKE; + $JK: cos($alpha-CKJ) * $CK; + $CJ: sin($alpha-CKJ) * $CK; + $AJ: $AK + $JK; + $B-x: $DE; + $B-y: $AJ; + $C-x: $CJ; + $C-y: $AJ; + + clip-path: polygon( + $A-x $A-y, + $B-x $B-y, + $C-x $C-y, + $D-x $D-y, + $E-x $E-y + ); + + // We need to add the blue border around the flag. The border size is + // consistent, but we need to re-calculate all the coordinates. + $border-width: 25 * $unit; + + $BJ: $DE; + $AB: hypotenuse($AJ, $BJ); + $alpha-JAB: asin($BJ / $AB); + $alpha-JAB-prime: $alpha-JAB / 2; + $A-x-offset: - $border-width; + $A-y-offset: - $border-width / tan($alpha-JAB-prime); + + $alpha-ABJ: 90deg - $alpha-JAB; + $alpha-ABJ-prime: $alpha-ABJ / 2; + $B-x-offset: $border-width / tan($alpha-ABJ-prime); + $B-y-offset: $border-width; + + $alpha-JCK: 90deg - $alpha-CKJ; + $alpha-BCD: $alpha-JCK; + $alpha-BCD-prime: $alpha-BCD / 2; + $C-x-offset: $border-width / tan($alpha-BCD-prime); + $C-y-offset: $border-width; + + $alpha-CDE: 90deg - $alpha-CKJ; + $alpha-CDE-prime: $alpha-CDE / 2; + $D-x-offset: $border-width / tan($alpha-CDE-prime); + $D-y-offset: $border-width; + + $E-x-offset: - $border-width; + $E-y-offset: $border-width; + + &:before { + content: ""; + display: block; + position: absolute; + top: 0; + left: 0; + width: $width; + height: $height; + background-color: $red; + + clip-path: polygon( + ($A-x - $A-x-offset) ($A-y - $A-y-offset), + ($B-x - $B-x-offset) ($B-y - $B-y-offset), + ($C-x - $C-x-offset) ($C-y - $C-y-offset), + ($D-x - $D-x-offset) ($D-y - $D-y-offset), + ($E-x - $E-x-offset) ($E-y - $E-y-offset) + ); + } + + + +}; diff --git a/app/styles/_helpers/helper.scss b/app/styles/_helpers/helper.scss index 08a15ff..c28a3c2 100644 --- a/app/styles/_helpers/helper.scss +++ b/app/styles/_helpers/helper.scss @@ -64,6 +64,7 @@ $h432:$height/432 !global; $h504:$height/504 !global; $h720:$height/720 !global; + $h800:$height/800 !global; $h1500:$height/1500 !global; $h2880:$height/2880 !global; $h6000:$height/6000 !global; diff --git a/src/symbols/Flag_of_Nepal.svg b/src/symbols/Flag_of_Nepal.svg new file mode 100644 index 0000000..c0b4a64 --- /dev/null +++ b/src/symbols/Flag_of_Nepal.svg @@ -0,0 +1,9 @@ + + +Flag of Nepal +Coding according to the official construction in "Constitution of the Kingdom of Nepal, Article 5, Shedule 1", adopted in November 1990 + + + + + \ No newline at end of file From 98fbe02f01601a923b27c527a94ecf76cee3249b Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Sat, 12 Nov 2016 02:57:54 +0100 Subject: [PATCH 04/10] Adding Nepal flag --- app/assets/fonts/Symbols.svg | 26 +- app/assets/fonts/Symbols.ttf | Bin 62876 -> 63160 bytes app/assets/fonts/Symbols.woff | Bin 39068 -> 39276 bytes app/assets/index.html | 3100 ++++++++++++------------- app/styles/_flags/npl.scss | 54 +- app/styles/_helpers/symbol_codes.scss | 22 +- src/symbols/Flag_of_Nepal.svg | 9 - src/symbols/NPL_CRESCENT.svg | 72 + src/symbols/NPL_STAR.svg | 66 + 9 files changed, 1766 insertions(+), 1583 deletions(-) delete mode 100644 src/symbols/Flag_of_Nepal.svg create mode 100644 src/symbols/NPL_CRESCENT.svg create mode 100644 src/symbols/NPL_STAR.svg diff --git a/app/assets/fonts/Symbols.svg b/app/assets/fonts/Symbols.svg index b652c1a..5fff292 100644 --- a/app/assets/fonts/Symbols.svg +++ b/app/assets/fonts/Symbols.svg @@ -127,35 +127,41 @@ - + + diff --git a/app/assets/fonts/Symbols.ttf b/app/assets/fonts/Symbols.ttf index 103a7341db68fe7d851dc48260eb068c0c3fb0e8..c0c0ba78dad44d59e5c6209887182625520d7305 100644 GIT binary patch delta 640 zcmbR9nt8`t<_XI6Ul|w}dl(oP!jf|n3$iuet1~b#?O<;VrQV*2S99=0Tke1X0ZUW_W-d<9f`3_$fDT=k^?Xgt5oR|aktpa9T#A8{2J{r~U(KP)UPOh7&d1Be6xkUrDNa*TzH z$0ko;v}ZJ)e1UNf6Z8McZA`YByTH;63|knO!7Lph%>~r6i-Coq1E`S&2!RGXGoJj0 zsg&86!DMp+GcO}&15gSCOg5LXL@|jyGXg3BVg_T7QV3=+nS72dT-+ilCFx4afi#cw z1-aMqWb%p%))g))U9j1L{p;a+9R^?^s~VZxF`Ap1@-ecjo2#3%o3pEfpt!m?yEwa= zx|+I(xE!Onm@yMWMtn@4x`tAjpH5hYdA2~Tw1cB`j6k+|MyQsbm93J7dS6U@#x)2P z)~%=LAQj7>Wu6%pmI+al7{q}*ux&ug#m#{hBiz9#b+z%> zvBs-Xt3yN9AhVgCfrM5|U28giya^~B0+a@_k2P*qIlWYa(RA{u&uJ`-ri^Br4ZdhF eit+db_{2L0xduDC`h{?SIKd%~L6alCIspJ=ZK?7A delta 379 zcmdn-mU+%=<_XI69~l@Jdl(oP!jf|n3ofpH_mF{sX#)cTi(Gn6Wm@J9*Gmix>=q0R zuTnBn6H~a?I2HrdJ^*5~44?o9Gm9CJy$6U@GIC2Q4)Ff}1~l&pkbfp8KRI#HrAr4G z7}zcV`5C#16$MO%{ER?(2_Rn~FEKY&`?!?%d<9gR3_$fDyu1DQ<#>LZuMFHQKmi7ZE3W@+VD$gL|NpSCurLAn91I{51VH+XC(AJw zG9H;cfzh7PaPkGlJ(H&}nQLwX%P}x)U|V9T8`3qAi zPzl@SLS`mL0R|qBu}m2t5(tboH?c%9P5#0bDx8)QlzJ=OC^sW_T^>t;L!n8j(dGp9 euZK4qo|&V;XgvAcm$c0mUo{vfmwj^rIu8J(;b-6g diff --git a/app/assets/fonts/Symbols.woff b/app/assets/fonts/Symbols.woff index 97e860597c5fdbf81ad6df8b9ea9a5d0b49cba5c..095ec858b4c8ad4e6e48b0d3e6309af1f031194b 100644 GIT binary patch delta 19679 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

w#jMq_o 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 delta 19485 zcmV)NK)1i_vI3m30u*;oMn(Vu00000n4AC$00000^_-CuKY#IKZDDW#00D#m00Arj z00bV+i001!n001@%tU+^VXk}pl z0F@vB0012T001Ni0|Yi`ZFG150F^)h003A3007Lu4gdCRZ)0Hq0F{^k003wJ003yB z($c_fVR&!=05+BY0000V0000W0&x!kZeeX@005RC0003d0006CE5}QpaBp*T005Ur z0003~0005<6cV`5lL!Gq0m73@0VjWC0dZqkm>56|Mi2)8_BaXP0C=43(`in^U=)Sn zw@`6H#d)4^o~5gDAuh;YF6nFo&n;&ek~~fNrBIUlUSJ6r+N-tD{L)aLAD=e;`H;2# zyyd%prmb_$=5t@EtMA+XI`Ffte{sYzE3Eo^>x|i8lPxA}v%@ZX>~p{&M;w21!YOB* zbHOE7Tr=f{Tkg2$fk&Qr=Ed)SO2cM8uQg)2be9#FUp6mA5CYeC^|P`DrzZV82}LgBtp zxHJ@Q4u$JO;SN!_NEB`pg)2Zs;a*X=Toi5?g=<&fB!@?uNhV2> zU@;463WNb0*cOOL*(zFEt6U`t&Xjg(_Y$>f)Gmj@rKqJ=+1d+B1@Z;`efykv znG{q>t?vG#*XmR<1 z3x|yt2(@>X_Bk^ZC(r@?UhwhOYp<+*N9~7U=Jd#PZnbo_%hMOfNk|NfEUZ%H4jq>x zDO6TWPh&PTB!j&wCZD5hA?A_OGH#sO-0{l9hFWZN7<;0ey zc978pfBAgi);5~FQvyhaHcfuIRI!od8M3*RQ3Xc0rHYDzfcy}c#9OU|c!q{rS(Hu? zMmL_m^QAAt5;x=?KKMVup)iWL=a5cmq&@DarkC}=@aq{T)LI9~e?!gP%wbZ733328-$ulFhDf9Ke7_}O z`!;Ygy!9IiT^`Vokh@MarB*7q_wEj6r=<>zX~Ri`JEVf=={jAK+TZaVU!}1_PmD~U zU}JTIfYHTv#%Y|APW-`dcRdkLR#G9N&Q?>v2^|T)xeVUe({D@?uwxt)U2t5gQNAMb ze=iqnVO;#^`%afOGx#iM34qkuh(!tMMddDkX{<|-K`R~5_mUl4l z`@c~ApDl5J>ZyxQJ@the{+nEU>Sy5}fA|HPvyA%}=j>C^x)kj5&DwtLmfBslM`|yx zeRJ*IwSQjw(b`YfeyR2wwSQOpBl0GClwP2B(TC_0^tJS9`ZoG5`hNN$`eCcd``h#n z*s`_m!QtMfRy(s>CL@Xp6Ad#ewI#f01rM_VO95<Q*<$Gv`17LbT$}xh}1^Vut1m<<|F_QTS8w2f?dR`|g zKg2fo(Cb)i^GQkV1!lbMg4r|&f2X5cKCY-hNmGjsuFitMK9AY=7*}buD(}Qp1*Jg5 zJBCuwaoD%J2$l22*utcTr}?z(wlfqSHN$V5M$IDxx}+A2fl6;FDm2Dvv95|BTE zsb$gR@bodxNja4HvpGCGJuU7AMI_N3!a0+ckQvL9HbwADsk>+a=-~ByUK8Kf)Z>?k zRzezCcitQ;ZCvDr|F{yqe+M?E54&9GX$gmorUxI1kn!IU+D8ECD{|Mb3!c#8;4v>3 zF4h5UAhrK*b}%R--8k|1!Qb5aD$K?4_yw>3+O0;<;Lpj<+MYib2Y<*nr5o|Iw?tQ4 zk#xW#A3AUZ-}oVa6%1DDTJyrEr3nm~?SrR9ycBy;1%B%uwie_0^B)u!t$Zv1$c zpG$lirgYC0o~KWUli`gOL69ejz*gT^+*?nT z88-<7*PUML2U-1mq`@9GxeFaYeZ#C)2h+y$Qv^*T8H<#NO<;Q68;_%U9gMosTHIC4 zFK&JJZhzCjrmxToe+Uuw@H(bNh<>4hZ$%HBTD^PP^>T0~nz`?D%XqE{OS?yoBQ+#D z>bIb)m3A6Vw$rR{#Dg>-a$|E%sm-nnmP-)((($$4Mx|}=c2cmPQIdj*V0++jd1k!E zi?s+=80#fXhiNZyH4L6?@7ME)IQ}K98}`GNF=4vyan%nbeYgc1g#yKb+dy^&eRlxJlZ3_glw=U>89`wZWX!F zt)(O(Pjl|iSU-pk{zv5`yxD+*&mk+6=p)2+LZiQ+96=os8{z$1Nu&?QE#vVIfqhF& zh>9IAQ8IGzf53J81q>?>N%#R*IjD3ZoZi~e4LHl3!~wqwq4-EEOk-EUK@RSgFpjZK zwA2OM+yp5jo;#egU+5MAjk1}ln{Ee;1EIU4B<4z;M`#_k8Kq8}M~b9o+@5=GGG{4{X7l zVRVbhv z+-Z~NQWYK=j0ieC_{47@?hA(j9$=x^usBeJAz4nj@R3~X8j~7RC;_aKLsMOUilDTD z;wY6vy$Bi#2bb%5uzCUwXAC%jR3U-66}gas%YzQgCgulVe_B5ntf_Z#6!p1A-$8$w zIbhl4_T)kPdN#G^zqFh*@UQV{TkM44w_J`UUd=`64+d_L@4;MC4FhNn%(wiyi{Zy&EsZty3v{Ja+rEDym_skxD+poO%q(}~e1ZCnU@;uBxqO+nF6P)N!yFldh`n#wjYu(xCXY3a$}X`= zplESfmmB(aF)TaRa#g~^rd4s5HD6{{{dBxj*1AEDPpeQZT5WKteL@vw?jmm{ipm~7 z8S_+DoV4U)ET0Z0k%hN^Ti+2Q0XVvg#0pW)tqSMdN?+Pv&`83Uw>@?^glKlzpYefLVfSc!uVPs+Fj~!;QkqaiofWMhXhp6O6WZfgK3W z=u~JY_u{7S#a?cdh#mYIat3qhIac`A~!+gtb&(+MEYzAcA18ggAiNbgw<@6W9=T%h*gF+MPWf7f$w}tr5!d1)#!zHw%gXmD@dZtLtC{qUB z*EL8Vi!uPHo(a~H%Qf`g{csqo6shG=&wwJ)A{P!p-b0Fi!hW>w;7Q|oI7~<|U{YmN z>c%wQQUvwR9HQY-ilGK5p#cTs5BXy#${cFwWaZ!<3O;o-le6f2;K88?#vvFQ@HLGp zJQxD9UkmUKaLOt~9uw40^y2zdv;|5tVfYHCjfXl^!l@(H8I=#Atw@YOJRbwI!f>tZ zJDHg9X~aH%6AbGb#TwvAUcFsJ0>=c-k;Ek^V<9g<(CE!ZTuhw$5EJzE!9w zN)RY`O6~;I6%NwCyZd3G%mStu1N#e^?sDiVg=K>(4melCo#wi5^Tdd?<_37YNX|{L zddYK$o8X}Yb}ecty6w6Lon%`Uw>_Z(A8E=B435En3PObh;b3DDx|sxEh6U*+7$~v* z6b6i;^a(;MsPy4(UOT>dw|d)!yCHFS`KFGGWqDi`!OFO~CQOpMVy&12C{qH114|T5 z3#18`%D}nLqyx5&440Frh|&=f<2ztEA`N`qzAU^Al_sKE!s=XYtP117>0TcW#w&pr zDsEtZ?mLGstD@pd-_-aS9M;OBB&wIprB8y!_H*9RNE9K29R)5Aod0E`FS!c1<8p)x za>nZ@zUF8|U?U<|}Hj zfL>#VEq*mT8Dly@#Y6Z7x=ydshv`3}Z=~N!-%Ed#evJMG{X_a0lh#;2J=xpX+M!ZM zzDzM<^l9pJWY2}CSpT-iH^5on<3NnG-D~z7&3vYufdecN}nMV&ghdoHREYK5fGx z&@Om8TT8ta#|iSusNu75zS#?wU=P~%>nC!tlP>i(J(Df3T#V`QC|h(KC&{<_%UQI! zzPkl3WUzc`B~6x^og-b9I6Oad63phMordlPgR67p@o{4^4&lUqOpn}Or|ZdygzI8+ z+{o*3lrQyR*UKWey*?E6cw~g@_`R!|CSKrSIXRqdtzI668g&rBUCSpZ!YY{ND1+$- z=!y}~poB;WCl%*daQpvYZ>*$6YiU`5Syzl#+J#uphMg_tH-a#Z$NfqC zMg8G){NZ!^LuFroQGe)QdA04()Ni4*NW<}WgGhT{wl}Pfk`JA6<^^v~Irq>faJ^6LxON!4=#LI#<72W}DkZk{&tfC~{)5UiXMJ z?fiIXz@tC-PEO@~*hG<|`c~{o@<~$ii@wkwWrb9HlnzzoqVSbH%__26+$#lx-0xCr+z0U*Wo66>mHIfoRdNi z^`2q0PPv(_=4|_ZO}*CnrHzg|+wj<5{@1!%cd@HuIVo0F|6l3puXx@O1~yqc^}h0n z7v_VrUw+^l7Q?9C5m&&!U# z2l%y%o#%3-sUoLn1!rpxI0 z8xG~$`S^H0Qr^l7*P;dsH}4uGU^6nsPF#M3fC&xn(|XnOms}x9xc2g61^2beAGqSL zEUWzCuSt|jPd~NkI~0-6YSq8<(FXN`#)+4%7aI?Kb5nQ@ipm$K-n8SRiBzxZ#lO8K zYkn=S4QlJPdF@o~mfD@Q>$Mku)m~nEvi7Fh+iLHuy|4CtwOXQzeM~Ui{7;VQ)rr8v zrc7aAng~x=fh9in&?{`NVKN@sM9gXAqAvf2iHbvy9d8AO4t`Xrz?63{?`f}}pg@d0 z%B$aPA_dMgtN&6|S6{q1{N^}f^i$E9VXwYVxUHIprVtf04?JsfNpNK`_xqS5fuKW1o^zDzcoc%ISkVAZX$Mwke&Yt1h z+r{?Ioi4r368=>OA9l%0UXqiKZ|@Kuv+E?K+b;Z^f7SLj$;i&O>u!3Fzr@~ddz<2u zuESq<$AXU2rvg1Or^Fec>7Qd3J*?=s9|SjXnsL^Bd?l(Ra}g z&>x{cMSq$8Z(u$D6DI10eB`&jO7(FSue)6(>U5+ck z5gS0W8F);qVQkITqVF$C!&;6lmeD=|LC+SeY>U9HISiI@ScS$$V;eK9lJsaiAx}0~ z!gxb`XqMVWqWzsP;%)IRqhSe4Dd{B^rL|;lfk~`IY0qL!J_0O>dd~k_>M@KHP0RFG zRY;Cc?$Yu_lVM*N1WtDQqLY1JFH~HsIR@d%vVDAt{V%bcTI0pxn;_hCZmSRX=G$!e z>~+?d1Z#W_s~-su(8k7$A6oF(qqaxTI2HvWDl4nK944zxQlue490mr@X8Q`mbg1F7 z2fLDBAOW0{Az&MSTU)rRvLaMfp@d4$Sm7FsIuC8f;*CX)|E-jNQ2C|E1qLi(n%b^} zP9vXXJVCV!3s{U&PCezgu@Fugs-)fs{19chnAd59fg46H3M#QM;fYQSoOrRX+kQ;5 zw4a6yLmAp=cgfW%l2XfdfRbsU1W#T?o-|lkArXu2yDnUR=!G7*{wJLc<~lIIj#eT9rues;q@{yNXQ7iDIKj`WP~zG*Bv3? zG0o0uD~5-8UXm|$9WTjPUSKLR!~l~(2{W(f2bmNi@=~99Ja%0#M%`_%ErlB{jS8bw z<^_(9;S1caqc}YVFyVY}7I` zYmGw0R$bET1sKQ(gDj2X6ds?XaO^YGiIe<@qNor7UB<#~Lb!wS>^ks|N|fn?w`&pk zN{(P2in^@67RPCwkqDDS!H-fB24HG=&4u($Zd09$;A2 z@+s&wtD7#|%pnqb-h(wKN!_)%xsYjsIYlmi@zW4(C=bK8s2QsRSOCTkBVTFmxrP&O z8FjS<2B-om0uAO42E92-cVmDIj4^0(8o-Fcw6s`I`95tpY6ce^ zaw*Uz=yZJzo&xiYwqbb35+HL=N{&%vFw~Um#xctCqHcYJ8Y3ROi9yv7=m5!m7iIk% zm;y$_{-BsvC{ju|VgQ)-TCleeOwVywv*#g`9hjrAa6{@^Ml%EZ0GBRCtbOR3P*X#F zSEt}cp*EpqPsjWuG|FLh)Nw5YirzAR%{;Vi&ryQdg#p;Fp^jj&Fs^+j`+?!S4ohgV z5`F&?bbUL-M1ev%VCilP@(!3XjD}gjNfBH6T&0bZBoZbX>fmwdBa9rzhU`=7L`9v_ zZ*ZeXf&&3P&4V;>9Ti6~_2JUGl+-j+!F-hZ4wTehM&x(6>q-zWXtr3lT~Nn=O_z}6 zSGg(J&TQF5-i{c$HtB$a5;qg94h_86!-?X;=<@|5@1?V)h%3_Iz6sfmLxhH|=o;p@ zVS*q(G@q>@&Ax@#YSY^J+C8;LYOkt2U3+`&UA6D7{ZQ@4Yd=@}6-30AnaDD>7m}M+ zN2y{_#vON_1-il~v#eyZv5Y)_#eP+T1xNJWY_bPO4IYgF2C(4B7CD}H+hx&4UWhIk z;Q_c)5zr`m-Tp%5mI@U=MB{7>M$S~=sYgo+8oU%6hop>o1;MO{jo`eSk`Kr6(M#P% z6fMnXgRP{_Zhvg>+W-7@!xx-;>~>a9wg$8LQWQ11myX8E>|}2i*HvGCJKUKbiO5%j z{ly*KSM_*yI`9uZnz&#_9-)pQOw%DJxenks@dpV^t%Gky{m(TRsJNfIB*c}qM}y!p zd%d_SeQzh}kvLlFI1wufdH^FbDtt~%2n&?F6YCd8!>H5YHv&Fv*LU;>BEGc+$J|B9 z{N6(I*I=P&UE?wAvI;-^i<@>ZcyLI8xC|f@H)cEY9p~(MZ|21iH ze{XH+0zxE5s)1{TbV1IU)yY5>TZ$LiP=^Kxgbcxm{FP*fKfTzvl-+If|ZG(RQ^mo4JbTj2a(tzJA`!lzFf_y1XyKf#`%097?{C0=!0llhWMW;<2nT>GWrtkA4u2 zG^d?jp1(95J7efpE1{50dwyzQ*i{)KDg`>$Q_ z;Yb*)jqf=4#yiGq1AZ|!L7W}iBGJ~dEDlV3<8AM{>nHD8J$Qiq_{xdl`fKlyE2rPG zR}ZtL!KHtHdSMcpV|CaBjpAabC#Bn{8&9pDdI%+VSGyVVGbEb>-wfK#=I*GslcaEL zWZhL1I(_KWy7Ej`gkXto3$QZ5m~out&Hlyjyf|FS!esd1%HTR@jU#VAzVtXJ$&HV; zT^~hWBL{Y6&crAUiY6EhFf#|R?F!#r>U_wmunT#AQsSA1SyzK;P$rHLFxaS-X;#7| z>|(3sV>Pa=v;DK0fju;;Wwl1FUF*VZW&;6!jbJN-Nio9hXjUlrmx4`erI^s#*ByKv zIr-G1zei5Ne-FOy>&Cagyz$~+fAi#tCqDc1iw}P5^oz;r_{Hqc4&L#n2k*G@fj=d$ z|I;UbpSXnhi;x<)6LOC?eM*J7KwCNi3RxE*<^+Bd(Z7|$B$7(j1&sfV>FTJpm0AP_%@!s}< zH-DIq7iB>{UND<3!}1zgvH(OI9O_oi?IX~CO<2 z)6{P}is-YaLoQCvIE(Y+-JSQd#qfSDe@v#~TV6jfVAYdWkp%gL&IbF}?ESqLbXu&4 z9*nP?LVnr4pVDK+5LL|razUY-86j{y^9!(l1^m@~FmR}vJOEF)tH(`oTYKaE?EXQ2 zcZsWiDT$*qg4CR5@cOreDLhl(Kj^gRR{xHj&gI;JnQ}aMCG734w+2@AtN9YEyA4;7 zI?krQsJ<`H@8SxuB_1qppMQ_pP}QSkjb>xfs0V9j$$FL`Bf ze3vsPzool#M}Ld9I)nSQ_*c()`K3&Mff4#I6<_KO?q~16d~0EN?+QHR#S=xHfnR5@ z;(-wCJWTz%RZ}iI7>w&tehm7!?||)o>Pq}zRIpa(K{t6n|JQV*b0H6sg0$f6!Dc|r zIr&>oYUgU#YLC@kT6<0H$=Vxh-&XrqwV$c|&$VBxeWF%Ng3|fLe3Z0h`{-nU&WFgQ zjNAQbI@!Zd!CFWUuS1wiSx0JtLa0}4RbT^j;E@sMFt;>B-tWRShX`qVLwLgI@6m?FTt938nsehx zDus{qzg~Y8<|M)^d;uR?sxygy+XjoMLpq}sb>!?K8T8HaTU2k@nzROet!8)Kn}Yd9 z$iX+i_O;*2;f;?t&KA?PSmrej=;i~Is(JD z(dsIuz=xEg59ToZ12!ju1KP+a7ksnI zc7ua^5B`ddDC-RdOOhV^ANbpAi>=G<$ve*06V(aYCz?@93X&N(e!#=_w2|&sgw&Uv zC<%;Pm>@xfCHRjXzDN{PJ`GNy1m_bR0`bOT`-#z|QilNcy3euShq?BojoOvix{`be zM%7jzQ~+)ZWGX7|{7xAqQF0`!^mkcDF#V#E{_PTue)t z&AMUZmR3*jQo&X$iYCW6Yi9mNvh#3f;Iu@4lAgPC+xd+PPmYq+fZXVbL`Or<-qRWSvf!co zeTrNq*U8Js>&Z8gcajg_sZ{kcY9d#|W%(lDI6!)S%a%VWiQbDYEmt}{eUl4+zDh1H z_Ns-9dE~qzU67*G5FS^B2lf!#x1}D>{-Mlfm-Jv2Wkq>hRdpwLFAU$yqT(SDhwy}F zufKVpa)My(0{)?-zE{$cRFuK|!=PT7N2qR8eHkw7mxUipJX^?c*ggxo#8QZ=n9zPc zT~rkkX_pqeWz~08IsuK@1;-128>yaKRFRi(fwBQzRv{fkaL6VKJDwzegNh-@cNto$ zqFn)QVSuqD3^dFss#LnB%2GT0S-6#D)ME>OxY1_F7{yi8@1C9q27;ouk>)<<3 zJ`k=E!NDh_5K|s09(d#q@Xf)^--R8(br0Soggy?d+bziZd|&wlb~fRE9;`VsbhZ)9 zC5i$0a~^QjA9OO}${WAuXL{}%(OIX{#+op}OlQ7xjJG6hdwGXG9W?wllbdlf zh;Q5}h3m$**GCijQ`t1UE%s0sMcfFb6PdMoUj!4FXMgLS2t|4Bx34#3~xSoW=*oVV4Mc|^}6)x?C<@xaMp8^v+)kDbssGWo~ic+rTFOM`@FIl2{hjC^U&k9{}$svJorZjF|Wq>+rm_(Abd z<|kTpd#x@0V2u7j%5uMcpR;JLw2j$pE}Z-7e$I4TwR8VCoDK2ixdE3jxbCj5EQ7&K zI$p;+=4tP?<3aR)1pN0H{O$~$PBU6%bdfC=##zl4l&wb1PJKkZ+>MUO_F|&kJDTEH zva0pT5Wkz~*p&hLk z%#&e+u~@P}UDwktp^h`;;QS8|cgeg+1cube7j9t9C$E8}UmLh25&L3`h>2ir##Ypd zPgaVRgptp0edMu&Kl{|d&y($gPm=S$Pl`uAd;~rtjZcva2cIBY2S5M&2Y>#^hsm*n z&y%eW{7LbD>esdZ!w2Ex&yk}Cze2>pCl5b^uS*-Fu{u1pngf2uu(ne>19sQ_wMSrA zem(5U?}1&phG_#iwRoD;0(hp?MvzX+Z5Otfd}^}=m?*KlI}$9cvU;@I*3zkkcH82; zBA<_>NUNee_^84>4Ml3nnQXqZge=W%=AqhEi_#N+*nozVsvSe}M~<(^Q^en5Umz!v z;H3Bb(GK~s!LGL-H~~9Br#F7-9yRc!X4l`s*2!HLACKe7V{iMWM~9QgE;er`uX_d6 z%I&Co20N5L^JD90KC~l+ruWL755Z42UNPKYe-Nv>2sz#Dy8-__^@Hlb2_iyvM$hm0 zJtrf7UoRJtGWguNK>YIOyluMek*C;q4dx9g=ihgk(0?Df19i`E$I}BRC@7*(){;^xPH>1Z-lJdU)X?TR5$Q*dK zP$z;qJNbiuwts@Ljp02!6m^)I8kwayJdFK+VqIUe?@`v5l1uChwPUq=;mmy!#`e2w zKUw=YSkn?snTjrrEb<^U;u1l>_!HnaszBEb6v=T$VVm z@u@EO9OEr+HbaY)`zKPp(QHzn6G_ zRxt^VkeK;gGz%OF+ShK|)i#eJiWa9l2^>;1IDH7wGUJEFSTK(I=R)__mIo2%yQ|L1 zcx9~ap(buB8|Y25L6)NWAQ#dbtv7w{x7OFzm~+wWH&LDs{*dgQ%?-Nzuqm{?$Hs#Y z>wAqu=!_EW_!`{8VC46=&V_up7k4jzcjMkJ500)zQ}#FR#s=qFXiqsvEDTmpV*K2d z#$Bmn#J;}bf^nO}R_jXU)sZA=9~F)nz7x|5Irmz1CqG{$ceg%R{Y7(p13CcN${1YfPxgI*96mYDFZ#8xgMBamA^wy67x~Be@AA)p1rUk0SQUHX zjJP5m6fYA`i*FVGO#HC;aq%(a0Yt?ltI>`B?O2GR9K!-fi-lI~JUAC%4i#k}uPW=c zxJ#SdR{NF-7PlUo%Fbt&`rO7?i0yVVTUa~Crq~h1IkZKlnAa@QObspPL^}#+^q?Uwnmd{EIFy50ybtiv8 z5A7X#cua6x^^N&tDmO~A-g3oF%f=!bz8$QPjPUVxqU0$)X&9DigxPeFmxg{`%!<^) zXS#H8!UphX6N?u(LuPh7aBGyQJ#2+H{7Nc$6&EF!?H5R_Jg!TSFzAz z<<^%DzpR7e`+aHz~HwkS>2=G?v5pVund}TcVD8+TLP>34Z(^%$7`AM6{(y zURb>IbWv3}qm-8gcc3;|sY|e!+FIsqHY`b(;iW9)a*5Z)il>0=T3Qdg_oDU{v;tlZ z$s6VsZ$AEgwm-F-@!X<*@jB?s@%~|Sd7JK(#Lr_}m~Ge85LLfz?Bz^p{zH>#b`O66 zo?zInk|L>i?QGE#Ub%0pxsVDFP3q)>= z#&h^afew$wkKkuGg@$msh3VMfPL6+Bp`K+*v1DH`@A4E2))2FTm<~Cb*v`az*%d>F z$gO4Pij6E_kZ3V0F&P%00`FROma^f7(cXLpgET8-x%!7Am?E>&bhfX$D9H_zpe*xB z1G3Gh_J$bggl|}h2UTRMq_Zwc{h09#@$=*yWbMXPJLgSk~kS zjt~kN)xov0<3# zElAImz8zb zC`IW=L>;jSqr zv(cZyyD=|w{Xn@ZNG%90jva2OE0`9kaYAVYeub+r&&*`tct#-%QYn8;G*4P^m^-$t zh9zMHZY?~>4PwdWoWna4U+~azu>cC|ccsT|HI`CfBm~Uk3bPlkOPB^nlu}2d)`I6@ zIM<*sG2FooO`15G3h5(=U|Bi!ttiGSI|Wl9GE$)Qmr8uBt&5neDVSOww93&*$1Um& z=vfW+jSR37&&e_CujPLgBm;-fIVPQ5p|G?}!x)9(y6ZJtjtGhvR+~&>X*A^|S&Blh z-bvtF5qL>hJO+M}Cny%r2VgM6D+;Hbhtl7U`dlVb_}aL>!I~|umy`#S7ztsR@AZ_b zXL;ZwLn~)s7zHDkCRk0@FpR@=)L5s5a3cx552KhynEqCdFJym#`AI1ZbP<&m@2~27@?k(dK3nHe$ z@mA0?tR5?60z~>aEN%rlcNkqE6Xn1hflsA$MuMaGo4bTTVeaVI)zK&;abwAKod`4W z)QeBxM1z(a=16~z^qyK`KPxPmlfKjTVCbUAF$Ttf!^j00GkHUE*AqR7#0MEdiai)* z=1gFeh;oeyBs`f>5BsS|l@%~S)Dp9-=Bxy*U|k~R6CNWv#i4h@taHKXMvX3}3x@m% z@J(^Ig!@4kWM2)YD=aTq3{1y4EL&HDb3{27XW8;KB=UdZAEbCYrGy#?`ZO1)ZUXBC zhSlkyx;s9dzD&d}$D%hFomXTw%t%A+(w%3K&se2#%eUgN@r70K1Z zxKAN|CxCwy_IY|9OGm(t$Krk>xWp1hjzwuO{ZWTR!f!~`%Aj8qbI?P9Wh<~V6}}Fm zwn!2Q-W4i}SGhut)uzNsu)_^tOmK^oNHdJDMeW0&17P_Q^glQWF>8R~HmnLozE0?D zOfX7YUCYo-u~n!PEBX*PXNQwI@Ni4$jw^!-j~jpFoyS2&WIF8RSY%7U@?y5)kRV2h zv49beAa?<=<#S&8kU%`@F_%p-iAVdLfFC5!u zco&JE^$_V?K2>imXv0-+BLkCUjpWnM@wd*?2ozNf1S_Oacp#i?|px;q(1v(tJW?Xp| zWaL_Y2E;%iWDg-!ICb!KiCv3a;)@z>`5%7;wHPvq)56B3D7bnQn}D+ksSt5cP-h;; z8D0Sv98efsy5I*)HPBZ94-0X4xvY%ic8~(!`j#->qRi}vJT8IXnH`%E=4_0 z*uq(Yr49@yHqJ5&?tzF?&Wx6j#NTuAW#BE&>BuBikk+!5fQf6lobYg0+m&oY z48a+K_&r?67QUu~C@)jrpml{?)H!^p+RiuBNxmsQjBO9DS_o=REiS!7JFCzW!rR z@7}@XEk7evYl)GhNcr*G_ivH>j@_p}_Vu&dZkzpsSKP!t9I!8t`|<5|U;^T?oR?OU69>6N1Yy%2o*uSOvB&xml&Us5-Ml zW)+og9$MCOi@!%3KP(~g)}OH?za@zycmVhTKCk@EUSE}-mbi)1b*enq9y#REu)ay} zu&@$bD(m*z>{CVkYah2$235An%~DcXjq0fq_<^p4r4K8;81yO6l;M8}i#nf|{^OAR zb$~1~6geFX^SmTk>iTs)Z#iI^*3X~!uC4pABmIJjBsg;2z3+Y<`I9>op2zZq5BWa7 z?|RE6PWs6Rc?SI8Wp}hP?zXPq$9?~yhZS5V)EyH)()ZuzUOy5ff)&1WVt@Ubd-V3i zc%IXm^Sa+%N)pdw#^Zk_5i8i-XlceiEzcLvWu9AqPUD>9{CW3|s&QP@ZR76Kk+*tH zAsvl+_+iiI_r9R%iLCk280;|<-Ygu!)Wpfb#2uT^(xKf%!Jo` z!56Zd*a^IDyVc3ZBS=?sO?$e{4gzBl50Q z+a@z`5$~5e0v029stifa4~exGmP~M7%<@GEmzvlblCn}fF9Cw8l*>BQdM|5I^5T$u zwfwAFrWgR7+gnVw>AcA2+jLf;3oBxrl1guG10$#!X{CQ6F{ZV@yBH_k=ah$(>E z%K6Z6%RP|o1jfscPja>7w`8=RxJ#XL>&0F+^oj(HTM_oKO^QsrIQUmh~Y zMM^cFfSZI=AmB?#&-K;2(ugB*L`S<@+Z``L;;p~V&i2!EY1VgxZs;;ZL1<5e!fzD~ z;&(H1Z29=4NQ?|yB#aHZ6v+0CBq-X;oggrU>nwjqroY|lbVZ0w45aR!fx{?g4hhp` zjXYkX26#QK7I-Yo5P5o=BvQNX@})@ONejN4@WFlxqTNkq+~!6%&z6_b-0_&7-Z~%c zEq7bp&2{i|nHaJN443eDgvpEBn*!YZaD`C}P{Ez4ysIqeuvvs9DDt=PWXliGhdvgji+Gc;PY)lSUPRaUE!F9_;GnV9lhIEk4*=6?d zN_UCs+c(hg(k4SP1Oi<+?e4@+ARU^;8;GZ*cg}(Fn#yU0M zb>DIMJ33!}Vx`|9TfJ-aXXz#KIMUg0a1k2aIlIFDD>py*T}rOXgI}>XCp%q!@R5J= z<_8}=y!pK+zU1a~+JnVYXQxJ+I!soE&mXQNp;{Z98Z9lfleBvGT+20h7~^X}oBhYL z2cM%4pZg#?_$l_z@_Y1%phzdoV!<&ZcWO_tKF`%w1g3rS~bOC`V@>U+AXP??FRhZ z-MyqA8<&s49J@_-i>%O!rF~S89I=HxSFdf@~en=Ey7^ovp9L=g-SLT$QMMR!tdKU!@pX z=4)ru(=02AKd6NU*p}02l}kqBaf+O*Wl1cw*K)m<8LshsXjk*FglA3nXEqyMB@ilJ z7n`g;amWm^H$P*4q@@5P9C~Fk0L@jK1*_Q1pyQCl)+#MyF4>l1?puF6R|(b(6$SvgSY4;`M)^P&`@#wjqbU}UQ5utKIoE7fRC=Nt>VOG*>um8=39gNG@0!rX$*kmGMr@~(t-+o4f^WQx0C^%sAOAA<5duUk~)%yfz~U~hlU;MpA_@Wn-5Ow+Q| zerD5TvuRmmPcd7BJziLvb9)~Y*Ji&EFh@GHC<`<)q0X|6bDtFF z;gc*A$I)FTl7-yh`A$*{1Cby>2Yi-ecEtuA#8A4vWbH^h%7fcd8O5%aAsXc1{EsoV zCM0G}8WIezy$pW|*w&&11If&WX~Bw@0vvk`#^`lvY4B`xMJJrTH-|-Uqjea?dLw6R zE^XvzP%w|m)bo68vbu0Rq?6*hkO5d$1JvLpbSZM_lbS?DAs(ijN>k7*^BqlTBIE(g!T!vHyaC^did6Dm?USg5ER*Fn@NS21cW zp%H{3m=J5)icXz!=mMf?sL4~VQjRBxgRyFI@WT!j9wClWaPSGU0!9?a)B>14C!=jt z&UJ(g9Oy~0OqV*kIXiMbfbJG<1V$&7aCShC<7L<-?FJ2!+(uO?j3~Um)`YB{9yduk z+aTCz{<7(65-6kK?LHmDD3%VV2yWFuHgJO02Cj`Z4j-Njl;3D=0kfp^TY zs!{SkKvHH0Lw%e{s;SmD&e@o&P3&+DtBI2{0uFSA4pd z-E2uv_u$XLb;d9w#ViK=;7ZDUfkER4CXiy_7J`3eiAWA6T^krX_-O`Ck%$Kkx4?+q znzrJJb?#t2fbWGNB@O{2lB|r{U^|NJXi*2VQut9ebQBBHK?r7hl7a#G2-im5e(RD3 zHyhq30pndX>zJbhhhR7M9*%+~=vv2t$t^_64!#46Or5$W^(KmilAQcBBNAGmz?I+x z)i{4W=^E%6e(-|0ueiDZo&48WXN&qRSP`tKb`E~k2q(c{Ap8nW#&=?<76Z)~4adMJ z`!<+-nh_UVTSHwHFdv64BxjR8VY=1yzEucz<5g1nKK0JleTfXXj?b0mFjtfdQ?_XJ zJY=tafI*j_p+6q8+uaCy(+!h^1P1dtn_PeFYVE^H*U>t}j?0OvN6CX>)yXtwFuv zd?TN?Qfd03mZqyQ;%v0j%1ziDHLm1Xa->WjJThH>>b&Qh0(L+DA*5vy5+kjhyK;ZB z>d4-TEoO#xud}gBvY6cGP5miz9hgvJ!woVY7m3pkbi37JuJ+Qb2()-YdoZk>K6PRF zY6nY-9VY#c@<_XB967|z;&jQCL3aW(J?deg(qvd!?gXP&tn=0el`Akl?YNj0meNFox)CpY*eL@? zG+0vx$jJ?xk;@6pWuZMvVb>SNcpAQgYVC5J#!Q6))e9>09u|aB?PJP@dngdQU~y~7 z^MjU$uzs#Ofs=%>Xi(9~Vx>LL7%l>@ftKqCuN!-?KH=!$9uo=d z%J3BFV_e>cQvxY7m52Li9J&UE209*IDV@Q0moORt>s7w{@anJe(>x$7c-jUzl0 z^A7MCbTH-<;4N)%K2ag;=>`t#gO4jrWMfJdc^6taLl;>z(e3xPJV9U6=7=_DyeO{7t*hGuK{nE9Y;VUcEYfBj>lycJDNI z?#`-@s(3qLe_NZ|sFj639oD9#Jh!$S0=z6a30*ADml60f<`#&8*OHHCeJb94@&$CZ za{V1g?;*$hqDa!8=VZ9NacWA)MnH}o{KfU<89n%Sg7&f`idc_5bnd}_V|kxG@95k3 zJ%gEO@*nvAdi_`FXl3i{5tslwyd{5tzin|hf6etXCw8~l^{RG@eU^Qome)3F=W9Pw z`&jL_YJWi(X^|!%Z6PNqg3dBP(&A{&q{@s1-$m(rK#JkKB!nus&8Q(xV<0gRh2tcsH~I$ zE&YZ?UbV@>ke+Q()%xY8Z%&aab`JBd z#K)zFTrS{hBEYN^!AQ4l6-*hX&&pPcsx+y*brs;pXOhq869rg*PQ*lYH+N}}=f~>@ zpL34p;0>2 zE$Qvyd<5&XlX+nh#X3s0t(v%v2;+L(Spl`6boeDFMVEX!a6%HbaxH;NNV3s#5sX~YyigPkwS zjwvOc`KVrMGlaXsUqUBmQJ$Yrim}J^i9C;3?!Z3QKrk$8x9bN@;zzDANhU3Aa*&3e zBi^myw7`8K+#15+5Wr4SC$G|u6TsFoN$X9_F*=5_^xz|ZqZhlJc~^ezk^NWXE;p*} z-uj#Dt!)-Xx}X7A41oj#aN@#(+Iyr;!&q+8u4vMPhMqPt-D|gKjPx|{NmF#`ri??{ zYW*8$*z!YHxvBw{rn`Fa@>n+FKxUqahO3nCz|bTc9ui^bG)#kLkhg;VtobN_yFjNg6**&z@3QH8c91baHS{R945=BuA z7EBb;W~0%hQ6!Gg7(OJsA`0QNgTH9OW*P>KLPS2CLeY+jBi3xt2E2Q$b|R&rYemrr zLO5XeelAKh<~Un*&v8-z!SzxdnUtBj6PmaV9?MdHVHkWPg|UJo5EfZlNIphK0qjEK zyLVDJN)(u3E&^ycO|04mal}oY2{3rb|6jxK|K%Enlk^{`Vc=HZ`{V4H+I8|#`cC?Z zn`*I#3e1Ocv11!UyD4CINLE`ar#oXG=Aa%CQY6RgauJ=g#Ga z`}0Z~DJ}I@tM6}vJCCJ;HXn=W9;?JQw(Mp_8MPc+Ofb&xamm9r9xlpS)ya5-p}V3? z7u#G>UJ>WQPqSUT0s*ztuEp3s_Xj*n_b1hV&-wneA{ax_1*BiQ`9D}BWsH9~N6iCU z{11yIzo`RZvuel@fEBhj=LWw|F=)21p(tsIIi@8;^Wo2xia-^z%8_sYGvr7>7Eqg^ z!!(7oQOMKOrt>iJgs|Ye45?a`j56St;wz4Ez6|%Qo&m-oEg9aV948yJDua@_odj@y z@ew?7@k(1T+9?Y>vzuSZW%&fFWRXL2)6p2;u!{lDG%th0b~=uRMfok5a^JA>@L>F+ zYzQWF6p#OhN7tWPyZaliNo2VcNx1aY7mD%9u}eq#{pMgfz+gf8{MkJ}@dGDz#*Y7* zNBVbnO@bhvwI_c2;$olk({H%@$`2!dBnJFG1dSkH5k??fiHRxvl{2IoLn3hmg&^QZ zBKieos+E;yFsPt}EcxhVA~*ygHL!t~a4&`U7mdz1LuMufPFh$Jlkf)zK`}!53~L6_ z_aw$@vf?wOm*?%ew)ig$4dlXLsVLVC?ZHi%ij2@PN2FEVF>N@6V@nVZ9vl~ck*b3q z9e7xR*!P0~{5kk;nuOFb;368;?6<&2H8LBtj7E5;tgAQ-4Tc+pX?aeh9dN7s9Nr3C zd=@eAV!GM`Bz7KL-LMPmUK*!vn5=l?Pw(g&WBLwG3Din?j;$1Nd85K_4ZE9JRw`FvE(_ zFAJsv;{?^2EK1H`#0sHq2zwJHBnqKasI`N@Er#PvOZ+VKx=}uPHC_S#3lPbMxj^bE zQ>02@U=22X@T!gPaSvY2ccnpuv4vE!zf>?+9~~Wk?S-Ao<9puFcHPE*r&9zaw|9EFxUAyhn8!x}+2X;`Y3|i&t_H9hP@~*S*c;4eb z`|j1{;^6yWPJmwr9??nBqQFw)Ww!dOGkV7Y$Jr^<7D!rQ)vFZ!to zayWeqJlj#wy+}*|_Qtw@L17H$_=9fU_k;@5rgYj(qgAg?Ot>SM6T5YynuVV*FN=kU z_*gPG=_9~NBfT1$RJs!wN2(<69oEE1f;?mFcwtD zEFe(Wf-@K)fh4ww%3{KRF)0bSrOX(La@7VApx}pUhInv;fG~=GU{M%WiXbtpIKxE* zvw@<{vM}|3nc%0Ha*1mKFJW?aP(ip{m!;QcNXNe~{#-1zvFb3m_IC|TGh>{c$ z4gDxsE_|5D4L=wE7w>YU^?00PU}Rum0OH-vD$eozHeVUISr|azit9fc82$h6|354& zEKEQy2Lp&?002Vi3=04N0C=2ZU}RumVE_RZ*8hM1|7BqdVPIrH1;zkd+5|(B^_4~y zBz>$<#jOhC*9gbWP-!F&b)E64(Zv)`690e`tz0)!B9-*?CzQhArX#$(2o7un0! z@Z$gfiww&PRf(#)q?Wp?THQu>S+nl{b%YHNuHiav;3jTi6Eke#Hny>YUEIMQ?qVPJ zaDe-GfQNX5$9RILc!uYAftPrN*LZ`sc!&4+fRFfuLwv>;e8o3>#}E9(FC5`_M||vw zeSap7hPe8fiEM{fDl3_&J0=SUb0d|%rl2dQq})Y%$h5XaiCB<{>*}uZG3MVI(27gXNR!fRTD3(l#?F6ONM@r%;)l*8VKxr&ASx9Uo zIUY!KNsCFdm^8X#D!kmjh}QmGW-ohdW^+neR*vKJXgwLIu7u8(wd?)@tSn<+0OC8( A{r~^~ diff --git a/app/assets/index.html b/app/assets/index.html index b4c32b2..4b1bf55 100644 --- a/app/assets/index.html +++ b/app/assets/index.html @@ -40,1556 +40,1556 @@

CS
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/app/styles/_flags/npl.scss b/app/styles/_flags/npl.scss index daffa6e..1584b72 100644 --- a/app/styles/_flags/npl.scss +++ b/app/styles/_flags/npl.scss @@ -1,5 +1,14 @@ // Nepal // http://www.crwflags.com/fotw/flags/np.html +// http://www.vexilla-mundi.com/nepal_flag.html +// http://crwflags.com/fotw/flags/np%27.html +// This one is one of the hardest of the lot. The peculiar shape is done +// through clip-path. We first cut the blue shape in the main div, then we cut +// the red one in an :after. The two symbols are positionned through :before +// and :first-letter. Symbols are simply displayed on the first line each one +// is then placed at the correct position using text-shadow. +// A lot of geometry is involved, don't hesitate to draw it on a sheet of +// paper. @mixin flag-npl() { @include ratio(2 / 3); $unit: $h800; @@ -7,7 +16,6 @@ $blue: #0c2340; $white: #FFFFFF; - background: $blue; // We'll name points from A to E, starting on the top and rotating clockwise $DE: 600 * $unit; @@ -40,6 +48,7 @@ $C-x: $CJ; $C-y: $AJ; + background: $blue; clip-path: polygon( $A-x $A-y, $B-x $B-y, @@ -78,9 +87,9 @@ $E-x-offset: - $border-width; $E-y-offset: $border-width; - &:before { - content: ""; - display: block; + &:after { + content: ''; + z-index: 5; position: absolute; top: 0; left: 0; @@ -98,5 +107,42 @@ } + // Let's roughly calculate the scale difference between the red and blue + // shapes and apply it to everything we calculated here. + $red-rectangle-area: $AE * $DE; + $blue-rectangle-area: ($AE + 2 * $border-width) * ($DE + 2 * $border-width); + $blue-red-ratio: $red-rectangle-area / $blue-rectangle-area; + + $star-width: 256 * $unit * $blue-red-ratio; + $star-height: $star-width; + $crescent-width: 240 * $unit * $blue-red-ratio; + $crescent-height: 80 * $unit * $blue-red-ratio; + $crescent-left: $border-width + 150 * $unit * $blue-red-ratio - $crescent-width / 2; + $crescent-top: - $star-height / 2 + 240 * $unit; + + // Let's consider M the center of [CD] and L the point where the + // perpendicular to (DE) goes through M + $DM: $CD / 2; + $LM: sin($alpha-CDE) * $DM; + $star-top: - $star-height / 2 + ($height - $LM) + $border-width; + $star-left: - $crescent-width + $crescent-left; + &:before { + content: $UTF8_NPL_CRESCENT+$UTF8_NPL_STAR; + position: relative; // needed for first-letter and z-index to work + z-index: 10; + color: transparent; + font-family: Symbols; + font-size: $star-width; + line-height: $star-width; + text-shadow: $star-left $star-top 0 $white; + } + + &:first-letter { + font-family: Symbols; + color: transparent; + line-height: $star-width; // Use a line-height equal to the biggest of the two + font-size: $crescent-width; + text-shadow: $crescent-left $crescent-top 0 $white; + } }; diff --git a/app/styles/_helpers/symbol_codes.scss b/app/styles/_helpers/symbol_codes.scss index 48c7410..ca70f7d 100644 --- a/app/styles/_helpers/symbol_codes.scss +++ b/app/styles/_helpers/symbol_codes.scss @@ -41,13 +41,15 @@ $UTF8_MYS: '\e624'; $UTF8_NAM: '\e625'; $UTF8_NCL: '\e626'; $UTF8_NFK: '\e627'; -$UTF8_NRU: '\e628'; -$UTF8_PHL: '\e629'; -$UTF8_PNG: '\e62a'; -$UTF8_RWA: '\e62b'; -$UTF8_SAU: '\e62c'; -$UTF8_STAR_6_POINTS: '\e62d'; -$UTF8_STAR_COMMONWEALTH: '\e62e'; -$UTF8_TJK: '\e62f'; -$UTF8_TWN: '\e630'; -$UTF8_VUT: '\e631'; \ No newline at end of file +$UTF8_NPL_CRESCENT: '\e628'; +$UTF8_NPL_STAR: '\e629'; +$UTF8_NRU: '\e62a'; +$UTF8_PHL: '\e62b'; +$UTF8_PNG: '\e62c'; +$UTF8_RWA: '\e62d'; +$UTF8_SAU: '\e62e'; +$UTF8_STAR_6_POINTS: '\e62f'; +$UTF8_STAR_COMMONWEALTH: '\e630'; +$UTF8_TJK: '\e631'; +$UTF8_TWN: '\e632'; +$UTF8_VUT: '\e633'; \ No newline at end of file diff --git a/src/symbols/Flag_of_Nepal.svg b/src/symbols/Flag_of_Nepal.svg deleted file mode 100644 index c0b4a64..0000000 --- a/src/symbols/Flag_of_Nepal.svg +++ /dev/null @@ -1,9 +0,0 @@ - - -Flag of Nepal -Coding according to the official construction in "Constitution of the Kingdom of Nepal, Article 5, Shedule 1", adopted in November 1990 - - - - - \ No newline at end of file diff --git a/src/symbols/NPL_CRESCENT.svg b/src/symbols/NPL_CRESCENT.svg new file mode 100644 index 0000000..26891ad --- /dev/null +++ b/src/symbols/NPL_CRESCENT.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/symbols/NPL_STAR.svg b/src/symbols/NPL_STAR.svg new file mode 100644 index 0000000..581c78d --- /dev/null +++ b/src/symbols/NPL_STAR.svg @@ -0,0 +1,66 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + From bf5971a9eacc293e93a50bcc7d78eb0a5c27cf04 Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Thu, 20 Apr 2017 23:44:05 +0200 Subject: [PATCH 05/10] Removing unused favicon --- favicon.ico | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 favicon.ico diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index e69de29..0000000 From ebce2b952f4292f7973c4df8f730b008cde768fb Mon Sep 17 00:00:00 2001 From: Tao Guo Date: Tue, 9 May 2017 13:42:37 -0700 Subject: [PATCH 06/10] Fix the flag of China stars rotating issue #11 1. Create helper function to link polygen points. 2. Draw five angle stars with polygen() for css clip-path. --- app/styles/_flags/bra.scss | 2 +- app/styles/_flags/chn.scss | 26 ++++----- app/styles/_helpers/helper.scss | 23 ++++++++ app/styles/_helpers/stars.scss | 96 +++++---------------------------- 4 files changed, 51 insertions(+), 96 deletions(-) diff --git a/app/styles/_flags/bra.scss b/app/styles/_flags/bra.scss index cf0cbdb..44d7e2c 100644 --- a/app/styles/_flags/bra.scss +++ b/app/styles/_flags/bra.scss @@ -78,7 +78,7 @@ // // top: ($height - $circle-width) / 2; // // left: ($width - $circle-width) / 2; // // background-color: $white; - // clip-path: five-pointed-star($circle-width, 100px, 100px); + // clip-path: polygon(five-pointed-star($circle-width, 100px, 100px)); // } }; diff --git a/app/styles/_flags/chn.scss b/app/styles/_flags/chn.scss index bd1b8df..c221590 100644 --- a/app/styles/_flags/chn.scss +++ b/app/styles/_flags/chn.scss @@ -6,20 +6,22 @@ $red: #de2910; $yellow: #FDDA24; $star-size: 6 * $unit; - $star-offset-top: 5 * $unit; - $star-offset-left: 5 * $unit; $star-size-small: 2 * $unit; - $star-offset-top-small: 2 * $unit; - $star-offset-left-small: 10 * $unit; background-color: $red; &:before { - @include star($yellow, $star-size, $star-offset-left, $star-offset-top); + content: ''; + display: block; + position: relative; + width: $width; + height: $height; + background: $yellow; + clip-path: polygon(link_list( + five-pointed-star($star-size, 5 * $unit, 5 * $unit), + five-pointed-star($star-size-small, 10 * $unit, 2 * $unit, -120.96), + five-pointed-star($star-size-small, 12 * $unit, 4 * $unit, -98.13), + five-pointed-star($star-size-small, 12 * $unit, 7 * $unit, -74.055), + five-pointed-star($star-size-small, 10 * $unit, 9 * $unit, -54.34) + )); } - &:after { - @include star($yellow, $star-size-small, $star-offset-left-small, $star-offset-top-small); - text-shadow:(2 * $unit) (2 * $unit) 0px $yellow, - (2 * $unit) (5 * $unit) 0px $yellow, - (0) (7 * $unit) 0px $yellow; - } -}; +}; \ No newline at end of file diff --git a/app/styles/_helpers/helper.scss b/app/styles/_helpers/helper.scss index c28a3c2..e96f17d 100644 --- a/app/styles/_helpers/helper.scss +++ b/app/styles/_helpers/helper.scss @@ -5,6 +5,29 @@ @return $value / ($value * 0 + 1); } +// Link polygen point lists to a single one +// @args: lists with positions +// @returns: New single list which can be used in polygen() +@function link_list($args...) { + $result: (); + $len: length($args); + + @for $i from 1 to $len + 1 { + $list: nth($args, $i); + $result: append($result, $list, comma); + } + + @if ($len <= 2) { + @return $result; + } + + @for $i from $len - 1 to 1 { + $list: nth($args, $i); + $result: append($result, nth($list, 1), comma); + } + @return $result; +} + // Sets the flag ratio and update all magic variables // @args ratio: Ratio of height / width @mixin ratio($ratio:1) { diff --git a/app/styles/_helpers/stars.scss b/app/styles/_helpers/stars.scss index 267d1e5..1e27bae 100644 --- a/app/styles/_helpers/stars.scss +++ b/app/styles/_helpers/stars.scss @@ -5,7 +5,8 @@ // http://www.mathalino.com/sites/default/files/images/005-planegeom-pentagram.jpg // http://musicians4freedom.com/wp-content/uploads/2014/06/phi-dimentions-in-pentagram_0.gif // -@function five-pointed-star($diameter, $left, $top) { +@function five-pointed-star($diameter, $left, $top, $rotate:0) { + $result: (); $radius: _($diameter / 2); $golden-ratio: 1.618; // There are two circles that make a five pointed star. @@ -14,86 +15,15 @@ // Both radius have a ratio equal to the golden ratio $inner-radius: $radius - $radius / $golden-ratio; - // Whatever the size of the star, the inner angle of the peaks is always 36° - $teta: 36deg; - // The other angles of the triangles are 72° - $beta: 72deg; - $pentagram-side: 2 * (sin($teta) * $inner-radius); - // teta is also equal to the angle from the center of the star to one inner - // peak and with a right angle to the base of one of the triangles - $inner-top-padding-x: $pentagram-side / 2; - $inner-top-padding-y: cos($teta) * $inner-radius; - $outer-top-padding-x: sqrt($radius * $radius - $inner-top-padding-y * $inner-top-padding-y); - $outer-top-padding-y: $inner-top-padding-y; - $inner-bottom-padding-x: ($pentagram-side / 2) + (cos($beta) * $pentagram-side); - $inner-bottom-padding-y: sqrt($inner-radius * $inner-radius - $inner-bottom-padding-x * $inner-bottom-padding-x); - $outer-bottom-padding-x: sin($teta) * $radius; - $outer-bottom-padding-y: cos($teta) * $radius; - - // We'll name the points of the star starting from the top and in clockwise - // order - $A-x: 0; - $A-y: -$radius; - - $B-x: $inner-top-padding-x; - $B-y: -$inner-top-padding-y; - - $C-x: $outer-top-padding-x; - $C-y: -$outer-top-padding-y; - - $D-x: $inner-bottom-padding-x; - $D-y: $inner-bottom-padding-y; - - $E-x: $outer-bottom-padding-x; - $E-y: $outer-bottom-padding-y; - - $F-x: 0; - $F-y: $inner-radius; - - $G-x: -$outer-bottom-padding-x; - $G-y: $outer-bottom-padding-y; - - $H-x: -$inner-bottom-padding-x; - $H-y: $inner-bottom-padding-y; - - $I-x: -$outer-top-padding-x; - $I-y: -$outer-top-padding-y; - - $J-x: -$inner-top-padding-x; - $J-y: -$inner-top-padding-y; - - // Converting to px and placing relative to origin - $A-x: $A-x * 1px + $left; - $A-y: $A-y * 1px + $top; - $B-x: $B-x * 1px + $left; - $B-y: $B-y * 1px + $top; - $C-x: $C-x * 1px + $left; - $C-y: $C-y * 1px + $top; - $D-x: $D-x * 1px + $left; - $D-y: $D-y * 1px + $top; - $E-x: $E-x * 1px + $left; - $E-y: $E-y * 1px + $top; - $F-x: $F-x * 1px + $left; - $F-y: $F-y * 1px + $top; - $G-x: $G-x * 1px + $left; - $G-y: $G-y * 1px + $top; - $H-x: $H-x * 1px + $left; - $H-y: $H-y * 1px + $top; - $I-x: $I-x * 1px + $left; - $I-y: $I-y * 1px + $top; - $J-x: $J-x * 1px + $left; - $J-y: $J-y * 1px + $top; - - @return polygon( - $A-x $A-y, - $B-x $B-y, - $C-x $C-y, - $D-x $D-y, - $E-x $E-y, - $F-x $F-y, - $G-x $G-y, - $H-x $H-y, - $I-x $I-y, - $J-x $J-y - ); + $ang: $rotate; + @for $i from 0 to 11 { + $r: $radius; + @if ($i % 2 == 1) { + $r: $inner-radius; + } + $result: append($result, ($left + $r * sin($ang) $top - $r * cos($ang)), comma); + $ang: $ang + 36; + } + + @return $result; } From a58a850550876d9dd4297af4b0706e26221b1bc7 Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Mon, 15 May 2017 18:50:21 +0200 Subject: [PATCH 07/10] Adding comments on the clever way to draw stars --- app/assets/fonts/Symbols.ttf | Bin 63160 -> 63160 bytes app/assets/fonts/Symbols.woff | Bin 39276 -> 39272 bytes app/assets/index.html | 2 +- app/styles/_flags/chn.scss | 8 +- app/styles/_helpers/helper.scss | 8 +- app/styles/_helpers/stars.scss | 18 +- app/styles/yarn.lock | 4 + package.json | 2 +- yarn.lock | 541 +++++++++++++++++--------------- 9 files changed, 321 insertions(+), 262 deletions(-) create mode 100644 app/styles/yarn.lock diff --git a/app/assets/fonts/Symbols.ttf b/app/assets/fonts/Symbols.ttf index c0c0ba78dad44d59e5c6209887182625520d7305..506f4fbed18c2363db4ebd7dbdcf2d64961b678c 100644 GIT binary patch delta 50 ycmdn-mU+ip<_Q5Tyz_$?Cx%RsDHprs8P9L?m4Tau0R*nvw>87)%`A*tz5)QgauB)z delta 50 ycmdn-mU+ip<_Q5T+&hY$Cx%Rsse00XG@jq)D+4zR0|;F45m$lHn^_pQd<6jEkr287 diff --git a/app/assets/fonts/Symbols.woff b/app/assets/fonts/Symbols.woff index 095ec858b4c8ad4e6e48b0d3e6309af1f031194b..de9d71c87f9f69de5625c3364a7a56f13bd1528b 100644 GIT binary patch delta 200 zcmaE}iRr~ACZ2MCH#Y`G1|XQ3F_EXb-T=rl<}25MMdL^Z#2;elk$qv;ZJK2ZY%T&AoCHD++*Odw_g-AXZ>1=4Z@H%uNM~ z-C1=4Z@H%uNM~ zJz!v9RAXRZ;?h3uJ-;BoxP*aW1_w|KXa*CH`0CAUjLWBJuljvn`ti@)eMSYF4H^!J m$`^`C{Qdv_zrBu*j*o*LJ99@01B0tDw>i-4%~z&QVFm!se>sN$ diff --git a/app/assets/index.html b/app/assets/index.html index 4b1bf55..e52209e 100644 --- a/app/assets/index.html +++ b/app/assets/index.html @@ -431,7 +431,7 @@

CS

- +
diff --git a/app/styles/_flags/chn.scss b/app/styles/_flags/chn.scss index c221590..9f67ac9 100644 --- a/app/styles/_flags/chn.scss +++ b/app/styles/_flags/chn.scss @@ -6,6 +6,8 @@ $red: #de2910; $yellow: #FDDA24; $star-size: 6 * $unit; + $star-offset-top: 5 * $unit; + $star-offset-left: 5 * $unit; $star-size-small: 2 * $unit; background-color: $red; @@ -16,12 +18,12 @@ width: $width; height: $height; background: $yellow; - clip-path: polygon(link_list( - five-pointed-star($star-size, 5 * $unit, 5 * $unit), + clip-path: polygon(link_polygons( + five-pointed-star($star-size, $star-offset-left, $star-offset-top), five-pointed-star($star-size-small, 10 * $unit, 2 * $unit, -120.96), five-pointed-star($star-size-small, 12 * $unit, 4 * $unit, -98.13), five-pointed-star($star-size-small, 12 * $unit, 7 * $unit, -74.055), five-pointed-star($star-size-small, 10 * $unit, 9 * $unit, -54.34) )); } -}; \ No newline at end of file +}; diff --git a/app/styles/_helpers/helper.scss b/app/styles/_helpers/helper.scss index e96f17d..dd15f8d 100644 --- a/app/styles/_helpers/helper.scss +++ b/app/styles/_helpers/helper.scss @@ -5,10 +5,12 @@ @return $value / ($value * 0 + 1); } -// Link polygen point lists to a single one +// Link polygon point lists to a single one // @args: lists with positions -// @returns: New single list which can be used in polygen() -@function link_list($args...) { +// @returns: New single list which can be used in polygon() +// Inspired by: +// https://css-tricks.com/cutting-inner-part-element-using-clip-path/ +@function link_polygons($args...) { $result: (); $len: length($args); diff --git a/app/styles/_helpers/stars.scss b/app/styles/_helpers/stars.scss index 1e27bae..f859c5b 100644 --- a/app/styles/_helpers/stars.scss +++ b/app/styles/_helpers/stars.scss @@ -2,27 +2,29 @@ // @args size: Diameter of the circle in which the star is // @args left: X coord of the star center // @args top: Y coord of the star center +// @args rotate: Angle to rotate the star // http://www.mathalino.com/sites/default/files/images/005-planegeom-pentagram.jpg // http://musicians4freedom.com/wp-content/uploads/2014/06/phi-dimentions-in-pentagram_0.gif // -@function five-pointed-star($diameter, $left, $top, $rotate:0) { +@function five-pointed-star($diameter, $left, $top, $alpha:0) { $result: (); - $radius: _($diameter / 2); + $whole-radius: _($diameter / 2); $golden-ratio: 1.618; // There are two circles that make a five pointed star. // A outer circle, where all the peaks are located // And an inner circle, where all the inner bases are located // Both radius have a ratio equal to the golden ratio - $inner-radius: $radius - $radius / $golden-ratio; + $inner-radius: $whole-radius - $whole-radius / $golden-ratio; - $ang: $rotate; @for $i from 0 to 11 { - $r: $radius; + $radius: $whole-radius; @if ($i % 2 == 1) { - $r: $inner-radius; + $radius: $inner-radius; } - $result: append($result, ($left + $r * sin($ang) $top - $r * cos($ang)), comma); - $ang: $ang + 36; + $result: append($result, + ($left + $radius * sin($alpha) $top - $radius * cos($alpha)), + comma); + $alpha: $alpha + 36; } @return $result; diff --git a/app/styles/yarn.lock b/app/styles/yarn.lock new file mode 100644 index 0000000..fb57ccd --- /dev/null +++ b/app/styles/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + diff --git a/package.json b/package.json index a3cdd3d..bceddde 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "phantomcss": "^0.11.0", "postcss-brunch": "^0.5.0", "postcss-round-subpixels": "^1.2.0", - "sass-brunch": "^1.9.0", + "sass-brunch": "^2.10.4", "svg2ttf": "4.0.1", "svgicons2svgfont": "^5.0.0", "to-factory": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index ee49039..231b8f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,5 +1,18 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 + + +CSSselect@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/CSSselect/-/CSSselect-0.4.1.tgz#f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2" + dependencies: + CSSwhat "0.4" + domutils "1.4" + +CSSwhat@0.4: + version "0.4.7" + resolved "https://registry.yarnpkg.com/CSSwhat/-/CSSwhat-0.4.7.tgz#867da0ff39f778613242c44cfea83f0aa4ebdf9b" + abab@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -177,10 +190,6 @@ arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" - asn1.js@^4.0.0: version "4.8.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.8.1.tgz#3949b7f5fd1e8bedc13be3abebf477f93490c810" @@ -189,14 +198,14 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - asn1@0.1.11: version "0.1.11" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7" +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + assert-plus@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" @@ -209,13 +218,7 @@ assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" -assert@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - -assert@~1.3.0: +assert@^1.3.0, assert@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.3.0.tgz#03939a622582a812cc202320a0b9a56c9b815849" dependencies: @@ -229,10 +232,6 @@ ast-types@0.8.12: version "0.8.12" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.12.tgz#a0d90e4351bb887716c83fd637ebf818af4adfcc" -ast-types@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.15.tgz#8eef0827f04dff0ec8857ba925abe3fea6194e52" - async-each@^1.0.0, async-each@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -245,9 +244,9 @@ async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" -async@^1.4.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" +async@1.5.0, async@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.0.tgz#2796642723573859565633fc6274444bee2f8ce3" async@~0.2.6: version "0.2.10" @@ -257,10 +256,6 @@ async@~0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" -async@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.0.tgz#2796642723573859565633fc6274444bee2f8ce3" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -863,20 +858,24 @@ base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" -batch@~0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" - batch@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.2.1.tgz#4463997bb4d5fd1c7a011548813e52aa189c2c79" +batch@~0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" + bcrypt-pbkdf@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" dependencies: tweetnacl "^0.14.3" +big.js@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + binary-extensions@^1.0.0: version "1.7.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" @@ -1280,7 +1279,7 @@ combined-stream@~0.0.4: dependencies: delayed-stream "0.0.5" -commander@^2.0.0, commander@^2.5.0, commander@^2.6.0, commander@^2.9.0, commander@~2.9.0, commander@2.9.0: +commander@2.9.0, commander@^2.0.0, commander@^2.5.0, commander@^2.6.0, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1350,7 +1349,7 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -content-disposition@^0.5.0, content-disposition@0.5.1: +content-disposition@0.5.1, content-disposition@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" @@ -1451,6 +1450,17 @@ css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" +css-modules-loader-core@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.0.1.tgz#94e3eec9bc8174df0f974641f3e0d0550497f694" + dependencies: + icss-replace-symbols "1.0.2" + postcss "5.1.2" + postcss-modules-extract-imports "1.0.0" + postcss-modules-local-by-default "1.1.1" + postcss-modules-scope "1.0.2" + postcss-modules-values "1.2.2" + css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -1460,10 +1470,22 @@ css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" +css-selector-tokenizer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + cssnano@^3.7.1: version "3.8.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.8.0.tgz#bb90ac5292f42b679d9a05f6da0e9697556bb80d" @@ -1508,27 +1530,16 @@ csso@~2.2.1: clap "^1.0.9" source-map "^0.5.3" -"cssom@>= 0.3.0 < 0.4.0", cssom@0.3.x: +cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0": version "0.3.1" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.1.tgz#c9e37ef2490e64f6d1baa10fda852257082c25d3" -CSSselect@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/CSSselect/-/CSSselect-0.4.1.tgz#f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2" - dependencies: - CSSwhat "0.4" - domutils "1.4" - "cssstyle@>= 0.2.29 < 0.3.0": version "0.2.37" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" dependencies: cssom "0.3.x" -CSSwhat@0.4: - version "0.4.7" - resolved "https://registry.yarnpkg.com/CSSwhat/-/CSSwhat-0.4.7.tgz#867da0ff39f778613242c44cfea83f0aa4ebdf9b" - ctype@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f" @@ -1561,7 +1572,7 @@ debug-ms-fix-yui-compressor@2.2.2-future-reserved-word-fix-ms: dependencies: algolia-ms "0.7.1-fix-future-reserved-words" -debug@*, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@~2.2.0, debug@2: +debug@*, debug@2, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -1610,14 +1621,14 @@ del@^2.0.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - delayed-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + delegates@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-0.1.0.tgz#b4b57be11a1653517a04b27f0949bdc327dfe390" @@ -1677,16 +1688,16 @@ doctrine@^0.7.1: esutils "^1.1.6" isarray "0.0.1" -dom-serializer@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.0.1.tgz#9589827f1e32d22c37c829adabd59b3247af8eaf" +dom-serializer@0, dom-serializer@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" dependencies: domelementtype "~1.1.1" entities "~1.1.1" -dom-serializer@~0.1.0, dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" +dom-serializer@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.0.1.tgz#9589827f1e32d22c37c829adabd59b3247af8eaf" dependencies: domelementtype "~1.1.1" entities "~1.1.1" @@ -1699,14 +1710,10 @@ domain-browser@~1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domelementtype@~1.1.1: +domelementtype@1, domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" -domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - domhandler@2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" @@ -1749,6 +1756,10 @@ emitter-component@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/emitter-component/-/emitter-component-1.1.1.tgz#065e2dbed6959bf470679edabeaf7981d1003ab6" +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + encodeurl@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" @@ -1765,14 +1776,14 @@ enstore@~1.0.1: dependencies: monotonic-timestamp "0.0.8" -entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" - entities@1.0: version "1.0.0" resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" +entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + envify@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/envify/-/envify-3.4.1.tgz#d7122329e8df1688ba771b12501917c9ce5cbce8" @@ -1830,7 +1841,7 @@ es6-set@~0.1.3: es6-symbol "3" event-emitter "~0.3.4" -es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@~3.1.0, es6-symbol@3: +es6-symbol@3, es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" dependencies: @@ -2043,7 +2054,7 @@ express@^4.0.0: utils-merge "1.0.0" vary "~1.1.0" -extend@~3.0.0, extend@3.0.0: +extend@3.0.0, extend@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" @@ -2065,6 +2076,10 @@ fast-levenshtein@~2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + fcache@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/fcache/-/fcache-0.1.1.tgz#2862109b92fe0f68b3d11bc0b06632475033d39c" @@ -2153,6 +2168,14 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" +form-data@1.0.0-rc3: + version "1.0.0-rc3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.0-rc3.tgz#d35bc62e7fbc2937ae78f948aaa0d38d90607577" + dependencies: + async "^1.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.3" + form-data@~0.1.0: version "0.1.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.1.4.tgz#91abd788aba9702b1aabfa8bc01031a2ac9e3b12" @@ -2169,14 +2192,6 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" -form-data@1.0.0-rc3: - version "1.0.0-rc3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.0-rc3.tgz#d35bc62e7fbc2937ae78f948aaa0d38d90607577" - dependencies: - async "^1.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.3" - format-parser@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/format-parser/-/format-parser-0.0.2.tgz#4318822a8a9f1a29a0137253b908719c4f9222a2" @@ -2265,6 +2280,12 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" +generic-names@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.2.tgz#e25b7feceb5b5a8f28f5f972a7ccfe57e562adcd" + dependencies: + loader-utils "^0.2.16" + get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -2384,14 +2405,14 @@ globule@^1.0.0: lodash "~4.16.4" minimatch "~3.0.2" -graceful-fs@^4.1.2, graceful-fs@^4.1.4: - version "4.1.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" - graceful-fs@4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.2.tgz#fe2239b7574972e67e41f808823f9bfa4a991e37" +graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -2570,6 +2591,10 @@ iconv-lite@^0.4.5: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" +icss-replace-symbols@1.0.2, icss-replace-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -2599,18 +2624,18 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2: +inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inherits@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" +inherits@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -2802,25 +2827,19 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isexe@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isobject@~2.0.0: +isobject@^2.0.0, isobject@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.0.0.tgz#208de872bd7378c2a92af9428a3f56eb91a122c4" dependencies: @@ -2840,20 +2859,13 @@ js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" -js-tokens@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" - js-tokens@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.1.tgz#cc435a5c8b94ad15acb7983140fc80182c89aeae" -js-yaml@~3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" js-yaml@3.4.5: version "3.4.5" @@ -2862,6 +2874,13 @@ js-yaml@3.4.5: argparse "^1.0.2" esprima "^2.6.0" +js-yaml@~3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + jsbn@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" @@ -2998,6 +3017,15 @@ load-script@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + lodash._arraycopy@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" @@ -3104,7 +3132,7 @@ lodash.assign@^3.2.0: lodash._createassigner "^3.0.0" lodash.keys "^3.0.0" -lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: +lodash.assign@^4.0.3, lodash.assign@^4.0.6: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -3292,6 +3320,10 @@ methods@~1.1.1, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" +micro-promisify@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/micro-promisify/-/micro-promisify-0.1.1.tgz#071da590b4956560dedf4aae7044729c1a28902d" + microbuffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/microbuffer/-/microbuffer-1.0.0.tgz#8b3832ed40c87d51f47bb234913a698a756d19d2" @@ -3331,7 +3363,7 @@ mime-types@^2.0.10, mime-types@^2.1.12, mime-types@^2.1.3, mime-types@~2.1.11, m dependencies: mime-db "~1.24.0" -mime@^1.2.11, mime@1.3.4: +mime@1.3.4, mime@^1.2.11: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" @@ -3353,53 +3385,45 @@ minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + minimatch@^2.0.3: version "2.0.10" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" dependencies: brace-expansion "^1.0.0" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2, "minimatch@2 || 3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" +mkdirp@0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.4.tgz#f8c81d213b7299a031f193a57d752a17d2f6c7d8" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +mkdirp@0.3.5, mkdirp@~0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7" -mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" -mkdirp@~0.3.3, mkdirp@0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7" - -mkdirp@0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.4.tgz#f8c81d213b7299a031f193a57d752a17d2f6c7d8" - monotonic-timestamp@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/monotonic-timestamp/-/monotonic-timestamp-0.0.8.tgz#67987d02a41c15f568b6c0a05885989dd2402ba0" -ms@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -ms@0.7.1: +ms@0.7.1, ms@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -3411,14 +3435,14 @@ nan@^2.0.5, nan@^2.3.0, nan@^2.3.2: version "2.4.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" -ncp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - ncp@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574" +ncp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + neatequal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/neatequal/-/neatequal-1.0.0.tgz#2ee1211bc9fa6e4c55715fd210bb05602eb1ae3b" @@ -3487,9 +3511,9 @@ node-pre-gyp@^0.6.29: tar "~2.2.1" tar-pack "~3.3.0" -node-sass@^3.0.0: - version "3.11.2" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.11.2.tgz#ba3bef8cd46bd1698c2bdb2b6d2af1f9e7d7878f" +node-sass@~3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.8.0.tgz#ec0f89ae6625e1d990dc7ff713b275ea15dfee05" dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -3498,13 +3522,11 @@ node-sass@^3.0.0: get-stdin "^4.0.1" glob "^7.0.3" in-publish "^2.0.0" - lodash.assign "^4.2.0" lodash.clonedeep "^4.3.2" meow "^3.7.0" mkdirp "^0.5.1" nan "^2.3.2" node-gyp "^3.3.1" - npmlog "^4.0.0" request "^2.61.0" sass-graph "^2.1.1" @@ -3512,18 +3534,18 @@ node-uuid@~1.4.0, node-uuid@~1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" -nopt@~3.0.6, "nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - nopt@2: version "2.2.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz#2aa09b7d1768487b3b89a9c5aa52335bff0baea7" dependencies: abbrev "1" +"nopt@2 || 3", nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + normalize-git-url@~3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" @@ -3571,18 +3593,18 @@ npmconf@0.0.24: osenv "0.0.3" semver "~1.1.0" -npmlog@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" +"npmlog@0 || 1 || 2 || 3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" gauge "~2.6.0" set-blocking "~2.0.0" -"npmlog@0 || 1 || 2 || 3": - version "3.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" +npmlog@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -3711,18 +3733,11 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: +os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -osenv@0.0.3: +osenv@0, osenv@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.0.3.tgz#cd6ad8ddb290915ad9e22765576025d411f29cb6" @@ -3980,6 +3995,42 @@ postcss-minify-selectors@^2.0.4: postcss "^5.0.14" postcss-selector-parser "^2.0.0" +postcss-modules-extract-imports@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.0.tgz#5b07f368e350cda6fd5c8844b79123a7bd3e37be" + dependencies: + postcss "^5.0.4" + +postcss-modules-local-by-default@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz#29a10673fa37d19251265ca2ba3150d9040eb4ce" + dependencies: + css-selector-tokenizer "^0.6.0" + postcss "^5.0.4" + +postcss-modules-scope@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz#ff977395e5e06202d7362290b88b1e8cd049de29" + dependencies: + css-selector-tokenizer "^0.6.0" + postcss "^5.0.4" + +postcss-modules-values@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz#f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1" + dependencies: + icss-replace-symbols "^1.0.2" + postcss "^5.0.14" + +postcss-modules@~0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-0.5.2.tgz#9d682fed3f282bd64b2aa4feb6f22a2af435ffda" + dependencies: + css-modules-loader-core "^1.0.1" + generic-names "^1.0.1" + postcss "^5.1.2" + string-hash "^1.1.0" + postcss-normalize-charset@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.0.tgz#2fbd30e12248c442981d31ea2484d46fd0628970" @@ -4066,7 +4117,15 @@ postcss-zindex@^2.0.1: postcss "^5.0.4" uniqs "^2.0.0" -postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.5: +postcss@5.1.2, postcss@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.1.2.tgz#bd84886a66bcad489afaf7c673eed5ef639551e2" + dependencies: + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.1.2" + +postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.1.2, postcss@^5.2.5: version "5.2.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.5.tgz#ec428c27dffc7fac65961340a9b022fa4af5f056" dependencies: @@ -4114,12 +4173,6 @@ progress@^1.1.5: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" -promise@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-6.1.0.tgz#2ce729f6b94b45c26891ad0602c5c90e04c6eef6" - dependencies: - asap "~1.0.0" - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -4145,14 +4198,14 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@^1.4.1, punycode@~1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" +punycode@^1.4.1, punycode@~1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + pushserve@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/pushserve/-/pushserve-1.0.2.tgz#fdfb803939ca33752d38f2d1aa975ac01a93253f" @@ -4173,10 +4226,18 @@ q-io@1.13.2: qs "^1.2.1" url2 "^0.0.0" -q@^1.0.1, q@^1.1.2, q@1.4.1: +q@1.4.1, q@^1.0.1, q@^1.1.2: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" +qs@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" + +qs@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + qs@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" @@ -4189,14 +4250,6 @@ qs@~6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" -qs@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" - -qs@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" - query-string@^4.1.0: version "4.2.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.2.3.tgz#9f27273d207a25a8ee4c7b8c74dcd45d556db822" @@ -4208,7 +4261,7 @@ querystring-es3@^0.2.1, querystring-es3@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@^0.2.0, querystring@0.2.0: +querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -4264,7 +4317,16 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -readable-stream@^1.0.33: +readable-stream@1.0.27-1: + version "1.0.27-1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.27-1.tgz#6b67983c20357cefd07f0165001a16d710d91078" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@1.1, readable-stream@^1.0.33: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -4296,24 +4358,6 @@ readable-stream@~2.0.0, readable-stream@~2.0.4, readable-stream@~2.0.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" -readable-stream@1.0.27-1: - version "1.0.27-1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.27-1.tgz#6b67983c20357cefd07f0165001a16d710d91078" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@1.1: - version "1.1.13" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4331,16 +4375,7 @@ readline2@^1.0.1: is-fullwidth-code-point "^1.0.0" mute-stream "0.0.5" -recast@^0.10.0, recast@^0.10.10: - version "0.10.43" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.43.tgz#b95d50f6d60761a5f6252e15d80678168491ce7f" - dependencies: - ast-types "0.8.15" - esprima-fb "~15001.1001.0-dev-harmony-fb" - private "~0.1.5" - source-map "~0.5.0" - -recast@0.10.33: +recast@0.10.33, recast@^0.10.0, recast@^0.10.10: version "0.10.33" resolved "https://registry.yarnpkg.com/recast/-/recast-0.10.33.tgz#942808f7aa016f1fa7142c461d7e5704aaa8d697" dependencies: @@ -4406,6 +4441,14 @@ regex-cache@^0.4.2: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -4460,7 +4503,7 @@ request-progress@^0.3.1: dependencies: throttleit "~0.0.2" -request@^2.55.0, request@^2.61.0, request@^2.75.0, request@2: +request@2, request@^2.55.0, request@^2.61.0, request@^2.75.0: version "2.78.0" resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" dependencies: @@ -4515,7 +4558,7 @@ resemblejs@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/resemblejs/-/resemblejs-1.2.1.tgz#27b104370f541780549eba9d916194a796584763" -resolve@^1.1.6, resolve@1.1.7: +resolve@1.1.7, resolve@^1.1.6: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -4532,7 +4575,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2: +rimraf@2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -4562,13 +4605,16 @@ rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" -sass-brunch@^1.9.0: - version "1.9.2" - resolved "https://registry.yarnpkg.com/sass-brunch/-/sass-brunch-1.9.2.tgz#2fb4f268984018206b3675c3f93ed1ee6379463c" +sass-brunch@^2.10.4: + version "2.10.4" + resolved "https://registry.yarnpkg.com/sass-brunch/-/sass-brunch-2.10.4.tgz#36bb0f08f223df7dac1363bc05ad5ac32d3013d8" dependencies: - node-sass "^3.0.0" + anymatch "^1.3.0" + micro-promisify "~0.1.1" + node-sass "~3.8.0" + postcss "~5.1.2" + postcss-modules "~0.5.0" progeny "~0.5.1" - promise "^6.0.0" sass-graph@^2.1.1: version "2.1.2" @@ -4586,7 +4632,7 @@ selectn@^0.9.6: version "0.9.6" resolved "https://registry.yarnpkg.com/selectn/-/selectn-0.9.6.tgz#bd873a556d18f96d8515fc91503ec6ff398ff9a2" -semver@^5.1.0, semver@~5.3.0, "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5": +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.1.0, semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -4697,6 +4743,12 @@ source-map-support@^0.4.2: dependencies: source-map "^0.5.3" +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + dependencies: + amdefine ">=0.0.4" + source-map@^0.4.2, source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -4713,12 +4765,6 @@ source-map@~0.2.0: dependencies: amdefine ">=0.0.4" -source-map@0.1.32: - version "0.1.32" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" - dependencies: - amdefine ">=0.0.4" - spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" @@ -4756,7 +4802,7 @@ stable@~0.1.3: version "0.1.5" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.5.tgz#08232f60c732e9890784b5bed0734f8b32a887b9" -statuses@^1.2.1, "statuses@>= 1.3.0 < 2", statuses@~1.3.0: +"statuses@>= 1.3.0 < 2", statuses@^1.2.1, statuses@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" @@ -4780,9 +4826,9 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" -string_decoder@~0.10.31, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +string-hash@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" string-to-js@0.0.1: version "0.0.1" @@ -4804,6 +4850,10 @@ string.prototype.codepointat@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" +string_decoder@~0.10.31, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + stringmap@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/stringmap/-/stringmap-0.2.2.tgz#556c137b258f942b8776f5b2ef582aa069d7d1b1" @@ -4964,7 +5014,7 @@ to-fast-properties@^1.0.0, to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" -tough-cookie@^2.2.0, tough-cookie@>=0.12.0, tough-cookie@~2.3.0: +tough-cookie@>=0.12.0, tough-cookie@^2.2.0, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -5070,6 +5120,10 @@ unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +url2@^0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/url2/-/url2-0.0.0.tgz#4eaabd1d5c3ac90d62ab4485c998422865a04b1a" + url@~0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -5077,10 +5131,6 @@ url@~0.11.0: punycode "1.3.2" querystring "0.2.0" -url2@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/url2/-/url2-0.0.0.tgz#4eaabd1d5c3ac90d62ab4485c998422865a04b1a" - user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" @@ -5102,7 +5152,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@~0.10.3, util@0.10.3: +util@0.10.3, util@~0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -5167,7 +5217,7 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@^1.2.9, which@1: +which@1, which@^1.2.9: version "1.2.11" resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" dependencies: @@ -5183,6 +5233,10 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.1" +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + window-size@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" @@ -5191,9 +5245,9 @@ window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" wordwrap@~0.0.2: version "0.0.3" @@ -5203,10 +5257,6 @@ wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - wrap-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" @@ -5219,7 +5269,7 @@ wrap-fn@^0.1.4: dependencies: co "3.1.0" -wrappy@^1.0.1, wrappy@1: +wrappy@1, wrappy@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -5361,4 +5411,3 @@ yieldly@0.0.1: resolved "https://registry.yarnpkg.com/yieldly/-/yieldly-0.0.1.tgz#7d64c856e4f1cd3c35a78f86e0a2960e6a7d0474" dependencies: is-browser "2.0.1" - From 998e7a6de34bdbb9029841435cb0565c3ece9786 Mon Sep 17 00:00:00 2001 From: Haroen Viaene Date: Sat, 10 Jun 2017 18:12:19 +0200 Subject: [PATCH 08/10] fix(README): change minor typos My spelling corrector highlighted these errors --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 29062d2..5e4bdf3 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,14 @@ Recreating all the flags of the nations of the world in pure CSS, using only one You can see it live on [https://pixelastic.github.io/css-flags/](https://pixelastic.github.io/css-flags/) -This side-project has no real-world application, it was just an exercice to push +This side-project has no real-world application, it was just an exercise to push the boundaries of what I know about CSS. Trying to use the language to do things -it wasn't meant to do in the first place teached me a lot about the language. +it wasn't meant to do in the first place taught me a lot about the language. ## Running the project locally ```sh +bundle install npm install npm run serve ``` @@ -54,7 +55,7 @@ already exists in the UTF8 table, so I just have to grab them from existing fonts (or use [utf8icons.com][7]). But more often, I had to use Vexilla Mundi. The website provides nice png images -of all the symbols. Unfortunatly, the symbols they provide are already colored, +of all the symbols. Unfortunately, the symbols they provide are already colored, and I needed them black to use in the font so I was able to define the color myself. @@ -103,7 +104,7 @@ longer user percentage values, I need real, absolute, pixel values. [http://github.com/pixelastic/img2css/](http://github.com/pixelastic/img2css/) -Commanline tool to convert any image (jpg or png) to full CSS. This will +Commandline tool to convert any image (jpg or png) to full CSS. This will replicate all pixels of the initial image using numerous `box-shadows`. This works wel but results in really heavy generated CSS (several MB), so @@ -130,7 +131,7 @@ Here is an incomplete list of the tricks I had to use: ### Invisible text-shadow I sometimes put an invisible symbol in an `after` or `before` element (through -`color: transparent`) and positionned it at `top:0; left: 0`. +`color: transparent`) and positioned it at `top:0; left: 0`. Then I added several `text-shadow` to it, with a full color. Doing so helped in getting the coordinates right because everything is then relative to the origin @@ -159,7 +160,7 @@ add: - Link to codepen to let users play with the code - Making it work on more browsers... - ...which implies that I need to add a visual testing framework on top if it -- Adding the missings flags +- Adding the missing flags - Using a clip-path when only one star instead of a font - Building the font with npm instead of icomoon.io - Adding stars to Brazil From f42ecd093d90342f9ee5b81b6e6f4f6cf1126380 Mon Sep 17 00:00:00 2001 From: Haroen Viaene Date: Sat, 10 Jun 2017 18:13:03 +0200 Subject: [PATCH 09/10] chore(yarn): update lockfile --- yarn.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 231b8f7..38dc614 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3534,13 +3534,13 @@ node-uuid@~1.4.0, node-uuid@~1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" -nopt@2: +nopt@2, "nopt@2 || 3": version "2.2.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz#2aa09b7d1768487b3b89a9c5aa52335bff0baea7" dependencies: abbrev "1" -"nopt@2 || 3", nopt@~3.0.6: +nopt@~3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: @@ -4575,7 +4575,13 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4: +rimraf@2, rimraf@~2.4.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" + dependencies: + glob "^6.0.1" + +rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -4585,12 +4591,6 @@ rimraf@~2.2.2: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" -rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" - dependencies: - glob "^6.0.1" - ripemd160@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" From 4442fddaa8e6deb534f6ac33293af4df9554685f Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Tue, 8 Jan 2019 17:09:46 +0100 Subject: [PATCH 10/10] Add license fixes #21 --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3c611d4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-present Tim Carry (@pixelastic) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.