The Shadow shall rise across the world, and darken every land, even to the smallest corner, and there shall be neither Light nor safety. And he who shall be born of the Dawn, born of the Maiden, according to Prophecy, he shall stretch forth his hands to catch the Shadow, and the world shall scream in the pain of salvation. All Glory be to the Creator, and to the Light, and to he who shall be born again. May the Light save us from him.
—from Commentaries on the Karaethon Cycle
Sereine dar Shamelle Motara
Counsel-Sister to Comaelle,
High Queen of Jaramide
(circa 325 AB, the Third Age)
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose on the great plain called the Caralain Grass. The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of Time. But it was a beginning.
North and west the wind blew beneath early morning sun, over endless miles of rolling grass and far-scattered thickets, across the swift-flowing River Luan, past the broken-topped fang of Dragonmount, mountain of legend towering above the slow swells of the rolling plain, looming so high that clouds wreathed it less than halfway to the smoking peak. Dragonmount, where the Dragon had died—and with him, some said, the Age of Legends—where prophecy said he would be born again. Or had been. North and west, across the villages of Jualdhe and Darein and Alindaer, where bridges like stone lacework arched out to the Shining Walls, the great white walls of what many called the greatest city in the world. Tar Valon. A city just touched by the reaching shadow of Dragonmount each evening.
Within those walls Ogier-made buildings well over two thousand years old seemed to grow out of the ground rather than having been built, or to be the work of wind and water rather than that of even the fabled hands of Ogier stonemasons. Some suggested birds taking flight, or huge shells from distant seas. Soaring towers, flared or fluted or spiraled, stood connected by bridges hundreds of feet in the air, often without rails. Only those long in Tar Valon could avoid gaping like country folk who had never been off the farm.
Greatest of those towers, the White Tower dominated the city, gleaming like polished bone in the sun. The Wheel of Time turns around Tar Valon, so people said in the city, and Tar Valon turns around the Tower. The first sight travelers had of Tar Valon, before their horses came in view of the bridges, before their riverboat captains sighted the island, was the Tower reflecting the sun like a beacon. Small wonder then that the great square surrounding the walled Tower grounds seemed smaller than it was under the massive Tower’s gaze, the people in it dwindling to insects. Yet the White Tower could have been the smallest in Tar Valon; the fact that it was the heart of Aes Sedai power would still have overawed the island city.
Despite their numbers, the crowd did not come close to filling the square. Along the edges people jostled each other in a milling mass, all going about their day’s business, but closer to the Tower grounds there were ever fewer people, until a band of bare paving stones at least fifty paces wide bordered the tall white walls. Aes Sedai were respected and more in Tar Valon, of course, and the Amyrlin Seat ruled the city as she ruled the Aes Sedai, but few wanted to be closer to Aes Sedai power than they had to. There was a difference between being proud of a grand fireplace in your hall and walking into the flames.
A very few did go closer, to the broad stairs that led up to the Tower itself, to the intricately carved doors wide enough for a dozen people abreast. Those doors stood open, welcoming. There were always some people in need of aid or an answer they thought only Aes Sedai could give, and they came from far as often as near, from Arafel and Ghealdan, from Saldaea and Illian. Many would find help or guidance inside, though often not what they had expected or hoped for.
Min kept the wide hood of her cloak pulled up, shadowing her face in its depths. In spite of the warmth of the day, the garment was light enough not to attract comment, not on a woman so obviously shy. And a good many people were shy when they went to the Tower. There was nothing about her to attract notice. Her dark hair was longer than when she was last in the Tower, though still not quite to her shoulders, and her dress, plain blue except for narrow bands of white Jaerecuz lace at neck and wrists, would have suited the daughter of a well-to-do farmer, wearing her feastday best to the Tower just like the other women approaching the wide stairs. Min hoped she looked the same, at least. She had to stop herself from staring at them to see if they walked or held themselves differently. I can do it, she told herself.
She had certainly not come all this way to turn back now.. The dress was a good disguise. Those who remembered her in the Tower remembered a young woman with close-cropped hair, always in a boy’s coat and breeches, never in a dress. It had to be a good disguise. She had no choice about what she was doing. Not really.
Her stomach fluttered the closer she came to the Tower, and she tightened her grip on the bundle clutched to her breast. Her usual clothes were in there, and her good boots, and all her possessions except the horse she had left at an inn not far from the square. With luck, she would be back on the gelding in a few hours, riding for the Ostrein Bridge and the road south.
She was not really looking forward to climbing onto a horse again so soon, not after weeks in the saddle with never a day’s pause, but she longed to leave this place. She had never seen the White Tower as hospitable, and right now it seemed nearly as awful as the Dark One’s prison at Shayol Ghul. Shivering, she wished she had not thought of the Dark One. I wonder if Moiraine thinks I came just because she asked me? The Light help me, acting like a fool girl.
She mounted the stairs uneasily—each was deep enough to take two strides for her to reach the next—and unlike most of the others, she did not pause for an awed stare up the pale height of the Tower. She wanted this over.
Inside, archways almost surrounded the large, round entry hall, but the petitioners huddled in the middle of the chamber, shuffling together beneath a flat-domed ceiling. The pale stone floor had been worn and polished by countless nervous feet over the centuries. No one thought of anything except where they were, and why. A farmer and his wife in rough woolens, clutching each other’s callused hands, rubbed shoulders with a merchant in velvet-slashed silks, a maid at her heels clutching a small worked-silver casket, no doubt her mistress’s gift for the Tower. Elsewhere, the merchant would have stared down her nose at farm folk who brushed so close, and they might well have knuckled their foreheads and backed away apologizing. Not now. Not here.
There were few men among the petitioners, which was no surprise to Min. Most men were nervous around Aes Sedai. Everyone knew it had been male Aes Sedai, when there still had been male Aes Sedai, who were responsible for the Breaking of the World. Three thousand years had not dimmed that memory, even if time had altered many of the details. Children were still frightened by tales of men who could channel the One Power, men doomed to go mad from the Dark One’s taint on saidin, the male half of the True Source. Worst was the story of Lews Therin Telamon, the Dragon, Lews Therin Kinslayer, who had begun the Breaking. For that matter, the stories frightened adults, too. Prophecy said the Dragon would be born again in mankind’s greatest hour of need, to fight the Dark One in Tarmon Gai’don, the Last Battle, but that made little difference in how most people looked at any connection between men and the Power. Any Aes Sedai would hunt down a man who could channel, now; of the seven Ajahs, the Red did little else.
Of course, none of that had anything to do with seeking help from Aes Sedai, yet few men felt easy about being linked in any way to Aes Sedai and the Power. Few, that is, except Warders, but each Warder was bonded to an Aes Sedai; Warders could hardly be taken for the general run of men. There was a saying: “A man will cut off his own hand to get rid of a splinter before asking help from Aes Sedai.” Women meant it as a comment on men’s stubborn foolishness, but Min had heard some men say the loss of a hand might be the better decision.
She wondered what these people would do if they knew what she knew. Run screaming, perhaps. And if they knew her reason for being here, she might not survive to be taken up by the Tower guards and thrown into a cell. She did have friends in the Tower, but none with power or influence. If her purpose was discovered, it was much less likely that they could help her than that she would pull them to the gallows or the headsman behind her. That was saying she lived to be tried, of course; more likely her mouth would be stopped permanently long before a trial.
She told herself to stop thinking like that. I’ll make it in, and I’ll make it out. The Light burn Rand al’Thor for getting me into this!
Three or four Accepted, women Min’s age or perhaps a little older, were circulating through the round room, speaking softly to the petitioners. Their white dresses had no decoration except for seven bands of color at the hem, one band for each Ajah. Now and again a novice, a still younger woman or girl all in white, came to lead someone deeper into the Tower. The petitioners always followed the novices with an odd mix of excited eagerness and foot-dragging reluctance.
 “The Light illumine you,” the curly-haired woman said perfunctorily. “I am called Faolain. How may the Tower help you?”
