aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-074/mohammad-anwar/perl/ch-1.pl52
-rwxr-xr-xchallenge-074/mohammad-anwar/perl/ch-1.t49
-rwxr-xr-xchallenge-074/mohammad-anwar/perl/ch-2.pl44
-rwxr-xr-xchallenge-074/mohammad-anwar/perl/ch-2.t55
-rwxr-xr-xchallenge-074/mohammad-anwar/raku/ch-1.raku36
-rwxr-xr-xchallenge-074/mohammad-anwar/raku/ch-1.t36
-rwxr-xr-xchallenge-074/mohammad-anwar/raku/ch-2.raku45
-rwxr-xr-xchallenge-074/mohammad-anwar/raku/ch-2.t46
-rwxr-xr-xchallenge-074/mohammad-anwar/swift/ch-1.swift96
-rwxr-xr-xchallenge-074/mohammad-anwar/swift/ch-2.swift89
-rw-r--r--stats/pwc-current.json85
-rw-r--r--stats/pwc-language-breakdown-summary.json64
-rw-r--r--stats/pwc-language-breakdown.json1042
-rw-r--r--stats/pwc-leaders.json392
-rw-r--r--stats/pwc-summary-1-30.json44
-rw-r--r--stats/pwc-summary-121-150.json110
-rw-r--r--stats/pwc-summary-151-180.json92
-rw-r--r--stats/pwc-summary-181-210.json54
-rw-r--r--stats/pwc-summary-31-60.json58
-rw-r--r--stats/pwc-summary-61-90.json22
-rw-r--r--stats/pwc-summary-91-120.json118
-rw-r--r--stats/pwc-summary.json402
22 files changed, 1799 insertions, 1232 deletions
diff --git a/challenge-074/mohammad-anwar/perl/ch-1.pl b/challenge-074/mohammad-anwar/perl/ch-1.pl
new file mode 100755
index 0000000000..470ad84154
--- /dev/null
+++ b/challenge-074/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #1: Majority Element
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+use strict;
+use warnings;
+use POSIX qw(floor);
+
+print find_majority_element(prepare_list($ARGV[0])), "\n";
+
+#
+#
+# METHODS
+
+sub find_majority_element {
+ my ($list) = @_;
+
+ die "ERROR: Missing list.\n" unless defined $list;
+ die "ERROR: Invalid list [$list].\n" unless (ref($list) eq 'ARRAY');
+
+ print "List: ", join(", ", @$list), "\n";
+ my $mid_point = floor(($#$list + 1) / 2);
+ my %elements = ();
+ $elements{$_}++ foreach (@$list);
+
+ my $top = (sort { $elements{$b} <=> $elements{$a} }
+ keys %elements)[0];
+
+ ($elements{$top} >= $mid_point)
+ ?
+ (return $top)
+ :
+ (return -1);
+}
+
+sub prepare_list {
+ my ($list) = @_;
+
+ if (defined $list) {
+ $list =~ s/\s//g;
+ return [ split /\,/, $list ];
+ }
+ else {
+ return [1, 2, 2, 3, 2, 4, 2];
+ }
+}
diff --git a/challenge-074/mohammad-anwar/perl/ch-1.t b/challenge-074/mohammad-anwar/perl/ch-1.t
new file mode 100755
index 0000000000..91a893c3f0
--- /dev/null
+++ b/challenge-074/mohammad-anwar/perl/ch-1.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #1: Majority Element
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+package MajorityElement;
+
+use Moo;
+use POSIX qw(floor);
+
+sub find_majority_element {
+ my ($self, $list) = @_;
+
+ die "ERROR: Missing list.\n" unless defined $list;
+ die "ERROR: Invalid list [$list].\n" unless (ref($list) eq 'ARRAY');
+
+ print "List: ", join(", ", @$list), "\n";
+ my $mid_point = floor(($#$list + 1) / 2);
+ my %elements = ();
+ $elements{$_}++ foreach (@$list);
+
+ my $top = (sort { $elements{$b} <=> $elements{$a} }
+ keys %elements)[0];
+
+ ($elements{$top} >= $mid_point)
+ ?
+ (return $top)
+ :
+ (return -1);
+}
+
+package main;
+
+use strict;
+use warnings;
+
+use Test2::V0 -target => 'MajorityElement';
+
+can_ok($CLASS, 'find_majority_element');
+isa_ok($CLASS, 'MajorityElement');
+is($CLASS->find_majority_element([1, 2, 2, 3, 2, 4, 2]), 2, 'example 1');
+is($CLASS->find_majority_element([1, 3, 1, 2, 4, 5]), -1, 'example 2');
+
+done_testing;
diff --git a/challenge-074/mohammad-anwar/perl/ch-2.pl b/challenge-074/mohammad-anwar/perl/ch-2.pl
new file mode 100755
index 0000000000..a153afcfe2
--- /dev/null
+++ b/challenge-074/mohammad-anwar/perl/ch-2.pl
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #2: FNR Character
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+use strict;
+use warnings;
+
+my $S = $ARGV[0] || 'ababc';
+
+print join "\n", (join ' => ', $S, fnr_character($S)), '';
+
+sub fnr_character {
+ my ($string) = @_;
+
+ my @fnr = ();
+ foreach my $i (0 .. length($string) - 1) {
+ my $s = substr($string, 0, $i + 1);
+ if (length($s) == 1) {
+ push @fnr, $s;
+ }
+ else {
+ my $found = 0;
+ my %count = ();
+
+ $count{$_}++ for split //, $s;
+ foreach (split //, reverse $s) {
+ if ($count{$_} == 1) {
+ push @fnr, $_;
+ $found = 1;
+ last;
+ }
+ }
+ push @fnr, '#' unless ($found);
+ }
+ }
+
+ return join '',@fnr;
+}
diff --git a/challenge-074/mohammad-anwar/perl/ch-2.t b/challenge-074/mohammad-anwar/perl/ch-2.t
new file mode 100755
index 0000000000..8698c20a88
--- /dev/null
+++ b/challenge-074/mohammad-anwar/perl/ch-2.t
@@ -0,0 +1,55 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #2: FNR Character
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+package FNRCharacter;
+
+use Moo;
+
+sub fnr_character {
+ my ($self, $string) = @_;
+
+ my @fnr = ();
+ foreach my $i (0 .. length($string) - 1) {
+ my $s = substr($string, 0, $i + 1);
+ if (length($s) == 1) {
+ push @fnr, $s;
+ }
+ else {
+ my $found = 0;
+ my %count = ();
+
+ $count{$_}++ for split //, $s;
+ foreach (split //, reverse $s) {
+ if ($count{$_} == 1) {
+ push @fnr, $_;
+ $found = 1;
+ last;
+ }
+ }
+ push @fnr, '#' unless ($found);
+ }
+ }
+
+ return join '',@fnr;
+}
+
+package main;
+
+use strict;
+use warnings;
+
+use Test2::V0 -target => 'FNRCharacter';
+
+isa_ok($CLASS, 'FNRCharacter');
+can_ok($CLASS, 'fnr_character');
+is($CLASS->fnr_character('ababc'), 'abb#c', 'example 1');
+is($CLASS->fnr_character('xyzzyx'), 'xyzyx#', 'example 2');
+
+done_testing;
diff --git a/challenge-074/mohammad-anwar/raku/ch-1.raku b/challenge-074/mohammad-anwar/raku/ch-1.raku
new file mode 100755
index 0000000000..58fd3d934c
--- /dev/null
+++ b/challenge-074/mohammad-anwar/raku/ch-1.raku
@@ -0,0 +1,36 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #1: Majority Element
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+use v6.d;
+
+sub MAIN(Str :$list = "1, 2, 2, 3, 2, 4, 2") {
+ find-majority-element($list).say;
+}
+
+#
+#
+# METHOD
+
+sub find-majority-element(Str $list is copy) {
+
+ die "ERROR: Invalid list [$list].\n"
+ unless $list ~~ /^[\s?\-?\d\,?\s?]+$/;
+
+ say "List: $list";
+ $list ~~ s:g/\s//;
+ my $l = [ $list.split(',') ];
+
+ my $mid_point = floor($l.elems / 2);
+ my %elements;
+ $l.map({ %elements{$_}++ });
+ my $top = %elements.sort({ $^b.value <=> $^a.value }).head;
+
+ return ($top.value >= $mid_point) ?? ($top.key) !! (-1);
+}
diff --git a/challenge-074/mohammad-anwar/raku/ch-1.t b/challenge-074/mohammad-anwar/raku/ch-1.t
new file mode 100755
index 0000000000..d3db048e2b
--- /dev/null
+++ b/challenge-074/mohammad-anwar/raku/ch-1.t
@@ -0,0 +1,36 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #1: Majority Element
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+use Test;
+
+is find-majority-element("1, 2, 2, 3, 2, 4, 2"), 2, "example 1";
+is find-majority-element("1, 3, 1, 2, 4, 5"), -1, "example 2";
+
+done-testing;
+
+#
+#
+# METHOD
+
+sub find-majority-element(Str $list is copy) {
+
+ die "ERROR: Invalid list [$list].\n"
+ unless $list ~~ /^[\s?\-?\d\,?\s?]+$/;
+
+ $list ~~ s:g/\s//;
+ my $l = [ $list.split(',') ];
+
+ my $mid_point = floor($l.elems / 2);
+ my %elements;
+ $l.map({ %elements{$_}++ });
+ my $top = %elements.sort({ $^b.value <=> $^a.value }).head;
+
+ return ($top.value >= $mid_point) ?? ($top.key) !! (-1);
+}
diff --git a/challenge-074/mohammad-anwar/raku/ch-2.raku b/challenge-074/mohammad-anwar/raku/ch-2.raku
new file mode 100755
index 0000000000..af1df5a39d
--- /dev/null
+++ b/challenge-074/mohammad-anwar/raku/ch-2.raku
@@ -0,0 +1,45 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #2: FNR Character
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+use v6.d;
+
+sub MAIN(Str :$S = 'ababc') {
+ fnr-character($S).join(' => ').say;
+}
+
+#
+#
+# METHOD
+
+sub fnr-character(Str $string) {
+
+ my @fnr = ();
+ for 0 .. $string.chars - 1 -> $i {
+ my $s = $string.substr(0, $i + 1);
+ if $s.chars == 1 {
+ @fnr.push: $s;
+ }
+ else {
+ my $found = False;
+ my %count = ();
+ $s.comb.map({ %count{$_}++ });
+ for $s.flip.comb -> $char {
+ if %count{$char} == 1 {
+ @fnr.push: $char;
+ $found = True;
+ last;
+ }
+ }
+ @fnr.push: '#' unless $found;
+ }
+ }
+
+ return @fnr.join('');
+}
diff --git a/challenge-074/mohammad-anwar/raku/ch-2.t b/challenge-074/mohammad-anwar/raku/ch-2.t
new file mode 100755
index 0000000000..5874ba219d
--- /dev/null
+++ b/challenge-074/mohammad-anwar/raku/ch-2.t
@@ -0,0 +1,46 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 074
+#
+# Task #2: FNR Character
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+#
+
+use Test;
+
+is fnr-character('ababc'), 'abb#c', 'example 1';
+is fnr-character('xyzzyx'), 'xyzyx#', 'example 2';
+
+done-testing;
+
+#
+#
+# METHOD
+
+sub fnr-character(Str $string) {
+
+ my @fnr = ();
+ for 0 .. $string.chars - 1 -> $i {
+ my $s = $string.substr(0, $i + 1);
+ if $s.chars == 1 {
+ @fnr.push: $s;
+ }
+ else {
+ my $found = False;
+ my %count = ();
+ $s.comb.map({ %count{$_}++ });
+ for $s.flip.comb -> $char {
+ if %count{$char} == 1 {
+ @fnr.push: $char;
+ $found = True;
+ last;
+ }
+ }
+ @fnr.push: '#' unless $found;
+ }
+ }
+
+ return @fnr.join('');
+}
diff --git a/challenge-074/mohammad-anwar/swift/ch-1.swift b/challenge-074/mohammad-anwar/swift/ch-1.swift
new file mode 100755
index 0000000000..f3e2f382f3
--- /dev/null
+++ b/challenge-074/mohammad-anwar/swift/ch-1.swift
@@ -0,0 +1,96 @@
+import Foundation
+
+/*
+
+Perl Weekly Challenge - 074
+
+Task #1: Majority Element
+
+https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+
+*/
+
+enum ParamError: Error {
+ case missingList
+ case invalidList
+}
+
+do {
+ let paramCount:Int = Int(CommandLine.argc)
+
+ if paramCount <= 1 {
+ throw ParamError.missingList
+ }
+
+ let list:String = CommandLine.arguments[1]
+
+ if isValidList(list) {
+ let array = list.components(separatedBy: ", ")
+
+ if array.count >= 2 {
+
+ let midPoint:Int = Int(floor(Double(array.count) / 2))
+ var (topKey, topVal) = findTopElement(array)
+
+ if topVal < midPoint {
+ topKey = -1
+ }
+
+ print("List: \(list)")
+ print("Majority Element: \(topKey)")
+ }
+ }
+ else {
+ throw ParamError.invalidList
+ }
+}
+catch ParamError.missingList {
+ print("Missing list.")
+}
+catch ParamError.invalidList {
+ print("Invalid list.")
+}
+catch let error {
+ print(error)
+}
+
+//
+//
+// Functions
+
+func isValidList(_ list:String) -> Bool {
+
+ let pattern = "^[\\-?\\d\\,?\\s?]+$"
+ let regex = try! NSRegularExpression(pattern: pattern)
+ let range = NSRange(location: 0, length: list.utf16.count)
+
+ if regex.firstMatch(in: list, options: [], range: range) != nil {
+ return true
+ }
+ else {
+ return false
+ }
+}
+
+func findTopElement(_ array:[String]) -> (Int, Int) {
+
+ var dict = [Int: Int]()
+ for i in 0..<array.count {
+ let key:Int = Int(array[i])!
+ if dict.isEmpty {
+ dict[key] = 1
+ }
+ else {
+ if dict[key] == nil {
+ dict[key] = 1
+ }
+ else {
+ dict[key]! += 1
+ }
+ }
+ }
+
+ let sortedDict = dict.sorted { $0.1 > $1.1 }
+
+ return (sortedDict[0].key, sortedDict[0].value)
+}
diff --git a/challenge-074/mohammad-anwar/swift/ch-2.swift b/challenge-074/mohammad-anwar/swift/ch-2.swift
new file mode 100755
index 0000000000..946e42b707
--- /dev/null
+++ b/challenge-074/mohammad-anwar/swift/ch-2.swift
@@ -0,0 +1,89 @@
+import Foundation
+
+/*
+
+Perl Weekly Challenge - 074
+
+Task #2: FNR Character
+
+https://perlweeklychallenge.org/blog/perl-weekly-challenge-074
+
+*/
+
+enum ParamError: Error {
+ case missingString
+}
+
+do {
+ let paramCount:Int = Int(CommandLine.argc)
+
+ if paramCount <= 1 {
+ throw ParamError.missingString
+ }
+
+ let string:String = CommandLine.arguments[1]
+ let chars:[Character] = Array(String(string))
+
+ var fnr = [Character]()
+ if chars.count >= 2 {
+
+ for i in 0..<chars.count {
+ let s = String(string.prefix(i+1))
+ if s.count == 1 {
+ fnr.append(Character(s))
+ }
+ else {
+ var found:Bool = false
+ let characters = getCharacters(s)
+ let revChars:[Character] = Array(String(s.reversed()))
+
+ for i in 0..<revChars.count {
+ if characters[revChars[i]] == 1 {
+ fnr.append(revChars[i])
+ found = true
+ break
+ }
+ }
+
+ if found == false {
+ fnr.append("#")
+ }
+ }
+ }
+
+ print(chars)
+ print(fnr)
+ }
+}
+catch ParamError.missingString {
+ print("Missing string.")
+}
+catch let error {
+ print(error)
+}
+
+//
+//
+// Function
+
+func getCharacters(_ substring:String) -> [Character: Int] {
+
+ let chars:[Character] = Array(String(substring))
+ var characters = [Character: Int]()
+ for i in 0..<chars.count {
+ let char:Character = chars[i]
+ if characters.isEmpty {
+ characters[char] = 1
+ }
+ else {
+ if characters[char] == nil {
+ characters[char] = 1
+ }
+ else {
+ characters[char]! += 1
+ }
+ }
+ }
+
+ return characters
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index f4a9dcb806..969887b93c 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,51 +1,42 @@
{
- "subtitle" : {
- "text" : "[Champions: 1] Last updated at 2020-08-17 04:51:42 GMT"
- },
- "legend" : {
- "enabled" : 0
- },
- "chart" : {
- "type" : "column"
- },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "xAxis" : {
- "type" : "category"
- },
- "tooltip" : {
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
- "followPointer" : 1,
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 074"
- },
"drilldown" : {
"series" : [
{
- "id" : "Mark Anderson",
"name" : "Mark Anderson",
"data" : [
[
"Raku",
1
]
- ]
+ ],
+ "id" : "Mark Anderson"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ]
+ ],
+ "name" : "Mohammad S Anwar",
+ "id" : "Mohammad S Anwar"
}
]
},
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "type" : "category"
},
"series" : [
{
@@ -53,11 +44,39 @@
"colorByPoint" : 1,
"data" : [
{
- "y" : 1,
+ "drilldown" : "Mark Anderson",
"name" : "Mark Anderson",
- "drilldown" : "Mark Anderson"
+ "y" : 1
+ },
+ {
+ "name" : "Mohammad S Anwar",
+ "y" : 4,
+ "drilldown" : "Mohammad S Anwar"
}
]
}
- ]
+ ],
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "followPointer" : 1,
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 074"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 2] Last updated at 2020-08-17 05:05:55 GMT"
+ }
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index dd4d554d47..4746afda09 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,7 +1,31 @@
{
+ "legend" : {
+ "enabled" : "false"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2020-08-17 05:05:55 GMT"
+ },
"title" : {
"text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
},
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
+ "type" : "category"
+ },
"series" : [
{
"data" : [
@@ -11,53 +35,29 @@
],
[
"Perl",
- 3042
+ 3044
],
[
"Raku",
- 1982
+ 1984
]
],
+ "name" : "Contributions",
"dataLabels" : {
- "y" : 10,
+ "align" : "right",
+ "format" : "{point.y:.0f}",
+ "color" : "#FFFFFF",
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
},
- "align" : "right",
- "format" : "{point.y:.0f}",
"rotation" : -90,
"enabled" : "true",
- "color" : "#FFFFFF"
- },
- "name" : "Contributions"
- }
- ],
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ "y" : 10
}
}
- },
+ ],
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Last updated at 2020-08-17 04:51:42 GMT"
- },
- "chart" : {
- "type" : "column"
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 5128a2dd0e..406de8fccd 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -2,13 +2,393 @@
"xAxis" : {
"type" : "category"
},
+ "series" : [
+ {
+ "colorByPoint" : "true",
+ "data" : [
+ {
+ "drilldown" : "001",
+ "y" : 142,
+ "name" : "#001"
+ },
+ {
+ "drilldown" : "002",
+ "name" : "#002",
+ "y" : 109
+ },
+ {
+ "name" : "#003",
+ "y" : 71,
+ "drilldown" : "003"
+ },
+ {
+ "name" : "#004",
+ "y" : 91,
+ "drilldown" : "004"
+ },
+ {
+ "name" : "#005",
+ "y" : 72,
+ "drilldown" : "005"
+ },
+ {
+ "drilldown" : "006",
+ "name" : "#006",
+ "y" : 52
+ },
+ {
+ "y" : 59,
+ "name" : "#007",
+ "drilldown" : "007"
+ },
+ {
+ "drilldown" : "008",
+ "name" : "#008",
+ "y" : 72
+ },
+ {
+ "y" : 68,
+ "name" : "#009",
+ "drilldown" : "009"
+ },
+ {
+ "name" : "#010",
+ "y" : 60,
+ "drilldown" : "010"
+ },
+ {
+ "y" : 79,
+ "name" : "#011",
+ "drilldown" : "011"
+ },
+ {
+ "drilldown" : "012",
+ "y" : 83,
+ "name" : "#012"
+ },
+ {
+ "name" : "#013",
+ "y" : 76,
+ "drilldown" : "013"
+ },
+ {
+ "drilldown" : "014",
+ "y" : 96,
+ "name" : "#014"
+ },
+ {
+ "drilldown" : "015",
+ "name" : "#015",
+ "y" : 93
+ },
+ {
+ "name" : "#016",
+ "y" : 66,
+ "drilldown" : "016"
+ },
+ {
+ "drilldown" : "017",
+ "y" : 79,
+ "name" : "#017"
+ },
+ {
+ "drilldown" : "018",
+ "name" : "#018",
+ "y" : 76
+ },
+ {
+ "drilldown" : "019",
+ "name" : "#019",
+ "y" : 97
+ },
+ {
+ "drilldown" : "020",
+ "y" : 95,
+ "name" : "#020"
+ },
+ {
+ "drilldown" : "021",
+ "name" : "#021",
+ "y" : 67
+ },
+ {
+ "y" : 63,
+ "name" : "#022",
+ "drilldown" : "022"
+ },
+ {
+ "drilldown" : "023",
+ "y" : 91,
+ "name" : "#023"
+ },
+ {
+ "name" : "#024",
+ "y" : 70,
+ "drilldown" : "024"
+ },
+ {
+ "name" : "#025",
+ "y" : 55,
+ "drilldown" : "025"
+ },
+ {
+ "y" : 70,
+ "name" : "#026",
+ "drilldown" : "026"
+ },
+ {
+ "drilldown" : "027",
+ "name" : "#027",
+ "y" : 58
+ },
+ {
+ "drilldown" : "028",
+ "name" : "#028",
+ "y" : 78
+ },
+ {
+ "drilldown" : "029",
+ "y" : 77,
+ "name" : "#029"
+ },
+ {
+ "drilldown" : "030",
+ "name" : "#030",
+ "y" : 115
+ },
+ {
+ "drilldown" : "031",
+ "y" : 87,
+ "name" : "#031"
+ },
+ {
+ "name" : "#032",
+ "y" : 92,
+ "drilldown" : "032"
+ },
+ {
+ "drilldown" : "033",
+ "y" : 108,
+ "name" : "#033"
+ },
+ {
+ "name" : "#034",
+ "y" : 62,
+ "drilldown" : "034"
+ },
+ {
+ "drilldown" : "035",
+ "name" : "#035",
+ "y" : 62
+ },
+ {
+ "name" : "#036",
+ "y" : 66,
+ "drilldown" : "036"
+ },
+ {
+ "y" : 65,
+ "name" : "#037",
+ "drilldown" : "037"
+ },
+ {
+ "drilldown" : "038",
+ "name" : "#038",
+ "y" : 65
+ },
+ {
+ "drilldown" : "039",
+ "name" : "#039",
+ "y" : 60
+ },
+ {
+ "drilldown" : "040",
+ "name" : "#040",
+ "y" : 71
+ },
+ {
+ "drilldown" : "041",
+ "name" : "#041",
+ "y" : 74
+ },
+ {
+ "drilldown" : "042",
+ "y" : 88,
+ "name" : "#042"
+ },
+ {
+ "drilldown" : "043",
+ "name" : "#043",
+ "y" : 66
+ },
+ {
+ "drilldown" : "044",
+ "y" : 82,
+ "name" : "#044"
+ },
+ {
+ "name" : "#045",
+ "y" : 94,
+ "drilldown" : "045"
+ },
+ {
+ "drilldown" : "046",
+ "y" : 85,
+ "name" : "#046"
+ },
+ {
+ "name" : "#047",
+ "y" : 82,
+ "drilldown" : "047"
+ },
+ {
+ "drilldown" : "048",
+ "name" : "#048",
+ "y" : 106
+ },
+ {
+ "drilldown" : "049",
+ "name" : "#049",
+ "y" : 85
+ },
+ {
+ "drilldown" : "050",
+ "name" : "#050",
+ "