Faolain’s dark, round face held the patience of someone doing a tedious job when she would rather be doing something else. Studying, probably, from what Min knew of the Accepted. Learning to be Aes Sedai. Most important, however, was the lack of recognition in the Accepted’s eyes; the two of them had met when Min was in the Tower before, though only briefly.
Just the same, Min lowered her face in assumed diffidence. It was not unnatural; a good many country folk did not really understand the great step up from Accepted to full Aes Sedai. Shielding her features behind the edge of her cloak, she looked away from Faolain.
“I have a question I must ask the Amyrlin Seat,” she began, then cut off abruptly as three Aes Sedai stopped to look into the entry hall, two from one archway and one from another.
Accepted and novices curtsied when their rounds took them close to one of the Aes Sedai, but otherwise went on about their tasks, perhaps a trifle more briskly. That was all. Not so for the petitioners. They seemed to catch their breaths all together. Away from the White Tower, away from Tar Valon, they might simply have thought the Aes Sedai three women whose ages they could not guess, three women in the flush of their prime, yet with more maturity than their smooth cheeks suggested. In the Tower, though, there was no question. A woman who had worked very long with the One Power was not touched by time in the same way as other women. In the Tower, no one needed to see a golden Great Serpent ring to know an Aes Sedai.
A ripple of curtsies spread through the huddle, and jerky bows from the few men. Two or three people even fell to their knees. The rich merchant looked frightened; the farm couple at her side stared at legends come to life. How to deal with Aes Sedai was a matter of hearsay for most; it was unlikely that any here, except those who actually lived in Tar Valon, had seen an Aes Sedai before, and probably not even the Tar Valoners had been this close.
But it was not the Aes Sedai themselves that halted Min’s tongue. Sometimes, not often, she saw things when she looked at people, images and auras that usually flared and were gone in moments. Occasionally she knew what they meant. It happened rarely, the knowing—much more rarely than the seeing, even—but when she knew, she was always right.
Unlike most others, Aes Sedai—and their Warders—always had images and auras, sometimes so many dancing and shifting that they made Min dizzy. The numbers made no difference in interpreting them, though; she knew what they meant for Aes Sedai as seldom as for anyone else. But this time she knew more than she wanted to, and it made her shiver.
A slender woman with black hair falling to her waist, the only one of the three she recognized—her name was Ananda; she was Yellow Ajah—wore a sickly brown halo, shriveled and split by rotting fissures that fell in and widened as they decayed. The small, fair-haired Aes Sedai beside Ananda was Green Ajah, by her green-fringed shawl. The White Flame of Tar Valon on it showed for a moment when she turned her back. And on her shoulder, as if nestled among the grape vines and flowering apple branches worked on her shawl, sat a human skull. A small woman’s skull, picked clean and sun-bleached. The third, a plumply pretty woman halfway around the room, wore no shawl; most Aes Sedai did not except for ceremony. The lift of her chin and the set of her shoulders spoke of strength and pride. She seemed to be casting cool blue eyes on the petitioners through a tattered curtain of blood, crimson streamers running down her face.
Blood and skull and halo faded away in the dance of images around the three, came and faded again. The petitioners stared in awe, seeing only three women who could touch the True Source and channel the One Power. No one but Min saw the rest. No one but Min knew those three women were going to die. All on the same day.
“The Amyrlin cannot see everyone,” Faolain said with poorly hidden impatience. “Her next public audience is not for ten days. Tell me what you want, and I will arrange for you to see the sister who can best help you.”
Min’s eye flew to the bundle in her arms and stayed there, partly so she would not have to see again what she had already seen. All three of them! Light! What chance was there that three Aes Sedai would die on the same day? But she knew. She knew.
“I have the right to speak to the Amyrlin Seat. In person.” It was a right seldom demanded—who would dare?—but it existed. “Any woman has that right, and I ask it.”
“Do you think the Amyrlin Seat herself can see everyone who comes to the White Tower? Surely another Aes Sedai can help you.” Faolain gave heavy weight to the titles as if to overpower Min. “Now tell me what your question is about. And give me your name, so the novice will know who to come for.”
“My name is . . . Elmindreda.” Min winced in spite of herself. She had always hated the name, but the Amyrlin was one of the few people living who had ever heard it. If only she remembered. “I have the right to speak to the Amyrlin. And my question is for her alone. I have the right.”
The Accepted arched an eyebrow. “Elmindreda?” Her mouth twitched toward an amused smile. “And you claim your rights. Very well. I will send word to the Keeper of the Chronicles that you wish to see the Amyrlin Seat personally, Elmindreda.”
Min wanted to slap the woman for the way she emphasized “Elmindreda,” but instead she forced out a murmured “Thank you.”
“Do not thank me yet. No doubt it will be hours before the Keeper finds time to reply, and it will certainly be that you can ask your question at the Mother’s next public audience. Wait with patience, Elmindreda.” She gave Min a tight smile, almost a smirk, as she turned away.
Grinding her teeth, Min took her bundle to stand against the wall between two of the archways, where she tried to blend into the pale stonework. Trust no one, and avoid notice until you reach the Amyrlin, Moiraine had told her. Moiraine was one Aes Sedai she did trust. Most of the time. It was good advice in any case. All she had to do was reach the Amyrlin, and it would be over. She could don her own clothes again, see her friends, and leave. No more need for hiding.
She was relieved to see that the Aes Sedai had gone. Three Aes Sedai dying on one day. It was impossible; that was the only word. Yet it was going to happen. Nothing she said or did could change it—when she knew what an image meant, it happened—but she had to tell the Amyrlin about this. It might even be as important as the news she brought from Moiraine, though that was hard to believe.
 Sheriam, the Mistress of Novices, looked into the hall—after one glance, Min kept her gaze on the stone under her feet; Sheriam knew her all too well—and the red-haired Aes Sedai’s face seemed battered and bruised. It was only the viewing, of course, but Min still had to bite her lip to stifle a gasp. Sheriam, with her calm authority and sureness, was as indestructible as the Tower. Surely nothing could harm Sheriam. But something was going to.
An Aes Sedai unknown to Min, wearing the shawl of the Brown Ajah, accompanied a stout woman in finely woven red wool to the doors. The stout woman walked as lightly as a girl, face shining, almost laughing with pleasure. The Brown sister was smiling, too, but her aura faded like a guttering candle flame.
Death. Wounds, captivity, and death. To Min it might as well have been printed on a page.
 She did not want to see any more. Let her remember, she thought. She had not felt desperation at any time on her long ride from the Mountains of Mist, not even on the two occasions when someone tried to steal her horse, but she felt it now.
“Mistress Elmindreda?”
Min gave a start. The black-haired novice who stood before her was barely old enough to be away from home, perhaps fifteen or sixteen, though she made a great effort at dignity. “Yes? I am . . . That is my name.”
“I am Sahra. If you will come with me—” Sahra’s piping voice took on a note of wonder—“the Amyrlin Seat will see you in her study now.”
Min gave a sigh of relief and followed eagerly.
Her cloak’s deep hood still hid her face, but it did not stop her seeing, and the more she saw, the more she grew eager to reach the Amyrlin. Few people walked the broad corridors that spiraled upward with their brightly colored floor tiles, and their wall hangings and golden lamp stands—the Tower had been built to hold far greater numbers than it did now—but nearly everyone she saw as she climbed higher wore an image or aura that spoke to her of violence and danger.
Warders hurried by with barely a glance for the two women, men who moved like hunting wolves, their swords only an afterthought to their deadliness, but they seemed to have bloody faces, or gaping wounds. Swords and spears danced about their heads, threatening. Their auras flashed wildly, flickered on the knife edge of death. She saw dead men walking, knew they would die on the same day as the Aes Sedai in the entry hall, or at most a day later. Even some of the servants, men and women with the Flame of Tar Valon on their breasts, hurrying about their work, bore signs of violence. An Aes Sedai glimpsed down a side hallway appeared to have chains in the air around her, and another, crossing the corridor ahead of Min and her guide, seemed for most of those few strides to wear a silver collar around her neck. Min’s breath caught at that; she wanted to scream.
“It can all be overwhelming to someone who’s never seen it before,” Sahra said, trying and failing to sound as if the Tower were as ordinary to her now as her home village. “But you are safe here. The Amyrlin Seat will make things right.” Her voice squeaked when she mentioned the Amyrlin.
“Light, let her do just that,” Min muttered. The novice gave her a smile that was meant to be soothing.
By the time they reached the hall outside the Amyrlin’s study, Min’s stomach was churning and she was treading almost on Sahra’s heels. Only the need to pretend that she was a stranger had kept her from running ahead long since.
One of the doors to the Amyrlin’s chambers opened, and a young man with red-gold hair came stalking out, nearly striding into Min and her escort. Tall and straight and strong in his blue coat thickly embroidered with gold on sleeves and collar, Gawyn of House Trakand, son of Queen Morgase of Andor, looked every inch the proud young lord. A furious young lord. There was no time to drop her head; he was staring down into her hood, right into her face.
His eyes widened in surprise, then narrowed to slits of blue ice. “So you are back. Do you know where my sister and Egwene have gone?”
“They are not here?” Min forgot everything in a rising flood of panic. Before she knew what she was doing she had seized his sleeves, peering up at him urgently, and forced him back a step. “Gawyn, they started for the Tower months ago! Elayne and Egwene, and Nynaeve, too. With Verin Sedai and . . . Gawyn, I . . . I . . . ”
“Calm yourself,” he said, gently undoing her grip on his coat. “Light! I didn’t mean to frighten you so. They arrived safely. And would not say a word of where they had been, or why. Not to me. I suppose there’s scant hope you will?” She thought she kept her face straight, but he took one look and said, “I thought not. This place has more secrets than . . . They’ve vanished again. And Nynaeve, too.” Nynaeve was almost an offhand addition; she might be one of Min’s friends, but she meant nothing to him. His voice began to roughen once more, growing tighter by the second. “Again without a word. Not a word! Supposedly they’re on a farm somewhere as penance for running away, but I cannot find out where. The Amyrlin won’t give me a straight answer.”
 It was like a double hammer blow. Her friends were gone—it had eased her coming to the Tower, knowing they were here—and Gawyn was going to be wounded on the day the Aes Sedai died.
Despite all she had seen since entering the Tower, despite her fear, none of it had really touched her personally until now. Disaster striking the Tower would spread far from Tar Valon, yet she was not of the Tower and never could be. But Gawyn was someone she knew, someone she liked, and he was going to be hurt more than the blood told, hurt somehow deeper than wounds to his flesh. It hit her that if catastrophe seized the Tower, not only distant Aes Sedai would be harmed, women she could never feel close to, but her friends as well. They were of the Tower.
In a way she was glad Egwene and the others were not there, glad she could not look at them and perhaps see signs of death. Yet she wanted to look, to be sure, to look at her friends and see nothing, or see that they would live. Where in the Light were they? Why had they gone? Knowing those three, she thought it possible that if Gawyn did not know where they were, it was because they did not want him to know. It could be that.
Suddenly she remembered where she was and why, and that she was not alone with Gawyn. Sahra seemed to have forgotten she was taking Min to the Amyrlin; she seemed to have forgotten everything but the young lord, making calf-eyes that he was not noticing. Even so, there was no use pretending any longer to be a stranger to the Tower. She was at the Amyrlin’s door; nothing could stop her now.
“Gawyn, I don’t know where they are, but if they are doing penance on a farm, they’re probably all sweat, and mud to their hips, and you are the last one they will want to see them.” She was not much easier about their absence than Gawyn was, in truth. Too much had happened, too much was happening, too much with ties to them, and to her. But it was not impossible they had been sent off for punishment. “You won’t help them by making the Amyrlin angry.”
“I don’t know that they are on a farm. Or even alive. Why all this hiding and sidestepping if they’re just pulling weeds? If anything happens to my sister . . . Or to Egwene . . . ” He frowned at the toes of his boots. “I am supposed to look after Elayne. How can I protect her when I don’t know where she is?”
Min sighed. “Do you think she needs looking after? Either of them?” But if the Amyrlin had sent them somewhere, maybe they did. The Amyrlin was capable of sending a woman into a bear’s den with nothing but a switch if it suited her purposes. And she would expect the woman to come back with a bearskin, or the bear on a leash, as instructed. But telling Gawyn that would only inflame his temper and his worries. “Gawyn, they have pledged to the Tower. They won’t thank you for meddling.”
“I know Elayne isn’t a child,” he said patiently, “even if she does bounce back and forth between running off like one and playing at being Aes Sedai. But she is my sister, and beyond that, she is Daughter-Heir of Andor. She’ll be queen, after Mother. Andor needs her whole and safe to take the throne, not another Succession.”
Playing at being Aes Sedai? Apparently he did not realize the extent of his sister’s talent. The Daughter-Heirs of Andor had been sent to the Tower to train for as long as there had been an Andor, but Elayne was the first to have enough talent to be raised to Aes Sedai, and a powerful Aes Sedai at that. Very likely he also did not know Egwene was just as strong.
“So you will protect her whether she wants it or not?” She said it in a flat voice meant to let him know he was making a mistake, but he missed the warning and nodded agreement.
“That has been my duty since the day she was born. My blood shed before hers; my life given before hers. I took that oath when I could barely see over the side of her cradle; Gareth Bryne had to explain to me what it meant. I won’t break it now. Andor needs her more than it needs me.”
He spoke with a calm certainty, an acceptance of something natural and right, that sent chills through her. She had always thought of him as boyish, laughing and teasing, but now he was something alien. She thought the Creator must have been tired when it came time to make men; sometimes they hardly seemed human. “And Egwene? What oath did you take about her?”
His face did not change, but he shifted his feet warily. “I’m concerned about Egwene, of course. And Nynaeve. What happens to Elayne’s companions might happen to Elayne. I assume they’re still together; when they were here, I seldom saw one without the others.”
“My mother always told me to marry a poor liar, and you qualify. Except that I think someone else has first claim.”
“Some things are meant to be,” he said quietly, “and some never can. Galad is heartsick because Egwene is gone.” Galad was his half-brother, the pair of them sent to Tar Valon to train under the Warders. That was another Andoran tradition. Galadedrid Damodred was a man who took doing the right thing to the point of a fault, as Min saw it, but Gawyn could see no wrong in him. And he would not speak his feelings for a woman Galad had set his heart on.
She wanted to shake him, shake some sense into him, but there was no time now. Not with the Amyrlin waiting, not with what she had to tell the Amyrlin waiting. Certainly not with Sahra standing there, calf-eyes or no calf-eyes. “Gawyn, I am summoned to the Amyrlin. Where can I find you, when she is done with me?”
“I will be in the practice yard. The only time I can stop worrying is when I am working the sword with Hammar.” Hammar was a blademaster, and the Warder who taught the sword. “Most days I’m there until the sun sets.”
“Good, then. I will come as soon as I can. And try to watch what you say. If you make the Amyrlin angry with you, Elayne and Egwene might share in it.”
“That I cannot promise,” he said firmly. “Something is wrong in the world. Civil war in Cairhien. The same and worse in Tarabon and Arad Doman. False Dragons. Troubles and rumors of troubles everywhere. I don’t say the Tower is behind it, but even here things are not what they should be. Or what they seem, Elayne and Egwene vanishing isn’t the whole of it. Still, they are the part that concerns me. I will find out where they are. And if they have been hurt . . . If they are dead . . .  More: a sword floated above his head, and a banner waved behind it. The long-hilted sword, like those most Warders used, had a heron engraved on its slightly curved blade, symbol of a blademaster, and Min could not say whether it belonged to Gawyn or threatened him. The banner bore Gawyn’s sigil of the charging White Boar, but on a field of green rather than the red of Andor. Both sword and banner faded with the blood.
“Be careful, Gawyn.” She meant it two ways. Careful of what he said, and careful in a way she could not explain, even to herself. “You must be very careful.”
His eyes searched her face as if he had heard some of her deeper meaning. “I . . . will try,” he said finally. He put on a grin, almost the grin she remembered, but the effort was plain. “I suppose I had better get myself back to the practice yard if I expect to keep up with Galad. I managed two out of five against Hammar this morning, but Galad actually won three, the last time he bothered to come to the yard.” Suddenly he appeared to really see her for the first time, and his grin became genuine. “You ought to wear dresses more often. It’s pretty on you. Remember, I will be there till sunset.”
As he strode away with something very close to the dangerous grace of a Warder, Min realized she was smoothing the dress over her hip and stopped immediately. The Light burn all men!
Sahra exhaled as if she had been holding her breath. “He is very good-looking, isn’t he?” she said dreamily. “Not as good-looking as Lord Galad, of course. And you really know him.” It was half a question, but only half.
Min echoed the novice’s sigh. The girl would talk with her friends in the novices’ quarters. The son of a queen was a natural topic, especially when he was handsome and had an air about him like the hero in a gleeman’s tale. A strange woman only made for more interesting speculation. Still, there was nothing to be done about it. At any rate, it could hardly cause any harm now.
“The Amyrlin Seat must be wondering why we haven’t come,” she said.
Sahra came to herself with a wide-eyed start and a loud gulp. Seizing Min’s sleeve with one hand, she jumped to open one of the doors, pulling Min behind her. The moment they were inside, the novice curtsied hastily and burst out in panic, “I’ve brought her, Leane Sedai. Mistress Elmindreda? The Amyrlin Seat wants to see her?”
The tall, coppery-skinned woman in the anteroom wore the hand-wide stole of the Keeper of the Chronicles, blue to show she had been raised from the Blue Ajah. Fists on hips, she waited for the girl to finish, then dismissed her with a clipped “Took you long enough, child. Back to your chores, now.” Sahra bobbed another curtsy and scurried out as quickly as she had entered.
 Blundering in front of Sahra had been bad enough—though at least the novice did not know her name—but Leane knew her better than anyone in the Tower except the Amyrlin. Min was sure it could make no difference now, but after what had happened in the hallway, she meant to hold to Moiraine’s instructions until she was alone with the Amyrlin.
This time her precautions did no good. Leane took two steps, pushed back the hood, and grunted as if she had been poked in the stomach. Min raised her head and stared back defiantly, trying to pretend she had not been attempting to sneak past. Straight, dark hair only a little longer than her own framed the Keeper’s face; the Aes Sedai’s expression was a blend of surprise and displeasure at being surprised.
“So you are Elmindreda, are you?” Leane said briskly. She was always brisk. “I must say you look it more in that dress than in your usual . . . garb.”
“Just Min, Leane Sedai, if you please.” Min managed to keep her face straight, but it was difficult not to glare. The Keeper’s voice had held too much amusement. If her mother had had to name her after someone in a story, why did it have to be a woman who seemed to spend most of her time sighing at men, when she was not inspiring them to compose songs about her eyes, or her smile?
“Very well. Min. I’ll not ask where you’ve been, nor why you’ve come back in a dress, apparently wanting to ask a question of the Amyrlin. Not now, at least.” Her face said she meant to ask later, though, and get answers. “I suppose the Mother knows who Elmindreda is? Of course. I should have known that when she said to send you straight in, and alone. The Light alone knows why she puts up with you.” She broke off with a concerned frown. “What is the matter, girl? Are you ill?”
Min carefully blanked her face. “No. No, I am all right.” For a moment the Keeper had been looking through a transparent mask of her own face, a screaming mask. “May I go in now, Leane Sedai?”
Leane studied her a moment longer, then jerked her head toward the inner chamber. “In with you.” Min’s leap to obey would have satisfied the hardest taskmistress.
The Amyrlin Seat’s study had been occupied by many grand and powerful women over the centuries, and reminders of the fact filled the room, from the tall fireplace all of golden marble from Kandor, cold now, to the paneled walls of pale, oddly striped wood, iron hard yet carved in wondrous beasts and wildly feathered birds. Those panels had been brought from the mysterious lands beyond the Aiel Waste well over a thousand years ago, and the fireplace was more than twice as old. The polished red-stone of the floor had come from the Mountains of Mist. High arched windows let onto a balcony. The iridescent stone framing the windows shone like pearls, and had been salvaged from the remains of a city sunk into the Sea of Storms by the Breaking of the World; no one had ever seen its like.
The current occupant, Siuan Sanche, had been born a fisherman’s daughter in Tear, though, and the furnishings she had chosen were simple, if well made and well polished.   Half a dozen books rested open on tall reading stands about the floor. That was all of it. A drawing hung above the fireplace: tiny fishing boats working among reeds in the Fingers of the Dragon, just as her father’s boat had.
At first glance, despite her smooth Aes Sedai features, Siuan Sanche herself looked as simple as her furnishings. She herself was sturdy, and handsome rather than beautiful, and the only bit of ostentation in her clothing was the broad stole of the Amyrlin Seat she wore, with one colored stripe for each of the seven Ajahs. Her age was indeterminate, as with any Aes Sedai; not even a hint of gray showed in her dark hair. But her sharp blue eyes brooked no nonsense, and her firm jaw spoke of the determination of the youngest woman ever to be chosen Amyrlin Seat. For over ten years Siuan Sanche had been able to summon rulers, and the powerful, and they had come, even if they hated the White Tower and feared Aes Sedai.
As the Amyrlin strode around in front of the table, Min set down her bundle and began an awkward curtsy, muttering irritably under her breath at having to do so. Not that she wanted to be disrespectful—that did not even occur to one facing a woman like Siuan Sanche—but the bow she usually would have made seemed foolish in a dress, and she had only a rough idea of how to curtsy.
Halfway down, with her skirts already spread, she froze like a crouching toad. Siuan Sanche was standing there as regal as any queen, and for a moment she was also lying on the floor, naked. Aside from her being in only her skin, there was something odd about the image, but it vanished before Min could say what. It was as strong a viewing as she had ever seen, and she had no idea what it meant.
“Seeing things again, are you?” the Amyrlin said. “Well, I can certainly make use of that ability of yours. I could have used it all the months you were gone. But we’ll not talk of that. What’s done is done. The Wheel weaves as the Wheel wills.” She smiled a tight smile. “But if you do it again, I’ll have your hide for gloves. Stand up, girl. Leane forces enough ceremony on me in a month to last any sensible woman a year. I don’t have time for it. Not these days. Now, what did you just see?”
Min straightened slowly. It was a relief to be back with someone who knew of her talent, even if it was the Amyrlin Seat herself. She did not have to hide what she saw from the Amyrlin. Far from it. “You were . . . You weren’t wearing any clothes. I . . . I don’t know what it means, Mother.”
Siuan barked a short, mirthless laugh. “No doubt that I’ll take a lover. But I have no time for that, either. There’s no time for winking at the men when you’re busy bailing the boat.”
“Maybe,” Min said slowly. It could have meant that, though she doubted it. “I just do not know. But, Mother, I’ve been seeing things ever since I walked into the Tower. Something bad is going to happen, something terrible.”
She started with the Aes Sedai in the entry hall and told everything she had seen, as well as what everything meant, when she was sure. She held back what Gawyn had said, though, or most of it; it was no use telling him not to anger the Amyrlin if she did it for him. The rest she laid out as starkly as she had seen it. Some of her fear came out as she dredged it all up, seeing it all again; her voice shook before she was done.
The Amyrlin’s expression never changed. “So you spoke with young Gawyn,” she said when Min finished. “Well, I think I can convince him to keep quiet. And if I remember Sahra correctly, the girl could do with some time working in the country. She’ll spread no gossip hoeing a vegetable patch.”
“I don’t understand,” Min said. “Why should Gawyn keep quiet? About what? I told him nothing. And Sahra . . . ? Mother, perhaps I didn’t make myself clear. Aes Sedai and Warders are going to die. It has to mean a battle. And unless you send a lot of Aes Sedai and Warders off somewhere—and servants, too; I saw servants dead and injured, too—unless you do that, that battle will be here! In Tar Valon!”
“Did you see that?” The Amyrlin demanded. “A battle?  At least four Aes Sedai are as good as dead.  And the Warders . . . What else could it be?”
“More things than I like to think of,” Siuan said grimly. “When?
Min shook her head. “I do not know. Most of it will happen in the space of a day,, maybe two, but that could be tomorrow or a year from now. Or ten.”
“Let us pray for ten. If it comes tomorrow, there isn’t much I can do to stop it.”
Min grimaced. Only two Aes Sedai besides Siuan Sanche knew of what she could do: Moiraine, and Verin Mathwin, who had tried to study her talent. None of them knew how it worked any more than she did, except that it had nothing to do with the Power. Perhaps that was why only Moiraine seemed able to accept the fact that when she knew what a viewing meant, it happened.
“Maybe it’s the Whitecloaks, Mother. They were everywhere in Alindaer when I crossed the bridge.” She did not believe the Children of the Light had anything to do with what was coming, but she was reluctant to say what she believed. Believed, not knew; yet that was bad enough.
But the Amyrlin had begun shaking her head before she finished. “They would try something if they could, I’ve no doubt—they would love to strike at the Tower—but Eamon Valda won’t move openly without orders from the Lord Captain Commander, and Pedron Niall will not strike unless he thinks we’re injured. He knows our strength too well to be foolish. For a thousand years the Whitecloaks have been like that. Silverpike in the reeds, waiting for a hint of Aes Sedai blood in the water. But we’ve showed them none yet, nor will we, if I can help it.”
“Yet if Valda did try something on his own—”
Siuan cut her off. “He has no more than five hundred men close to Tar Valon, girl. He sent the rest away weeks ago, to cause trouble elsewhere. The Shining Walls held off the Aiel. And Artur Hawkwing, too. Valda will never break into Tar Valon unless the city is already falling apart from the inside.” Her voice did not change as she went on. “You very much want me to believe the trouble will come from the Whitecloaks. Why?”
“Because I want to believe it,” Min muttered. She licked her lips and spoke the words she did not want to say. “The silver collar I saw on that one Aes Sedai. Mother, it looked . . . It looked like one of the collars the . . . the Seanchan use to . . . to control women who can channel.” Her voice dwindled as Siuan’s mouth twisted with distaste.
“Filthy things,” the Amyrlin growled. “As well most people don’t believe a quarter of what they hear about the Seanchan. But there’s more chance of it being the Whitecloaks. If the Seanchan land again, anywhere, I will know it in days by pigeon, and it is a long way from the sea to Tar Valon. If they do reappear, I will have plenty of warning. No, I fear what you see is something far worse than the Seanchan. I fear it can only be the Black Ajah. Only a handful of us know about them, and I don’t relish what will happen when the knowledge becomes common, but they are the greatest immediate threat to the Tower.”
Min realized she was clutching her skirt so hard that her hands hurt; her mouth was dry as dust. The White Tower had always coldly denied the existence of a hidden Ajah, dedicated to the Dark One. The surest way to anger an Aes Sedai was merely to mention such a thing. For the Amyrlin Seat herself to give the Black Ajah reality so casually made Min’s spine turn to ice.
As if she had said nothing out of the ordinary, the Amyrlin went on.  What word from Moiraine? I know everything from Arad Doman to Tarabon is in chaos, to say the least.” That was saying the least, indeed; men supporting the Dragon Reborn were fighting those opposing him, and had turned both countries to civil war while they still fought each other for control of Almoth Plain. Siuan’s tone dismissed all that as a detail. “But I’ve heard nothing of Rand al’Thor for months. He is the focus of everything. Where is he? What does Moiraine have him doing? Sit, girl. Sit.” She gestured to the chair in front of the table.
Min approached the chair on wobbly legs and half fell into it. The Black Ajah! Oh, Light! Aes Sedai were supposed to stand for the Light. Even if she did not really trust them, there was always that. Aes Sedai, and all the power of the Aes Sedai, stood for the Light and against the Shadow. Only now it was not true any longer. She hardly heard herself say, “He’s on his way to Tear.”
“Tear! It’s Callandor, then. Moiraine means him to take the Sword That Cannot Be Touched out of the Stone of Tear. I swear I’ll hang her in the sun to dry! I will make her wish she were a novice again! He cannot be ready for that yet!”
“It was not . . . ” Min stopped to clear her throat. “It was not Moiraine’s doing. Rand left in the middle of the night, by himself. The others followed, and Moiraine sent me to tell you. They could be in Tear by now. For all I know, he could have Callandor by now.”
“Burn him!” Siuan barked. “By now, he could be dead! I wish he had never heard a word of the Prophecies of the Dragon. If I could keep him from hearing another, I would.”
“But doesn’t he have to fulfill the Prophecies? I don’t understand.”
The Amyrlin leaned back against her table wearily. “As though anyone even understands most of them! The Prophecies aren’t what makes him the Dragon Reborn; all that takes is for him to admit it, and he must have if he is going for Callandor. The Prophecies are meant to announce to the world who he is, to prepare him for what is coming, to prepare the world for it. If Moiraine can keep some control over him, she will guide him to the Prophecies we can be sure of—when he is ready to face them!—And for the rest, we trust that what he does is enough. We hope. For all I know, he has already fulfilled Prophecies none of us understands. The Light send it’s enough.”
“So you do mean to control him. He said you’d try to use him, but this is the first I’ve heard you admit it.” Min felt cold inside. Angry, she added, “You haven’t done such a good job of it so far, you and Moiraine.”
Siuan’s tiredness seemed to slide from her shoulders. She straightened and stood looking down at Min. “You had best hope we can. Did you think we could just let him run about loose? Headstrong and stubborn, untrained, unprepared, maybe going mad already. Do you think we could trust to the Pattern, to his destiny, to keep him alive, like some story? This isn’t a story, he isn’t some invincible hero, and if his thread is snipped out of the Pattern, the Wheel of Time won’t notice his going, and the Creator will produce no miracles to save us: If Moiraine cannot reef his sails, he very well may get himself killed, and where are we then? Where is the world? The Dark One’s prison is failing. He will touch the world again; it is only a matter of time. If Rand al’Thor is not there to face him in the Last Battle, if the headstrong young fool gets himself killed first, the world is doomed. The War of the Power all over again, with no Lews Therin and his Hundred Companions. Then fire and shadow, forever.” She stopped suddenly, peering at Min’s face. “So that’s the way the wind sets, is it? You and Rand. I did not expect this.”
 “Of course not! I was . . . It’s the Last Battle. And the Dark One . . .  And the Black Ajah—”
“Don’t try to dissemble,” the Amyrlin said sharply. “Do you think this is the first time I ever saw a woman afraid for her man’s life? You might as well admit it.”
Min squirmed on her chair. Siuan’s eyes dug at her, knowing and impatient. “All right,” she muttered finally, “I’ll tell you all of it, and much good it does either of us. The first time I ever saw Rand, I saw three women’s faces, and one of them was mine. I’ve never seen anything about myself before or since, but I knew what it meant. I was going to fall in love with him. All three of us were.”
“Three. The other two. Who are they?”
Min gave her a bitter smile. “The faces were blurred; I don’t know who they are.”
“Nothing to say that he would love you in return?”
“Nothing! He has never looked at me twice. I think he sees me as . . . as a sister. So don’t think you can use me as leash on him, because it will not work!”
“Yet you do love him.”
“I don’t have any choice.” Min tried to make her voice less sullen. “I tried treating it as a joke, but I can’t laugh anymore. You may not believe me, but when I know what it means, it happens.”
The Amyrlin tapped a finger against her lips and looked at Min consideringly.
That look worried Min. She had not meant to make such a show of herself, nor to tell as much as she had. She had not told everything, but she knew she should have learned by now not to give an Aes Sedai a lever, even if she did not see how it could be used. Aes Sedai were skilled at finding ways. “Mother, I’ve delivered Moiraine’s message, and I’ve told everything I know of what my viewings meant. There’s no reason now I can’t put on my own clothes and go.”
“Go where?”
“Tear.” After talking with Gawyn, trying to make sure he did not do something foolish. She wished she dared ask where Egwene and the other two were, but if the Amyrlin would not tell Elayne’s brother, there was small chance she would tell Min.  “Or wherever Rand is.  It will be dangerous, being close to Rand al’Thor once the world finds out who he is, what he is. And if he now wields Callandor, the world will learn soon enough.  A good many will die, close to him. It might be better for you to stay here.”
The Amyrlin sounded sympathetic, but Min did not believe it. She did not believe Siuan Sanche was capable of sympathy. “I’ll take the risk; maybe I can help him. With what I see. It isn’t even as if the Tower would be that much safer, not so long as there is one Red sister here. They’ll see a man who can channel and forget the Last Battle, and the Prophecies of the Dragon.”
“So will many others,” Siuan broke in calmly. “Old ways of thinking are hard to shed, for Aes Sedai as for anyone else.”
Min gave her a puzzled look. She seemed to be taking Min’s side of the thing now. “It is no secret I am friends with Egwene and Nynaeve, and no secret they’re from the same village as Rand. For the Red Ajah, that will be connection enough. When the Tower finds out what he is, I would probably be arrested before the day is out. So will Egwene and Nynaeve, if you don’t have them hidden away somewhere.”
“Then you mustn’t be recognized. You catch no fish if they see the net. I suggest you forget your coat and breeches for a time.” The Amyrlin smiled like a cat smiling at a mouse.
“What fish do you expect to catch with me?” Min asked in a faint voice. She thought she knew, and hoped desperately she was wrong.
Her hope did not stop the Amyrlin from saying, “The Black Ajah. Thirteen of them fled, but I fear some remain. I cannot be sure who I can trust; for a while I was afraid to trust anyone.  At the very least, you’ll be another trustworthy pair of eyes.”
“You’ve been planning this since I walked in, haven’t you? That’s why you want to keep Gawyn and Sahra quiet.” Anger built up inside Min like steam in a kettle. The woman said frog and expected people to jump. That they usually did just made it worse. She was no frog, no dancing puppet. “Is this what you did to Egwene and Elayne and Nynaeve? Send them off after the Black Ajah? I wouldn’t put it past you!”
“You tend your own nets, child, and let those girls tend theirs. As far as you are concerned, they are working penance on a farm. Do I make myself plain?”
That unwavering stare made Min shift on her chair. It was easy to defy the Amyrlin—until she started staring at you with those sharp, cold blue eyes. “Yes, Mother.” The meekness of her reply rankled, but a glance at the Amyrlin convinced her to let it lie. She plucked at the fine wool of her dress.  Suddenly Siuan looked amused; Min felt her hackles rising.
“I fear that won’t be enough. Min in a dress is still Min in a dress to anyone who looks close. You cannot always wear a cloak with the hood up. No, you must change everything that can be changed. For one thing, you will continue to go by Elmindreda. It is your name, after all.” Min winced. “Your hair is almost as long as Leane’s, long enough to put in curls. For the rest . . . I never had any use for rouge and powder and paints, but Leane remembers the use of them.”
Min’s eyes had grown wider by the word since the mention of curls. “Oh, no,” she gasped.
“No one will take you for Min who wears breeches once Leane makes you into a perfect Elmindreda.”
“Oh, NO!”
“As to why you are staying in the Tower—a reason suitable for a fluttery young woman who looks and acts nothing at all like Min.” The Amyrlin frowned thoughtfully, ignoring Min’s efforts to break in. “Yes. I will let it be put about that Mistress Elmindreda managed to encourage two suitors to the point that she has to take shelter from them in the tower until she can decide between them, A few women still claim sanctuary each year, and sometimes for reasons as silly.”  “If you’re still thinking of Tear, think again. Consider whether you can be of more help to Rand there, or here. If the Black Ajah brings the Tower down, or worse, gains control, he loses even the little help I can give. So. Are you a woman, or a lovesick girl?”
Trapped. Min could see it as plainly as a shackle on her leg. “Do you always get your way with people, Mother?”
The Amyrlin’s smile was even colder this time. “Usually, child. Usually.”
Shifting her red-fringed shawl, Elaida stared thoughtfully at the door to the Amyrlin’s study, through which the two young women had just vanished. The novice came back out almost immediately, took one look at Elaida’s face, and bleated like a frightened sheep. Elaida thought she recognized her, though she could not bring the girl’s name to mind. She had more important uses for her time than teaching wretched children.
“Your name?”
“Sahra, Elaida Sedai.” The girl’s reply was a breathless squeak. Elaida might have no interest in novices, but the novices knew her, and her reputation.
She remembered the girl now. A daydreamer with moderate ability who would never be of any real power. It was doubtful she knew anything more than Elaida had already seen and heard—or remembered much more than Gawyn’s smile, for that matter.  Elaida flicked a dismissive hand.
The girl dropped a curtsy so deep her face almost touched the floor tiles, then fled at a dead run.
Elaida did not see her go. The Red sister had turned away, already forgetting the novice. As she swept down the corridor, not a line marred her smooth features, but her thoughts boiled furiously. She did not even notice the servants, the novices and Accepted, who scrambled out of her way, curtsying as she passed. Once she almost walked over a Brown sister with her nose in a sheaf of notes. The plump Brown jumped back with a startled squawk that Elaida did not hear.
Dress or no dress, she knew the young woman who had gone in to see the Amyrlin. Min, who had spent so much time with the Amyrlin on her first visit to the Tower, though for no reason anyone knew. Min, who was such close friends with Elayne, Egwene, and Nynaeve. The Amyrlin was hiding the whereabouts of those three. Elaida was sure of it. All reports that they were serving penance on a farm had come at third or fourth hand from Siuan Sanche, more than enough distance to hide any twisting of words to avoid an outright lie. Not to mention the fact that all Elaida’s considerable efforts to find this farm had yielded nothing.
“The Light burn her!” For a moment open anger painted her face. She was not sure whether she meant Siuan Sanche or the Daughter-Heir. Either would serve. A slender Accepted heard her, glanced at her face, and went as white as her own dress; Elaida strode by without seeing her.
Apart from everything else, it infuriated her that she could not find Elayne. Elaida had the Foretelling sometimes, the ability to foresee future events. If it came seldom and faintly, that was still more than any Aes Sedai had had since Gitara Moroso, dead now twenty years. The very first thing Elaida had ever Foretold, while still an Accepted—and had known enough even then to keep to herself—was that the Royal line of Andor would be the key to defeating the Dark One in the Last Battle. She had attached herself to Morgase as soon as it was clear Morgase would succeed to the throne, had built her influence year by patient year. And now all her effort, all her sacrifice—she might have been Amyrlin herself had she not concentrated all her energies on Andor—might be for naught because Elayne had disappeared.
With an effort she forced her thoughts back to what was important now. Egwene and Nynaeve came from the same village as that strange young man, Rand al’Thor. And Min knew him as well, however much she had tried to hide the fact. Rand al’Thor lay at the heart of it.
Elaida had only seen him once, supposedly a shepherd from the Two Rivers, in Andor, but looking every inch the Aielman. The Foretelling had come to her at the sight of him. He was ta’veren, one of those rare individuals who, instead of being woven into the Pattern as the Wheel of Time chose, forced the Pattern to shape itself around them, for a time at least. And Elaida had seen chaos swirling around him, division and strife for Andor, perhaps for even more of the world. But Andor must be kept whole, whatever else happened; that first Foretelling had convinced her of that.
There were more threads, enough to snare Siuan in her own web. If the rumors were to be believed, there were three ta’veren, not just one. All three from the same village, this Emond’s Field, and all three near the same age, odd enough to occasion a good deal of talk in the Tower. And on Siuan’s journey to Shienar, near a year ago now, she had seen them, even talked with them. Rand al’Thor. Perrin Aybara. Matrim Cauthon. It was said to be mere happenstance. Just fortuitous chance. So it was said. Those who said it did not know what Elaida knew.
When Elaida saw the young al’Thor man, it had been Moiraine who spirited him away. Moiraine who had accompanied him, and the other two ta’veren, in Shienar. Moiraine Damodred, who had been Siuan Sanche’s closest friend when they were novices together. Had Elaida been one to make wagers, she would have wagered that no one else in the Tower remembered that friendship. On the day they were raised Aes Sedai, at the end of the Aiel War, Siuan and Moiraine had walked away from one another and afterward behaved almost like strangers. But Elaida had been one of the Accepted over those two novices, had taught their lessons and chastised them for slacking at chores, and she remembered. She could hardly believe that their plot could stretch back so far—al’Thor could not have been born much before that—yet it was the last link to tie them all together. For her, it was enough.
Whatever Siuan was up to, she had to be stopped. Turmoil and chaos multiplied on every side. The Dark One was sure to break free—the very thought made Elaida shiver and wrap her shawl around her more tightly—and the Tower had to be aloof from mundane struggles to face that. The Tower had to be free to pull the strings to make the nations stand together, free of the troubles Rand al’Thor would bring. Somehow, he had to be stopped from destroying Andor.
She had told no one what she knew of al’Thor. She meant to deal with him quietly, if possible. The Hall of the Tower already spoke of watching, even guiding, these ta’veren; they would never agree to dispose of them, of the one in particular, as he must be disposed of. For the good of the Tower. For the good of the world.
She made a sound in her throat, close to a growl. Siuan had always been headstrong, even as a novice had always thought much of herself for a poor fisherman’s daughter, but how could she be fool enough to mix the Tower in this without telling the Hall? She knew what was coming as well as anyone. The only way it could be worse was if . . . .
Abruptly Elaida stopped, staring at nothing. Could it be that this al’Thor could channel? Or one of the others? Most likely it would be al’Thor. No. Surely not. Not even Siuan would touch one of those. She could not. “Who knows what that woman could do?” she muttered. “She was never fit to be the Amyrlin Seat.”
“Talking to yourself, Elaida? I know you Reds never have friends outside your own Ajah, but surely you have friends to talk to inside it.”
Elaida turned her head to regard Alviarin. The swan-necked Aes Sedai stared back with the insufferable coolness that was a hallmark of the White Ajah. There was no love lost between Red and White; they had stood on opposite sides in the Hall of the Tower for a thousand years. White stood with Blue, and Siuan had been a Blue. But Whites prided themselves on dispassionate logic.
“Walk with me,” Elaida said. Alviarin hesitated before falling in beside her.
At first the White sister arched a disparaging eyebrow at what Elaida had to say concerning Siuan, but before the end she was frowning in concentration.
“Not yet,” Elaida said firmly. She permitted herself a tight smile when Alviarin nodded. It was a beginning. One way or another, Siuan would be stopped before she could destroy the Tower.
Well hidden in a stand of tall leatherleaf above the north bank of the River Taren, Dain Bornhald tossed back his white cloak, with its flaring golden sun on the breast, and raised the stiff leather tube of a looking glass to his eye. A cloud of tiny bitemes buzzed around his face, but he ignored them. In the village of Taren Ferry, across the river, tall stone houses stood on high foundations against the floods that came every spring. Villagers hung out of windows or waited on stoops to stare at the thirty white-cloaked riders sitting their horses in burnished plate-and-mail. A delegation of village men and women were meeting with the horsemen. Rather, they were listening to Jaret Byar, from what Bornhald could see, which was much the best.
Bornhald could almost hear his father’s voice. Let them think there is a chance, and some fool will try to take it. Then there’s killing to do, and another fool will try to avenge the first, so there’s more killing. Put the fear of the Light into them from the first, let them know no one will be harmed if they do as they’re told, and you’ll have no trouble.
His jaw tightened at the thought of his father, dead now. He was going to do something about that, and soon. He was sure only Byar knew why he had leaped to accept this command, aimed at an all-but-forgotten district in the hinterlands of Andor, and Byar would hold his tongue. Byar had been as dedicated to Dain’s father as a hound, and he had transferred all that loyalty to Dain. Bornhald had had no hesitation in naming Byar second under him when Eamon Valda gave him the command.
Byar turned his horse and rode back onto the ferry. Immediately the ferrymen cast off and began hauling the barge across by means of a heavy rope slung over the swiftly flowing water. Byar glanced at the men at the rope; they eyed him nervously as they tramped the length of the barge, then trotted back to take up the cable again. It all looked good.
“Lord Bornhald?”
 The hard-faced man who had appeared at his shoulder stood rigid, staring straight ahead from under a conical helmet. Even after the hard journey from Tar Valon—and Bornhald had pressed every mile—his armor shone as brightly as his snowy cloak with its golden sunburst.
“Yes, Child Ivon?”
“Hundredman Farran sent me, my Lord. It’s the Tinkers. Ordeith was talking to three of them, my Lord, and now none of the three can be found.”
“Blood and ashes!” Bornhald spun on his bootheel and strode back into the trees, Ivon at his heels.
Out of sight of the river, white-cloaked horsemen clogged the spaces between leatherleafs and pines, lances held with casual familiarity or bows laid across their pommels. The horses stamped their hooves impatiently and flicked their tails. The riders waited more stolidly; this would not be their first river crossing into strange territory, and this time no one would be trying to stop them.
In a large clearing beyond the mounted men stood a caravan of the Tuatha’an, the Traveling People. Tinkers. Nearly a hundred horse-drawn wagons, like small, boxy houses on wheels, made an eye-jarring blend of colors, red and green and yellow and every hue imaginable in combinations only a Tinker’s eye could like. The people themselves wore clothes that made their wagons look dull. They sat on the ground in a large cluster, eyeing the mounted men with an oddly calm unease; the thin crying of a child was swiftly comforted by its mother. Nearby, dead mastiffs made a mound already buzzing with flies. Tinkers would not raise a hand even to defend themselves, and the dogs had been mostly show, but Bornhald had not been willing to take a chance.
Six men were all he had thought necessary to watch Tinkers. Even with stiff faces, they looked embarrassed.  Farran, a bearded boulder of a man yet light on his feet for all his height and width, stood glaring at all seven equally. The hundredman pressed a gauntleted hand to his heart in salute but left all talking to Bornhald.
“A word with you, Master Ordeith,” Bornhald said quietly. The bony man cocked his head, looking at Bornhald for a long moment before dismounting. Farran growled, but Bornhald kept his voice low. “Three of the Tinkers cannot be found, Master Ordeith. Did you perhaps put your own suggestion into practice?” The first words out of Ordeith’s mouth when he saw the Tinkers had been “Kill them. They’re of no use.” Bornhald had killed his share of men, but he had never matched the casualness with which the little man had spoken.
 “Now, why would I be killing them? And after you ripped me so for just suggesting it.” His Lugarder accent was heavy today; it came and went without him seeming to notice, another thing about the man that disturbed Bornhald.
“Then you allowed them to escape, yes?”
“Well, as to that, I did take a few of them off where I could see what they knew. Undisturbed, you see.”
“What they knew? What under the Light could Tinkers know of use to us?”
“There’s no way of telling until you ask, now is there?” Ordeith said. “I didn’t hurt any of them much, and I told them to get themselves back to the wagons. Who would be thinking they’d have the nerve to run away with so many of your men about?”
Bornhald realized he was grinding his teeth. His orders had been to make the best time possible to meet this odd fellow, who would have more orders for him. Bornhald liked none of it, though both sets of orders bore the seal and signature of Pedron Niall, Lord Captain Commander of the Children of the Light.
Too much had been left unsaid, including Ordeith’s exact status. The little man was there to advise Bornhald, and Bornhald was to cooperate with Ordeith. Whether Ordeith was under his command had been left vague, and he did not like the strong implication that he should heed the fellow’s advice. Even the reason for sending so many of the Children into this backwater had been vague. To root out Darkfriends, of course, and spread the Light; that went without saying. But close to half a legion on Andoran soil without permission—the order risked much if word of it reached the Queen in Caemlyn. Too much to be balanced by the few answers Bornhald had been given.
It all came back to Ordeith. Bornhald did not understand how the Lord Captain Commander could trust this man, with his sly grins and his black moods and his haughty stares so you could never be sure what kind of man you were talking to. Not to mention his accent changing in the middle of a sentence. The fifty Children who had accompanied Ordeith were as sullen and frowning a lot as Bornhald had ever seen. He thought Ordeith must have picked them himself to have so many sour scowls; and it said something of the man that he would choose that sort. Even his name, Ordeith, meant “wormwood” in the Old Tongue. Still, Bornhald had his own reasons for wanting to be where he was. He would cooperate with the man, since he had to. But only as much as he had to.
“Master Ordeith,” he said in a carefully level tone, “this ferry is the only way in or out of the Two Rivers district.” That was not quite the truth. According to the map he had, there was no way across the Taren except here, and the upper reaches of the Manetherendrelle, bordering the region on the south, had no fords. To the east lay bogs and swamps. Even so, there must be a way out westward, across the Mountains of Mist, though his map stopped at the edge of the range. At best, however, it would be a hard crossing that many of his men might not survive, and he did not intend to let Ordeith know of even that small chance. “When it is time to leave, if I find Andoran soldiers holding this bank, you will ride with the first to cross. You will find it interesting to see at close hand the difficulty of forcing a way across a river this wide, yes?”
“This is your first command, is it not?” Ordeith’s voice held a hint of mockery. “This may be part of Andor on the map, but Caemlyn has not sent a tax collector this far west in generations. Even if those three talk, who will believe three Tinkers? If you think the danger is too great, remember whose seal is on your orders.”
Farran glanced at Bornhald, half reached for his sword.  “I mean to cross the river, Master Ordeith. I will cross if the next word I hear is that Gareth Bryne and the Queen’s Guards will be here by sundown.”
“Of course,” Ordeith said, suddenly soothing. “There will be as much glory here as at Tar Valon, I assure you.” His deep, dark eyes took a glazed look, stared at something in the distance. “There are things in Tar Valon I want, too.”
Bornhald shook his head. And I must cooperate with him.
Jaret Byar drew up and swung down from his saddle beside Farran. As tall as the hundredman, Byar was a long-faced man with dark, deep-set eyes. He looked as if every ounce of fat had been boiled off of him. “The village is secured, my Lord. Lucellin is making certain no one slips off. They nearly soiled themselves when I mentioned Darkfriends. None in their village, they say. The folk further south are the Darkfriend kind, though, they say.”
“Further south, is it?” Bornhald said briskly. “We shall see. Put three hundreds across the river, Byar. Farran’s first. The rest to follow after the Tinkers cross. And make sure no more of them get away, yes?”
“We will scour the Two Rivers,” Ordeith broke in. His narrow face was twisted; saliva bubbled at his lips. “We will flog them, and flay them, and sear their souls! I promised him! He’ll come to me, now! He will come!”
Bornhald nodded for Byar and Farran to carry out his commands. A madman, he thought. The Lord Captain Commander has tied me to a madman. But at least I will find my path to Perrin of the Two Rivers. Whatever it takes, I will avenge my father!
From a colonnaded terrace on a hilltop, the High Lady Suroth looked across the wide, lopsided bowl of Cantorin Harbor. The shaven sides of her scalp left a wide crest of black hair that fell down her back. Her hands rested lightly on a smooth stone balustrade as white as her pristine gown with its hundreds of pleats. There was a faint rhythmic clicking as she unconsciously drummed her ringers with their inch-long nails, the first two on each hand lacquered blue.
A slight breeze blew off of the Aryth Ocean, carrying more than a hint of salt in its coolness. Two young women kneeling against the wall behind the High Lady held white-plumed fans ready if the breeze should fail. Two more women and four young men completed the line of crouching figures waiting to serve. Barefoot, all eight wore sheer robes, to please the High Lady’s aesthetic senses with the clean lines of their limbs and the grace of their motions. At the moment Suroth truly did not see the servants, no more than one saw furniture.
She saw the six Deathwatch Guards at either end of the colonnade, though, stiff as statues with their black-tasseled spears and black-lacquered shields. They symbolized her triumph, and her danger. The Deathwatch Guard served only the Empress and her chosen representatives, and they would kill or die with equal fervor, whichever was necessary. There was a saying: “On the heights, the paths are paved with daggers.”
Her fingernails clicked on the stone balustrade. How thin was the razor’s edge she walked.
Vessels of the Atha’an Miere, the Sea Folk, filled the inner harbor behind the seawall, even the largest looking too narrow for their length. Cut rigging made their yards and booms slant at crazy angles. Their decks were empty, their crews ashore and under guard, as were any in these islands who had the skill to sail the open sea. Great, bluff-bowed Seanchan ships by the score lay in the outer harbor, and anchored off the harbor mouth. One, its ribbed sails bellied with wind, escorted a swarm of small fishing boats back toward the island port. If the smaller craft scattered, some of them might escape, but the Seanchan ship carried a damane, and one demonstration of a damane’s power had quelled any such thoughts. The charred, shattered hulk of the Sea Folk ship still lay on a mudflat near the harbor mouth.
How long she would manage to keep Sea Folk elsewhere—and the accursed mainlanders—from learning that she held these islands, Suroth did not know. It will be long enough, she told herself. It must be long enough.
She had worked something of a miracle in rallying most of the Seanchan forces after the debacle the High Lord Turak had led them to. All but a handful of the vessels that had escaped from Falme lay under her control, and no one questioned her right to command the Hailene, the Forerunners. If her miracle held, no one on the mainland suspected they were here. Waiting to take back the lands the Empress had sent them to reclaim, waiting to achieve the Corenne, the Return. Her agents already scouted the way. There would be no need to return to the Court of the Nine Moons and apologize to the Empress for a failure not even hers.
The thought of having to apologize to the Empress sent a tremor through her. Such an apology was always humiliating, and usually painful, but what made her shiver was the chance of being denied death at the end, of being forced to continue as if nothing had occurred while everyone, common as well as the Blood, knew her degradation. A handsome young serving man sprang to her side, bearing a pale green robe worked in brilliantly plumaged birds-of-delight. She held her arms out for the garment and noticed him no more than a clod of dirt beside her velvet slipper.
To escape that apology, she must retake what had been lost a thousand years ago. And to do that, she must deal with this man who, her mainland agents told her, claimed to be the Dragon Reborn. If I cannot find a way to deal with him, the displeasure of the Empress will be the least of my worries.
Turning smoothly, she entered the long room fronting the terrace, its outer wall all doors and tall windows to catch the breezes. The pale wood of the walls, smooth and glistening like satin, pleased Suroth, but she had removed the furnishings of the old owner, the former Atha’an Miere governor of Cantorin, and replaced them with a few tall screens, most painted with birds or flowers. Two were different. One showed a great spotted cat of the Sen T’jore, as large as a pony, the other a black mountain eagle, crest erect like a pale crown and snowy-tipped wings spread to their full seven feet. Such screens were considered vulgar, but Suroth liked animals. Unable to bring her menagerie with her across the Aryth Ocean, she had had the screens made to depict her two favorites. She had never taken kindly to being balked in anything.
Three women awaited her as she had left them, two kneeling, one lying prostrate on the bare, polished floor, patterned in inlays of light and dark wood. The kneeling women wore the dark blue dresses of sul’dam, red panels embroidered with forked silver lightning on the breast and on the sides of their skirts. One of the two, Alwhin, a sharp-faced, blue-eyed woman with a perpetual glower, had the left side of her head shaved. The rest of her hair hung to her shoulder in a light brown braid.
Suroth’s mouth tightened momentarily at the sight of Alwhin. No sul’dam had ever before been raised to the so’jhin, the hereditary upper servants of the Blood, much less to a Voice of the Blood. Yet there had been reasons in Alwhin’s case. Alwhin knew too much.
Still, it was to the woman lying facedown, all in plain dark gray, that Suroth directed her attention. A wide collar of silvery metal encircled the woman’s neck, connected by a shining leash to a bracelet of the same material on the wrist of the second sul’dam, Taisa. By means of leash and collar, the a’dam, Taisa could control the gray-clad woman. And she had to be controlled. She was damane, a woman who could channel, and thus too dangerous to be allowed to run loose. Memories of the Armies of the Night were still strong in Seanchan a thousand years after their destruction.
Suroth’s eyes flickered uneasily to the two sul’dam. She no longer trusted any sul’dam, and yet she had no choice but to trust them. No one else could control the damane, and without the damane . . . The very concept was unthinkable. The power of Seanchan, the very power of the Crystal Throne, was built on controlled damane. There were too many things about which Suroth had no choice to suit her. Such as Alwhin, who watched as if she had been so’jhin all of her life. No. As if she were of the Blood itself, and knelt because she chose to.
“Pura.” The damane had had another name when she was one of the hated Aes Sedai, before falling into Seanchan hands, but Suroth neither knew what it had been nor cared. The gray-clad woman tensed, but did not raise her head; her training had been particularly harsh. “I will ask again, Pura. How does the White Tower control this man who calls himself the Dragon Reborn?”
 If her answer was displeasing, the sul’dam could make her feel pain without raising a finger, by means of the a’dam. “The Tower would not try to control the false Dragon, High Lady,” Pura said breathily. “They would capture him, and gentle him.”
Taisa looked an indignant question at the High Lady. The answer had avoided Suroth’s query, had perhaps even implied that one of the Blood had spoken untruth. Suroth gave a slight shake of her head, the merest sideways motion—she had no wish to wait while the damane recovered from punishment—and Taisa bowed her head in acquiescence.
“Once again, Pura, what do you know of Aes Sedai . . . ” Suroth’s mouth twisted at being defiled with that name; Alwhin gave a grunt of distaste “ . . . Aes Sedai aiding this man? I warn you. Our soldiers fought women of the Tower, women channeling the Power, at Falme, so do not attempt to deny it.”
“Pura . . . Pura does not know, High Lady.” There was urgency in the damane’s voice, and uncertainty; she darted another wide-eyed glance at Taisa. It was clear that she wanted desperately to be believed. “Perhaps . . . Perhaps the Amyrlin, or the Hall of the Tower . . . No, they would not. Pura does not know, High Lady.”
“The man can channel,” Suroth said curtly. The woman on the floor moaned, though she had heard the same words from Suroth before.  Little of what had happened at Falme had been the work of women channeling; damane could sense that, and the sul’dam wearing the bracelet always knew what her damane felt. That meant it had to have been the work of the man. It also meant he was incredibly powerful. So powerful that Suroth had once or twice found herself wondering, growing queasy, whether he might really be the Dragon Reborn. That cannot be, she told herself firmly. In any case, it made no difference to her plans. “It is impossible to believe that even the White Tower would allow such a man to walk free. How do they control him?”
The damane lay there silently, face to the floor, shoulders shaking, weeping.
“Answer the High Lady!” Taisa said sharply. Taisa did not move, but Pura gasped, flinching as if struck across the hips. A blow delivered through the a’dam.
“P-Pura does not kn-know.” The damane stretched out a hesitant hand as though to touch Suroth’s foot. “Please. Pura has learned to obey. Pura speaks only the truth. Please do not punish Pura.”
Suroth stepped back smoothly, letting none of her irritation show. That she should be forced to move by a damane. That she could almost be touched by one who could channel. She felt a need to bathe, as if the touch had actually landed.
Taisa’s dark eyes bulged in outrage at the damane’s effrontery; her cheeks were scarlet with shame that this should happen while she wore the woman’s bracelet. She seemed torn between prostrating herself beside the damane to beg forgiveness and punishing the woman then and there. Alwhin stared a thin-lipped contempt, every line of her face saying that such things did not happen when she wore a bracelet.
Suroth raised one finger a fraction, making a small gesture every so’jhin knew from childhood, a simple dismissal.
Alwhin hesitated before interpreting it, then tried to cover her slip by rounding harshly on Taisa. “Take this . . . creature from the presence of the High Lady Suroth. And when you have punished her, go to Surela and tell her that you control your charges as if you had never worn the bracelet before. Tell her that you are to be—”
Suroth shut Alwhin’s voice from her mind. None of that had been her command except the dismissal, but quarrels between sul’dam were beneath her notice. She wished she knew whether Pura was managing to hide something. Her agents reported claims that the women of the White Tower could not lie. It had not been possible to force Pura to tell even a simple lie, to say that a white scarf was black, yet that was not enough to be conclusive. Some might accept the tears of the damane, her protests of inability whatever the sul’dam did, but none who did would have risen to lead the Return. Pura might have some reservoir of will left, might be clever enough to try using the belief that she was incapable of lying. None of the women collared on the mainland were fully obedient, trustworthy, not like the damane brought from Seanchan. None of them truly accepted what they were, as Seanchan damane did. Who could say what secrets might hide in one who had called herself Aes Sedai?
Not for the first time Suroth wished she had the other Aes Sedai who had been captured on Toman Head. With two to question, there would have been a better chance to catch lies and evasions. It was a useless wish. The other could be dead, drowned at sea, or on display at the Court of the Nine Moons. Some of the ships Suroth had failed to gather in must have managed the journey back across the ocean, and one might well have carried the woman.
She herself had sent a ship carrying carefully crafted reports, nearly half a year ago now, as soon as she had solidified her control of the Forerunners, with a captain and crew from families that had served hers since Luthair Paendrag had proclaimed himself Emperor, nearly a thousand years ago. Dispatching the ship had been a gamble, for the Empress might send back someone to take Suroth’s place. Not sending the vessel would have been a greater, though; only utter and crushing victory could have saved her then. Perhaps not even that. So the Empress knew of Falme, knew of Turak’s disaster and Suroth’s intention to go on. But what did she think of that knowledge, and what was she doing about it? That was a greater concern than any damane, whatever she had been before collaring.
Yet the Empress did not know everything. The worst could not be entrusted to any messenger, no matter how loyal. It would only be passed from Suroth’s lips directly to the ear of the Empress, and Suroth had taken pains to keep it so. Only four still lived who knew the secret, and two of those would never speak of it to anyone, not of their own volition. Only three deaths can hold it more tightly.
Suroth did not realize she had murmured the last aloud until Alwhin said, “And yet the High Lady needs all three alive.” The woman had a properly humble suppleness to her stance, even to the trick of downcast eyes that still managed to watch for any sign from Suroth. Her voice was humble, too. “Who can say, High Lady, what the Empress—may she live forever!—might do if she learned of an attempt to keep such knowledge from her?”
Instead of answering, Suroth made the tiny dismissing gesture once more. Again Alwhin hesitated—this time it had to be simple reluctance to leave; the woman rose above herself!—before bowing deeply and backing out of Suroth’s presence.
With an effort Suroth found calmness. The sul’dam and the other two were a problem she could not solve now, but patience was a necessity for the Blood. Those who lacked it were likely to end in the Tower of Ravens.
On the terrace, kneeling servants leaned forward a hair in readiness as she appeared again. The soldiers maintained their watch to see she was undisturbed. Suroth took up her place before the balustrade, this time staring out to sea, toward the mainland hundreds of miles to the east.
To be the one who successfully led the Forerunners, who began the Return, would bring much honor. Perhaps even adoption into the family of the Empress, though that was an honor not without complications. To also be the one who captured this Dragon, whether false or real, along with the means of controlling his incredible power . . . .
But if—when I take him, do I give him to the Empress? That is the question.
Her long nails began to click again on the wide stone rail.


{% extends 'base.html' %} {% block content %}
A forum and gathering place for Python students
Under construction


The TTI library uses macros to create metafunctions, in the boost::tti namespace, for introspecting an inner element by name. Each macro for a particular type of inner element has two forms, the simple one where the first macro parameter designating the 'name' of the inner element is used to create the name of the metafunction, and the complex one where the first macro parameter, called 'trait', designates the name of the metafunction and the second macro parameter designates the 'name' to be introspected. Other than that difference, the two forms of the macro produce the exact same results.
To use these metafunctions you can include the main general header file 'tti.hpp', unless otherwise noted. Alternatively you can include a specific header file as given in the table below.
A table of these macros is given, based on the inner element whose existence the metaprogrammer is introspecting. A more detailed explanation can be found in the reference section, and examples of usage can be found in the "Using the Macro Metafunctions" section. In the Template column only the name generated by the simple form of the template is given since the name generated by the complex form is always boost::tti::trait where 'trait' is the first parameter to the corresponding complex form macro. All of the introspecting metafunctions in the table below return a boolean constant called 'value', which specifies whether or not the inner element exists.
Table 1.2. TTI Macro Metafunctions
|
Inner Element |
Macro |
Template |
Specific Header File |
|---|---|---|---|
|
Type |
|
class T = enclosing type |
|
|
Type with check |
|
class T = enclosing type class U = type to check against |
|
|
Class Template |
|
class T = enclosing type All of the template parameters must be 'class' ( or 'typename' ) parameters |
|
|
Class Template with params |
|
class T = enclosing type |
|
|
Class Template with params using variadic macros[b] |
|
class T = enclosing type |
|
|
Member data |
class T = enclosing type class R = data type |
||
|
Member function as individual types |
class T = enclosing type class R = return type class FS = (optional) function parameter types as a Boost MPL forward sequence. If there are no function parameters this does not have to be specified. Defaults to boost::mpl::vector<>.
class TAG = (optional) Boost |
||
|
Member function as a composite type |
class T = pointer to member function The form for T is 'ReturnType (Class::*)(Zero or more comma-separated parameter types)' |
||
|
Static member data |
class T = enclosing type class Type = data type |
||
|
Static member function as individual types |
class T = enclosing type class R = return type class FS = (optional) function parameter types as a Boost MPL forward sequence. If there are no function parameters this does not have to be specified. Defaults to boost::mpl::vector<>.
class TAG = (optional) Boost |
||
|
Static member function as a composite type |
class T = enclosing type class Type = function type The form for Type is 'ReturnType (Zero or more comma-separated parameter types)' |
||
|
[a] A Boost PP data sequence with each comma separated portion of the template parameters as its own sequence element. [b]
General header file is [c] The template parameters as variadic data. |
There is one other macro which creates a metafunction which does not introspect for the existence of an inner element type, but is very useful nonetheless. Instead the macro metafunction created returns the nested type if it exists, else it returns an unspecified type.
Table 1.3. TTI Nested Type Macro Metafunction
|
Inner Element |
Macro |
Template |
Specific Header File |
|---|---|---|---|
|
Type |
|
class T = enclosing type returns = the type of 'name' if it exists, else an unspecified type, as a typedef 'type'. |
Along with this macro metafunction we have another metafunction which, when
passed a 'type', which can be any type but which will generally be used with
the type returned by invoking the metafunction generated by BOOST_TTI_MEMBER_TYPE
,
will tell use whether the type exists or not as a boolean constant.
Table 1.4. TTI Nested Type Macro Metafunction Existence
|
Inner Element |
Macro |
Template |
Specific Header File |
|---|---|---|---|
|
Type |
None |
class T = a type returns = true if the type exists, false if it does not. 'Existence' is determined by whether the type does not equal an unspecified type. |
The usefulness of the BOOST_TTI_MEMBER_TYPE
macro metafunction will be shown in the next topic when I explain the problem
of specifying nested types and how TTI solves it.


{% block metadata %}{% endblock %}
END OF SERVICE: Bootleg 4CC will be shut down on the 29th of October, 2020.


Toggle drawer
menu
Rose-Hulman Meal Rating
more_vert
login
Sign Out
View Menu
restaurant
Dining Hall
fastfood
Chauncey's
menu
Rose Gardens
My Reviews


Welcome! Here at Nerdom, we love to get information about the interests of our community so we can better reflect in our articles and our memes.Fill out the current survey below.If you have any questions or concerns or you have comments on how can improve the survey form, just contact us at nerdomhelp@nerdom.com


neopo − A lightweight solution for local Particle development
neopo
[OPTIONS] [PROJECT] [-v/q]
neopo create <project> [platform] [version]
neopo configure <platform> <version>
[project]
neopo build [project] [-v/q]
neopo particle [OPTIONS]
neopo script [file]
Neopo is a Particle development management utility that simplifies the installation and usage of Particle’s toolchains on a variety of distributions. It features options to build or flash projects, iterable commands, a scripting interface, and Particle Workbench/CLI compatibility. On Linux, several packages required for Workbench to operate successfully are installed as dependencies for neopo, providing incredible value to Workbench users, even if they do not choose to use neopo’s interfaces.
Neopo was designed with extensibility and portability in mind in an attempt to create a useful and unobtrusive local Particle development environment. While neopo excels at installing Particle toolchains and building Particle projects with its simple but powerful command-line options, it additionally provides shortcuts for commonly performed tasks and two scripting interfaces.
Users can create simple scripts to automate testing and deployment of firmware and execute them with neopo script or leverage neopo’s Python API to integrate local Particle tools into existing Python solutions.
When using neopo from the command line, options must be used in the exact order specified in the documentation, much like Particle CLI or Git. Arguments denoted in square brackets [] are optional, while arguments denoted in angle brackets <> are mandatory.
GENERAL OPTIONS
|
help |
When neopo runs with help, or without arguments, brief documentation for all user-accessible commands is displayed. |
install [-f, -s]
Install Particle toolchains and setup the neopo environment. It takes an optional parameter of -f which can force toolchains to be reinstalled, rather than skipped if the latest versions are already installed. To skip the installation of all dependencies, use the -s parameter instead.
upgrade
Upgrade the neopo utility to the latest version available on GitHub. (Deprecated)
uninstall
Uninstall neopo from the system. (Deprecated)
The upgrade and uninstall commands are deprecated because neopo is installed with pip or from the AUR. Running them will provide information regarding how to upgrade or uninstall neopo.
versions
List all known versions of Device OS and supported platforms available to neopo. To refresh, run update. Custom Device OS versions and platforms are included.
|
update |
Refresh the Workbench cache and download Particle toolchains if there are newer versions available. |
get <version>
Download a specific release of Device OS version for later use. Any dependencies of the Device OS release will be downloaded as well.
remove <version>
Delete an installed Device OS release if possible. Useful for systems with limited storage space.
particle [OPTIONS]
Access the Particle CLI distribution used internally by neopo. By using the neopo particle prefix, any Particle CLI command can be accessed. For convenience, a particle alias is included with neopo.
BUILD
OPTIONS
compile/build [project] [-v/q]
Compile the application firmware of a given Particle project, or the current directory if it’s a project. Settings applied using configure will be passed on to the compiler. The verbosity of the output can be increased with the -v flag, or decreased with the -q flag.
flash [project] [-v/q]
Compile application firmware and flash to a connected device using DFU. On Linux the udev rules file required for non-root access to Particle devices over USB can be installed using: neopo particle usb configure
flash-all [project] [-v/q]
Compile application and system firmware and flash all parts to a connected device using DFU. Incredibly useful when an application targets a newer release of Device OS as it eliminates the need for the device to download the release from the cloud.
clean [project] [-v/q]
Clean application firmware. Usually unnecessary but can eliminate some build errors.
SPECIAL
OPTIONS
create <project> [platform] [version]
Create a new Particle project at the specified project path. The created project is compatible with neopo, Particle Workbench, and Particle CLI. If Git is installed, the project is additionally initialized as a repository with support for TravisCI.
configure <platform> <version> [project]
Configure the device platform and Device OS version a project should use. The platform and version are checked for compatibility and the specified version of Device OS will be downloaded if not already installed.
To find Device OS versions and their supported platforms use versions. The tab completion function can fill in platforms and versions for this command.
run <target> [project] [-v/q]
Run a specified makefile target for a project. Includes common targets presented in BUILD OPTIONS in addition to other, less frequently used targets. The -v and -q flags are supported. Running without arguments will list available targets. The tab completion function can suggest targets for this command.
export <target> [project] [-v/q]
Export a makefile target to a shell script. Instead of running the target on the project, a shell script is created at bin/neopo-<target>.sh within the project. The script may be used to run the target on the project directly without using neopo.
flags <string> [project]
Set the EXTRA_CFLAGS variable to be used during compilation of a project. Useful for passing additional definitions to the preprocessor.
settings [project]
View configured settings for a project. The device platform, Device OS version, and EXTRA_CFLAGS will be printed.
libs [project]
Verify or install Particle libraries specified in project.properties for a project. This command is useful when working with projects that use the cloud compiler because it allows you to quickly download the same libraries locally.
iterate <command> [OPTIONS] [-v/q]
An advanced command used to run an iterable command for all connected devices. For each connected device, the deviceID is printed, the device is put into DFU mode, and the specified iterable command is executed. This command was originally designed for quickly flashing multiple connected devices, but there are many ways it can be used.
The following commands are iterable: compile, build, flash, flash-all, clean, run, script.
SCRIPT
INTERFACE
One of the powerful features of neopo is the scripting
interface. Neopo scripts are a list of commands to run
sequentially, with each command placed on its own line.
Empty lines and lines starting with # are skipped.
Any neopo command can be used in a neopo script, even
Particle commands. For sophisticated scripts the Python
module should be used instead.
script [file]
Execute a script with neopo. If a filename is not provided, neopo will accept a script piped in from standard input.
$ neopo script
myFile
$ cat myFile | neopo script
To relay
information to the user, the print command can be
used, and to wait for user interaction or acknowledgement,
the wait command can be used.
Here is an example neopo script:
# Configure the
current project
configure argon 1.5.2
# Prompt the
user to plug in a device
print "Please plug in your device."
wait
# Flash
firmware to the device
flash
# Prompt the
user to wait for the device to connect
print "Please wait for your device to connect to the
cloud."
wait
# Subscribe to
incoming messages
particle subscribe
PYTHON
INTERFACE
Neopo is distributed as a Python module. After installation,
not only will neopo be available as a command-line program,
but it will additionally be accessible within Python. Users
are encouraged to experiment with neopo in Python scripts or
the REPL.
Here is the script example implemented in Python:
import neopo
neopo.configure("argon", "1.5.2",
"myProject")
print("Please plug in your device.")
neopo.script_wait()
neopo.flash("myProject")
print("Please
wait for your device to connect to the cloud.")
neopo.script_wait()
neopo.particle("subscribe")
To directly use Particle CLI
within Python, one can explicitly import
the particle() function:
from neopo
import particle
particle("help")
particle("serial monitor")
device =
"myFooMachine"
function = "myBarFunction"
particle(["call", device, function])
Currently there
are two environment variables that may be exported or passed
to neopo to alter its configuration. More environment
variables may be added as neopo becomes more extensible.
NEOPO_LOCAL
When set, neopo will use ~/.local/share/neopo for neopo resources, Particle CLI, and toolchains, rather than ~/.particle and ~/.neopo
$ export
NEOPO_LOCAL=1
$ neopo install
$ neopo particle
NEOPO_PATH
When set, neopo will use a specific path for its dependencies, rather than ~/.local/share/neopo
$ NEOPO_PATH="build/neopo" neopo install
Nathan Robinson<EMAIL_ADDRESS>Copyright (c) 2021 - Nathan Robinson. MIT License: All rights reserved.
nrobinson2000/neopo on GitHub: <https://github.com/nrobinson2000/neopo>
Online
Documentation: <https://neopo.xyz/docs/full-docs>
Particle Developer Forum:
<https://community.particle.io>
Workbench Documentation:
<https://docs.particle.io/workbench>
Particle CLI Documentation:
<https://docs.particle.io/reference/developer-tools/cli>
On Manjaro or Arch, neopo is installed as an Arch package from the AUR or built directly with makepkg. Depending on how it is installed, there are several additional steps required to complete the install of neopo. These steps are contained in a script located at /usr/share/neopo/scripts/POSTINSTALL. For convenience, this script can be executed using: neopo setup
On x86_64, this consists of installing the ncurses package from the AUR to support use of the Particle Debugger in Workbench. On aarch64, this consists of replacing the armv7l Nodejs distribution with an aarch64 Nodejs distribution.
Using neopo on armv7l and aarch64 is incredibly feasible. On average, builds run only a few times slower than on Linux x86_64 systems, which is still much faster than using Particle Workbench on Windows. Hopefully Particle will differentiate between armv7l and aarch64 in future releases so that using Particle on aarch64 will become more accessible.
Using Particle Workbench on aarch64 is possible through the use of neopo. After installing visual-studio-code-bin from the AUR, the Workbench extensions can be installed and prepared with: neopo setup-workbench